- 相關(guān)推薦
基于EMP 7128的數(shù)字式相位測量儀
摘要:分析了基于Altera公司CPLD芯片EMP7128SLC84-15進(jìn)行相位測量的基本原理,給出了用EMP7128SLC8415進(jìn)行相位測量的硬件實(shí)現(xiàn)電路及VHDL源程序。1 器件簡介
EMP 7128SLC84-15是Altera公司的MAX7000S系列CPLD,它采用CMOS工藝,并以第二代矩陣結(jié)構(gòu)為基礎(chǔ),實(shí)際上也是一種基于E2PROM的器件。EMP 7128SLC84-15有84個(gè)引腳,其中5根用于ISP(In System Programmable)下載,可方便地對其進(jìn)行在系統(tǒng)編程。此器件內(nèi)集成了6000門,其中典型可用門為2500個(gè),有128個(gè)邏輯單元,60個(gè)可用I/O口,可單獨(dú)配置為輸入、輸出及雙向工作方式,2個(gè)全局時(shí)鐘及一個(gè)全局使能端和一個(gè)全局清除端。EMP 7128SLC84-15支持多電壓工作,其傳輸延時(shí)為7.5ns,最高工作頻率高達(dá)125MHz,并支持多種編程方式,同時(shí)可利用Altera公司的第三代開發(fā)軟件Max+PlusII方便地進(jìn)行仿真、綜合和下載。
2 系統(tǒng)工作原理
圖1所示是一個(gè)數(shù)字式相位測量儀的系統(tǒng)工作示意圖。圖中,輸入的比較信號b與參照信號a,經(jīng)參數(shù)相同的整形電路變換為正方波后,將兩個(gè)方波進(jìn)行異或(在CPLD中完成),同時(shí)與測得信號的頻率f(由CPLD設(shè)計(jì)一頻率計(jì)完成)再異或,然后將得到的信號經(jīng)2f倍頻,再將此信號作為閘門,并在其高電平時(shí)段利用高頻時(shí)鐘fc進(jìn)行計(jì)數(shù),最后在下降沿時(shí)將計(jì)數(shù)值讀出并設(shè)為N,則相位為:
Phase=180 °N/fc
該相位測量儀表系統(tǒng)除整形電路外,其余均可由CPLD完成。計(jì)數(shù)所使用的晶振頻率為4MHz時(shí)?此系統(tǒng)的分辨率為180°/(4×106)=(4.5×10-5)°。
3 基于CPLD的程序設(shè)計(jì)
設(shè)計(jì)系統(tǒng)軟件時(shí)?運(yùn)用VHDL語言,可將系統(tǒng)分為頻率計(jì)、分頻器、相位計(jì)數(shù)器3個(gè)子模塊,現(xiàn)對其分別進(jìn)行描述:
(1)頻率計(jì)
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));?
--計(jì)數(shù)輸出
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; --在閘門的高電平時(shí)段計(jì)數(shù)
else
temp<=“00000000000000000000”?
--在閘門的低電平時(shí)段清零
end if;
end if;
end process P1;
P2?process(clk)
begin
if clk′event and clk=′0′ then
counter<=temp;在閘門的下降沿將數(shù)據(jù)讀出
end if;
end process P2;
end;
由于閘門采用的是0.5Hz的方波,因此?輸出數(shù)值即為頻率值。
(2) 分頻模塊
通過此模塊可對頻率計(jì)得到的頻率進(jìn)行分頻,也可在異或后再分頻得到頻率為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);--連接頻率計(jì)輸出的頻率值
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; 。M(jìn)行2f倍分頻
end process;
end;
【基于EMP 7128的數(shù)字式相位測量儀】相關(guān)文章:
絕對相位中心改正及其對小范圍工程網(wǎng)坐標(biāo)估值的影響05-11
礦山測量儀器安全管理問題的解決措施論文04-22
試析基于勝任素質(zhì)的薪酬模式構(gòu)建01-03
基于戰(zhàn)略治理的企業(yè)環(huán)境風(fēng)險(xiǎn)研究08-28
基于minigui的網(wǎng)真機(jī)界面的實(shí)現(xiàn)08-05
基于軟交換的固網(wǎng)智能化05-11
基于BP網(wǎng)遙感影像分類研究與應(yīng)用08-10
基于SWOT的我國社;疬\(yùn)行現(xiàn)狀探析論文04-17