之前介紹過一種遠(yuǎn)程(無線)更新的方式,詳見《起飛!通過無線WIFI下載調(diào)試FPGA》,這種方式缺點(diǎn)有兩個:一是速度較慢;二是我們的設(shè)備中需要增加一個無線設(shè)備,增加成本的同時增加了暴露的風(fēng)險。這兩點(diǎn)即無法在調(diào)試的時候使用也沒辦法在實(shí)際設(shè)備中使用。今天我們再介紹另一種簡單方式。
下面是目前我們很多設(shè)備常用的硬件架構(gòu),這種架構(gòu)中,我們可以很方便使用嵌入式設(shè)備作為“橋梁”用來調(diào)試FPGA,其實(shí)這也是XVC方案的“變種”。
為了演示上面的方案,使用樹莓派+FPGA進(jìn)行方案驗(yàn)證。
Xilinx 的 Platform Cable USB II
Jtag Pi
我們知道正常的調(diào)試器/下載區(qū)的JTAG接口可以兼容很多芯片,所以首先需要制作一個擴(kuò)展板進(jìn)行IO口電平兼容設(shè)計(jì),硬件如下:
將Jtag Pi 連接到 raspberry Pi 和在其上運(yùn)行的軟件應(yīng)用程序,我們就有了一個便宜的遠(yuǎn)程編程器。
如何使用
將 Jtag Pi 連接到 Raspberry Pi 之上后,我們需要將 Xilinx Virtual Cable for Raspberry Pi 應(yīng)用程序復(fù)制到板上。我通過 SSH 將它復(fù)制到我的主目錄中。然后只需進(jìn)入該目錄并運(yùn)行:
make
就會看到編譯輸出:
cc-std=gnu99-O3-c-oxvcpi.oxvcpi.c cc-oxvcpixvc
之后我們有一個編譯的應(yīng)用程序。運(yùn)行它:
sudo./xvcpi
完畢!
現(xiàn)在我們可以試一試了。
測試
我們需要將 Jtag Pi 和 FPGA 連接。
引腳 Vcc 連接到 FPGA 板的 Vref。它用于對信號進(jìn)行電壓轉(zhuǎn)換(電壓取決于電路板)。
首先我們運(yùn)行 Xilinx Vivado。然后從主菜單中選擇Open Hardware Manager 。
在硬件管理器中,我們將看到硬件選項(xiàng)卡,我們可以在其中使用連接器圖標(biāo)打開目標(biāo)。
之后我們將連接到本地主機(jī) hw_server。
現(xiàn)在右鍵單擊 localhost 并選擇Add Xilinx Virtual Cable (XVC)。現(xiàn)在在彈出窗口中輸入 Raspberry Pi IP(WiFi 或以太網(wǎng) - 取決于使用的網(wǎng)絡(luò))。
連接后將看到一些已識別的設(shè)備——在我們的例子中我們看到 xc7z007s。
現(xiàn)在我們可以為 FPGA 選擇 bit 文件并對其進(jìn)行遠(yuǎn)程編程。
測試如下,對 FPGA 進(jìn)行下載需要 5 秒(Zynq 7z007s 的比特流大小約為 17Mb)。如果比特流中有調(diào)試內(nèi)核,還可以讀取 XADC 值或ila進(jìn)行調(diào)試。
項(xiàng)目地址
https://github.com/kholia/xvcpi
https://bitbucket.org/Mylium/xvcpi/src/master/
總結(jié)
樹莓派板載了wifi和1G 網(wǎng)口,所以可以使用無線或者有線進(jìn)行調(diào)試。對應(yīng)于實(shí)際設(shè)備中,上面的代碼很容易移植到新的嵌入式設(shè)備,也無需浪費(fèi)時間和精力在FPGA上做遠(yuǎn)程更新的手段。
PS:Jtag Pi不是必須得,只要樹莓派的IO電平和FPGA電平標(biāo)準(zhǔn)兼容即可。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22018瀏覽量
616989 -
嵌入式
+關(guān)注
關(guān)注
5147文章
19613瀏覽量
316452 -
WIFI
+關(guān)注
關(guān)注
81文章
5387瀏覽量
207988 -
遠(yuǎn)程調(diào)試
+關(guān)注
關(guān)注
0文章
48瀏覽量
8745 -
遠(yuǎn)程更新
+關(guān)注
關(guān)注
0文章
8瀏覽量
7657
原文標(biāo)題:FPGA遠(yuǎn)程更新/遠(yuǎn)程調(diào)試的一種簡單方法
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
遠(yuǎn)程在線更新FPGA程序的方法

Xilinx FPGA遠(yuǎn)程調(diào)試方法(一)

Xilinx FPGA遠(yuǎn)程調(diào)試方法(二)

使用MAXI接口的最簡單方法是什么?
求一種基于EPCS Flash的遠(yuǎn)程在線更新FPGA程序的方法
一種節(jié)省能源的簡單方法
如何去實(shí)現(xiàn)一種基于RT-Thread+RA6M4的遠(yuǎn)程開機(jī)助手設(shè)計(jì)
一種寬范圍微弱直流信號測量的簡單方法
多節(jié)點(diǎn)大容量FPGA系統(tǒng)的遠(yuǎn)程升級方法

簡單介紹一種遠(yuǎn)程傳輸監(jiān)控的數(shù)據(jù)采集方法

設(shè)計(jì)一種跳轉(zhuǎn)到Avalon總線的簡單方法
如何實(shí)現(xiàn)遠(yuǎn)程FPGA的更新和重啟

AN143-一種準(zhǔn)確預(yù)測泄漏電流引起的PLL參考雜散電平的簡單方法

評論