《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的數字秒表設計與實現
基于FPGA的數字秒表設計與實現
來源:微型機與應用2014年第5期
王媛媛
(西安科技大學 電氣與控制工程學院,陜西 西安 710054)
摘要: 在Quartus II軟件平臺的基礎上,基于VHDL語言及圖形輸入,采用FPGA設計了一款數字秒表,同時,給出了數字秒表系統設計方案及各個功能模塊的設計原理。通過對系統進行編譯、仿真,并下載到Cyclone系列EP2C5Q208C8器件中進行測試,結果表明,本設計能實現計時顯示、啟停、復位及計時溢出報警功能。
關鍵詞: FPGA 數字秒表 VHDL
Abstract:
Key words :

摘  要: 在Quartus II軟件平臺的基礎上,基于VHDL語言及圖形輸入,采用FPGA設計了一款數字秒表,同時,給出了數字秒表系統設計方案及各個功能模塊的設計原理。通過對系統進行編譯、仿真,并下載到Cyclone系列EP2C5Q208C8器件中進行測試,結果表明,本設計能實現計時顯示、啟停、復位及計時溢出報警功能。
關鍵詞: 數字秒表;VHDL;FPGA

 數字秒表是一種常用的計時工具,以其價格低廉、走時精確、使用方便、功能多而倍受廣大用戶的喜愛[1]。而基于FPGA的設計是當前數字系統設計領域中的重要方式之一[2]。同時,基于FPGA的片上系統與基于專用集成電路(ASIC)的片上系統相比,具有風險小、開發周期短、成本低、可擦寫等優點[3]。其可以完全由用戶通過軟件進行配置和編程,從而完成某種特定的功能,且可以反復擦寫。在修改和升級時不需額外地改變PCB電路板,只是在計算機上修改和更新程序,使硬件設計工作成為軟件工作,從而縮短了系統的開發周期,提高了實現的靈活性并降低了成本。本文基于FPGA開發平臺,采用VHDL硬件描述語言設計了一款數字秒表,實現了以下功能:按鍵1(K1),啟動和停止秒表;按鍵2(K2),復位(清零);蜂鳴器實現溢出報警;數碼管實現計時顯示。
1 基于FPGA的數字秒表設計
1.1 系統設計

 數字秒表常用于體育競賽以及各種要求有較精確計時的場合,其主要指標參數和功能要求有:精度及分辨率,計時長度,啟、停,復位等。根據設計的指標及功能要求,系統分為分頻模塊、計數模塊、顯示控制模塊和譯碼、顯示模塊,其總體結構框圖如圖1所示。分頻模塊將FPGA開發板提供的50 MHz時鐘信號進行分頻,得到計數及數碼管動態掃描顯示所需的頻率;計數模塊由十進制和六進制計數器組成,用于實現秒表計時功能,其輸出數據首先送給顯示控制模塊,該模塊的主要功能是實現數碼管的動態掃描顯示控制,提供顯示的位選控制信號和段選控制信號;最后是譯碼、顯示輸出,將計時時間進行譯碼并正確顯示在數碼管上。

1.2 子模塊功能設計與仿真
1.2.1 分頻模塊

 分頻模塊的主要作用是將較高頻率的輸入時鐘信號進行分頻,產生設計所需頻率的時鐘信號。模塊框圖如圖2所示。FPGA開發板提供的時鐘信號頻率為50 MHz,而設計要求秒表精度為0.01 s,即需要計數時鐘頻率為100 Hz,同時顯示掃描頻率需1 kHz,因此,通過分頻模塊對時鐘信號進行分頻,得到100 Hz和1 kHz的時鐘信號,分別提供給計數模塊和顯示控制模塊。該模塊VHDL程序如下。

ENTITY f_div IS
        PORT(
        clk:IN STD_LOGIC;
        fout100,fout1k:OUT STD_LOGIC);
        END f_div;
ARCHITECTURE one OF f_div IS
signal f100:std_logic;
signal f1k:std_logic;
    BEGIN
process (clk)
variable count:integer range 0 to 25e4-1;
begin if clk ′event and clk=′1′ then
if count=25e4-1 then f100<=not f100;
count:=0;
else count:=count+1;
end if;
end if;
fout100<=f100;
end process;
process(clk)
variable count1:integer range 0 to 25e3-1;
begin if clk ′event and clk=′1′then
if count1=25e3-1 then f1k<=not f1k;
count1:=0;
else count1:=count1+1;
end if;
end if;
fout1k<=f1k;
end process;
END one;
1.2.2 計數模塊
 計數模塊是秒表的核心模塊,完成計時功能。本設計要求秒表分辨率為0.01 s,即10 ms,最大計時為:59 min,59.99 s。因此,該模塊包括4個十進制計數器和兩個六進制計數器。通過十進制和六進制計數器的級聯組合,分別產生秒表的百分秒(0~99)、秒(0~59)和分(0~59)。十進制計數器為異步復位、同步使能計數器,其程序代碼如下。
entity counter10 is
port(clk,rst,en:in std_logic;
cq:out std_logic_vector(3 downto 0);
cout:out std_logic);
end counter10;
architecture behav of counter10 is
begin
process(clk,rst,en)
variable cqi:std_logic_vector(3 downto 0);
begin
         if rst=′0′ then cqi:=(others=>′0′);
      elsif clk ′event and clk=′1′ then
       if en=′1′ then
        if cqi<9 then cqi:=cqi+1;
         else cqi:=(others=>′0′);
          end if;
      end if;
end if;
       if clk ′event and clk=′1′ then
       if cqi=9 then cout<=′1′;
  else cout<=′0′;end if;
end if;
   cq<=cqi;
end process;
end behav;
 十進制計數器的仿真波形如圖3所示。

1.2.3 數碼管動態掃描顯示模塊
 通過分頻模塊和計數模塊,已可以實現秒表的計時功能,接下來要將秒表的計時時間通過數碼管顯示出來。數碼管顯示方式有靜態顯示和動態掃描顯示,本設計采用數碼管動態掃描顯示方式。
?。?)數碼管動態掃描顯示原理分析
 數碼管顯示的方式有靜態顯示方式和動態顯示方式兩種。靜態顯示的特點是每個數碼管的段選必須接一個8位數據線來保持顯示的字型碼。當送入一次字型碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優點是占用CPU時間少,顯示便于監測和控制,缺點是硬件比較復雜、成本高。因此,在實際應用中,一般采用動態顯示方式,即所有數碼管的段選都并聯在一起,由位選線控制哪一位數碼管有效。所謂動態顯示即輪流向各位數碼管送出字型碼和相應的位選,利用發光管的余輝和人眼視覺暫留作用使人感覺數碼管是同時顯示的。在編程時,需要輸出段選和位選信號,位選信號選中其中一個數碼管,然后輸出段碼,使該數碼管顯示所需的內容,延時一段時間后,再選中另一個數碼管,再輸出對應的段碼,高速交替。在動態顯示程序中,各個位的延時時間長短是非常重要的,如果延時時間長,則會出現閃爍現象;如果延時時間短,則會出現顯示暗且有重影。
?。?)顯示控制部分
 根據對數碼管動態掃描顯示原理的分析,結合設計的功能要求,選用開發板上6個共陰數碼管掃描輸出顯示秒表的分、秒和百分秒,掃描頻率一般只要超過人眼的視覺暫留頻率24 Hz以上就可以點亮單個數碼管而不閃爍,本設計采用1 kHz掃描頻率。位選模塊框圖如圖4所示。

位選程序代碼如下所示。
entity sel is
port(clk:in std_logic;
sel:out std_logic_vector(2 downto 0));
end sel;
architecture one of sel is
signal CY:std_logic_vector(2 downto 0);
begin
process(clk)
begin
if clk ′event and clk=′1′ then
    CY<=CY+1;
end if;
sel<=CY;
end process;
end one;
 顯示控制原理示意圖如圖5所示。位選信號在1 kHz時鐘的作用下循環掃描每位數碼管,使各數碼管高速交替顯示輸出所送入的數據信號。在顯示控制模塊的作用下數碼管分別顯示對應內容:秒表的分、秒和毫秒,比如:顯示10:59:96,即10分59.96秒。顯示控制模塊框圖如圖6所示,顯示控制程序如下所示。

entity weiselcon is
port(sel:in std_logic_vector(2 downto 0);
            min1,min0,sec1,sec0,microsec1,microsec0:in
std_logic_vector(3 downto 0);
      Q:out std_logic_vector(3 downto 0));
end;
architecture behav of weiselcon is
begin
process(sel,min1,min0,sec1,sec0,microsec1,microsec0)
begin
case(sel)is
when "000"=>Q<=min1;
when"001"=>Q<=min0;
when"010"=>Q<=sec1;
when"011"=>Q<=sec0;
when"100"=>Q<=microsec1;
when"101"=>Q<=microsec0;
when others=>Q<="1111";
end case;
end process;
end behav;
?。?)譯碼、顯示部分
 LED數碼管是由8個發光二極管封裝而成的,每段為一個發光二極管,其字形結構如圖7所示。選擇點亮不 同的段,可以顯示出不同的字形,例如,當“a,b,c,d,g”字段被點亮時,顯示字符“3”。

 譯碼、顯示部分的主要作用是將顯示控制模塊輸出的二進制數據轉換成0~9的十進制數據在數碼管上顯示。其VHDL代碼如下所示。
process(data)begin
case data is
when"0000"=>Y<="0111111";--顯示字符"0"
when"0001"=>Y<="0000110";--顯示字符"1"
when"0010"=>Y<="1011011";
when"0011"=>Y<="1001111";
when"0100"=>Y<="1100110";
when"0101"=>Y<="1101101";
when"0110"=>Y<="1111101";
when"0111"=>Y<="0000111";
when"1000"=>Y<="1111111";
when"1001"=>Y<="1101111";--顯示字符"9"
when others=>Y<="0000000";end case;
end process;
2 基于FPGA的數字秒表的實現
 在Quartus II開發平臺上實現了數字秒表系統設計,其原理框圖如圖8所示。

 

 

 對系統整體進行了仿真分析,其仿真波形如圖9所示。

3 編程下載與測試
 本系統采用VHDL硬件描述語言完成了編程,并在Quartus II集成開發環境下進行了綜合、編譯和仿真分析,最后將設計引腳與硬件電路進行適配,將程序代碼通過下載器下載至FPGA,本設計采用的是EP2C5Q208C8 FPGA。經過調試與驗證,系統實現了如下功能:(1)具有復位功能,任何時刻都可以進行清零復位,復位時顯示00:00:00;(2)具有啟動、停止功能,可以實現秒表計時開啟和計時中斷停止,計時時長為59分59.99秒;(3)具有溢出報警功能。本系統實現了設計指標要求。
 本設計基于FPGA開發平臺,采用模塊化設計思想、VHDL硬件描述語言和原理圖輸入方法,并經過實際電路測試,達到了預期的設計指標要求。與普通電子秒表系統相比,該系統具有外圍電路少、精度高、集成度高、可靠性強等優點[4]。除此之外,也是基于FPGA的數字系統最為突出的特點,即當系統需要升級,或更新某項設計指標時,用戶不需要重新設計或更換硬件電路,只需要通過軟件修改程序即可,這樣既可以節約成本,也可以大大縮短設計周期。
參考文獻
[1] 樊金榮,謝智文.數字倒計時秒表的設計與實現[J].中南民族大學學報,2005,24(1):79-80.
[2] 孫富明,李笑盈.基于多種EDA工具的FPGA設計[J].電子技術應用,2002(1):70-71.
[3] 崔健,劉晉.基于FPGA嵌入式系統的研究與應用[J].微型機與應用,2010(3):8-10.
[4] 楊遠成,趙創社,雷金利.基于FPGA的數字秒表的設計[J].現代電子技術,2008(12):52-53.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美调教vk| 国产欧美一区二区精品秋霞影院| 欧美www视频| 国产精品普通话对白| 国产日韩一区| 黄色成人在线观看| 久久艳片www.17c.com| 久久国产精品一区二区三区| 亚洲精品在线三区| 日韩午夜三级在线| 亚洲毛片网站| 亚洲电影av在线| 欧美日韩精品一区二区三区四区| 亚洲日本欧美日韩高观看| 一区二区免费在线视频| 午夜精品一区二区三区四区| 国产精品一区二区视频| 国产欧美一区二区精品性| 欧美大片在线影院| 狼狼综合久久久久综合网| 国产一区二区三区av电影| 国产精品一区二区你懂的| 久久久噜噜噜久久人人看| 欧美日韩国产不卡在线看| 欧美日韩在线亚洲一区蜜芽| 欧美精品一区二区在线播放| 一区二区三区导航| 欧美电影在线观看| 在线观看一区| 欧美视频日韩视频在线观看| 麻豆精品精华液| 午夜精品免费在线| 亚洲国产精品热久久| 久久久综合视频| 欧美中文字幕视频| 亚洲一区日韩在线| 亚洲免费小视频| 欧美日韩一区在线播放| 欧美国产精品中文字幕| 亚洲午夜久久久久久尤物| 国产精品婷婷午夜在线观看| 免费成人av资源网| 国产农村妇女精品一区二区| 韩日欧美一区二区三区| 亚洲人人精品| 欧美刺激午夜性久久久久久久| 午夜亚洲性色福利视频| 日韩视频国产视频| 亚洲美女av在线播放| 免费视频一区| 亚洲视频香蕉人妖| 午夜精品成人在线视频| 在线一区观看| 亚洲人成在线观看网站高清| 欧美三级精品| 国产精品看片你懂得| 国产精品拍天天在线| 欧美日韩综合另类| 久久久www免费人成黑人精品| 亚洲人成人一区二区三区| 久久aⅴ乱码一区二区三区| 韩国一区二区在线观看| 亚洲国产成人tv| 亚洲男人第一网站| 一区二区三区成人精品| 亚洲最新在线视频| 一区二区三区我不卡| 亚洲香蕉成视频在线观看| 久久久91精品国产一区二区精品| 韩国精品在线观看| 99精品久久免费看蜜臀剧情介绍| 欧美日韩精品欧美日韩精品| 性色av一区二区三区在线观看| 亚洲国产精品视频| 久久国产精品电影| 黄色成人精品网站| 性xx色xx综合久久久xx| 久久一二三国产| 激情综合在线| 欧美日韩免费在线| 91久久精品一区| 亚洲午夜女主播在线直播| 99re热这里只有精品视频| 免费日本视频一区| 欧美电影免费观看大全| 国产精品普通话对白| 欧美日韩免费一区二区三区| 99re6热在线精品视频播放速度| 国产精品私房写真福利视频| 久久久久成人精品免费播放动漫| 久久成人资源| 日韩视频一区二区三区| 欧美日韩一区二区三区四区五区| 欧美日韩成人综合在线一区二区| 在线视频国内自拍亚洲视频| 国产精品99久久久久久宅男| 性欧美xxxx大乳国产app| 亚洲乱码国产乱码精品精天堂| 欧美大片va欧美在线播放| 国产一区二区三区黄| 欧美电影打屁股sp| 久久人91精品久久久久久不卡| 久久久蜜桃精品| 欧美日韩国产首页在线观看| 羞羞视频在线观看欧美| 黄色一区三区| 亚洲精品一二三区| 国产精品一区二区女厕厕| 国产在线欧美| 影音先锋在线一区| 国产日韩专区在线| 9人人澡人人爽人人精品| 欧美 亚欧 日韩视频在线| 在线观看国产一区二区| 国产精品一卡| 亚洲国产美女精品久久久久∴| 精东粉嫩av免费一区二区三区| 国产精品综合色区在线观看| 欧美一区亚洲二区| 一区视频在线播放| 亚洲视频1区| 国产精品久久久久毛片软件| 午夜精品国产精品大乳美女| 欧美亚洲成人精品| 欧美成人精品激情在线观看| 免费国产一区二区| 国产精品国内视频| 久久久久综合| 欧美人妖另类| 久久精品日产第一区二区三区| 亚洲欧美999| 久久青草福利网站| 久久国产精品电影| 欧美另类一区二区三区| 国产精品久久网| 亚洲美女啪啪| 日韩一级精品| 国产精品女人网站| 午夜影视日本亚洲欧洲精品| 欧美亚韩一区| 欧美久久精品午夜青青大伊人| 蘑菇福利视频一区播放| 欧美jjzz| 久久精品综合网| 老色鬼久久亚洲一区二区| 好吊妞这里只有精品| 最新国产乱人伦偷精品免费网站| 欧美综合二区| 在线观看不卡| 久久字幕精品一区| 国产精品99久久久久久久久久久久| 日韩视频在线永久播放| 国产综合在线看| av不卡在线看| 校园春色综合网| 亚洲天堂激情| 女人天堂亚洲aⅴ在线观看| 亚洲欧美国内爽妇网| 欧美日韩第一页| 9久re热视频在线精品| 欧美日韩极品在线观看一区| 久久国产精品久久国产精品| 亚洲免费在线播放| 久久婷婷国产综合精品青草| 在线日韩av永久免费观看| 欧美在线1区| 欧美精品v日韩精品v韩国精品v| 欧美成人伊人久久综合网| 欧美成人情趣视频| 欧美日本二区| av成人免费观看| 日韩视频永久免费观看| 国产精品素人视频| 亚洲国产精品久久人人爱蜜臀| 欧美1区视频| 国产亚洲欧美一区二区| 亚洲激情午夜| 欧美成人在线免费视频| 亚洲在线第一页| 91久久在线| 亚洲主播在线播放| 国产在线观看精品一区二区三区| 国产精品免费一区豆花| 麻豆精品传媒视频| 欧美天天综合网| 一区二区三区视频在线观看| 国产午夜精品久久| 亚洲一区自拍| 国产精品久久久久久久久果冻传媒| 99热在线精品观看| 国产精品日日摸夜夜添夜夜av| 亚洲国产成人精品久久| 亚洲国产成人av| 女女同性女同一区二区三区91| 国产精品福利在线| 亚洲欧美一区二区原创| 欧美四级电影网站| 久久久www成人免费精品| 久久国产精品久久久久久久久久| 亚洲欧美精品在线观看| 亚洲欧美文学| 亚洲色无码播放| 亚洲东热激情| 久久国产乱子精品免费女| 激情久久一区| 久久成人亚洲| 激情成人在线视频| …久久精品99久久香蕉国产| 亚洲一区二区三区精品动漫| 精品不卡一区二区三区| 激情综合网激情| 99re66热这里只有精品4| 亚洲精品免费一二三区| 伊人一区二区三区久久精品| 欧美精品一线| 欧美一级欧美一级在线播放| 欧美日韩一区二区三区四区在线观看| 狠狠色狠狠色综合日日91app| 日韩视频免费观看高清在线视频| 欧美 日韩 国产一区二区在线视频| 国外精品视频| 欧美日韩黄色一区二区| 欧美日韩999| 欧美成人一二三| 国产精品丝袜xxxxxxx| 久久婷婷国产综合精品青草| 欧美精品福利在线| 亚洲激情国产精品| 国产一区91精品张津瑜| 精品成人在线视频| 亚洲激情中文1区| 亚洲午夜成aⅴ人片| 欧美日韩精品一区二区三区| 国产日韩精品在线| 亚洲欧美第一页| 中文国产亚洲喷潮| 国产一区二区毛片| 亚洲在线一区二区三区| 久久美女性网| 一区二区三区在线不卡| 欧美午夜欧美| 国产综合欧美在线看| 国产日韩亚洲欧美综合| 亚洲国产影院| 久久夜色精品国产欧美乱极品| 91久久极品少妇xxxxⅹ软件| 国产麻豆午夜三级精品| 亚洲国产欧美一区| 久久国内精品视频| 久久精品夜色噜噜亚洲a∨| 夜色激情一区二区| 欧美另类久久久品| 一区二区免费在线视频| 亚洲视频电影在线| 亚洲无限av看| 国产精品高清免费在线观看| 亚洲成人资源| 亚洲一区二区精品在线观看| 国产精品久久久久9999吃药| 亚洲美女毛片| 久久久一本精品99久久精品66| 免费不卡中文字幕视频| 蜜臀91精品一区二区三区| aaa亚洲精品一二三区| 欧美激情综合色综合啪啪| 国产综合18久久久久久| 激情成人综合| 亚洲精品极品| 久久嫩草精品久久久久| 亚洲精品一区二区在线| 亚洲国产精品小视频| 国产精品一二一区| 国产精品高精视频免费| 亚洲理论电影网| 一区二区三区精品视频| 激情欧美一区二区三区在线观看| 久久在线免费观看| 欧美电影专区| 久久久久久久综合| 久久久久88色偷偷免费| 亚洲尤物在线| 国产午夜亚洲精品不卡| 欧美日韩免费在线视频| 国产区欧美区日韩区| 亚洲精品欧美一区二区三区| 狠狠色综合日日| 欧美午夜欧美| 国产精品对白刺激久久久| 91久久精品国产91久久性色tv| 亚洲国产欧美不卡在线观看| 亚洲国产成人久久综合一区| 国产日韩三区| 亚洲精品国产日韩| 久久漫画官网| 一区二区三区国产盗摄| 免费中文字幕日韩欧美| 亚洲欧美日韩一区二区在线| 欧美精品亚洲一区二区在线播放| 91久久精品国产| 美女精品网站| 亚洲欧洲日本国产| 国产美女一区二区| 国产欧美激情| 日韩视频―中文字幕| 一区二区三区精品久久久| 欧美日韩中文字幕| 午夜精品福利一区二区蜜股av| 久久精品人人做人人爽电影蜜月| 国产精品免费网站| 欧美另类极品videosbest最新版本| 香港成人在线视频| 国产一区二区0| 亚洲精品自在在线观看| 欧美激情精品久久久久久免费印度| 欧美激情第1页| 亚洲一区日韩在线| 国产精品久久久久影院色老大| 欧美日韩激情小视频| 欧美日韩精品一区二区天天拍小说| 国产一区视频在线观看免费| 国产日韩欧美在线视频观看| 欧美一级专区免费大片| 亚洲精品综合在线| 亚洲国产精品久久精品怡红院| 欧美在线观看天堂一区二区三区| 欧美日韩一区二区欧美激情| 欧美a级片网| 欧美视频日韩视频在线观看|