完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
DDS具有相对带宽宽、频率转换时间短、频率分辨率高、输出相位连续、可产生宽带正交信号及其他多种调制信号等优点,已成为现代频率合成技术中的姣姣者。目前在高频领域中,专用DDS芯片在控制方式、频率控制等方面与系统的要求差距很大,利用FPGA来设计符合自己需要的DDS系统就是一个很好的解决方法。
现场可编程门阵列(FPGA)器件具有工作速度快、集成度高、可靠性高和现场可编程等优点,并且FPGA支持系统现场修改和调试,由此设计的DDS电路简单,性能稳定,也基本能满足绝大多数通信系统的使用要求。 1 DDS的结构原理 DDS的基本原理是利用有限的离散数据,通过查表法得到信号的幅值,通过数模转换器D/A后生成连续波。DDS的原理框图如图1所示。 其中:频率控制字为fword;相位累加器的位数为N。相位累加器以步长fword做累加,产生所需的频率控制数据;把得到的频率控制数据作为地址对ROM存储器进行寻址。数据存储器(ROM)实质是一个相位/幅度转换电路,ROM中存储二进制码表示所需合成信号的相位/幅度值,相位寄存器每寻址一次ROM,就输出一个相对应的信号相位/幅度值。 理想情况下,累加器的N位全部用来寻址时,DDS的合成频率为: 式中:fword为频率控制字;N为相位累加器位数;fclk为输入时钟。当fworld=1时,得DDS的最小分辨率。如果改变频率控制字,就可以改变合成的频率的频偏。 |
|
|
|
2 DDS调频系统在FPGA中的实现
2.1 累加控制模块的设计 累加控制模块通过调用QuartusⅡ中模块化库LPM进行设计。即由加法器lpm_add_sub和乘法器lpm_mult及累加器altaccumulate模块构成。若要求DDS系统精度高,相位累加器的位数N须较大。现在大多数专用的DDS芯片的位数都在24~32位之间,这里取N=32。累加控制模块如图2所示。 ADC转换芯片处理后的8位数字信号,为了使DDS合成的频率较大,末尾补4个O作为参数化模块lpm_add_sub的12位输入datai。由于ADC信号输出的是8位二进制偏移码,与计算机处理的二进制补码形式不同,需将二进制偏移码转换成二进制补码,在这里与另一路输入信号常数2 048做减法,就能达到求补的目的,并输出12位有符号数。 12位的输出接入lpm_mult模块,lpm_mult的另一路输入为12位任意数输入。乘法器的输出直接影响累加器累加相位的速度。当乘以一个比较大的数,则频率变化加快。 同理,为了使合成频率较大,乘法器的24位输出在末尾补O成为32位数datab送到累加模块altaccumulate中。为了节省ROM容量,最后取altaccumulate输出的高10位作为ROM查找表的地址信号。累加控制模块的时序仿真如图3所示。 2.2 ROM查找表的设计 针对不同的可编程器件,ROM查找表的设计采用的方法也不相同。主要是基于lpm_rom和VHDL选择语句这两种方法。使用lpm_rom的波形存储表只需要产生数据文件*.mif,然后直接在定制lpm_rom时,添加数据文件即可。不过这种方法在FPGA支持内部嵌入式阵列块(EAB)时才可以使用;使用VHDL选择语句比较直观,但当输入数据量大的时候,这种方法是比较繁琐的。此次设计采用第一种方法。 mif文件是在编译和仿真过程中作为存储器(ROM或RAM)初始化输入的文件,即memory initialization file。创建mif文件的方式有很多种,在这次设计中,在Matlab中采用C语言来生成mif文件。mif文件编写格式如下: 通常相位累加器的位数N很大,实际设计中受到体积和成本的限制。为了节省ROM的容量采用相位截断的方法,一般只取累加器输出的高几位作为ROM的寻址地址。设计中取累加结果的高10(M=10)位来进行查表,也就是说正余弦ROM有210=1 024个寻址地址,数据宽度为12。如图4所示,设计了2个lpm_rom模块,分别是sin波形存储器和cos波形存储器。 3 单片机控制电路 此次选择的FPGA芯片为Altera公司的ACEXlK系列的EPlK30TTl44-2。它可以采用专用的配置器件来配置,也可以采用单片机来配置。前者价格昂贵,而且专用配置器件的ROM为一次性编程,不易实现FPGA的系统功能转换。采用单片机C8051F330D对FPGA进行被动串行(PS方式)配置,使用可多次修改的AT24C512(E2PROM)作为配置文件存储器,真正做到“现场可编程”,对提高生产率、降低生产成本均有好处。 系统的配置电路如图5所示。其电路的工作过程为:经QuartusⅡ编译生成的配置文件(.rbf),利用PC机端的控制程序,通过PC机的串行通信口,经U1存储在U2中,U1再根据系统的要求通过P0.6,P1.O,P1.1,P1.6和P1.7等5个I/O口将其存储在U2中的配置数据下载到电路中的FPGA器件U3中。PC机的控制程序在此略。 |
|
|
|
4 设计结果
累加控制器、ROM查找表组成一个整体,实现了一个基本的DDS系统。DDS系统的最后仿真结果如图6所示。 图6中的pllclk,acum,dai,daq分别代表时钟输入、累加输出及正弦波和余弦波输出。把O~2π的相位分成3FF段,取出相应的幅度值存储于ROM中。ROM中存储数据如下,相位数据(O~3FF),幅度数据(O~FFF)。从仿真图可以看出dai[11..O]输出从EFF~FFF~0~EFF变化,daq[11..O]输出从FFF~O~FFF变化。最后通过单片机配置FPGA运行,把得出的信号通过D/A转换和滤波能够得到所需的正弦波和余弦波信号。 5 结语 给出了基于FPGA的DDS设计的实现方案。通过仿真分析可以看出,DDS输出信号具有如下特点: (1)频率稳定性好,转换时间短,分辨率高,相位变化连续。 (2)设计者只需要通过改变测试输入数据,就能够快速准确地实现不同波形并且验证正确性,使得测试工作更加全面高效,从而提高了调试效率和成功率。 (3)整个信号实现过程较为简单,实用性较强。 限于实验条件,此次设计在降低相位截断误差等方面仍有改进的空间,还可以进一步优化,限于篇幅,在此不多做介绍。 |
|
|
|
只有小组成员才能发言,加入小组>>
2865 浏览 3 评论
27627 浏览 2 评论
3438 浏览 2 评论
3959 浏览 4 评论
基于采用FPGA控制MV-D1024E系列相机的图像采集系统设计
2305 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 22:26 , Processed in 0.648770 second(s), Total 104, Slave 84 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号