低频数字式相位测量仪设计_第1页
低频数字式相位测量仪设计_第2页
低频数字式相位测量仪设计_第3页
低频数字式相位测量仪设计_第4页
低频数字式相位测量仪设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、低频数字式相位测量仪设计摘要:低频数字式相位测量仪由相位测量仪、移相网络两部分构成。本文简要分析了低频信号的相位差测量原理,并以数字式相位测量方法为例介绍了低频相位测量仪的设计方法,该方法以单片机SPCE061A作为主控部件,以CPLD作为计数部件,构成完备的测量系统。可以对100 Hz20 kHz频率范围的信号进行频率、相位等参数的精确测量,测相绝对误差不大于1;采用液晶显示器显示被测信号的频率、相位差。硬件结构简单,软件采用C语言实现,程序简单可读写性强,效率高。与传统的电路系统相比,其有处理速度快、稳定性高、性价比高的优点。关键词:低频数字式相位测量仪、CPLD、绝对误差 系统设计 1.

2、1 设计思路 本系统要求设计一个低频数字式相位测量仪,由两部分构成:相位测量仪、移相网络。从函数信号发生器输出的信号经移相网络产生两路有相位差的正弦信号,再经放大整形后产生方波信号,进入FPGA进行测频、测相。同时FPGA的控制信号由单片机进行控制。最后通过显示器显示结果。其原理框图见图1。显示器单片机FPGA测相、测频放大整形电路移相网络 输入 图1 总体思路原理框图 1.2 方案论证与选择 1. 测频方案论证与选择 方案一:采用分频段测频、测周法 对于频率为的正弦波信号,可采用传统的测频方法。先找出中界频率,若,采用测频法;若,采用测周法,然后根据关系求得。 方案二:采用等精度恒误差测频法

3、 高精度恒误差原理方框图如图2所示,计数器1和计数器2均有使能端和清零端。控制电路产生的门控信号接到D触发器的数据端D,触发器的Q端接两个计数器的使能端,控制两计数器计数。输入信号通过放大整形电路转换成同频率的方波,即为被测信号。设门控信号的时间宽度为,基准信号的频率为,被测信号的频率为。测频原理是:测频开始前,首先发出一个清零信号,使两计数器和触发器置0,同时通过D触发器Q端输出的信号,禁止两计数器计数。然后令门控信号CL为高电平,当被测信号的上升沿到来时,D触发器Q端置1,启动两计数器计数。在这期间两计数器对基准信号和被测信号同时进行计数。当秒后,门控信号被置为低电平,直到随后而至的被测信

4、号的上升沿到来时,将两计数器同时关闭。 设在一次门控时间中对被测信号的计数值为,对基准信号的计数值为,由和可得: 这种方法称为等精度测频法,精度与被测信号频率无关,无论低频和高频信号,其相对精度均为。因此增加可提高测量精度。 方案选择:采用方案一的测量精度会随被测信号频率的下降而降低,即测量精度随被测信号频率的变化而变化,在实用中有较大的局限性。而方案二的测量精度与被测信号的频率无关,且有较高的测量精度。因此本设计选择方案二。 图2 高精度恒误差原理图 2. 测相方案论证与选择 方案一:单周期计数法 将有相位差的两路方波信号“异或”后作为闸门信号,在高电平时,利用外部基准信号进行计数,在下降沿

5、将数据读出;在低电平时对计数器清0。设基准信号频率为,被测信号频率为,计数值为N,则相位差pha为:Pha=360(Fx/Fs)N 方案二:定计数时间。将高频时钟与两路信号“异或”后的信号进行相与,在设定时间s内利用跳变沿进行计数。设高频时钟频率为fc,计数值为N,则 Pha=180(N/sfc) 方案三:相位差-时间转换法 设同频不同初相的两路信号A和B,UA=UAmsin(wt+1),UB=UBmsin(wt+2)。则UA与UB间的相位差x为x = 1- 2 将两路输入的正弦信号分别经过放大整形形成方波,然后经异或门鉴相,设整形后的两路信号分别为IN1和IN2,鉴相器输出的脉冲信号的占空比

6、与两路输入信号的相位差x成正比。即x=N1/(N1+N2)360。其中N1是高电平脉宽时间内的计数值,N2是低电平脉宽时间内的计数值。 3. 移相网络方案论证与选择 相位可以有数字移相和模拟移相两种方案。 方案一:数字移相 单片机或FPGA控制高速ADC,对一个周期内的信号进行多次采样,将数据保存在高速RAM中。然后根据需要移相的大小,对量化数据的地址加上一个相位偏移量后输出。该方案的优点是相移量可以很大(0360都可),并且精度高,数字控制方便。但是一个周期内需要采样较多点,对ADC速度、RAM速度要求很高。 方案二:模拟移相 由R、C组成移相网络进行移相。移相网络的基本单元电路如图3、4所

7、示。图3为超前移相网络,图4为滞后移相网络,通过运放隔离后用电位器合成,可以得到-90+90任意相移角度。 图3 超前移相网络 图4 滞后移相网络 方案选择:由于题目仅要求-45+45的相移,方案一在一个周期内需要采样较多点,对ADC速度、RAM速度要求很高,考虑到成本和实现难易程度,我们采用方案二。2. 各模块硬件设计 2.1 数字式相位测量仪 2.1.1 小信号处理部分 由于输入的两路信号幅度不确定、波形不稳定、边沿不够陡峭,而FPGA测频测相是相对数字信号进行的,因此必须对输入信号进行放大整形。电路图及参数如图5所示。图5 整形放大电路图 题目要求输入阻抗100K,我们采用同相放大器,在

8、输入端并一个100K的电阻,这样满足输入阻抗要求。 2.1.2 测频部分 传统的测量方法中,测量精度受被测频率的影响。由于待测信号的频率范围很大,所以我们设计了一种测量精度与频率无关的硬件等精度测量方法。 预置门控信号CL、清零信号CLR、数据输出通道选择DSEL,2选1多路选择器的通道选择控制信号SPUL由单片机产生。预置门控信号的脉宽为Tpr的脉冲,计数器BZQ和计数器TSQ都是可控计数器,标准频率信号从计数器BZQ的时钟输入端输入,其频率为Fs,经整形后的信号从计数器TSQ的时钟输入端输入,其频率为Fx。当预置门控信号为高电平时,经整形后的被测信号的上升沿通过D触发器的Q端同时启动计数器

9、BZQ、TSQ。计数器BZQ、TSQ分别对标准频率信号和整形后的待测信号进行计数;当预置门控信号为低电平时,经整形后的被测信号的一个上升沿将这两个计数器同时关闭。设一次预置门控时间Tpr内,被测信号的计数值为Nx、对标准频率信号的计数值为Ns,则得到下面的公式:Fx/Nx=Fs/Ns即 Fx=(Nx/Ns)Fs相对误差公式为 =(2/Ns+Fs/Fs) 从上述公式可以看到,其测量精度与Ns和标准频率精度有关,而与被测信号无关,这就保证了在低频和高频部分,频率计的等精度。2.1.3 测相部分 对于两路输入信号,通过整形得到方波信号后,在FPGA内先对其进行“异或”操作,再在CPLD内对异或后信号

10、的正、负脉冲宽度进行计数。测相框图如图6所示。 其中BCLK为计数器的标准频率,PA、PB为被测信号,CLR为清零信号,CL为门控信号,SPUL为数据选择器通道选择端。SEL为将64个数据分8次送入单片机的多路通道的数据选择通道。START为单片机测频控制信号,EENDA为单片机测相控制信号,DATA为64个数据分8组,每组8个送入单片机的数据。两路同频率不同相位的时钟信号PA和PB通过鉴相后,输出一路具有不同占空比的脉冲波形。其频率与输入频率相同,而占空比与PA和PB的上升沿有关。显然鉴相的脉宽等于PA和PB信号上升沿的时间差,这个时间差即为PA、PB间的相位差,它正好等于鉴相后脉冲的占空比

11、乘以360。 图6 测相框图2.2 移相网络 移相网络的电路图见图7,从图中可以看到,当w=w0时,超前和滞后网络分别移相了45,如果将两信号叠加,设A=Asin(wt+45),B=Bsin(wt-45),叠加后的信号C=Asin(wt+45)+ Bsin(wt-45) =(A2+B2)1/2sin(wt+) VAout = VINR10(R10为电位器R10的下部分) VBOUT = 2VR9R11(R11为电位器R11的下部分)其中,tan=(A-B)/(A+B),改变A和B的值就可以改变叠加后信号的相位,即调节电位器R9。通过调节电位器R10、R11改变输出信号幅度。 图7 移相网络电路

12、图 只有输入信号的频率与RC网络的谐振频率相同时,才有45相移,所以当输入信号频率改变时,RC网络也应当有不同的频率。根据公式f=1/2RC可得: R=1/2Cf取电容为0.1uf,根据上面的公式,当输入信号频率f=100Hz时,R=16K;当f=1KHz时,R=1.6K;当f=10KHz时,R=160。因为输出信号C的幅度有所下降,所以在输出后采用同相放大器,放大倍数为2。因为题目要求最后的输出信号峰峰值在0.35V内变换,因此最后接电位器进行幅度调节。3. 软件设计 单片机程序采用C语言,在unSP IDE环境下编译。FPGA在Quartus 6.0下调试,采用原理图编辑法输入。3.1 E

13、DA部分 相位测量仪部分采用GWDD6C型CPLD编程下载。内部的原理图见图7测相框图所示。3.2 单片机部分 相位测量仪既要测频又要测相,所以决定先测频,后测相。单片机主要进行频率和相位差的计算、控制FPGA64位数据的输出、相位差正负的判断和液晶的显示。根据计算相位差公式计算出两路输入信号的相位差,再由“超前/滞后”信号确定显示的内容。当相位超前时,显示相位差为x,若相位滞后,显示相位差为360 x。为了提高测量精度而设计任务中对测量的时间并无时间要求,我们采用浮点数进行运算。4. 系统调试与结果分析 4.1 测试仪器 DF1071函数信号发生器 +5V直流稳压源 DS 5062M示波器

14、CPLD及其开发板 凌阳SPCE061A单片机及其开发系统 4.2 测试方法 将移相网络的两路输出信号接到整形放大电路的两路输入端,整形后的电路经过异或门后与EDA小系统的TCLK相连,将单片机上的控制信号CLR、CL、SPUL、SEL2.0端分别与EDA小系统的CLR、CL、SPUL、SEL2.0端相连,EDA小系统输出的START、EEND、DATA7.0与单片机相连。同时单片机接液晶显示器,用来显示被测信号的频率、相位差。 4.3 测试结果及分析 测试结果见表1。表移相网络测试结果频率移相范围()峰峰值(V)100Hz-50.4-50.41.30V1KHz-43.2-50.41.28V1

15、0KHz-46.45-49.351.04V 移相网络输出的两路移相信号的角度与题目要求的有一定的差距,尤其是B滞后的相位,但超前相位能够满足要求,并且比要求的更好,此外,两路移相信号的峰峰值的范围为3555.2mV7.48V,完全满足题目所要求的0 .3V5V范围。出现上述差距的原因有输出波形受输入波形的影响,而输入信号为函数信号发生器,输出的频率和幅度都会有跳变;此外,移相角度随所接负载和时间等因素的影响而产生漂移。5. 总结 本设计以单片机SPCE061A作为主控部件,以CPLD作为计数部件,构成完备的测量系统,并且介绍了测频、测相的原理和方法,显示部分采用液晶显示器,有良好的人机界面友好

16、。硬件结构简单,软件采用C语言实现,程序简单可读写性强,效率高。测试结果基本上达到了指标要求。 不过在设计过程中遇到了很多困难,特别是单片机部分,控制信号不易产生,且延时不易控制。通过一步一步的调试、试验,达到了要求。参考文献1 潘松黄继业编著EDA技术实用教程(第二版)科学出版社2007年月2 凌阳科技大学计划编著凌阳单片机在大学生电子设计大赛中的应用北京航空航天大学出版社2005年6月3 高吉祥主编全国大学生电子设计竞赛培训系列教程电子仪器仪表设计电子工业出版社 附录:.元器件清单:元器件名称数量(个)元器件名称数量(个)LF3532LM3931LM3584HD74LS04P2拨码开关(路

17、)SN74LS00N1滑动变阻器(20K)3SPLC501液晶摸组IN41484GWDVPB开发板1. 程序:#include spce061a.h#include SPLC501User.h/包含SPLC501液晶模组驱动程序的用户接口API函数声明的头文件#include data.h #include spce061a.h#define sel0 0x0001 /定义AD9851与SPCE061A的接口#define sel1 0x0002#define sel2 0x0004 #define SPUL 0x0008 #define CLR 0x0010 /A口的05#define CL

18、 0x0020 #define Set_IOA_Bit(x) (*P_IOA_Data = *P_IOA_Buffer | x) /置高#define Clear_IOA_Bit(x) (*P_IOA_Data = *P_IOA_Buffer & x) /置低#define Set_IOB_Bit(x) (*P_IOB_Data = *P_IOB_Buffer | x) /置高#define Clear_IOB_Bit(x) (*P_IOB_Data = *P_IOB_Buffer & x) /置低int delay();void danpian();void main() unsigned

19、long int r1,r2,r3,r4,r5,f2,f4,f=,i=0; unsigned int a,b,c,d,e; unsigned long int k; float n1,n2,n3; LCD501_Init(0x00); /液晶显示初始化 *P_Watchdog_Clear=1; /清看门狗操作 dsp1(0x1d,0x1d,0x1d,0x1d,0x0); /开始显示零 dsp2(0x1d,0x1d,0x1d,0x1d,0x0); *P_IOA_Dir=0xffff; / IOA158作为输出给液 A口的05位输出控制信号 *P_IOA_Attrib=0xffff; *P_IOA

20、_Data=0x0007;*P_IOA_Data|=0x0007; *P_IOB_Dir=0x0070; /158由FPGA输入数据,64位输出ep,rw,a0给液 3输入Q 0,1位输入START ,END *P_IOB_Attrib=0x0070; *P_IOB_Data|=0x0000; while(1) Set_IOA_Bit(SPUL); Set_IOA_Bit(CLR);for(i=0;i10;i+)*P_Watchdog_Clear=0x0001; Clear_IOA_Bit(CLR); Set_IOA_Bit(CL); for(i=0;i200;i+)/000 *P_Watch

21、dog_Clear=0x0001; Clear_IOA_Bit(CL); if(*P_IOB_Data &0x0001)=0) /START 1 BIANWEI 0 r2=*P_IOB_Data; r2=*P_IOB_Data &0xff00; r2=r216;/当SEL 为111把最高8位给R1的最高8位 Clear_IOA_Bit(sel0); r4=*P_IOB_Data & 0xff00; r4=r48; r3=r2 | r1; n2=r3; /被测频率 Clear_IOA_Bit(sel2); Set_IOA_Bit(sel0); Set_IOA_Bit(sel1); r1=*P_I

22、OB_Data &0xff00;r1=r116; Clear_IOA_Bit(sel0); r2=*P_IOB_Data &0xff00;r2=r28; r4=r2 | r1; n1=r4; /标准频率; f2= f* (n2 /n1); k=f2; if(k!=0) a=k%10; k=k/10; if(k!=0) b=k%10; k=k/10; if(k!=0) c=k%10; k=k/10; if(k!=0) d=k%10; k=k/10; if(k!=0) e=k%10; k=k/10; dsp1(e,d,c,b,a); else dsp1(0x1d,d,c,b,a); else ds

23、p1(0x1d,0x1d,c,b,a); else dsp1(0x1d,0x1d,0x1d,b,a); else dsp1(0x1d,0x1d,0x1d,0x1d,a); *P_Watchdog_Clear=1; for(i=0;i50;i+) *P_Watchdog_Clear=0x0001; Set_IOA_Bit(CLR); for(i=0;i50;i+) *P_Watchdog_Clear=0x0001; Clear_IOA_Bit(CLR); Clear_IOA_Bit(SPUL); Set_IOA_Bit(CL); if (*P_IOB_Data & 0x0002) /end 0B

24、IANWEI 1 Set_IOA_Bit(sel0); Set_IOA_Bit(sel1); Set_IOA_Bit(sel2); r2=*P_IOB_Data &0xff00;r2=r216;/当SEL 为111把最高8位给R1的最高8位 Clear_IOA_Bit(sel0); r1=*P_IOB_Data &0xff00;r1=r18; r3=r2 | r4; n3=r3; /t=n3/f; /T被测信号的正脉宽,T一个周期的脉宽 f4=360*(n2*n3)/n1); /if(*P_IOB_Data &0x0008) /f4=f4; /else f4=360-f4; k=f4; if(k!=0) a=k%10;

温馨提示

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

评论

0/150

提交评论