• 
    

    
    

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

      基于VHDL語言的數(shù)字時鐘設計

      2011-05-21 00:41:58李曉敏田熙燕
      電子設計工程 2011年13期
      關鍵詞:分頻器譯碼器數(shù)碼管

      李曉敏,田熙燕

      (河南科技學院 機電學院,河南 新鄉(xiāng) 453003)

      硬件描述語言VHDL是EDA技術的重要組成部分,也是電子設計主流硬件的描述語言之一,它具有很強的電路描述能力和建模能力,極好地反映了EDA設計的“自頂向下”的原則。而EDA技術作為硬件設計領域的先進技術已經(jīng)在發(fā)展的過程中充分地顯現(xiàn)出其優(yōu)越性。利用EDA技術進行電子系統(tǒng)設計的最后目標,是完成專用集成電路ASIC的設計和實現(xiàn)[1]。與傳統(tǒng)的設計方法相比,EDA技術可以用VHDL語言對系統(tǒng)進行抽象的行為與功能描述,對設計的各個階段進行模擬驗證,同時由于VHDL具有與具體電路無關的特性,使得設計者大大節(jié)省了時間,提高了效率[2]。

      1 數(shù)字時鐘的設計方案及框圖

      1.1 設計方案

      系統(tǒng)要完成的主要功能有:

      1)數(shù)字時鐘按24 h制設計,由6只數(shù)碼管顯示小時、分鐘、秒;

      2)小時單元和分鐘單元具有復位功能,當按下對應按鍵時,小時單元和分鐘單元復位為00;

      3)動態(tài)掃描功能,掃描輸出輪流點亮各個數(shù)碼管,可用來檢測數(shù)碼管的好壞;

      由功能要求可將系統(tǒng)分模塊實現(xiàn)[3]。將系統(tǒng)分為7個模塊來實現(xiàn)。這7個模塊分別為:

      ①24進制計數(shù)器;②60進制計數(shù)器;③分頻器;④選擇顯示數(shù)據(jù)模塊:其功能為將輸入的六路信號(時十位﹑時個位﹑分十位﹑分個位﹑秒十位﹑秒個位)輪流選中送給七段顯示譯碼器,即在一個時間單元內只顯示一路信號的值;⑤動態(tài)掃描控制模塊:其功能為控制數(shù)碼管電路的亮滅,即完成對6個數(shù)碼管的掃描控制功能[3];⑥七段顯示譯碼器:完成BCD碼向7段顯示碼的轉換;⑦模六計數(shù)器:用來控制數(shù)碼管的片選信號,同時作為選擇顯示數(shù)據(jù)模塊的地址產(chǎn)生器。

      1.2 系統(tǒng)的模塊框圖

      如圖1所示,采用自頂向下的設計方法[4],通過對功能框圖的分析,將系統(tǒng)分模塊來進行設計,然后再通過例化語句完成各模塊間的銜接,最終實現(xiàn)了頂層描述,完成系統(tǒng)預定功能。

      1.3 系統(tǒng)的工作流程描述

      如圖1,時鐘系統(tǒng)具有一個使能端en、一個異步清零端clr以及時鐘脈沖輸入端clk。由6個計數(shù)器分別完成小時、分鐘、秒的計時,并分別通過數(shù)據(jù)選擇器的6個輸入端送入選擇器,數(shù)據(jù)選擇器的使能端由一個模為六的計數(shù)器控制,輪流選中數(shù)據(jù)選擇器的6個輸入端,這樣,6個輸入端口的數(shù)據(jù)在數(shù)據(jù)選擇器的輸出端口就得到了串行輪流的輸出。此輸出作為七段顯示譯碼器的字符輸入端,經(jīng)譯碼后在數(shù)碼管顯示電路上顯示出對應字形。數(shù)碼管顯示電路上的6個數(shù)碼管同樣采用輪流點亮的方式。由于循環(huán)的速度非???,所以肉眼看起來仍然是同時顯示的感覺。

      圖1 數(shù)字鐘模塊框圖Fig.1 Block diagram of digital clock model

      2 各模塊的設計實現(xiàn)

      2.1 24進制計數(shù)器和60進制計數(shù)器的實現(xiàn)

      24進制計數(shù)器的功能為完成計時電路中小時單元的計時功能[5],并且具有異步清零端clr(低電平有效)﹑使能端en(高電平有效);當數(shù)字鐘處于正常計時狀態(tài)時,完成小時計時,并且受分計時模塊(60進制)進位輸出信號的控制。程序描述如下:

      library ieee;--24進制計數(shù)器VHDL語言描述

      use ieee.std_logic_1164.all;

      use ieee.std_logic_unsigned.all;

      entity cnt24 is

      port(clk,clr,en:in std_logic;

      co:out std_logic;

      ten:buffer std_logic_vector(3 downto 0);

      one:buffer std_logic_vector(3 downto 0));end cnt24;

      architecture art of cnt24 is

      begin

      co<='1'when (ten="0010"and one="0011") else'0';

      process(clk,clr)

      begin

      if(en='1')then

      if(clr='0') then

      ten<="0000";

      one<="0000";

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

      if(one=3)then

      one<="0000";

      if(ten=2)then

      ten<="0000";

      else ten<=ten+1;

      end if;

      else one<=one+1;

      end if;

      end if;

      else one<="0000";ten<="0000";

      end if;

      end process;

      end art;

      程序的仿真波形如圖2所示,en為使能端,co為計滿標志位輸出。

      60進制計數(shù)器功能為完成計時電路中分單元和秒單元的計時功能,具有異步清零端clr(低電平有效)﹑使能端en(高電平有效)以及進位信號co;其程序描述與24進制計數(shù)器類似,其仿真波形如圖3。

      2.2 分頻器的實現(xiàn)

      分頻器的功能為將輸入的1 000 Hz的脈沖信號轉換為1 Hz的信號送給計時電路[6],作為電路的基準脈沖信號,采用VHDL語言進行描述,并利用軟件仿真。其程序描述如下:

      library ieee;--分頻器VHDL語言描述

      use ieee.std_logic_1164.all;

      entity fenpin is

      port(clk:in std_logic;

      q:out std_logic);

      end fenpin;

      圖2 24進制計數(shù)器仿真波形Fig.2 The 24 binary counter simulation

      圖3 60進制計數(shù)器仿真波形Fig.3 The 60 binary counter simulation

      architecture arc of fenpin is

      begin

      process(clk)

      variable cnt:integer range 0 to 999;

      begin

      if clk’event and clk=’1’ then

      if cnt<999 then

      cnt:=cnt+1;

      q<=’0’;

      else cnt:=0;

      q<=’1’;

      end if;

      end if;

      end process;

      end arc;

      仿真結果如圖4所示。

      圖4 分頻器仿真波形Fig.4 The divider counter simulation

      2.3 頂層電路設計

      各個模塊建立起來后,通過仿真無誤,采用例化語句完成各個模塊間的銜接,最終完成頂層電路的設計。例化語句的具體描述為:

      u1:cnt24 port map (clr=>clrc,clk=>b,en=>enc,one=>c,ten=>d);--24進制計數(shù)器例化

      u2:cnt60 port map (clr=>clrc,clk=>e,en=>enc,one60=>f,

      ten60=>g,co60=>b);--60 進制計數(shù)器例化

      u3:cnt60 port map (clr=>clrc,clk=>h,en=>enc,one60=>i,ten60=>j,co60=>e);

      u4:mux24_4 port map (ones=>c,tens=>d,onem=>f,tenm=>g,oneh=>i,tenh=>j,sel=>k,bcd=>l); --選擇顯示數(shù)據(jù)模塊例化

      u5:seg7 port map(bcd=>l,segout=>shizhongout); --七段顯示譯碼器例化

      u6:scan port map(sel=>k,seg6_com=>bcd_control); --動態(tài)掃描控制模塊例化

      u7:sel port map(clk=>clkc,sel=>k); --譯碼器例化

      u8:fenpin port map(clk=>clkc,q=>h); --分頻器例化

      以5 s時刻為例,掃描控制輸出輪流點亮各個LED數(shù)碼管;(11110-111101-111111-111011-110111-111111-101111-011111-11110---------)

      七段顯示譯碼器輸出為 0(0111111),5(1101101),系統(tǒng)仿真波形如圖5所示。

      圖5 系統(tǒng)級仿真波形Fig.5 The system simulation

      系統(tǒng)的仿真結果證明,此設計能夠完成既定功能,設計過程是正確的。

      3 結束語

      本文通過電子時鐘的設計表明了VHDL設計的一般流程及其顯著特點,把其下載到開發(fā)板上與其他外圍電路一起構成了數(shù)字鐘的硬件系統(tǒng),并進行設計測試,得到了良好的效果。同時表明了EDA技術“硬件設計軟件化”的特點,在設計過程中不涉及具體硬件電路,這也是電子品設計的大趨勢。

      [1]潘松,黃繼業(yè).EDA 技術實用教程(3)[M].北京:科學出版社,2006.

      [2]艾明晶,金惠華.EDA教學實驗設計實例——電子秒表電路的設計[J].儀器儀表學報,2011,22(4):141-142.AIMing-jing,JIN Hui-hua.A design example ofEDA Teaching Experiment-the design of electronic stop-watch circuit[J].Chinese Journal of Scientific Instrument,2011,22(4):141-142.

      [3]徐曉玲,田亞菲,崔偉.基于EDA仿真技術的電子時鐘系統(tǒng)設計[J].微計算機信息,2010,26(2):139-140.XU Xiao-ling,TIAN Ya-fei,CUI Wei.Electronic clock system design based on EDA simulation technology[J].Microcomputer Information ,2010,26(2):139-140.

      [4]徐大詔.基于FPGA實現(xiàn)的數(shù)字鐘設計[J].信息技術,2009(12):102-104.XU Da-zhao.Digital clock design based on FPGA[J].Information Technology, 2009(12):102-104.

      [5]包本剛,朱湘萍.基于EDA技術的多功能數(shù)字時鐘的ASIC設計[J].微計算機信息,2008,24(12/2):212-214.BAO Ben-gang,ZHU Xiang-ping.ASIC design of multifunctional digital clock based on EDA technology[J].Microcomputer Information 2008,24(12/2):212-214.

      [6]康華光.電子技術基礎:數(shù)字部分(3)[M].5 版.北京:高等教育出版社,2006.

      猜你喜歡
      分頻器譯碼器數(shù)碼管
      一種基于0.18μm SiGe工藝的8GHz前置分頻器
      高頻、低相噪、雙模分頻器設計
      Arduino編程
      電腦報(2019年2期)2019-09-10 07:22:44
      MC9S08FL16單片機數(shù)碼管靜態(tài)顯示分析
      科技風(2019年13期)2019-06-11 13:38:30
      單片機控制的四位數(shù)碼管動態(tài)顯示編程
      糾錯模式可配置的NAND Flash BCH譯碼器設計
      基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設計與實現(xiàn)
      跟蹤導練(一)5
      HINOC2.0系統(tǒng)中高速LDPC譯碼器結構設計
      電視技術(2014年17期)2014-09-18 00:15:48
      DRM/DAB/AM/FM頻率綜合器中吞吐脈沖分頻器的設計
      玉门市| 常山县| 久治县| 衡东县| 青海省| 长阳| 濮阳县| 元朗区| 外汇| 阜康市| 凤庆县| 蓬莱市| 托克托县| 黄龙县| 洛宁县| 洪泽县| 威宁| 义乌市| 清水河县| 西华县| 五原县| 洛扎县| 广宁县| 南城县| 广丰县| 读书| 武清区| 华容县| 都昌县| 枞阳县| 淳化县| 海安县| 鄯善县| 七台河市| 焉耆| 马边| 渝北区| 高清| 都江堰市| 天台县| 余庆县|