My FPGA PCIe客戶案例71:客戶自己開發(fā)的ARTIX7 PCIe板卡通過(guò)LabVIEW直接編程

????? ?1、準(zhǔn)備好開發(fā)環(huán)境和硬件設(shè)備
1)本節(jié)實(shí)驗(yàn)用來(lái)驗(yàn)證PCIe通信的是客戶開發(fā)的高性價(jià)比ARTIX7 PCIe開發(fā)板(代號(hào):PG7103),上面板載了一顆A7-100T-FGG484 FPGA芯片,實(shí)物如圖72-1~72-4所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ?



2)將客戶ARTIX7 FPGA開發(fā)板插到工控機(jī)機(jī)箱里面,如圖72-5所示,注意,機(jī)箱不要上電,不能帶電插!

? ? ? ?2、下位機(jī)FPGA程序開發(fā)
1)打開LabVIEW,新建一個(gè)帶PCIe的FPGA終端(ARTIX7-100T-FGG484),編寫下位機(jī)FPGA高速PCIe DMA 數(shù)據(jù)采集程序和上位機(jī)PC端控制顯示程序,完整的項(xiàng)目如圖72-6所示。封裝到LabVIEW里面的A7 PCIe DMA CLIP,如圖72-7所示。方便用戶直接調(diào)用PCIe節(jié)點(diǎn)進(jìn)行通信。


2)具體的下位機(jī)FPGA程序和上位機(jī)PC端的程序編寫過(guò)程,這里就不再介紹了,用戶可以直接參考我們給出的例程,相信只要用戶把本書前面的LabVIEW FPGA PCIe基礎(chǔ)實(shí)驗(yàn)和中級(jí)實(shí)驗(yàn)學(xué)會(huì)了,這里實(shí)戰(zhàn)的時(shí)候也是信手拈來(lái)。
?????? ?圖72-8顯示的是下位機(jī)FPGA上的程序框圖。一共3個(gè)線程搞定:模擬ADC采集線程、PCIe傳輸線程、指令參數(shù)解析線程。

? ? ? ? 圖72-9顯示的是上位機(jī)PC端的數(shù)據(jù)采集前面板,圖72-10顯示的是上位機(jī)程序框圖。上位機(jī)比較簡(jiǎn)單,直接參考前面中級(jí)實(shí)驗(yàn)里面的改改適配一下就可以了!


3)FPGA程序編寫完成后,打開獲取ARTIX7 FPGA bit文件的軟件,如圖72-11所示。

4)接下來(lái),將工控機(jī)上電,將Xilinx下載器接到電腦上,將前面編譯出來(lái)的bit文件(ARTIX7_XC7A100T_PCIe_X4_8Chs_B_ch0_ch4_Slope.bit)通過(guò)Vivado軟件下載到A7開發(fā)板里面運(yùn)行,下載過(guò)程如圖72-12所示。

? ? ? ?3、實(shí)驗(yàn)測(cè)試結(jié)果
1)PCIe不支持熱插拔,所以FPGA程序下載之后,需要右擊熱啟動(dòng)一下電腦,不能選擇關(guān)機(jī),必須是重啟電腦,這樣主板不會(huì)掉電。重啟之后,運(yùn)行上位機(jī)測(cè)試軟件,將PCIe通道0的采樣率設(shè)置為10MS/s,實(shí)際傳輸帶寬是80MB/s(U64),采集到的原始波形,如圖70-13所示。注意:由于默認(rèn)的PCIe Xillybus IP里面我們將Ch0的帶寬設(shè)置的是720MB/s,實(shí)際上自動(dòng)分配模式下,Ch0獲得的帶寬資源非常多,所以即使提高采樣率,只要總的傳輸帶寬不超過(guò)720MB/s就可以,F(xiàn)PGA開發(fā)板上的LED2和LED4不會(huì)出現(xiàn)閃爍,說(shuō)明PCIe傳輸過(guò)程中沒(méi)有丟點(diǎn),關(guān)于這個(gè)說(shuō)明我們?cè)谇懊娴闹屑?jí)實(shí)驗(yàn)里面跟大家講過(guò)了!
