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

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

3:歷史性突破Xilinx A7、K7、V7、ZYNQ、KU等FPGA芯片的LabVIEW在線前面板交互式運(yùn)行

2022-03-07 00:49 作者:神電測(cè)控  | 我要投稿

副標(biāo)題:重大更新3:利用神電測(cè)控研發(fā)的SDMC以太網(wǎng)下載器下載6系列7系列(Spartan6、Artix7、Kintex7、Virtex7、ZYNQ)LabVIEW FPGA程序(支持在線前面板交互式運(yùn)行和調(diào)試)

我們始終在想一個(gè)問題:就是這幾十年市面上已有的海量的FPGA芯片、板子、板卡,起碼也有幾千萬個(gè)了,如何在不破壞板子、不飛線的情況下,還能以零成本的方式實(shí)現(xiàn)LabVIEW FPGA在線前面板交互式運(yùn)行和上位機(jī)FPGA引用讀寫訪問控件的功能?我們做到了!

1、重大突破:歷時(shí)半年,終于突破了Xilinx 7系列(Artix7、Kintex7、Virtex7)、U系列(KU、KU+、VU、VU+)以及ZYNQ等家族FPGA芯片的LabVIEW在線前面板交互式運(yùn)行和調(diào)試;當(dāng)然,還有以前就支持的Virtex5/Spartan3E/Spartan6等傳統(tǒng)的5系列、6系列FPGA芯片。

2、重大更新:我們是真正對(duì)市面上已有的、海量的、任何廠家的Xilinx FPGA板子或板卡,在不做任何改動(dòng),不做任何飛線、不破壞板子的情況下,借助大家所熟知的0成本的Xilinx JTAG下載器或者我們研發(fā)的SDMC FPGA Downloader以太網(wǎng)下載器,實(shí)現(xiàn)了真正意義上的FPGA VI在線前面板交互式運(yùn)行和調(diào)試功能,這是我們與其他封閉式友商最大的不同!

3、重要理念:我們的LabVIEW My FPGA圖形化軟件工具包和RIO開發(fā)方案具有普適性,只有這樣,才能讓廣大用戶自由選擇市面上已有的、海量的FPGA芯片、板子、板卡或者用戶自己自由設(shè)計(jì)硬件,而不是被其他友商固定的硬件而綁架了。

4、始終秉持:“為所有想用又不敢用、正在使用和將要使用FPGA的廣大用戶,提供一套通用的國(guó)產(chǎn)化、圖形化、開源化RIO解決方案”;讓所有FPGA芯片、板子、板卡都能享受到圖形化編程的樂趣,真正擺脫友商限制,讓用戶的FPGA產(chǎn)品低成本量產(chǎn)成為可能性,并且牢牢抓住FPGA的靈魂程序!

部分摘錄:

? ? ? 5.6.7.3:測(cè)試以太網(wǎng)下載器跟黑金Artix7-100T開發(fā)板(AX7103)之間的在線前面板交互式運(yùn)行和調(diào)試功能

?????? ?由于以太網(wǎng)下載器跟黑金AX7103之間的SPI通信是隨便找的6個(gè)IO引腳,F(xiàn)PGA BOOT啟動(dòng)方式無法配置成Slave Serial Mode,所以不支持在線燒寫FPGA bit文件。因此,需要借助傳統(tǒng)的Xilinx JTAG或者Digilent HS系列下載器提前將編譯好的FPGA bit文件燒進(jìn)去。

?????? ?1)為了獲取原始的FPGA bit文件,我們需要先編譯一下寫好的FPGA VI程序,圖5-233顯示的是AX7103終端下的FPGA VI編譯完成后的FPGA資源消耗情況。

圖5-233:先將AX7103終端下的FPGA VI程序編譯一遍

? ? ? ? 2)接下來,右擊AX7103終端下的FPGA VI名稱,點(diǎn)擊菜單里面的“Generate Raw FPGA Bit File”,如圖5-234所示;然后可以看到一個(gè)一閃而過的原始bit文件生成進(jìn)度條,如圖5-235所示;此時(shí),F(xiàn)PGA Bitfiles文件夾里面就多出來一個(gè)與lvbitx同名的原始bit文件了,如圖5-236所示。

圖5-234:右擊黑金AX7103終端下的FPGA VI選擇“Generate Raw FPGA Bit File”菜單項(xiàng)
圖5-235:等待FPGA原始bit文件生成成功(一閃而過)
圖5-236:生成了一個(gè)與lvbitx同名的原始FPGA bit文件

? ? ? ? 3)將Xilinx JTAG下載器或者Digilent HS系列下載器接到黑金AX7103開發(fā)板上,給FPGA開發(fā)板和以太網(wǎng)下載器上電,然后打開Vivado或者Adept軟件將剛剛生成的原始bit文件下載到FPGA里面運(yùn)行。比如,我們習(xí)慣用Digilent的Adept軟件來下載原始的FPGA bit文件,如圖5-237所示。下載完成后,可以將這個(gè)傳統(tǒng)下載器拔掉,以驗(yàn)證后續(xù)的FPGA VI在線前面板交互式運(yùn)行和調(diào)試功能,確實(shí)是由我們的以太網(wǎng)下載器單獨(dú)實(shí)現(xiàn)的。

圖5-237:利用Vivado或者Adept軟件將前面編譯好的原始FPGA bit文件下載到AX7103里面運(yùn)行

? ? ? ? 4)傳統(tǒng)的下載器拔掉之后,點(diǎn)擊一下前面編譯過的FPGA VI前面板左上角的運(yùn)行箭頭,此時(shí)會(huì)彈出“正在準(zhǔn)備交互式執(zhí)行”提示框,如圖5-238所示。2秒左右,非???,奇跡發(fā)生了,下位機(jī)FPGA VI前面板竟然活了,就像我們開發(fā)的LabVIEW STM32工具包那樣,LabVIEW成功地進(jìn)入了FPGA交互式運(yùn)行模式,并且前面板上的“Running”和“儀表”這兩個(gè)顯示控件里面的數(shù)值會(huì)按照500ms的速度進(jìn)行+1遞增,如圖5-239所示。

圖5-238:LabVIEW FPGA VI開始啟動(dòng)在線前面板交互式運(yùn)行
圖5-239:以太網(wǎng)下載器成功激活了黑金AX7103終端下的FPGA VI在線前面板交互式運(yùn)行

? ? ? ? 同時(shí)可以看到,AX7103 FPGA開發(fā)板上的2個(gè)LED指示燈按照1Hz的頻率同步閃爍,亮滅持續(xù)時(shí)間各500ms,如圖5-240所示。

圖5-240:黑金AX7103 FPGA開發(fā)板上的實(shí)際運(yùn)行效果

? ? ? ? 如果我們?cè)贔PGA VI交互式前面板上修改一下“控制循環(huán)周期(mSec)”控件里面的數(shù)值,比如改成200,如圖5-241所示,此時(shí)黑金AX7103 FPGA開發(fā)板上的LED閃爍頻率明顯加快了,并且儀表盤的指針也開始加速移動(dòng)了。

圖5-241:黑金AX7103(Artix7-100T)進(jìn)入交互式運(yùn)行模式下的FPGA VI前面板上的控件可以動(dòng)態(tài)實(shí)時(shí)修改并立即生效(無須重新編譯FPGA VI)

? ? ? ? 接著,我們按壓FPGA開發(fā)板上的KEY1按鍵,如圖5-242所示;發(fā)現(xiàn)FPGA VI前面板上相對(duì)應(yīng)的布爾指示燈也跟著發(fā)生變化,如圖5-243所示。這就是進(jìn)入交互式運(yùn)行前面板之后LabVIEW FPGA的強(qiáng)大之處,通過SPI讀寫FPGA內(nèi)部的寄存器將FPGA前面板上的所有控件信息自動(dòng)投射關(guān)聯(lián)并實(shí)時(shí)顯示到當(dāng)前FPGA VI前面板上。

圖5-242:按住黑金AX7103(Artix7-100T)開發(fā)板上的KEY1按鍵
圖5-243:進(jìn)入交互式運(yùn)行模式下的FPGA VI可以將Artix7-100T FPGA內(nèi)部的寄存器數(shù)值自動(dòng)更新到前面板上顯示出來

? ? ? ? 說明下位機(jī)FPGA實(shí)時(shí)捕捉到的狀態(tài)通過交互式運(yùn)行模式自動(dòng)呈現(xiàn)在了FPGA VI前面板上了,非常直觀!徹底擺脫傳統(tǒng)低效的串口打印這種離線調(diào)試方法了!


? ? ?5.6.7.4:測(cè)試以太網(wǎng)下載器跟黑金Artix7-200T開發(fā)板(AX7A200)之間的在線前面板交互式運(yùn)行和調(diào)試功能

?????? ?由于以太網(wǎng)下載器跟黑金AX7A200之間的SPI通信是隨便找的6個(gè)IO引腳,F(xiàn)PGA BOOT啟動(dòng)方式無法設(shè)置成Slave Serial Mode,所以不支持在線燒寫FPGA bit文件。因此,我們需要借助傳統(tǒng)的Xilinx JTAG或者Digilent HS系列下載器提前將編譯好的FPGA bit文件燒進(jìn)去。

?????? ?1)為了獲取原始的FPGA bit文件,我們需要先編譯一下寫好的FPGA VI程序,圖5-244顯示的是AX7A200終端下的FPGA VI編譯完成后的FPGA資源消耗情況。

圖5-244:先將AX7A200終端下的FPGA VI程序編譯一遍

? ? ? ? 2)接下來,右擊AX7A200終端下的FPGA VI名稱,點(diǎn)擊菜單里面的“Generate Raw FPGA Bit File”,如圖5-245所示;然后可以看到一個(gè)一閃而過的原始bit文件生成進(jìn)度條,如圖5-246所示;此時(shí),F(xiàn)PGA Bitfiles文件夾里面就多出來一個(gè)與lvbitx同名的原始bit文件了,如圖5-247所示。

圖5-245:右擊黑金AX7A200終端下的FPGA VI選擇“Generate Raw FPGA Bit File”菜單項(xiàng)
圖5-246:等待FPGA原始bit文件生成成功(一閃而過)
圖5-247:生成了一個(gè)與lvbitx同名的原始FPGA bit文件

? ? ? ? 3)將Xilinx JTAG下載器或者Digilent HS系列下載器接到黑金AX7A200開發(fā)板上,給FPGA開發(fā)板和以太網(wǎng)下載器上電,然后打開Vivado或者Adept軟件將剛剛生成的原始bit文件下載到FPGA里面運(yùn)行。比如,我們習(xí)慣用Digilent的Adept軟件來下載原始的FPGA bit文件,如圖5-248所示。下載完成后,可以將這個(gè)傳統(tǒng)下載器拔掉,以驗(yàn)證后續(xù)的FPGA VI在線前面板交互式運(yùn)行和調(diào)試功能,確實(shí)是由我們的以太網(wǎng)下載器獨(dú)立完成的。

圖5-248:利用Vivado或者Adept軟件將前面編譯出來的bit文件下載到AX7A200 FPGA里面運(yùn)行

? ? ? ? 4)傳統(tǒng)的下載器拔掉之后,點(diǎn)擊一下前面編譯過的FPGA VI前面板左上角的運(yùn)行箭頭,此時(shí)會(huì)彈出“正在準(zhǔn)備交互式執(zhí)行”提示框,如圖5-249所示。2秒左右,非常快,奇跡發(fā)生了,下位機(jī)FPGA VI前面板竟然活了,就像我們開發(fā)的LabVIEW STM32工具包那樣,LabVIEW成功地進(jìn)入了FPGA交互式運(yùn)行模式,并且前面板上的“Running”和“儀表”這兩個(gè)顯示控件里面的數(shù)值會(huì)按照500ms的速度進(jìn)行+1遞增,如圖5-250所示。

圖5-249:LabVIEW FPGA VI開始啟動(dòng)在線前面板交互式運(yùn)行
圖5-250:以太網(wǎng)下載器成功激活了黑金AX7A200終端下的FPGA VI在線前面板交互式運(yùn)行和調(diào)試功能

? ? ? ? 同時(shí)可以看到,AX7A200 FPGA開發(fā)板上的4個(gè)LED指示燈按照1Hz的頻率同步閃爍,亮滅持續(xù)時(shí)間各500ms,如圖5-251所示。

圖5-251:黑金AX7A200 FPGA開發(fā)板(Artix7-200T)上的實(shí)際運(yùn)行效果

? ? ? ? 如果我們?cè)贔PGA VI交互式前面板上修改一下“控制循環(huán)周期(mSec)”控件里面的數(shù)值,比如改成75,如圖5-252所示,此時(shí)黑金AX7A200 FPGA開發(fā)板上的LED閃爍速度明顯加快了,并且儀表盤的指針也開始加速移動(dòng)了。

圖5-252:黑金AX7A200(Artix7-200T)進(jìn)入交互式運(yùn)行模式下的FPGA VI前面板上的控件可以動(dòng)態(tài)實(shí)時(shí)修改并立即生效(無須重新編譯FPGA VI)

? ? ? ? 接著,我們按壓FPGA開發(fā)板上的KEY1和KEY4按鍵,如圖5-253所示;發(fā)現(xiàn)FPGA VI前面板上相對(duì)應(yīng)的布爾指示燈也跟著發(fā)生變化,如圖5-254所示。這就是進(jìn)入交互式運(yùn)行前面板之后LabVIEW FPGA的強(qiáng)大之處,通過SPI讀寫FPGA內(nèi)部的寄存器將FPGA前面板上的所有控件信息自動(dòng)投射關(guān)聯(lián)并實(shí)時(shí)顯示到當(dāng)前FPGA VI前面板上。

圖5-253:按住黑金AX7A200(Artix7-200T)開發(fā)板上的KEY1和KEY4按鍵
圖5-254:進(jìn)入交互式運(yùn)行模式下的FPGA VI可以將Artix7-200T FPGA內(nèi)部的寄存器數(shù)值自動(dòng)更新到前面板上顯示出來

? ? ? ? 說明下位機(jī)FPGA實(shí)時(shí)捕捉到的狀態(tài)通過交互式運(yùn)行模式自動(dòng)呈現(xiàn)在了FPGA VI前面板上了,非常直觀!徹底擺脫傳統(tǒng)低效的串口打印那種離線調(diào)試方法了!

?????? ?5.6.7.5:測(cè)試以太網(wǎng)下載器跟黑金ZYNQ7020開發(fā)板(AX7020)之間的在線前面板交互式運(yùn)行和調(diào)試功能

?????? ?由于以太網(wǎng)下載器跟黑金AX7020之間的SPI通信是隨便找的6個(gè)IO引腳,F(xiàn)PGA BOOT啟動(dòng)方式無法設(shè)置成Slave Serial Mode,所以不支持在線燒寫FPGA bit文件。因此,我們需要借助傳統(tǒng)的Xilinx JTAG或者Digilent HS系列下載器提前將編譯好的FPGA bit文件燒進(jìn)去。好在黑金這款ZYNQ7020開發(fā)板上集成了Digilent HS1下載器,只需要一根miniUSB線纜即可將上位機(jī)的FPGA bit文件下載到FPGA芯片里面運(yùn)行。

?????? ?1)為了獲取原始的FPGA bit文件,我們需要先編譯一下寫好的FPGA VI程序,圖5-255顯示的是AX7020終端下的FPGA VI編譯完成后的FPGA資源消耗情況。

圖5-255:先將AX7020終端下的FPGA VI程序編譯一遍

? ? ? ? 2)接下來,我們不能像前面純FPGA終端那樣,右擊創(chuàng)建bit文件,因?yàn)閆YNQ芯片屬于復(fù)合型芯片,直接生成的bit文件不能使用。所以,需要借助我們之前提供給用戶的“License-ID-Bitfile-ZYNQ.vi”這個(gè)程序來獲取編譯后的原始ZYNQ FPGA bit文件,如圖5-256所示。FPGA VI編譯結(jié)束后,可以看到E盤根目錄下多出來一個(gè)指定名稱的FPGA bit文件,如圖5-257所示。

圖5-256:利用我們開發(fā)的“License-ID-Bitfile-ZYNQ.vi”來獲取原始的ZYNQ FPGA bit文件
圖5-257:編譯完成后會(huì)獲得一個(gè)原始的ZYNQ FPGA bit文件

? ? ? ? 3)將一根miniUSB線纜接到黑金AX7020開發(fā)板上,因?yàn)檫@款ZYNQ7020開發(fā)板上集成了Digilent HS1下載器,然后給FPGA開發(fā)板上電;再打開Vivado或者Adept軟件將剛剛生成的原始bit文件下載到FPGA里面運(yùn)行。比如,我們習(xí)慣用Digilent的Adept軟件來下載原始的FPGA bit文件,如圖5-258所示。下載完成后,可以將這個(gè)miniUSB線纜拔掉,以驗(yàn)證后續(xù)的FPGA VI在線前面板交互式運(yùn)行,確實(shí)是由我們的以太網(wǎng)下載器單獨(dú)實(shí)現(xiàn)的。

圖5-258:利用Vivado或者Adept軟件將前面編譯好的bit文件下載到AX7020 FPGA里面運(yùn)行

? ? ? ? 4)拔掉miniUSB線纜也相當(dāng)于斷開了Digilent HS1下載器,再點(diǎn)擊一下前面編譯過的FPGA VI前面板左上角的運(yùn)行箭頭,此時(shí)會(huì)彈出“正在準(zhǔn)備交互式執(zhí)行”提示框,如圖5-259所示。2秒左右,非常快,奇跡發(fā)生了,下位機(jī)FPGA VI前面板竟然活了,就像我們開發(fā)的LabVIEW STM32工具包那樣,LabVIEW成功地進(jìn)入了FPGA交互式運(yùn)行模式,并且前面板上的“Running”和“儀表”這兩個(gè)顯示控件里面的數(shù)值會(huì)按照500ms的速度進(jìn)行+1遞增,如圖5-260所示。

圖5-259:LabVIEW FPGA VI開始啟動(dòng)在線前面板交互式運(yùn)行
圖5-260:以太網(wǎng)下載器成功激活了黑金AX7020終端(ZYNQ7020)下的FPGA VI在線前面板交互式運(yùn)行

? ? ? ? 同時(shí)可以看到,AX7020 FPGA開發(fā)板上的4個(gè)LED指示燈按照1Hz的頻率同步閃爍,亮滅持續(xù)時(shí)間各500ms,如圖5-261所示。

圖5-261:黑金AX7020 FPGA開發(fā)板(ZYNQ7020)上的實(shí)際運(yùn)行效果

? ? ? ? 如果我們?cè)贔PGA VI交互式前面板上修改一下“控制循環(huán)周期(mSec)”控件里面的數(shù)值,比如改成40,如圖5-262所示,此時(shí)黑金AX7020 FPGA開發(fā)板上的LED閃爍頻率明顯加快了,并且儀表盤的指針也開始加速移動(dòng)了。

圖5-262:黑金AX7020(ZYNQ7020)進(jìn)入交互式運(yùn)行模式下的FPGA VI前面板上的控件可以動(dòng)態(tài)實(shí)時(shí)修改并立即生效(無須重新編譯FPGA VI)

? ? ? ? 接著,我們按壓FPGA開發(fā)板上的KEY2和KEY3按鍵,如圖5-263所示;發(fā)現(xiàn)FPGA VI前面板上相對(duì)應(yīng)的布爾指示燈也跟著發(fā)生變化,如圖5-264所示。這就是進(jìn)入交互式運(yùn)行前面板之后LabVIEW FPGA的強(qiáng)大之處,通過SPI讀寫FPGA內(nèi)部的寄存器將FPGA前面板上的所有控件信息自動(dòng)投射關(guān)聯(lián)并實(shí)時(shí)顯示到當(dāng)前FPGA VI前面板上。

圖5-263:按住黑金AX7020 ZYNQ開發(fā)板上的KEY2和KEY3按鍵
圖5-264:進(jìn)入交互式運(yùn)行模式下的FPGA VI可以將ZYNQ7020 FPGA內(nèi)部的寄存器數(shù)值自動(dòng)更新到前面板上顯示出來

? ? ? ? 說明下位機(jī)FPGA實(shí)時(shí)捕捉到的狀態(tài)通過交互式運(yùn)行模式自動(dòng)呈現(xiàn)在了FPGA VI前面板上了,非常直觀!徹底擺脫傳統(tǒng)低效的串口打印那種離線調(diào)試方式!

?????? ?5.6.7.6:測(cè)試以太網(wǎng)下載器跟正點(diǎn)原子Artix7-100T開發(fā)板(達(dá)芬奇Pro)之間的在線前面板交互式運(yùn)行和調(diào)試功能

?????? ?由于以太網(wǎng)下載器跟正點(diǎn)原子達(dá)芬奇Pro(Artix7-100T)之間的SPI通信是隨便找的6個(gè)IO引腳,F(xiàn)PGA BOOT啟動(dòng)方式無法配置成Slave Serial Mode,所以不支持在線燒寫FPGA bit文件。因此,我們需要借助傳統(tǒng)的Xilinx JTAG或者Digilent HS系列下載器將編譯好的FPGA bit文件提前燒進(jìn)去。

?????? ?1)為了獲取原始的FPGA bit文件,我們需要先編譯一下寫好的FPGA VI程序,圖5-265顯示的是正點(diǎn)原子達(dá)芬奇Pro(Artix7-100T)終端下的FPGA VI編譯完成后的FPGA資源消耗情況。

圖5-265:先將正點(diǎn)原子達(dá)芬奇Pro(Artix7-100T)終端下的FPGA VI程序編譯一遍

? ? ? ? 2)接下來,右擊正點(diǎn)原子達(dá)芬奇Pro(Artix7-100T)終端下的FPGA VI名稱,點(diǎn)擊菜單里面的“Generate Raw FPGA Bit File”,如圖5-2666所示;然后可以看到一個(gè)一閃而過的原始bit文件生成進(jìn)度條,如圖5-267所示;此時(shí),F(xiàn)PGA Bitfiles文件夾里面就多出來一個(gè)與lvbitx同名的原始bit文件了,如圖5-268所示。

圖5-266:右擊正點(diǎn)原子達(dá)芬奇Pro(Artix7-100T)終端下的FPGA VI選擇“Generate Raw FPGA Bit File”菜單項(xiàng)
圖5-267:等待FPGA原始bit文件生成成功(一閃而過)
圖5-268:生成了一個(gè)與lvbitx同名的原始FPGA bit文件

? ? ? ? 3)將Xilinx JTAG下載器或者Digilent HS系列下載器接到達(dá)芬奇Pro(Artix7-100T)開發(fā)板上,給FPGA開發(fā)板和以太網(wǎng)下載器上電,然后打開Vivado或者Adept軟件將剛剛生成的原始bit文件下載到FPGA里面運(yùn)行。比如,我們習(xí)慣用Digilent的Adept軟件來下載原始的FPGA bit文件,如圖5-269所示。下載完成后,可以將傳統(tǒng)的下載器拔掉,以驗(yàn)證后續(xù)的FPGAVI在線前面板交互式運(yùn)行和調(diào)試功能,確實(shí)是由我們的以太網(wǎng)下載器單獨(dú)實(shí)現(xiàn)的。

圖5-269:利用Vivado或者Adept軟件將前面編譯出來的bit文件下載到原子達(dá)芬奇Pro(Artix7-100T)FPGA里面運(yùn)行

? ? ? ? 4)傳統(tǒng)的下載器拔掉之后,點(diǎn)擊一下前面編譯過的FPGA VI前面板左上角的運(yùn)行箭頭,此時(shí)會(huì)彈出“正在準(zhǔn)備交互式執(zhí)行”提示框,如圖5-270所示。2秒左右,非???,奇跡發(fā)生了,下位機(jī)FPGA VI前面板竟然活了,就像我們開發(fā)的LabVIEW STM32工具包那樣,LabVIEW成功地進(jìn)入了FPGA交互式運(yùn)行模式,并且前面板上的“Running”和“儀表”這兩個(gè)顯示控件里面的數(shù)值會(huì)按照500ms的速度進(jìn)行+1遞增,如圖5-271所示。

圖5-270:LabVIEW FPGA VI開始啟動(dòng)在線前面板交互式運(yùn)行
圖5-271:以太網(wǎng)下載器成功激活了正點(diǎn)原子達(dá)芬奇Pro(Artix7-100T)終端下的FPGA VI在線前面板交互式運(yùn)行

? ? ? ? 同時(shí)可以看到,正點(diǎn)原子達(dá)芬奇Pro FPGA開發(fā)板上的4個(gè)LED指示燈按照1Hz的頻率同步閃爍,亮滅持續(xù)時(shí)間各500ms,如圖5-272所示。

圖5-272:正點(diǎn)原子達(dá)芬奇Pro(Artix7-100T)FPGA開發(fā)板上的實(shí)際運(yùn)行效果

? ? ? ? 如果我們?cè)贔PGA VI交互式前面板上修改一下“控制循環(huán)周期(mSec)”控件里面的數(shù)值,比如改成60,如圖5-273所示,此時(shí)正點(diǎn)原子達(dá)芬奇Pro FPGA開發(fā)板上的LED閃爍頻率明顯加快了,并且儀表盤的指針也開始加速移動(dòng)了。

圖5-273:正點(diǎn)原子達(dá)芬奇Pro(Artix7-100T)進(jìn)入交互式運(yùn)行模式下的FPGA VI前面板上的控件可以動(dòng)態(tài)實(shí)時(shí)修改并立即生效(無須重新編譯FPGA VI)

? ? ? ? 接著,我們按壓FPGA開發(fā)板上的KEY3和KEY4按鍵,如圖5-274所示;發(fā)現(xiàn)FPGA VI前面板上相對(duì)應(yīng)的布爾指示燈也跟著發(fā)生變化,如圖5-275所示。這就是進(jìn)入交互式運(yùn)行前面板之后LabVIEW FPGA的強(qiáng)大之處,通過SPI讀寫FPGA內(nèi)部的寄存器將FPGA前面板上的所有控件信息自動(dòng)投射關(guān)聯(lián)并實(shí)時(shí)顯示到當(dāng)前FPGA VI前面板上。

圖5-274:按住正點(diǎn)原子達(dá)芬奇Pro(Artix7-100T)開發(fā)板上的KEY3和KEY4按鍵
圖5-275:進(jìn)入交互式運(yùn)行模式下的FPGA VI可以將Artix7-100T FPGA內(nèi)部的寄存器數(shù)值自動(dòng)更新到前面板上顯示出來

? ? ? ? 說明下位機(jī)FPGA實(shí)時(shí)捕捉到的狀態(tài)通過交互式運(yùn)行模式自動(dòng)呈現(xiàn)在了FPGA VI前面板上了,非常直觀!再也無須借助傳統(tǒng)離線低效的串口打印來調(diào)試了!

?????? ?5.6.7.7:測(cè)試以太網(wǎng)下載器跟Digilent Artix7-35T開發(fā)板(BASYS3)之間的在線前面板交互式運(yùn)行和調(diào)試功能

?????? ?由于以太網(wǎng)下載器跟Digilent BASYS3(Artix7-35T)之間的SPI通信是隨便找的6個(gè)IO引腳,F(xiàn)PGA BOOT啟動(dòng)方式無法設(shè)置成Slave Serial Mode,所以不支持在線燒寫FPGA bit文件,但是,我們可以借助傳統(tǒng)的Xilinx JTAG或者Digilent HS系列下載器將編譯好的FPGA bit文件提前燒進(jìn)去。好在Digilent的這款BASYS3開發(fā)板上集成了Digilent HS1下載器,只需要一根microUSB線纜即可將上位機(jī)的FPGA bit文件下載到FPGA芯片里面運(yùn)行。

?????? ?1)為了獲取原始的FPGA bit文件,我們需要先編譯一下寫好的FPGA VI程序,圖5-276顯示的是Digilent BASYS3(Artix7-35T)終端下FPGA VI編譯完成后的FPGA資源消耗情況。

圖5-276:先將Digilent BASYS3(Artix7-35T)終端下的FPGA VI程序編譯一遍

? ? ? ? 2)接下來,右擊Digilent BASYS3(Artix7-35T)終端下的FPGA VI名稱,點(diǎn)擊菜單里面的“Generate Raw FPGA Bit File”,如圖5-277所示;然后可以看到一個(gè)一閃而過的原始bit文件生成進(jìn)度條,如圖5-278所示;此時(shí),F(xiàn)PGA Bitfiles文件夾里面就多出來一個(gè)與lvbitx同名的原始bit文件了,如圖5-279所示。

圖5-277:右擊Digilent BASYS3(Artix7-35T)終端下的FPGA VI選擇“Generate Raw FPGA Bit File”菜單項(xiàng)
圖5-278:等待FPGA原始bit文件生成成功(一閃而過)
圖5-279:生成了一個(gè)與lvbitx同名的原始FPGA bit文件

? ? ? ? 3)將一根microUSB線纜接到Digilent BASYS3 FPGA開發(fā)板上,因?yàn)檫@款A(yù)rtix7-35T開發(fā)板上集成了Digilent HS1下載器,然后給FPGA開發(fā)板上電;再打開Vivado或者Adept軟件將剛剛生成的原始bit文件下載到FPGA里面運(yùn)行;比如,我們習(xí)慣用Digilent的Adept軟件來下載原始的FPGA bit文件,如圖5-280所示。下載完成后,可以將這個(gè)microUSB線纜拔掉,以驗(yàn)證后續(xù)的FPGA VI在線前面板交互式運(yùn)行和調(diào)試功能,確實(shí)是由我們的以太網(wǎng)下載器單獨(dú)實(shí)現(xiàn)的。

圖5-280:利用Vivado或者Adept軟件將前面編譯出來的bit文件下載到Digilent BASYS3(Artix7-35T)FPGA里面運(yùn)行

? ? ? ? 4)拔掉microUSB下載線之后,點(diǎn)擊一下前面編譯過的FPGA VI前面板左上角的運(yùn)行箭頭,此時(shí)會(huì)彈出“正在準(zhǔn)備交互式執(zhí)行”提示框,如圖5-281所示。2秒左右,非??欤孥E發(fā)生了,下位機(jī)FPGA VI前面板竟然活了,就像我們開發(fā)的LabVIEW STM32工具包那樣,LabVIEW成功地進(jìn)入了FPGA交互式運(yùn)行模式,并且前面板上的“Running”和“儀表”這兩個(gè)顯示控件里面的數(shù)值會(huì)按照500ms的速度進(jìn)行+1遞增,如圖5-282所示。

圖5-281:LabVIEW FPGA VI開始啟動(dòng)在線前面板交互式運(yùn)行
圖5-282:以太網(wǎng)下載器成功激活了Digilent BASYS3(Artix7-35T)終端下的FPGA VI在線前面板交互式運(yùn)行

? ? ? ? 同時(shí)可以看到,Digilent公司的BASYS3 FPGA開發(fā)板上的16個(gè)LED指示燈按照1Hz的頻率同步閃爍,亮滅持續(xù)時(shí)間各500ms,如圖5-283所示。

圖5-283:Digilent公司的BASYS3(Artix7-35T)FPGA開發(fā)板上的實(shí)際運(yùn)行效果

? ? ? ? 如果我們?cè)贔PGA VI交互式前面板上修改一下“控制循環(huán)周期(mSec)”控件里面的數(shù)值,比如改成100,如圖5-284所示,此時(shí)Digilent BASYS3 FPGA開發(fā)板上的LED閃爍頻率明顯加快了,并且儀表盤的指針也開始加速移動(dòng)了。

圖5-284:Digilent BASYS3(Artix7-35T)進(jìn)入交互式運(yùn)行模式下的FPGA VI前面板上的控件可以動(dòng)態(tài)實(shí)時(shí)修改并立即生效(無須重新編譯FPGA VI)

? ? ? ? 接著,我們將FPGA開發(fā)板上的SW0、SW3、SW5、SW6、SW9、SW10、SW12、SW15這些Switch開關(guān)撥上去,如圖5-285所示;此時(shí)你會(huì)發(fā)現(xiàn)FPGA VI前面板上相對(duì)應(yīng)的布爾指示燈也跟著發(fā)生變化,如圖5-286所示。這就是進(jìn)入交互式運(yùn)行前面板之后LabVIEW FPGA的強(qiáng)大之處,通過SPI讀寫FPGA內(nèi)部的寄存器將FPGA前面板上的所有控件信息自動(dòng)投射關(guān)聯(lián)并實(shí)時(shí)顯示到當(dāng)前FPGA VI前面板上。

圖5-285:將Digilent BASYS3 FPGA開發(fā)板上的SW0、SW3、SW5、SW6、SW9、SW10、SW12、SW15開關(guān)撥上去
圖5-286:進(jìn)入交互式運(yùn)行模式下的FPGA VI可以將Artix7-35T FPGA內(nèi)部的寄存器數(shù)值自動(dòng)更新到前面板上顯示出來

? ? ? ? 說明下位機(jī)FPGA實(shí)時(shí)捕捉到的狀態(tài)通過交互式運(yùn)行模式自動(dòng)呈現(xiàn)在了FPGA VI前面板上了,非常直觀!再也無須借助傳統(tǒng)低效的離線的串口打印來調(diào)試了!

?? ?5.6.8:LabVIEW FPGA VI程序固化到Flash(基于我們研發(fā)的SDMC以太網(wǎng)下載器)

????????當(dāng)FPGA VI程序開發(fā)調(diào)試完成后,就剩最后的部署了,也就是將FPGA bit文件固化到Flash芯片里面,因?yàn)镕PGA不像單片機(jī),F(xiàn)PGA芯片內(nèi)部沒有獨(dú)立的Flash存儲(chǔ)區(qū),所以需要將可執(zhí)行bit文件下載到外部獨(dú)立的Flash芯片里面固化起來。

?????? ?前面5.5.6節(jié)里面,介紹過用傳統(tǒng)的Xilinx JTAG下載器將上位機(jī)編譯好的LabVIEW FPGA bit文件固化到FPGA開發(fā)板上的Flash芯片里面,然后重新給板子上電或者按下Prog編程按鍵,F(xiàn)PGA都會(huì)主動(dòng)從Flash芯片里面讀取bit文件加載后自動(dòng)運(yùn)行。

?????? ?這是因?yàn)榛旧纤械腇PGA板子默認(rèn)的M0M1M2設(shè)置,會(huì)把FPGA配置成Master主設(shè)備,然后Flash就是從設(shè)備,這樣每次FPGA上電就會(huì)自動(dòng)從Flash加載bit文件了。

?????? ?而本節(jié)我們的以太網(wǎng)下載器充當(dāng)?shù)氖侵髟O(shè)備,F(xiàn)PGA必須配置成從設(shè)備模式(即需要將M0M1M2=111),才能將上位機(jī)FPGA bit文件通過以太網(wǎng)下載器燒寫到FPGA里面運(yùn)行,同時(shí)FPGA開發(fā)板上自帶的Flash芯片是不需要的,可以拿掉。

?????? ?如果將FPGA開發(fā)板上的Flash芯片拿掉,那么bit文件該怎么固化呢?答案就是我們?cè)赟DMC FPGA Downloader以太網(wǎng)下載器上板載了一顆W25Q64或者W25Q128這樣的Flash芯片,可以將上位機(jī)FPGA bit文件通過以太網(wǎng)下發(fā)給“以太網(wǎng)下載器”,然后由以太網(wǎng)下載器上的ARM芯片將接收到的bit文件寫入到自身的Flash芯片里面保存起來。

?????? ?那么怎樣才能將上位機(jī)編譯好的FPGA bit文件固化到以太網(wǎng)下載器上的Flash芯片里面呢?其實(shí)非常簡(jiǎn)單,直接右擊FPGA終端下編譯成功過的VI程序名稱,在彈出來的菜單里面選擇“Download VI To Flash Memory”,如圖5-287所示。

圖5-287:右擊FPGA終端下編譯成功過的VI程序名稱,選擇Download固化

? ? ? ? 然后上位機(jī)就會(huì)自動(dòng)將這個(gè)FPGA VI程序?qū)?yīng)編譯好的bit文件通過網(wǎng)絡(luò)傳輸給以太網(wǎng)下載器,再由以太網(wǎng)下載器上的ARM芯片將這個(gè)bit文件寫入到下載器自身的Flash芯片里面存儲(chǔ)起來。由于以太網(wǎng)下載器上的Flash芯片跟ARM之間走的是單線SPI協(xié)議,所以下載速度會(huì)比較慢,需要1分鐘左右的時(shí)間才能FPGA bit文件全部寫完。整個(gè)固化寫入過程,如圖5-288所示。

圖5-288:上位機(jī)將FPGA bit文件寫入以太網(wǎng)下載器上的Flash芯片過程

? ? ? ? 請(qǐng)大家耐心等待,其實(shí)傳統(tǒng)的IMPACT或者Vivado在寫入SPIx1模式的mcs或者bin文件時(shí),寫入也是很慢的。這就是為啥我們總是在FPGA VI程序調(diào)試OK沒有問題最終部署的時(shí)候,才會(huì)進(jìn)行程序固化的原因,因?yàn)閷懭隖lash這個(gè)動(dòng)作會(huì)比較費(fèi)時(shí)。

?????? ?接下來,需要右擊一下FPGA VI,選擇“Set FPGA Download As Startup”,將FPGA bit文件標(biāo)記成開機(jī)自啟動(dòng)模式,如圖5-289所示,也就是上位機(jī)會(huì)發(fā)送一條指令給以太網(wǎng)下載器,在Flash里面做一個(gè)開機(jī)自啟動(dòng)標(biāo)記位。

圖5-289:將FPGA VI在以太網(wǎng)下載器里面設(shè)置成“開機(jī)自啟動(dòng)”模式

? ? ? ? 當(dāng)以太網(wǎng)下載器重新上電的時(shí)候,會(huì)自動(dòng)檢測(cè)這個(gè)標(biāo)記位,如果發(fā)現(xiàn)開機(jī)自啟動(dòng)標(biāo)記位有效,以太網(wǎng)下載器上的ARM芯片就會(huì)從Flash里面把bit文件讀取出來,再通過SPI寫入到FPGA這個(gè)從設(shè)備里面運(yùn)行。這就相當(dāng)于實(shí)現(xiàn)了FPGA bit文件的開機(jī)自動(dòng)加載和運(yùn)行的功能。

?????? 反之,如果用戶不希望以太網(wǎng)下載器每次上電都去執(zhí)行上面的Flash讀取bit文件和寫入FPGA的操作,因?yàn)檫@樣會(huì)浪費(fèi)很多時(shí)間。那么可以右擊FPGA VI,選擇菜單里面的“Set FPGA Download As Startup”,取消FPGA VI的開機(jī)自啟動(dòng)功能,如圖5-290所示。本質(zhì)上,就是下發(fā)一個(gè)指令給“以太網(wǎng)下載器”,取消Flash里面的開機(jī)自啟動(dòng)標(biāo)志位。

圖5-290:取消以太網(wǎng)下載器里面的FPGA VI“開機(jī)自啟動(dòng)”模式

? ? ? ? 最后,我們還可以通過上位機(jī)發(fā)送軟件重啟指令給以太網(wǎng)下載器,讓其重新從Flash里面讀取FPGA bit文件并加載到FPGA芯片里面運(yùn)行,從而實(shí)現(xiàn)類似FPGA VI重啟的效果。這樣就不用手動(dòng)去重啟或者復(fù)位下位機(jī)設(shè)備了。方法很簡(jiǎn)單,也是直接右擊FPGA VI選擇菜單項(xiàng)“Reboot FPGA bit Run”,如圖5-291所示。

圖5-291:上位機(jī)發(fā)送重啟指令給以太網(wǎng)下載器實(shí)現(xiàn)FPGA軟件重啟

??? ? ???提醒:用過NI cRIO產(chǎn)品的用戶在開發(fā)部署Real-time應(yīng)用程序時(shí),就有單獨(dú)的rtexe開機(jī)自啟動(dòng)或者關(guān)閉自啟動(dòng)功能。上面那些以太網(wǎng)下載器實(shí)現(xiàn)的功能,我們正是參考了NI cRIO設(shè)計(jì)思路,將FPGA VI程序的上電自啟動(dòng)功能通過以太網(wǎng)下載器做到FPGA終端的菜單里面了,方便用戶操作,提高用戶體驗(yàn)。


3:歷史性突破Xilinx A7、K7、V7、ZYNQ、KU等FPGA芯片的LabVIEW在線前面板交互式運(yùn)行的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
莆田市| 基隆市| 汉寿县| 长寿区| 清原| 九龙县| 长宁县| 武冈市| 南投县| 绥芬河市| 弋阳县| 宁都县| 合川市| 乌拉特中旗| 大城县| 固镇县| 砀山县| 阳东县| 湛江市| 丰都县| 班玛县| 东乡县| 南康市| 衢州市| 青浦区| 大余县| 镇江市| 大庆市| 图们市| 腾冲县| 庐江县| 浑源县| 栾川县| 南汇区| 通榆县| 沁水县| 封丘县| 崇义县| 闽侯县| 昔阳县| 博爱县|