基于CPLD的低频相位测量仪.doc_第1页
基于CPLD的低频相位测量仪.doc_第2页
基于CPLD的低频相位测量仪.doc_第3页
基于CPLD的低频相位测量仪.doc_第4页
基于CPLD的低频相位测量仪.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1基于CPLD的低频相位测量仪的设计与实现李超聂先敏(黄石理工学院电气与电子信息工程学院,湖北黄石435003)摘要:以Altera公司CPLD芯片EPM240T100C5N和单片机AT89S52为核心,辅以相关模拟电路,构成一个低频数字式相位测量仪。系统由整形电路、CPLD数据采集电路、单片机数据运算控制电路和数据显示电路几部分构成。包括硬件设计和软件设计两大部分。由于系统将CPLD和单片机相结合,综合其优点,具有集成度高、稳定性好、设计灵活和设计效率高等优点。关键词:频率;相位;等精度;CPLD;单片机TheDesignandRealizationofLowFrequencyPhaseMeasurementBasedonCPLDLiChaoNieXianmin(SchoolofElectricalandElectronicInformationEngineering,HuangshiInstituteofTechnology,Huangshi435003,China)Abstract:UsingCPLDchipEPM240T100C5NofAlteraandSCMAT89S52asthecore,supplementedbyrelatedanalogcircuit,alowfrequencydigitalphasemeasurementisformed.ItincludesdataacquisitioncircuitofCPLD,dataoperationcontrolcircuitofmicrocontrolleranddatadisplaycircuit,namelyhardwaredesignandsoftwaredesign.Ittakestheadvantagesofhighintegration,goodstability,designflexibility,andhighefficiencyofdesign,becauseitcombinesCPLDandMCUandsynthesizethoseadvantage.Keywords:Frequency;Phase;Equalprecision;CPLD;Microcontroller1引言正弦信号的相位差测量在工程上具有重要意义,如线性系统的动态特性分析、系统模型辨识、故障诊断、电工领域中的电机功率角测试、绝缘材料介质损耗角的测量等。系统可分为三部分:数据采集电路、数据运算控制电路和数据显示电路。由于CPLD具有集成度高,I/O资源丰富,稳定可靠等优点,而单片机具有良好的人机接口和运算控制功能,本系统采用Altera公司CPLD芯片EPM240T100C5N和单片机AT89S52构成测控主体。其中,CPLD主要负责采集两个同频待测正弦信号的频率和相位差所对应的时间差,而单片机负责读取CPLD的数据,并根据这些数据技术待测正弦信号的频率及两路同频正弦信号之间的相位差,同时通过功能键切换显示出待测信号的频率和相位差。由于CPLD对脉冲信号比较敏感,而被测信号是周期相同、相位不同的两路正弦波信号,故需对输入波形进行整形,使其变成方波信号,再输入CPLD进行处理。由于系统将CPLD和单片机相结合,综合其优点,具有集成度高、稳定性好、设计灵活和设计效率高等优点。22设计任务与要求设计的低频数字相位测量仪要求如下:具有频率、相位差测量及数字显示功能。测量对象:正弦信号,允许两路输入正弦信号峰-峰值可分别在15V范围内变化。频率范围:20Hz20kHz。频率测量绝对误差:1个时钟周期。相位测量绝对误差:0.1。相位差数字显示:读数为0359.9。3方案论证与比较3.1频率测量方案一:采用测周期法。需要有标准信号的频率f0,在待测信号的一个周期TX内,记录标准频率的周期数NS,则被测信号的频率为0xSffN(3-1)如图3-1所示,这种方法的计数值会产生1个脉冲误差,并且测试精度与计数器中记录的数值NS有关。为了保证测试精度,测周期法适合于低频信号的测量。标准信号被测信号TxNs图3-1测周期法测量频率示意图方案二:采用测频法。测频法就是在确定的闸门时间TW内,记录被测信号的变化周期数(或脉冲个数)NX(如图3-2所示),则被测信号的频率为XxWNfT(3-2)这种方法的计数值会产生1个脉冲误差,并且测试精度与计数器中记录的数值NX有关。TwNx实际闸门被测信号3图3-2测频法测量频率示意图方案三:采用等精度频率测量法,测量精度保持恒定,不随所测信号的变化而变化。在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号。单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精度的测频要求;而采用高集成度、高速的复杂可编程逻辑门阵列CPLD为实现高速,高精度的测频提供了保证。图3-3等精度测频主控结构图图3-3为等精度测频主控结构图。其中,“预置门控信号”CL可由单片机发出(在1s至0.1s间的选择范围内,CL的时间宽度对测频精度几乎没有影响),在此设定CL的宽度为Tpr。BZH和TF模块是两个可控的32位高速计数器,BENA和ENA分别是它们的计数允许信号端,高电平有效。标准频率信号从BZH的时钟输入端BCLK输入,设其频率为Fs;经整形后的被测信号从与BZH相似的32位计数器TF的时钟输入端TCLK,设其真实频率值为Fxe,被测频率为Fx。图3-4测频时序图如图3-4所示的测频时序图,等精度测频原理如下:测频开始前,进行一个初始化操作,首先发出一个CLR=0的清零信号(CLR高电平有效),使两个计数器和D触发器同时置0,同时D触发器通过信号ENA,禁止两个计数器计数。然后由单片机发出允许测频命令,令预置门控信号CL为高电平,这时D触发器一直要等到被测信号的上升沿通过D触发器的Q端时,才被置1,此时START为高电平,同时启动计数器BHZ和TF,进入“计数允许周期”。这时,BZH和TF分别对被测信号(TCLK,频率为Fx)和4标准频率信号(BCLK,频率为Fs)同时计数。当Tpr秒后,预置门信号被单片机置位低电平,但此时两个计数器并没有停止计数,一直等到随后而至的被测信号上升沿到来时,才会通过D触发器将这两个计数器同时关闭。由图3-4可以看出,CL的宽度和发生的时间都不会影响计数,使能信号(START)允许计数的周期总是恰好等于待测信号TCLK的完整周期数,这是确保TCLK在任何频率条件下都能保持恒定精度的关键。而且,CL宽度的改变以及随机出现时间造成的误差最多只有BCLK信号的一个时钟周期;此设计中的BCLK是由精确稳定的100MHz晶振发出的,也即在任何时刻的绝对测量误差最多只有10ns。设定在一次预置门时间Tpr中对被测信号的计数值为Nx,对标准频率信号的计数值为Ns,则Fx/Nx=Fs/Ns(3-3)同样可以得到测得频率为:Fx=(Fs/Ns)Nx(3-4)最后通过控制SEL选择信号和64位至8位的多路选择器MUX64-8,将计数器BHZ和TF中的两个32位数据分8次读入单片机,并按照式(-4)进行计算,显示结果。3.2相位差测量方案一:将被测的两路正弦波信号整成方波信号,利用异或门电路进行鉴相处理,将得到的脉冲序列经过RC平滑滤波取出其直流分量,该直流电平的幅值与两路信号的相位差成正比,将此信号送入A/D转换器由单片机进行运算处理从而计算出相位差值。方案二:采用脉冲填充计数法,将正弦波信号整成方波信号,其前后沿分别对应于正弦波的正相过零点与负相过零点,对两路方波信号进行异或操作之后输出脉冲序列的脉宽可以反映两列信号的相位差,以输入信号所整成的方波信号作为基频,经锁相环倍频得到的高频脉冲作为闸门电路的计数脉冲,由单片机对获取的计数值进行处理得到两路信号的相位差。方案三:将两路被测正弦波信号整成方波信号,通过图3-5所示的鉴相器,输出一路具有不同占空比的脉冲波形。由图-的仿真波形可知,该脉冲信号的占空比与这两路信号图3-5鉴相器原理图图3-6鉴相器的仿真波形的相位差成正比:相位差=N1*360/(N1+N2)(3-5)其中N1是高电平脉宽时间内的计数器,N2是低电平脉宽时间内的计数值。对以上三种方案进行比较,方案一在低频段时,RC滤波电路的输出波动很大,难以达到要求的相位精度,而方案二在所测频率较高时,受锁相环工作频率等参数的影响会造成相5位差测量的误差,极大地影响测量的精度,采用方案三由高精度的晶振产生稳定的基准频率,可以满足系统高精度、高稳定度的要求。根据测频和测相位差原理,得到系统的总体结构图如图3-7所示。图3-7系统总体结构图4系统模块设计4.1信号整形模块由于输入信号的幅度和频率都是可变的,所以用CPLD进行计数前必须对信号进行整形处理。本系统使用两个施密特触发器对两路信号进行整形。比较器LM339连接成施密特触发器形式,为保证输入电路不给相位差测量带来误差,通过调节电位器R8使两个施密特触发器的门限电平相等。图4-1施密特整形电路图4.2CPLD数据采集模块图4-2测相仪电路原理图图4-2是测相/频的原理图,其中模块ETESTER的VHDL代码见附录1,其RTL图如如图4-3所示。具体测量过程前面已详述。6图4-3模块ETESTER的RTL图4.3单片机数据运算控制及数据显示模块单片机数据运算控制电路的硬件可由单片机、晶振电路、按键及显示接口电路等组成。单片机的P1口读取测试数据,P2口向FPGA发送控制命令。该模块电路图如图4-4所示。图4-4单片机控制模块电路图5系统软件设计75.1CPLD模块的软件仿真结果图5-1等精度测频时序图图5-2测相位差时序图图5-1和图5-2分别是VHDL源代码的频率测试仿真波形和相位测试仿真波形。从图5-1可以看出,SPUL=1时,系统进行等精度测频。这时,CLR一个正脉冲后,系统被初始化。然后CL被置为高电平,但这时两个计数器并未开始计数(START=0),直到此后被测信号TCLK出现一个上升沿,START=1时两个计数器同时启动,分别对被测信号和标准信号开始计数,其中BZQ和TSQ分别为标准频率计数器和被测频率计数器的计数值。由图可见,在CL变为低电平后,计数仍未停止,直到TCLK出现一个上升沿为止,这时START=0,可作为单片机了解计数结束的标志信号。仿真波形中TCLK和BCLK的周期分别设置为10us和500ns。在图中可以看到,计数结果是,对TCLK的计数值是5,对BCLK的计数值是64(十六进制)。通过控制SEL就能按照8个8位将计数器中的32位数读入单片机中进行计算,在图5-2中,取SPUL=0时,系统被允许进行脉宽测试。为了便于观察,图中仿真波形中的TCLK和BCLK的周期分别设置为75us和500ns。此时,CL和CLR的功能都能发生变化,前者为1时测信号高电平的脉宽,为0时测低电平的脉宽;而后者CLR变为1时作系统初始化,由1变为0后启动电路系统的标准信号计数器BZQ准备对标准频率进行计数。而允许计数的条件是此后出现的第一个脉宽。由图11可见,当CL=1,TCLK的高电平脉冲到来时,即启动了BZQ进行计数,而在TCLK的低电平到来时停止计数,状态信号EEND则由低电平变为高电平,告诉单片机计数结束。计数值可以通过SEL读出,这里是4BH.由此,不难算出,TCLK的高电平脉宽应该等于4BH乘以BCLK的周期。改变CL为0,又能测出TCLK的低电平脉宽,从而可以获得TCLK的占空比,再根据式(3-5)可得相位差。85.2单片机模块的程序设计流程图单片机数据运算控制电路的功能就是负责读取FPGA测量到的数据,并根据式(3-4)和(3-5)进行计算,将被测信号的频率和占空比,通过单片机和相应的电路经结果显示出来;同时通过功能键切换,显示出被测信号的不同的需求测得的结果。其程序设计流程图如图5-3所示。具体程序见附录2。图5-3程序流程图6测试结果辅以数字示波器和信号发生器,完成该系统的测试过程。测试数据如表6-1和6-2所示。表6-1频率测量频率测量频率设定值(Hz)频率实测值(Hz)绝对误差(Hz)2020025025001.25k1249112.5k125001120k1999829表6-2相位差测量相位差测量频率(Hz)幅度预置相位差()实测相位差()绝对误差()A路(V)B路(V)20554545.10.120054.5135135.002k4.55225224.90.110k44.5270270.0020k3.549089.90.1本文采用单片机和可编程逻辑器件(CPLD)作为低频数字相位测量仪的核心部分。用89C52进行数据控制、处理,送到显示器显示,硬件结构简单,软件采用C语言实现,程

温馨提示

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

评论

0/150

提交评论