国产多功能高速数字化仪PXIe-7964R FPGA板卡(250M/16bit:4AI+2AO)兼容LabVIEW FPGA软件开发
1、二合一,同时支持PXIe总线、Ethernet千兆以太网总线通信的高速数字化仪PXIe-7964R系列FPGA RIO板卡诞生了,后发优势,覆盖NI-57xx等FlexRIO系列FPGA板卡,兼容LabVIEW My FPGA开发环境。
2、通信接口:PXIe总线带宽实测:720MB/s;Ethernet千兆以太网实测带宽:96MB/s。
3、新增特性:相比上一代产品,新款PXIe-7964R我们特地新增同时支持“连续采集”和指定点数或者指定时间的“可重触发采集”模式的LabVIEW FPGA上\下位机VI案例程序,方便多个子系统同步控制领域使用。
4、指标:4通道16位同步并行AI(250MS/s采样率)、2通道16位同步并行AO(250MS/s更新率)、8路双向高速DIO、8路LED灯、PXIe接口、Ethernet千兆以太网接口。
5、超大FPGA加持:K7-325T/410T(两种容量,自由选择),远超传统DAQ卡;更重要的是:用户可以使用图形化LabVIEW在FPGA里面自由翱翔,实现各种采集、模型、算法、测试、锁相、3C、PID等闭环应用。
6、PXIe-7964R数字化仪板卡适合常规ns量级的自动化、HIL硬件在环、高密度数采等测控类项目和仪器开发。
更多详细内容也可以观看视频演示,B站视频链接如下:https://b23.tv/kI9gEfW
图1:神电测控PXIe+Ethernet二合一版本PXIe-7964R板卡实物图(正面)
图2:神电测控PXIe+Ethernet二合一版本PXIe-7964R板卡实物图(AI/AO/CLK SMA接口)
图3:神电测控PXIe+Ethernet二合一版本PXIe-7964R板卡实物图(通信口)
图4:神电测控PXIe+Ethernet二合一版本PXIe-7964R板卡实物图(极致散热)
图5:神电测控PXIe+Ethernet二合一版本PXIe-7964R板卡实物图(风冷)
1、指标与性能参数简介
1)模拟电压输入AI
ADC采集通道数:4
分辨率:16bit
采样率:250MS/s
模拟输入带宽:500kHz-500MHz
最大模拟输入量程:±2Vpp(AC交流耦合)
ADC输入前端:射频变压器
输入端口阻抗:50Ω
2)模拟电压输出AO
DAC输出通道数:2
分辨率:16bit
更新率:250MS/s
输出量程:±1Vpp
模拟输出带宽:500kHz-500MHz(板载500M低通滤波器)
DAC输出前端:射频变压器交流耦合(最高输出幅度约-4dBm@50MHz)
输出端口阻抗:50Ω
最高采样更新速率:1.2GHz(I、Q:2CH)
最高数据输入速率:600MHz(基带速率,可*1、*2、*4、*8 插值
3)双向高速数字IO(DIO)
DIO通道数:8路
DIO读写速率:200MHz
DIO访问:直接FPGA读写,可接入CLK、编码器、转速计、扭矩等脉冲信号,也 可以产生高速同步、PWM等脉冲信号。
4)8路用户LED指示灯,挂在FPGA上,支持用户自己使用LabVIEW直接编程控制
5)2路用户按键KEY,挂在FPGA上,支持用户自己使用LabVIEW直接编程控制
6)板卡主控芯片
FPGA型号:Xilinx Kintex7-325T/410T-2FFG900I工业级(可替换成国产FPGA)
板载DDR3容量:2GB 64BIT
板载Flash芯片型号:s25fl256sx0000x0-spi-x1_x2_x4
通信接口:PXIe2.0x8、Ethernet千兆以太网
2、板卡供电
直流电压:12V(支持单独供电或者PXIe直接供电)
静态电流: 0.8A
3、PXIe-7964R板卡接口布局位置示意图
图6:神电测控PXIe+Ethernet二合一版本PXIe-7964R板卡接口示意图
4、CLK外部时钟/模拟电压输入AI/模拟电压输出AO接口
接线方式:CLK/AD/DA均通过SMA母头引出。
图7:PXIe-7964R板卡上AI/AO/CLK接口
5、LVTTL数字信号DIO接线端子说明
图8:PXIe-7964R板卡顶部预留的8路DIO排针位置(2.54mm间距)
图9:PXIe-7964R板卡顶部预留的8路DIO信号关联的FPGA引脚定义
DIO数字端口一共引出8个双向单端I/O接口;为了方便用户使用,我们将这些DIO信号对应的FPGA引脚全部拖到了LabVIEW FPGA环境下,非常直观,如图10所示,用户只需要会一点LabVIEW基础知识就可以在FPGA里面编程操作这些DIO信号了。
图10:PXIe-7964R板卡上的DIO数字信号所在FPGA终端下的EIO节点(一目了然)
6、用户LED灯控制(共阳模式,低电平点亮)
8路用户LED对应的FPGA引脚对应LabVIEW FPGA环境下的EIO节点,如图11所示。
图11:PXIe-7964R板卡8路用户LED引脚位于FPGA终端下的EIO节点
7、PXIe-7964R Demo硬件测试接线实物图
图12:新款二合一PXIe-7964R板卡通过Ethernet千兆以太网接口与笔记本通信
图13:新款二合一PXIe-7964R板卡插到PXIe机箱里面进行测试
图14:新款二合一PXIe-7964R板卡通过PXIe接口与主机通信(笔记本可以通过TypeC雷电口扩展出来PXIe总线接口)
图15:二合一PXIe-7964R板卡Demo实验接线实物图(信号发生器和示波器)
8、PXIe-7964R软件开发过程演示
推荐,将神电FPGA板卡当成NI FPGA R系列板卡自主开发,充分发挥FPGA的优势
提醒:关于LabVIEW如何开发任意第三方下位机FPGA芯片程序及其原理和开发过程,可以参考神电测控编写的《LabVIEW FPGA开发宝典》
a)首先,启动打开LabVIEW软件,如图16所示;然后新建一个空白的LabVIEW项目,如图17所示。
图16:启动LabVIEW软件
图17:新建一个空白的LabVIEW项目
b)右击LabVIEW项目下的“我的电脑”,选择新建“终端和设备”,如图18所示。
图18:右击新建“终端和设备”
c)在弹出来的FPGA终端列表中找到K7家族,展开之后,找到里面PXIe版本的“KINTEX7_XC7K325T_2FFG900_PXIe_PG_7964R”这个终端设备,如图19所示。
图19:在设备列表中找到神电测控研发的新款二合一PXIe版本的PXIe-7964R这块板卡
d)然后展开FPGA终端,可以看到里面同时存在PXIe总线和Ethernet千兆以太网总线接口对应的CLIP传输通道,用户只需要通过LabVIEW直接访问这些通道就可以实现上下位机PXIe或者Ethernet以太网高速交互、数据传输和通信了,如图20所示。
图20:PXIe-7964R我们提前封装好了PXIe和Ethernet以太网传输通道
e)同时,里面还有1个名为PG_7964RData的CLIP节点,展开可以看到,里面就是4通道250M的AI通道和2个通道250M的AO通道以及1个250M同步采样时钟信号,如图21所示。
图21:PXIe-7964R我们提前封装好了4个模拟输入AI通道和2个模拟输出AO通道
f)为了方便初学者入门,这里我们给大家提供了一套针对新款二合一PXIe-7964R这块板卡出厂的LabVIEW FPGA Demo范例程序,支持连续采集和可重触发采集两种模式,如图22所示。另外,我们提前将用户LED灯、按键、双向数字DIO等引脚对应的EIO节点和相关的FIFO、Memory放到这个例程里面,供大家参考。
图22:神电测控PXIe-7964R板卡出厂配套的LabVIEW FPGA Demo范例程序
g)下面,我们简单验证一下Demo里面的AI采集和AO输出功能(连续采集和可重触发采集)。
先验证PXIe-7964R模拟电压采集功能,由于我们的信号发生器产生的信号属于单端信号,找一根BNC转SMA线缆,将信号发生器接到我们板卡的AI1通道里面,如图23所示。
图23:将信号发生器输出信号接到PXIe-7964R的AI1通道
1)验证通过Ethernet千兆以太网总线接口实现上\下位机板卡之间的AI连续与可重触发采集
打开下位机FPGA终端里面的“实验63-16位4通道ADC高速采集-250M-ADS42LB69-Ethernet-可重触发.vi”这个VI,如图24所示,对应的程序框图,如图25所示;直接点击左上角的运行箭头即可启动编译,然后会自动下载到板卡的FPGA芯片里面运行,同时FPGA VI会进入在线前面板运行模式。
图24:打开下位机FPGA终端里面的实验63
(基于Ethernet千兆以太网接口的AI采集FPGA程序前面板)
图25:打开下位机FPGA终端里面的实验63
(基于Ethernet千兆以太网接口的AI采集FPGA程序框图)
然后,打开运行“我的电脑”下面的“实验63-4通道16位DAC采集-ADS42LB69-250M-UDP-上位机.vi”上位机程序,如图26所示。
图26:打开LabVIEW项目里面“我的电脑”下的上位机实验63
(通过Ethernet千兆以太网上传FPGA采集的模拟电压信号)上位机程序
下面,验证一下“连续采集”方式。
将前面板上的“分频系数(4ns)”设置为50,再按下点亮前面板的“开始/停止采集”和“采集方式(连续/触发)”这两个按钮,将信号发生器输出的sine信号频率设置为100KHz,幅度设置为±1Vpp,如图27所示;然后点击前面板上的“Send”发送按钮,将开始采集指令和参数下发给FPGA板卡(PXIe-7964R),此时,可以看到上位机前面板左上角第一个波形图里面出现了正弦波,如图28所示;这是因为,我们在AI1通道上接入了一个单端Sine信号,该信号频率为100KHz,峰峰值为±1V;将这个波形放大之后,可以看到里面每个周期的量化点数正好是50个点,因为PXIe-7964R模拟电压最大采样率是250MS/s(分频系数为50,250MHz进行分频得到5MS/s=250MHz/50),除以100KHz,正好就是50个点。由于ADC分辨率是有符号16位,也就是I16。
另外,由于我们4个通道同时按照5MS/s并行采集,每个通道上传的时候用的I16类型,所以一共就是4×2Bytes×5MS/s=40MB/s,此时,打开任务管理器里面的网卡性能展示框,可以看到上行吞吐率差不多在336Mbps上下,如图29所示,与预期相符。
图27:将信号发生器产生的sine信号频率设置为100KHz,幅度设置为±1Vpp
图28:上位机前面板上实时显示出来PXIe-7964R板卡当前采集的原始电压波形信号
(通过Ethernet千兆以太网总线连续采集传输)
图29:上位机前面板上实时显示出来PXIe-7964R板卡当前采集的原始电压波形信号
(通过Ethernet千兆以太网总线连续采集传输)
接着,验证一下“指定点数的可重触发采集”方式。
先熄灭上位机前面板上的“采集方式(连续/触发)”按钮,在“可重触发点数”输入控件里面填写需要触发采集的点数(比如这里,我们填写50000),再把“分频系数”改成1,也就是以最快250MS/s采样率进行采集,将外部信号发生器产生的信号频率设置为1MHz,如图30所示;然后点击前面板上的“Send”发送按钮,将开始采集指令和参数下发给FPGA板卡(PXIe-7964R),此时,可以看到上位机读到了下位机FPGA采集上传的数据;将这个波形放大之后,可以看到里面每个周期的量化点数正好是250个点,因为PXIe-7964R模拟电压最大采样率是250MS/s(分频系数为1),除以1MHz,正好就是250个点。
实际应用中,大家可以直接将外面实际的触发脉冲信号通过DIO接口接入进来替换掉原先内部的软件可重触发,然后将FPGA VI程序重新编译下载一下即可。
上位机每点击一下“Send”发送查询按钮,左上角第一个波形图里面就会更新正弦波信号,如图31所示。
图30:将信号发生器产生的sine信号频率设置为1MHz,幅度设置为±1Vpp
图31:上位机前面板上显示出来PXIe-7964R板卡当前采集的原始电压波形信号
(通过Ethernet千兆以太网总线可重触发采集传输)
2)验证通过PXIe总线接口实现上\下位机板卡之间的AI连续与可重触发采集
打开下位机FPGA终端里面的“实验61-16位4通道ADC高速采集-250M-ADS42LB69-PXIe-可重触发.vi”这个VI,如图32所示,对应的程序框图,如图33所示;直接点击左上角的运行箭头即可启动编译,然后会自动下载到板卡的FPGA芯片里面运行,同时FPGA VI会进入在线前面板运行模式。
图32:打开下位机FPGA终端里面的实验61
(基于PXIe接口的AI采集FPGA程序前面板)
图33:打开下位机FPGA终端里面的实验61
(基于PXIe接口的AI采集FPGA程序框图)
然后,打开运行“我的电脑”下面的“实验61-PCIe-16位4通道模拟电压采集-4CHs-连续+可重触发-PC-上位机.vi”上位机程序,如图34所示。
图34:打开LabVIEW项目里面“我的电脑”下的上位机实验61
(通过PXIe上传FPGA采集的模拟电压信号)上位机程序
下面,验证一下“连续采集”方式。
先将接在AI1通道上的Sine信号频率设置500KHz,峰峰值为±2V,如图35所示;再将前面板上的“分频系数”设置为10,再按下点亮前面板的“开始/停止采集”和“采集方式(连续/触发)”按钮,然后点击前面板上的“Send”发送按钮,将开始采集指令和参数下发给FPGA板卡(PXIe-7964R),此时,可以看到上位机前面板左上角第一个波形图里面出现了正弦波,如图36所示;将这个波形放大之后,可以看到里面每个周期的量化点数正好是50个点,因为PXIe-7964R模拟电压采样率是25MS/s(分频系数为10,250MHz进行分频得到25MS/s=250MHz/10),除以500KHz,正好就是50个点。由于ADC分辨率是有符号16位,也就是I16。另外我们4个通道同时按照25MS/s并行采集,每个通道上传的时候用的I16类型,所以一共就是4×2Bytes×25MS/s=200MB/s,这个对于PXIe总线来说,小case。
图35:将信号发生器产生的sine信号频率设置为500KHz,幅度设置为±2Vpp
图36:上位机前面板上实时显示出来PXIe-7964R板卡当前采集的原始电压波形信号
(通过PXIe总线连续采集传输)
接着,验证一下“指定点数的可重触发采集”方式。
将上位机VI前面板上的“分频系数”改成1,也就是以最快250MS/s采样率进行采集,再熄灭前面板上的“采集方式(连续/触发)”按钮,在“可重触发点数”输入控件里面填写需要触发采集的点数(比如,这里我们输入50000),再把外部信号发生器的sine信号频率设置成5MHz,如图37所示;然后点击前面板上的“Send”发送按钮,将开始采集指令和参数下发给FPGA板卡(PXIe-7964R),可以看到上位机前面板上波形图里面出现了采集到的信号,每点击一下“Send”发送查询按钮,左上角第一个波形图里面都会更新当前采集到的正弦波信号,如图38所示。将波形放大之后,可以看到每个周期量化点数是50个点,这是因为用250MS/s采样率去采集一个5MHz频率的周期信号,一个周期正好就是50个点。
实际应用中,大家可以直接将外面实际的触发脉冲信号通过DIO接口接进来替换掉FPGA VI内部的软件可重触发,然后将FPGA VI程序重新编译下载一下即可。
图37:将信号发生器产生的sine信号频率设置为5MHz,幅度设置为±2Vpp
图38:上位机前面板上实时显示出来PXIe-7964R板卡当前采集的原始电压波形信号
(通过PXIe总线可重触发采集传输)
h)最后,验证一下PXIe-7964R的AO模拟电压输出功能
找2根SMA转BNC线缆,分别将SMA接到FPGA板卡的AO1和AO2通道中,BNC接到示波器上,如图39所示。
图39:将PXIe-7964R板卡的模拟电压输出通道AO1和AO2分别接到示波器上
打开下位机FPGA终端里面的“实验62-2通道16位双通道任意波形发生器-250M-AWG-FPGA.vi”这个FPGA VI,如图40所示,对应的FPGAVI程序框图,如图41所示;直接点击左上角的运行箭头即可启动编译,然后会自动下载到板卡的FPGA芯片里面运行,同时FPGA VI会自动进入在线前面板运行模式。
图40:打开下位机FPGA终端里面的实验62(FPGA模拟电压输出前面板)
图41:打开下位机FPGA终端里面的实验62(模拟电压输出FPGA VI程序框图)
然后,打开运行“我的电脑”下面的“实验62-PXIe-4通道16位同步并行AO输出-PC-上位机.vi”上位机程序,如图42所示;设置好任意波形参数之后,点击前面板上的“发送参数和指令”按钮,将上位机的AWG波形数据下发给FPGA板卡(PXIe-7964R),如图43所示,此时,示波器上出现了一个频率为500KHz、峰峰值为±1V的Sine正弦信号和锯齿波信号,如图44所示;这是因为,上位机生成的正弦信号和锯齿波信号点数是500,PXIe-7964R板卡的AO更新率是250MS/s,所以250M/500正好就是500KHz。
图42:打开LabVIEW项目下的实验62(模拟电压输出)上位机程序
图43:将上位机AWG任意波形数据下发给FPGA板卡(PXIe-7964R)
图44:示波器上实际观察到PXIe-7964R生成的Sine信号频率为500KHz,1V峰峰值
9、PXIe-7964R板卡下位机FPGA VI程序固化
图45:右击项目里面需要固化到FPGA板卡里面的FPGA VI选择“Download”
图46:在弹出来的固化对话框页面中选择“s25fl256sxxxxxx0-spi-x1-x2-x4”这款Flash芯片
图47:固化过程中不要操作电脑,此时FPGA VI正在往Flash芯片里面烧录
图48:FPGA VI烧录固化成功后的提示框
