基于EMP 7128的数字式相位测量仪
摘要:分析了基于Altera公司CPLD芯片EMP7128SLC84-15进行相位测量的基本原理,给出了用EMP7128SLC8415进行相位测量的硬件实现电路及VHDL源程序。
关键词:EMP7128SLC84-15;CPLD;相位;频率
1器件简介
EMP7128SLC84-15是Altera公司的MAX7000S系列CPLD,它采用CMOS工艺,并以第二代矩阵结构为基础,实际上也是一种基于E2PROM的器件。EMP7128SLC84-15有84个引脚,其中5根用于ISP(InSystemProgrammable)下载,可方便地对其进行在系统编程。此器件内集成了6000门,其中典型可用门为2500个,有128个逻辑单元,60个可用I/O口,可单独配置为输入、输出及双向工作方式,2个全局时钟及一个全局使能端和一个全局清除端。EMP7128SLC84-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)频率计
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityfcounteris
port(sig:instd_logic;--输入信号
clk:instd_logic;--0.5Hz的闸门信号,可由晶振分频得到
counter:outstd_logic_vector(19downto0));?
--计数输出
end;
architecturedataoffcounteris
signaltemp:std_logic_vector(19downto0);
begin
P1:process(sig)
begin
ifsig'eventandsig=‘1’then
ifclk=‘1’then
temp<=temp+1;--在闸门的高电平时段计数
else
temp<=“00000000000000000000”?
--在闸门的低电平时段清零
endif;
endif;
endprocessP1;
P2?process(clk)
begin
ifclk′eventandclk=′0′then
counter<=te
mp;在闸门的下降沿将数据读出
endif;
endprocessP2;
end;
由于闸门采用的是0.5Hz的方波,因此?输出数值即为频率值。
(2)分频模块
通过此模块可对频率计得到的频率进行分频,也可在异或后再分频得到频率为0.5Hz的矩形波。
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityfenis
port(qin:instd_logicvector(19downto0);--连接频率计输出的频率值
qout:outstd_logic);
《基于EMP 7128的数字式相位测量仪》
本文链接地址:http://www.oyaya.net/fanwen/view/172515.html
关键词:EMP7128SLC84-15;CPLD;相位;频率
1器件简介
EMP7128SLC84-15是Altera公司的MAX7000S系列CPLD,它采用CMOS工艺,并以第二代矩阵结构为基础,实际上也是一种基于E2PROM的器件。EMP7128SLC84-15有84个引脚,其中5根用于ISP(InSystemProgrammable)下载,可方便地对其进行在系统编程。此器件内集成了6000门,其中典型可用门为2500个,有128个逻辑单元,60个可用I/O口,可单独配置为输入、输出及双向工作方式,2个全局时钟及一个全局使能端和一个全局清除端。EMP7128SLC84-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)频率计
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityfcounteris
port(sig:instd_logic;--输入信号
clk:instd_logic;--0.5Hz的闸门信号,可由晶振分频得到
counter:outstd_logic_vector(19downto0));?
--计数输出
end;
architecturedataoffcounteris
signaltemp:std_logic_vector(19downto0);
begin
P1:process(sig)
begin
ifsig'eventandsig=‘1’then
ifclk=‘1’then
temp<=temp+1;--在闸门的高电平时段计数
else
temp<=“00000000000000000000”?
--在闸门的低电平时段清零
endif;
endif;
endprocessP1;
P2?process(clk)
begin
ifclk′eventandclk=′0′then
counter<=te
mp;在闸门的下降沿将数据读出
endif;
endprocessP2;
end;
由于闸门采用的是0.5Hz的方波,因此?输出数值即为频率值。
(2)分频模块
通过此模块可对频率计得到的频率进行分频,也可在异或后再分频得到频率为0.5Hz的矩形波。
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityfenis
port(qin:instd_logicvector(19downto0);--连接频率计输出的频率值
qout:outstd_logic);
《基于EMP 7128的数字式相位测量仪》