高精度数控低频正弦信号发生器任务书一、任务设计一款基于AT89C51单片机和锁相技术的高精度数控低频正弦信号发生器。
二、设计要求1、基本要求⑴采用DDFS(直接数字频率合成)和锁相技术, 实现1Hz~1KHz 变化的正弦信号。
⑵通过面板键盘控制输出频率,频率最小步进1Hz。
⑶输出双极性。
⑷用LED数码管实时显示波形的相关参数。
⑸写出详细的设计报告,给出全部电路和源程序。
2、发挥部分⑴不改变硬件设计,将上限频率扩展到10KHz。
⑵不改变硬件设计,扩展实现三角波和方波信号。
⑶可通过PC机上的“虚拟键盘”,实现频率等参数的控制。
⑷实现对幅度的控制。
高精度数控低频正弦信号发生器函数信号发生器作为一种常用的信号源,广泛应用于电子电路、自动控制和科学研究等领域[7]。
它是一种为电子测量和计量工作提供符合严格技术要求的电信号设备,因此是电子测试系统的重要部件,是决定电子测试系统性能的关键设备。
它与示波器、电压表、频率计等仪器一样是最普通、最基本的,也是得到最广泛应用的电子仪器之一。
1总体方案论证与设计数字式函数信号发生器的实现方案很多,主要有如下几种:方案一:采用微处理器和数模转换器直接合成的数字式函数信号发生器。
这种信号发生器具有价格低,在低频X围内可靠性好,体积小,功耗低,使用方便等特点,它输出的频率是由微处理器向数模转换输出数据的频率和信号在一个周期内的采样点数(N)来决定的,因此受单片机的时钟频率的限制很大,如果单片机的晶振取12MHz,则单片机的工作频率为1MHz,若在一个周期内输出360个数据,则输出信号的频率理论上最高只能达到2777Hz。
实际上单片机完成一次数据访问并输出到D/A电路,至少要5个机器周期,因此实际输出信号的频率只有500Hz 左右。
即使增大晶振频率,减小一个周期内输出数据个数,在稍高的频率下输出的波形频率误差也是很大的,而且计算烦琐,软件编程麻烦,控制不方便。
方案二:利用单片机与精密函数发生器构成的程控信号发生器。
这种信号发生器能够克服常规信号发生器的缺陷,保证在某个信号的频带内正弦波的失真度小于0.5%。
它的输出信号频率调整和幅值调整都由单片机完成。
但是,由于数模转换器的非线性误差和函数发生器本身的非线性误差,这种信号发生器输出信号的频率与理论值会有一定的偏差。
方案三:利用DSP处理器,根据幅值,频率参数,计算产生高精度的信号所需数据表,经数模转换后输出,形成需要的信号波形。
这种信号发生器可实现程控调幅,调频。
但这种信号发生器输出频率不能连续可调,计算烦琐,控制也不便。
方案四:基于单片机,锁相环,可编程分频、相位累加、存储器波形存储以及D/A转换器等组成的数字式函数信号发生器。
输出的频率的大小由锁相环和可编程计数器来控制,最终由地址发生器对存储器中的波形数据硬件扫描,单片机提供要输出的波形数据给存储器。
这种方案电路简洁,不受单片机的时钟频率的限制,输出信号精度高,频率“连续”,稳定性好,可靠性高,功耗低,调频,调幅都很方便,而且可简化软件设计,实现模块化设计的要求。
综合考虑,方案四各项性能和指标都优于其他几种方案,能使输出频率有较好的稳定性,充分体现了模块化设计的要求,而且这些芯片及器件均为通用器件,在市场上较常见,价格也低廉,样品制作成功的可能性比较大,所以本设计采用方案四。
其系统组成原理框图如图1所示。
图1 系统组成原理结构图图1中主要有2大块,即波形发生部分(上半部)和键盘/显示部分。
波形发生部分是本设计的核心,主要由可编程基准信号、锁相倍频电路、相位累加地址发生、EPROM存储器、数/模转换和滤波驱动等组成,如图2所示。
图2 系统波形发生模块键盘输入和显示部分在控制仪器中起着人机交互的作用,这两部分的设计是仪器和操作者进行联系并得到实际应用的关键之一,并关系到用户使用的满意度。
键盘/显示模块设计的常用方法有: ①采用8279可编程接口芯片来实现系统的键盘/显示器扩展功能,该芯片40引脚,体积较大,成本不低,编程也不方便。
②由单片机AT89C2051控制共阳数码管、按键构成动态显示模块。
该方案最多只能扩展16个按键,且数码管需8只三极管驱动。
③LCD液晶显示加键盘等,该方案成本不低,接口复杂。
考虑到成本及电路的复杂度,本设计采用一款新颖的HD7279专用键盘/显示芯片。
HD7279芯片价格低廉,内部含有译码器,并具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。
在设计时,外围电路简单,只需一个电阻和一个电容即可解决键盘/显示电路的外围设计,且有成熟的现成程序可借鉴。
2 频率控制机理及其硬件设计我们把锁相+直接数字频率合成称为PDDFS技术,频率控制是本设计的关键。
频率控制模块的主要硬件支持是锁相环CD4046和可编程分频器INTEL8254,锁相环CD4046是本系统工作的关键所在,可编程分频器INTEL8254和其相互配合,为相位累加器CD4518提供时钟脉冲,从而最终实现对输出波形函数信号频率的改变。
2.1锁相环介绍锁相环PLL(Phase Lock Loop)是一个能完成两个电信号相位同步的自动控制闭环系统。
它是比较输入信号和压控振荡器输出信号之间的相位差,比较结果产生的误差输出电压正比于输入信号和压控振荡器输出信号两个信号的相位差,原理如图3所示。
图3 锁相环原理框图在环路开始工作时,通常输入信号的频率与压控振荡器末加控制电压时的振荡频率是不同的,由于两信号之间存在固有的频率差,它们之间的相位差势必不断地变化,在这种误差电压控制之下,压控振荡器的频率也就在相应的X围之内变化。
若压控振荡器的频率能够变化到与输入信号相等,便有可能在这个频率上稳定下来(当然只有在一定的条件下才可能这样)。
达到稳定之后,输入信号和压控振荡器输出信号之间的频差为零,相位差不再随时间变化,误差控制电压为一固定值,这时环路就进入“锁定”状态。
当锁相环入锁时,它还具有“捕捉”信号的能力,VCO可在某一X围内自动跟踪输入信号的变化,如果输入信号频率在锁相环的捕捉X围内发生变化,锁相环能捕捉到输人信号频率,并强迫VCO锁定在这个频率上。
本系统选用的是 CD4046锁相环,其特点是电源电压X围宽(为3V~18V),输入阻抗高(约100MΩ),动态功耗小,在中心频率f0为10kHz下功耗仅为600μW,属微功耗器件。
它采用 16 脚双列直插式,各引脚功能如下:•1脚相位输出端,环路人锁时为高电平,环路失锁时为低电平。
•2脚相位比较器Ⅰ的输出端。
•3脚比较信号输入端。
•4脚压控振荡器输出端。
•5脚禁止端,高电平时禁止,低电平时允许压控振荡器工作。
•6、7脚外接振荡电容。
•8、16脚电源的负端和正端。
•9脚压控振荡器的控制端。
•10脚解调输出端,用于FM 解调。
•11、12脚外接振荡电阻。
• 13脚相位比较器Ⅱ的输出端。
• 14脚信号输入端。
• 15脚内部独立的齐纳稳压管负极。
图4是CD4046功能图,主要由相位比较Ⅰ、Ⅱ、压控振荡器(VCO )、线性放大器、源跟随器、整形电路等部分构成。
图4 CD4046锁相环的功能图∞=2R 时,锁相环的振荡频率可表示为:11C R VCO f in SOC ∝(1) 当∞=2R ,VCOin=Vcc/2时,锁相环的振荡频率(中心频率)可表示为:1102C R V f CC ≈ (2) 当锁相环锁定时,压控振荡器能在某一X 围内自动跟踪输入信号的变化,这个X 围称作锁定X 围。
通常锁定X 围大于捕捉X 围,锁相环能搜寻和捕捉的输入信号的频带定义为捕捉X 围。
对于CD4046内部有两个比较器,用相位比较器Ⅰ的情况下它的捕捉X 围和锁定X 围的关系为:ππ220RC f f L=(3)其中 RC 组成一个低通滤波器,即图4中的R3,R4,C2部分。
对RC 时间常数的选择有一定的要求,既要避免环路自激,又要保证对输入频率的变化有合理快的响应速度,一般R 用两个电阻,分别取R3=ΩM 1,R4=100Ω(这个电阻也可以不要接), C=C2=1F μ,因此捕捉X 围,就会比较低,并且对相位比较器Ⅰ,它要求Ui 、Uo 的占空比均为50%(即方波),这样才能使锁定X 围为最大。
对于频率输入的变化不大的场合,用相位比较器Ⅱ时其捕捉X 围和锁定X 围一样,与低通滤波器的RC 无关. 而且最大锁定X 围与输入信号波形的占空比无关,并且压控振荡器的输出脉冲占空比为50%,与输入信号的占空比没有关系。
图5为系统进入锁相状态时各引脚的典型波形。
其输出频率最大最小分别为:)PF 32(111max +⨯=C R f (4) 0min =f PF)50,110(11≥≤≤C M R K (5) 在VDD=5V 条件下,为了使输出频率最大,可取R 1=10K,C1=50PF ,R 2=∞,此时MHZ f 8.0max =。
图5 锁定时各引脚波形图2.2 可编程分频器及其频率控制的原理(1)可编程分频器本系统的分频器是由INTEL8254可编程计数器完成的,INTEL8254可编程计数器内部有三个相互独立的16位的计数器,其计数速率可达到8MHz (INTEL8253的计数速率只有2MHz )。
一个具有三态双向的8位数据总线缓冲器为8254芯片提供与系统总线相接口的能力,它在读/写逻辑的控制下接收来自系统总线的命令和数据,并将8254的状态字送上系统总线。
控制寄存器接收来自数据总线缓冲器中关于命令的数据,并暂存这些数据。
命令的数据经内译码后产生整个器件的控制信号,并设置每个计数器的工作方式。
每一个计数器是完全独立的,并有各自独立的工作方式。
8254的内部功能通过系统软件的编程来确定。
系统通过接口传送所要求的工作方式和数值来初始化计数器。
每一个计数器都是独立地通过一个命令数据来编程。
每个计数器有6种工作模式,本系统计数器0、计数器1均采用工作方式3,即方波发生器。
当进入工作方式3,GATE 为高电平并装入计数值n 后,若n 为偶数,则OUT i 端输出的周期为n ×CLK i 周期,占空比为1:1的方波序列;若n 为奇数,则OUT i 端输出的周期为n ×CLK i 周期,占空比为21/21-+n n 的近似方波序列。
(2)INTEL8254初始输入基准时钟INTEL8254的初始输入时钟信号,直接取自单片机AT89S52的ALE 引脚信号,其频率为单片机晶振频率的六分之一,本系统的单片机用6MHz 的晶振,所以输入到INTEL8254的基准时钟频率0f 为1MHz 。
(3)频率控制原理输出信号的频率控制主要通过对地址发生器扫描频率的改变来实现,其控制模块主要由计数器INTEL8254、锁相环CD4046组成。