1第12章信号产生器的设计目标通过本章的学习,应掌握以下知识●常用信号产生器的分类●直接数字合成(DirectDigitalSynthesis,DDS)产生信号的工作原理●实现电路功能的可能方案●实现数字系统的常用方法●微控制器内部C语言程序执行时间的不确定性●利用定时器中断保证完成一个程序段的时间固定不变●MSP430系列微控制器开发软件所提供函数的使用●数字/模拟转换器输出由阶梯组成的近似信号波形●使用低通滤波器改善信号波形引言电子技术研究信号的产生、传输以及处理。信号处理系统最主要的一种类型为线性时不变系统,即使是非线性系统,也常常等效为线性系统,例如在三极管放大器分析时就是这样处理的。线性时不变系统满足叠加定理。这样对于一个任意信号,通过傅里叶变换能够将其分解成一系列正弦信号。完成每个正弦信号分量的分析,再把这些分析结果叠加在一起就能过获得要求信号的分析结果。上述过程说明了在模拟电子线路中为什么采用正弦信号作为标准信号进行电路分析。正弦信号的数学表达式如下u(t)=Umcos(2πft+φ0)表达式中包括3个参量,幅度Um、频率f和初相位φ0。《电子技术基础》课程讨论的各种型式放大器用来处理正弦信号的幅度;《高频电子线路》课程涉及正弦信号产生的各种类型振荡器。正弦信号振荡器,即正弦信号产生器,的关键技术指标为,所产生信号频率的稳定度、精度以及可调整性。对于高质量的正弦信号产生器还包括频谱纯度。正弦信号通过比较器可以转换为方波信号。方波信号的频率与正弦信号相同,占空比可以通过改变比较电平实现调整。212.1设计要求本章给出的设计要求来源于2003年全国大学生电子设计竞赛试题——低频数字式相位测量仪(C题)。设计任务要求设计并制作一个低频相位测量系统,系统中包括相位测量仪、数字式移相信号发生器和一个模拟移相电路。■基本要求□设计并制作一个相位测量仪频率范围:20Hz~20kHz;相位测量仪的输入阻抗≥100kΩ;允许2路输入正弦信号峰-峰值可分别在1V~5V范围内变化;相位测量绝对误差≤2º;具有频率测量及数字显示功能;相位测量结果采用数字显示:相位读数范围为0º~359.9º,分辨率为0.1º。□制作一个模拟电路型式的移相电路,用以产生相位测量仪所需的输入正弦信号。可以使用试题提供的参考电路,也可以自行设计。■扩展要求□设计并制作一个数字式移相信号发生器,用以产生相位测量仪所需的输入正弦信号频率范围:20Hz~20kHz,频率步进为20Hz,输出频率可预置;输出的2路正弦信号峰-峰值可分别在0.3V~5V范围内变化;输出的2路正弦信号之间的相位差范围为0º~359º,相位差步进为1º,相位差可预置;数字显示。□在保持相位测量仪测量误差和频率范围不变的条件下,扩展相位测量仪输入正弦信号峰-峰值至0.3V~5V范围。□用数字式移相信号发生器校验相位测量仪,自选几个频点、相位差值和幅度进行自行校验。与“数字信号频率测量电路的设计”一样,使用MSP430微控制器芯片也并不能完全实现上面给出的全部竞赛要求,因为一些要求还需要模拟电路器件的支持。作为一本介绍微控制器使用的书籍,这里将不涉及竞赛试题中模拟电路部分的设计。测量2路信号之间的相位差要求这两路信号具有相同、且维持不变的频率,否则这2路信号之间的相位差将处于不断地变化之中。采用数字方法测量2路正弦信号之间的相位差需要首先利用模拟比较器芯片将正弦信号转换为数字信号。2路模拟比较器的比较电压建议选择在0V,因为正弦信号过0时具有最大的变化率,这样将能够更好地保持正弦信号之间的相位差信息。接着就可以使用数字的方法测量2路数字信号之间的延迟时间,测量信号的周期,最终通过延迟时间除周期再乘360就能够获得相位差。1路信号周期测量和2路信号之间的延迟差测量的测量方法非常类似。前者可以通过3检测到同一个信号的前沿到来启动计数器对系统时钟的计数过程,接着的前沿到来停止计数器的计数过程,这样计数器中的计数值就包含信号的周期信息。后者需要通过2个管脚分别将2路信号接入微控制器,通过检测到第1路数字信号的前沿来启动计数器对系统时钟的计数过程,接着监测第2路数字信号,当检测到第2路数字信号的前沿到来将停止计数器的计数过程,现在计数器中的计数值就包含2路信号之间的延迟差信息。鉴于相位测量与周期测量,包括脉冲宽度测量,的方法类似,这里对这部分内容不再介绍。这里需要强调的是要对基础的理论和方法,例如这里涉及的频率/周期测量理论和方法,给予足够的重视,这样就能够举一反三,更快地提高设计能力。本章只考虑扩展要求中数字式移相信号发生器部分的设计。设计一个具有2路正弦信号输出功能的信号产生器。2路正弦信号频率相同、且可调;2路正弦信号之间的相位差可调;使用数字方式显示信号的频率和相位差。输出信号幅度调整需要放大器的支持,涉及到模拟电路,这里不考虑这个要求。12.2方案论证12.2.1传统的信号产生器设计方案在实际的工作中,经常需要产生稳定的重复信号,例如模拟电路中的正弦波信号,或者数字电路中的方波信号。传统的信号产生器通常是首先产生所需要工作频率的正弦波信号,然后再利用比较器获得同频率的方波信号。改变比较器的比较电平则可以调整方波信号的占空比。正弦信号产生原理以及相关电路的结构等内容在《高频电子线路》课程中有详细的介绍。按照正弦信号产生器中频率选择电路的构成,它们可以被划分为LC正弦信号产生器、RC正弦信号产生器以及晶体正弦信号产生器。对于LC正弦信号产生器和RC正弦信号产生器,适当地选择电路中的电感、电容或者电阻的数值,信号产生器就能够产生所要求工作频率的信号。如果频率选择电路中的电感、电容或者电阻使用可调电感、可调电容或者电位器来代替,通过调整这些可调器件,正弦信号产生器的工作频率将可以方便地调整。这两种电路结构简单、价格便宜,它们获得广泛的应用,但是这两种电路的频率稳定度都不高,通常约为10-3量级。例如MSP430芯片内部的数控振荡器(DCO),它属于RC振荡器,其频率稳定度就不高。晶体正弦信号产生器具有较高的频率稳定度,通常可以达到10-6量级。例如MSP430芯片采用外部晶体时的时钟信号频率。晶体振荡器的工作频率取决于晶体的谐振频率,在需要改变晶体正弦信号产生器工作频率时,电路中用于频率选择的晶体必须被更换。如果既要求信号产生器的工作频率稳定,又要求能够通过调整电路参数的方法来调整工作频率,传统的方法为采用晶体正弦信号产生器产生频率稳定的信号,再基于锁相环(Phase-LockedLoop,PLL)技术,或者非线性器件频率变换技术,实现信号频率的调整。这样的信号产生器被称为频率合成器,不过频率合成器的电路结构非常复杂。412.2.2直接数字合成技术直接数字合成(DirectDigitalSynthesis,DDS)是一种应用数字技术来产生需要信号波形的方法。直接数字合成技术建立在采样定理的基础上,它首先对需要产生的信号波形进行采样和量化,然后存入存储器作为待产生信号波形的数据表。在输出信号波形时,从数据表中依次读出数据,产生数字化的信号,这个数字信号再通过一个数字/模拟转换器转换成所需的模拟信号波形。改变信号波形数据表中的数据,就可以产生不同的信号波形。相对于其他信号波形产生技术,直接数字合成技术具有输出信号的采样频率固定、全数字化、易于控制、可编程、输出相位连续和信号频率转换时间短等优点。基于直接数字合成技术产生信号波形的原理图如图12.1所示。参考时钟相位累加器正弦信号波形数据表数字/模拟转换器低通滤波器比较器DDS核频率控制字图12.1直接数字合成技术产生信号波形原理图在图12.1所示的直接数字合成技术产生信号波形的原理图中,信号波形数据表中的数据为正弦信号波形数据,因此它可以产生正弦信号波形。直接数字合成技术的核心是相位累加器,它类似一个计数器。每来一个参考时钟信号,相位累加器的输出就增加一个步长的相位增加量,相位增加量的大小由频率控制字来确定。正弦信号波形数据表包含正弦信号一个周期的幅度——相位信息。从数据表中读出相位累加器输出相位值对应的幅度数据,再通过一个数字/模拟转换器将该数据转换成所需的模拟信号电压输出。相位累加器的相位累加为循环迭加,这样使得输出信号的相位是连续的。相位累加器进行线性相位累加,相位累加到一个周期时产生一次计数溢出,这个计数溢出率即为输出信号的频率。频率控制字的数值越大,相位累加器输出的相位增加量越大,完成一个周期所需要的时间越短,相位累加器的溢出率越高,输出信号的频率越高。更改频率控制字的数值可以改变相位累加器中每次相位累加的大小,改变相位累加器发生计数溢出的时间,从而改变输出正弦信号的周期,即输出信号的频率。当参考时钟采用具有高频率稳定度的晶体振荡器,这样相位累加器中进行相位累加的时间间隔将很稳定,从而使输出正弦信号的周期很稳定,即输出信号的频率很稳定。综上所述,直接数字合成技术使用晶体振荡器作为参考时钟源获得输出信号频率的稳定性;通过改变相位累加器的相位累加步长改变输出信号的频率。5设相位累加器的位数为N,频率控制字产生的相位增量为K,参考时钟频率为fc,则直接数字合成系统输出信号的频率f0为:f0=fc×K/2N(11-1)输出信号的频率分辨率△f0为:△f0=fc/2N(11-2)例如一个相位累加器的位数N=48,参考时钟频率为fc=300MHz,当相位增量K=1时,输出信号频率f0最低,其值约为1.07×10-6Hz,这个值也是输出信号的频率分辨率△f0;当相位增量K=247时,输出信号频率f0最高,其值可达150MHz。图12.1中的低通滤波器用来提高输出正弦信号的频谱纯度。数字/模拟转换器输出的正弦信号波形事实上是由许多非常小的台阶组成的近似正弦信号。由于参考时钟频率固定,每个台阶的宽度固定,因此输出信号中谐波频率固定,所以在整个频段内只需要一个低通滤波器来滤除输出信号中的谐波干扰。图中的比较器用来将正弦信号转换为方波信号。信号波形的数据表包含以相位为地址的一个周期待产生信号数字幅度信息,每个地址对应于待产生信号中0°~360°范围内的一个相位点。数据表中的数字幅度的精度受到数字/模拟转换器分辨率的限制,因此表中的数据个数受到限制,因为采样点过多将使得连续几个幅度数值保持不变。由式(11-2)可以看出,累加器的位数越多,输出信号的频率分辨率越高。信号波形数据表的地址位数低于相位累加器的位数,所以取相位累加器的部分高位输出做数据表的地址输入。这里以相位累加器的位数N=32,数据表的地址位数为12位,即信号波形的存储点数为4096点来说明。当所选择的相位增量K219时,相位累加器每累加一次,用作数据表地址输入的相位累加器输出的高12位将发生变化,这样输出一个完整周期的波形点数就少于4096点。当相位增量K219时,相位累加器每累加一次,甚至多次,相位累加器输出的高12位可能不发生变化,重复输出一个同样的波形幅度数据,这样输出一个完整周期的波形点数就大于4096点。12.2.3方案对比和选择正弦信号产生器的各种传统电路存在一些无法兼顾的问题。LC振荡器和RC振荡器的工作频率容易调整,但是频率稳定度不高;晶体振荡器具有良好的频率稳定度,但是工作频率调整困难。使用基于锁相环技术,或者非线性频率变换技术,的频率合成器虽然可以同时兼顾频率稳定度高和工作频率可以调整的优点,但是电路组成复杂,制作成本较高,同时工作频率调整的精细度并不好。直接数字合成(DDS)技术同时兼顾了良好的频率稳定度、工作频率容易调整以及电路制作成本低等优点,但是它的输出信号是由许多小台阶来近似需要的信号波形,因此频谱纯度较低;相位增加是通过计数器的形式实现,并不是连续的,因此具有较高的相位噪声。这种技术不适合制作高质量的信号源,但是对于学校实验室使用还是满足要求的本次信号产生器的设计要求只涉及信号的频率稳定度、频率调整精度,同时也需要重视电路的制作成本,因此采用数字合成技术是一个合适的选择。612.3直接数字合成技术的实现方法选择实现正弦信号产生的方案具有多种,每种方案具有