基于FPGA的旋转机械振动数据采集系统
2017-01-04金路言思敏曾宪钰陈功上海市质量监督检验技术研究院
金路 言思敏 曾宪钰 陈功 / 上海市质量监督检验技术研究院
基于FPGA的旋转机械振动数据采集系统
金路 言思敏 曾宪钰 陈功 / 上海市质量监督检验技术研究院
提出一种基于FPGA(现场可编程门阵列)的旋转机械振动数据采集系统。该系统主要由A/D、键相信号、FPGA控制、电源、SDRAM、EPCS和以太网通信等模块组成。根据系统方案的要求完成了硬件和NIOSII嵌入式系统开发两部分内容。实验结果表明,基于FPGA的数据采集系统运行稳定可靠,具备多通道同步采样功能,最高可对转速为50 000 r/min旋转机械的振动数据进行计量检测。
FPGA;THS1207;自定义指令;信号处理
0 引言
旋转机械通常指的是压缩机、汽轮机、燃气轮机、储能飞轮等机械设备,在航空航天、电力、机械、石油化工等领域应用十分广泛。对于旋转机械振动参数的计量检测可以了解到旋转设备在运行过程中的状态参数,从而判断其是否运行稳定和正常,还能及时发现问题,找出相关原因,甚至可以预测出故障的发展趋势[1]。
嵌入式系统是半导体技术、电子技术和计算机技术相结合的产物,它的发展和应用对于实现“智能工业”[2]的目标具有深远长久的意义。目前在工业中使用较为广泛的嵌入式系统主要有FPGA(Field - Programmable Gate Array)和DSP(Digital Signal Processing)两大类。FPGA即现场可编程门阵列,具备NIOS II嵌入式软核处理器,以并行计算为主,能对多路信号进行并行处理。同时它为用户提供了自定义模块和自定义指令,用户可以根据实际设计需要进行自定义设计,有效提高了设计的灵活性和效率[3]。DSP芯片的内部具有专门的硬件乘法器,提供特殊的DSP 指令,十分有利于实现各种数字信号处理算法。但是由于DSP自身存在的程序指令需按顺序执行的特点以及受限于自身的性能能力,难以实现大规模、高速运算[4]。
鉴于FPGA与DSP的比较和本系统方案的需求,决定基于FPGA来完成在线实时高速数据采集系统的设计。整个设计主要包括硬件电路设计和嵌入式系统开发两部分。
1 系统方案
基于FPGA的系统方案设计需要具备以下几个功能:
1)采集速度达到高速水平;
2)可以实现多通道数据的实时采集以及实时传输;
3)可以在上位机上进行在线监测,同时可以进行相应的数据处理。
整个数据采集系统采用的是自顶向下的设计方法,主要分为A/D模块、键相信号模块、FPGA控制模块、以太网通信模块、电源模块、SDRAM模块、EPCS模块等。如图1所示,采集系统实现的主要流程:键相信号模块接受来自外部的键相信号以触发采样程序,振动信号经过信号调理电路后进入A/D芯片对其进行模数转换,之后把数字信号传递给FPGA主芯片,通过对FPGA嵌入式NIOS II软核的开发对数据进行相应的并行运算和处理,然后将处理过的数字信号通过以太网模块完成与上位机的数据通信、在线实时监测以及信号处理。
2 硬件电路
硬件电路的设计是整个数据采集系统能否实现的基石。硬件电路的设计首先要明确各个模块的自身功能以及模块间的相互关系,在此基础上对各个模块涉及的电子元器件进行选择,同时进行电路原理图的绘制,PCB全局的布局布线,PCB板的制作焊接和调试等工作。
图1 系统方案
2.1 主要功能模块
2.1.1 FPGA模块
本系统的FPGA芯片采用的是Altera公司生产的Cyclone系列第三代芯片EP3C25Q240。该芯片拥有24 624个逻辑单元,66个M9K Block,总共608 256 bits的片上储存空间;同时集成有4个数字锁相环,具有215个可开发利用的I/O数,包含了20个时钟网络,支持多种电气标准,最主要的是可以支持嵌入式软核NIOS II的开发。FPGA模块的功能是负责数据的并行运算和整个系统的逻辑控制和时序控制。
2.1.2 A/D模块
对于系统方案提出的高速多路实时采集的高要求,本系统的A/D芯片选用了德州仪器公司生产的12位高性能芯片THS1207。THS1207采用CMOS工艺制造,是一款低功耗、最高转换速度为6 MSPS的模拟与数字转换器,非常适合应用在雷达成像、高速采集和通信等多个领域[5]。THS1207可以对四个模拟输入同步采样,这些输入可以进行单独选择,配置为单端或差分输入。该芯片为ADC提供了1.5~3.5 V的内部参考电压,也可以选择外部输入电压,如图2所示。
图2 A/D内部构造
2.1.3 键相信号处理模块
在旋转机械振动监测中,采样速度需要配合旋转机械的转速,旋转机械的旋转速度变快了,采样速度相应也要变快;旋转机械的旋转速度变慢了,采样速度相应也要变慢,以此实现同步采样。
键相信号的作用主要是通过两个键相信号的时间间隔计算出旋转机械的转速,同时触发系统进行数据采集。
2.1.4 以太网模块
本系统方案中的FPGA控制模块和上位机的数据通信是由以太网模块来完成的。以太网芯片选择的是台湾DAVICOM公司生产的一款高度集成、性价比高、引脚少且功能强大的单片快速以太网控制芯片,非常适用于嵌入式系统设计[6]。以太网模块承载着硬件和上位机的数据传输功能,是在线实时监测的重要一环。图3所示为以太网模块接口示意图。
3 NIOS II嵌入式系统
本方案采用FPGA芯片的开发平台为NIOS II嵌入式系统,它是目前最为流行的软核处理器。NIOS II嵌入式系统的开发分为硬件开发和软件开发两部分。其中,硬件开发由用户来选择或者自定义系统硬件的构成,然后通过计算机实现硬件系统的生成,包含建立quartus工程,构建NIOS II软核,构建锁相环,引脚分配,编译下载等步骤;软件开发则是在硬件系统生成的前提下完成软件的设计,包含建立软件工程,编译运行等步骤[7-10]。图4为NIOS II系统整体开发流程图。整个系统设计主要是结合硬件描述语言Verilog语言和C语言进行编程,并且通过实验来验证设计的可行性。
图3 以太网模块接口
图4 NIOS II 系统整体开发流程
3.1 采集系统程序
数据采集系统的程序部分主要由采样程序设计和以太网通信程序设计两部分组成。系统采用的是中断处理方式,即系统进入主程序后一直执行While()语句循环,当检测到有任务需求时,随即响应中断进入到中断服务程序当中,完成后再进入到主程序的循环中,如图5所示。
3.1.1 采样程序
THS1207的单通道最大采样速度为6 MSPS,而四通道同步采样的速度可以达到1.5 MSPS。本系统采用了四通道同步采样模式,四通道时序图如图6所示。在THS1207进行采样前,需要通过写命令的方式将芯片启动,启动完成后可以进行数据采样。在转换过程中,A/D有一个自由运行的外部输入时钟CONV_CLK。伴随着每一个CONV_CLK信号的下降沿,四个通道模拟信号转换后的值提供给相应读出信号中的数据总线。信号SYNC是低电平时,第一个通道的数据到数据总线,之后SYNC信号变为高电平,第二、三、四通道的数据按顺序依次读取。READ+为、、 CS1三者信号的逻辑集成,READ+为低电平时表示读取有效。本系统在PCB上布置了四个A/D芯片,从而可以实现十六个通道的同步采样。
图5 数据采集系统程序设计流程
图6 THS1207时序
完成了THS1207芯片的启动以及控制之后,在上位机根据系统的实际需要设置采样间隔时间,A/D芯片按时进行采样和模数转换,各通道的数据转换完成以后发出中断信号,NIOS II软核随即响应中断,进入到中断服务程序当中,在中断服务程序里对采样得到的数据进行读取或进行相应的信号处理。
3.1.2 以太网程序
以太网通信传输首先需要符合TCP/IP传输协议规定。在此基础上,对上位机接收端和本地发送端的以太网端口、IP地址和MAC地址等进行设置,之后以太网通信程序就可以向上位机发送UDP数据包。
3.2 数据处理
根据系统方案的要求得到采样数据后,需要具备相应的数据处理能力,比如傅里叶变换、滤波等。FPGA的嵌入式软核NIOS II可以进行自定义指令设计并具有并行运算的优势,借助matlab软件可以很好地完成数据处理工作。
NIOS II可以支持四类自定义指令:组合逻辑指令,多周期用户自定义指令,扩展用户自定义指令,内部寄存器自定义指令[11]。本设计中主要采用了多周期用户自定义指令来进行傅里叶变换和FIR滤波[12-13]等数据处理工作。
4 实验验证
本实验利用信号发生器发出模拟信号。实验中发出一组幅值为2 V的正弦交流信号,接通电源开启硬件。在上位机设置好采样时间间隔后触发THS1207进行采样,同时将实时数据通过以太网传送到上位机。在上位机可以得到如图7所示的波形。通过发出不同频率、不同形状的波形进行实验。实验结果表明,基于FPGA的数据采集系统能很好完成数据采集任务。
图7 采样得到的波形
5 结语
为了实现对于高速旋转机械振动参数的计量检测,本项目设计了基于FPGA的数据采集系统。实验证明,整个系统具备多通道同步采样功能,最高可对转速为50 000 r/min的旋转机械振动数据进行同步实时计量监测,系统运行稳定可靠。
[1]徐敏等主编.设备故障诊断手册[M].西安:西安交通大学出版社,1998.
[2]工信部编制《中国制造2025》:剑指工业强国[J].机械工业标准化与质量,2014,(8):4-5.
[3]杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子和信息学报,2010,3(3):714-723.
[4]刘静,田剑锋.DSP的硬件技术与应用原理[J].火控雷达技术,2004,33(3):31-33+41.
[5]Texas Instruments.THS1207 Data Sheet[R].Texas:2010.
[6]施勇,温阳东.基于DM9000A的嵌入式以太网接口设计与实现[J].合肥工业大学学报(自然科学版),2011,34(4):519-524.
[7]赵佩丽,李小珉,卞小林,等.NIOSⅡ处理器在数字信号处理中的应用[J].电气电子教学学报,2007,29(6):47-48+53.
[8]孟芳,于立佳,张文志,等.基于NiosⅡ的SOPC系统设计分析[J].无线电通信技术,2012,38(1):73-76.
[9]Liu H J,Li K J,Lee W J,Gao H.Development of Frequency Variable Inverter Based on SOPC and Nios II[J].IEEE Transactions on Industry Applications,2013,49(5).
[10]杨秀增.一种基于NIOS II软核的自适应滤波器实现[J].电子测试,2013(3):38-40.
[11]王玉峰,郭春凤.SOPC中自定义外设和自定义指令性能分析[J].单片机和嵌入式系统应用,2007(11):22-25.
[12]Xi Zhang.Design of FIR Halfband Filters for Orthonormal Wavelets Using Remez Exchange Algorithm[J].IEEE signal processing letters,2009,16(9):814-817.
[13]Bruno Fernandes,Helena Sarmento.FPGA implementation and testing of a 128 FFT for a MB-OFDM receiver[J].Analog Integrated Circuits and Signal Processing,2012,70(2):241-248.
Data acquisition system of rotating machinery vibration based on FPGA
Jin Lu,Yan Simin,Zeng Xianyu ,Chen Gong
(Shanghai Institute of Quality Inspection and Technical Research)
A data acquisition system of rotating machinery vibration based on FPGA (Field Programmable Gate Array) is presented, which can be mainly divided into seven modules, including A/D, key-phase signal, FPGA control, power, SDRAM, EPCS and Ethernet communication.According to requirements of the system, the hardware and NIOS II embedded system are developed.Experimental results show that the system is stable and reliable, possesses the performance of multi-channel synchronously sampling, and is able to test the vibration data of the rotating machinery whose speed is up to 50 000 r/min.
FPGA; THS1207; custom instruction; signal processing