您现在的位置: 蓝之韵 >> 论文 >> 理工论文 >> 电子通信网络论文 >> EDAPLD论文 >> 论文正文 用户登录 新用户注册
基于EMP 7128的数字式相位测量仪           ★★★★
基于EMP 7128的数字式相位测量仪

作者:未知 文章来源:网友提供 点击数: 更新时间:2006-12-15

 摘要:分析了基于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 °N/fc

该相位测量仪表系统除整形电路外,其余均可由CPLD完成。计数所使用的晶振频率为4MHz时此系统的分辨率为180°/(4×106)=(4.5×10-5)°。

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°),而且只能测量到最大180°的相位差,因此还须判断超前或滞后,才能测量出大于180°的相位差,具体程序如下:

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

[1] [2] 下一页  

论文(www.21blue.com)录入:admin    责任编辑:admin 
  • 上一篇论文:

  • 下一篇论文:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    相 关 文 章
  • 地方文献数字化及在我馆…

  • 基于多层次网络管理体系…

  • 时间-数字转换器测量结果…

  • 新型数字化可编程频率合…

  • 基于微软公司DNA模式的办…

  • 基于路由器的网络技术

  • 分布式网络系统中的数据…

  • 基于指纹认证技术的WEB访…

  • 基于ORACLE技术的WWW信息…

  • CRP:基于客户资源的电子…

  • 发布商链接