利用单片机和CPLD实现直接数字频率合成(DDS)

发布者:Blissful5最新更新时间:2012-02-07 来源: 现代电子技术 关键字:单片机  可编程逻辑器  数字频率合成  流水技术 手机看文章 扫描二维码
随时随地手机看文章

    直接数字频率合成(DDS)技术是美国学者J.Tierncy,C.M.Rader和B.Gold在1971年首次提出的。这是一种全数字技术,该技术从相位概念出发直接合成所需要的波形。同传统的频率合成技术相比,DDS技术具有很多优点:频率切换时间短、频率分辨率高、相位变化连续、容易实现对输出信号的多种调制等[5]。但是由于当时的技术以及器件水平的限制,它的性能指标还无法与已有的技术相比,因此该技术当时并没有引起足够的重视。最近几年来,随着技术和器件水平的提高,国外一些公司先后推出各种各样的DDS专用芯片,如 Qualcomm公司的Q2230、Q2334, AD公司的AD9955、AD9850等[3]。这些产品的问世,为电路设计者提供了良机,满足了工程实际的需要。然而,商用DDS专用电路芯片也有它的的局限性,并不能满足所有要求。例如,在实现线性调频(LFM)等复杂的调制功能时,利用现有的商用芯片就会遇到一些困难[8]。由于近几年来可编程器件CPLD 、现场可编程门阵列FPGA技术的迅速发展和广泛应用,使用可编程器件实现DDS技术也越来越受到人们的关注。

1  DDS工作原理

    DDS工作原理框图如图1所示,其实质是以参考频率源(系统时钟)对相位进行等可控间隔的采样。由图1可见,DDS包括由相位累加器和ROM查询表构成的数控振荡源(NCO)、DAC以及低通滤波器(LPF)3部分。在每一个时钟周期,N位相位累加器与其反馈值进行累加,其结果的高M位作为ROM查询表的地址,然后从ROM中读出相应的幅度值送到DAC。低通滤波器LPF用于滤除DAC输出中的高次谐波。因此通过改变频率控制字K就可以改变输出频率fout。容易得到输出频率fout与频率控制字K的关系为:fout=Kfc/2N,其中fc为相位累加器的时钟频率,N为相位累加器的位数。定义当K=1为系统频率分辨率,即。

2  系统的总体设计

    系统的原理框图如图2所示,本系统主要由单片机部分、DDS主通道部分、键盘及显示部分以及输出信号调理等部分组成。

    单片机芯片采用的是比较常见的AT80C31芯片。同时片外还各扩展了1片程序存储器2764与数据存储器6264,分别用来存放运行中所需的程序与随机数据。

    DDS主通道部分是我们设计的关键所在,该部分主要由相位累加模块、地址总线控制模块、数据总线控制模块与波形数据存储器EPROM、SRAM等组成。其中相位累加模块、地址总线控制模块和数据总线控制模块都是在CPLD上实现,采用的芯片是ALTERA公司的FLEX10K系列器件。我们将所需要合成的波形采样数据固化在EPROM 2764中,但是我们知道EPROM的读周期比较长,很难满足系统的访问时间要求。因此设计中又使用了1片HSRAM,在DDS系统合成波形的过程中,代替ROM进行波形数据的快速查询。

    键盘和显示部分是系统和用户进行交互的重要手段。这一部分的逻辑功能,也是在CPLD上实现的。

[page]

    输出信号调理部分是把从HSRAM中读出的波形的数字幅度值首先转换成模拟信号,然后再进行放大、滤波处理后输出。这一部份包括D/A转换器、幅度放大器和滤波器。DAC器件采用AD公司的12位AD9713B,该器件特点是具有较高的更新速率(100 MSPS)和较低的功耗(725 mW)[1],因此特别适合于DDS信号合成。幅度调节电路使用的是双极性放大器AD708、AD9617和AD9713所组成的电路。

3  系统总体工作状态说明

    前面已经提到过,由于EPROM的读取时间比较长,很难满足系统对时间的要求,因此在系统中又增加了1片高速SRAM,作为波形数据缓存器。这样,系统就有两个工作状态:首先,系统开始工作时,需要将波形数据从EPROM调到HSRAM中,即波形数据的加载状态;数据加载完毕后,按照DDS合成原理进行信号合成,即信号的合成状态。系统设计中使用单片机的P1口控制这两种工作状态之间的切换。

3.1  波形数据的加载

    单片机系统上电自检完毕后,开始进行波形数据加载过程。此时,地址总线控制模块和数据总线控制模块,将总线的控制权交给单片机系统。在该过程中,EPROM处于读状态,而SRAM为写状态。8031 按照EPROM、SRAM的时序要求,将8 k的波形数据从EPROM加载到HSRAM中。该过程大概需要几毫秒时间。

    由此我们知道,用这种方法不仅能够合成标准波形(如:正弦波、方波、三角波等),而且还可以合成各种非标准波形。对此我们只要通过数据采集器或PC机获得8 K的波形数据,然后存入到EPROM中,就可以按所需要的频率输出相应波形。

3.2  波形合成电路的设计

    当波形数据加载完毕后,系统就可以进行信号合成。单片机将接收到的频率值转换成频率控制字,送到相位累加器。相位累加器在每一个时钟周期进行相位累加,然后将每次的累加和作为地址去寻址SRAM,读出与该地址所对应的波形幅度值,然后送到D/A转换器转换成模拟信号,最后经幅度放大、滤波输出。

3.2.1  频率值的接收与显示

    键盘、显示部分用来实现用户与单片机的交互。系统采用中断查询的方式接收通过键盘输入的频率值。该频率值一方面送到数码显示接口进行显示,另一方面转化成频率控制字送往相位累加模块。键盘显示接口部分如图3所示,图中虚线框内部分均由CPLD实现。

3.2.2  数控振荡源(NCO)设计实现

    这一部分是DDS信号合成中的关键部分,由DDS系统原理框图(图2)可知,这一部分主要是由相位累加器、地址总线控制器、数据总线控制器与SRAM组成。其中,除了SRAM外,其余3个模块都是在CPLD上实现。

    相位累加器是整个DDS系统运转的关键,它设计的好坏直接影响到整个系统的功能和如图4所示,它实质上是1个带反馈的32位加法器,性能。把输出数据作为另一路输入数据和从微处理器送来的频率控制字进行连续相加,产生有规律的32位相位地址码。设计中采用流水线技术实现32位加法器,通过在组合逻辑之间插入触发器,降低了寄存器之间的传输延时,从而保证系统能够在较高的时钟速度下运行。

[page]

    地址总线控制模块和数据总线控制模块是根据系统工作状态的不同,对系统的地址总线、数据总线以及控制线进行切换,这一部分的设计比较容易实现,这里就不再赘述。

3.2.3  输出信号调理部分

    这一部分是由D/A转换器、幅度放大器和滤波器构成,其电路如图5所示。

    DA器件选用的是AD公司的高速芯片9713B,该芯片的输入是12位的。幅度调节电路是由放大器组成。这是1个电流反馈的高速放大电路。它把DA输出的电流转换成电压,通过反馈电阻RFB的电流决定9617输出的幅度。RL和RFF起分流作用,限制用于I/V转换的电流,同时在9617内部提供一个输出电压幅度。流过R2的电流给9617 输出端提供一个直流偏置,调节R1的阻值可以调整偏置电流的大小。整个放大电路最大的幅度是±4.096 V。模拟输出的最后部分是滤波电路,滤波器的选择主要取决与系统所要输出的波形。譬如我们在用DDS技术合成正弦信号时,可以选用椭圆滤波器滤波。

4  结语

    与传统的频率合成方法相比,DDS合成方法具有频率切换快、频率分辨率高、相位变化连续等一系列突出优点。使用单片机灵活的控制能力以及良好的人机对话功能与CPLD的高性能、高集成度相结合,能够突破传统设计中的许多设计瓶颈,使系统性能大幅度提高;同时,用这种方法实现的DDS电路具有很大灵活性,它可以根据用户的需要设计,满足用户的特殊要求。因此,该系统具有很好的开发、应用前景。

    同时,我们也应该注意到由于DDS数字化实现的固有特点,像相位累加器的相位舍位、波形幅度量化和DAC器件非理想特性,使得输出信号频谱杂散较大。当合成信号的输出频率比较高时,表现得尤为突出,从而限制了输出信号的频率范围。对此,我们一方面在设计过程中应尽量减小能够引起杂散的各种因素,另外更重要的是采取一些便于CPLD实现而同时能够有效降低输出杂散的技术,如对DDS相位累加器的改进[2]、ROM数据压缩[3]、使用抖动注入技术[4]等。从而使开发出的DDS系统性能更加优良。

参考文献

1 ANALOG DEVICES,12_bit,100MSPS D/A.CONVERTERS
2 H.T.Nicholas,III H.Samulei. An analysis of the output spectrum of Direct Digital Frequency Sythesizers in the presence of phase-accumulator truncation, IEEE Proc.41st AFCS,1987495~502
3 Nicholas H T, III H .Samulei, Kim B. The optimization of direct digita frequency synthesizer performance in the presence of finite word lengtheffects, IEEE Proc42th AFCS,1988357~363
4 Vankka J.Spur reduction techniques in sine output directdigital synthesis,IEEE Proc.50th. AFCS,1996951~959
5 张厥盛,曹丽娜.锁相与频率合成技术.西安:电子科技大学出版社,1995
6 周国富.利用FPGA实现DDS专用集成电路.电子技术应用,1998(2):49~51

关键字:单片机  可编程逻辑器  数字频率合成  流水技术 引用地址:利用单片机和CPLD实现直接数字频率合成(DDS)

上一篇:冷库单片机控制系统
下一篇:单片机系统中高速数据采集的实现

推荐阅读最新更新时间:2024-03-16 12:52

单片机编译中局部变量和全局变量的深入解析
通常我们都是学了标准c语言教程后从事单片机c语言的编写的, 那就先要明白一点, 标准c语言实际上是起源于pc平台上的一种语言, 标准c语言肯定是不会照顾到单片机的特殊性的. 因此单片机c编译器中的c语言是一种基于标准c,但是又有相应修改扩充的扩展c语言. 所以在单片机c编译器里写程序时一定要了解单片机编译器扩展c语言的不同之处, 绝不能死板地照搬标准c. 在标准c里, 局部变量是函数在调用的时候才临时分配存储空间的,全局变量是程序整个生命周期都一直存在的. 不过要知道,临时分配存储空间是需要操作系统内存管理程序支持的, 单片机中通常都没有操作系统,也就不能实现像pc平台中那样的局部变量的空间分配. 这里就需要深入了
[单片机]
51单片机定时2捕获模式测脉冲频率
常规方法测量脉冲的频率,利用51单片机的两个定时器来测量,一个定时器来定时,一个定时器作为计数方式;能不能有一个更好的方法,不使用这么多硬件,只使用一个定时器就可以满足需求? 当然可以的,定时器2有输入捕获功能,P1.1接外部脉冲,当来一个脉冲,定时2就进入中断服务程序中断一次,同时也有定时功能。下面是主要的程序: #include reg52.h #define uint unsigned int #define uchar unsigned char #define ulong unsigned long uint timer2_count; uint cap_count; uchar code dispbit ={0
[单片机]
动荡的处理IP时代 嵌入式CPU的IP授权与发展分析
处理器是1款系统的心脏部分,所有功能的达成几乎都要依靠处理器,而在嵌入式系统方面,由于针对的应用层次较为较为狭窄,因此更要在效能、功耗与成本等变量进行多方考虑,其中,授权方案更是影响到厂商进行开发时的成本与产品上市时程,因此更需要审慎面对。 在各种嵌入式应用当中,总缺不了1或多个处理器核心来统筹整个系统的运作,但是处理器核心的架构复杂,相关的设计概念必须有多年累积的技术实力才有办法实现,以目前生产代工型态至上的企业观念中,自力进行处理器的开发不啻是吃力又不讨好的工作,不仅无法带来立即的营收,开发过程所需耗费的庞大资金更有可能导致公司的亏损,因此诸如台湾厂商等代工重镇皆在此领域的开发多所保留,也因此带给了纯IP授权(没有晶圆厂,也不
[工业控制]
基于单片机的水位控制系统设计
在生产领域中,实现水位自动检测和控制是工业过程控制的一项关键技术,对于提高工业过程控制的自动化水平有着重要的意义。 在生活领域中,供水方式过去一般是通过人工来实现控制,容易造成对水资源的浪费,所以现在人们越来越关注水资源的问题。 目前,水位控制系统是受到广泛应用的供水系统,水位控制可以有多种实现方法,如机械控制、逻辑电路控制、机电控制、传感器控制等,但传统的控制方式存在控制精度低、能耗大、不能实现连续控制和跟踪水位的特点,所以本论文设计出更方便更准确的水位控制系统。 1 总体方案设计 本系统主要由单片机最小系统电路、水位检测电路、步进电机驱动电路、水位显示电路、水泵驱动电路、软件设计等。设计系统框图如图1所示。图1中的单片
[单片机]
基于<font color='red'>单片机</font>的水位控制系统设计
STM32F103单片机时钟树结构图及时钟配置
2.1 时钟树结构图 STM32属于Cortex-M3内核的单片机,时钟结构比之前的51单片机较复杂的多,根据数据手册,STM32F103的时钟结构如下图所示。 根据上图可以看到,STM32F103系列单片机具有4个时钟源,内部的8MHz时钟发生器,外部的晶体振荡器接口,最高支持16MHz,外部的32.768kHz晶体振荡器接口和内部的40kHz时钟发生器,其中32.768kHz和40kHz主要用于内部RTC时钟脉冲,8MHz的晶振通过PLL时钟倍乘器,将系统总线时钟提高为72MHz。 STM32F103系列内部具有2条外设时钟总线,APB1和APB2,其中APB2的时钟最高可达72MHz,APB1的时钟最高可达36MHz
[单片机]
STM32F103<font color='red'>单片机</font>时钟树结构图及时钟配置
飞思卡尔为下一代汽车网关提供单片MCU方案
随着汽车内的电子和软件内容的持续增长,对汽车子系统之间的可靠通讯需求也在增长。飞思卡尔半导体正致力于帮助应对这一网络设计挑战,近日他们专为车内网关模块推出业界最强大的 32 位汽车电子微控制器。 飞思卡尔的新 MPC5668G 微控制器单元( MCU )具有无以伦比的性能和单芯片集成度,帮助汽车开发人员降低在某一点上连接车内网络的成本和设计复杂度。这种双核 Power Architecture® 器件支持汽车业领先的通信接口,如 CAN 、 LIN 、以太网、媒体本地总线以及 FlexRay™ 技术。 “MPC5668G MCU 具有无可匹敌的性能和集成性,它的单一连接点消除了在各种高速通信协议之
[单片机]
基于MEGA8单片机倒计时系统的PCB曝光盒
简介 在以下几行,我描述的过程中,我也跟着构建盒,灯系统,这是基于AVR MEGA8单片机的倒计时系统。 四黑光灯灯,15W每个发出的UVA地区辐射,与上述薄的感光电路板的铜表面,是一个约350nm的峰值 ... ... 敏感。灯是由两个串联,从而塑造了两个类似的模块。每个模块都有自己的的镇流器,并可以通过中继连接到220V 交流。一个微控制器,一个用户定义的倒计时,达到零激活一个继电器后计数。剩余的时间是4个7段LED显示屏上显示 。最大的倒计时是99分钟和59秒 。所需的倒计时进入使用只有两个按钮,设置和启动/停止。短期的SET按钮,将增加目前的数字,而长期推动将改变数字SECONDS秒秒几十年,到几分钟等 。
[单片机]
基于MEGA8<font color='red'>单片机</font>倒计时系统的PCB曝光盒
单片机中的字及字节详解
  字节(Byte 发音:/‘bait/):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。   在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。   符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小   一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制最小值:0 最大值:255 如一个ASCII码就是一个字节,此类单位的换算为:   1 艾字节(EiB,Exbibyte)=1024拍字节(2的60次方字节)   (1EiB=1024PiB)      1 拍字节(PB
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

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