资源描述
2
基于锁相技术的高精度程控相移信号发生器
研制一款基于AT89C52单片机、双口RAM和数字锁相技术的高精度程控相移信号发生器。
相移信号在电子、通信、科学研究或在工厂电子产品的品质分析检验中有着广泛的应用;两个同频相移信号是电子行业机电保护领域中模拟、分析事故的一个重要手段,相移信号发生器是电子电信科学工作者和实验室的一个重要设备。
目前市场上主要有模拟相移信号发生器和基于微处理器的数字式移相信号发生器两类。模拟移相信号发生器有许多不足之处,如输出波形受输入波形的影响,难以实现移相控制,移相角度随所接负载和时间等因素的影响而产生漂移,频率、幅度的调节,均依赖电位器实现,因此精度难以保证,也很难达到满意的效果。
基于微处理器的数字式移相信号发生器,精度较高,移相控制方便,在低中频频段,该类相移信号发生器无论在性能上,操作上都优于前者,因此受到了越来越多的推广和应用。
本研究拟采用AT89C52单片机、双口RAM、数字锁相技术和直接频率合成技术(DDFS),实现频率为20Hz~20kHz,分辨率为1度,频率和幅度的调节均可程控的高精度相移信号发生器。
主要技术指标:
1.可以产生正弦波、方波、以及三角波三种波形。
2. 输出频率可以实现从20HZ~20KHZ变化。
3. 信号频率数控调节,最小频率步进为1HZ。
4. 相移范围0——359度,最小相移步进为1度。
5. 用LED数码管实时显示波形的相关参数。
系统组成框图:
第一章 概 述
1.1 移相信号发生器简介
移相技术广泛应用于工厂电子产品的品质分析检验、相位测量、相位表的检定、同步检测器的数据处理以及实验室和一些重要的科研机构。在交流功率、交流电能的测量及测量线路的研究中,移相器是交流试验装置中不可缺的重要组成部分,诸如电能表校验台、交流电工仪表校验台、电量变送器校验台、继电器校验台等。在对电能表进行不同功率因数下的误差试验时,需用移相器改变电路里电压和电流回路之间的相角;在对电力系统中用于方向电流保护的功率方向继电器和用于距离保护的方向阻抗继电器等进行试验和调整时,也要用到移相器以提供相位可变化的电气量。两个同频信号之间的移相是电力行业继电保护领域中模拟、分析事故的一个重要手段。因此,移相技术有着广泛的实用价值。
移相发生器的研究相对于其它仪器来说,起步比较晚,而基于微处理器的数字式移相信号发生器研究,更是近几年的事。
目前市场上主要有模拟移相信号发生器和基于微处理器的数字式移相信号发生器两类。模拟移相信号发生器(如阻容移相、变压器移相、感应式移相) 在移相的高频领域,具有很多的应用,如铁氧体微波移相器、模拟压控移相器等。
变压器式移相器利用三相制电源中三相电压相位互差120°的原理,通过变压器将电源电压分组组合为圆内接正多边形,可分段连续取得0°~360°范围内的任一相位。圆内接正多边形包括正六边形、正十二边形和正二十四边形等。它获得特殊角度的相位比变换接线的跨相式移相法更为简便。以裂相正十二边形、移相细调30°电气角宽为例,其移相时输出电压幅值的最大波动量约达3 5%,为了抑制它可采用增多裂相相数如裂相24相、裂相48相的方法,但移相变压器的绕制将更加不便。若采用在移相变压器外另加附件的方法,则有压降法(又称余弦补偿法)和电压抵消法两种形式。前者的补偿效果受使用容量变化影响,且将阻抗分成近似余弦变化,印制板不易制做,阻抗分段的接点因间距很小,工作可靠性较差;后者须在移相变压器上加绕一组带抽头的丫绕组,这无疑将增加其绕制难度。显然,两者对改进已在使用的无补偿变压器式移相器的电压波动都不适用。
阻容移相是用模拟电路通过RC移相器来实现,压控振荡器用以产生信号所需频率,通过RC移相器实现对通道Ⅰ和Ⅱ的相位调节,幅值调节电路改变两通道的幅值。因压控振荡器的振荡频率易漂移,简单的RC移相电路无法做到0~360°范围内的调节,且调节范围和调节细度不易量化,故仅适于正弦信号,多数情况下不采用。
感应式移相的优点是能在0°~360°范围内连续移相且不断电,但其缺点明显:因有振动,相位不够稳定;噪声大,对环境造成污染;其波形失真大,不能调整三相对称,且电压调整率也大;移相时电压波动大;体积大、笨重,使移动不便。
模拟移相信号发生器有许多不足之处,如输出波形受输入波形的影响,移相角的调节操作不方便,移相角度随所接负载和时间等因素的影响而产生漂移等。
近年来,数字移相信号源在产生标准、稳定的相位及相位测量等方面的应用日趋广泛。数字式可调移相器采用微处理器控制移相电路,移相角度取决于微处理器的移相控制信号。微处理器根据测量输出调整移相控制信号,从而实现相移量自动调整。基于微处理器的数字式移相信号发生器,有的偏重于硬件,也有的偏重于软件,偏重硬件的精度较高,但制造及调试较复杂;偏重软件的结构简单,成本较低,但往往精度受影响。目前,移相电路大多采用硬件逻辑,通过它控制两组地址计数器的计数起点,使合成波形的过零点不同,以此达到移相的目的。当对移相细度要求较高时,采用这种方法有电路复杂、使用计数器和其它器件
3
第一章 绪论
多、耗电功率大、噪声大、造价高、可靠性差等缺点。
为了进一步提高移相信号源的性能指标,简化硬件电路,黑龙江省计量科学研究所的同志[2]提出了应用锁相技术、微程序设计技术及数/模转换技术等,设计一种逻辑存储移相信号源。该数字移相信号源具有使用元件少、集成度高、性能好、结构简单和便于程控等优点。
近年来,直接频率合成技术(DDS技术)也逐渐的应用于移相信号发生器,使移相信号发生器性能进一步提高。
1.2 频率合成技术
频率合成技术在本世纪30年代开始提出[5],它的发展已经有70年的历史。在这70年的历史中,大致可以分成三个发展阶段:直接式频率合成技术,锁相环频率合成技术以及直接数字频率合成技术。
所谓直接式频率合成技术[7][8][9],就是用倍频、分频和混频电路对一个或几个基准频率进行加、减、乘、除的运算,从而产生所需要的频率信号,并通过窄带滤波器选出。直接频率合成器的频率范围宽,频率转换较快,可以达到微秒级,频率间隔较小(10-2HZ),工作稳定可靠;但寄生输出大,需要大量的模拟元件,结构复杂,体积大,成本高。
锁相环(Phase-Locked Loops)频率合成技术改善了直接频率合成技术中的缺点。锁相环频率合成技术(PLL)是在40年代初根据控制理论的线性伺服环路发展起来的。它主要是将含有噪声的振荡器放在锁相环路内,使它的相位锁定在希望的信号上,从而使振荡器本身的噪声被抑制,使它的输出频谱大大提纯。
锁相环频率合成技术的原理框图如图1—1所示。其主要由四部分构成,晶体参考频率源提供基准频率fs,压控振荡器的输出频率fo经分频器分频后,送入鉴相器,与基准频率进行相位比较,从而产生误差信号,并以此误差信号来调整压控振荡器的输出。其中环路滤波起着平滑鉴相器输出电压的作用,它能滤掉高频部分和噪声,从而增加系统的稳定性。
图1—1 锁相环频率合成技术原理框图
锁相环频率合成技术提供了一种从单个参考频率获得大量稳定而准确的输出频率的方法,并且频率输出范围宽,电路结构简单,成本低。但由于它是采取闭环控制的,系统的输出频率改变后,重新达到稳定的时间也就比较长,因此,响应慢就是它的固有缺点[9]。
1.3 DDS合成技术
直接数字频率合成技术(DDS)的理论早在七十年代就被提出[7],它的基本原理就是利用采样定理,通过查表法产生波形,由于硬件技术的限制,DDS技术当时没能得到广泛应用。但是随着大规模集成电路技术的飞速发展,DDS技术的优越性已逐步显现出来。不少学者认为,DDS是产生信号和频率的一种理想方法,发展前景十分广阔。
与其它频率合成方法相比较,直接数字频率合成技术的主要优点是易于程控,相位连续,输出频率稳定度高,分辨率高。其分辨率可以达到10-3HZ[7],而且频率转换速度快,特别适宜用在跳频无线通信系统。其相位噪声主要决定于参考时钟振荡器。
4
第二章 总体方案论证与设计
本系统采用单片机作为数据处理及控制核心,将设计任务分解为信号输出采集存储、信号融合处理、显示/键盘等功能模块。考虑到硬件电路的紧凑性,故将上述模块合理分配连接成以下两个模块:系统移相信号模块、键盘/显示模块。下面对各模块的设计进行逐一论证比较。
2.1 系统移相信号模块
数字式相移信号发生器的实现方案很多,主要有如下几种:
方案一:采用微处理器和数模转换器直接合成的数字式移相信号发生器。这种信号发生器具有价格低,在低频范围内可靠性好,体积小,功耗低,使用方便等特点,它输出的频率是由微处理器向数模转换输出数据的频率和信号在一个周期内的采样点数(N)来决定的,因此受单片机的时钟频率的限制很大,如果单片机的晶振取12MHz,则单片机的工作频率为1MHz,此时要求输出移相分辨率为1度的相移信号,即在一个周期内输出360个数据,则输出信号的频率理论上最高只能达到2777Hz。实际上单片机完成一次数据访问并输出到D/A电路,至少要5个机器周期,因此实际输出信号的频率只有500Hz左右。即使增大晶振频率,减小一个周期内输出数据个数,在稍高的频率下输出的波形频率误差也是很大的,而且计算烦琐,软件编程麻烦,控制不方便。
方案二:利用DSP处理器,根据幅值,频率和相位参数,计算产生高精度的信号所需数据表,经数模转换后输出,形成需要的信号波形。这种信号发生器可实现程控调幅,调频和调相。但这种信号发生器输出频率不能连续可调,计算烦琐,控制也不便。
方案三:利用单片机与精密函数发生器构成的程控信号发生器。这种信号发生器能够克服常规信号发生器的缺陷,保证在某个信号的频带内正弦波的失真度小于0.5%。它的输出信号频率调整和幅值调整都由单片机完成。但是,由于数模转换器的非线性误差和函数发生器本身的非线性误差,这种信号发生器输出信号的频率与理论值会有一定的偏差。
方案四:基于单片机,锁相环,可编程分频、相位累加、存储器波形存储以及D/A转换器等组成的数字式相移信号发生器。输出的频率的大小由锁相环和可编程计数器来控制,最终由地址发生器对存储器中的波形数据硬件扫描,单片机提供要输出的波形数据给存储器。这种方案电路简洁,不受单片机的时钟频率的限制,输出信号精度高,稳定性好,可靠性高,功耗低,调频,调相和调幅都很方便,而且可简化软件设计,实现模块化设计的要求。
综合考虑,方案四各项性能和指标都优于其他两种方案,这种方案是现今移相信号发生器研制中比较新颖且较实用的一种,充分体现了模块化设计的要求,而且这些芯片及器件均为通用器件,在市场上较常见,价格也低廉,样品制作成功的可能性比较大,所以本设计采用方案四。
2.2 键盘/显示模块
键盘输入和显示部分在控制仪器中起着人机交互的作用,这两部分的设计是仪器和操作者进行联系并得到实际应用的关键之一,并关系到用户使用的满意度。键盘/显示模块设计采用的方法有:
方案一:采用8279可编程接口芯片来实现系统的键盘/显示器扩展功能,提高了系统的稳定性及可靠性。键盘控制部分提供一种扫描工作方式,可与64个按键的矩阵键盘或传感器连接,能对键盘进行自动扫描、自动消抖、自动识别出所按下的键并给出编码,能同时按下双键或N键实行保护,其接收键盘上的输入信息存入内部的先进先出FIFO键输入缓冲器,并可在有键输入时向CPU请求中断。8279提供了按扫描方式工作的显示接口,其内部有一
6
第二章 总体方案论证与设计
个显示缓冲器,能对8位或16位LED自动进行扫描,将显示缓冲器的内容通过74LS138译码,并由74LS07驱动,在LED上显示出来。结构图如图2-1所示。
图2-1 8279键盘/显示模块
方案二:如图2-2所示,由单片机AT89C2051控制8个共阳数码管、16个按键构成动态显示模块。由于AT89C2051有一个全双工串行通信接口,通过串行通信易于与某些基于虚拟仪表技术的仪器主板相连,使其脱机工作,成为便携仪表,方便了使用;与专用键显接口芯片8279相比,价格更加底;采用串行方式与主控单片机交换信息,硬件及工艺设计简单,抗干扰能力强;可承担键盘/显示及其他信息处理功能,从而使主机软件设计所考虑的因素减少,程序结构得以简化。
图2-2 键盘/显示模块
方案三:LCD液晶显示。例如采用OCM12864液晶显示模块可以显示各种字符及图形,可与CPU系统直接接口,具有8位标准数据总线、6条控制线及电源线,接口电路简单,控制方便。
方案四:采用专用键盘/显示芯片HD7279。HD7279芯片价格低廉,内部含有译码器,并具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。在设计时,外围电路简单,只需一个电阻和一个电容即可解决键盘/显示电路的外围设计,如图2-3所示。
图2-3 HD7279键盘/显示模块
在方案一中,虽然采用8279作为键盘/显示控制芯片,但从图2-1可看出,在电路连线方面显得太过繁锁,且需要较多的元器件。与方案一相比,方案二所需的元器件较少,从而使电路连线也得到了简化。因此,在功耗、体积、成本等方面都优于方案一。而方案三较前两者在体积、功耗、成本等方面又更进了一步,在外围电路上更具简单,因HD7279内带许多功能,在程序设计时大大缩短了开发时间。方案三在显示功能的实现上优于方案一、方案二,方案三,但成本较高。考虑到本设计对键盘/显示功能的要求不多以及成本、体积等各种因素,在此选用方案三作为键盘/显示的电路结构。选用方案三,提高了系统的性价比。
2.3 小结
通过对系统移相信号模块、键盘/显示模块方案的对比,并对PC机与单片机接口及编程软件的论证选择,我们确定了系统的各个主要模块的最终的可行方案,系统总体原理框图如图2-4所示。
图2-4 总体硬件组成框图
7
第三章 数字式相移信号发生器的硬件设计
硬件设计是整个系统应用开发的基础,要考虑的方方面面很多,主要考虑如下几个因素:①系统性能指标;②系统精度和稳定度;③器件的通用性或易选购性;④软件编程的易实现性。因此硬件设计至关重要。
3.1 频率控制机理及其硬件设计
频率控制模块的主要硬件支持是锁相环CD4046和可编程分频器INTEL8254,锁相环CD4046是本系统工作的关键所在,可编程分频器INTEL8254和其相互配合,为相位累加器CD4040提供时钟脉冲,从而最终实现对输出移相信号频率的改变。
3.1.1 锁相环介绍
锁相环是一个能完成两个电信号相位同步的自动控制闭环系统。其锁相原理可参考图1—1。它是比较输入信号和压控振荡器输出信号之间的相位差, 比较结果产生的误差输出电压正比于输入信号和压控振荡器输出信号两个信号的相位差。在环路开始工作时,通常输入信号的频率与压控振荡器末加控制电压时的振荡频率是不同的,由于两信号之间存在固有的频率差,它们之间的相位差势必不断地变化,在这种误差电压控制之下,压控振荡器的频率也就在相应的范围之内变化。若压控振荡器的频率能够变化到与输入信号相等,便有可能在这个频率上稳定下来(当然只有在一定的条件下才可能这样)。达到稳定之后,输入信号和压控振荡器输出信号之间的频差为零,相位差不再随时间变化,误差控制电压为一固定值,这时环路就进入“锁定”状态。当锁相环入锁时,它还具有“捕捉”信号的能力,VCO可在某一范围内自动跟踪输入信号的变化,如果输入信号频率在锁相环的捕捉范围内发生变化,锁相环能捕捉到输人信号频率,并强迫VCO锁定在这个频率上。
本系统选用的是 CD4046锁相环,,其特点是电源电压范围宽(为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脚内部独立的齐纳稳压管负极。
图3-1是CD4046功能图,主要由相位比较Ⅰ、Ⅱ、压控振荡器(VCO)、线性放大器、源跟随器、整形电路等部分构成。
20
第三章 数字式相移信号发生器的硬件设计
图3-1 CD4046锁相环的功能图
当锁相环锁定时,压控振荡器能在某一范围内自动跟踪输入信号的变化,这个范围称作锁定范围。通常锁定范围大于捕捉范围,锁相环能搜寻和捕捉的输入信号的频带定义为捕捉范围。对于CD4046内部有两个比较器,用相位比较器Ⅰ的情况下它的捕捉范围和锁定范围的关系为:
(3-1)
其中 RC组成一个低通滤波器,即图3-4中的R3,R4,C2部分。对RC时间常数的选择有一定的要求,既要避免环路自激,又要保证对输入频率的变化有合理快的响应速度,一般R用两个电阻,分别取R3=,R4=100(这个电阻也可以不要接), C=C2=1,因此捕捉范围,就会比较低,并且对相位比较器Ⅰ,它要求Ui、Uo的占空比均为50%(即方波),这样才能使锁定范围为最大。相位比较器Ⅰ一般用于频移键控解调FSK等一些抗干扰能力比较重要,且对于频率输入的变化不大的场合。用相位比较器Ⅱ时其捕捉范围和锁定范围一样,与低通滤波器的RC无关. 而且最大锁定范围与输入信号波形的占空比无关,并且压控振荡器的输出脉冲占空比为50%,与输入信号的占空比没有关系。图3-2为系统进入锁相状态时各引脚的典型波形。
其输出频率最大最小分别为:
(3-2)
(3-3)
在VDD=5V条件下,为了使输出频率最大,可取R1=10K,C1=50PF,R2=∞,此时[53]。
图3-2 锁定时各引脚波形图
3.1.2 可编程分频器及其频率控制的原理
(1)可编程分频器
本系统的分频器是由INTEL8254-2可编程计数器完成的,INTEL8254-2可编程计数器内部有三个相互独立的16位的计数器,其计数速率可达到10MHz。一个具有三态双向的8位数据总线缓冲器为8254芯片提供与系统总线相接口的能力,它在读/写逻辑的控制下接收来自系统总线的命令和数据,并将8254的状态字送上系统总线。控制寄存器接收来自数据总线缓冲器中关于命令的数据,并暂存这些数据。命令的数据经内译码后产生整个器件的控制信号,并设置每个计数器的工作方式。每一个计数器是完全独立的,并有各自独立的工作方式。
8254的内部功能通过系统软件的编程来确定。系统通过接口传送所要求的工作方式和数值来初始化计数器。每一个计数器都是独立地通过一个命令数据来编程。每个计数器有6种工作模式,本系统计数器0、计数器1均采用工作方式3,即方波发生器。当进入工作方式3,GATE为高电平并装入计数值n后,若n为偶数,则OUTi端输出的周期为n×CLKi周期,占空比为1:1的方波序列;若n为奇数,则OUTi端输出的周期为n×CLKi周期,占空比为的近似方波序列。
(2)INTEL8254初始输入基准时钟
INTEL8254的初始输入时钟信号,直接取自单片机AT89S52的ALE引脚信号,其频率为单片机晶振频率的六分之一,本系统的单片机用11.0592MHz的晶振,所以输入到INTEL8254的基准时钟频率为1.8432MHz。
单片机在访问(读或写)外部数据存储器或I/O时,ALE端不输出有效信号,也即跳过一个ALE脉冲,若不进行补偿,则ALE的频率是不稳定的。为避免读写信号时出现的因少一个ALE脉冲所导致的时序错误,设计时将ALE口输出的信号与读、写信号反相后的信号进行相或操作后再作为计数器INTEL8254的初始时钟信号,如图3-3所示。图3-4的时序分别为有一个MOVX指令时ALE、RD时序和进行补偿后的时序图。
图3-3 时钟补偿电路原理图
图3-4 读信号ALE时序及补偿后的ALE时序
(3)频率控制原理
输出信号的频率控制主要通过对地址发生器扫描频率的改变来实现,其控制模块主要由计数器INTEL8254、锁相环CD4046组成。其频率控制原理如图3-5所示。
图3-5 系统频率控制原理
INTEL8254的第0个计数器接受初始时钟信号,通过8254计数器0进行M分频后,其输出信号作为CD4046的信号输入AIN,而CD4046的压控振荡器的输出端接入INTEL8254第1个计数器的时钟输入端,经过分频后接到锁相环比较器输入端BIN。当相位锁定时,CD4046的压控振荡器的输出频率也就是倍频后输入CD4040计数器的时钟信号,其频率值等于计数器0的输出值与计数器1的分频值的乘积,即
(3- 4)
INTEL8254计数器1的分频值则受AT89S52单片机控制。相位累加地址发生器CD4040对双口RAM扫描速度随的值改变而改变,从而可以控制最终输出波形的频率值。假定相位累加地址发生器相位字长为,如图3-5所示。则输出波形的频率可表示为:
(3- 5)
由上式可知,要改变输出频率,则可通过改变分频值、和相位累加字长。为了在软件设计宜实现,取,因为1.8432MHz,则经过计数器51200 分频后的输出频率为36HZ,式(3-4)、(3-5)可分别表示为:
(3-6)
(3-7)
根据式(3-7),取值为360时,最终输出频率为:
(3-8)
分频值可取2~65536之间的任意自然数,因此输出频率最小可达0.1HZ的步进。若需实现输出频率为20KHz,由式(3-8)、(3-6)可知,,显然不仅8254不能实现此分频系数,而且根据式(3-2),锁相环也不能锁住此频率。为能实现高频输出,在此采用分段设置相位累加器字长的方法,即在2K以下取,2K~20K范围取。取36时:
(3-9)
当输出频率为20KHz时,,,两者均在可取范围之内,因此硬件上能实现此频率输出。
3.2 相位控制模块的电路设计及实现
相位控制模块主要的硬件支持电路是两片双口RAM和相位累加地址发生器。双口RAM的型号是IDT7132,主要作用是存储两路信号的波形数据并将某一时刻所需的波形数据送至DAC转换电路。单片机根据键盘输入的相移值,向两块双口RAM,按一定的算法写入波形数据,第一块存放基准波形数据,第二块存放的是移相后的波形数据。
3.2.1 IDT7132简介
IDT7132/SA是IDT(Integrated Device Technology,Inc.)公司生产的一种高速的2K×8的双口静态RAM,其功能模块图如图3-6所示,该芯片与TTL电路兼容,电源采用单电源+5V±10%,而且功耗非常小,工作状态时典型值为325mW,等待状态时仅为5mW,其一次读写数据时间在100ns以下,最快可以达到20ns,本系统用的是IDT7132SA35P,其一次读写数据时间35ns。最突出的优点是,由功能模块图可以看出双口RAM左右两边的数据线、地址线、控制线都是完全独立的。因此,相位累加地址发生器产生的地址扫描码及其数据信息与单片机向RAM写数据时的地址选通及其数据信息互不影响,不必另加其它的总线仲裁电路就能正常工作,这为本系统功能的实现提供了很大的方便,其工作速度也满足了系统要求。IDT7132的引脚功能如下:
图3-6 双口RAM功能模块图
3.2.2 相移工作原理
相位累加地址发生器主要有二进制计数器CD4040和360循环复位电路组成,其产生的脉冲作为双口RAM的输入,用于相位累加的扫描地址码。下面结合图2-5和图3-7介绍相移的实现原理。
(1) 360循环相位累加地址发生器由12位二进制计数器芯片CD4040和反馈复位电路完成。当计数器芯片CD4040接受来自锁相环的倍频脉冲,使其输出Q12Q11Q10Q9Q8Q7Q6Q5Q4Q3Q2Q1=000101101000B=360时复位到000000000000B,以此作为两片存储有相位累加波形数据的双口RAM的扫描地址。自循环复位电路是通过一个四输入的与门芯片74LS21来实现的,当计数器计到360时,其地址的二进制数为000101101000B,可见第8、6、5、3位为“1”(高)电平,把这四个信号输入到四个输入端与门,经反相接到CD4040的RESET引脚使其自复位,使CD4040重新从0开始计数。
(2) 工作时,AT89S52单片机根据键盘输入的参数,选中第一个双口RAM(存储有基准
图3-7 移相控制电路原理图
信号的波形数据)的地址总线AB2和数据总线DB2,并把要合成的波形的相应数据从双口RAM的“0”地址开始顺序写入到双口RAM中。再选中第二个双口RAM的地址总线AB2和数据总线DB2,并把根据移相值经一定算法得到的相应波形的数据按一定的初始地址值输入到第二块双口RAM中。值得说明的是:实现2路相移信号的直接数字合成,有2种方案可供选择,一是2片双口RAM存储的波形数据完全相同,而寻址起始地址值根据移相值不同而不同,这就要求有2套可独立控制的相位累加地址发生器;二是2套双口RAM的相位累加地址发生器完全相同,而波形数据值根据移相值不同而不同。前者偏重于硬件,电路较为复杂,但软件则很简单;后者偏重于软件,硬件电路简单且可靠,但软件则大为复杂,尤其用汇编语言完成时工作量较大,算法也有很大的技巧性。综合考虑诸多因素,本系统选用了后者。
两片双口RAM的地址总线AB1由同一相位累加地址发生器控制,两片双口RAM的数据总线DB1的输出则分别送到各自所对应的数模转换器AD7524,第一片D/A输出基准信号的波形,第二片D/A输出相移信号的波形。
3.3 幅度控制模块的硬件设计及实现
D/A 电阻网络及其D/A原理
对图3-8(2)电路,设D0----D7=“1”时的电压为VH,当D0----D7=“0”时的电压为0,则有:
对图1电路,有:
图3-8(2)电路的特点是电路简洁,仅有9只电阻,但电阻取值跨度太大,一是很难从市场上系列中选取,二是各位数据的负载不一,两者均导致电路误差较大,精度不高。
图3-8(1)电路的电阻取值规范,克服了图2电路的缺点,精度高,但用集成电路实现时,价格昂贵;用分立元件时则电阻的个数太多,共需17只。
图3-8(3)电路的各项性能指标,均介于两者之间,既有较高的精度,
电路也简洁,仅12只电阻。
本系统电压幅度的数字式控制是基于数模转换器件DAC0832而设计的,具体电路原理图如图3-9所示,DAC0832是一个8位的电流式的数模转换器,因此输出端还要接运算放大器,把电流信号转换为电压信号,再把负电压转换成所需的正电压输出。
为实现输出波形幅度的精确控制,设计时将7815稳压后的+15V电压经行分压处理,通过稳压二极管LM431稳压和精密电阻调节所得到的6.4V电压作为DAC0832的参考电压。由图可知,经DAC0832输出的电压为:
(3-10)
(表示输入DAC0832的8位二进制数)
此电压即为AD7524的参考电压。因此,改变也就改变了AD7524的参考电压,从而使输出电压幅度得以改变。从式(3-10)可看出,增加1,就增加0.025V,因此增加4,就实现了电压幅度0.1V的步进。
图3-9 幅度控制原理图
3.4 双极性输出电路设计
本移相信号发生器信号输出为双极性输出,因此输出电路原理图如图3-10所示。
在此采用AD7524模数转换芯片。AD7524的数据建立时间为170ns,并具有数据锁存功能,属于通用型高速数模转换芯片,而且本系统输出信号的频率最高为20KHz,因此满足要求。图中运算放大器为具有双极性工作电压的TL084。
图3-10 模数转换及双极性输出原理图
由图可得: (3-11)
(3-12)
为DAC0832提供的参考电压,输入的波形数据。由上两式可得:
(3-13)
取,当时,;时,;时,。由上述分析可看出,取不同数据时(0~256),可得对称的双极性波形输出。再取,则式(3-13)可表示为:
(3-14)
由上式可知,输出信号的幅度受的改变而改变。
3.5 滤波器设计
输入AD7524的波形数据是经量化的离散数据,而AD7524分辨率为1/256,因此输出的波形具有非连续性,是阶梯状的。假设AD7524的基准电压为+5V,则每个阶梯幅度为0.0195V。阶梯宽度为采样频率的倒数。这相当于给输出波形叠加了高频干扰,为确保产生波形的质量,减少波形失真度,使输出波形光滑,须用低通滤波器把高频分量滤掉。在此采用自动线性跟踪Butterworth有源滤波器[35]。图3-11为一常见的二阶有源低通滤波器,
图3-11 有源二阶低通滤波器原理图
其传递函数为:
(3-15)
式中为电路直流增益,为电路阻尼率,为电路固有频率,分别为:
(3-16)
(3-17)
(3-18)
以代入(3-15)式,求得其幅频特性:
(3-19)
式中为频率比,时的频率称为截止频率。
由式(3-19)可得,当时,其幅频特性最为平坦。当各种信号频率小于滤波器截止频率时,才能“无失真”地传输,也即幅度不会放大或衰减。当,,即时,由式3-16、17、18有:
(3-20)
(3-21)
令(3-20)式,得,则有:
(3-22)
由上式可知,当为定值时,电路截止频率与成反比。因此只要电阻按的比例关系线性改变,即可实现滤波器截止频率的线性跟踪的目的。
图3-12 程控有源二阶低通滤波器原理图
考虑到此移相信号发生器输出波形频率范围宽的特点,只设计一个截止频率的低通滤波器难以实现理想的滤波效果,而应该设计多个截止频率的滤波系统。为了使用方便,将此滤波器设计成程控滤波器的形式。程序设计时将输出频率范围划分为4个频段,通过I/O控制双路开关CD4052来选择不同的电路,从而改变二阶低通Butterworth滤波器的截止频率。其原理如图3-12所示。
3.6 人机对话模块
从系统要求实现的功能看,需要20个按键,如果真接用单片机I/O口将会浪费I/O口资源,若采用8279芯片,则会使系统电路更趋复杂。因此,系统的人机对话模块使用了键盘/显示采用HD7279A[54],它是一种管理键盘和LED显示器的专用智能控制芯片。它能对8位共阴极LED显示器或64个LED发光管进行管理和驱动,同时能对多达8×8的键盘矩阵的按键情况进行监视,其内部含有译码器,有两种译码方式,可直接接受16进制码, 具有消隐、闪烁、左移、右移、段寻址等多种控制指令,并具有自动消除键抖动并识别按键代码的功能,从而可以提高CPU工作的效率。HD7279A片内具有驱动电路,它可以直接驱动1英吋及以下的LED数码管,与微处理器之间采用串行接口,其接口电路和外围电路简单可靠,占用口线少,加之它具有较高的性能价格比,因此,在微型控制器、智能仪表、控制面板和家用电器等领域中日益获得广泛的应用。
HD7279A指令系统由6条纯指令、7条带数据指令和1条读键盘指令组成。这里对编程中用到的一些指令作介绍。
1. 纯指令
(1) 复位指令。指令代码为A4H,其功能为清除所有显示,包括字符消隐属性和闪烁属性。
(2) 测试指令。指令代码为BFH,其功能为将所有的LED点亮并闪烁,可用于自检。
2. 带数据的指(由双字节组成)
(1) 按方式0译码下载指令
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
0
0
a2
a1
a0
DP
X
X
X
d3
d2
d1
d0
X X:无影响 第1字节为指令,其中a2,a1,a0代表显示位地址:
a2,a1,a0
7
6
5
4
3
2
1
0
显 示 位
8
7
6
5
4
3
2
1
显示位8为最高位。 第2字节为显示内容,其中DP为小数点控制位,DP=1,小数点显示;DP=0,小数点熄灭。 d3 d2 d1 d0为数据,按方式0译码时数据和显示的关系如下:
d3d2d1d0
00H 01H 02H 03H 04H 05H 06HH 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH
显示内容
0 1 2 3 4 5 6 7 8 9 - E H L P 空
(2) 按方式1译码下载指令
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D3
D2
D1
D0
1
1
0
0
1
a2
a1
a0
DP
X
X
X
d3
d2
d1
d0
该指令和按方式0译码下载指令的含义基本相同。按方式1译码时数据和显示的关系如下:
d3d2d1d0
00H 01H 02H 03H 04H 05H 06HH 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH
显示
展开阅读全文