新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于EMP 7128的數(shù)字式相位測量儀

        基于EMP 7128的數(shù)字式相位測量儀

        作者: 時間:2004-12-08 來源:網絡 收藏
        摘要:分析了基于Altera公司CPLD芯片SLC84-15進行相位測量的基本原理,給出了用SLC8415進行相位測量的硬件實現(xiàn)電路及VHDL源程序。

        關鍵詞: SLC84-15;CPLD;相位;頻率

        1 器件簡介

        EMP 7128SLC84-15是Altera公司的MAX7000S系列CPLD,它采用CMOS工藝,并以第二代矩陣結構為基礎,實際上也是一種基于E2PROM的器件。EMP 7128SLC84-15有84個引腳,其中5根用于ISP(In System Programmable)下載,可方便地對其進行在系統(tǒng)編程。此器件內集成了6000門,其中典型可用門為2500個,有128個邏輯單元,60個可用I/O口,可單獨配置為輸入、輸出及雙向工作方式,2個全局時鐘及一個全局使能端和一個全局清除端。EMP 7128SLC84-15支持多電壓工作,其傳輸延時為7.5ns,最高工作頻率高達125MHz,并支持多種編程方式,同時可利用Altera公司的第三代開發(fā)軟件Max+PlusII方便地進行仿真、綜合和下載。

        2 系統(tǒng)工作原理

        圖1所示是一個的系統(tǒng)工作示意圖。圖中,輸入的比較信號b與參照信號a,經參數(shù)相同的整形電路變換為正方波后,將兩個方波進行異或(在CPLD中完成),同時與測得信號的頻率f(由CPLD設計一頻率計完成)再異或,然后將得到的信號經2f倍頻,再將此信號作為閘門,并在其高電平時段利用高頻時鐘fc進行計數(shù),最后在下降沿時將計數(shù)值讀出并設為N,則相位為:

        Phase=180 N/fc

        表系統(tǒng)除整形電路外,其余均可由CPLD完成。計數(shù)所使用的晶振頻率為4MHz時?此系統(tǒng)的分辨率為180/(4106)=(4.510-5)。

        3 基于CPLD的程序設計

        設計系統(tǒng)軟件時?運用VHDL語言,可將系統(tǒng)分為頻率計、分頻器、相位計數(shù)器3個子模塊,現(xiàn)對其分別進行描述:

        (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));?

        --計數(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ù)

        else

        temp<=“00000000000000000000”? 

        --在閘門的低電平時段清零

        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) 分頻模塊

        通過此模塊可對頻率計得到的頻率進行分頻,也可在異或后再分頻得到頻率為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?相位測量

        該模塊將分頻模塊得到的信號作為閘門,然后利用外部晶振進行計數(shù),其設計原理與頻率計相同。由于相異或的一個周期對應輸入的兩路方波信號的半個周期(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

        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中,采用原理圖輸入方式可將上述各模塊組合成一個軟件系統(tǒng),然后將其綜合下載到CPLD即可完成的設計,其具體設計圖見圖3所示。

        圖3中, A、B為輸入信號a、b經過整形得到的方波信號。Fcounter為頻率計模塊,Fen為分頻器,Phasecounter為相位測量計數(shù)器,Pre-lag為超前滯后判斷模塊。

        4 結束語

        基于CPLD邏輯器件 EMP7128SLC84-15構成的相位測量系統(tǒng)具有測量頻帶寬、分辨率高、誤差小、成本低、簡單易行等優(yōu)點,完全能夠滿足實際測量的要求。而且,由于完全采用的是CPLD設計,因此,該系統(tǒng)十分易于升級。

        光電開關相關文章:光電開關原理


        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 邵阳市| 清河县| 拉孜县| 西盟| 北川| 剑河县| 沧州市| 夏邑县| 当雄县| 凌源市| 从化市| 马龙县| 红桥区| 澳门| 原阳县| 河西区| 舒城县| 溧水县| 瓦房店市| 饶河县| 嘉义县| 兴仁县| 卫辉市| 峡江县| 黄骅市| 聂荣县| 江西省| 武隆县| 漳平市| 新疆| 工布江达县| 镇原县| 仙居县| 兴文县| 丰镇市| 栾川县| 洪雅县| 乌兰县| 凉城县| 安徽省| 大余县|