基于MCU+CPLD的相位差和频率的测量方法研究及实现.docVIP

基于MCU+CPLD的相位差和频率的测量方法研究及实现.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MCU+CPLD的相位差和频率的测量方法研究及实现 缪晓中 (无锡职业技术学院 电子工程系,江苏 无锡 214121) 1 引言 相位检测是电力系统自动控制和谐波分析与控制的关键技术。传统的相位测量是利用过零电路把输入的两路信号(电压或电流)转换为方波信号,再利用逻辑电路和单片机技术对信号某一特殊区段计数和数学变换,求得相位差。随着可编程器件(FPGA,CPLD)的快速发展,目前采用以MCU+FPGA/CPLD为核心的设计理念。这种混合设汁方案利用CPLD在线修改的特点,实现各种复杂数字逻辑设计,结合单片机的控制功能。简化数字电路系统设计,大大缩短系统研制开发周期。本文采用MCU+CPLD设计方法,测量两路信号的相对宽度,充分利用CPLD速度快,单片机控制和数据处理能力强的优势,完成频率和相位差的测量和显示,大大简化了硬件电路,并提高了测量精度和抗干扰能力。 2频率和相位测量原理 频率测量可先测周期T,然后根据公式f=1/T算出频率,这种方法为间接测量。根据测频的误差分析,在f较低场合,f越低T越大。计数器得数N也越大,±1误差对测量结果的影响减小。具体实现方法是被测信号(正弦)经整形电路后成为方波,用于控制主门的通断,在此期间(一个周期T)外部时标信号TS通过主门,用计数器累计时标脉冲个数。被测信号周期T=NTS,其中TS为时标脉冲周期,N为被测信号一个周期之内累计时的标脉冲个数。相位差φ对应的时间=N1TS,则φ=(△T/T)×360°。图1给出f、φ测量系统框图。 两个频率相同而相位不同的正弦信号u1=Asinwt和u2=Asinw (t+T)分别送人比较器整形后得到两个方波信号X1、X2。其中X2送入双D触发器的1CLK端,得到图2中的QB波形;同理,利用X1可得到QA波形。最后将QB和QA送人与门74LS11,QB×QA相与得到时间差脉冲T,T与相位差对应(φ=w△T)。 3硬件电路设计 MCU与CPLD控制模块连接如图3所示,MCU采用8位单片机AT89C51,CPLD选用Altera公司MAX7000S系列中的EPM7128SLC84-15,该器件一共有84个引脚,68个I/O端口,采用EEPROM技术,内含2500个逻辑门,128个宏单元。图3中CPLD模块的×1、×2为整形后的被测信号输入端,inclk为外部时标信号输入端,t0、t1端分别与单片机的定时/计数器T0,T1相连,采用单片机内部16位定时/计数器,加上CPLD模块内的8位计数器,可使计数器位数达到24位,以此提高分辨率。P25与读信号RD、P26与RD分别控制两个锁存器74373的数据读取,此外P24、P15、P16分别控制相位和周期的测量。P27与写信号WR控制写显示器,P10、P11、P12、P13、P14用于键盘和显示的控制。单片机P0端口用于从CPLD读取8位计数器数据,另外还用于向显示器写显示数据。 4软件设计 4.1 CPLD控制模块设计 CPLD控制模块的底层没计如图4所示,CPLD控制程序中的变量P2.4、p1.5、×1、×2、p2_6、rd、p2_7、wr的数据类型为IN STD_LOGIC;变量p1_6、t0、t1、o1、pout的数据类型为OUT STD_LOGIC;中间变量有f2、f1、j1、j2、q1,q2,其中f2、f1分别与图2中的波形QA、QB表示的端口一致;j1、j2的数据类型std_logic_vector,分别代表图4中两个8位计数器74393的输出;q1,q2分别表示与门7403、7411的输出。根据频率、相位测量原理,测量部分将由CPLD完成,测量结果经单片机运算后存LED上显示。由CPLD完成的相位测量部分程序以下给出相关程序代码。 4.2 MCU程序设计 系统控制软件采用C语言和汇编语言混合编写,采用模块化设计,各个功能子模块独立。整个软件分为主程序、频率测量子程序、相位差测量子程序。图5为相位差测量子程序流程图。 ? 5 CPLD仿真 系统CPLD仿真波形如图6所示,在×1、×2端输入周期T=40μs、相位差φ=135°的两路被测信号,osc端为5 MHz的输入时标信号。本系统设计实现f、φ测量,首先要是准确判断出被测信号的一个周期的起始与结束,因此采用单片机P16、P24来完成周期判断。 结合图4的CPLD设计的底层图和图6的CPLD仿真波形分析如下:首先P24=0。使下面的双D触发器清零,即1Q=2Q=0,而且P15=1对两个计数器74393清零,等待计数。P24由0→1后,当被测信号×2上升沿到来时1Q翻转,1Q=1,打开与门7411和7408,允许时标脉冲计数,此时2Q仍为0;当被测信号×2第二次上升沿到来时1Q再次翻转,1Q=0,同时2Q也翻转,2Q=1。此时单片机

您可能关注的文档

文档评论(0)

天马行空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档