基于MCU设计的的调频信号发生器

发布者:平静心境最新更新时间:2015-03-20 来源: eechina关键字:DDS  调频信号发生器  MCU 手机看文章 扫描二维码
随时随地手机看文章
引言

DDS(直接数字频率合成器)具有相位变换连续、频率转换速度快、频率分辨率高、相位噪声低、频率稳定度高、集成度高、易于控制等诸多优点,在现代频率合成技术中占有重要地位,被广泛应用于信号发生器、雷达系统、通信系统等领域。MCU(微控制器)具有很强的数据处理能力和控制能力,片上外围设备丰富,精度高,功耗低,在电子设备上有广泛的应用。本文介绍一种基于ADI公司的双通道DDS芯片AD9958产生高质量调频信号的数字调频信号发生器的设计方法,该结构产生的调频信号覆盖频率范围广,载波频率和频偏数字可调,调频波形频率准确度高,且成本较低、可靠性高。

系统结构原理

调频(FM)体制用已调信号频率的变化承载信息。调频波的瞬时频率等于载波频率加上一个正比于调制信号的时变频率。

调频波的表达式为:

f1.jpg 

其瞬时角频率为:

f2.jpg 

其中ω0 固定角频率(载频); 为比例常数(调制常数),代表调制器的灵敏度[1]。

DDS输出的信号频率可以由下式给定:

f3.jpg 

其中:为参考时钟, 为信号频率分辨率,为输出信号频率, 为频率控制字, 为相位累加器的位数。可见,可以通过设定相位累加器的位数、频率控制字和系统参考时钟的值,就可以产生任意信号频率的输出[2]。

可以看出,当 时,可得DDS的最低输出频率即此DDS的频率分辨率为:

f4.jpg 

利用DDS实现调频,就是要使信号合成器输出信号的频率随着调制信号的幅度大小线性变化,瞬时频率的变化可以转化为对频率控制字的改变的控制[3]。假设调制信号经ADC转换为B位数字信号,为满足调制频偏要求,需在MCU内与一可调的调制常数相乘,乘积作为调制信号的频率控制字;再假设载波频率控制字为 ,则调频波的频率控制字为:

f5.jpg 

代入(1)式得调频波信号的瞬时频率序列:

f6.jpg 

考虑到相位累加器的积分器作用,假设波形存储器存储的为余弦波,则DDS输出的调频信号序列为:

f7.jpg 

再将调频信号序列 通过数模转换器和低通滤波器后,得到的模拟信号就是直接数字合成的调频信号。

硬件实现

由于采用全数字结构,DDS输出信号的频带受器件水平的限制,一般在几百兆以内。在本系统中,为了达到设计指标要求的100 ~ 400MHz的调制频段要求,综合考虑DDS芯片的技术水平以及成本问题,我们采用双通道DDS与混频器相结合的方案来提高调频信号的工作频段,这样每个通道的最大输出频率只需达到200MHz。向双通道DDS的两个通道送入相同的调频波频率控制字,则两个通道DDS-1和DDS-2产生完全同步的载波为的调频信号序列,再将调频信号序列分别通过D/A转换器和低通滤波器后混频,去掉直流成分,得到的模拟信号就是载波频率为的调频信号。系统的硬件结构原理如图1所示 。

1.jpg 

信号发生模块

信号发生模块主要由DDS芯片组成,这里选用美国ADI公司的双通道直接数字频率合成器AD9958,最高采样频率可达 500 MSPS。它有两个DDS核,能够提供两个内部同步、独立编程同步输出通道,在系统时钟工作在500 MHz时,输出频率可控制范围可以达到0 ~ 200 MHz[4],可以满足系统设计的要求。[page]

AD9958有4 种工作模式,分别为单频模式、调制模式、线性扫描模式和幅度输出控制模式。其中单频模式是芯片服务后默认的工作模式,在此模式下输出是某一单调频率、幅度和初始相位的正弦波[5]。本系统中AD9958采用的就是单频模式,在这种工作模式下,两个DDS通道共享一个公共地址,频率控制字地址是寄存器(0x04),通过改变频率控制字,可以很方便的改变输出频率,结合通道选择控制字,两个通道可以独立输出互不相关的两路正弦波,控制功能由MCU完成。

由于DDS的输出最大频率受奈奎斯特抽样定理的限制,所以有,此时,考虑到器件因素,在实际使用中一般取。本系统中,外部参考时钟采用50M高稳晶振,DDS芯片时钟倍频器设置倍率为10,使系统时钟达到500 MHz。从而使每个通道可保证信号质量的最高输出频率达到200 MHz。

控制模块

控制模块的功能主要由MCU芯片组成,MCU内部集成丰富的外围设备,具有卓越的处理能力,应用MCU完成外围电路,可以使得整个系统结构简单,使用方便。在本系统中,MCU作为核心控制模块完成调制信号频率控制字的获取和载波频率控制字的接收以及对DDS的控制。

调制信号频率控制字:本系统通过MCU芯片集成的ADC完成调制信号频率控制字的获取。根据实际需要,本系统的调制信号为语音信号,频率集中在 50 ~ 3400 Hz。根据奈奎斯特采样定理,ADC采样频率应不小于6.4 kHz,,考虑到高速密集采样可以减少频偏偏差,因此设定ADC采样频率为100 kHz。语音调制信号经过A/D转换,得到12位数字信号,与调制常数相乘作为调制信号频率控制字。

载波频率控制字:MCU通过片上集成的UART接口与外部控制模块进行通信,外部控制模块采用异步通信方式将载波频率控制字等指令发送给 MCU。MCU收到的指令信号进行处理,并提取出用户要求的载波频率控制字。

调频波频率控制字:MCU将调制信号频率控制字与载波频率控制字相加作为调频波的频率控制字并按照DDS的频率控制字格式进行处理后送入DDS。

低通滤波器

DDS采用数字化技术,最终合成信号是经D/A转换后得到的,其频谱含有丰富的高次频谱分量,为了得到频谱纯净的信号输出,必须要用低通滤波器将他们滤除,要求滤波器的衰减特性要陡直,延迟时间要短。

软件设计

整个系统采用模块化程序设计,采用C语言编写,便于移植,可读性强,主要是根据AD9958的频率控制字格式,通过MCU将这些控制字写入AD9958内部的寄存器中,从而产生相应的频率。软件主要实现两个方面的功能:系统初始化和频率控制字写入。

系统初始化:包括MCU自身的初始化配置,以及按照AD9958芯片的寄存器配置方式,向AD9958写入系统时钟、工作模式以及通道选择等配置指令。

频率控制字写入:为完成一次频率控制字更替,MCU需要按照AD9958的频率字写入格式发送一次通道指令,共40位,高8位为寄存器地址(0x04),低32位为频率控制字。在一个ADC采样周期内,必须将通道指令发送完毕,才能使输出频率按照ADC采样频率不断更新,从而实现数字调频。AD9958的指令写入方式可分为串行装入和并行装入,本系统采用串行方式装入,由MCU直接送给AD9958频率控制字。在每个系统时钟(SCLK)的上升沿由数据输入口SDIO_0移入一位控制字,连续40个SCLK周期即可将40位控制字装入缓冲寄存器中。在更新信号(IO_UP)信号上升沿到来以后,控制字传输到控制寄存器中,AD9958的两个通道同时更新输出频率。

仿真结果

在实际应用中,为了提高分辨率并突破波形存储器容量的限制,通常采用相位截断技术,相位截断的存在会产生相位截断误差,从而引起杂散频谱分量。由于对杂散的分析比较复杂,本文在不考虑相位截断误差的情况下,按照上述的硬件设计方法搭建相应的Matlab仿真平台,对此数字合成调频调频信号的方法进行了仿真,结果如图 2所示。

2.jpg 

按照系统设计要求,假设需要产生的调频波载波频率为200 MHz,调制频偏为45 MHz。为便于分析,假设调制信号为30 MHz的正弦信号。按照前面分析,载波频率控制字为0x66666666,调制信号。如图 2 所示,(a)和(b) 分别给出了DDS的两个通道DDS-1和DDS-2输出的载波的载波频率为100MHz的调频波的波形图和频谱图;(c)和 (d) 给出了两个通道的调频波经过混频以及滤波等处理以后得到的载波频率为200 MHz的调频波的波形图和频谱图。从(b)和(d)的频谱图可以看出,在载波分量的两侧对称的出现了以30 MHz为间隔的新的频谱分量,与理论上的单音调频波的频谱结构是一致的。

结语

本文讨论了一种基于双通道DDS芯片AD9958的调频信号的合成方法。它充分利用现有的DDS芯片产生跨频段的调频信号,输出载波频率和频偏可编程,最小频率分辨率高,可达0.116Hz,最高输出频率为400MHz,具有非常高的精度和频率稳定性,同时可以降低成本、功耗,减小体积。调频信号发生器的硬件电路简单,通用性强,实际上也可以配置MCU控制指令,使得DDS产生其它任意波形信号。目前,本文提出的利用AD9958与 MCU相结合的数字调频信号发生器设计方案已经在某工程项目中得到实际应用。

参考文献:

[1]王秉钧.现代通信系统原理[M].天津:天津大学出版社,1999.
[2]欧伟明,周春临,瞿遂春.电子信息系统设计[M].西安:西安电子科技大学出版社,2005
[3]王秋生,王祁,孙圣和.直接数字合成调频信号的研究 [J].仪器仪表学报.2000,21(4): 428-430
[4]Analog Decives Inc.2-Channel 500 MSPS DDS with 10-Bit DACs:AD9958[DB/OL].http://www.analog.com/static/imp ... a_sheets/AD9958.pdf,2005
[5]赵云娣,杨小献.基于AD9958的双通道直接频率合成器设计[J].无线电工程.2006,36(3): 45-46
关键字:DDS  调频信号发生器  MCU 引用地址:基于MCU设计的的调频信号发生器

上一篇:16位微处理器的接口电路
下一篇:单片机地址译码电路

推荐阅读最新更新时间:2024-03-16 13:55

基于单片机的高精度倾角测量系统的设计
在地质石油勘探、设备安装、道路桥梁建设等工程应用以及机器人控制、坦克和舰船火炮平台控制、飞机姿态控制等系统的自动水平调节中,都需要高精度的倾角测量。但高精度的倾角,测量设备通常体积较大,成本高,使许多工程应用受到限制。本文从倾角的高精度测量出发,着重介绍了倾角传感器输出稳定性处理、温度补偿、非线性处理(正弦曲线拟合)、信号调理及其测量电路的特殊处理等。  1 倾角测量系统的硬件设计   倾角测量系统硬件部分主要由MEMS传感器(含双轴倾角传感器和温度传感器)、SOC电路、数据处理及传输和其他辅助电路等模块组成。倾角测量系统的组成框图如图1所示。 2011-3-12 00:03:45 上传 下载附件 (13.09
[单片机]
基于<font color='red'>单片机</font>的高精度倾角测量系统的设计
基于单片机的电动自行车速度与里程表设计
系统概述 本系统由信号预处理电路、单片机AT89C2051、系统化LED显示模块、串口数据存储电路和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。系统的原理框图如图1所示。 图1 系统的原理框图
[单片机]
基于<font color='red'>单片机</font>的电动自行车速度与里程表设计
爱特梅尔推出全新AVR® 微控制器系列
  爱特梅尔公司(Atmel® Corporation)宣布推出专为满足具有CAN和LIN连接能力的先进电机控制应用对高精度脉宽调制(PWM)的需求而开发的全新AVR® 微控制器系列ATmega16M1、ATmega32M1和ATmega64M1,瞄准工业控制市场。新器件系列具有16、32和64KB闪存、通用IO引脚、模数转换器、模拟比较器、功率级控制器,以及8位和16位定时器,是需要CAN和LIN连接能力之工业控制应用的理想选择。   ATmega16M1、ATmega32M1和ATmega64M1基于高性能AVR 8位RISC架构,集成了复杂电机控制算法所有必须的基础功能。这些器件提供了独特的功能组合,能够通过合适的驱动器和
[工业控制]
开发单片机用汇编语言好?还是用C语言好?
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。   对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。   汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。   而C语言
[单片机]
开发51单片机操作系统时应注意哪些问题
51系列单片机是美国Intel公司在1980年推出的高性能8位单片机,在我国的应用非常广泛。目前,在软件设计中需要软件工程师从底层做起,在系统软件设计方面需要做大量的重复性劳动。如果开发一套基于51系列单片机的操作系统,那么用户只需要编写各个任务的程序,不必同时将所有任务运行的各种情况记在心中,不但大大减少了程序编写的工作量,而且减少了出错的可能性。 1 开发平台的选择和论证 开发平台的选择至关重要,因为有时它不光影响进度、产品质量、可维护性等一般问题,还涉及到方案的可实现性。 在本系统中,选择51系列单片机作为操作系统的运行平台有以下原因。 首先,51系列单片机应用非常广泛,一大批性能优越的51兼容单片机相继推出。这
[单片机]
开发51<font color='red'>单片机</font>操作系统时应注意哪些问题
单片机按键处理程序(长按 短按 松手检测)
一个很精妙的单键程序: bit flag=0; 定义标志 以下是键盘处理程序: void scankey() //扫描按键 { if(p10= =0&&flag= =0) //p10口按键及处理程序,其中flag如果为1就不用再扫描 就是这里,没有消抖动了~是怎么回事咧 { delay(10); flag=1; delay(5); } if(p10= =1&&flag= =1) //如果p10为1,flag为1说明已经被按下并抬起 { TR0=!TR0; //松开时相应 flag=0; //标志清零,为下次按键做准备(其实为一次处理) } } 以下是另一个一个检测的主要部分: #include reg51.h #i
[单片机]
SPCE061A单片机在汽车倒车防撞报警器中的设计与研究
  该系统以SPCE061A 单片机为控制核心, 工作时, 超声波传感器采集的数据, 由控制核心快速计算出汽车车尾与障碍物的距离, 并通过LED 显示提醒信息, 该系统主要利用单片机的实时控制和数据处理功能, 完成系统的控制。最后阐述了报警器的硬件电路原理及软件设计。   1.引言   随着汽车工业的飞速发展, 拥有私家轿车的人越来越多, 将会出现的交通问题也会随之越来越多。其中安全倒车是刚拿驾照或车龄不久的开车人士最为担心的问题之一, 只要稍不留神不仅会给自己或别人带来损失, 还有可能造成不必要的争吵。针对上述问题, 我们设计了一个倒车防撞报警器, 能以声音或者更为直观的显示告知驾驶员周围障碍物的情况, 解除了驾驶员泊车和起
[单片机]
SPCE061A<font color='red'>单片机</font>在汽车倒车防撞报警器中的设计与研究
使用电容器降低MCU的电源噪声
STM32是广泛应用的MCU,涵盖Cortex-M0、M3、M4和M7内核,共有1236多个系列,包含STM32主流MCU、STM32高性能MCU、STM32超低功耗MCU、STM32无线MCU、STM32 Arm Cortex MPUs等门类。 STM32 MCU内置高级12位ADC(取决于器件),提供自校准功能。在涉及模数转换的应用中,ADC精度会影响整体的系统质量和效率。而ADC精度不仅取决于ADC性能和功能,还取决于ADC周围的整体应用设计,例如电源噪声,这些恰恰可以能通过电容器过滤掉。 在电源线和地线之间,建议连接具有优良高频特性的电容。也就是说,应在靠近电源的位置安装一个0.1μF和一个1至10μF的电容,这些
[单片机]
使用电容器降低<font color='red'>MCU</font>的电源噪声
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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