資料介紹
描述
概述
目標(biāo)是使用 Raspberry PI 零(或 2W)和 RealTime Linux 補(bǔ)丁運(yùn)行飛行計(jì)算機(jī)的 BaseFlight 修改版本。其中一個(gè)問(wèn)題是生成 OneShot 協(xié)議以從 BaseFlight 控制 ESC(電機(jī)控制器)。那么,為什么不使用 FPGA 來(lái)生成 OneShot 信號(hào),而不是使用 PI 上的資源來(lái)生成信號(hào)。
Buildroot 用于創(chuàng)建帶有實(shí)時(shí)補(bǔ)丁 Linux 內(nèi)核的發(fā)行版。(如果您需要有關(guān)如何操作的更多信息,請(qǐng)告訴我)
該項(xiàng)目不詳細(xì)介紹如何逐步創(chuàng)建 Vivado 項(xiàng)目和使用 iverlog 驗(yàn)證設(shè)計(jì)。請(qǐng)?jiān)谙旅嬖u(píng)論您想要更多詳細(xì)信息,我會(huì)添加它。
如何與FPGA通信
PI有SPI、TTL串口、I2C、USB。該協(xié)議需要快速和簡(jiǎn)單,因此選擇 SPI 作為物理傳輸。下一個(gè)問(wèn)題是如何向FPGA發(fā)送簡(jiǎn)單的讀寫(xiě)命令并進(jìn)行處理。此外,如果有一種方法可以添加功能/外設(shè),那就太好了。
FPGA通信設(shè)計(jì)
為了簡(jiǎn)單起見(jiàn),讓我們使用硬件總線,它有一個(gè)定義的方式來(lái)訪問(wèn)不同的內(nèi)存塊,例如:
- 地址即32位:訪問(wèn)不同的寄存器或設(shè)備
- 數(shù)據(jù)總線讀寫(xiě)寄存器
Wishbone是為本設(shè)計(jì)選擇的簡(jiǎn)單總線。 AXI Lite 本來(lái)可以用的,也許下次吧。AXI用于ARM處理器,規(guī)格詳細(xì),例子多。
下圖是FPGA系統(tǒng)的基本框圖:
FPGA代碼和外部庫(kù)
下面提供了代碼。
SPI 接口來(lái)自這里。Wishbone 庫(kù)來(lái)自這里。MUX 是使用 wishbone 庫(kù)中的 python 腳本生成的。
復(fù)雜性在于 Wishbone 庫(kù)的使用方式,它使用兩個(gè) AXIS 端口,一個(gè)傳輸端口和一個(gè)接收端口。需要?jiǎng)?chuàng)建膠合邏輯以連接 SPI 接口和叉骨 AXIS 接口。
控制 LED 的示例
一種簡(jiǎn)單的測(cè)試方法是不使用 MUX 并將 LED 外圍設(shè)備直接連接到 Wishbone 庫(kù)。如下所示:
映射 FPGA 引腳
隨板提供的約束文件被修改為映射 SPI 引腳、MISO、MOSI、CLK 和 CLK。此外,四個(gè) LED 與 RGB LED 一起映射。
使用PI測(cè)試FPGA
spidev0.1 即 SPI0 MISO、SPI0 MOSI、SPI0 CLK 和 CE1 連接到 FPGA。
下面展示的是如何使用終端發(fā)送SPI字節(jié)序列來(lái)讀寫(xiě)字節(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:是寫(xiě)命令字節(jié)
0x01020300 是要寫(xiě)入的地址
0x0004 是要寫(xiě)入的字節(jié)數(shù)
0x44332211 是要寫(xiě)入的字節(jié)(注意字節(jié)是顛倒的)
讀書(shū):
# 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é),是垃圾。接下來(lái)的字節(jié)是回復(fù):
0xA3 是對(duì)讀取的回復(fù)
0x01020300是地址
0x00 0x04 是長(zhǎng)度
0x44332211 是寫(xiě)入的數(shù)據(jù)
使用 iverlog 進(jìn)行單元測(cè)試
有幾個(gè)測(cè)試平臺(tái),用于驗(yàn)證 pwm 解碼的 tb_pwmdecoder_wb.v 應(yīng)該使用 100Mhz 時(shí)鐘。tb_spiwishbone.v 將 SPI 數(shù)據(jù)發(fā)送到讀寫(xiě)寄存器。
證實(shí)
下面顯示的是顯示寫(xiě)命令序列的邏輯分析儀軌跡。在項(xiàng)目中有一個(gè) python 腳本可以通過(guò) spidev 設(shè)置 LED。SPI 頻率為 3.2Mhz。在 PI 上下載ledTester.py并發(fā)出以下命令。
# python ledTester.py
該腳本將盡快編寫(xiě)命令。從跟蹤中,命令以 2.6Khz 的速率發(fā)送。
?
- 官方Raspberry Pi零W概述和案例
- 通過(guò)USB對(duì)Raspberry Pi進(jìn)行編程
- Raspberry Pi、相機(jī)和SPI屏幕開(kāi)源分享
- 如何在Raspberry Pi零2W上阻止帶有Pi孔的廣告
- Raspberry Pi零W機(jī)械開(kāi)關(guān)防護(hù)罩
- 在Raspberry Pi零上安裝Cam Web界面
- 通過(guò)Raspberry Pi的物聯(lián)網(wǎng)有源蜂鳴器
- 通過(guò)Raspberry Pi的簡(jiǎn)單物聯(lián)網(wǎng)按鈕教程
- Raspberry Pi零Dynamixel帽子
- Raspberry Pi零W機(jī)械開(kāi)關(guān)防護(hù)罩設(shè)計(jì)
- Raspberry Pi零機(jī)械開(kāi)關(guān)防護(hù)罩設(shè)計(jì)
- Raspberry pi零W音頻輸入/輸出和電源接口
- Raspberry Pi零GPS和相機(jī)帽開(kāi)源分享
- 《愛(ài)上Raspberry Pi》中譯版-電子書(shū)籍.pdf 0次下載
- raspberry_pi各版本差別 0次下載
- 基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項(xiàng)目 1027次閱讀
- 使用Raspberry Pi Pico W和MicroPython開(kāi)發(fā)物聯(lián)網(wǎng)應(yīng)用 1673次閱讀
- 用于測(cè)試項(xiàng)目的4個(gè)最佳樹(shù)莓派Raspberry Pi模擬器 5985次閱讀
- 如何使用Raspberry Pi使熱水浴缸變得智能和遠(yuǎn)程操作 1813次閱讀
- 如何通過(guò)Raspberry Pi設(shè)置CE電流監(jiān)視器 2124次閱讀
- 基于樹(shù)莓派產(chǎn)品 Raspberry Pi微控制器板的優(yōu)缺點(diǎn) 2710次閱讀
- 基于Raspberry Pi Pico開(kāi)發(fā)先進(jìn)的家庭自動(dòng)化系統(tǒng) 2850次閱讀
- 基于FONA通過(guò)UART與Raspberry Pi進(jìn)行通訊的方案介紹 2122次閱讀
- 基于在Raspberry Pi Zero W的基礎(chǔ)上實(shí)現(xiàn)設(shè)計(jì)微型機(jī)器人 2106次閱讀
- 微雪電子ZeroW| Raspberry Pi ZeroW主板簡(jiǎn)介 2429次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡(jiǎn)介 2873次閱讀
- 微雪電子Raspberry Pi 3 Model擴(kuò)展板簡(jiǎn)介 1512次閱讀
- 利用Raspberry Pi構(gòu)建存儲(chǔ)和虛擬化時(shí)間序列數(shù)據(jù) 884次閱讀
- 一文了解Raspberry Pi 4各項(xiàng)性能跑分 2.9w次閱讀
- 視覺(jué)享受!用Raspberry Pi實(shí)現(xiàn)圣誕樹(shù)燈光秀 8127次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 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開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 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ì)》 溫德?tīng)栔?/a>
- 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語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多