• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種新型的基于FPGA數(shù)字秒表的設(shè)計(jì)方法

      2009-06-20 03:11:28車保川
      科技經(jīng)濟(jì)市場 2009年4期
      關(guān)鍵詞:模塊

      車保川

      摘要:本文介紹了一種新型的基于FPGA的數(shù)字秒表的設(shè)計(jì)與實(shí)現(xiàn)方法,給出了頂層電路圖,和各模塊的設(shè)計(jì),增加了消除抖動(dòng)的控制方法,消除了開關(guān)按鍵的機(jī)械抖動(dòng)。通過編輯、編譯和器件編程,用MODELSIM仿真軟件進(jìn)行了仿真,并將編程器文件下載到ISP實(shí)驗(yàn)板TB-BD-TS101開發(fā)板中,經(jīng)實(shí)際電路測試驗(yàn)證,達(dá)到了預(yù)期的設(shè)計(jì)要求,顯示結(jié)果準(zhǔn)確無誤。

      關(guān)鍵詞:FPGA;數(shù)字秒表;模塊;開關(guān)按鍵

      中圖分類號:TN702 文獻(xiàn)標(biāo)識碼:A

      1前言

      當(dāng)今社會是數(shù)字化的社會,是數(shù)字集成電路廣泛應(yīng)用的社會。數(shù)字集成電路本身在不斷更新?lián)Q代,隨著電子技術(shù)的發(fā)展,設(shè)計(jì)人員更希望設(shè)計(jì)周期盡可能短,最好能在實(shí)驗(yàn)室、調(diào)試現(xiàn)場完成對邏輯塊和連線的配置,并且立即投入實(shí)際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場可編程邏輯門陣列FPGA。

      本文介紹了如何利用FPGA設(shè)計(jì)與實(shí)現(xiàn)數(shù)字秒表的全過程,利用了超高速硬件描述語言VHDL的EDA設(shè)計(jì)工具,采用的是Xinlinx 的低成本系列中的Spartan-3,型號為XC3S400-4PQ208C的芯片來實(shí)現(xiàn)系統(tǒng)功能,采用分模塊化思想編程,開關(guān)按鍵集計(jì)數(shù)、停止、清零與一體,節(jié)省資源,思路簡單,容易實(shí)現(xiàn)。

      2秒表的功能要求

      設(shè)計(jì)一個(gè)秒表stopwatch要求具有以下功能:有一個(gè)復(fù)位reset端子SW10,reset低電平有效;一個(gè)開關(guān)起、停、清零start/stop/clear端子SW7,系統(tǒng)啟動(dòng)后,第一次按SW7,秒表開始計(jì)數(shù),第二次按SW7,秒表停止計(jì)數(shù),第三次按SW7秒表清零。其頂層模塊如圖1 所示。

      板子的主頻時(shí)鐘我們用32MHZ,秒表動(dòng)態(tài)的顯示在TS101板子的D5,D6,D7,D8 LED上,D5,D6表示分鐘位,D7,D8表示秒鐘,D6的小數(shù)點(diǎn)亮,表示分鐘和秒鐘的分隔。

      3系統(tǒng)的模塊設(shè)計(jì)

      圖2所示是數(shù)字秒表設(shè)計(jì)的頂層模塊圖,其中CLKIN是32MHz系統(tǒng)時(shí)鐘,RST是復(fù)位信號,可以對整個(gè)系統(tǒng)清零。

      該模塊圖主要分為四個(gè)部分,第一部分是DCM(Digital Clock Manager)調(diào)用模塊。通過DCM的應(yīng)用,可以去除時(shí)鐘歪斜、頻率綜合與相位調(diào)整。

      第二部分是消抖模塊,因?yàn)殚_關(guān)按鍵為機(jī)械彈性開關(guān),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在按下的瞬間會有一連串的抖動(dòng),抖動(dòng)的長短由機(jī)械特性所決定,一般為5~15ms,抖動(dòng)引起電平信號波動(dòng),從而引起誤處理。為了確保一次按鍵動(dòng)作只確認(rèn)一次按鍵,必須消除抖動(dòng)。

      第三部分是計(jì)數(shù)模塊,計(jì)數(shù)模塊內(nèi)部包括一個(gè)狀態(tài)控制進(jìn)程,控制開關(guān)的三個(gè)不同狀態(tài);一個(gè)分頻進(jìn)程,主要是把系統(tǒng)32MHz的時(shí)鐘分頻為1Hz:兩個(gè)6進(jìn)制計(jì)數(shù)器,和兩個(gè)十進(jìn)制計(jì)數(shù)器,這樣可以比直接使用60進(jìn)制計(jì)數(shù)器節(jié)省資源,直接利用秒的個(gè)位(十制)的進(jìn)位信號作為秒的十位的進(jìn)位信號,秒的十位(6進(jìn)制)的進(jìn)位信號作為分得個(gè)位的進(jìn)位信號,依此類推。部分計(jì)數(shù)程序如下:

      ……

      ---------CNT4---------秒的個(gè)位計(jì)數(shù)(10進(jìn)制計(jì)數(shù)器)

      process(CLK0_OUT,LOCKED_OUT)--系統(tǒng)復(fù)位

      begin

      if(LOCKED_OUT = '0') then

      r_ct4 <="0000";

      elsif(CLK0_OUT = '1' and CLK0_OUT'event) then

      if(r_outp = "00") then --清零

      r_ct4 <= "0000";

      elsif(r_outp = "10")then --停止計(jì)數(shù)

      r_ct4 <= r_ct4;

      elsif(r_outp = "01")then --開始計(jì)數(shù)

      if(r_ci3 = '1') then

      if(r_ct4 = "1001") then

      r_ct4 <= "0000";

      else

      r_ct4 <= r_ct4 + '1';

      end if;

      end if;

      end if;

      end if;

      end process;

      r_ci4<= '1' when ((r_ct4 = "1001") and

      (r_ct3 = "11110") and

      (r_ct2 = "1111100110") and

      (r_ct1 = "1111100110")) else

      '0';--r_ci4<='1'為 進(jìn)位信號

      CNT1 <= r_ct4;

      ----------------------------------------

      ……

      第四部分是掃描顯示部分,計(jì)數(shù)器輸出的四個(gè)四位信號,分別是秒針個(gè)位、十位、分針、個(gè)位、十位。通過譯碼顯示程序,對應(yīng)四個(gè)LED數(shù)碼管。另外還有一片選信號,選出不同的要顯示的數(shù)據(jù),為了實(shí)現(xiàn)動(dòng)態(tài)顯示,還要控制掃描頻率 ,可以通過一分頻器實(shí)現(xiàn),經(jīng)實(shí)驗(yàn)得動(dòng)態(tài)顯示頻率控制在200Hz左右可等到比較好得效果。部分譯碼程序如下:

      ……

      process(s_data) begin

      case s_data is

      when "0000" =>s_ledout(7 downto 1) <="0111111";

      when "0001" =>s_ledout(7 downto 1) <="0000110";

      when "0010" =>s_ledout(7 downto 1) <="1011011";

      when "0011" =>s_ledout(7 downto 1) <="1001111";

      when "0100" =>s_ledout(7 downto 1) <="1100110";

      when "0101" =>s_ledout(7 downto 1) <="1101101";

      when "0110" =>s_ledout(7 downto 1) <="1111101";

      when "0111" =>s_ledout(7 downto 1) <="0100111";

      when "1000" =>s_ledout(7 downto 1) <="1111111";

      when "1001" =>s_ledout(7 downto 1) <="1101111";

      when others=> s_ledout(7 downto 1) <="XXXXXXX";

      end case;

      end process;

      process(s_ledsel) begin

      if (s_ledsel="1011")then --控制小數(shù)點(diǎn)點(diǎn)亮

      s_ledout(0) <= '1' ;

      else

      s_ledout(0) <= '0' ;

      end if;

      end process;

      ……

      4 設(shè)計(jì)仿真與下載驗(yàn)證

      上面數(shù)字秒表得模塊圖,采用VHDL語言編寫程序,把各程序經(jīng)過編譯后,生成模塊,通過建立頂層文件,調(diào)用這些模塊,完成電路得連接。通過ISE綜合可得到完整得電路模塊圖。如圖3所示:

      再通過Modelsim 軟件進(jìn)行編譯、仿真,得到仿真圖形如圖4所示:

      由仿真結(jié)果可知數(shù)字秒表實(shí)現(xiàn)了準(zhǔn)確的計(jì)數(shù)功能。

      最后將該設(shè)計(jì)下載到實(shí)驗(yàn)、開發(fā)系統(tǒng)中進(jìn)行驗(yàn)證。經(jīng)ISE綜合后生成相應(yīng)的stopwatch.ucf文件,管腳鎖定如下:輸入信號CLKIN對應(yīng)P76引腳,RST對應(yīng)P120引腳, SW7對應(yīng)P116引腳;輸出信號LEDOUT[7:4]對應(yīng)P37~P34引腳,LEDOUT<3>對應(yīng)P31, LEDOUT<2>對應(yīng)P29, LEDOUT<1>對應(yīng)P28, LEDOUT<0>對應(yīng)P33, LEDSEL<3>對應(yīng)P39,LEDSEL<2>對應(yīng)P40,LEDSEL<1>對應(yīng)P42,LEDSEL<0>對應(yīng)P43。管腳鎖定后再進(jìn)行編譯,生成可下載的stopwatch.mcs文件,將該文件下載到TS101芯片中,可實(shí)際驗(yàn)證該設(shè)計(jì)的各種功能,復(fù)位、計(jì)數(shù)、暫停、清零等。

      5 結(jié)束語

      通過利用FPGA設(shè)計(jì)數(shù)字秒表可,進(jìn)一步熟悉了FPGA的整套開發(fā)流程,即設(shè)計(jì)入口,仿真,綜合,布局布線。在Xinlinx FPGA 開發(fā)環(huán)境下,采用至上而下的設(shè)計(jì)方法有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)中的錯(cuò)誤,避免不必要的重復(fù)設(shè)計(jì)。在結(jié)合基于FPGA的“在系統(tǒng)”可編程實(shí)驗(yàn)板,輕輕松松就能實(shí)現(xiàn)電子產(chǎn)品的設(shè)計(jì),現(xiàn)場觀察實(shí)

      驗(yàn)測試結(jié)果。大大縮短了產(chǎn)品的設(shè)計(jì)周期和調(diào)試周期,提高了設(shè)計(jì)的可靠性和成功率。充分體現(xiàn)了可編程邏輯器件在數(shù)字電路設(shè)計(jì)中的優(yōu)越性。

      參考文獻(xiàn):

      [1]王振紅.VHDL數(shù)字電路設(shè)計(jì)與應(yīng)用實(shí)踐教程[M],北京:機(jī)械工業(yè)出版社,2003(6).

      [2]張淑驊.基于FPGA的數(shù)字秒表的VHDL設(shè)計(jì)[J],大眾科技,2006(5):7-78.

      [3]詹小杏,林浩泉.用CPLD器件設(shè)計(jì)數(shù)字秒表[J],大眾科技,2004(10):2.

      [4]韓芝俠.基于FPGA的數(shù)字秒表設(shè)計(jì) [J],陜西工學(xué)院學(xué)報(bào),2004,20(4):22-23.

      [5]陳耀和.VHDL語言設(shè)計(jì)技術(shù)[M],北京:電子工業(yè)出版社,2004(3).

      [6]翟殿棠,田萬民,厲光偉.VHDL在數(shù)字設(shè)計(jì)中的應(yīng)用研究[J],信息技術(shù)研究與應(yīng)用,2004(3):44-45.

      猜你喜歡
      模塊
      28通道收發(fā)處理模塊設(shè)計(jì)
      “選修3—3”模塊的復(fù)習(xí)備考
      三個(gè)必修模塊 教學(xué)各有側(cè)重
      選修6 第三模塊 International Relationships
      IR推出易用的μHVIC系列構(gòu)建模塊,有效簡化設(shè)計(jì)
      集成水空中冷器的進(jìn)氣模塊
      瓮安县| 隆化县| 嘉定区| 舟山市| 岑溪市| 金秀| 德钦县| 和田县| 贵港市| 红安县| 山阴县| 壤塘县| 奉贤区| 保定市| 珲春市| 冕宁县| 廊坊市| 闻喜县| 隆德县| 东乌珠穆沁旗| 裕民县| 乡城县| 崇明县| 湘潭县| 比如县| 酉阳| 黔西县| 溧水县| 平武县| 崇明县| 乐昌市| 南阳市| 商洛市| 大宁县| 山东省| 阿拉善盟| 库车县| 凌云县| 河间市| 平罗县| 桃江县|