基于FPGA的DDS设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FPGA的DDS设计与实现
摘要:本文在理论上对直接数字频率合成(directdigitalsynthesizer)的原理及其输出信号的性能进行了分析,用台湾友晶公司的de2开发板设计完成了dds产生正弦波的软硬件调试。正弦波输出为23.84hz至1562500hz,精度为23.84hz,相位0至360度,精度小于0.1度。
关键词:相位累加器;相位调制器;dds;fpga
中图分类号:tn741 文献标识码:a 文章编号:1674-7712 (2013)04-0093-01
频率合成技术广泛应用于通信、航空航天、仪器仪表等领域。目前,常用的频率合成技术有直接频率合成、锁相频率合成和直接数字频率合成(dds)等。其中dds是一种新的频率合成方法,是频率合成的一次革命。
一、dds的组成及其原理
dds是一种全数字的频率合成方法,其基本结构主要由相位累加器、相位调制器、波形存储rom、d/a转换器组成,如图1所示。相位累加器由一个n位的加法器和一个n位的寄存器构成,通过把上一个时钟的累加结果反馈回加法器的输入端而实现累加功能。k为频率控制字,p为相位控制字。设fc为参考时钟频率,n为相位累加器的字长。正弦波在相位上的精度定为n位,于是频率分辨率为1/2n。可以得到dds方程为,其中f0是输出频率。当k=1时,输出最低频率。而dds理论上的最大输出频率由奈奎斯特采样
定律决定,即,此时k=2n-1。只要n取值很大,dds就可得到很细的频率间隔。但d/a转换器的位数是一定的,一个周期分为2n
个点,如果n取值很大,在波形rom中存储了很多相同幅值的点,这样没有必要。假设d/a转换器的位数是n,波形存储器的地址位数是m,而正弦函数的最大斜率是1,必须保证此处的水平分辨率大于垂直频率,有如下关系:,对于n和m都为正整数,可得m=n+2。同时采用截断式用法,取相位累加器的高m位,以减少波形rom的容量。
dds技术把需要的波形数据存储到波形查找表中,就可按需要产生不同的信号,既可产生正弦波,又可产生任意波形的信号,这使dds技术在需要特殊波形的领域得到了极大的应用。
二、dds的软硬件实现及外围电路
本文dds设计基于台湾友晶公司的de2开发板,其核心芯片为altera公司的cycloneii的ep35672c6芯片,设计软件为quartusii。
dds设计中,输出为正弦波。频率控制字k是由一个8位的开关输入经过处理输出为27位的频率控制字,其变化范围为2047至227-1,步进为2047。最低输出频率和频率精度均为23.84hz,最高输出频率为1562500hz。相位控制字为12位的开关输入,可调节相位0至360度变化,相位精度小于0.1度。
系统的顶层设计如图4所示,加法器add32和寄存器reg32构成了相位累加器,加法器add12和寄存器reg12构成了相位调制器。
选择器mux和乘法器mult为了产生一个大的频率控制字k,mult
的输出为频率控制字k,mux的8位输入端f[7..0]和相位控制字
p[11..0]字由de2开发板开关直接输入,时钟频率50mhz。波形存储器sin_rom的输出和d/a转换器相连。sin_rom的波形数据文件用matlab生成。
其外围d/a电路采用并行10位的dac900u芯片,d/a以及lpf所用到的运放均采用ti公司的ad817。
本文设计完成了dds产生正弦波的软硬件调试,输出正弦波频率、相位特性满足设计要求,输出正弦波波形稳定,失真度小。由于篇幅有限不另附d/a、plf的电路图及正弦波调试波形图。
参考文献:
[1]王金明.数字系统设计与veriloghdl(第4版)[m].北京:电子工业出版社,2011,1.
[2]夏宇闻.verilog数字系统设计教程(第2版)[m].北京:北京航空航天大学出版社,2008,6.
[3]杨春玲.eda技术与实验[m].哈尔滨:哈尔滨工业大学出版社.2009.4.
[作者简介]白玉(1981.10-),男,黑龙江省嫩江人,黑龙江省黑河学院物理化学系,硕士,讲师,研究方向:自动控制。