基于FPGA的任意波形发生器设计与实现 下载本文

内容发布更新时间 : 2024/5/19 12:34:40星期一 下面是文章的全部内容请认真阅读。

40

基于FPGA的任意波形发生器的设计与实现

过低通滤波器滤波后的信号幅度只有0.9V 左右,因此必须经过经过放大和衰减电路才能达到波形发生器输出信号的幅度范围。此外,波形发生器还应该具有直流偏置能力,因此还要设计一个直流偏置电路。 (1)放大电路

我们设计的放大电路是用集成运算放大器来实现的。集成运放是模拟集成电路中应用最广泛的器件之一,其在信号的运算(如加、减、乘、除、微分、积分、指数、对数等)、信号的产生、有源滤波、波形变换、电源稳压、数模转换、模数转换等方面都有广泛的应用。

表征集成运放的参数很多,如输入失调电压、输入失调电流、输入电阻、开环增益、带宽(有时用增益带宽积表示)、输出电阻、转换速率SR(也称压摆率)等。在模拟通道设计时,选择运算放大器主要考虑集成运放芯片的电源电压范围、带宽、输出电压范围、压摆率SR、功耗和谐波失真。其中压摆率SR是一个非常重要的参数,它是指运放在额定负载及输入大信号时,输出电压上升段或者下降段斜率所能达到的最大值。SR反映了运放的大信号瞬态特性。对于在运放带宽内的任意波形输入信号,如果其最大变化率小于运放的压摆率,那么运放就能无失真的输出相应的波形。以正弦波信号为例,要得到无失真的最大输出电压?Vom,对于正弦波的限制是:

f?SR 式(3-7) 2?Vom在本设计中,由于正弦波的输出频率是:0.1mHz~50MHz,输出信号最大幅度为3V。我们选用的运放是高速电流反馈运放AD8009[18]。增益为10时小信号带宽为350MHz,大信号带宽为320MHz,另外具有5500V/us的压摆率,增益为10时建立为25ns,能采用+5V到±5V电源,在这里我们选用的是±5V电源。其电路如图3.14所示。

图3.14 放大电路

这是一个同相放大电路,放大倍数为(1?RW1/R50),通过调整可调电阻RW1的电阻值,就可以改变放大器的放大倍数。

第三章 任意波形发生器的硬件电路设计

41

(2)衰减电路

所设计的衰减电路是通过电阻分压网络来实现的,如图3.15所示。

图3.14 衰减电路

本文采用的是二级分压网络,整个衰减电路的衰减倍数为:

Attenuation?R53R54 式(3-8) ?RW2?R53RW3?R54通过调节RW2和RW3的阻值,就能实现不同的衰减倍数。同时,为了减少电阻分压网络之间以及分压网络对前后级电路的影响,中间插入了两个射极跟随器作为隔离。

为了实现数字化,图3.13和图3.14中的可调电阻并不是使用的机械式可调电阻器,而是使用的模拟多路选择器来选择不同的电阻值。因为模拟多路选择器要作为信号的通路,所以选择时要考虑其带宽、传输时间和导通电阻。本设计选用的模拟多路选择器是ADG658,它的-3dB带宽为210MHz,传输时间为80ns,导通内阻为45Ω。 (3)直流偏置电路

直流偏置电路的设计如图3.15所示。

图3.15 直流偏置电路

42

基于FPGA的任意波形发生器的设计与实现

直流电压从U15的正向输入端加入,信号从U15的反相端加入,U15相当构成了一个减法器电路。直流电压的调节是通过数字电位器X9C103[19]来实现的。X9C103是总阻值为10KΩ的数字电位器,其内部结构图如图3.16所示。按照 图3.15的接法,VH端的电势约+0.7V,VL端的电势约-0.7V。通过改变滑动端VW的触点位置,就能改变U15正向输入端的直流电压(-0.7V~+0.7V),这个直流电压经过U15后放大两倍,在输出端就能得到-1.4V~+1.4V的直流电平。

7-bit递增/递减计数器7-bit非易失性存储器100选1译码器传输门电阻阵列存储与恢复控制电路

图 3.16 X9C103内部结构

从图3.16来看,X9C103内部共有100个触点,触点位置的选择是通过U/D、INC端来控制的。U/D为触点滑动方向控制端,该端点的电平为高时,触点朝上(VH端)滑动,该端点的电平为低时,触点朝下(VL端)滑动;INC为触点动作控制端,每来一个负脉冲,触点位置朝滑动方向移动一次。触点位置每改变一次,波形发生器输出端直流电平改变约28mV。

3.3.5 外部接口电路

(1)外调制接口电路

外调制接口电路为波形发生器和外部信号提供一个接口,通过这个接口波形发生器可以实现外部信号调制功能。外调制接口电路的原理如图3.17所示。

外部信号隔直衰减钳位保护缓冲两级放大电平转换采样FPGA 图3.17 外调制接口电路原理

图3.18中,由于衰减和放大电路的存在,可以使输入信号幅度在50mV~10V

第三章 任意波形发生器的硬件电路设计

43

这个比较宽的动态范围内变化。考虑到调制信号的频率一般都在KHz范围,所以在设计时A/D采样芯片选择了相对低速的AD7470[20],其精度为10位,最高采样率为1.75MSPS,参考电平为2.5V,能达到的幅度分辨率为2.4mV。 (2)USB接口电路

任意波形发生器要产生任意波形,需要实时更新其波形存储器内的数据,为此,我们需要设计一个接口电路,通过此接口,可以实现波形发生器与计算机的通信,通过计算机下载波形数据和发送控制命令。

USB总线具有热插拔、即插即用、传输速度快、接口体积小等特点,而且目前绝大多数的计算机配有USB接口,因此我们选择了USB接口方式。选用何种芯片来实现USB接口模块,一般是基于任务的需要,编程的难易度,性能价格比,可重复编程及提供的范例代码等几方面的因素来考虑。在综合权衡之后,选择了Cypress公司的EZ-USB FX2系列芯片CY7C68013[21],它实际上是内部集成了USB2.0协议的微处理器,它支持12Mbps的全速传输和480Mbps的高速传输。其内部结构如图3.18所示。

24MHz外部晶振地址(16)数据(8)地址(16)/数据(8)总线锁相环×20/0.5/1.0/2.08051核12/24/28MHzI2C总线控制器扩展I/O(24)1.5kD+D-USB2.0收发器CY USB1.1/2.0智能引擎8.5KBRAM地址总线GPIF通用可编程I/O接口控制总线4KBFIFO8/16位 图3.18 EZ-USB FX2内部结构图

EZ-USB FX2主要由USB2.0收发器、串行接口引擎(SIE)、增强型8051、8.5KB的RAM、4KB的FIFO存储器、I/O、数据总线、地址总线和通用可编程接口(GPIF)几部分组成。USB收发器负责提供USB2.0/1.1的物理接口到USB总线并管理数据的收发;串行接口引擎主要用于USB数据的串/并双向转换,并按照USB2.0协议来完成数据流的位填充/位反填充,以及循环冗余校验码的产生和检验,这个功能强大的USB内核可以自动完成USB协议的转换,大大简化了

44

基于FPGA的任意波形发生器的设计与实现

其固件代码的设计,使得开发者不需要深入了解USB的底层协议就可以顺利开发出所需要的USB外设;内部的增强型8051微处理器缩短了指令的执行时间,将一个指令周期缩短到4个时钟周期,并且它用内部的RAM存储数据和程序,使FX2 具有了软配置的特征(所谓软配置,是指FX2未连接到PC机之前,其固件程序是存储在PC机上的,在它连接到PC机后,PC机将它的固件下载到其RAM中并执行)。这个特性给USB的外设开发者带来了许多方便,比如在开发过程中,当固件需要修改时,可以在PC机上修改好以后,下载到FX2中,从而可以省去烧写芯片的麻烦。

FX2提供了三种接口方式:端口方式、从属FIFO方式和可编程GPIF方式: 在端口方式下,FX2的I/O引脚可以作为其内部8051的通用I/O口; 在从属FIFO方式下,外部控制器可以像对普通FIFO存储器一样对FX2的多重缓冲FIFO进行读写;

可编程GPIF方式则更为灵活,可以通过软件编写读写控制波形来实现与外部接口的通信控制。

本设计的USB接口电路如图3.19所示。

数据总线时钟电路控制总线复位电路图3.19 USB接口电路