- 相關(guān)推薦
基于EMP 7128的數(shù)字式相位測量儀
摘要:分析了基于Altera公司CPLD芯片EMP7128SLC84-15進(jìn)行相位測量的基本原理,給出了用EMP7128SLC8415進(jìn)行相位測量的硬件實(shí)現(xiàn)電路及VHDL源程序。關(guān)鍵詞:EMP7128SLC84-15;CPLD;相位;頻率
1器件簡介
。牛停校罚保玻福樱蹋茫福矗保凳牵粒欤簦澹颍峁镜模停粒兀罚埃埃埃酉盗校茫校蹋,它采用CMOS工藝,并以第二代矩陣結(jié)構(gòu)為基礎(chǔ),實(shí)際上也是一種基于E2PROM的器件。EMP7128SLC84-15有84個(gè)引腳,其中5根用于ISP(InSystemProgrammable)下載,可方便地對(duì)其進(jìn)行在系統(tǒng)編程。此器件內(nèi)集成了6000門,其中典型可用門為2500個(gè),有128個(gè)邏輯單元,60個(gè)可用I/O口,可單獨(dú)配置為輸入、輸出及雙向工作方式,2個(gè)全局時(shí)鐘及一個(gè)全局使能端和一個(gè)全局清除端。EMP7128SLC84-15支持多電壓工作,其傳輸延時(shí)為7.5ns,最高工作頻率高達(dá)125MHz,并支持多種編程方式,同時(shí)可利用Altera公司的第三代開發(fā)軟件Max+PlusII方便地進(jìn)行仿真、綜合和下載。
。蚕到y(tǒng)工作原理
圖1所示是一個(gè)數(shù)字式相位測量儀的系統(tǒng)工作示意圖。圖中,輸入的比較信號(hào)b與參照信號(hào)a,經(jīng)參數(shù)相同的整形電路變換為正方波后,將兩個(gè)方波進(jìn)行異或(在CPLD中完成),同時(shí)與測得信號(hào)的頻率f(由CPLD設(shè)計(jì)一頻率計(jì)完成)再異或,然后將得到的信號(hào)經(jīng)2f倍頻,再將此信號(hào)作為閘門,并在其高電平時(shí)段利用高頻時(shí)鐘fc進(jìn)行計(jì)數(shù),最后在下降沿時(shí)將計(jì)數(shù)值讀出并設(shè)為N,則相位為:
。校瑁幔螅澹剑保福啊悖危妫
該相位測量儀表系統(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)對(duì)其分別進(jìn)行描述:
(1)頻率計(jì)
。欤椋猓颍幔颍椋澹澹;
useieee.std_logic_1164.all;
。酰螅澹椋澹澹澹螅簦鋉logic_unsigned.all;
。澹睿簦椋簦妫悖铮酰睿簦澹颍椋
port(sig:instd_logic;--輸入信號(hào)
。悖欤:instd_logic;--0.5Hz的閘門信號(hào),可由晶振分頻得到
。悖铮酰睿簦澹:outstd_logic_vector(19downto0));?
--計(jì)數(shù)輸出
。澹睿;
architecturedataoffcounteris
。螅椋纾睿幔欤簦澹恚:std_logic_vector(19downto0);
begin
。校:process(sig)
。猓澹纾椋
。椋妫螅椋纾В澹觯澹睿簦幔睿洌螅椋纾健薄簦瑁澹
。椋妫悖欤耄健薄簦瑁澹
。簦澹恚穑迹剑簦澹恚穑;--在閘門的高電平時(shí)段計(jì)數(shù)
。澹欤螅
temp<=“00000000000000000000”?
。陂l門的低電平時(shí)段清零
。澹睿洌椋;
。澹睿洌椋;
。澹睿洌穑颍铮悖澹螅螅校;
P2?process(clk)
。猓澹纾椋
ifclk′eventandclk=′0′then
。悖铮酰睿簦澹颍迹剑簦
。恚;在閘門的下降沿將數(shù)據(jù)讀出
。澹睿洌椋;
。澹睿洌穑颍铮悖澹螅螅校;
。澹睿;
由于閘門采用的是0.5Hz的方波,因此?輸出數(shù)值即為頻率值。
(2)分頻模塊
通過此模塊可對(duì)頻率計(jì)得到的頻率進(jìn)行分頻,也可在異或后再分頻得到頻率為0.5Hz的矩形波。
。欤椋猓颍幔颍椋澹澹;
。酰螅澹椋澹澹澹螅簦鋉logic_1164.all;
。酰螅澹椋澹澹澹螅簦鋉logic_unsigned.all;
entityfenis
。穑铮颍(qin:instd_logicvector(19downto0);--連接頻率計(jì)輸出的頻率值
qout:outstd_logic);
。澹睿;
。幔颍悖瑁椋簦澹悖簦酰颍澹洌幔簦幔铮妫妫澹睿椋
。螅椋纾睿幔欤簦澹恚:std_logic_vector(19downto0);
。螅椋纾睿幔欤:std_logic;
begin
。穑颍铮悖澹螅(temp)
。猓澹纾椋
。椋妫簦澹恚穑迹瘢椋睿簦瑁澹
。簦澹恚穑迹剑簦澹恚穑;
else
。簦澹恚穑迹健埃埃埃埃埃埃埃埃埃埃埃埃埃埃埃埃埃埃埃埃啊;
a<=nota;
。澹睿洌椋;
qout<=a;--進(jìn)行2f倍分頻
。澹睿洌穑颍铮悖澹螅;
。澹睿;
。?相位測量
該模塊將分頻模塊得到的信號(hào)作為閘門,然后利用外部晶振進(jìn)行計(jì)數(shù),其設(shè)計(jì)原理與頻率計(jì)相同。由于相異或的一個(gè)周期對(duì)應(yīng)輸入的兩路方波信號(hào)的半個(gè)周期(180°),而且只能測量到最大180°的相位差,因此?還須判斷超前或滯后,才能測量出大于180°的相位差,具體程序如下:
。欤椋猓颍幔颍椋澹澹;
useieee.std_logic_1164.all;
。澹睿簦椋簦穑颍錩lagis
。穑铮颍(s1,s2:instd_ogic;--兩輸入信號(hào)
pre:outstd_logic);--判斷結(jié)果輸出
。澹睿;
。幔颍悖瑁椋簦澹悖簦酰颍澹洌幔簦幔铮妫穑颍錩lagis
。猓澹纾椋
lag:process(s1)
。猓澹纾椋
。椋妫螅薄洌澹觯澹睿簦幔睿洌螅保健洌薄洌簦瑁澹
。椋妫螅玻健洌啊洌簦瑁澹
。穑颍澹迹健洌薄;--若s1超前s2,輸出為
′1′,否則輸出′0′;
。澹欤螅
。穑颍澹迹健洌啊;
endif;
。澹睿洌椋;
endprocesslag;
。澹睿;
(4)模塊的組合
圖3
在Max+PlusII中,采用原理圖輸入方式可將上述各模塊組合成一個(gè)軟件系統(tǒng),然后將其綜合下載到CPLD即可完成相位測量儀的設(shè)計(jì),其具體設(shè)計(jì)圖見圖3所示。
圖3中,A、B為輸入信號(hào)a、b經(jīng)過整形得到的方波信號(hào)。Fcounter?yàn)轭l率計(jì)模塊,Fen為分頻器,Phasecounter?yàn)橄辔粶y量計(jì)數(shù)器,Pre-lag為超前滯后判斷模塊。
。唇Y(jié)束語
基于CPLD邏輯器件EMP7128SLC84-15構(gòu)成的相位測量系統(tǒng)具有測量頻帶寬、分辨率高、誤差小、成本低、簡單易行等優(yōu)點(diǎn),完全能夠滿足實(shí)際測量的要求。而且,由于完全采用的是CPLD設(shè)計(jì),因此,該系統(tǒng)十分易于升級(jí)。
【基于EMP 7128的數(shù)字式相位測量儀】相關(guān)文章:
基于 EPM7128 設(shè)計(jì)的數(shù)據(jù)合并轉(zhuǎn)換器08-06
一種基于FPGA的A超數(shù)字式探傷系統(tǒng)的研究08-06
基于DSP控制的數(shù)字式雙向DC/DC變換器的實(shí)現(xiàn)08-06
數(shù)字式智能電機(jī)控制模塊08-06
基于CSSCI的200108-18
相位差可調(diào)的雙通道信號(hào)發(fā)生器的設(shè)計(jì)08-06
為了學(xué)校 基于學(xué)校08-17
基于高效的課堂展示08-25