基于EMP 7128的数字式相位测量仪

2007-03-09 19:03:27来源: 互联网
摘要:分析了基于Altera公司CPLD芯片EMP7128SLC84-15进行相位测量的基本原理,给出了用EMP7128SLC8415进行相位测量的硬件实现电路及VHDL源程序。 关键词:EMP 7128SLC84-15;CPLD;相位;频率 1 器件简介 EMP 7128SLC84-15是Altera公司的MAX7000S系列CPLD,它采用CMOS工艺,并以第二代矩阵结构为基础,实际上也是一种基于E2PROM的器件。EMP 7128SLC84-15有84个引脚,其中5根用于ISP(In System Programmable)下载,可方便地对其进行在系统编程。此器件内集成了6000门,其中典型可用门为2500个,有128个逻辑单元,60个可用I/O口,可单独配置为输入、输出及双向工作方式,2个全局时钟及一个全局使能端和一个全局清除端。EMP 7128SLC84-15支持多电压工作,其传输延时为7.5ns,最高工作频率高达125MHz,并支持多种编程方式,同时可利用Altera公司的第三代开发软件Max+PlusII方便地进行仿真、综合和下载。 2 系统工作原理 图1所示是一个数字式相位测量仪的系统工作示意图。图中,输入的比较信号b与参照信号a,经参数相同的整形电路变换为正方波后,将两个方波进行异或(在CPLD中完成),同时与测得信号的频率f(由CPLD设计一频率计完成)再异或,然后将得到的信号经2f倍频,再将此信号作为闸门,并在其高电平时段利用高频时钟fc进行计数,最后在下降沿时将计数值读出并设为N,则相位为: Phase=180 %26;#176;N/fc 该相位测量仪表系统除整形电路外,其余均可由CPLD完成。计数所使用的晶振频率为4MHz时此系统的分辨率为180%26;#176;/(4%26;#215;106)=(4.5%26;#215;10-5)%26;#176;。 3 基于CPLD的程序设计 设计系统软件时运用VHDL语言,可将系统分为频率计、分频器、相位计数器3个子模块,现对其分别进行描述: (1)频率计 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fcounter is port(sig:in std_logic; --输入信号 clk:in std_logic; --0.5Hz的闸门信号,可由晶振分频得到 counter:out std_logic_vector(19 downto 0)); --计数输出 end; architecture data of fcounter is signal temp:std_logic_vector(19 downto 0); begin P1:process(sig) begin if sig'event and sig=‘1’then if clk=‘1’ then temp<=temp+1; --在闸门的高电平时段计数 else temp<=“00000000000000000000”  --在闸门的低电平时段清零 end if; end if; end process P1; P2process(clk) begin if clk′event and clk=′0′ then counter<=temp;在闸门的下降沿将数据读出 end if; end process P2; end; 由于闸门采用的是0.5Hz的方波,因此输出数值即为频率值。 (2) 分频模块 通过此模块可对频率计得到的频率进行分频,也可在异或后再分频得到频率为0.5Hz的矩形波。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fen is port(qin:in std_logic vector(19 downto 0);--连接频率计输出的频率值 qout:out std_logic); end; architecture data of fen is signal temp:std_logic_vector(19 downto 0); signal a:std_logic; begin process(temp) begin if temp<qin then temp<=temp+1; else temp<=“00000000000000000000”; a<=not a; end if; qout<=a;  --进行2f倍分频 end process; end; 3相位测量 该模块将分频模块得到的信号作为闸门,然后利用外部晶振进行计数,其设计原理与频率计相同。由于相异或的一个周期对应输入的两路方波信号的半个周期(180%26;#176;),而且只能测量到最大180%26;#176;的相位差,因此还须判断超前或滞后,才能测量出大于180%26;#176;的相位差,具体程序如下: library ieee; use ieee.std_logic_1164.all; entity pre_lag is port(s1,s2:in std_ ogic;  --两输入信号 pre:out std_logic);  --判断结果输出 end; architecture data of pre_lag is begin lag:process(s1) begin if s1′event and s1=′1′ then if s2=′0′then pre<=′1′; --若s1超前s2,输出为 ′1′,否则输出′0′; else pre<=′0′; end if; end if; end process lag; end; (4) 模块的组合 图3 在Max+PlusII中,采用原理图输入方式可将上述各模块组合成一个软件系统,然后将其综合下载到CPLD即可完成相位测量仪的设计,其具体设计图见图3所示。 图3中, A、B为输入信号a、b经过整形得到的方波信号。Fcounter为频率计模块,Fen为分频器,Phasecounter为相位测量计数器,Pre-lag为超前滞后判断模块。 4 结束语 基于CPLD逻辑器件 EMP7128SLC84-15构成的相位测量系统具有测量频带宽、分辨率高、误差小、成本低、简单易行等优点,完全能够满足实际测量的要求。而且,由于完全采用的是CPLD设计,因此,该系统十分易于升级。
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/eda/200703/10339.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved