基于NI智能FPGA板卡的通用数据采集系统设计
摘 要: 基于NI公司的智能FPGA板卡以及图形化编程软件LabVIEW设计并实现了一种通用数据采集系统。该系统与传统的数据采集系统相比结构简单、开发周期短、可靠性高、实时性好,并且对于不同应用场合,在FPGA逻辑单元足够多的情况下可以很简便地依据实际情况对其做相应调整,具有较强的通用性。
关键词: FPGA; 数据采集; 通用性; LabVIEW
中图分类号: TN919.5⁃34 文献标识码: A 文章编号: 1004⁃373X(2013)23⁃0147⁃04
Design of universal data acquisition system based on intelligent FPGA board of NI
LIU Mai⁃jun, DONG Min⁃zhou, YU Yun⁃feng
(School of Astronautics, Northwestern Polytechnical University, Xi’an 710072, China)
Abstract: A universal data acquisition system is designed and achieved based on NI intelligent FPGA board and LabVIEW graphical programming software. Compared with traditional data acquisition systems,The designed system is simple, highly reliable, better real⁃time and has a short development cycle. For different applications, it could be modulated easily according to the actual situation in the condition of enough logical gates of FPGA, and it has strong universality.
Keywords: FPGA; data acquisition; universality; LabVIEW
0 引 言
数据采集是信号分析和处理的重要环节,在导弹半实物仿真过程中快速可靠的实验数据为提高仿真精度发挥着重要的作用。传统的数据采集系统各种数字、模拟信号相互交织,相应的外围电路庞大,接口复杂,要占用较大的电路板空间,无法满足系统的小型化要求,同时硬件成本也很高。当系统性能指标发生变化时,相应的功能电路和与之对应的隔离、滤波等电路以及相关程序都要改变。这种牵一发而动全身的结构导致系统的可扩展性比较低,系统的通用性比较差。另一方面,早期数据采集系统多是基于复杂可编程逻辑器件(CPLD)设计的,数据的采样速度和精度都不是很高。
随着集成电路技术的发展,NI公司的FPGA板卡以其IO引脚多、片内资源丰富、结构灵活、具有嵌入式控制器的特点获得了越来越多的应用,其纳秒级的速度可以较大地提高数据采样的速度和精度。因此,基于NI公司FPGA板卡的数据采集系统和传统的数据采集系统相比更能实时、快速地监测信号量的变化。而且该系统结构简单、开发周期短、可靠性高、实时性好,能够完成导弹半实物仿真的数据采集任务,具有较强的通用性。
1 系统方案设计
设计该数据采集系统的主要目的是在导弹半实物仿真系统中采集导弹的舵信号,将其传给上位机进行运算和仿真。该系统的可扩展性比较好,可以灵活地适应不同的应用场合,具有较强的通用性。
系统结构图如图1所示,系统实物图如图2所示,将具有数据采集功能和数据通信功能的前端接口电路板卡集成在一个机箱里面,连接在同一块背板上由独立电源统一供电。背板上的四个接口通过NI公司专用数据线和安装在工控机里面的FPGA板卡相连接。通过FPGA板卡与LabVIEW图形化编程开发平台,实现工控机与半实物硬件系统之间的数据采集和控制信号的传输。NI公司FPGA板卡的I/O端口从C0~C3共分为四个接口,每个接口40个端口。通过LabVIEW平台进行设置可以方便地自由支配、定义任何一个端口的read/write功能,很好地解决了高速数据采集系统的控制问题。也可以由FPGA板卡向前端接口电路提供统一的时钟信号和命令字,使不同功能的电路板卡同步进行数据操作。
由码盘、旋转变压器/自整角机等传感器测量到的舵偏角信息输入系统之后,按照相应的功能需要接入不同的前端接口板卡进行光耦隔离或者经过滤波、放大等处理,经由机箱背板电路到达FPGA端口。通过FPGA分析和处理的信号之后再被传入上位机中进行存储、分析、计算、显示等处理。
图1 基于NI智能FPGA板卡的数据采集系统结构
图2 基于NI智能FPGA板卡的数据采集系统实物
在FPGA的逻辑单元足够的情况下,对于不同的应用场合可以很简便地通过增删不同功能的前端接口电路板实现相应的使用要求,从而不会对系统的其他部分产生影响。因此,该系统的可扩展性比较好,可以灵活地适应不同的应用场合,具有较强的通用性。
2 硬件设计
以前端接口板a的实现为例,其主要构成为16位的D/A转换器DAC7731模块、14位A/D转换器TLC3574模块及其他辅助电路。
2.1 D/A转换电路
DAC7731为16位的数字模拟转换芯片,其内部提供+10 V的参考电压。将其模拟量输出通过引脚设置为-10~+10 V的电压范围。DAC7731具有带双缓冲的标准三线SPI串行接口,允许模拟输出的异步更新。如图3所示,它还有一个串行数据输出线以实现多片DAC7731的链接。系统工作时由LabVIEW图形化编程开发平台通过FPGA生成和发送DAC7731芯片的SPI接口和时序控制信号,通过SDI信号依次将需要转换的数据以从最后一片到第一片的顺序发送给每片DAC7731,之后通过[CS]和LADC信号实现多片DAC7731的同步转换输出。
图3 D/A转换电路
2.2 A/D转换电路
综合考虑系统的分辨率、通道数、采样率、采样范围和接口等要求,系统的ADC选用TI公司的14位8通道高性能逐次逼近型模数转换器TLC3574。该器件工作频率高达25 MHz,采用伪差分的模拟输入电路,将采样信号的动态范围扩展为[±10 V,]其内含的采样和保持功能使得外围电路大为简化。在输出接口上,该器件采用SPI/DSP兼容的串行接口方式,从而极大地减少了接口的连线数量。A/D转换电路原理如图4所示,由FPGA生成TLC3574的SPI接口和时序信号,控制其将外部的模拟信号转换后输入到FPGA,进行相应的计算和处理。由于TLC3574片内没有电压基准,可选用TI公司的三端可调分流基准源TL431组成外围电路为其提供一个高精度的4 V电压基准。
图4 A/D转换电路
考虑到信号的阻抗匹配需要,ADC的输入前端需要有一个缓冲运放,其性能必须与ADC的性能相匹配,否则会影响和限制ADC的性能。在数据采集过程中如果信号的变化幅度比较大,则需要根据信号的变化相应调整放大器的增益。否则,单一的增益放大会使得放大后的信号幅值很有可能超过ADC的转换量程。这里所采集的信号其变化幅度不是很大,采用TI公司高转换率的输入端运算放大器TL084就可以满足系统的使用要求。
2.3 数字量输入/输出设计
直接将通用背板的FPGA端口引到前端接口板,根据测试对象的接口电路,如27 V/开、地/开等形式,选择继电器、OC门、光耦隔离等方式,实现数字量的输入和输出。
2.4 串口电路设计
由于FPGA板卡具有便利的输入输出控制功能,利用FPGA板卡可以很方便的通过连接不同的接口芯片选择相应的串口模式。MAX490是低功耗收发器,用于RS 485与RS 422通信。它具有一个驱动器和一个接收器,驱动器摆率不受限制,可以实现最高2.5 Mb/s的传输速率。驱动器具有短路电流限制,并可以通过热关断电路将驱动器输出置为高阻状态,防止过度的功率损耗。接收器输入具有失效保护特性,当输入开路时,可以确保逻辑高电平输出。如图5所示,通过连接低功耗收发器MAX490可以实现RS 422通信,而改接SP3223芯片后就可以实现RS 232通信,区别只是在于FPGA中建立的UART逻辑模块有所不同,进一步显示了系统良好的通用性。
图5 串口电路
2.5 电气隔离设计
由于该系统为模拟/数字混合信号系统,电路中的噪声会对数模和模数转换精度造成影响,因此在电路的实现上应该对板卡芯片进行降噪和隔离保护,这样既避免了不同信号之间的相互影响,提高了系统的共模抑制能力,也使得一些比较昂贵的芯片不会因为外部信号的不稳定而烧毁。
传统的隔离方式是对每个通道都使用电容耦合模拟隔离芯片ISO124等进行隔离。这类隔离方式其输入和输出分别由两组直流电源供电,而且存在较大的漂移,输出信号通常存在纹波,尤其当信号比较小时,输出的相对误差会增大。因此,还需要对输出信号进行滤波、调零等调理措施,使得系统电路比较复杂。
光电耦合器性能优越,具有良好的抗干扰能力,因而被广泛地应用于输入和输出信号的电气隔离。使用HCPL2630等高速光耦进行光耦隔离,只需要一组直流供电电源,电路十分简单。其良好的电绝缘能力和抗干扰能力使得模拟地和数字地分开,消除了共模电压影响。系统选用串行而非并行的ADC和DAC,只需要隔离三路的SPI总线数字信号,这样进一步简化了电路设计。
3 软件设计
3.1 FPGA逻辑
FPGA智能板卡是整个数据采集系统的核心,由其产生和发送DAC与ADC的SPI接口和工作时序。其内部的逻辑单元主要包括:DAC控制器、ADC控制器、接口单元等。DAC和ADC控制器是FPGA内部的主要执行单元,它按照DAC和ADC工作时序进行相应的工作。
DAC控制器:对于发送过程,在建立周期,DAC控制器初始化控制信号CS(置“1”);在命令周期,使能CS信号(置“0”),同时按照时钟节拍,将16 b命令字以串行方式发送至DAC;在采样周期,对CS信号进行保持;转换周期,置位CS信号(置“1”);对于接收过程,在建立周期LDAC处于锁定状态(置“1”);在接收周期,以串行方式接收上次转换的16 b数据;在存储周期,控制器将LADC置“0”,改变寄存器内容;在空闲周期,复位LADC(置“1”)恢复寄存器的锁定状态。
ADC控制器:对于发送过程,在建立周期,ADC控制器初始化控制信号CS(置“l”);在命令周期,使能CS信号(置“0”),同时按照时钟节拍,将16 b命令字以串行方式发送至ADC;在采样周期,对CS信号进行保持;在转换周期,置位CS信号(置“1”),并载入下一通道的命令字,同时,计算下一次接收数据的存储地址。对于接收过程,在建立周期,控制器清零各接收寄存器,同时复位内部RAM的写信号WR(置“0”);在接收周期,控制器按照时钟节拍,接收ADC上一次转换的14 b串行数据;在存储周期,控制器使能WR信号(置“1”),并将接收到的数据写入ADC通道对应的RAM单元;在空闲周期,控制器复位WR信号(置“0”)。
3.2 LabVIEW程序设计
根据FPGA内部的逻辑单元结构和功能,通过NI公司的LabVIEW图形化编程开发平台对上述逻辑进行了设计,并进行了功能仿真。给出ADC控制器LabVIEW程序实现,如图6所示。
NI公司的LabVIEW图形化编程开发平台具有一系列的优点,它不同于VHDL等基于时序的语言,而是一种基于信号流向的语言,程序运行过程和真实硬件电路运行原理相似,用LabVIEW编程的过程就像设计电路图一样。另外它有不需要预先编译就存在语法检查和调试过程使用的数字探针,其丰富的函数、数值分析、信号处理和设备驱动等功能,都是十分优越的。LabVIEW将广泛的数据采集、分析与显示功能集中在了同一个环境中,可以在自己的平台上无缝地集成一套完整的应用方案。
将由LabVIEW图形化编程开发平台通过FPGA生成的正弦信号经D/A电路输出,经过A/D电路进行采集。分别选定四路不同的D/A通道和A/D通道进行输出和输入显示,图形一致,程序运转正常,波形显示清晰。限于DAC和ADC转换速度,采集到的波形存在着微小的相位延迟。如图7所示。
图7 数据采集结果
4 结 语
基于NI公司FPGA板卡设计和实现的通用数据采集系统原理简单,易于实现。该系统可靠性、实时性、快速性比较好,使得数据处理能力得到了极大的提高,可完全胜任大容量、高精度数据的高速采集。对于采集到的信号可以进行实时处理或保存,也可通过串行口将其送至上位机进行后续分析处理。对于不同应用场合,在FPGA的逻辑单元足够的情况下可以很简便地依据实际情况对其做相应调整,具有较强的通用性,实用价值比较高。
参考文献
[1] 张贵清,朱磊,颜露新,等.基于FPGA的多路同步实时数据采集方案设计与实现[J].测控技术,2005,24(12):26⁃29.
[2] 程建鑫,何玉珠,向复生.通用数据采集系统的设计[J].电子测量技术,2008,31(5):100⁃101.
[3] 崔诣.嵌入式的通用数据采集和控制系统[J].福建电脑,2006(11):173⁃173.
[4] 万军华,张国云,罗荣辉,等.基于FPGA和USB接口的高速高精度通用数据采集卡设计[J].湖南理工学院学报,2010,23(1):45⁃48.
[5] 沙晶晶,董洪军,李蒙.多路数据采集系统的设计与实现[J].现代电子技术,2012,35(21):59⁃61.
[6] 钱科威,许永辉,刘劲松.基于DSP/BIOS的数据采集系统研制[J].现代电子技术,2012,35(20):12⁃14.
作者简介:刘麦军 男,1987年出生,甘肃庄浪人,硕士研究生。主要研究方向为飞行器测控与仿真技术。
推荐访问: 板卡 采集系统 通用 智能 数据