基于EP1C6Q240C8的FPGA芯片实现对实际振动台的模拟设计

1、引言

    振动   台的作用之一是将被测物件置于振动台上     测量   其受迫振动时的表现,一般振动台的振动是由振动分析仪控制的,但是由于振动台体积形状和考虑到成本等原因,不利于振动分析仪的研发,所以设计振动模拟器对振动分析仪的研发有重要的现实意义。

振动模拟器应尽量对振动台的实际振动情况进行模拟。振动台本身的振动将不可避免地受到噪声的影响,导致它的振动不一定是符合需求的振动。所以要使振动模拟器对振动台的实际振动情况进行模拟,就必需人为地在采样信号中加入噪声。而出于对振动分析仪研发调试的需要,尽量将噪声范围处理成可控的,这样便于调试振动分析仪。

利用     FPGA   开发振动模拟器研制开发费用低,不承担投片风险,通过开发工具在     计算机   上完成设计,     电路   设计周期短。所以本文采用FPGA实现振动模拟器设计,由     ADC   模块接收调频和调幅信号,传给FPGA模块,FPGA由调频信号计算出对应的     时钟   ,且按此时钟输出经调幅的数字正弦波,驱动     DAC   输出模拟的正弦波,最终和模拟的噪声相叠加,实现对实际振动台的模拟。

2、原理框图和基本设计思想

 基于EP1C6Q240C8的FPGA芯片实现对实际振动台的模拟设计_设计制作_电源/新能源

图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所示。

 基于EP1C6Q240C8的FPGA芯片实现对实际振动台的模拟设计_设计制作_电源/新能源

图2 FPGA与AD、DA芯片的接口电路

 基于EP1C6Q240C8的FPGA芯片实现对实际振动台的模拟设计_设计制作_电源/新能源

图3 DAC8581 时序图

 基于EP1C6Q240C8的FPGA芯片实现对实际振动台的模拟设计_设计制作_电源/新能源

图4 DAC8581时序要求

4.1 FPGA对ADS1100芯片的控制

调频和调幅信号使用同一款芯片:ADS1100,16位串行,     I2C   接口,在本设计中数据更新率是8SPS,电压型输出。此芯片仅可在从件模式下工作。ADS1100将模数转换结果传给FPGA模块,由FPGA进行串并转换。

FPGA对ADS1100提供SCLK和SDA引脚,符合I2C协议。FPGA是主器件,在开始与ADS1100通信前先对SDA写2个字节,分别确定和哪个ADS1100进行通信和对ADS1100的配置     寄存器   (configura     ti   on regis     te   r)进行写以确定对其的操作模式。FPGA外接24MHz的     晶振   ,经分频得到4MHz的时钟,ADS1100按8SPS的数据更新率工作,FPGA探测数据线变化以产生SCLK时钟信号赋给SCLK引脚。篇幅受限,I2C的FPGA实现不一一赘述。

4.2 FPGA对DAC8581芯片的控制

信号输出使用芯片DAC8581,16位串行,S     PI   接口,在本设计中最高数据更新率是1.8MHz,电压输出。DAC8581接收从FPGA传送过来的串行数据,将其进行数模转换,产生振动信号,模拟实际振动台的理想振动情况。

FPGA中,由PLL倍频得到36MHz的时钟提供给DAC8581的SCLK引脚。由调频信号计算得到串行DAC的数据更新率,按此频率更新串行DAC的数字输入。由同一个PLL倍频得到240MHz的时钟捕捉将由DAC处理的数字输入信号和SCLK引脚信号的跳变沿,从而产生DAC8581的CS片选信号。

数据data一旦准备好,赋给register,240MHz时钟探测到第一次SCLK上升沿,就拉低CS片选,第二次探测到SCLK上升沿时已经至少是下一个240MHz的上升沿了,从而满足Tlead(见图3、图4)参数的要求。CS低时,一旦240MHz时钟探测到SCLK下降沿,将register的最高位数据赋给SDA,将register左移一位,SDA保持不变,直到下一个SCLK下降沿。当捕捉到SCLK的第17个下降沿时,将CS拉高。由此即可满足以上的图3、图4对时序的要求。

4.3 FPGA对DAC8820芯片的控制

DAC8820产生振动噪声。16位并行,最高数据更新率4MHz,是电流输出型。本系统设有2个用户按键,分别表示产生40KHz~100KHz,100KHz~200KHz的噪声频率范围,FPGA接收按键信号确定噪声的频率范围,在此频率范围内产生一个随机频率,由此计算得到DAC8820的数据更新率,FPGA按此频率准备数据以更新并行DAC的数字输入。由DAC8820将其进行数模转换,模拟实际振动台在可能受到外界各种干扰信号后产生的噪声情况。

 基于EP1C6Q240C8的FPGA芯片实现对实际振动台的模拟设计_设计制作_电源/新能源

图5 DAC8820外部电流电压转换电路

DAC8820的引脚WR(低有效)是将16位数据加载到输入寄存器;LDAC(高有效)是将数据从输入寄存器加载到DAC寄存器;但是若将同一信号同时赋给WR和LDAC,则可在下降沿将16位数据加载到输入寄存器,在上升沿将数据从输入寄存器加载到DAC输出。

由FPGA将24MHz的晶振时钟分频得到数据更新率,由此得到的时钟信号经高频时钟同步赋给DAC8820的WR和LDAC。由于DAC8820是电流输出的,所以将电流输出经过OPA277电流电压转换输出,见图5。图中的C1是补偿     电容   ,其作用是防止增益峰值的出现。

5、结论

综上,此振动模拟器的调频信号的分辨率是16比特,可产生0 ~5kHz的清晰信号,所以频率精度可达到0.076Hz,并可与200KHz以下的确定频率范围的随机噪声进行     合成   ,输出信号幅度分辨率可达16比特,而且噪声的频率范围是可控的。

本文作者创新点:充分利用了FPGA可现场编程的特点,给读者提供了一个实施简单,成本低,可按用户需求灵活改变,且易升级的振动模拟器的设计方案;且对有特殊要求的信号发生器的设计有一定借鉴意义。

责任编辑:gt

31
48
0
44

相关资讯

  1. 1、本周新游开测一百二十弹搞笑幽默与热血战斗的碰撞3068
  2. 2、《烈焰龙城》战神称霸玩家穿越YY无敌流2804
  3. 3、200级解锁《昆仑墟》坐骑脉术强势助战800
  4. 4、本周礼包汇总温暖礼包献礼父亲节2785
  5. 5、《HND英雄永不灭》圣诞版今日上线再获苹果推荐2259
  6. 6、最强大脑《推理学院》新资料片“狼人杀”5月12日开启1502
  7. 7、北京烤鸭加入《料理次元》豪华套餐4255
  8. 8、经典回归重拾情怀《鬼吹灯3D》周边礼品大揭露1146
  9. 9、面面俱到也是特色《青春篮球》重塑PF小前锋4124
  10. 10、喜大普奔之模范游戏《猎魔(安卓版)》即将首发1749
全部评论(0)
我也有话说
0
收藏
点赞
顶部