一种DDS的优化设计

最新更新时间:2012-02-16来源: 互联网关键字:DDS  优化 手机看文章 扫描二维码
随时随地手机看文章

在高可靠应用领域,如果设计得当,将不会存在类似于MCU的复位不可靠和PC可能跑飞等问题。CPLD/FPGA的高可靠性还表现在,几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。所以,本文将在对DDS的基本原理进行深入理解的基础上,采用多级流水线控制技术对DDS的VHDL语言实现进行优化,同时考虑到系统设计中的异步接口的同步化设计问题,把该设计适配到Xilinx公司的最新90nm工艺的Spartan3E系列的FPGA中。

  1 DDS基本原理及工作过程

  一个基本的DDS由相位累加器、波形存储器ROM、D/A转换器和低通滤波器组成,如图1所示。

  

DDS基本组成模块

 

  在图1中,fc为时钟频率,K为频率控制字(N位),m为ROM地址线位数,n为ROM数据线宽度(一般也为D/A转换器的位数),f0为输出频率。DDS的基本工作过程如下:每来一个时钟脉冲fc,加法器将频率控制字K与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。其中相位累加器由N位加法器与N位累加寄存器级联构成,累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可见,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器ROM的相位取样地址,可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号,由低通滤波器滤除杂散波和谐波以后,输出一个频率为f0的正弦波。输出频率f0与时钟频率fc之间的关系满足下式:

  

 

  由式(1)可见,输出频率f0由fc和K共同决定,保持时钟频率一定,改变一次K值,即可合成一个新频率的正弦波。DDS的最小输出频率(频率分辨率)△f可由方程△f=f0/2N确定。可见,频率分辨率在fc固定时,取决于相位累加器的位数N。只要N足够大,理论上就可以获得足够高的频率分辨精度。另外,由采样定理,合成信号的频率不能超过时钟频率的一半,即f0≤f0/2,因此频率控制值的最大值Kmax应满足Kmax≤2N-1。

  2 DDS的优化设计与实现

  采用VHDL硬件描述语言实现整个电路,不仅利于设计文档的管理,而且方便了设计的修改和扩充,还可以实现在不同FPGA器件[4]之间的移植。以下采用VHDL语言,探讨对FPGA实现DDS电路的三点优化方法。

  2.1 流水线累加器

  在用FPGA设计DDS电路时,相位累加器是决定DDS电路性能的一个关键部分。为使输出波形具有较高的分辨率,本系统采用32位累加器。但若直接用32位加法器构成累加器,则加法器的延时会大大限制累加器的操作速度。因此,这里引入了流水线算法,即采用4个8位累加器级联结构,每级用一个8位累加器实现该部分相位相加,然后将进位值传给下一级做进一步累加。这样可大幅提高系统的工作速度。但由于累加器是一个闭环反馈电路,因此必须使用寄存器,以保证系统的同步、准确运行。具体实现如图2所示。

  

流水累加器原理

 

  2.2 相位/幅度转换电路

  相位/幅度转换电路是DDS电路中的另一个关键部分,设计中面临的主要问题就是资源的开销。该电路通常采用ROM结构,相位累加器的输出是一种数字式锯齿波,通过取它的若干位作为ROM的地址输入,而后通过查表和运算,ROM就能输出所需波形的量化数据。考虑到正弦函数的对称性:在[0,2π]内,正弦函数关于x=π成奇对称,在[0,π]内,关于x=π/2成轴对称。因此,在正弦查找表中只须存储相位在[0,π/2]的函数值。这样,通过一个正弦码表的前1/4周期就可以变换得到整个周期码表,节省了近3/4的资源,非常可观。具体实现如表1所示,为节省ROM资源,取相位累加器输出的高8位做为ROM的输入地址,其中最高位(MSB)控制对输出信号符号的处理,次高位(MSB-1)控制对输入地址的处理。

  

当MSB-1为‘0’(一,三象限)时,对查找地址phase(5...0)不做任何处理;当其为‘1’(二,四象限)时,对phase(5...0)取反。ROM的输出为10位数据,其中最高位为符号位。当MSB为‘0’(一,二象限)时,输出信号符号位为‘0’,低9为ROM中的幅度数据;当其为‘1’(三,四象限)时,输出信号符号位为‘1’,低9位为ROM中的幅度数据的相反数的补码。ROM的VHDL实现的主要部分如下:

  architecture Behavioral of rom is

  signal sin:STD_LOGIC_VECTOR(8 downto 0);

  signal temp:STD_LOGIC_VECTOR(5 downto 0);

  begin

  temp<=phase when MSB-1=′0′ else

  not phase;

  process(temp)

  begin

  case temp is

  when ″000000″=>

  sin<=″000000000″;

  …… --正弦查找表由MATLAB生成

  end case;

  end process;

  data_out<=″0″ & sin when MSB=′0′ else

  ″1″ & not sin+″000000001″;

  end Behavioral;

  2.3 同步接口电路设计

  在使用DDS时,需要为其提供频率控制字K的值,一般通过中央控制单元MCU来完成,其以数据总线及写时钟信号的方式与FPGA内的DDS实体进行通讯,同时DDS在FPGA内部又是在本地时钟fc驱动下运行。由于MCU的写时钟和FPGA内的本地时钟异步,两者之间进行通讯难免存在数据不稳等问题,特别是在通讯速度较高时,这一异步接口问题会更加突出。为了实现异步接口的同步化,本文提出了如图3所示的接口同步电路。

  

异步接口同步处理电路
3 硬件实现及仿真结果

  本文使用VHDL 语言对各个模块及DDS系统进行描述。顶层文件如下所示:

  Entity dds is

  Port(reset:in std_logic;--全局复位信号

  fre:in std_logic_vector(7 downto 0);

  --频率控制字输入

  clk:in std_logic;

  --系统时钟

  fwwrn:in std_logic;      --频率控制字写信号

  gen:in std_logic_vector(0 downto 0);--波形控制字

  amp_out:out std_logic_vector(9 downto 0));

  --正弦波幅度输出

  end dds;

  architecture Behavioral of dds is

  component fcwld--接口同步模块

  Port(reset:in std_logic;

  clk:in std_logic;

  fre:in std_logic_vector(7 downto 0);

  fwwrn:in std_logic;

  syncfreq:out std_logic_vector(31 downto 0));

  --合成频率控制字

  end component;

  component accumulator        --流水线累加器块

  Port(reset:in STD_LOGIC;

  clk:in STD_LOGIC;

  syncfreq:in STD_LOGIC_VECTOR(31 downto 0);

  phase:out STD_LOGIC_VECTOR(7 downto 0));

  --相位高八位输出

  end component;

  component rom--波形存储器模块

  Port(phase:in STD_LOGIC_VECTOR(7 downto 0);

  gen:in STD_LOGIC_VECTOR(0 downto 0);

  amp_out:out STD_LOGIC_VECTOR(9 downto 0));

  end component;

  为了对DDS进行评估,将以上设计在Xilinx公司的开发软件中进行了设计及优化,目标器件为其最新的90nm工艺器件Spartan3E中最小器件XC3S100E-4VQ100C,该设计所占用的FPGA资源如表2所示。

  

 

  由表2可以看出,本文给出的DDS设计占用资源很少,由于XC3S100E的市场价格在2美金左右,故本设计所占的硬件成本可以缩减到0.2美金左右。同时在ISE8.2中该设计的系统时钟最大达到159.6MHz。以上的设计性能几乎和现有的专用芯片相当,但成本下降很多。

  为了进一步验证本文给出的DDS设计系统在功能和时序上的正确性,对其进行了时序仿真,使用的仿真软件为Modelsim6.1。仿真结果表明,该DDS系统可以运行在较高的工作频率下。

  本文在对DDS的基本原理进行深入理解的基础上,通过采用三种优化与设计技术:(1)使用流水线累加器在不过多增加门数的条件下,大幅提高了芯片的工作速度;(2)压缩成正弦查找表,在保证芯片使用精度的情况下减少了近3/4面积,大大节约了ROM的容量。(3)采用同步接口电路设计方案,消除了系统的接口不稳定性。同时使用VHDL语言实现了优化,并把该设计适配到Xilinx公司的最新90nm工艺的Spartan3E系列的FPGA中,实际结果表明了本文给出的DDS设计方案在硬件开销方面的优势。

关键字:DDS  优化 编辑:神话 引用地址:一种DDS的优化设计

上一篇:电源设计,自己掌控
下一篇:实时数据采集与存储系统的实现方法

推荐阅读最新更新时间:2023-10-13 10:56

Keil c 优化选项
优化级别说明(仅供参考): 则其中的 Code Optimization 栏就是用来设置C51的优化级别。共有9个优化级别(书上这么写的),高优化级别中包含了前面所有的优化级别。现将各个级别说明如下: 0级优化: 1、 常数折叠:只要有可能,编译器就执行将表达式化为常数数字的计算,其中包括运行地址的计算。 2、 简单访问优化:对8051系统的内部数据和位地址进行访问优化。 3、 跳转优化:编译器总是将跳转延至最终目标上,因此跳转到跳转之间的命令被删除。 1级优化: 1、 死码消除:无用的代码段被消除。 2、 跳转否决:根据一个测试回溯,条件跳转被仔细检查,以决定是否能够简化或删除。 2级优
[单片机]
基于AD9850的信号发生器的设计与实现
直接数字频率合成技术(DDS)是20世纪末迅速发展起来的一种新的频率合成技术,它将先进的数字处理技术与方法引入信号合成领域,表现出优越的性能和突出的特点。由于DDS器件采用高速数字电路和高速D/A转换技术,具有频率转换速度快、频率分辨率高、相位噪声低、频率稳定度高等优点,此外,DDS器件很容易实现对信号的全数字式调制。因此,直接数字频率合成器以其独有的优势成为当今电子设备和系统频率源的首选器件。本文介绍了ADI公司出品的 AD9850芯片,以单片机AT89S52为控制核心完成正弦信号发生器的可行性设计方案,并给出了调试通过的源程序以供参考。 1 AD9850芯片性能及管脚功能 AD9850采用了先进的CMOS工艺
[测试测量]
基于AD9850的信号发生器的设计与实现
基于DSP的实时MPEG-4编码的软件优化设计
    摘要: 结合开发工具TMS320C6201EVM板的结构和特点,阐述了在实现MPEG-4实时视频编码中,对算法的软件优化所做的工作。     关键词: TMS320C6201 MPEG-4 优化 并行处理 TMS320C6201芯片是TI公司新推出的并行处理的数字信号处理器。它的最高处理能力高达1600MIPS,即16亿万次每秒定点运算,是目前市场上所有的DSP芯片中速度较快、处理功能较强的DSP处理器。其应用前景十分广泛。本文利用C6201开发工具EVM(模拟评估)板,用软件实现实时MPEG-4编码。详细探讨了MPEG-4视频编码中的关键模块,并针对TMS320C6000的物理指令结构,对软件优化
[嵌入式]
针对数字光投影仪而优化的电源电路设计
  根据节能计划和电视类型的不同,全球范围内的待机功耗要求介于 1W 到 15W之间不等。例如,为了获得 EPA 的―能源之星认证,数字电视在待机模式下其功耗必须要低于 3W。降低待机功耗的一种显著方式是最小化待机模式时系统所需的功耗。遗憾的是,通常电源设计人员会对此束手无策,并且他们还得承受不得不从有限的输入功率预算中提供大约 300 mW 的负担。虽然这可能看上去很容易实现,但 PFC 和 250W的主电源通常会在无负载运行时耗用足够多的功率,从而造成远高于可接受限值的损耗。因此,在待机期间禁用所有未使用的电源(包括 PFC)是非常有必要的。一般情况下,这可通过栅极控制至电源控制器的偏置电源来实现。幸运的是,IC 厂商已注意到
[电源管理]
针对数字光投影仪而<font color='red'>优化</font>的电源电路设计
直接变频调谐器,优化工作在950MHz至1750MHz
快速工程样机是由Maxim应用工程师构建并在实验室中经过测试的实际电路。这些电路可以做为新的射频(RF)设计的起点。它们不作为评估测试工具使用。 更多信息请查询: 快速浏览 MAX2108 数据资料 目标:为工作在950MHz至1750MHz上的MAX2108直接变频调谐器进行优化。 为MAX2108卫星数字视频广播(DVB)调谐器芯片开发的参考评估板已经过测试。该评估板重要的功能包括传输线输入匹配电路,I/Q两路0.1dB波纹、35MHz截止频率的差分切比雪夫低通滤波器,以及直流稳压器。一对MAX4145视频运算放大器用作不平衡到平衡转换器(balun),接于低通滤波器的终端并驱动50
[模拟电子]
直接变频调谐器,<font color='red'>优化</font>工作在950MHz至1750MHz
助力图形性能优化,Imagination提供最新增强版开发工具
领先的图形、神经网络加速和连接技术提供商Imagination Technologies (GDC展位号S763)宣布推出最新款的增强工具,以帮助开发者对使用了PowerVR图形处理器的Android设备进行图形性能优化。这些工具分别是:用于实时GPU和CPU性能统计的PVRMonitor、用于归集和分析应用的 PVRTune、以及用于在PowerVR设备上进行CPU/GPU无缝调试的PVRStudio。 Imagination Technologies销售兼业务拓展执行副总裁David McBrien表示:“PowerVR GPU在Android手机中占有重要地位,特别是在未来几个月紫光展锐(Unisoc)和联发科技(Med
[手机便携]
利用CMOS功率放大器优化单芯片手机方案
每年生产10多亿部手机的手机市场已成为半导体产业中竞争最激烈的领域。一直有这种说法:诸如砷化镓(GaAs)、横向扩散MOS(LDMOS)或硅锗(SiGe)双极CMOS(BiCMOS)等特殊工艺以不太精尖的几何精度就可提供制造商和设计师所需的短期成本优势和线性调制。但CMOS固有的规模经济驱使业界一直对其进行大量投入,因此其规模也一直且将继续领先于其他的工艺产品。   例如早先由英飞凌、恩智浦和Skyworks等供应商用专门的BiCMOS工艺制造的收发器模块,这些模块改用CMOS实现已有很长时间了,而且在某些场合它还被整合进系统级芯片中的手机主处理器内。设计师一再发现,尽管采用要求苛刻的工艺可能会带来电路模块方面的挑战,但从长
[模拟电子]
利用CMOS功率放大器<font color='red'>优化</font>单芯片手机方案
Wind River发布针对Intel架构优化嵌入式软件开发工具
  全球嵌入式及移动行动应用软件领导厂商风河(Wind River)今日发布针对Intel®硬件架构优化的新版片上调试工具Wind River Workbench On-Chip Debugging。这套JTAG产品所提供的调试解决方案可协助多个产业广泛应用的嵌入式设备,以更高的效率、更经济的成本进行以Intel处理器架构为基础的嵌入式平台开发。   新版Wind River Workbench On-Chip Debugging工具的功能特色:       已特别针对Intel处理器进行优化,包括Intel® Atom™、Core™、Xeon®等专门用于嵌入式系统开发的多款处理器均可支持。       借助Intel硬件
[嵌入式]
小广播
最新电源管理文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关:

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved