国产新型三合一PCIe+USB3.0+Ethernet多功能PG-785xR-786xR FPGA RIO板卡

2025-02-11

神电测控:新品发布

国产新型三合一PCIe+USB3.0+Ethernet多功能PG-785xR-786xR

FPGA RIO板卡

1、三合一,同时支持PCIe总线、USB3.0总线、Ethernet千兆以太网总线通信的PG-785x-786x R系列FPGA板卡诞生了,后发优势,覆盖NI-7856/7857/7858等R系列FPGA板卡,兼容LabVIEW My FPGA开发环境。

2、通信接口:PCIe总线带宽实测:720MB/s;USB3.0总线实测带宽:320MB/s;Ethernet千兆以太网实测带宽:96MB/s。

3、新增特性:相比上一代产品,新款PG-785xR我们特地新增同时支持“连续采集”和指定点数或者指定时间的“可重触发采集”模式的LabVIEW FPGA上下位机VI案例程序,方便多个子系统同步控制领域使用。

4、指标:18位16通道同步并行AI(1MS/s采样率)、16位16通道同步并行AO(1MS/s更新率)、37路双向高速DIO、8路LED灯、PCIe接口、USB3.0接口、Ethernet、真差分、量程自由切换。

5、超大FPGA加持:K7-325T,远超传统DAQ卡;更重要的是:用户可以使用图形化LabVIEW在FPGA里面自由翱翔,实现各种采集、模型、算法、测试、锁相、3C、PID等闭环应用。

6、相比于之前发布的4通道250MS/sAI和2通道250MS/s AO板卡来说,PG-785xR更适合常规us量级的自动化、HIL硬件在环、高密度数采等测控类项目和仪器开发。

7、价格亲民,彻底摆脱NI FPGA RIO板卡高昂成本造成的困局、释放大家的开发潜能,大胆放心用。

图1:神电测控PCIe+USB3.0+Ethernet三合一版本PG-785xR板卡实物图(正面)

图2(a):神电测控PCIe+USB3.0+Ethernet三合一版本PG-785xR板卡实物图(通信口)

图2(b):神电测控PCIe+USB3.0+Ethernet三合一版本PG-785xR板卡实物图(AI/AO/DIO接口)

1、性能简介

   1)模拟电压输入AI

      ADC采集通道数:16

      分辨率:18 bit

      采样率:1MS/s

      输入量程3种模式支持动态任意切换(总共12个档位):

l   单端双极性模式(5种):±2.5V/±5V/±6.25V/±10V/±12.5V

l   单端单极性模式(3种):0~5V/0~10V/0~12.5V

l   差分双极性模式(4种):±5V/±10V/±12.5V/±20V

      底噪:Vpp:800uV Vrms:120uV

      零点误差:1mV

      线性误差:千分之5

      接线:单端/真差分

   2)模拟电压输出AO

      DAC输出通道数:16

      分辨率:16bit

      更新率:1MS/s

      输出量程:±10V/±5V

   3)双向高速数字IO(DIO)

      DIO通道数:37路

      DIO读写速率:200MHz

      DIO访问:直接FPGA读写,可接入CLK、编码器、转速计、扭矩等脉冲信号,也可以产生高速同步、PWM等脉冲信号。

   4)8路用户LED指示灯,挂在FPGA上,支持用户自己使用LabVIEW直接编程控制

   5)3路用户按键KEY,挂在FPGA上,支持用户自己使用LabVIEW直接编程控制

   6)板卡主控芯片

      FPGA型号:Xilinx Kintex7-325T-2FFG900I工业级(可替换成国产FPGA)

      板载DDR3容量:2GB 64BIT

      板载Flash芯片型号:N25Q128A13 SPIx4

      通信接口:PCIe2.0x8、USB3.0、Ethernet千兆以太网

   7)板卡供电

      直流电压:12V(支持单独供电或者PCIe直接供电)

      静态电流: 0.7A

2、接口简介

图3:神电测控PCIe+USB3.0+Ethernet三合一版本PG-785xR板卡接口示意图



   1)模拟电压输入AI/模拟电压输出AO接口

      接线方式:AD/DA通过VHDCI扩展线接出(赠送SCB-68-68线缆和接线盒)。

      注意:AI/AO 均为真差分方式。


   2)模拟电压ADC输入等效结构如下:

      对于差分信号:需要接入AIN+ AIN-GND(GND可以不接)

      对于单端信号:需要接入AIN+ GND(同时AIN-需要跟GND短接

图4:模拟电压输入AI差分等效结构

   3)模拟电压DAC输出等效结构:

      对于单端输出应用:接 DAC+   GND(DAC-悬空)。

      对于差分输出应用:则接DAC+ DAC-(GND可不接)。

图5:模拟电压输出AO差分等效结构



3、模拟信号接线盒端子信号说明

图6:配套的模拟信号接线盒实物图



1:接线盒信号引脚定义说明

模拟电压输出通道

DAC+标号

DAC-标号


模拟电压输入通道

AIN+

AIN-

序号

DAC0

34

33


ADC0

2

1

GND

17

DAC1

32

31


ADC1

36

35

GND

18

DAC2

30

29


ADC2

4

3

GND

51

DAC3

28

27


ADC3

38

37

GND

52

DAC4

26

25


ADC4

6

5



DAC5

24

23


ADC5

40

39



DAC6

22

21


ADC6

8

7



DAC7

20

19


ADC7

42

41



DAC8

68

67


ADC8

10

9



DAC9

66

65


ADC9

44

43



DAC10

64

63


ADC10

12

11



DAC11

62

61


ADC11

46

45



DAC12

60

59


ADC12

14

13



DAC13

58

57


ADC13

48

47



DAC14

56

55


ADC14

16

15



DAC15

54

53


ADC15

50

49



4、数字信号DIO接线端子说明

图7:PG-785xR板卡上的DIO信号(SCSI接口)

 图8:PG-785xR板卡推荐的DIO数字信号线缆和接线盒

图9:PG-785xR板卡上的DIO数字信号引脚定义
(左侧为SCSI接口里面的24路DIO、右侧为顶部预留的13路DIO)


    SCSI端口一共引出12V、GND与24个单端I/O,加上上方13个DIO,一共37路双向DIO接口;为了方便用户使用,我们将这些DIO信号对应的FPGA引脚全部拖到了LabVIEW FPGA环境下,非常直观,如图10所示,用户只需要会一点LabVIEW基础知识就可以在FPGA里面编程操作这些DIO信号了。

图10:PG-785xR板卡上的DIO数字信号所在FPGA终端下的EIO节点(一目了然)

5.1、模拟电压输入AI量程控制

      AI输入量程3种模式支持动态任意切换(总共12个档位):

l   单端双极性模式(5种):±2.5V/±5V/±6.25V/±10V/±12.5V

l   单端单极性模式(3种):0~5V/0~10V/0~12.5V

l   差分双极性模式(4种):±5V/±10V/±12.5V/±20V

图11:三合一版本PG-785xR板卡模拟电压采集量程范围支持单端和差分


5.2、模拟电压输出AO量程控制

   拉高DAC_Range_Select,则模拟电压输出量程为±5Vpp

   拉低DAC_Range_Select,则模拟电压输出量程为±10Vpp

   控制DAC量程的IO引脚,可以将其拖拽到PG-785xR对应的FPGA终端下面,如图12所示。

图12:PG-785xR板卡AO输出量程控制引脚位于FPGA终端下的EIO节点

6、用户LED灯控制(共阳模式,低电平点亮)

    8路用户LED对应的FPGA引脚对应LabVIEW FPGA环境下的EIO节点,如图13所示。

图13:PG-785xR板卡用户LED引脚位于FPGA终端下的EIO节点

7、PG-785xR Demo硬件测试接线实物图

 图14(a):新款三合一PG-785xR板卡通过USB3.0接口与笔记本通信



图14(b):新款三合一PG-785xR板卡通过Ethernet千兆以太网接口与笔记本通信





图14(c):新款三合一PG-785xR板卡通过PCIe接口与笔记本通信




图15:三合一PG-785xR板卡Demo实验接线实物图(信号发生器和示波器)

8、PG-785xR软件开发简介

   1)模式1(不推荐)

   直接将785xR当成传统意义上的数据采集卡DAQ,我们提供配套的Windows、Linux驱动,WindowsQT、C++语言和LabVIEW上位机开发例程,如图16所示。  图16:PG-785xR板卡配套的上位机开发例程(模式1-不推荐)

   2)模式2推荐,当成类似NI FPGA R系列板卡自主开发,充分发挥FPGA的优势

   提醒:关于LabVIEW如何开发任意第三方下位机FPGA芯片程序及其原理和开发过程,可以参考神电测控编写的《LabVIEW FPGA开发宝典》

   a)首先,启动打开LabVIEW软件,如图17所示;然后新建一个空白的LabVIEW项目,如图18所示。

图17:启动LabVIEW软件

图18:新建一个空白的LabVIEW项目

   b)右击LabVIEW项目下的“我的电脑”,选择新建“终端和设备”,如图19所示。

图19:右击新建“终端和设备”

   c)在弹出来的FPGA终端列表中找到K7家族,展开之后,找到里面的“KINTEX7_XC7K325T_2FFG900_PCIe_PG_785xR”这个终端设备,如图20所示。

图20:在设备列表中找到神电测控研发的新款三合一PG-785xR这块板卡

   d)然后展开FPGA终端,可以看到里面同时存在PCIe总线、USB3.0总线和Ethernet千兆以太网总线接口对应的CLIP传输通道,用户只需要通过LabVIEW直接访问这些通道就可以实现上下位机PCIe、USB3.0和Ethernet以太网高速交互、数据传输和通信了,如图21所示。

图21:PG-785xR我们提前封装好了PCIe、USB3.0和Ethernet以太网传输通道

   e)同时,里面还有2个名为PG785x_ADCData和PG785x_DAC Data的CLIP节点,展开可以看到,里面就是16通道的AI和16个通道的AO,如图22所示。

图22(a):PG-785xR我们提前封装好了16个模拟输入AI通道

图22(b):PG-785xR我们提前封装好了16个模拟输出AO通道

   f)为了方便初学者入门,这里我们给大家提供了一个针对新款三合一PG-785xR这块板卡出厂的LabVIEW FPGA Demo范例程序,支持连续采集和可重触发采集两种模式,如图23所示。另外,我们提前将用户LED灯、量程控制IO、双向数字DIO等引脚对应的EIO节点和相关的FIFO、Memory放到这个例程里面,供大家参考。

图23:神电测控PG-785xR板卡出厂配套的LabVIEW FPGA Demo范例程序

    g)下面,我们简单验证一下Demo里面的AI采集和AO输出功能(连续采集和可重触发采集)。

    先验证PG-785xR模拟电压采集功能,由于我们的信号发生器产生的信号属于单端信号,所以按照前面的端子接线说明,应该将信号发生器的正极接到模拟接线盒端子的AI+(比如ADC0正极对应的标识是2),负极接到AI-上(比如ADC0负极对应的标识是1),然后将AI-与接线盒的GND(标识是17)短接,如图24所示。如果用户测量的是类似电池这样的被测对象,那么就需要按照差分方式接入,因为电池两端是没有参考地的,二者之间的电压差可以看成是真正意义上的差分信号,那么对于电池这类原始信号GND是不需要短接的

图24:将信号发生器输出的单端信号接到PG-785xR配套的模拟接线盒上(AI0通道)

    1)验证通过USB3.0总线接口实现上下位机板卡之间的AI连续与可重触发采集

打开下位机FPGA终端里面的“实验6.2-16通道AD+DA-同步并行-1M-Continue+Triggered-FPGA+USB3.0.vi”这个VI,如图25所示,对应的程序框图,如图26所示;直接点击左上角的运行箭头即可启动编译,然后会自动下载到板卡的FPGA芯片里面运行,同时FPGA VI会进入在线前面板运行模式。

图25:打开下位机FPGA终端里面的实验6.2
(基于USB3.0接口的AI采集FPGA程序前面板)

图26:打开下位机FPGA终端里面的实验6.2
(基于USB3.0接口的AI采集FPGA程序框图)

    然后,打开运行“我的电脑”下面的“实验6.2-16通道ADC+DAC并行同步-真差分+连续+可重触发+USB3.0-PC.vi”上位机程序,如图27所示;根据外部被测信号极性和最大幅值选择合适的量程(785x_ADC_Range_Set)、采样率(分频系数(1uS))、单次读取点数(上位机每次读取的点数)等参数。

下面,验证一下“连续采集”方式。

先按下点亮前面板的“连续采集/可重触发采集”按钮,然后点击前面板上的“Send”发送开始采集指令和参数给FPGA板卡(PG-785xR),此时,可以看到上位机前面板左上角第一个波形图里面出现了正弦波,如图28所示;这是因为,我们在接线盒对应的AI0通道上接入了一个单端Sine信号,该信号频率为10KHz,峰峰值为±5V,如图29所示;将这个波形放大之后,可以看到里面每个周期的量化点数正好是100个点,因为PG-785xR模拟电压最大采样率是1MS/s(默认分频系数为199,200MHz进行分频得到1MS/s=200MHz/(199+1)),除以10KHz,正好就是100个点。由于ADC分辨率是有符号18位,也就是I18。另外前面板上的“采样率(Byte/S)”显示控件里面显示的数据吞吐率在64MB/s波动,因为我们16个通道同时按照1MS/s并行采集,每个通道上传的时候用的U32类型,所以一共就是16×4Bytes×1MS/s=64MB/s。

图27:打开LabVIEW项目里面“我的电脑”下的上位机实验2.6
(通过USB3.0上传FPGA采集的模拟电压信号)上位机程序

图28:上位机前面板上实时显示出来PG-785xR板卡当前采集的原始电压波形信号
(通过USB3.0总线连续采集传输)

 图29:因为信号发生器实际产生的正弦信号频率是10KHz(单端信号)

接着,验证一下“指定点数的可重触发采集”方式。

先熄灭前面板的“连续采集/可重触发采集”按钮,在“可重触发点数”输入控件里面填写需要触发采集的点数,按下点亮右侧的“触发模式读取”按钮,然后点击前面板上的“Send”发送开始采集指令和参数给FPGA板卡(PG-785xR),此时,可以看到上位机前面板“循环间隔s”显示控件里面的时间间隔差不多是1s说明,说明读取超时了,同时前面板上的“ReadPipe”显示控件出现了“FT_TIMEOUT”,说明上位机没有读到下位机FPGA采集的数据,此时,我们可以按压一下FPGA板卡上的KEY1按键,因为我们在下位机FPGA VI程序里面通过这个按键来模拟外部触发脉冲,实际应用中,大家可以直接将外面实际的触发脉冲信号通过SCSI DIO接口接进来即可,然后将FPGA VI程序里面的按键引脚改成实际接的DIO引脚,再重新编译下载一下即可。

每按压一次KEY1按键,左上角第一个波形图里面出现了正弦波,如果大家将所有分段读取的波形数据进行前后拼接的话,应该就是指定采集的点数,如图30所示。

图30:上位机前面板上实时显示出来PG-785xR板卡当前采集的原始电压波形信号
(通过USB3.0总线可重触发采集传输)

    2)验证通过Ethernet千兆以太网总线接口实现上下位机板卡之间的AI连续与可重触发采集

打开下位机FPGA终端里面的“实验6.3-16通道AD+DA-同步并行-1M-Continue+Triggered-FPGA+Ethernet.vi”这个VI,如图31所示,对应的程序框图,如图32所示;直接点击左上角的运行箭头即可启动编译,然后会自动下载到板卡的FPGA芯片里面运行,同时FPGA VI会进入在线前面板运行模式。

图31:打开下位机FPGA终端里面的实验6.3
(基于Ethernet千兆以太网接口的AI采集FPGA程序前面板)

图32:打开下位机FPGA终端里面的实验6.3
(基于Ethernet千兆以太网接口的AI采集FPGA程序框图)

    然后,打开运行“我的电脑”下面的“实验6.3-16通道ADC+DAC并行同步-真差分+连续+可重触发+千兆以太网UDP-PC.vi”上位机程序,如图33所示;根据外部被测信号极性和最大幅值选择合适的量程(785x_ADC_Range_Set)、采样率(分频系数(1uS))、单次读取点数(UDP数据包长度(≤1500))等参数。

下面,验证一下“连续采集”方式。

先按下点亮前面板的“连续采集/可重触发采集”按钮,然后点击前面板上的“Send”发送开始采集指令和参数给FPGA板卡(PG-785xR),此时,可以看到上位机前面板左上角第一个波形图里面出现了正弦波,如图34所示;这是因为,我们在接线盒对应的AI0通道上接入了一个单端Sine信号,该信号频率为10KHz,峰峰值为±5V;将这个波形放大之后,可以看到里面每个周期的量化点数正好是100个点,因为PG-785xR模拟电压最大采样率是1MS/s(默认分频系数为199,200MHz进行分频得到1MS/s=200MHz/(199+1)),除以10KHz,正好就是100个点。由于ADC分辨率是有符号18位,也就是I18。

另外,由于我们16个通道同时按照1MS/s并行采集,每个通道上传的时候用的U32类型,所以一共就是16×4Bytes×1MS/s=64MB/s,此时,打开任务管理器里面的网卡性能展示框,可以看到上行吞吐率差不多在532Mbps波动,与预期相符。

图33:打开LabVIEW项目里面“我的电脑”下的上位机实验6.3
(通过Ethernet千兆以太网上传FPGA采集的模拟电压信号)上位机程序

图34:上位机前面板上实时显示出来PG-785xR板卡当前采集的原始电压波形信号
(通过Ethernet千兆以太网总线连续采集传输)

接着,验证一下“指定点数的可重触发采集”方式。

先熄灭前面板的“连续采集/可重触发采集”按钮,在“可重触发点数”输入控件里面填写需要触发采集的点数,然后点击前面板上的“Send”发送开始采集指令和参数给FPGA板卡(PG-785xR),可以看到上位机没有读到下位机FPGA采集的数据;此时,用户可以按压一下FPGA板卡上的KEY1按键,因为我们在下位机FPGA VI程序里面通过这个按键来模拟外部触发脉冲,实际应用中,大家可以直接将外面实际的触发脉冲信号通过SCSI DIO接口接进来即可,然后将FPGA VI程序里面的按键引脚改成实际接的DIO引脚,再重新编译下载一下即可。

每按压一次KEY1按键,左上角第一个波形图里面出现了正弦波,如果大家将所有分段读取的波形数据进行前后拼接的话,应该就是指定采集的点数,如图35所示。

图35:上位机前面板上实时显示出来PG-785xR板卡当前采集的原始电压波形信号
(通过Ethernet千兆以太网总线可重触发采集传输)

    3)验证通过PCIe总线接口实现上下位机板卡之间的AI连续与可重触发采集

打开下位机FPGA终端里面的“实验6.1-16通道AD+DA-同步并行-1M-Continue+Triggered-FPGA+PCIe-PXIe.vi”这个VI,如图36所示,对应的程序框图,如图37所示;直接点击左上角的运行箭头即可启动编译,然后会自动下载到板卡的FPGA芯片里面运行,同时FPGA VI会进入在线前面板运行模式。

图36:打开下位机FPGA终端里面的实验6.1
(基于PCIe接口的AI采集FPGA程序前面板)

图37:打开下位机FPGA终端里面的实验6.1
(基于PCIe接口的AI采集FPGA程序框图)

    然后,打开运行“我的电脑”下面的“实验6.1-16通道ADC+DAC并行同步-真差分+连续+可重触发+PCIe-PXIe-PC.vi”上位机程序,如图38所示;根据外部被测信号极性和最大幅值选择合适的量程(785x_ADC_Range_Set)、采样率(分频系数(1uS))、单次读取点数等参数。

下面,验证一下“连续采集”方式。

先按下点亮前面板的“连续采集/可重触发采集”按钮,然后点击前面板上的“Send”发送开始采集指令和参数给FPGA板卡(PG-785xR),此时,可以看到上位机前面板左上角第一个波形图里面出现了正弦波,如图39所示;这是因为,我们在接线盒对应的AI0通道上接入了一个单端Sine信号,该信号频率为10KHz,峰峰值为±5V;将这个波形放大之后,可以看到里面每个周期的量化点数正好是100个点,因为PG-785xR模拟电压最大采样率是1MS/s(默认分频系数为199,200MHz进行分频得到1MS/s=200MHz/(199+1)),除以10KHz,正好就是100个点。由于ADC分辨率是有符号18位,也就是I18。另外我们16个通道同时按照1MS/s并行采集,每个通道上传的时候用的U32类型,所以一共就是16×4Bytes×1MS/s=64MB/s,这个对于PCIe总线来说,小case。

图38:打开LabVIEW项目里面“我的电脑”下的上位机实验6.1
(通过PCIe上传FPGA采集的模拟电压信号)上位机程序

图39:上位机前面板上实时显示出来PG-785xR板卡当前采集的原始电压波形信号
(通过PCIe总线连续采集传输)

接着,验证一下“指定点数的可重触发采集”方式。

先熄灭前面板的“连续采集/可重触发采集”按钮,在“可重触发点数”输入控件里面填写需要触发采集的点数,然后点击前面板上的“Send”发送开始采集指令和参数给FPGA板卡(PG-785xR),可以看到上位机前面板上的“内存池”并没有任何数据,说明上位机没有读到下位机FPGA采集的数据;此时,我们可以按压一下FPGA板卡上的KEY1按键,因为我们在下位机FPGA VI程序里面通过这个按键来模拟外部触发脉冲,实际应用中,大家可以直接将外面实际的触发脉冲信号通过SCSI DIO接口接进来即可,然后将FPGA VI程序里面的按键引脚改成实际接的DIO引脚,再重新编译下载一下即可。

每按压一次KEY1按键,左上角第一个波形图里面出现了正弦波,如果大家将所有分段读取的波形数据进行前后拼接的话,应该就是指定采集的点数,如图40所示。

图40:上位机前面板上实时显示出来PG-785xR板卡当前采集的原始电压波形信号
(通过PCIe总线可重触发采集传输)

    h)最后,验证一下PG-785xR的AO模拟电压输出功能将示波器探头的正极接到模拟接线盒的34号端子上(对应DAC0通道的正极),将示波器探头的负极接到模拟接线盒的18号端子上(GND引脚),如图41所示。注意,其中模拟接线盒上的33号端子悬空不要接,这是因为我们的简易示波器探头是单端的,不是那种差分探头,所以按照前面的模拟电压输出接线方法,这里AO应该按照单端方式去接;如果大家手头有专用的差分探头,可以直接将差分探头正负极分别接到接线盒的正负极上,那么GND就不需要了。

图41:将PG-785xR板卡的模拟电压输出通道0接到示波器上(单端方式观察)

    打开下位机FPGA终端里面的“实验3-16通道16位DAC-任意波形发生器AWG-真差分-同步并行输出-FPGA.vi”这个FPGA VI,如图42所示,对应的FPGA程序框图,如图43所示;直接点击左上角的运行箭头即可启动编译,然后会自动下载到板卡的FPGA芯片里面运行,同时FPGA VI会自动进入在线前面板运行模式。

图42:打开下位机FPGA终端里面的实验3(FPGA模拟电压输出前面板)

图43:打开下位机FPGA终端里面的实验3(FPGA模拟电压输出程序框图)

    然后,打开运行“我的电脑”下面的“实验3-PCIe_DMA_16位ADC-16通道并行同步输出-真差分-PC.vi”上位机程序,如图44所示;设置好任意波形参数之后,点击前面板上的“发送参数和指令”按钮,将上位机的AWG波形数据下发给FPGA板卡(PG-785xR),如图45所示,此时,示波器上出现了一个频率为2KHz、峰峰值为±5V的Sine正弦信号,如图46所示;这是因为,上位机生成的正弦信号和三角波信号点数是500,PG-785xR板卡的AO更新率是1MS/s,所以1M/500正好就是2KHz。

图44:打开LabVIEW项目下的实验3(模拟电压AO输出)上位机程序

图45:将上位机AWG任意波形数据下发给FPGA板卡(PG-785xR)

图46(a):PG-785xR实际生成的Sine正弦信号

图46(b):示波器上实际观察到的PG-785xR生成的Sine信号频率为2KHz,±5V峰峰值

更多详细内容也可以观看视频演示,B站视频链接如下:

https://b23.tv/d5WUZUQ