最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

LabVIEW FPGA精華:利用LabVIEW+Adept驅動實現(xiàn)FPGA芯片的bit文件動態(tài)加載運行

2021-08-04 04:12 作者:神電測控  | 我要投稿

1、問題由來

????????眾所周知,NI的各類FPGA板卡和控制器都支持LabVIEW上位機動態(tài)加載各種不同的FPGA bit可執(zhí)行文件,相比較傳統(tǒng)的FPGA程序下載方式要方便太多,這是因為傳統(tǒng)的FPGA bit文件下載通常都是手動通過IMPACT.exe或者Vivado軟件來操作的,雖然一定程度上可以通過CMD來實現(xiàn),但總歸還是沒有一套統(tǒng)一的子函數(shù)或者子VI讓用戶將這個FPGA bit文件動態(tài)選擇下載功能集成到自己的項目應用中。

????????比如產(chǎn)線上,我們經(jīng)常需要遠程通過上位機動態(tài)地給FPGA芯片加載不同的bit文件來執(zhí)行想要的邏輯程序以實現(xiàn)不同的功能;再比如,很多軍工項目,一個FPGA即使容量再大,也不可能將所有的算法代碼都編譯到一個bit文件里面,此時,用戶一般會選擇分塊實現(xiàn)不同的功能,模塊化編程,逐一編譯生成不同的bit文件進行動態(tài)加載測試。

????????所以,綜上所述,我們非常需要一個通用的FPGA下載器接口函數(shù)來完成對FPGA芯片bit程序的動態(tài)選擇、下載、加載、啟動和運行。因為傳統(tǒng)的FPGA bit文件手動下載方式已經(jīng)跟不上實際的FPGA項目和產(chǎn)品需要時刻更新升級的時代發(fā)展了。

2、如何解決

????????那么上面的這個問題該怎么解決呢?NI之所以能夠實現(xiàn)FPGA芯片里面的bit文件動態(tài)下載,是因為NI的每個FPGA板卡上面都做了復雜的下載和通信電路,但是我們廣大的傳統(tǒng)嵌入式FPGA開發(fā)板往往都是一個裸板,上面只有最核心的FPGA和外圍電路,好一點的像Digilent公司開發(fā)的FPGA板子一般還把JTAG下載器集成到上面了。

?????????我們找到了一種最簡單最廉價又不需要改動FPGA板子的方式來實現(xiàn)動態(tài)選擇下載加載FPGA bit文件。那就是,選擇Digilent公司開發(fā)的HS1/HS2/HS3這類非常便宜的FPGA JTAG下載器,目前國內(nèi)的FPGA下載器基本上仿的都是他們家的,因為這種下載器要比Xilinx原廠方案的便宜很多,因為只需要一個FT232H和EEPROM芯片即可實現(xiàn)Xilinx下載器所有的功能。

????????目前,淘寶上有很多這種山寨版的Digilent HS系列下載器,大家可以自己購買,后面實驗環(huán)節(jié)我們選擇的是黑金提供的高仿Digilent HS紅色下載器,如圖1所示;并且黑金的AX7020 ZYNQ開發(fā)板上集成了這個HS下載器電路,其他的FPGA開發(fā)板沒有集成,需要單獨購買一個。

圖1:高仿的Digilent山寨版HS下載器

????????對于一般的用戶來說,買一個單獨的幾十元下載器就可以了,但是對于想要開發(fā)出類似NI的FPGA RIO產(chǎn)品的客戶來說,肯定是希望像NI一樣,將這個下載器一步到位,直接集成到自己的FPGA板卡上面,比如做成標準的USB或者PCIe或者PXIe板卡,同時具備動態(tài)下載加載FPGA bit文件的功能。

????????好消息是什么呢?現(xiàn)在大家隨便百度一下(Digilent FPGA HS下載器破解),就能看到Digilent的HS系列下載器已經(jīng)被破解的很徹底了,而且GitHub上面就有這3款下載器的SCH原理圖和PCB電路板,并且EEPROM里面的固件代碼也提供了,如圖2所示(https://github.com/LE-TOM/JTAG-HS3)。

圖2:GitHub上已經(jīng)開源的Digilent HS系列下載器文件

????????所以大家可以近乎0成本的將FPGA HS1/HS2/HS3下載器電路直接集成到自己的FPGA板子上,而且?guī)缀醪徽加枚嗌匐娐?,因為FT232H這款芯片封裝很小,不像Xilinx原廠的下載器,里面有一顆Xilinx公司好大的CPLD和Cypress公司的USB芯片。

????????對于要求不高的散戶來說,直接買一個單獨的幾十元的高仿的Digilent HS下載器更簡單省事,對于想要提高FPGA板卡的實際用戶體驗和開發(fā)效率,可以選擇將下載器集成到自己的FPGA板子上面。

????????下載器我們找到了,下一步就是這款Digilent的HS系列下載器的驅動DLL能不能被上位機軟件調(diào)用了。如果直接去研究JTAG底層協(xié)議,那無疑是海量的工程,所以,Digilent公司專門開發(fā)了一個中間層驅動和配套的可視化軟件Adept,大家可以到Digilent公司官網(wǎng)上直接搜索Adept,然后下載最新版本的軟件即可,如圖3所示(https://reference.digilentinc.com/software/adept/start?redirect=1)。感興趣的用戶可以自行了解一下Adept軟件,后面我們會提供LabVIEW直接調(diào)用Adept DLL來實現(xiàn)對FPGA bit文件的動態(tài)加載運行。

圖3:Digilent公司官網(wǎng)上有最新的Adept軟件下載鏈接

????????現(xiàn)在,萬事俱備,就差怎么實現(xiàn),在接下來的第3部分,我們會詳細給用戶講解具體的實現(xiàn)過程。

3、實現(xiàn)過程

????????1)首先,需要從Digilent公司官網(wǎng)上將最新的Adept軟件下載下來,比如上面圖3中顯示的V2.21.2版本,這個版本看名稱應該是21年2月份最新版的了,而我們平時安裝的ISE 14.7和Vivado 2014.4里面自帶的Adept軟件版本會比較低,一般是2.15.3,就是15年3月份出的。建議大家安裝新版本,因為新版本的功能要比老版本強大一些。

????????直接雙擊Adept.exe進行安裝即可,如圖4所示。唯一需要注意的是,安裝過程中,千萬不能將下載器接到電腦上,電腦上必須沒有任何Digilent下載器的情況下才能順利完成安裝。

圖4:直接雙擊安裝下載下來的Digilent Adept下載器驅動軟件

????????安裝完成后,在開始菜單里面找到Adept軟件并打開,如圖5所示。然后將Digilent HS或者高仿的HS下載器和FPGA開發(fā)板接到電腦上,此時,Adept軟件會自動發(fā)現(xiàn)該下載器的固件名稱和實際的FPGA芯片型號,如圖6所示。

圖5:打開剛剛安裝好的Adept軟件
圖6:可以看到高仿的Digilent下載器固件版本是HS1和Xilinx A7芯片(AX7035開發(fā)板)

????????此時,用戶還可以點擊旁邊的“Browse”瀏覽找一個bit文件,點擊“Program”下載測試一下看看這個軟件的功能是否正常。下面我們找一個黑金的AX7020 FPGA開發(fā)板接上去,看看Adept什么反應,如圖7所示。很明顯,ZYNQ被Adept識別出來兩個可編程RAM,分別對應了ZYNQ里面的ARM(PS)和FPGA(PL)。需要注意的是,ZYNQ里面的FPGA索引是1不是0,因為多出來的ARM占據(jù)了0.

圖7:Adept識別出來的ZYNQ FPGA芯片(黑金AX7020開發(fā)板)

????????接下來,我們看看Digilent公司開發(fā)的Basys3 FPGA開發(fā)板識別出來的效果,如圖8所示??梢钥闯觯珼igilent公司官方的Basys3 FPGA開發(fā)板上的FPGA芯片是A7,并且HS JTAG下載器的固件名稱也改成了Basys3,而不是原始的HS1或者HS2或者HS3,說明Digilent在FPGA開發(fā)板出廠的時候,往HS EEPROM里面燒寫的固件名稱改了,而目前GitHub和原生的下載器名稱都是原始的JTAGHS*。

圖8:Adept識別出來的Artix7 FPGA芯片(Digilent Basys3開發(fā)板)

????????注意:Adept軟件本身可以同時識別多個不同的下載器和FPGA芯片,這點非常重要,如果用戶自己做的FPGA板子需要多個同時接到電腦上,那么Adept驅動可以毫無壓力的識別。

????????至此,我們安裝的Digilent Adept軟件功能是完全OK的!其識別速度和下載速度要比Xilinx官方的IMPACT和Vivado快很多,大家可以嘗試對比一下就知道了!

?

????????2)接下來,我們需要安裝一下Digilent公司專門為這個Adept軟件封裝的一套LabVIEW下的驅動VI,實際上底層就是調(diào)用Adept的DLL庫函數(shù)來實現(xiàn)的。

????????封裝出來的這個工具包名稱是“Interface for Adept”,大家可以在NI官網(wǎng)上搜索這個關鍵字,然后點擊右下角的“DOWNLOAD”就能單獨下載離線版安裝,如圖9所示。

圖9:從NI官網(wǎng)上下載這個“Interface for Adept”工具包

????????從NI官網(wǎng)上下載軟件時需要注冊賬號,免費的,如果不想麻煩的話,也可以通過下面我們推薦的這種不需要賬號的方式來直接在線安裝這個工具包,那就是通過VIPM軟件來搜索在線安裝,類似應用商店一樣。

????????首先,打開電腦上的VIPM軟件,然后搜索找到Adept,如圖10所示。最后右擊選擇安裝就可以了,安裝過程中會彈出一個應用程序檢測當前電腦環(huán)境下是否安裝了Adept軟件,如果沒有的話,它會自動下載安裝,但是這個軟件有個bug,就是一直提示安裝,并且它默認安裝的是低版本的V2.15.3版本,這就是為什么我們要在前面先完成第一步操作,將高版本的Adept軟件提前安裝好,然后到了這里,就會自動跳過去,如圖11所示。

圖10:從VIPM軟件上面搜索進行在線安裝
圖11:安裝過程中會判斷當前電腦上是否安裝了兩個必須的驅動組件

????????安裝完成后,如果用戶直接點擊“Show Example”找到對應的LabVIEW上位機例程,是無法正常下載FPGA bit文件的,這里面有bug,所以,我們專門開發(fā)了一個沒有bug能夠動態(tài)下載FPGA bit文件的例程出來。

????????3)將我們(神電測控)提供的DLL驅動文件拷貝到這個路徑下覆蓋,如圖12所示(C:\Program Files (x86)\National Instruments\LabVIEW 2015\vi.lib\MakerHub\Adept\Private\Resources);然后再把我們提供的vilib文件夾和example文件里面的文件拷貝過去覆蓋,如圖13所示(C:\Program Files (x86)\National Instruments\LabVIEW 2015\examples\MakerHub\Adept);最后打開我們寫好的LabVIEW FPGA bit文件動態(tài)加載程序,看看是否正常,如圖14所示。如果運行箭頭沒有斷開,說明所有加載的Adept子VI和DLL都是OK的!

圖12:將我們提供的Adept新版本驅動拷貝過去進行覆蓋
圖14:打開我們(神電測控)編寫的LabVIEW FPGA bit文件動態(tài)下載VI(方便集成)

????????我們開發(fā)的這個LabVIEW FPGA bit動態(tài)下載VI(LV-Adept-Flash FPGA Bitfile-DLW30.vi),用戶還可以直接將其當成一個子VI集成到自己大的LabVIEW工程里面,便于即插即用,真正做到了圖形化一目了然!

4、應用測試

????????下面,我們選擇3款不同的FPGA開發(fā)板和下載器來測試一下我們(神電測控)開發(fā)的這個LabVIEW FPGA bit動態(tài)下載VI(LV-Adept-Flash FPGA Bitfile-DLW30.vi)功能是否正常。

????????3款開發(fā)板分別是黑金的AX7035 Artix7開發(fā)板,上面沒有集成下載器,所以單獨買了一個高仿的Digilent HS下載器;第二款是黑金的AX7020 ZYNQ開發(fā)板,上面集成好了Digilent HS JTAG下載器電路;第三款是Digilent公司官方的Basys3 Artix7開發(fā)板,上面也集成好了他們家的FPGA HS下載器電路。

????????1)黑金開發(fā)的AX7035 Artix7 FPGA開發(fā)板和下載器連接實物圖,如圖15所示。然后在上位機軟件前面板左側的“Configuration”里面選擇識別出來的下載器HS1,F(xiàn)PGA類型為“純FPGA”,bit文件路徑可以指定也可以留空在彈出來的對話框里面選擇;然后點擊一下運行箭頭,過幾秒之后,右側的“Download Status”里面出現(xiàn)了“Programming Successful.”,如圖16所示,說明bit文件成功地下載到FPGA芯片里面去了。此時,F(xiàn)PGA開發(fā)板上的4個LED燈按照流水方式跑起來了,因為我們下載的是提前使用LabVIEW My FPGA編譯出來的FPGA流水燈bit文件,關于具體的LabVIEW FPGA開發(fā)和編譯過程,不熟悉的用戶可以參考我們編寫的《LabVIEW FPGA開發(fā)寶典》。

圖15:將黑金提供的AX7035 Artix7 FPGA開發(fā)板和高仿的HS JTAG下載器接到電腦上
圖16:可以自由選擇指定路徑下的bit文件下載到A7 FPGA芯片里面運行

????????2)黑金開發(fā)的AX7020 ZYNQ FPGA開發(fā)板,板子上面集成好了Digilent HS JTAG下載器電路,如圖17所示。然后在上位機軟件前面板左側的“Configuration”里面選擇識別出來的下載器“HS1”,F(xiàn)PGA類型為“ZYNQ”,bit文件路徑可以指定也可以留空在彈出來的對話框里面選擇;然后點擊一下運行箭頭,過幾秒之后,右側的“Download Status”里面出現(xiàn)了“Programming Successful.”,如圖18所示,說明bit文件成功地下載到ZYNQ FPGA芯片里面去了。此時,F(xiàn)PGA開發(fā)板上的4個LED燈按照流水方式跑起來了,因為我們下載的是提前使用LabVIEW My FPGA編譯出來的ZYNQ FPGA流水燈bit文件。

圖17:將黑金提供的AX7020 ZYNQ FPGA開發(fā)板接到電腦上(板載了Digilent HS JTAG下載器)
圖18:可以自由選擇指定路徑下的bit文件下載到ZYNQ FPGA芯片里面運行

????????3)Digilent官方提供的Basys3 Artix7 FPGA開發(fā)板,同樣也板載了Digilent他們自家的HS JTAG下載器,如圖19所示。然后在上位機軟件前面板左側的“Configuration”里面選擇識別出來的下載器Basys3,F(xiàn)PGA類型為“純FPGA”,bit文件路徑可以指定也可以留空在彈出來的對話框里面選擇;然后點擊一下運行箭頭,過幾秒之后,右側的“Download Status”里面出現(xiàn)了“Programming Successful.”,如圖20所示,說明bit文件成功地下載到A7 FPGA芯片里面去了。此時,F(xiàn)PGA開發(fā)板上的16個LED燈按照十六進制計數(shù)器的方式跑起來了,因為我們下載的是提前使用LabVIEW My FPGA編譯出來的FPGA while循環(huán)計數(shù)器bit文件,關于具體的LabVIEW FPGA開發(fā)和編譯過程,不熟悉的用戶可以參考我們編寫的《LabVIEW FPGA開發(fā)寶典》。

圖19:將Digilent提供的Basys3 Artix7 FPGA開發(fā)板接到電腦上(板載JTAG下載器)
圖20:可以自由選擇指定路徑下的bit文件下載到A7 FPGA芯片里面運行


5、結論

????????現(xiàn)在大家可以使用我們(神電測控)提供的這個LabVIEW FPGA bit動態(tài)加載VI(LV-Adept-Flash FPGA Bitfile-DLW30.vi)來代替?zhèn)鹘y(tǒng)的IMPACT和Vivado下載了,不僅提高了開發(fā)和下載效率,更關鍵的是我們克服了傳統(tǒng)下載方式所沒有的多個FPGA bit文件遠程和動態(tài)隨心所欲的選擇、切換、下載、加載和運行,實現(xiàn)了跟NI FPGA動態(tài)加載一樣的靈活性!

LabVIEW FPGA精華:利用LabVIEW+Adept驅動實現(xiàn)FPGA芯片的bit文件動態(tài)加載運行的評論 (共 條)

分享到微博請遵守國家法律
丹凤县| 郴州市| 五原县| 普兰店市| 天镇县| 盈江县| 清河县| 鱼台县| 平山县| 巧家县| 佛教| 澄江县| 鄂托克前旗| 盘山县| 宣武区| 鸡东县| 渝北区| 宿州市| 伊宁市| 临颍县| 浦东新区| 方城县| 泽州县| 杂多县| 嘉善县| 遂川县| 盱眙县| 资溪县| 武胜县| 东乡族自治县| 秦皇岛市| 柞水县| 望谟县| 新郑市| 政和县| 常山县| 图木舒克市| 蒙阴县| 青浦区| 应城市| 柳河县|