1 引言
振动台的作用之一是将被测物件置于振动台上测量其受迫振动时的表现,一般振动台的振动是由振动分析仪控制的,但是由于振动台体积形状和考虑到成本等原因,不利于振动分析仪的研发,所以设计振动模拟器对振动分析仪的研发有重要的现实意义。
振动模拟器应尽量对振动台的实际振动情况进行模拟。振动台本身的振动将不可避免地受到噪声的影响,导致它的振动不一定是符合需求的振动。所以要使振动模拟器对振动台的实际振动情况进行模拟,就必需人为地在采样信号中加入噪声。而出于对振动分析仪研发调试的需要,尽量将噪声范围处理成可控的,这样便于调试振动分析仪。
利用FPGA开发振动模拟器研制开发费用低,不承担投片风险,通过开发工具在计算机上完成设计,电路设计周期短。所以本文采用FPGA实现振动模拟器设计,由ADC模块接收调频和调幅信号,传给FPGA模块,FPGA由调频信号计算出对应的时钟,且按此时钟输出经调幅的数字正弦波,驱动DAC输出模拟的正弦波,最终和模拟的噪声相叠加,实现对实际振动台的模拟。
2 原理框图和基本设计思想
图1 硬件原理框图
振动模拟器的原理框图如图1所示,图中由ADC模块分别接收调频和调幅信号给FPGA模块,FPGA模块将串行的调频和调幅信号,经串并转换,分别变成一个16位的并行调频信号和一个16位的并行调幅信号。FPGA输出经调频调幅的数字的正弦波,并驱动串行DAC(输出理想信号)输出模拟的正弦波;用户通过按键确定想要产生的噪声的频率范围,FPGA经计算得到满足用户要求的频率,驱动并行DAC(输出噪声),产生模拟 •的噪声,经电流电压转换后由同相求和电路将信号与噪声相叠。
整个系统最终输出0.1~5KHz的振动信号和200KHz以下的振动噪声相叠的模拟量。
3 FPGA功能模块介绍
3.1 芯片选择
在本设计中,选用Altera 公司的Cyclone系列,型号是EP1C6Q240C8的芯片,PQFP封装。这款芯片有240个引脚,其中用户可用185个引脚。有5980个逻辑单元,32列20行逻辑阵列块。有2个PLL锁相环,20个M4K的ROM,每块ROM为4Kbit,可以另加1位奇偶校验位。
3.2 原理说明
FPGA模块接收2个ADS1100的芯片,经串并转换,得到调频和调幅信号。
波形发生的基本原理是:对幅值是1的正弦波在一个周期内的波形按1/200倍周期的时间间隔取200个点,存储这200个时间点所对应的波形的幅度,存储到FPGA的片内ROM中。正弦波幅度表仅需200×16bit=3.2kbit的存储空间,可用FPGA的一块片内ROM实现。通过查表法产生一系列的值,将这些值和调幅信号相乘就得到一系列的幅度值,即串行DAC的数字输入,而这些幅度的输出频率是调频信号值的200倍。类似的,利用FPGA一块片内ROM以存储200KHz以下噪声的正弦波幅度表(一个周期内的波形按1/20倍周期的时间间隔取20个点)。
调频信号和调幅信号的分辨率16比特,输出的正弦信号的分辨率是16比特。
4 AD、DA芯片与FPGA的接口
考虑到本系统需要较多的高频时钟,而若时钟管理不当,则因DAC工作不稳定会导致系统工作出错;由于连线和逻辑单元的延迟作用,使输出信号出现毛刺,产生冒险现象。因此纯粹依靠传统的逻辑电路难以达到理想的性能要求,这时就必须依赖FPGA内部的专用硬件电路PLL和引入高频时钟的方法产生无有害毛刺的同步时钟辅助实现高性能的设计。
FPGA芯片和ADC、DAC芯片的接口电路原理图如图2所示。
图2 FPGA与AD、DA芯片的接口电路