1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

      基于EMP7128的數字式相位測量儀

      更新時間: 2007-03-30 10:17:33來源: 粵嵌教育瀏覽量:926

      1 器件簡介

       ?。牛停?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; ?。M行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

      if s1′event and s1=′1′ then

      if s2=′0′then

      pre<=′1′;?。簦螅背埃螅?輸出為

      ′1′,否則輸出′0′;

      else

      pre<=′0′;

      end if;

      end if;

      end process lag;
      end;

      (4) 模塊的組合

        在Max+PlusII中,采用原理圖輸入方式可將上述各模塊組合成一個軟件系統,然后將其綜合下載到CPLD即可完成相位測量儀的設計,其具體設計圖見圖3所示。




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

      4 結束語

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


      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 久久动态精品视频 | 亚洲先锋资源AV在线 | 亚洲噜噜网站在线观看 | 最新精品国偷自产在线婷婷 | 亚洲婷婷天堂婷婷色五月 | 视频精品一区二区三区 |