欢迎光临散文网 会员登陆 & 注册

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

2021-03-26 20:12 作者:神电测控  | 我要投稿

       1、准备好开发环境和硬件设备

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

                                 

图72-1:客户开发的Xilinx ARTIX7-100T-FGG484-PCIe开发板(正面)

     

图72-2:客户的Xilinx ARTIX7-100T-FGG484-PCIe开发板(支持各种不同的模块)
图72-3:客户的Xilinx ARTIX7-100T-FGG484-PCIe开发板(立体图)
图72-4:客户的Xilinx ARTIX7-100T-FGG484-PCIe开发板(接入下载器)

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

图72-5:客户的Xilinx ARTIX7-100T-FGG484-PCIe开发板(插到机箱里面)

       2、下位机FPGA程序开发

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

图72-6:带PCIe的FPGA终端项目(A7-100T-FGG484)
图72-7:封装到LabVIEW FPGA下的PCIe通信模块CLIP

2)具体的下位机FPGA程序和上位机PC端的程序编写过程,这里就不再介绍了,用户可以直接参考我们给出的例程,相信只要用户把本书前面的LabVIEW FPGA PCIe基础实验和中级实验学会了,这里实战的时候也是信手拈来。

        图72-8显示的是下位机FPGA上的程序框图。一共3个线程搞定:模拟ADC采集线程、PCIe传输线程、指令参数解析线程。

图72-8:下位机FPGA+PCIe+DMA+ADC模拟高速采集程序框图

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

图72-9:上位机PCIe DMA通信采集前面板
图72-10:上位机PCIe DMA通信程序框图

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

图72-11:运行获取ARTIX7 FPGA bit文件

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

图72-12:利用Vivado软件将bit文件烧写到ARTIX7 FPGA里面运行

       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传输过程中没有丢点,关于这个说明我们在前面的中级实验里面跟大家讲过了!

图72-13:开启波形显示,设置合适的采样率(不能超过Ch0设置的最大传输带宽)


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

分享到微博请遵守国家法律