<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于EMP 7128的數(shù)字式相位測(cè)量?jī)x

          基于EMP 7128的數(shù)字式相位測(cè)量?jī)x

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

          關(guān)鍵詞: SLC84-15;CPLD;相位;頻率

          1 器件簡(jiǎn)介

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

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

          圖1所示是一個(gè)的系統(tǒng)工作示意圖。圖中,輸入的比較信號(hào)b與參照信號(hào)a,經(jīng)參數(shù)相同的整形電路變換為正方波后,將兩個(gè)方波進(jìn)行異或(在CPLD中完成),同時(shí)與測(cè)得信號(hào)的頻率f(由CPLD設(shè)計(jì)一頻率計(jì)完成)再異或,然后將得到的信號(hào)經(jīng)2f倍頻,再將此信號(hào)作為閘門(mén),并在其高電平時(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/(4106)=(4.510-5)。

          3 基于CPLD的程序設(shè)計(jì)

          設(shè)計(jì)系統(tǒng)軟件時(shí)?運(yùn)用VHDL語(yǔ)言,可將系統(tǒng)分為頻率計(jì)、分頻器、相位計(jì)數(shù)器3個(gè)子模塊,現(xiàn)對(duì)其分別進(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; --輸入信號(hào)

          clk:in std_logic; --0.5Hz的閘門(mén)信號(hào),可由晶振分頻得到

          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; --在閘門(mén)的高電平時(shí)段計(jì)數(shù)

          else

          temp<=“00000000000000000000”? 

          --在閘門(mén)的低電平時(shí)段清零

          end if;

          end if;

          end process P1;

          P2?process(clk)

          begin

          if clk′event and clk=′0′ then

          counter<=temp;在閘門(mén)的下降沿將數(shù)據(jù)讀出

          end if;

          end process P2;

          end;

          由于閘門(mén)采用的是0.5Hz的方波,因此?輸出數(shù)值即為頻率值。

          (2) 分頻模塊

          通過(guò)此模塊可對(duì)頻率計(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;

          3?相位測(cè)量

          該模塊將分頻模塊得到的信號(hào)作為閘門(mén),然后利用外部晶振進(jìn)行計(jì)數(shù),其設(shè)計(jì)原理與頻率計(jì)相同。由于相異或的一個(gè)周期對(duì)應(yīng)輸入的兩路方波信號(hào)的半個(gè)周期(180),而且只能測(cè)量到最大180的相位差,因此?還須判斷超前或滯后,才能測(cè)量出大于180的相位差,具體程序如下:

          library ieee;

          use ieee.std_logic_1164.all;

          entity pre_lag is

          port(s1,s2:in std_ ogic;  --兩輸入信號(hào)

          pre:out std_logic);  --判斷結(jié)果輸出

          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) 模塊的組合

          圖3

          在Max+PlusII中,采用原理圖輸入方式可將上述各模塊組合成一個(gè)軟件系統(tǒng),然后將其綜合下載到CPLD即可完成的設(shè)計(jì),其具體設(shè)計(jì)圖見(jiàn)圖3所示。

          圖3中, A、B為輸入信號(hào)a、b經(jīng)過(guò)整形得到的方波信號(hào)。Fcounter?yàn)轭l率計(jì)模塊,Fen為分頻器,Phasecounter?yàn)橄辔粶y(cè)量計(jì)數(shù)器,Pre-lag為超前滯后判斷模塊。

          4 結(jié)束語(yǔ)

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

          光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();