訂閱
糾錯
加入自媒體

ROPS讓你更容易開發(fā)機器人

所有機器人都需要傳感器,計算和驅(qū)動。

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

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

由于幾乎所有移動機器人都需要IMU和GPS,有了ROPS這些都不是問題。

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

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

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

Verilog仿真工具

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

編輯器

我使用neovim,但它并不重要。 我強烈建議使用語法高亮,強大的查找和替換以及跨平臺功能,以便您可以隨時隨地使用它。

Bash Glue

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

inotifywait

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

iVerilog

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

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

GTKWave

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

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

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

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

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

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