My FPGA PCIe客户案例71:客户自己开发的ARTIX7 PCIe板卡通过LabVIEW直接编程

1、准备好开发环境和硬件设备
1)本节实验用来验证PCIe通信的是客户开发的高性价比ARTIX7 PCIe开发板(代号:PG7103),上面板载了一颗A7-100T-FGG484 FPGA芯片,实物如图72-1~72-4所示。




2)将客户ARTIX7 FPGA开发板插到工控机机箱里面,如图72-5所示,注意,机箱不要上电,不能带电插!

2、下位机FPGA程序开发
1)打开LabVIEW,新建一个带PCIe的FPGA终端(ARTIX7-100T-FGG484),编写下位机FPGA高速PCIe DMA 数据采集程序和上位机PC端控制显示程序,完整的项目如图72-6所示。封装到LabVIEW里面的A7 PCIe DMA CLIP,如图72-7所示。方便用户直接调用PCIe节点进行通信。


2)具体的下位机FPGA程序和上位机PC端的程序编写过程,这里就不再介绍了,用户可以直接参考我们给出的例程,相信只要用户把本书前面的LabVIEW FPGA PCIe基础实验和中级实验学会了,这里实战的时候也是信手拈来。
图72-8显示的是下位机FPGA上的程序框图。一共3个线程搞定:模拟ADC采集线程、PCIe传输线程、指令参数解析线程。

图72-9显示的是上位机PC端的数据采集前面板,图72-10显示的是上位机程序框图。上位机比较简单,直接参考前面中级实验里面的改改适配一下就可以了!


3)FPGA程序编写完成后,打开获取ARTIX7 FPGA bit文件的软件,如图72-11所示。

4)接下来,将工控机上电,将Xilinx下载器接到电脑上,将前面编译出来的bit文件(ARTIX7_XC7A100T_PCIe_X4_8Chs_B_ch0_ch4_Slope.bit)通过Vivado软件下载到A7开发板里面运行,下载过程如图72-12所示。

3、实验测试结果
1)PCIe不支持热插拔,所以FPGA程序下载之后,需要右击热启动一下电脑,不能选择关机,必须是重启电脑,这样主板不会掉电。重启之后,运行上位机测试软件,将PCIe通道0的采样率设置为10MS/s,实际传输带宽是80MB/s(U64),采集到的原始波形,如图70-13所示。注意:由于默认的PCIe Xillybus IP里面我们将Ch0的带宽设置的是720MB/s,实际上自动分配模式下,Ch0获得的带宽资源非常多,所以即使提高采样率,只要总的传输带宽不超过720MB/s就可以,FPGA开发板上的LED2和LED4不会出现闪烁,说明PCIe传输过程中没有丢点,关于这个说明我们在前面的中级实验里面跟大家讲过了!
