資料介紹
描述
概述
目標是使用 Raspberry PI 零(或 2W)和 RealTime Linux 補丁運行飛行計算機的 BaseFlight 修改版本。其中一個問題是生成 OneShot 協(xié)議以從 BaseFlight 控制 ESC(電機控制器)。那么,為什么不使用 FPGA 來生成 OneShot 信號,而不是使用 PI 上的資源來生成信號。
Buildroot 用于創(chuàng)建帶有實時補丁 Linux 內(nèi)核的發(fā)行版。(如果您需要有關如何操作的更多信息,請告訴我)
該項目不詳細介紹如何逐步創(chuàng)建 Vivado 項目和使用 iverlog 驗證設計。請在下面評論您想要更多詳細信息,我會添加它。
如何與FPGA通信
PI有SPI、TTL串口、I2C、USB。該協(xié)議需要快速和簡單,因此選擇 SPI 作為物理傳輸。下一個問題是如何向FPGA發(fā)送簡單的讀寫命令并進行處理。此外,如果有一種方法可以添加功能/外設,那就太好了。
FPGA通信設計
為了簡單起見,讓我們使用硬件總線,它有一個定義的方式來訪問不同的內(nèi)存塊,例如:
- 地址即32位:訪問不同的寄存器或設備
- 數(shù)據(jù)總線讀寫寄存器
Wishbone是為本設計選擇的簡單總線。 AXI Lite 本來可以用的,也許下次吧。AXI用于ARM處理器,規(guī)格詳細,例子多。
下圖是FPGA系統(tǒng)的基本框圖:

FPGA代碼和外部庫
下面提供了代碼。
SPI 接口來自這里。Wishbone 庫來自這里。MUX 是使用 wishbone 庫中的 python 腳本生成的。
復雜性在于 Wishbone 庫的使用方式,它使用兩個 AXIS 端口,一個傳輸端口和一個接收端口。需要創(chuàng)建膠合邏輯以連接 SPI 接口和叉骨 AXIS 接口。
控制 LED 的示例
一種簡單的測試方法是不使用 MUX 并將 LED 外圍設備直接連接到 Wishbone 庫。如下所示:

映射 FPGA 引腳
隨板提供的約束文件被修改為映射 SPI 引腳、MISO、MOSI、CLK 和 CLK。此外,四個 LED 與 RGB LED 一起映射。
使用PI測試FPGA
spidev0.1 即 SPI0 MISO、SPI0 MOSI、SPI0 CLK 和 CE1 連接到 FPGA。
下面展示的是如何使用終端發(fā)送SPI字節(jié)序列來讀寫字節(jié)流。這是一個例子:
# printf '\xA2\x1\x2\x3\x0\x0\x4\x11\x22\x33\x44\0' | spi-pipe -m 0 -s 1000000 -d /dev/spidev0.1 | hexdump -C
00000000 44 44 a4 01 02 03 00 00 04 04 04 04 |DD..........|
0000000c
#
0xA2:是寫命令字節(jié)
0x01020300 是要寫入的地址
0x0004 是要寫入的字節(jié)數(shù)
0x44332211 是要寫入的字節(jié)(注意字節(jié)是顛倒的)
讀書:
# printf '\xA1\x1\x2\x3\x0\x0\x4\x0\x0\x0\x0\0\0' | spi-pipe -m 0 -s 100000 -d /dev/spidev0.1 | hexdump -C
00000000 04 04 a3 01 02 03 00 00 04 11 22 33 44 |.........."3D|
0000000d
#
返回的是,0x04,0x04 是兩個字節(jié),是垃圾。接下來的字節(jié)是回復:
0xA3 是對讀取的回復
0x01020300是地址
0x00 0x04 是長度
0x44332211 是寫入的數(shù)據(jù)
使用 iverlog 進行單元測試
有幾個測試平臺,用于驗證 pwm 解碼的 tb_pwmdecoder_wb.v 應該使用 100Mhz 時鐘。tb_spiwishbone.v 將 SPI 數(shù)據(jù)發(fā)送到讀寫寄存器。
證實
下面顯示的是顯示寫命令序列的邏輯分析儀軌跡。在項目中有一個 python 腳本可以通過 spidev 設置 LED。SPI 頻率為 3.2Mhz。在 PI 上下載ledTester.py并發(fā)出以下命令。
# python ledTester.py
該腳本將盡快編寫命令。從跟蹤中,命令以 2.6Khz 的速率發(fā)送。


?
- 官方Raspberry Pi零W概述和案例
- 通過USB對Raspberry Pi進行編程
- Raspberry Pi、相機和SPI屏幕開源分享
- 如何在Raspberry Pi零2W上阻止帶有Pi孔的廣告
- Raspberry Pi零W機械開關防護罩
- 在Raspberry Pi零上安裝Cam Web界面
- 通過Raspberry Pi的物聯(lián)網(wǎng)有源蜂鳴器
- 通過Raspberry Pi的簡單物聯(lián)網(wǎng)按鈕教程
- Raspberry Pi零Dynamixel帽子
- Raspberry Pi零W機械開關防護罩設計
- Raspberry Pi零機械開關防護罩設計
- Raspberry pi零W音頻輸入/輸出和電源接口
- Raspberry Pi零GPS和相機帽開源分享
- 《愛上Raspberry Pi》中譯版-電子書籍.pdf 0次下載
- raspberry_pi各版本差別 0次下載
- DS1302芯片與FPGA之間SPI通信原理 2.4k次閱讀
- 基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項目 2.3k次閱讀
- 使用Raspberry Pi Pico W和MicroPython開發(fā)物聯(lián)網(wǎng)應用 3.4k次閱讀
- 用于測試項目的4個最佳樹莓派Raspberry Pi模擬器 8.2k次閱讀
- 如何通過Raspberry Pi設置CE電流監(jiān)視器 3.3k次閱讀
- 基于樹莓派產(chǎn)品 Raspberry Pi微控制器板的優(yōu)缺點 3.6k次閱讀
- 基于Raspberry Pi Pico開發(fā)先進的家庭自動化系統(tǒng) 3.6k次閱讀
- 基于FONA通過UART與Raspberry Pi進行通訊的方案介紹 2.8k次閱讀
- 基于在Raspberry Pi Zero W的基礎上實現(xiàn)設計微型機器人 2.8k次閱讀
- 微雪電子ZeroW| Raspberry Pi ZeroW主板簡介 3.3k次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡介 4.9k次閱讀
- 微雪電子Raspberry Pi 3 Model擴展板簡介 2.4k次閱讀
- 利用Raspberry Pi構建存儲和虛擬化時間序列數(shù)據(jù) 1.3k次閱讀
- 一文了解Raspberry Pi 4各項性能跑分 3.1w次閱讀
- 視覺享受!用Raspberry Pi實現(xiàn)圣誕樹燈光秀 9k次閱讀
下載排行
本周
- 1新一代網(wǎng)絡可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊
- 2.33 MB | 次下載 | 免費
- 4MDD品牌三極管S9012數(shù)據(jù)手冊
- 2.62 MB | 次下載 | 免費
- 5LAT1218 如何選擇和設置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環(huán)繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 8MS1000TA 超聲波測量模擬前端芯片技術手冊
- 0.60 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術手冊
- 1.81 MB | 1次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論