王浩,李磊,杨洁,余健,郑国恒
(郑州大季物理工程学院,郑州450001)
中,可以对核燃料棉检测传感器发送的数烈进行采集和分析,该系统包括数据接收模块、系统控制模 摘要:本文介绍了一种基于以太网传输的32路高速数据采集系统,该系统主要用于核燃料棒质量检测块、网络通信模换和上位机数据分析控制软件四个部分,系统使用FPGA亲进行数据的接收和计数,使用ARM作为整个系统的主控芯片来控制各个模块之间协调运行,同时利用ARM对数据进行组包并将 组包后的数据通过以太网传输到上位机,最后由上位机对数据采集装置上传的数据进行接收和处理,经测试证明系统工作稳定,可以达到工业检测要求.
关键调:高速数据采集:FPGA:ARM:以太网传输
中图分类号:TP273 文章标志码:A
文章编号:0258-0918(2015)04-0780-05
32 Channels High-speed Data Acquisition System Based on Ethernet Transmission
WANG Hao LI Lei YANG Jie YU Jian ZHENG Guo-heng
(School of Physical Engineering Zhengzhou University Zbemgzhou. 45ooo1 China)
Abstract; This paper introduces a 32 channel high-speed data acquisition system based on Ethernet transmission.The system is mainly used for nuclear fuel rods qualitytesting; it can collect data from the nuclear fuel detection sensor and analyze them. Thissystem includes data receiving module. control module and network municationmodule as well as the software for data analyzing and controlling. This system usesFPGA for data reception and counting. At the sarme time it uses the ARM as the main control chip to control the operation of coordination between various modules. TheARM chip packages the data which has received from the FPGA then sends them to thenetwork munication module. After that the data transfer to the PC via Ethernet.the date. After performing for a long time the tests have proved that system is stable Finally the PC program which is based on socket programming receives and handles
随着现代工业的发展,人们对于工业生产和产品检测所需的数据采集系统的可靠性、高速性、实时性、远程可控性的要求越来越高.目前,在工业控制领域,常见的数据采集系统多采实现系统的数据接收和整体控制2,但这样的 用DSP或FPGA作为采集卡的主控芯片,来系统很难保证其数据采集的实时性与可靠性,同时,常见的数据采集系统,在下位机(数据采集装置)与上位机(PC机)的数据传输方面,多采用基于USB总线或者PCI总线的传输方 式,这样很难实现系统的远程传输,并且单位时间内的传输量较小,难以达到工业检测需求.面近期提出的基于光纤通信的数据传输方法,因为每路光纤都需要光端机来把光信号 转化为电信号,所以此方法会大大增加传输成本和系统的复杂性,目前并不实用.
本文提出了一种基于以太网传输的、采集模块和控制模块完全分开的高速数据采集系统,此系统主要用于核燃料棒质量检测,通过 FPGA对核燃料棒检测传感器发送的数据进行接收,面后在ARM主控芯片的控制下,通过千兆以太网将数据传输至上位机,并通过上位机软件的分析和确定不合格核燃料棒的位 置,此系统可以大大提高获取数据的实时性和可靠性,同时也实现了一台上位机对多台下位机的实时远程操控,具有很强的可操作性和便捷性.
1系统的总体方案
本系统由下位机数据采集装置和上位机数据分析控制软件两大部分组成,下位机数据采集装置主要完成对32路数字传感器发出信号 的高速采集,并通过网络将数据传输到上位机.上位机软件对接收到的采集数据进行分析,并根据分析结果发出相应指令,下位机接收到指令后,通过工作电压为24V的8路输入和10路输出I/O端口传输给工业控制系统.系统 总体构造如图1所示.
Fig. 1General Structure of High Speed DataAcquisition System
图1高速数据采集系统总体结构
2 系统下位机数据采集装置设计
本系统的下位机数据采集装置由数据接收组成. 模块、系统控制模块和网络传输模块三大模块
其中,数据接收模块主要由FPGA芯片构成,用于完成对32路核燃料棒质量检测传感器阵列采集数据的实时接收,系统控制模块主要 由ARM芯片构成,用于初始化系统各个模块和端口、调控整个系统运行.系统控制模块通过对数据接收模块和网络传输模块的分别控制实现了二者之间的实时协调工作.网络传输模块由多块以太网控制芯片和网口组成,用于实现下位 机数据采集装置和上位机之间的数据传输,下位机数据采集装置硬件结构如图2所示.
图2下位机高速数据采集装置硬件结构Fig. 2tbe Hardware Structure ofHigh Speed Data Acquisition Device
2.1数据接收模块
2.2系统控制模块
EP2C5T144作为其核心芯片,通过倍额使其稳 本模块采用CycloneI系列的FPGA芯片定工作在500MHz额率下.通过硬件描述语言VHDL和VerilogHDL混合编程,在FPGA上设计了32个32位计数器和一个定时器,用以完成对传感器传输过来的32路脉冲信号的 井行采集和缓存处理,并对每个通道的计数器设置相应的若干个寄存器,用于存储其计数值.上位机通过以太网将本模块所需的计数周期参数(100μs到3s范围内,根据需要自由设定)、 通信时间参数(10ms到120s范围内自由设定,且必须为计数周期参数的整数倍)、启动、停止等指令传输到下位机,面后由下位机的系统控制模块控制本模块进行参数设置和启动、停止等状态的切换,
本模块采用ARM9系列的S3C2510为其控制核心.下位机启动后,本模块首先对网络面后对系统网络接口进行初始化并根据下位机电路板上的拨码开关状态设定下位机IP和端口号,面后等待上位机发送ARP包.在接到上位机发来的ARP包后,本模块对其进行解方网络连接,在系统正常工作时,本模块进入 包识别后,向上位机发送ARP包,建立双主循环工作.其控制流程如图3所示.
主循环部分包括数据发送、指令接收和网络连接检测三个部分.数据发送过程是指 ARM芯片将从FPGA中接收到的数据进行组包处理,而后将其以单个数据包的形式发送给网口芯片,指令接收过程是ARM芯片根据从上位机发送过来的经由网口芯片处理后的相关制.在数据发送和指令接收的同时,系统控制 指令对FPGA进行相应的参数设定和状态控模块会实时的对网络连接状态进行检测,一且发生网络连接断开,本系统会立即发送指令给工控系统要求停止核燃料棒的检测,并发出 报警.
其中,数据发送过程是系统控制模块工作度.所以在设计过程中对其使用乒乓缓存的方
Fig. 3 the Program Flow Chart of 图3下位机控制程序流程图High Speed Data Acquisition Device
法进行优化.并且将其中影响数据传输速度的关键部分利用汇编指令进行了改写,这里主要SDM)指令,使其数据读写的速度大大提高. 是利用汇编指令中批量读写内存(LDM和
2.3网络传输模块
网络传输模块主要完成下位机数据采集装置与上位机之间的数据和命令传输,是实现一台PC机远程控制多台下位机采集装置的关 键.该模块主要由千兆以太网控制芯片AX88180和千兆以太网物理层芯片88E1111组成,支持100OMbit/s全双工操作,并且支持IP/TCP/UDP三种协议.本系统为保证网络 传输速度采用UDP传输协议,同时为了确保数据的可靠性,在UDP协议的基础上制定了本系统自身的网络传输协定来确保传输的安全可靠.
3上位机程序设计
本系统的上位机程序运行于windows操作系统上,使用C编程语言基于Microsoft VisualStudio2010编程环境编写,具有友好的人机交互界面,本程序使用socket数据报阻的核心部分,它决定了整套系统的数据采集速塞模式套接字建立传输网络,利用多线程的处理方式实现高速数据接收及整合处理,并能
通信时间设定与上位机进行数据传输的时间间隔;设通信时间为T,计数周期为,通道数为32,每个通道单次传输4个字节,那么单次通信 数据传输存储总量为N,N-T/t×32×4.假如某次通信接收线程检测到异常数据,上位机并不计算其对应的发生时间,而是通过网络通知下位机进行处理,下位机根据上位机发送来 的信息和传输开始时记录下的燃料棒的位置可以计算出异常的燃料棒的位置,面后通知精度不足的问题. 工控系统处理.这样很好地规避了上位机定时
够对下位机进行及时有效的控制.其上位机软件流程如图4所示.
上位机程序主窗口如图5所示.该软件可以实现对4台下位机数据采集装置上传的128路信号的实时接收,并对每个下位机数据采集 装置进行远程控制.
Fig. 4the Software Flow Pasttern 图4上位机软件设计流程图
其中,接收线程为软件系统工作的关键部分,主要用于完成对下位机指令和下位机发送数据的接收,面后对接收到的数据进行整合处理.
图5系统上位机程序人机界面Fig. 5the Software Interface
由于网络传输中单个数据包的最大传输量有限,所以在进行大数据传输时,下位机主动进行了分包,面上位机在接收时相应的需要进行 组包.上位机在组包过程中,系统将下位机在包头的传输协定中写入的编号和包长和实际收到的数据包编号、包长进行比较来确定是否发生丢包,一且出现丢包系统会立即确定数量并 通知下位机重发.
4 系统调试与改进
系统在设计完成后,根据实际需求和可能发生的突发情况作了较长时间的调试,调试实验以4台数字信号发生器为信号源,在上位机与下位机采集装置相距15m的条件下,进行 了实时收发测试和系统老化实验.经测试验证,下位机采集装置能够稳定采集工作频率小于50MHz的信号,不同通路的信号间不会发生串扰,网络传输丢包率小于0.01%,量 化误差的绝对值小于等于1.实验结果符合工业现场需求.根据工业现场可能出现的上位机或下位机掉电、网线断开等突发情况,本系统制 定了相应的应急处理机制.并且可以通过在上位机上安装多网口卡的方式,进一步增加上位机远程操控的数据采集装置的数目.
在工业检测中,特别是核燃料质量检测中,利用接收到异常数据的时间往往就能够计算出 该异常燃料棒的位置.因此处理程序需要对异常信号发生的时间做精确的定位,但是PC机编程的最高定时精度为1ms,无法达到要求. 所以本系统改变了思路和方法,由上位机设定计数周期和通信时间:下位机ARM芯片将计数周期指令转化为FPGA的定时常数,并根据
据采集系统[J].仅表技术与传感器,2013.(4):41-43.[2]部磊,悦明,基于FPGA的高速数据采集系续设计与实 现[J].计算机工程.2011.37(19)=221-223.[3]黄,影晓,畅肤龙,基于FPGA多路同步数据采集系[4]甘建伟,泰付军,王鹏.基于FPGA的高速多通道数据 统的设计[J].仅表技术与传感善,2012,(11),139-144.[5]朴现幂,黑睡军,沈三民,基于FPGA的高速数据采集 采集系统设计[J].电子技术应用.2013,39(4):55-57.系统的设计[J].微计算机信息,2008 24(1):209-211.[6]冷佳赠,刘文怡,基子USB总线的多通道数据采集系统 设计[1].电子技术应用,2012,38(12):11-13 [7]何林飞,回佳月,张晓林,吴智题等,基于光纤侬输的多路高速数据采集系统[J].电子技术应用,2013.39 (3) 77-79.[8]丁展,刘海英.ViualC网络通信编程实用案例精选[M].北京:中国部电出社,2004
5结论
高稳定性、实时远程控制、高速传输等新要求, 针对核燃料棒检测对数据采集系统提出的本文提出了此套高速数据采集系统.本系统能够实现一台上位机对多下位机的远程高速数据接收,能实时处理128路检测数据并进行及时 有效的命令,本系统运行高速稳定,针对可能出现的各种突发情况作了相应的预警处理机制,在工业检测的其他方面也有很好的应用前景.
参考文献:
[1]李俊舟,枢继敏,邓伟,等,基于DSP和UDP协议的数