返回首頁 hi, 歡迎來到機器人在線 請登錄/ 免費注冊 訂閱郵件
有疑問,咨詢在線客服

【干貨】ROPS,好用的機器人開發工具

時間:2019-05-20 來源:機器人在線 閱讀:940

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


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


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


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


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



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


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


Verilog仿真工具

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



編輯器

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


Bash Glue

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



inotifywait

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


iVerilog

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


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


GTKWave

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


在腳本中,我們調用gconftool-2來更新波形。 我不知道他們為什么選擇配置工具來做這件事,但它很有效。

好的文章,需要您的鼓勵

20

  • 最新文章
  • 精品案例
  • 現貨產品
延伸閱讀 熱門要聞

贵州福彩快3开奖号码