标题:
基于FPGA的振动信号采集系统设计及实现(2)
[打印本页]
作者:
yuyang911220
时间:
2015-12-24 11:40
标题:
基于FPGA的振动信号采集系统设计及实现(2)
2.4 通讯模块的设计
RS-422驱动电路由UART协议、电平转换和接口电路组成,其中协议转换由可编程逻辑实现。串行接口数据格式为:1个起始位,8个数据位,奇校验位,1个停止位,工作频率设计在115 200 bps。FPGA芯片将采集到的AD转换后数据转发到RS-422总线。由于AD采集芯片为16 bit,所以在设置先发数据的高8 bit,再发送数据的低8 bit。
3 可编程逻辑设计
3.1 可编程逻辑功能设计
系统选用Xilinx公司的Spartan系列芯片,此系列具有性能优良、性价比高、非易失性等特点,扩展了片上flash存储器,用于FPGA的配置和非易失性数据的存储,具有充足的资源满足采集系统的逻辑功能需求。可编程逻辑采用模块化的设计思想,设计AD采集模块和UART协议模块。
3.1.1 AD采集模块
FPGA芯片控制A/D转换芯片RC信号为低电平,AD芯片启动转换工作,同时BUSY信号输出低电平,转换完成后AD芯片BUSY信号重置高电平,AD芯片数据输出端口输出有效数据。FPGA检测到BUSY信号,将AD芯片转换后的数据存入UART发送寄存器中。
3.1.2 UART协议模块
UART协议模块采用的是串口通讯协议软核,其设计特点是:
1)波特率为9 600 bps~115.2 kbps可通过软件编程;
2)内建128字节接收FIFO和128字节发送FIFO;
3)数据长度、停止位长度、奇偶校验可通过软件进行编程;
4)计算公式:波特率=外部时钟(14.745 6 MHz)/(16×分频因子)。
3.2 系统功能逻辑设计
采集系统的控制设计为周期自动采集,一次采样过程如下:首先启动A/D转换器,然后判断BUSY信号转换是否结束,A/D转换结束后FPGA读取A/D转换结果,并直接存入UART发送寄存器,然后等待延时到下一周期,并开始第二次采集,自动完成振动信号的采集。FPGA的自动控制流程如图4所示。
系统设计采样周期为200 us,远大于A/D转换芯片的转换时间,决定了系统的采样速率5 kHz,可满足大多数机械部件振动信号的采集要求。采样周期控制由FPGA使用的时钟计数决定,此系统使用的时钟为10 MHz,系统的周期误差来源于晶振本身的误差,系统使用的晶振初始频率一温度误差为50 PPM,具有极小的时钟误差。
4 系统功能验证
为了验证振动信号采集系统的各项功能,本研究采用由振动台输出的正弦信号作为系统的输入激励,由本文设计的采集系统对该振动信号进行采集,从而检验系统采集功能的准确性。试验中用到的设备情况如下:使用随机振动台,施加21.5 Hz正弦振动激励信号,幅值分别为1 g和2 g两种激励,使用振动传感器精度为104 mV/g,测量结果为图5和图6所示。
由图可以看出,信号的幅值接近激励值,与输入的正弦激励信号基本一致,进行频率分析,进行FFT转换后频率为21.5 Hz,与输入激励信号的频率一致。实验结果表明,该振动信号采集功能正确。
5 结论
本文提出的FPGA的振动信号采集系统具有硬件组成少,可在不需要中央处理器即可完成数据的自动采集,且具备并行可扩展性,功能移植性好,同时具有较高的采样周期和精度,可以满足大多数工业与航空领域中振动采集的要求。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0