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

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

映射 FPGA 引腳
隨板提供的約束文件被修改為映射 SPI 引腳、MISO、MOSI、CLK 和 CLK。此外,四個(gè) LED 與 RGB LED 一起映射。
使用PI測試FPGA
spidev0.1 即 SPI0 MISO、SPI0 MOSI、SPI0 CLK 和 CE1 連接到 FPGA。
下面展示的是如何使用終端發(fā)送SPI字節(jié)序列來讀寫字節(jié)流。這是一個(gè)例子:
# 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 是兩個(gè)字節(jié),是垃圾。接下來的字節(jié)是回復(fù):
0xA3 是對(duì)讀取的回復(fù)
0x01020300是地址
0x00 0x04 是長度
0x44332211 是寫入的數(shù)據(jù)
使用 iverlog 進(jìn)行單元測試
有幾個(gè)測試平臺(tái),用于驗(yàn)證 pwm 解碼的 tb_pwmdecoder_wb.v 應(yīng)該使用 100Mhz 時(shí)鐘。tb_spiwishbone.v 將 SPI 數(shù)據(jù)發(fā)送到讀寫寄存器。
證實(shí)
下面顯示的是顯示寫命令序列的邏輯分析儀軌跡。在項(xiàng)目中有一個(gè) python 腳本可以通過 spidev 設(shè)置 LED。SPI 頻率為 3.2Mhz。在 PI 上下載ledTester.py并發(fā)出以下命令。
# python ledTester.py
該腳本將盡快編寫命令。從跟蹤中,命令以 2.6Khz 的速率發(fā)送。


?
- 官方Raspberry Pi零W概述和案例
- 通過USB對(duì)Raspberry Pi進(jìn)行編程
- Raspberry Pi、相機(jī)和SPI屏幕開源分享
- 如何在Raspberry Pi零2W上阻止帶有Pi孔的廣告
- Raspberry Pi零W機(jī)械開關(guān)防護(hù)罩
- 在Raspberry Pi零上安裝Cam Web界面
- 通過Raspberry Pi的物聯(lián)網(wǎng)有源蜂鳴器
- 通過Raspberry Pi的簡單物聯(lián)網(wǎng)按鈕教程
- Raspberry Pi零Dynamixel帽子
- Raspberry Pi零W機(jī)械開關(guān)防護(hù)罩設(shè)計(jì)
- Raspberry Pi零機(jī)械開關(guān)防護(hù)罩設(shè)計(jì)
- Raspberry pi零W音頻輸入/輸出和電源接口
- Raspberry Pi零GPS和相機(jī)帽開源分享
- 《愛上Raspberry Pi》中譯版-電子書籍.pdf 0次下載
- raspberry_pi各版本差別 0次下載
- DS1302芯片與FPGA之間SPI通信原理 553次閱讀
- 基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項(xiàng)目 1312次閱讀
- 使用Raspberry Pi Pico W和MicroPython開發(fā)物聯(lián)網(wǎng)應(yīng)用 2180次閱讀
- 用于測試項(xiàng)目的4個(gè)最佳樹莓派Raspberry Pi模擬器 6823次閱讀
- 如何通過Raspberry Pi設(shè)置CE電流監(jiān)視器 2342次閱讀
- 基于樹莓派產(chǎn)品 Raspberry Pi微控制器板的優(yōu)缺點(diǎn) 2984次閱讀
- 基于Raspberry Pi Pico開發(fā)先進(jìn)的家庭自動(dòng)化系統(tǒng) 3004次閱讀
- 基于FONA通過UART與Raspberry Pi進(jìn)行通訊的方案介紹 2257次閱讀
- 基于在Raspberry Pi Zero W的基礎(chǔ)上實(shí)現(xiàn)設(shè)計(jì)微型機(jī)器人 2251次閱讀
- 微雪電子ZeroW| Raspberry Pi ZeroW主板簡介 2618次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡介 3145次閱讀
- 微雪電子Raspberry Pi 3 Model擴(kuò)展板簡介 1667次閱讀
- 利用Raspberry Pi構(gòu)建存儲(chǔ)和虛擬化時(shí)間序列數(shù)據(jù) 952次閱讀
- 一文了解Raspberry Pi 4各項(xiàng)性能跑分 3w次閱讀
- 視覺享受!用Raspberry Pi實(shí)現(xiàn)圣誕樹燈光秀 8344次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論