基于FPGA的DDS信号源设计
引言
目前市面上有多种DDS(直接数字合成)信号源芯片,如美国AD公司的AD9850,这类专用芯片由于价格昂贵、功能固定单一,使其应用受到限制。本文采用Altera公司的ACEXIK系列FPGA(现场可编程门阵列)器件,在一个FPGA器件中就可以很方便地实现相位累加器和波形查找表。使用VHDL(甚高速集成电路硬件描述语言)在QuartusII工具软件的环境中进行设计,可以一气呵成地完成硬件设计、仿真、综合、测试,直至对FPGA器件的配置,从而大大简化了设计过程、提高了设计效率,并可以根据实际需要对功能进行灵活修改。
1、DDS原理
DDS是一种从相位概念出发直接合成所需波形的数字频率合成技术。与传统的频率合成技术相比。DDS技术具有很高的频率分辨率,可以实现快速的频率变化,并且在频率改变时能保持相位连续,容易实现对信号频率、相位的多种调制,易于功能扩展和数字化集成等优点,满足了现代电子系统的许多要求。随着数字技术的飞速发展,DDS正逐步取代PLL锁相环),得到越来越广泛的应用口正弦信号可以用下式来描述:
![]()
式(1)中的时间t是连续的,为了用数字方式实现,必须进行离散化处理。
用周期为Tclk的基准时钟对信号进行采样,采样周期为Tdk采样频率Fclk=l/Tclk)。不难看出,连续两次采样之间的相位增量为:
![]()
将整个周期分成2"份,则相位的量化单位S=2×3.14/2"。若△=S,代人式(2)可得fo=fIk/2"。更一般的情况是△为S的M倍,即可得到输出信号的频率:M称为频率控制字(tuning word)。由式(3)可见,M决定了输出信号的频率,且两者是简单的线性关系。可以看出,当采样频率一定时,通过控制两次连续采样之间的相位增量(即通过频率控制字M),即可控制离散波形序列的频率:

M经保持和滤波后,可唯一地恢复出此频率的模拟信号。图1是DDS的基本结构。相位累加器可在每一个时钟周期来临时将频率控制字M所决定的相位增量累加一次,如果记数大于2",则自动溢出;LUT(查找表)实际上是一个存储器(ROM),其中存储着一个周期正弦波的幅度量化数据,用于实现从相位到幅度的转换。相位累加器的输出作为LUT的地址值,LUT根据输人的地址(相位)信息读出幅度信号,送到D/A转换器中转换为模拟量,最后通过滤波器输出一个平滑的模拟信号。

根据式(3),可以确定DDS的基本参数:
a)输出信号的分辨率(最小频率):
![]()
(4)此时每2"个时钟周期输出一个周期的正弦波。
b)输出信号一个周期内的点数:
![]()
当N比较大时,对于较大范围内的M值,DDS系统都可以在一个周期内输出足够的点,保证输出波形失真很小。
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
- 上一篇文章:两种EDA设计数据共性剖析与转换
- 下一篇文章:基于CPLD的时间控制器设计
