东华理工大学学报(自然科学版)
JOURNAL OF E AST CH I N A I N STI T UTE OF TECHNOLOGY
Vol 132 No 14
Dec .2009
收稿日期:2009208219
基金项目:江西省高校教学改革研究立项课题(JXJG 206210217)
作者简介:黄乡生(1950—),男,硕士,教授、硕士研究生导师。主要从事
智能仪器、虚拟仪器原理与应用、可编程逻辑器件应用的研究。E 2M ail:xshhuang@ecit .edu .cn
doi:10.3969/j .issn .167423504.2009.04.016
基于DDS 和FPG A 的数字函数信号发生器设计和实现
黄乡生, 杨占才, 胡世文
(东华理工大学信息与电子工程学院,江西抚州 344000)
摘 要:采用现场可编程逻辑器件(FPG A ),辅以必要的模拟电路,设计实现了一个基于直接数字式频率合成(DDS )技术的数字函数信号发生器。主要模块有键盘、波形表生成、频率控制、数模转换及幅度控制、显示控制和后级处理。其中键盘用来设定频率和幅度的大小以及波形的选择;FPG A 用来改变DDS 频率控制字,并由FPG A 来实现波形表生成和频率控制,即DDS 算法实现模块;将FPG A 产生的波形数据送入到AD7520进行D /A 转换。幅度控制由DAC0832内部的电阻分压网络实现;后级采用低通滤波器和OCL 电路来提高输出波形质量并增强其带负载能力。关键词:现场可编程逻辑器件;直接数字式频率合成;数字信号发生器;硬件描述语言中图分类号:TP273+5 文献标识码:A 文章编号:167423504(2009)042390204
通信、数字电视、卫星定位、航空航天、雷达和电子对抗等技术的发展对频率合成技术提出了越来越高的要求,波形发生器的核心是频率合成技术,频率合成技术是将一个或多个高稳定、高精确度的标准频率经过变换,产生同样高稳定度和精确度的大量离散频率的技术。频率合成理论自20世纪30年代提出以来,已取得了迅速的发展,逐渐形成了目前的四种技术:(1)直接频率合成技术。由一个高稳定、高纯度的晶体参考频率源,通过倍频器、分频器、混频器,对频率进行加、减、乘、除运算,得到各种所需频率;(2)锁相频率合成技术。采用单片锁相环(P LL )电路,辅以单片机及定时器等进行控制实现频率合成(余朝琨,2001);(3)直接数字式频率合成技术(潘松等,2006);(4)混合式频率合成技术。采用DDS 附加P LL 方案,在环路中插入混频器,用DDS 和P LL 的输出相加来实现。
直接数字频率合成技术(D irect D igital Fre 2quency Synthesis,即DDS )。从相位量化的概念出发进行频率合成。20世纪80年代末随着数字集成电路和微电子技术的发展出现了一种新的数字频率合成技术直接数字频率合成技术。DDS 技术与传统的频率合成技术相比,具有频率分辨率高、相位噪声小、稳定度高、易于调整及控制灵活等优点。
虽然各芯片制造厂商都相继推出采用先进C MOS
工艺生产的高性能、多功能的DDS 芯片,然而在某些场合,专用DDS 芯片在控制方式、信号频率及变换速率等方面与系统的要求差距很大,这时如果用高性能的FPG A 器件来设计符合需要的DDS 电路,就是一个很好的解决方法(唐亚平,2007)。
1 DDS 实现原理
DDS 实现基本原理如图1所示。电路一般包
括基准时钟f c 、频率累加器、相位累加器P A 、幅度/相位转换电路(即波形存储器Me mory )、D /A 转换器DAC 和低通滤波器LPF 等部分组成。
DDS 的工作原理实质上是以数控方式产生频率与相位均可控的波形。频率累加器对输入信号进行累加运算,产生频率控制数据X 或相位步进量;相位累加器由N 位全加器和N 位累加寄存器级联而成,对代表频率的2进制码进行累加运算,产生累加结果Y ;幅度/相位转换电路实质是一个波形存储器,以供查表使用。读出的数据送入D /A 转换器和低通滤波器;工作过程为每来一个时钟脉冲,N 位加法器将频率控制数据X 与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据X 相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路(即图1中的Me mory ),幅度/相位转换电路根据该地址值输出相
应的波形数据。最后经数/模转换和低通滤波器将波形数据转换成所需的模拟波形。
相位累加器在基准时钟的作用下,进行线性相位累加,当相位累加器累加满量时就会产生一次溢出,这样就完成了一个周期,这个周期也就是DDS 合成信号的一个频率周期。其主要关系式如下:输出频率f 0=(X /Y )・f c 其中Y =2
N
(1)频率分辨率Δf =f c /2N (2)相位增量
ΔΦ=K 32π/2N
(3)
其中X 为频率控制字,N 为相位累加器位数,f c 为标
准时钟频率。
采用直接数字式频率合成器构成波形发生器,用随机读写存储器RAM 存储所需波形的量化数
据,按照不同频率要求以频率控制字X 为步进对相
位增量进行累加,以累加相位值作为地址码读取存放在存储器内的波形数据,经D /A 转换和幅度控制,再滤波即可得所需波形。
DDS 具有相对带宽很宽、频率转换时间极短(可小于20ns )、频率分辨率可以做得很高(典型值为0.001Hz )等优点,另外,由于全数字化结构集成,频率、相位和幅度都可以程控调节。
2 以FPG A (EP2C8Q208)为核心设计DDS
数字函数信号发生器
根据基于DDS 技术的数字函数信号发生器系统设计要求,整体设计框图如图2所示
。
2.1 系统构成
系统由七个模块构成:
键盘电路。本系统由于按键较多,为节省I/O
口和简化硬件电路,故采用5×4的行列式键盘(黄乡生,2007)。用线反转法编程行线和列线,控制位于行、列的交叉点上的按键,用于设置频率控制值和幅度大小。5×4的行列式键盘包括(1)数字0~9和小数点、星号3;(2)波形选择:正弦、三角、方
波;(3)步进+、-;(4)功能键:“频率”、“幅度”选择和“确定”。软件设计包括键盘扫描、延迟消抖、
键值译码与键值存储、功能译码等。
显示电路。为了节约FPG A 的I/O ,采用通常使用的动态显示方法(黄乡生,2007)显示波形频率与峰值。
① A ltera I nc .2008.Data Book .A ltera Cor porati on .
FPG A (EP2C8Q208)模块。采用A ltera 公司
EP2C8Q208芯片做处理器并实现DDS 原理①
。如前所述,直接数字合成DDS 的具体实现方法是:首先把需要产生的任意波形进行离散化后,存入一定容量的存储器单元中。在控制电路的协制
1
93第4期黄乡生等:基于DDS 和FPG A 的数字函数信号发生器设计和实现
AD7520波形输出电路。将FPG A的波形数据转化成模拟信号输出。D/A转换是把波形对应的数字量快速地转化为对应波形的模拟信号。D/A 的性能与合成的频率和精度有关,一般情况下,位数越多合成波形的精度越高;速度越快,合成频率越高。
DAC0832幅度控制电路。利用DAC0832内部的电阻分压网络,将其作为数控电位器使用。将DA7520的输出波形作为DAC0832的电压基准源输人,其输出波形幅度为V=(N/256)×V
in
,其中N为FPG A输入的幅度控制字。通过一个简单的电阻分压网络调整运放输出为±12V峰2峰值,由FP2 G A将幅度控制字送入DAC0832,将输入的控制字转化成模拟量作为输出信号即得到波形。由于DAC0832是8位数模转换器,即n=8,分辨率为12V/2n=46.875mV,即二进制数最低位的变化可引起输出的模拟电压变化为46.875mV,从而可实现峰2峰值0.1V步进调整。
滤波电路和功放电路。对输出波形进行滤波,并增加驱动负载的能力。
稳压电源电路。提供系统的电源。
2.2 软件系统设计
系统软件设计采用硬件描述语言Veril og HDL。在Quartus II集成开发平台下进行程序设计、调试和仿真。软件设计完成键盘监控及键值处理、波形产生模块、D/A幅度控制和幅度显示。总体采用自顶向下的设计方法,在每个模块中采用数据流设计方法。
主要介绍地址发生器模块,即波形产生模块的实现。地址发生器是将相位累加器和波形控制字即波形数据等集合在一起,可以用大规模FPG A实现。图3显示的是用Veril og HDL语言设计的程序框图
。
图3 地址发生器程序框图
F i g.3 The b l o ck d i ag ram o f the a dd re s s ge ne ra t o r
将连续信号进行离散化变成数字信号,取一个周期函数中的等分点m≥20时,信号的拟合性比较理想。考虑到数字信号的二进制特性,可选择m为32,,128,256等2的幂函数。每个单元储存信息的位数n决定了输出电压信号的分辨率,位数越多量化误差越小。由于储存的函数编码输出给D/A 转换器,存储的函数编码字长必须与D/A转换器的位数相同。存储器的数据直接控制AD7520的数据口D9~D0,存储器地址由地址计数器控制。系统运行时,地址计数器按一定周期变化,控制存储器按序取出相应的函数编码值以改变输出电压幅度。
由于正弦波、三角波和方波都具有周期性,故只需将一个周期的波形离散化即可。每种波形一个周期取1024个数据,共有三种波形,因此数据个数为3072。波形数据定制程序采用MAT LAB语言编写。再利用Mega W izard Plug2I n Manager定制波形数据ROM。根据波形控制字,将地址指针和对应的波形数据地址一一对应(表1)。
表1 波形地址分配
Ta b.1 The l o ca ti o n o f w ave′s a dd re s s
波形控制值波形波形数据地址
001正弦波0~1023
010三角波1024~2047
100方波2048~3095
控制字计算模块的基本原理即DDS频率的计算公式f
=(f
c3N
)/2k,源代码略。
3 结语
基于DDS的数字函数信号发生器是在Quartus Ⅱ集成开发平台下,采用硬件描述语言Veril og和数字集成芯片FPG A(EP2C8Q208)设计实现,输出
293东华理工大学学报(自然科学版) 2009年
信号频率和幅度可调。频率范围0.02~200kHz,
峰2峰值V PP =12V,频率分辨率Δf =1Hz,峰2峰值步进ΔV PP =0.1V 。
采用FPG A 实现DDS 的方法与采用专用DDS 芯片相比,具有可控性好、信号质量较高、成本较低等突出优势。
参考文献
余朝琨.2001.单片机控制的锁相频率合成技术[J ].华东地质学院
学报,24(3):2242227.
潘松,等.2006.EDA 技术实用教程(第3版)[M ].北京:科学出版社.10.
唐亚平.2007.基于FPG A 与DSP 的等精度数字频率计设计[J ].微计算机信息(嵌入式与S OC ),23(1):2492250.
黄乡生.2007.基于CP LD 的LED 显示管理电路设计[J ].东华理工学院学报,30(1):70272.
The Desi gn and I mple ment ati on with FPGA For D i git al
Functi on Generator Based on DDS
HUANG Xiang 2sheng, Y ANG Zhan 2cai, HU Shi 2wen
(Faculty of I nf or mati on and Electr onic Engineering,East China I nstitute of Technol ogy,Fuzhou,JX 344000,China )Abstract:This article discuss how a FPG A acts as core,auxiliary by necessity anal og circuit,and the digital func 2ti on generat or is designed &constituted based on the DDS technol ogy .The main module have the keyboard,the wave f or m generati on,the frequency contr ol,the digital 2anal og conversi on and the a mp litude contr ol,the dis p lay contr ol and latter level p r ocessing .Among the m ,the keyboard is used t o set the frequency and a mp litude,as well as the choice of wavef or m;FPG A t o change the word of DDS frequency contr ol and t o realize the wavefor m table ’s generati on;The p r ofile data p r oduces which FPG A sends in AD7520t o carry on the DA transfor mati on .The a m 2p litude contr ol realizes by the DAC0832internal resistance ladder net w ork;The latter level uses the l o w pass filter and the OCL a mp lifier in order t o i m p r ove the wave quality and strengthen its l oad characteristic .Key W ords:FPG A;DDS;signal generat or;veril og HDL
3
93第4期黄乡生等:基于DDS 和FPG A 的数字函数信号发生器设计和实现下载本文