《基于8051单片机的相位差测试仪的研究设计.doc》由会员分享,可在线阅读,更多相关《基于8051单片机的相位差测试仪的研究设计.doc(42页珍藏版)》请在三一办公上搜索。
1、基于8051单片机的相位差测试仪的研究设计摘 要提出了一种基于8051 单片机开发的低频数字相位差测量仪的设计。系统以单片机8051 及计数器,显示管为核心, 构成完备的测量系统。可以对1Hz 1000Hz 频率范围的信号进行频率、相位等参数的精确测量, 测相绝对误差不大于1采用数码管显示被测信号的频率、相位差。硬件结构简单, 程序简单可读写性强,软件采用汇编语言实现, 效率高。与传统的电路系统相比, 其有处理速度快、稳定性高、性价比高的优点。关键词: 相位差;单片机; 计数器;数码显示管Designs of Low frequency Digital Phase Measurement Ba
2、sed on Single ChipAbstract A new kind of low - frequency digital phase measurement instrument is residented which is based on 8051.This is a complete system whose core is based on single chip 8051 and arithmometer and charactron. It may measure the frequency and phase of the signal which begin from
3、1 Hz to 1000Hz, absolute error is not more than 1 The data are displayed on numeral displayer. Hardware structure is simple and software is realized by compiling language. Compared with traditional circuit, it has many advantages of faster processing speed, good stability and high ratio between prop
4、erty and price.Keyword: phase difference; single-chip computer;. Arithmometer; charactron tube目 录第一章 绪论31.1背景介绍31.2本设计的内容要求及方法4第二章 小信号处理的构成及基本原理42.1信号处理模块52.2.1数字式相位测量仪52.2.2.移相网络62.2.3信号发生器72.3方案细化82.3.1、数字式相位测量仪82.3.2信号发生器92.4原理图分析及各参数设置10第三章 计数部分的构成和原理113.1测相部分113.1.1测相原理113.1.2电路结构123.2测频部分123.2
5、.1测频原理123.2.2电路结构133.3程序编写163.4输出显示部分18第四章 模拟仿真及结论204.1仿真工具的选择204.2电路仿真操作步骤204.3仿真波形分析21第五章原理误差分析235.1小信号部分的误差235.2频率测量模块的误差235.3相位测量模块的误差23附录25设计回顾,收获及心得体会30感谢辞31参考文献32第一章 绪论1.1背景介绍在实际工作中,经常会遇到需要检测两个信号之间的相位差,这也是研究网络相频特性中不可缺少的重要方面。在某些领域,精确地测量两个信号之间的相位差,具有很重要的意义。相位检测和数据判决技术是电力系统自动控制和谐波分析与控制的关键技术,相位差的
6、测量是研究网络相频特性中不可缺少的重要方面, 例如在电工仪表、同步检测的数据处理以及电工实验中,常常需要测量两列同频信号的相位差。当电力系统中电网并网合闸时,要求两电网的电信号之间的相位相同,这就需要精确测量两列工频信号的相位差。传统的测量方法很多, 有示波器测量法、转化为时间间隔法、电压测量法、零示法等。有的相位计随着频率的变化其误差呈规律性变化,当工作频率变化较大时,其误差的变化远远超出了允许的范围随集成电路技术的发展,单片CPU 的普及,用单片机组成的数字相位测量电路具有精度高、成本低的优点, 日益受到人们的重视。目前数字相位测量电路常采用过零比较法,此法受信号频率、时钟频率影响较大,
7、在干扰较强时检测的准确度不够高。1.2本设计的内容要求及方法本次设计的要求是基于单片机设计出能够测试出两同频信号的相位差,并且具有可调移相电路,该系统完成后将使被测电压,频率,相位信号幅值范围分别为1mV220V,1HZ1000HZ,被测信号差范围0360测量误差小于1。该系统分为小信号部分,测试处理部分和显示部分。本文介绍的检测方法不受信号频率的影响,准确度、稳定度好于过零比较法。第二章 小信号处理的构成及基本原理2.1信号处理模块本文设计最大的特点是将两路信号通过74LS74 双稳态触发器转换成一路脉宽信号,而脉宽的宽度为信号的相差,使得软件编程变得非常方便,也提高了精度.通过集成函数发生
8、器产生两个频率可变的正弦信号波A和B,其中B信号接移相网络,产生滞后或超前的相位,此时,将A,B两信号通过稳压管限幅以达到合理的输入,经放大器放大、限幅,过零比较器整流等环节,形成较稳定的脉冲信号,然后接入异或门,提取滞后或超前的相位差所对应的脉冲信号,再通过计数器分别测量该相位差所对应的脉冲宽度Tx,以及周期Tn(或者fn),整个计数器的工作状态由单片机控制,然后将Tx,Tx,输入单片机进行运算处理,最后由共阳极数码显示管显示出信号B滞后于或超前于A的相位和及其频率fn。信号处理模块主要是对信号进行滤波,滤除干扰并进行适当的放大、整形、限幅,它与整型模块一同构成信号预处理电路,输出TTL电平
9、,为相位差的检测作好准备. 采用同相滞回比较器,以减小外加干扰,提高测量仪灵敏度,提高精度,同时增大输入阻抗.本例采用快速性能较好的LP311 作比较器,以适应高频信号的测量要求,提高反应速度和测量精度. 此电路还有过压保护的作用2.2具体方案论证2.2.1数字式相位测量仪方案一:采用单片机实现数字相位测量。将两路输入信号分别通过放大,整形,过零比较,然后分别输入到单片机的两个外部中断,一个中断开启定时器,另一个中断关闭定时器,通过读取定时器值即可得到相位差。该方案采用外部器件较少,电路简单。但是,51系列单片机速度较慢,难达到相位绝对小于1的要求。方案二:采用相差-电压测量法。即通过数字鉴相
10、器,如异或门鉴相电路输出相差脉冲,经过低通滤波器滤出直流成分(含相位信息)。此方案解决了模拟鉴相的频带限制,但测相精度不高。方案三:如图-1采用单片机和计数器实现数字相位测量。将两路输入信号分别通过放大,限幅,过零比较,再将两路整形后的信号输入到异或门,所得脉冲的宽度可以反映相位差的大小。因为采用较高频率的晶振,因此对极小的相位差也能检测到。且利用四个计数器和一个D触发器还可以对一路输入信号进行等精度测量,克服了单片机在低频或高频部分1所引入的较大误差,提高了资源的利用率。采用计数器和单片机实现,因为资源要求不高,所以采用资源相对较少,抗干扰能力更强,更便宜的计数器实现。 比较上述三种方案,方
11、案一,方案二达不到设计要求,故采用方案三, 图-1 2.2.2.移相网络移相可以有数字移相和模拟移相两种方案。方案一:数字移相,单片机或FPGA控制高速ADC,对一个周期内的信号进行多次采样,将数据保存在高速RAM中。然后根据需要移相的大小,对量化数据的地址加上一个相位偏移量后输出。该方案的优点是相移量可以很大(0360都可),并且精度高,数字控制方便。但是一个周期内需要采样较多点,(如在20KZ下,为证1的增量,必须采样360个点),对ADC速度,RAM速度要求高。方案二;模拟移相,由R,C组成移相网络进行移相。相移网络的基本组成单元电路如图其中图(a)为超前移相网络,图(b)为滞后移相网络
12、,通过电压跟随器隔离后用电位器合成,可以得到-90+90任意相移角度。 图-2由于方案一实现难度较大,且价格比较昂贵,考虑到实际应用笔者采用方案二。只有输入信号的频率与RC网络的谐振频率相同时,才有45的相移,所以当输入信号频率变化时,RC网络也应有不同的转折频率。根据公式 C-2-1推导可得 C-2-2取电容为44(由两个22并联),当输入信号频率为100HZ时,由公式(C-2-1)得,,取R=36K;当输入信号频率为1KHZ时,同理可得,R=3.6189K取R=3.6K。从公式(C-2-2)中看到,输入信号的幅度有所下降,所以在输出后采用相同放大器,放大倍数为2。实际测试时相位只有-43+
13、45,误差主要是电阻,电容误差产生。调整滞后移相部分的电容为54,超前移相部分的电容为30,实际测量移相范围为-5150,交好满足了题目要求,因为要求最后的输出信号峰峰值在1mV200V内变换,因此最后接电位器进行幅度衰减调节。2.2.3信号发生器方案一:采用传统的直接频率合成器,在通过移相网络移相输出。这种方法能快速实现频率变换,具有低相位噪声以及所以方法中最高的工作频率。但由于采用大量的倍频,分频,混频和滤波及移相环节,导致结构复杂,成本高,容易产生杂散分量,且难以实现相位差1的精度。方案二:采用直接数字频率合成(DDFS)技术。DDFS的工作原理是用高速ROM存储所需波形的量化数据,按照
14、不同频率要求,用频率控制字M为步进对相量增量进行累加,按照不同相位要求,用相位控制字K调节相位偏移量,用累加相位值加上相位偏移量后作为地址码读取存放在存储器内的波形数据。经过D/A转换,滤波即可得到所需波形。DDFS具有相对带宽很宽,频率转换时间极短,相位误差小,合成波形失真度低的优点。通过控制频率控制字M和相位控制字K,可以很方便实现频率10HZ步进和相位步进1。但是因为要用高速ROM存放正弦波形数据,占用较多资源,同样存在价格昂贵的情况。方案三:采用集成函数发生器。集成函数发生器能够很方便的产生所需要的正弦波形,而且通过调节电阻的阻值可以调节输出频率的变化,稳定性也不错。通过比较上述三种方
15、案的优缺点,结合实际情况,笔者决定采用第三种方案。为了得到20KHZ的方波脉冲,笔者应用集成函数发生器8038并取电容C为1PF,变阻器的RP1、RP2的最大值为10K。这样就笔者得到所需要的方波脉冲。如图-3所示。为了实验方便,笔者还用另外一片8038作为所要检测的信号的发生器(正弦波),产生1HZ1000HZ的正弦波,取RP1、RP2的最大值为1K,电容C为1PF。 图-32.3方案细化2.3.1、数字式相位测量仪(1)小信号处理部分整体结构图小信号部分主要由放大,放大限幅,电平转换,数字整形四部分构成。由于输入的两路信号幅度不确定,频率不确定,边沿不够陡峭,而计数器和单片机测频测相是相对
16、TTL电平(数字信号)进行的,因此,我们必须对输入信号进行放大整形。电路及参数如图-4所示。 图4如图4 所示,由放大器,高速比较器LM311 、触发器组成. 它将被测移相网络的输入模拟待测信号U1 和被测移相网络的输出信号U3 变成数字方波信号U2 和U4 ,送至异或门处理. 显然,U1 和U3 是同频不同相的信号,相应信号的波形如图5 所示. 电路中的运放都采用LF353,它有10M带宽,很好地满足设计要求。实际测试中,在30KHZ的情况下,输入信号仍能很好的整形。LP311为电压比较器(过零比较器),起到把模拟信号转换数字信号的作用,为后面的计数器工作做好准备。而74LS14为一施密特触
17、发器,可以消除数字波形中的毛刺,使波形稳定。各主要相关元器件的管脚图及功能介绍见附录。 图52.3.2信号发生器正弦信号由集成函数发生器8038产生。其内部原理电路图如图-6。当电位器Rp1动端在中间位置,并且图中管脚8与7短接时,管脚9、3和2的输出分别为方波、三角波和正弦波。电路的振荡频率f为0.3/C(R1+RP1/2) 。调节RP1、RP2可使正弦波的失真达到较理想的程度为使输入阻抗100K,采用同相放大器,在输入端并上一个100K的电阻,这样就能满足要求。当RP1动端在中间位置,断开管脚8与7之间的连线,在+VCC与-VEE之间接一电位器,使其动端与8脚相连,改变正电源+VCC与管脚
18、8之间的控制电压(即调频电压),则振荡频率随之变化,因此该电路是一个频率可调的函数发生器。如果控制电压按一定规律变化,则可构成扫频式函数发生器。各管脚功能见附录。图6 2.4原理图分析及各参数设置为了提高输入阻抗和限制输入幅度,在输入端上并上一个R1=100K的电阻和一组二极管(反相击穿电压为5.1V),这样可以避免信号过多的衰减和因输入过大而烧毁放大器。放大限幅分两级,第一级采用同相放大器,放大的倍数取决于R2和R3,第二级他的作用是限幅,起限幅作用的是稳压管D1,为了使对正负信号都能通过和限幅,接了一桥式二极管电路。由于要求把最小的信号(即1mv)放大到5V,则要求放大倍数为5000倍(即
19、)。 即=5000假设 R1=1K,则R2=4999。在限幅方面,利用一个稳压管使电压的幅价不超过5.1V并利用桥式电路来防止电压不会失真。LP311为电压比较器使其参考电压为零(过零比较器),起到把模拟信号转换数字信号的作用,在电压比较器LP311后面接了一个上拉电阻,提高它驱动能力并为驱动后面的芯片提供大的电流。第三章 计数部分的构成和原理3.1测相部分3.1.1测相原理对于两路输入信号,在整形得到放波信号后,在异或门内先对其进行异或操作,再在计数器内对异或后信号的脉冲t的宽度进行计数。测相框图如图7其中BENA为计数器的使能信号,当BENA为高电平时,计数器开始计数,当BENA为低电平时
20、,计数器停止计数。而BENA由输入信号A和输入信号B控制,两路信号“异或”后控制BENA。从图7可知,测得的脉宽除以输入信号的周期恰好为两路输入信号的相位差。已知一个被测信号的周期为T,设相位差为,可得=t/T360 (C-1) 图7 假设计数器计了个脉冲,标准信号的频率,则t=。所以计数器将脉宽t和周期T的数值传给单片机,即可换算求得相位差。这里所需要的是t/T比例,可以实现与相位无关的相位等精度测量,具体理论可以参考测频部分。3.1.2电路结构由4个74LS161计数器组成1个16计数器(见图8),最大可以计65535。它的单位误差为0.0000018度并且它的性价比较16位高,这基本可以
21、满足测量精度的要求。函数发生起的频率为20KHZ,计数器最大可计数的值为65535,最大可测量时间大于1秒,而所测信号的范围在1HZ 1000HZ之间,最大周期为1秒。因此即使在测周期为1秒的信号其,计数器也不会益处。其中HZ74LS161的管脚图见附录3.2测频部分3.2.1测频原理传统测量方法中,测量精度受被测频率得影响。由于待测信号得频率范围很大,所以我们设计了一中测量精度与频率无关的硬件等精度测量方法。原理如图9 图9如图9所示,预置门信号所一脉宽为的脉冲,计数器BZQ和TSQ都是可控计数器,标准频率信号从计数器BZQ得时钟端输入,其频率为,经整形后的信号从计数器TF得时钟输入端输入,
22、其频率为,测得为。当预置门控信号为高电平时,经整形后的被测信号的上升沿通过D触发器的Q端同时启动计数器BZQ和TSQ。计数器BZH和TF分别对标准频率信号和整形后的待测信号进行计数;当预置门低信号为低电平时,经整形过后的被测信号对标准频率信号的计数器值为,由于两组计数器同时工作,则得到下面的公式: (C12)推导 (C13)从上述公式我们可以看到,其测量精度与和标准频率精度有关,而与被测信号无关。这就保证了在频和高频部分,频率计的等精度。3.2.2电路结构测频部分由D触发器和计数器组成。当单片机发出“开始测量相位”命令,控制电路先输出一个清零的脉冲,将计数器清零,随后并将门控制信号置为高电平。
23、这时D触发器的Q端为低电平,两组计数器尚没有计数。被测信号的上升沿到来时,D触发器翻转,其Q为高电平,D触发器控制测频部分的计数器同时工作,这就保证了测频部分的两组计数器能同时工作,这也是测频部分原理的根据。在计数器部分,因为74LS161是4位的,一共有16个状态,而笔者所需的两个16位计数器,所以测频部分采用两组计数器并且每组由四块74LS161串联而成,两组共需8块74LS161。这能很好的满足设计精度要求,使系统误差达到较小。每两个计数器连到一个三态总线控制数据的输出。另外,笔者还通过一个D触发器来判断是A超前B,还是滞后B。如图10,当输出Q为1时,则A超前B,反之B超前A。 待计数
24、器计数完毕以后,由单片机控制不同的三态总线分时通过P0口获得相应的数字,这样串行分时传输,缺点是增加了等待的时间。在单片机中进行数据处理得到频率f和相位。 图10整个计数过程由单片机进行控制,考虑到性价比及误差的要求范围,在此选用8051单片机芯片,在8051芯片中,由于P0口经常用做低8位地址线或数据线;P2口用作高8位地址线;而P3口的第二功能更为重要,多数口线要留作控制信号使用。这样一来,只有P1口能作为真正的数据I/O口来使用。而在整个测相和测频过程中,一共需要10根控制线,8051的P1口只有8位。在不更换芯片型号的情况下,可以扩展I/O接口,或者译码器。考虑到扩展I/O接口不但会带
25、来硬件方面的工作量,同时在单片机还要对其进行初始化处理,这降低了单片机的运行速度。为次决定采用74LS139二-四译码器,它能使控制线恰好增加到10根。74LS139芯片管脚图见附录。这样一来通过这10根控制线就可以控制计数器何时开始计数,何时清零了,何时读数,可以使它们有条不紊的工作。为了使计数器输出连接在一起而造成短路,于是在接入前串接一个三态门总线。 图83.3程序编写在单片机编程方面,如果直接采用以前所学的MCS-51汇编语言进行程序的编写,尽管汇编的运行的速度较快,但整个程序显的非常的庞大复杂。而C语言有简单实用且具有较好移植性的特点。例如,在编写除法程序时,如果用汇编的话,则有数页
26、;而在C中只要几行就可以这个问题。为此笔者决定选用其它的编程语言,如AVR,KLC 等,权衡优缺点和自己掌握的知识的情况之后,笔者决定采用单片机C在WINDOWS下编程,它兼容一部分MCS-51指令,即在KLC语言里,已经对单片机的接口,中断源等进行了定义,而不必在编程的时候重新去定义,这样一来就大大减少工作量,而且使整个程序变得简单明了,可读性强,易于修改。KLC软件使用说明见附录。单片机把获得数据存储在相应的数据单元以后,计算出频率 和相位差,并通过串口输出。具体情况见流程图单片机源程序见图11。其中court18=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0x
27、F8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x84,0xFF,0x8C;为查表程序,它是十六进制数及空白字符与P采用共阳极接法时的显示段码。而下面是一段延时程序,它能产生1ms的延时,在本次程序中调用它,并给它传递一个2000的数,这样就可以产生2000ms的延时,从而达到要求。void mesc(unsigned int x)unsigned int j;while (x-)!=0)for(j=0;j125;j+) ; 图113.4输出显示部分在输出显示方面,笔者决定输出显示经过计算后的频率和相位。输出显示部分采用6块LED数码管和6块74164,由单片机输
28、出的频率和相位分时显示在显示管上,当数据从单片机传出时,必须经过译码器译码才能显示在显示管上, LED数码显示管有两种接法,这里采用共阳极接法。单片机与LED数码显示器有以硬件为主和以软件为主的两种接法以硬件为主的接口方法:在数据总线和LED显示器之间,必须有所存器I/O接口电路,此外还应有专用的译码器/驱动器,通过译码器把1位十六进制数(4位二进制数)或BCD码译码为相应的显示段码,然后有驱动器提供足够的功率去驱动发光二极管。这种接法仅用1条输出指令,就可以进行LED显示,但它所使用的硬件电路较多,而硬件译码缺少灵活性,只能显示十进制或十六进制数(包括空白字符)。该方法主要用于显示位数较多或
29、对显示器的亮度有一定要求的场合。以软件为主的接口方法:它是以软件查表代替硬件译码,不但省去了译码,而且还能显示更多的字符,但所驱动器是必不可少的,因为仅靠接口提供不了较大的电流供LED显示器使用。通过比较以软件为主的接口方法更适合本次要求。当8051的串行口不作通信使用时,可以使它工作在移位寄存方式(方式0),扩展74LS164来驱动LCD静态显示器,工作在寄存器方式时,串行口的TXD端输出移位同步时钟,RXD端输出串行数据,即选码数据。include#define uchar unsigned charuchar byte=0x59;void display(uchar x)SBUF=X;/
30、由串行口输出While(Ti=0);/等待8位发送结束Ti=0;void main(void)display(byte)电路硬件连接图如图12 图12第四章 模拟仿真及结论4.1仿真工具的选择由于误差主要产生在小信号处理部分,为了进行误差分析有必要对小信号处理部分进行模拟仿真。在仿真软件的选择上有PROTEL 和MATLAB两种相对较熟悉的仿真软件供选择。通过比较,发现PROTEL更适合于对该小信号电路进行仿真,PROTEL仿真后的图形效果更为直观,而且有多种不同类型的分析,适合不同的要求,同时笔者在对PROTEL的使用较之MATLAB更为熟悉。于是,笔者决定选择PROTEL进行仿真,PROT
31、EL软件的功能及使用说明见附录。4.2电路仿真操作步骤a.编辑原理图 利用原理图编辑器(Schematic Edit)编辑仿真测试原理图,在编辑原理图过程中,除了导线,电源符号,接地符号外,原理图中所有元件的电气图形符号均要取自电路仿真测试专用电气图形符号数据库文件包Sim.ddb相应元件电器图形符号库文件(.lib),否则仿真时因找不到元件参数(如三极管的放大倍数,结反向漏电流)而给出错误提示并终止仿真过程本次仿真的电路图中主要元件为放大器LF353,高速比较器LP311.施密特触发器74LS14,和稳压管,二极管,电容以及若干电阻在放置元件操作过程中,元件未固定前,需按下Tab键进入元件属
32、性设置窗口,再分别单击Attributes”,”Part Fields 1-8”,”Part Fields9-16”等属性标签,设置元件的仿真参数在本次仿真电路中LF353,LP311,74LS14等器件除标号外,参数无须另外设置,需要设置参数的元件主要是电阻(确定放大倍数,和输入输出阻抗等). 在设置参数时须注意默认的单位,如电容默认为,电感为等等否则波形会与预期理论值有差别原理图见图13b.放置仿真激励源在仿真测试电路中,必须包含至少一个仿真激励源本次电路要求的是两同频正弦信号波,为常用的激励源,在Simulation Sources工具栏内同时放大器LF353,比较器LP311等器件需要
33、直流驱动,因此也需要提供直溜激励源,并且要设置激励源的参数c.放置节点网络标号在需要观察电压波形的节点上,放置节点网络标号,以便观察到指定节点的电压波形,因为Protel99仿真程序只能自动检测支路电流,元件阻抗,没有节点电压在本次仿真电路中,主要有四个功能环节,为次分别在放大环节,放大限辅环节,整流环节,去除抖动环节这四个环节后设置节点网络标号U1,U2,U3,U4.这样我们就可以轻松看到每个环节的功能是否符合预期d.选择仿真方式并设置仿真参数在原理图编辑窗口内,指向并单击Simulate” 菜单下的“Setup”指令进入“Analyses Setup”仿真设置窗口,选择仿真方式及仿真参数根
34、据需要分析的类型,本次电路仿真我们选择了工作点分析(Operating Point Analyses)和瞬态分析(Transient Analyses),其中主要是瞬态分析,它是一种最基本最常用的仿真分析方式,属于时域分析,用于获得节点电压,支路电流或元件功率等信号的瞬时值,即信号随时间变化的瞬态关系,相当于在示波器上直接观察信号的波形工作点分析是“副产品”,它的作用是确定电路中非线性元件线性化参数的初值再执行瞬态分析会自动执行工作点分析e.原理图的电气检查及修改执行“Tools”菜单下的“ERC.”命令检查电路编辑过程中的缺陷,如没有连接的网络标号,悬空的引脚,没有接地的电源及地线,输出引脚
35、短路等执行完后,会在电路图上做出标记,进行修改后,删除这些标记f.生成各种报表等如果需要制作印制PCB电路板的话,为了保持兼容性,需要建立网络表文件(.net),而生成元件清单文件(xls)的目的是为了迅速获得一个设计项目或一张电路图所包含的元件类型,封装形式,数目等,以便采购或进行成本预算4.3仿真波形分析仿真波形见图14。观察U1基本于预期波形相符,而U2,U3,U4都有不同程度的偏差,这与静态工作点的选择有关,通过改变电容的大小和LP311,LF353直流激励源的参数可以达到目的。同时,在Protel99仿真中,元器件都是理想化的,因此仿真中出现的波形会与理论实际中的有出入,如二极管,稳
36、压管,在导通时相当于短路,截止时相当于断路,还有激励源都是无内阻的,理想化的图13图14 第五章 原理误差分析5.1小信号部分的误差相位计的设计中采用的是相位-时间转换法其误差的来源主要有三个:A 计数误差。即1误差。B 标准频率误差。函数发生器精度在10e-6,误差可忽略不计。C 波形转换时间误差。输入的两个同频正弦信号转换成时间门控制信号时,由于转换电平,噪声以及所选器件的性质影响,存在一个触发转换误差。输入正弦信号在转换过程中,信号源,放大电路,过零比较器等组成放大整形电路。这些电路从电路噪声到器件特性影响,都会引入直流偏置。当无直流偏置影响时,门控开启时间刚好等于一个被测周期T或,当受
37、直流偏置影响时,直流偏置导入了一两个尖峰脉冲,时间差为。绝对误差为:,与成正比,受直流偏置直接影响。直流偏置影响是本系统的主要影响。我们知道迟滞型电压比较器可以很好地消除抖动。但从迟滞比较器输出的信号与输入信号存在延迟,也就是说输出的信号的上跳沿滞后于输入信号,输入信号的幅度越小,滞后的越多。如果两路输入信号幅度基本相等,且两个迟滞比较器的门限又很接近的话,迟滞比较器引入的相位误差不会对测量精度造成多大的影响。如果两路输入信号的幅度相差较大的话(例如一路信号的峰-峰为5V,另一路为0.5V),两路迟滞比较器引入的相位差可能有较大差值(十余度),这使得相位差大得难于接受。另外比较器的输入失调电压
38、也会引入一定的误差。减小电压比较器引入的相位误差的一个直接办法是对输入的信号进行放大,将两路信号放到幅度大致相等后在送入迟滞型电压比较器。但是进行放大可能引入难以预测的附加相移,使得相位精度下降。 5.2频率测量模块的误差频率测量模块。该模块测频的原理为在1秒的时间里对输入脉冲计数(每有一个上升沿,计数值加1),因此其误差来自所计脉冲数,此误差最大为一个脉冲,因此,最大误差为其中,f为计数器所计脉冲数。可见,测高频时误差小,而测低频是误差较大。5.3相位测量模块的误差位测量模块。该模块首先由测得的频率f得到被测信号的周期再由计数器测量鉴相后的脉宽。由公式 得到移相网络产生的相位差。现根据脉宽测
39、量的方法,分析测量误差。设两信号上升沿之间的宽度为,标准计数时钟为20KHZ,计数周期为0.05ms,则脉宽宽度的测量值为 ,在一次测量中,计数值为N可能产生正负1个计数脉冲周期的计数误差,则综合脉宽测量的误差和频率测量的误差,可得相位测量的相对误差为可以看出,相位差脉冲频率越高脉宽测量误差越大,信号频率越低频率测量误差越大,但因脉宽测量的误差起主要作用,所以总体来讲频率越高误差越大。此外,标准频率也有其本身的误差。过零比较器引起的相移。由于此方案是将正弦波整形成方波之后进行测量,而波形 变换电路(即过零比较器)本身就会引入一定的相移量。虽然经相移网络前后的正弦波都经过了过零比较器,但由于其参
40、数及特性不可能完全相同,因此仍会引入一定的误差。设计改进:测量仪部分的误差主要在信号前级处理电路,主要是由隔直电容和运放等集成芯片产生。可以通过选择更小相位延时的运放和高速比较器来降低误差。对于晶振所引起的误差,可以采用与标称频率误差更小的晶振来降低误差。附录附录1:Protel 99SE软件功能介绍及使用说明PROTEL:PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大
41、公司在招聘电子设计人才时在其条件栏上常会写着要求会使用PROTEL。早期的PROTEL主要作为印制板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但它的功能也较少,只有电原理图绘制与印制板设计功能,其印制板自动布线的布通率也低,而现今的PROTEL已发展到PROTEL2006(网络上可下载到它的测试板),是个庞大的EDA软件,完全安装有200多M,它工作在WINDOWS XP环境下,是个完整的板级全方位电子设计系统,它包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子
42、表格生成、支持宏操作等功能,并具有Client/Server (客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100布通率。 Protel 99SE仿真程序具有如下特点: 1.与原理图编辑(Schematic Edit)融为一体,即只要原理图中所有元器件的电气图形符号取自Design Explorer 99LibrarySchSim.ddb电路仿真测试用元件电气图形符号库文件包内,在完成原理图编辑后即可启动仿真操作,无须再次输入仿真电路,避免了重复劳动这是内嵌仿真功能电路CAD软件的特点2.
43、提供了数十种仿真激励源,5800多种仿真元器件,可以对模拟电路,数字电路及数字模拟混合电路进行仿真分析3. 提供了工作点分析,直流扫描分析,瞬态特性分析(在瞬态特性分析时,允许使用傅立叶分析,从而获得复杂信号的频谱),交流小信号分析,阻抗分析,幅频(相频)特性分析,环境温度扫描分析,噪声分析,参数扫描分析,蒙特卡罗(统计分析)等多种仿真方式可以只执行其中的一种仿真分析,也可以同时进行多种仿真分析附录2:Keil C51软件功能与使用说明。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统 与汇编相比 C 语言在功能上,结构性,可读性,可维护性上有明显
44、的优势 因而易学易用, 用过汇编语言后再使用C 来开发 体会更加深刻。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具 全Windows界面,另外重要的一点只要看一下编译后生成的汇编代码 就能体会到Keil C51生成的目标代码效率非常之高多数语句生成的汇编代码很紧凑容易理解在开发大型软件时更能体现高级语言的优势。Windows和forDos的集成开发环境(IDE)可以完成编辑 编译 连接 调试 仿真等整个开发流程 开发人员可用IDE本身或其它编辑器编辑C 或汇编源文件 然后分别由C51 及A51 编译器编译生成目标文件(.OBJ) 目标文件可由LIB51 创建生成库文件 也
45、可以与库文件一起经L51 连接定位生成绝对目标文件(.ABS) ABS文件由OH51 转换成标准的Hex 文件 以供调试器dScope51 或tScope51使用进行源代码级调试 也可由仿真器使用直接对目标板进行调试 也可以直接写入程序存贮器如EPROM 中深入理解并应用C51对标准ANSIC 的扩展是学习C51的关键之一 因为大多数扩展功能都是直接针对8051系列CPU硬件的大致有以下8 类:8051 存储类型及存储区域a.存储模式 b.存储器类型声明 c.变量类型声明d.位变量与位寻址 e.特殊功能寄存器(SFR)f.C51 指针 g.函数属附录3双2-4译码器 74LS139Vcc -2G 2A 2B -Y0 -Y1 -Y2 -Y3_ _ _ _ _ _ _