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

FPGA代碼和外部庫
下面提供了代碼。
SPI 接口來自這里。Wishbone 庫來自這里。MUX 是使用 wishbone 庫中的 python 腳本生成的。
復(fù)雜性在于 Wishbone 庫的使用方式,它使用兩個 AXIS 端口,一個傳輸端口和一個接收端口。需要創(chuàng)建膠合邏輯以連接 SPI 接口和叉骨 AXIS 接口。
控制 LED 的示例
一種簡單的測試方法是不使用 MUX 并將 LED 外圍設(shè)備直接連接到 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é)是回復(fù):
0xA3 是對讀取的回復(fù)
0x01020300是地址
0x00 0x04 是長度
0x44332211 是寫入的數(shù)據(jù)
使用 iverlog 進行單元測試
有幾個測試平臺,用于驗證 pwm 解碼的 tb_pwmdecoder_wb.v 應(yīng)該使用 100Mhz 時鐘。tb_spiwishbone.v 將 SPI 數(shù)據(jù)發(fā)送到讀寫寄存器。
證實
下面顯示的是顯示寫命令序列的邏輯分析儀軌跡。在項目中有一個 python 腳本可以通過 spidev 設(shè)置 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機械開關(guān)防護罩
- 在Raspberry Pi零上安裝Cam Web界面
- 通過Raspberry Pi的物聯(lián)網(wǎng)有源蜂鳴器
- 通過Raspberry Pi的簡單物聯(lián)網(wǎng)按鈕教程
- Raspberry Pi零Dynamixel帽子
- Raspberry Pi零W機械開關(guān)防護罩設(shè)計
- Raspberry Pi零機械開關(guān)防護罩設(shè)計
- Raspberry pi零W音頻輸入/輸出和電源接口
- Raspberry Pi零GPS和相機帽開源分享
- 《愛上Raspberry Pi》中譯版-電子書籍.pdf 0次下載
- raspberry_pi各版本差別 0次下載
- DS1302芯片與FPGA之間SPI通信原理 553次閱讀
- 基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項目 1312次閱讀
- 使用Raspberry Pi Pico W和MicroPython開發(fā)物聯(lián)網(wǎng)應(yīng)用 2180次閱讀
- 用于測試項目的4個最佳樹莓派Raspberry Pi模擬器 6823次閱讀
- 如何通過Raspberry Pi設(shè)置CE電流監(jiān)視器 2342次閱讀
- 基于樹莓派產(chǎn)品 Raspberry Pi微控制器板的優(yōu)缺點 2984次閱讀
- 基于Raspberry Pi Pico開發(fā)先進的家庭自動化系統(tǒng) 3004次閱讀
- 基于FONA通過UART與Raspberry Pi進行通訊的方案介紹 2257次閱讀
- 基于在Raspberry Pi Zero W的基礎(chǔ)上實現(xiàn)設(shè)計微型機器人 2251次閱讀
- 微雪電子ZeroW| Raspberry Pi ZeroW主板簡介 2618次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡介 3145次閱讀
- 微雪電子Raspberry Pi 3 Model擴展板簡介 1667次閱讀
- 利用Raspberry Pi構(gòu)建存儲和虛擬化時間序列數(shù)據(jù) 952次閱讀
- 一文了解Raspberry Pi 4各項性能跑分 3w次閱讀
- 視覺享受!用Raspberry Pi實現(xiàn)圣誕樹燈光秀 8344次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論