訂閱
糾錯(cuò)
加入自媒體

ROPS讓你更容易開(kāi)發(fā)機(jī)器人

所有機(jī)器人都需要傳感器,計(jì)算和驅(qū)動(dòng)。

現(xiàn)成的x86 PC為您提供了一個(gè)熟悉的Linux環(huán)境來(lái)進(jìn)行開(kāi)發(fā)和部署。 然而,PC存在嚴(yán)重問(wèn)題,現(xiàn)成的主板不能提供與外界的低延遲和噪聲容忍連接。 USB似乎就是解決方法,但是一旦總線忙碌,如果你通過(guò)USB連接到電機(jī)控制器,延遲會(huì)讓你感到困惑。

在機(jī)箱內(nèi)隱藏著一個(gè)解決方案PCI Express。 雖然你很難找到PCI-e電機(jī)控制器或激光雷達(dá),但速度快,延遲低。 這就是ROPS的用武之地,可以作為PCI-e與CAN和RS485等總線之間的橋梁,您可以在電機(jī)控制器和傳感器上找到它們。

由于幾乎所有移動(dòng)機(jī)器人都需要IMU和GPS,有了ROPS這些都不是問(wèn)題。

我們將在CSG325封裝中使用Xilinx Artix-7 XC7A35T作為ROPS的核心。 35T是中檔Artix部分,CSG325封裝將所有重要的GTP收發(fā)器綁定,以便我們可以使用PCI-e連接到主機(jī)。

我們計(jì)劃使用的傳感器是ST LSM9DS1 IMU,ST LPS25HW氣壓計(jì)和uBlox NEO-M8T GPS。

將有后面板IO用于連接第三方硬件,如電機(jī)控制器和其他傳感器,但我們還沒(méi)有確定任何細(xì)節(jié)。 目前只有很少的FPGA用于IO,因此這里有很多靈活性。 在主機(jī)外殼內(nèi)的夾層或柔性電纜連接器上也可能有額外的IO。

Verilog仿真工具

當(dāng)你處理任何類型的代碼時(shí),收緊write-compile-test循環(huán)總是有幫助的,特別是當(dāng)你第一次學(xué)習(xí)時(shí)。 對(duì)于SPI模塊,最重要的是SPI輸出的時(shí)序。 為此,我們需要模擬verilog并檢查輸出。 以下是我過(guò)去常用的工具。

編輯器

我使用neovim,但它并不重要。 我強(qiáng)烈建議使用語(yǔ)法高亮,強(qiáng)大的查找和替換以及跨平臺(tái)功能,以便您可以隨時(shí)隨地使用它。

Bash Glue

這就是魔術(shù)發(fā)生的地方,這個(gè)腳本以您當(dāng)前正在處理的文件的形式接受一個(gè)參數(shù),并等待它被保存。 保存后,腳本會(huì)編譯該文件,對(duì)其進(jìn)行模擬,并更新GTKWave的輸出。 我在這里使用verilog,但你可以在inotifywait之后用你正在處理的項(xiàng)目中有用的東西替換它們。 這可能是編譯器,linter等。我將它的輸出保存在我工作區(qū)的左上方窗格中,這樣我就可以檢查出現(xiàn)的任何錯(cuò)誤。

inotifywait

這確實(shí)是腳本的關(guān)鍵。 當(dāng)作為第一個(gè)參數(shù)提供給腳本的文件被關(guān)閉時(shí),如果它被打開(kāi)為可寫(xiě),則inotifywait退出。 這樣,如果你捕獲文件,或差異,它將不會(huì)做任何事情。 它不會(huì)查看文件內(nèi)部以查看是否已進(jìn)行更改,它只知道文件已關(guān)閉。

iVerilog

Icarus Verilog是一個(gè)verilog綜合和模擬工具。 iVerilog將源編譯為類似中間程序集的源,然后由iVerilog工具集的另一部分vvp執(zhí)行。 這樣做會(huì)輸出一個(gè).lxt文件,該文件存儲(chǔ)verilog中各種連線和寄存器的波形。

在腳本中,iverilog的-o選項(xiàng)命名輸出文件,這里我們只使用main。 然后我們?cè)趍ain上調(diào)用vvp,并告訴vvp將波形輸出到.lxt文件。

GTKWave

模擬verilog時(shí),可以使用類似printf的語(yǔ)句,也可以轉(zhuǎn)儲(chǔ)每行的狀態(tài)并注冊(cè)到文件中。 查看寄存器轉(zhuǎn)儲(chǔ)。 我正在使用GTKWave。 在我看來(lái),它是一個(gè)完美的軟件。 當(dāng)我想檢查波形時(shí),它會(huì)完成我需要的一切,而不是其他任何東西。

在腳本中,我們調(diào)用gconftool-2來(lái)更新波形。 我不知道他們?yōu)槭裁催x擇配置工具來(lái)做這件事,但它很有效。

聲明: 本文系OFweek根據(jù)授權(quán)轉(zhuǎn)載自其它媒體或授權(quán)刊載,目的在于信息傳遞,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),如有新聞稿件和圖片作品的內(nèi)容、版權(quán)以及其它問(wèn)題的,請(qǐng)聯(lián)系我們。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)