基于FPGA和SD卡的任意波形发生器设计

2013-09-12 01:50陆正刚
微处理机 2013年6期
关键词:时钟增益总线

王 洁,陆正刚,龚 健

(同济大学铁道与城市轨道交通研究院,上海 201804)

1 引言

基于频率合成的波形发生器广泛运用于通信和电子仪器中。受使用环境的限制,要求波形发生器设备具有便携性和通用性。目前任意波形发生器的研制主要基于DDS技术,与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在通信、测量与电子仪器领域,是设备全数字化的一个关键技术[1]。

根据DDS直接数字波形方法设计了基于FPGA和SD卡的便携式任意波形发生器,兼具使用方便(波形文件可以直接由通用读卡器写入SD卡中)和工作可靠的特点。

2 系统结构与硬件设计

波形发生器提供一个通道,可产生多种不同频率、不同形式的信号。系统结构如图1所示,主控制器采用ALTER公司的CYCLONE3系列FPGA EP3C25Q来完成DDS直接数字波形生成以及SRAM和SD卡的控制。数据存储采用SD卡,可存放2G波形文件。数据缓存则采用 ISSI公司的SRAM IS61NLP102418A,可以缓存18×1024Kbit的数据,实现低速SD卡数据读取和高速波形产生之间的缓存,最后由MAXIM公司的MX7451A完成数字波形到模拟波形的转换,由集成式开关电容滤波器完成滤波。系统结构如图1所示。

图1 任意波形发生器系统结构

3 DDS组成及工作原理

任意波形发生器一般采用DDS(Direct Digital Synthesis,直接数字合成)技术作为波形合成的核心技术。其信号源容易实现,精度高,能把信号源的频率稳定度、准确度提高到和基准频率同样的水平,且可以在很宽的频率范围内进行精细的频率调节[4]。

考虑FPGA片内资源的有限性,使用了如图2所示的DDS结构。

图2 DDS构架图

图中频率控制字K和相位累加器用来控制输出频率,输出频率为

其中N为相位累加器的位数,K为频率控制字,Tref为基准时钟频率。

4 SD卡数据存储

SD卡作为多功能存储卡,具有较快的传输速度和较大的存储容量,适合存储大量波形文件,以供调用。SD卡有两种总线模式,SD卡总线模式和SPI总线模式。SD卡总线模式采用4根总线传输数据,传输能力强但协议复杂。SPI总线模式采用单根数据线传输数据,其传输能力基本满足设计要求,并且具有协议简单的优势。设计采用SPI模式读取SD卡中波形文件数据。

在SPI模式下,FPGA与SD卡的连接主要有四根线(包括一根时钟线,两根数据传输线和一根片选线),其硬件连接如图3所示。

读取SD卡中波形数据前需确定波形数据存放的首地址,可由上位机程序先行确定其存放格式,例如FAT16、FAT32等。读取SD卡中数据的基本流程如下:

初始化步骤

(1)延时至少74clocks;

(2)发送 CMD0,需要返回 0x01,进入 Idle状态;

(3)循环发送 CMD55+ACMD41,直到返回0x00,进入Ready状态;

(4)发送CDM16,设置数据长度为512Bytes。

图3 FPGA与SD卡连接图

读步骤

(1)发送CMD17(单块)或CMD18(多块)读命令,返回0x00;

(2)接收数据开始令牌0xfe+正式数据512Bytes+CRC校验2Bytes。如图4所示。

图4 读取SD卡中数据

SPI模式下一组命令占6字节,命令格式如表1所示。

表1 SPI模式下命令格式

5 SRAM数据缓存

由于SD卡的数据传输速度与DAC的高工作频率之间不协调,需添加一块SRAM作为缓存。单个波形数据文件先从SD卡中读出并写入SRAM中,由DDS模块中的相位控制字决定读取SRAM时的首地址,再由频率控制字K和相位累加器取得读取地址,从SRAM中读取波形文件,送入DAC中。

ZBT SRAM分为两种,pipelined ZBT SRAM和flow-through ZBT SRAM。设计选用 ISIS公司IS61NLP102418芯片,Pipeline型,存储容量为1Mb×18bit,最大工作频率为250MHz,pipelined ZBT SRAM读命令发出两个时钟周期之后,可得到读取的数据,写命令发出两个时钟周期之后,可以写数据。

表2为ZBT SRAM的读写真值表[5]。接口信号主要由时钟信号、控制总线、地址总线和数据总线等组成,所有控制信号、地址信号和数据信号都在时钟信号(CLK)的上升沿被采样。若符合真值表,当为低时对地址线上指定的地址单元进行写操作,为高时则对地址线上指定的地址单元进行读操作[6]。

表2 ZBT SRAM读写真值表

6 数模转换

由于从DDS模块中读出的是波形的量化值,数字量,故需要DA进行数模转换。选择数、模转换器DAC时需综合考虑其转换速度、分辨率、SNR、接口和输出形式等。经分析选择MAXIM公司的MX7541A作为DAC。它是一款高速DA芯片,12位,电平建立时间0.6μs,并行接口,双极性模式下原理图如图5所示[7]。

图5 MX7541A原理图

如图5所示,可通过R1调整Vref,C1做反馈电压的相位延时调整,R2做反馈电压调整电阻。由AD7541a输出的是微弱电流信号,因此需要放大信号。在此选用AD8041高速运算放大器,采用±5V供电,从图6中可以看出它在0-30MHz具有小于0.1db的增益平坦度。当数字信号不断送入时,输入输出电压关系如表3所示。

表3 输入输出真值表

图6 频率增益图

7 滤波电路与放大电路

低通滤波器的设计是整个系统的关键点与难点。离散数字信号经过DAC转换为模拟信号时带来了频谱分量复杂,杂波多等缺点,需要针对不同信号设计低通滤波器来保持有效分量并抑制杂波。理想的低通滤波器的幅频特性和群延迟特性如图7所示[8]。

图7 理想低通滤波器幅频特性和群延迟特性

实际上这种理想的滤波器是不存在的,只有去无限接近其特性曲线。同时若针对某一波形设计适合的模拟滤波器,则将不能随输出波形的改变而改变其截止频率,况且模拟滤波器具有一定的设计难度和较大的公差,制造困难。故选择了MAXIM公司的集成滤波器作为解决方案。

Maxim公司的 MAX293,是一款集成式8阶、Elliptic、低通开关电容式滤波器,-5V~+5V供电,十分适合应用于反锯齿波的设计中。其拐角频率范围 0.1Hz~25KHz。滤波比为1.5提供 -80DB的缓减带。它的控制简单,只需设定时钟频率去控制拐角频率,时钟与拐角频率的比值为100:1[9]。图8是它的引脚连接示意图。

图8 MAX293引脚连接示意图

只需要控制引脚1(CLOCK)就可以改变其拐角频率。根据DDS原理得知,波形频率公式如下:

0.6 μs为DAC器件的电平建立时间,故Tref=1.667MHz。通过公式可知波形频率可通过K来改变,若K为1则,fout=6.36Hz(频率分辨率)。

针对不同输出信号频率,需要给予时钟信号控制滤波器的拐角频率。综合考虑到开关时钟的相位抖动而产生的不同程度失真,故采用CYCLONE III中的PLL时钟合成器来产生精确的时钟信号。Quatus II提供相应的IP核来配置PLL。值得一提的是,Cyclone III PLL的重新配置功能,能够在器件工作时动态改变PLL状态。可以在片内存储器中存储多个PLL状态配置,根据系统建立的触发条件而动态进行加载。图9所示为这种系统的一个例子,根据一组固定输入或者用户建立的触发条件而采用了3种不同的频率模式。一个Cyclone III PLL便能够支持所有3种模式,每一模式对应一种PLL状态配置,可以实时进行动态加载。ALTERA提供了相关IP支持重新配置,为频率控制字K来决定PLL的配置方案提供了可能。

图9 PLL参数动态加载系统实例

图10为 PGA206增益与频率响应对照图[10]。该可编程增益放大器在100KHz以下具有良好的线性特征。

幅度增益部分则采用TI公司的PGA206来实现,其提供可编程增益,1、2、4、8t V/V。

图10 PGA206增益与频率响应对照图

8 结 束 语

针对任意波形发生器的便携性和通用性提出了使用SD卡来完成数据存储功能。又通过分析DDS理论提出了使用频率控制字来确定滤波器的拐角频率,可以根据用户需求设置低通滤波器的截止频率,从而节省了设计多个滤波电路的成本,减少了电路复杂性。

[1]张严,洪远泉.基于FPGA的任意波形发生器设计与研究[J].现代电子技术,2011,34(10):157 -159.

[2]彭龙.200MSPS任意波形发生器数字电路设计[D].成都:电子科技大学,2012.

[3]张洪涛,莫文承,李兵兵.基于SPI协议的SD卡读写机制与实现方法[J].电子元器件应用,2008,10(3):42-43.

[4]林英撑,童晓华,刘向宇.FPGA嵌入式系统设计与开发指南[M].北京:中国电力出版社,2012.

[5]ZBT SRAM Controller Reference Design For Stratix&Stratix GXDevices[EB/OL].www.altera.com,2004,4.

[6]王小蓉,田书林,刘科.一种ZBT SRAM接口控制器的设计[J].电子测试,2010(12):47-50.

[7]Data sheet of MX7541a[EB/OL].china.maximintegrated.com,1998,6.

[8]刘志宇.基于FPGA的DDS双通道波形发生器[D].哈尔滨:哈尔滨理工大学,2008.

[9]Data sheet of MAX293[EB/OL].china.maximintegrated.com,2006,08.

[10]High-Speed Programmable Gain Instrumentation Amplifier[EB/OL].www.ti.com.cn/product/cn/pga206,1995,05.

猜你喜欢
时钟增益总线
别样的“时钟”
基于增益调度与光滑切换的倾转旋翼机最优控制
古代的时钟
基于单片机的程控增益放大器设计
基于Multisim10和AD603的程控增益放大器仿真研究
一种基于CAN总线的误码测试方法
有趣的时钟
程控增益射频宽带放大器
时钟会开“花”
CAN总线并发通信时下位机应用软件设计