用单片机低频数字式相位测量仪2_第1页
用单片机低频数字式相位测量仪2_第2页
用单片机低频数字式相位测量仪2_第3页
用单片机低频数字式相位测量仪2_第4页
用单片机低频数字式相位测量仪2_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、低频数字式相位测量仪c11 石油大学(华东)尚海燕 曹善甫 梁锴 摘 要 本系统由两片独立的CPU组成。用MSP430实现基本要求中的相位、频率、电压测量及其数字和图形显示功能;用AVRmega8515实现扩展要求中的数字式移相信号发生器及其设置频率和相位的功能。本设计充分利用了MSP430的高速硬件捕获功能来实现频率和相位的测量,并利用AD转换器对数据进行进一步处理,在高低频段分别采用多次测量、滤波算法、矢量分解、偏移修正等算法消除干扰提高精度,采用了大屏幕液晶显示测量的详细信息。利用AVRmega8515配合16.384MHz的高速晶振,采用软件DDFS实现双路数字式移相信号发生器,由于使

2、用优化算法,实现了高达每秒655.36K次的双路相位计算,输出频率为20Hz-40.48KHz,可实现20Hz的步进,系统硬件结构简单,频率、相位稳定度高;采用数码管显示和按键设置频率及相位差。移相网络安题目要求由常规的模拟器件组成。本系统主要由相位测量、移相网络和数字式移相信号发生器三大模块组成。一、 方案比较与论证1 、 相位测量部分方案一:传统的模拟法。该方案采用倍频、计数、门控等电路。此方法难以实现大频率范围的相位测量,精度低、稳定性差。方案二:采用双通道高速A/D对输入的信号进行采集,然后FFT和基波的矢量分解的方法计算出这两个信号的基频和相位。该方案精度高,算法简单,对畸变波形有一

3、定的处理能力。但要求在AD采集前作频率测量,在信号频率较高时,需要使用超高速AD转换器并且需要较高的计算能力,一般需要使用DSP进行信号处理。硬件复杂,难度较高。方案三:整形鉴相法。将输入的两相位不同的正弦波通过比较器进行整形,变成方波。然后将两方波进行异或比较输出,从而得到两输入信号的过零时间差和两信号的周期,通过计算获得信号的频率和相位。该方案较简单,但普通单片机需要通过扩展外部电路,增强计时、计数能力才能达到满足题目要求的精度。方案四:采用较高性能的混合信号处理器MSP430,采用方案三和方案二相结合的方式对输入信号进行处理,在高低频段混合采用矢量分解和两相比较器输出方波信号跳变时间的分

4、析,准确计算出频率和相位差。此方法由于使用了混合信号处理器MSP430,集成度高,片内包含多路高速且有缓冲存储能力的俘获单元,可以准确记录方波信号跳变时间,片内包括速度高达200k sps且有连续操作和缓冲存储能力的12位ADC,为扩展各项功能提供了支持。软件部分实现了自动频率测量、相位测量、信号源电压测量、信号波形显示,用软件采用平均、矢量等算法进行多次复合测量消除噪声干扰、接触不良等引起的误差,并能在输入信号异常(如直流分量高、信号严重畸变、信号太小、输入信号超量称等)状态下自动报警,给出提示。此方案硬件比方案二和方案三都简单,而且测量精度高,功耗低,体积小。2、数字式移相信号的产生部分方

5、案一: 采用单片机的定时器产生数字信号,通过滤波或锁相等环节输出正弦信号。该方案对单片机要求低,但产生的信号频率低,频率步进大,模拟部分产生较大相移,难以保证输出的相位精度,很难达到设计要求。方案二:采用硬件直接数字频率合成(DDFS)技术产生数字信号。直接频率合成方法具有频率转换时间短、近载频相位噪声性能好、精度高,产生的信号频率范围宽等优点,但由于需要采用地址,相位计算,访问存储器操作等环节,导致直接频率合成器结构复杂、体积庞大、成本高,功耗大。而且即使使用大规模的PLD,也需要单片机来实现键盘、显示的控制等工作。方案三:采用软件DDFS方法产生数字信号。该方案硬件实现简单,产生的信号精度

6、高,频率范围宽。采用高速的AVR单片机,使用16.384MHz的晶体振荡器可实现软件DDFS算法,可以以655.36K的速度刷新双D/A,可实现20Hz的频率步进和从20Hz到40.96KHz的可移相的0360度的信号输出。完全可以满足题目的要求。此方案由于使用了较高性能的单片机和充分优化的软件结构,在不降低系统性能的条件下,硬件简单、成本低、功耗低、可靠性高,具有较高的实用性。3、模拟移相部分采用常见的模拟器件电阻,电位器,电容和运放的组合电路实现移相。直接对模拟信号进行移相,如阻容移相,变压器移相等,早期的移相通常采用这种方式。采用这种方式制造的移相器有许多不足之处,如:输出波形受输入波形

7、的影响,移相操作不方便,移相角度随所接负载和时间等因素的影响而产生漂移等。该方案由于使用模拟器件,因此精度不是很高,硬件系统比较复杂。此类方案形式较多,但都难以消除作为模拟系统的弱点,在此不作详细讨论。题目的基本要求部分既是采用此方案,我们按要求完成了这部分电路。二、 系统设计与计算1、数字式相位测量仪的设计总体设计:数字式相位测量仪的设计框图如图21所示。使用高性能单片机MSP430F149为核心,前端的两路信号分别通过跟随器,直流耦合电路,提高了系统输入阻抗。然后使用LM339比较器进行整形,输入到单片机的捕获端。再令引一路信号,送给单片机的内部AD转换器。通过单片机判断两通道的输入信号的

8、上升沿和下降沿,对来自AD的数据进行处理,从而计算出两信号的相位差。 软件实现流程图:数字式相位测量仪的软件流程图如图2-2所示:图22 数字式相位测量仪的软件流程图器件的选择与计算:要使LM339比较器输出稳定,则要求其输入阻抗小于20K,而本题目要求系统输入阻抗大于100K,因此,在输入端我们选择使用一片LM324作为信号的输入缓冲,从而提高了系统的输入阻抗。为了减少噪声的影响,在输入端我们使用200K的电阻接地。如图23所示:图23 缓冲电路图LM339比较器比较容易受干扰,因此,在电源部分使用鉭电容,将未用输入端接固定电平,以保证LM339的稳定性。LM339的输出为OC结构,使用时要

9、接上拉电阻和分压电阻,使输出电平符合单片机要求。如图24所示:如果使用施密特触发器可以是比较信号更稳定。但这样影响相位的测量,因此本方案采用直接比较法,在软件中消除零点及噪声的干扰。通过捕获处理后的两通道的方波,就可计算出频率和相位。原理如图25所示: 图25 相位计算示意图计算公式为: 根据题目要求在20KHz时,应保证2度的精度。可计算出单片机的计时分辨精度为:Hz当单片机的计时分辨精度优于3.6MHz时,才能保证题目要求的精度。我们使用的430F149使用8MHz的晶振,足可以保证精度的要求。以上是本方案的基本原理,实际使用中采用噪声消除和零点平移修正来减少系统误差。本方案采用24位计时

10、器,可以保证在被测信号周期为2秒时不会溢出。可以满足对被测信号的最低频率要求。误差分析:此方案中采用计时和鉴相处理。其中计时部分使用单片机系统时钟。此时钟来自于晶振,其误差很小可以忽略。鉴相部分精度取决于从信号输入端到单片机捕获端通过的跟随器、电压比较器所产生的相位差和时间滞后。本方案使用了直流耦合,使得由跟随器产生的相移误差几乎为零。而两通道的电压比较器的时间滞后相同,为130ns。此外,本设计中使用单片集成的运放和比较器,一致性好,不会对测量结果产生影响。由于输入信号和运放、比较器固有特性都可能产生零点偏移,使比较器的输出不平衡。如果单边沿检测,显然影响精度。本方案使用上下边沿都检测,然后

11、通过计算来修正由零点漂移引起的误差。2、数字式移相信号发生器的设计实现的基本原理:DDFS原理:DDFS的基本原理框图如图26所示。图26 DDFS 的基本原理图DDFS包括信号幅值计算单元、存储正弦数据表的ROM存储器、DAC和输出滤波器组成。正弦波的信号幅值以数据表的形式存储在ROM存储器中,由信号幅值计算单元以恒定的速度进行相位累加计算,计算出当前时刻的输出正弦信号的相位,然后用此相位在ROM种查得应送往DAC的数值。通常使用的相位累加器由N位加法器与N位累加寄存器级联构成。每来1个时钟脉冲,加法器将频率控制数据与累加寄存器输出的累积相位数据相加,把相加后的结果送至累加寄存器的数据输入端

12、。累加寄存器将加法器在上1个时钟作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下1个时钟的作用下继续与频率控制数据相加。这样,相位累加器在参考时钟的作用下,进行线性相位累加,当相位累加器累积满量时就会产生1次溢出,完成1个周期性的动作,这个周期就是DDS合成信号的1个频率周期,累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为取样地址,对正弦波波形存储器进行相位幅值转换,即可在给定的时间上确定输出的波形幅值。数模转换及低通滤波器 :DAC将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号,低通滤波器用于滤除不需要的取样分量,以便输出特定频率段及平滑的正弦波

13、信号。按照Nyquist准则,最高输出频率可达0.5fc。但考虑到实际低通滤波器性能的限制,实际最高输出频率一般取为40fc。通过对DDFS原理的分析,我们发现DDFS核心的是相位累加器、相位计算和ROM查表算发,通过CPU和软件完全可以完成同样的工作,本题需要输出移相信号,需要使用两路同频DDFS。经过理论计算和软件测试,我们选用了AVRmega8515单片机,使用优化算法实现了图26的算法,实现了高达每秒655.36K次的双路相位计算。软件DDFS与硬件DDFS的基本原理是相同的,同样输出频率下效果完全相同。但软件DDFS用高性能的单片机来代替过去用PLD、ROM和单片机才能实现的功能。从

14、而使得操作更灵活、硬件电路更简单。总体设计: 数字式移相信号发生器的总体设计框图如图28所示: 图28 数字式移相信号发生器的设计框图器件选择及相关的计算:题目要求频率范围在20Hz20KHz,步进20Hz可得:频控字K从最低输出频率到最高输出频率变化至少20KHz/20Hz=1000,因此至少使用10位计数器。从单片机的存储能力和计算能力考虑,使用16位无符号整形表示K,使用范围1-2048,即实际使用11位。根据要求,为了在最高频率20KHz时输出平滑波形,使用32点输出,因此选择了具有665.36KHz的DA输出速度的DA0800器件。在此频率下,在输出20.48KHz信号时保持32点输

15、出,波形相当平滑。最高可以输出40.96KHz信号。在软件DDFS计算过程中,移位和计算ROM表的地址比较耗时,为了提高计算速度,使用了空间换时间的方法,在ROM表中连续构造每周波2048点的正弦表3个。通过这种方法,减少了计算地址移位的时间和避免了B相相位叠加后溢出的问题。通过优化,AVR CPU可以在25机器周期内完成两通道DDFS计算并送DA输出。因此我们选用了16.384MHz四脚晶振作为CPU时钟,实现了16.384MHz/25=665.36Khz的输出频率。软件DDFS算法如上图,程序如下:Loop: LPM OUT PORTA,R0 ADD R30,R18 ADC R31,R19

16、 LPM OUT PORTC,R0 NOP ADD R28,R16 ADC R29,R17 MOVW R30,R28 LSR R31 ROR R30 LSR R31 ROR R30 LSR R31 ROR R30 LSR R31 ROR R30 ADD R31,R27 RJMP LoopDA输出后经放大器,即可得到平滑的波形。即,用放大器实现了平滑滤波的作用。经实验发现其效果很好。按键操作:本键盘由设置键、确定键、上下键和左右键六个键组成。可以实现频率和相位的参数设置。软件流程图: 数字式移相信号发生器的软件实现流程图如图29所示:复位开始参数初始化修改频率设置输出波形调出原存储设置存储参数

17、左右键启动键按键类型识别 上下键检测按键修改相位设置LED显示重设参数 图29 数字式移相信号发生器软件流程图3、模拟移相部分此部分我们按照题目要求设计、安装并测试了移相网络电路图设计:移相网络的实现电路如图31所示(频率在100Hz时的电路图): 图31 移相网络硬件实现电路当频率在100Hz和10KHz时,只需将电路中的R1 和R2分别同时换成16Koh和 160oh的电阻。其理论仿真结果(在1KHz时)如图所示:正相移时:负相移时:理论分析与计算移相网络中各元件参数的选择:设电源的电压为,则由电路图31可得: (1) (2) (k为变阻器得分阻系数,满足) (3) (4)由式 (1),(

18、2),(3),(4)可得: (5)由(5)式可知:U4与U的相位差为: (6) 由题目要求相移范围在+可得: 即: (7) 由此可知,当频率f一定时,Rc的乘积为定值。例如:f=100Hz时,Rc=1/(2*3.1416*100)=,只要确定一个参数的值,则另一个参数也可确定。题目要求有三个频率点,考虑在每个频率点上,系统都有应有较大的电阻,再综合考虑实际器件的数值,我们可选择的参数如下:在频率f=100Hz时,取R1=R2=16koh,c=0.1uF;在频率f=1KHz时,取R1=R2=1.6koh,c=0.1uF;在频率f=10KHz时,取R1=R2=160h,c=0.1uF;变阻器R9是

19、用来调相位的,阻值取1Koh即可。由于A端的输出为电源电压的同相分压,所以其最大幅值为电源电压的幅值。题目要求A端的输出峰峰值最大为5v,因此,电源电压的幅值为2.5v。由式(5)可得U4与U的幅值关系: (8)由上述结论可知,所以当k0或k1时,根式里的值最大(为0.5),由于题目要求电压的最大峰峰值为5v,因此要求R6与R3之间必须满足一定的关系,即: (9)由此得:R6=0.414*R3 我们取R36.7koh,则R62.8koh由题目对最小峰峰值(0.3v)的要求,我们可知电阻R4、R5,以及变阻器R7,R8应满足: 0.3R4/(R4+R7)*5=R5/(R5+R8)*5 (10)由

20、式(10),我们可选电阻R4=R5=620oh,R7=R8=9.7koh(我们取标称值10koh)。 由公式(9)可得,网络的最大输出峰峰值为: 由公式(10)可得,网络的最小输出峰峰值为: R5/(R5+R8)*5完全满足题目的要求。三、 测试a) 测试仪器HEWLETT PACKARO 5460B示波器SAMPO CN3165频率测量仪GW INSTEK GFG-8215A 函数信号发生器UNIT UT70B万用表 b) 测试数据1、移相网络输出电压及相位测试数据频率电压相位差最大值相位差最小值100Hz0.2V44-461.0V46-442.5V46-445.0V46-441000Hz0

21、.2V44-461.0V44-462.5V44-465.0V45-4510000Hz0.2V45-451.0V46-442.5V45455.0V4545幅度测量输出锻压值题目要求测试结果最大电压5.0v5.1v最小电压0.3v0.27v由表可见,在不同频率下电压和相位均十分稳定,超出题目要求。2、数字式移相信号发生器测量(测试条件 VP-P=3.0V)1 输出频率的测量 预值频率实测频率误差(%)20Hz20.00031 Hz0.002100Hz100.0015 Hz0.002500Hz500.0079 Hz0.0021000Hz1000.015 Hz0.0025000Hz5000.079 H

22、z0.00210000Hz10000.15 Hz0.00220000Hz20000.31 Hz0.00230000Hz30000.45 Hz0.00240000Hz40000.63 Hz0.002由表可见,频率稳定,实现和超出题目要求。2 相位差的测量(测试条件 VP-P=3.0V, F=1000Hz) 预值相位实测相位差相对误差(%)绝对误差11.0002020.10.50.19090.10.220.1100100.10.200.1150150.10.200.1180180.20.110.2270270.20.110.2300300.20.100.2359359.20.110.2由表可见,相

23、位差稳定,绝对误差在题目要求范围之内。3、数字相位仪数据测量数据 相位测量频率测量测量相位值实测数据绝对误差相对误差(%)测量频率值实测数据误差(%)11.00020 Hz20.005 Hz2020.10.50.1100 Hz100.03 Hz9090.20.220.21000 Hz1000.3 Hz150150.30.200.35000 Hz5000.1 Hz180180.20.110.210000 Hz10003 Hz300300.30.100.315000 Hz15005 Hz359359.40.110.420000 Hz20007 Hz4、用数字移相信号发生器检验相位测量仪(相位测试条

24、件为频率在1000Hz时)电压幅度(V P-P)相位频率预值相位实测相位差误差(%)预设频率实测频率误差(%)0.3V11.110.020Hz19.997 Hz0.0157576.01.3100 Hz99.998 Hz0.02180181.10.601000 Hz9999.8 Hz0.02300299.80.0710000 Hz99999 Hz0.01359358.31.9020000 Hz19998 Hz0.011.0V11.110.020Hz20.000 Hz07575.70.90100 Hz100.02 Hz0.02180180.60.331000 Hz1000.2 Hz0.02300300.20.0710000 Hz10002 Hz0.02359358.51.3020000 Hz20004 Hz0.042.0V11.0020Hz19

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论