基于DSP、FPGA和MCU的新型的实时数据采集处理系统设计
摘要:针对大型旋转机械,介绍了一种基于DSP、FPGA和MCU的新型的实时数据采集处理系统;采集的信号在送入数字电路处理前,需要进行电平变换和滤波,因此本文介绍了一种有效的模拟信号调理方法;
关键词:DSP;FPGA;MCU;模拟信号调理;
1 引言
大型旋转机械是现代工业生产中的一类重要设备,其失效产生的后果不仅影响正常生产造成经济损失,而且会危及人身,导致重大安全事故。因此,如何快速有效地分析出旋转机械的振动情况和及时地抑制故障就尤为重要。随着科学技术的不断发展,数据采集芯片的精度和速度大大提高,以及DSP的高速数据处理和FPGA在系统上的灵活应用,使得数据采集系统精度更高、速度更快、工作更有效。本文即针对旋转机械,介绍了一种高速的数据采集和处理系统。实际中,大型旋转机械的传感器输出的信号往往电压较高并且含有较强的噪声,不能满足DSP和FPGA低功耗和对输入信号电压的要求,所以信号在送入数字电路之前必须进行必要的处理,本文则介绍了一种有效的模拟信号调理方法。
2 数据采集处理系统的总体设计
本系统是一个信号采集处理系统,其基本结构图如图1 所示。该系统有输入信号调理模块、数字信号处理模块和信号变换模块组成。其中输入信号调理模块主要是对输入的模拟信号进行调理(如电平变换和滤波),以满足数字电路对信号的要求;数字信号处理模块是对输入的信号采集和处理,主要由DSP、FPGA、MCU和一些必要的外设组成,DSP主要负责数据的处理,FPGA主要完成各个外围芯片的连接与控制,同时根据系统要求完成数据的传输,为DSP处理数据做准备,MCU则将DSP处理完的结果传送到CAN总线上去;信号变换模块则主要是将数字电路输出的一些电压信号转换为实际中所需要的电流信号。
系统的工作流程是:
1)输入信号调理模块对输入信号进行调理,进行电平转换和滤波,以满足系统的要求
和数模转换器(A/D)对信号电压的要求。
2)在FPGA的控制下,数模转换器(A/D)实时采集4路模拟信号,并将其分别转化
为16位的数字信号分别送到双口SRAM1的左端口。
3)当外部的鉴相信号到来时,FPGA控制双口SRAM1的右端口将每路信号从当前时刻起以前的若干个点的数据送到双口SRAM2的左端口,并且FPGA给DSP一握手信号。
4)DSP在收到握手信号后,通过SRAM2的右端口读取SRAM2中的数据,并且对数据进行处理,并将处理结果送到FPGA内部产生的存储器中,然后告知FPGA数据已处理完,这样FPGA就可以响应新的外部鉴相信号。
5)MCU可以通过其和FPGA的握手信号,把某些需要上传的数据从FPGA内部产生的存储器中读出来,由MCU送到CAN总线上去,其余某些结果可以由DA转换为模拟信号输出。
6) 信号转换模块将DA输出的电压信号转变为4~20毫安的电流信号。
系统各器件选型 表1
芯片 型号 厂商 说明
DSP TMS320C2812 TI CPU可达150MHz,内含模数转换器
MCU 89C52 Atmel
FPGA EP1C12 Altera
SRAM1,SRAM2 CY7C09279V Cypress 双口32K*16Bit SRAM
ADC AD7654 AD 4路16位精度
DAC Tlv5614 TI 4路12位精度
3 模拟输入信号的调理
3.1信号前端处理电路结构
本系统有4路输入信号,来自旋转机械的传感器,为叠加在直流信号上的-20V~+20V交流电压信号,频率较高(有效频率为20KHz以下)且具有较强的噪声。由于系统要求很小的噪声(毫伏级)和较强的信噪比,且需满足A/D(模数)转换器的输入电压0~5V的要求,因此必须将原始信号转换为有效的信号。如图2,首先将采集到的-20V-20V输入模拟信号变换到-5V-5V信号,再叠加于+5V的基准源信号变换为0-5V,再经过有源滤波,送入A/D转换单元,实现模/数转换。
3.2运算放大器的选择
由于本系统要求很小的噪声(毫伏级)和较强的信噪比,所以选择一种合适的放大器尤为重要。一般的放大器很难满足要求,有些放大器虽能满足要求但在市场上不易买到,笔者曾在选在放大器上花费了不少时间。
OPA2277就是一种高精度、低漂移型集成运算放大器,具有两路通道,且在市面上易买到。其具有以下特点:
2V~ 18V的双电源工作;输入失调电压典型值为10μV;失调电压温漂为1μV/℃;输入偏置电流最大为1nA;具有134dB开环增益和140dB的共模抑制比。可以广泛应用于有源滤波器和传感器信号放大的场合。
OPA2277是一种性价比很高的放大器。实验中,通过使用放大器OPA2277和精密电阻,发现在输入端加上12V的电压信号时,送入A/D的电压能达到4.002V,和理论上的输出电压只相差2mv,到达了系统的要求。
3.3滤波器的设计
传感器的输出信号中往往混杂着一些频率较高的信号,这些信号会给系统的分析产生坏的影响,在送入数模转换器(A/D)之前须将其滤掉。
如图3,这是一个二阶有源低通滤波器,UOB为电平转换来的0~5V的信号,UO为滤波后送入A/D的信号。
其截止频率,品质因数 。
通过选择合理的电阻电容的值,即可达到所要求的截止频率。本设计要求的截止频率为20K左右,因此若采用二阶压控电压源巴特沃思低通滤波器,只需 7=7KΩ, 8=27 KΩ,C5=1000 Pf,C6=330Pf ,此时的品质因数 =0.707,好多文献上的介绍了品质因数对滤波效果的影响以及电阻电容的具体取值方法,这里不再详述。经过实验,可以直接取C1=C2=1000 Pf, 7= 8=8.2 KΩ,此时的品质因数 =0.5,也能得到满意的滤波效果。
为了对A/D芯片有一定的保护作用,如图3,须在放大器的输出端添加一个5伏的稳压管,可以将输出电压限制在0~5V的范围内。
4 DSP的功能
TMS320F2812是TI公司主推的面向工业控制领域(如电机控制、数据采集和数据处理)应用的定点DSP芯片,其主频可达150MHz,拥有强大的片上外设(如A/D,UART等)和强大的事件管理能力,并且可以外扩1M字的存储器,特别适用于有大批量数据处理的测控场合。
此系统中DSP的主要功能为数据处理。当FPGA把数据由双口SRAM1移入双口SRAM2后,DSP通过FPGA的外部中断,告知DSP数据已准备好。DSP接收到该外部中断后,对四路信号进行相应处理,其中包括FFT、直流电压、有效值、积分值、最大最小值、峰峰值、矢量叠加最大值等。在处理完毕后,DSP通过与FPGA之间的硬件握手线,告知FPGA数据已处理完毕,FPGA可进行下一次数据采集,采集完毕再通过外部中断通知DSP,以此反复下去。
此外,DSP自带的A/D可以对电源电压监测,当电压超出允许范围时产生报警信号。
5 MCU的功能
MCU的主要功能是向上位机上传数据,在FPGA内部产生了一段存储区域,专门用于存储DSP处理完的数据,不同的数据对应着不同的地址单元,所以根据不同的需要,只需将存储器中的数据读取出来即可。在MCU的外面扩展了一个CAN控制器SJA1000,然后连接一个CAN收发器82C250,所以根据需要通过MCU将有用的数据送到CAN总线上即可实现了上位机对下位机和现场的监视作用。
6 结论
对于大型旋转机械,快速有效地分析出旋转机械的振动情况和及时地抑制故障及其重要。本系统即针对大型旋转机械,设计出基于DSP、FPGA和MCU的高速数据采集处理系统,此系统充分利用了DSP高速处理能力,FPGA强大的组织协调能力和灵活处理能力,并且将MCU专门用来进行CAN总线数据的传输,因此将此设计应用在针对旋转机械的数据采集系统中会精度更高、速度更快、工作更有效。模拟信号在进入数字电路前往往需要电平转换和滤波,选择合适的放大器尤为重要,经验证本系统所采用的设计起到了很好的效果。
|