<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPGA的數字秒表的設計

基于FPGA的數字秒表的設計

作者: 時(shí)間:2008-10-14 來(lái)源:現代電子技術(shù) 收藏

  應用VHDL語(yǔ)言設計數字系統,很多設計工作可以在計算機上完成,從而縮短了系統的開(kāi)發(fā)時(shí)間,提高了工作效率。本文介紹一種以為核心,以VHDL為開(kāi)發(fā)工具的數字秒表,并給出源程序和仿真結果。

本文引用地址:http://dyxdggzs.com/article/88675.htm

1 系統設計方案

1.1 系統總體框圖

  數字秒表主要有分頻器、計數模塊、功能控制模塊、勢能控制模塊和顯示輸出模塊組成。系統框圖如圖1所示。

 

  本次的設計仿真選用以EP1C6Q240芯片為核心的開(kāi)發(fā)板,該開(kāi)發(fā)板提供了較完善的外圍周邊電路和信號接口,并提供了一塊4位7段數碼管的擴展板,為本次設計提供了硬件條件。在設計中,功能控制模塊根據控制選擇不同的功能狀態(tài)的時(shí)間輸出,通過(guò)勢能控制模塊和顯示輸出模塊驅動(dòng)7段數碼管顯示相應的時(shí)間。

1.2 系統功能要求

(1)具有時(shí)鐘秒表系統功能要求顯示功能,用4個(gè)數碼管分別顯示秒和百分秒;

(2)具有3種功能狀態(tài):系統時(shí)間運行狀態(tài),系統時(shí)間至零狀態(tài),時(shí)鐘正常顯示狀態(tài),通過(guò)輸入控制信號可以使系統在這3個(gè)狀態(tài)之間切換,使數碼管顯示相應狀態(tài)的時(shí)間;

(3)開(kāi)啟時(shí)間設定、關(guān)閉時(shí)間設定可通過(guò)控制信號中的時(shí)間調節來(lái)設置,在秒設置方面每按一下,秒就會(huì )自動(dòng)加1,采用60進(jìn)制計數,當計數到59時(shí)又會(huì )恢復為00;百分秒設置方面每按一下,百分秒會(huì )自動(dòng)加1,采用100進(jìn)制計數,當計數到99時(shí),向上進(jìn)位并恢復00。系統時(shí)間可以同單獨的至零信號,將數碼管顯示時(shí)間直接恢復到00.00狀態(tài)。

2 模塊功能設計及仿真

2.1 分頻模塊

  開(kāi)發(fā)板提供的系統時(shí)鐘為50 MHz,通過(guò)分頻模塊3次分頻,將系統的時(shí)鐘信號分為100 Hz和1 000 Hz分別提供給計數模塊和勢能控制模塊作為時(shí)鐘控制信號。該模塊部分VHDL源程序如下:

 

2.2 計數模塊

  計數模塊中,時(shí)鐘信號是100 Hz作為秒表的百分秒輸入,百分秒為100進(jìn)制計數器,其進(jìn)位輸出作為秒的計數時(shí)鐘,秒為60進(jìn)制計數器??刂菩盘栞斎攵说腷egin-stop和reset信號控制計數器的開(kāi)始、停止和至零。該模塊部分VHDL源程序如下,方針結果如圖2所示:

 
 

2.3 勢能控制模塊

  本次設計選用的開(kāi)發(fā)板數碼管擴展板的數碼顯示采用的是4個(gè)數碼管動(dòng)態(tài)掃描輸出,一般只要每個(gè)掃描頻率超過(guò)人的眼睛視覺(jué)暫留頻率24 Hz以上就可以達到點(diǎn)亮單個(gè)顯示而不閃爍,掃描頻率采用1 kHz信號。通過(guò)勢能控制,每個(gè)數碼管的顯示頻率為250 Hz,滿(mǎn)足顯示要求。該模塊部分VHDL源程序如下:

 

2.4 顯示控制模塊

  本次設計選用的開(kāi)發(fā)板在4位數碼管輸入方面只提供1個(gè)數據接口,用來(lái)動(dòng)態(tài)顯示4位數據,在數據輸入信號方面要做到和勢能控制信號同頻率輸出,才能保證數碼顯示不會(huì )出錯或顯示移位。該模塊部分VHDL源程序如下:

 

  同時(shí)通過(guò)控制信號示系統處在不同的功能狀態(tài):系統時(shí)間運行狀態(tài),系統時(shí)間至零狀態(tài),時(shí)鐘正常顯示狀態(tài)。利用功能轉換信號實(shí)現3個(gè)功能狀態(tài)之間的轉換,并產(chǎn)生相應的控制信號去控制顯示輸出模塊不同狀態(tài)的正確顯示。其部分源程序如下:

 

3 系統部分功能仿真

  各部分模塊完成后,用QuartusⅡ對程序編譯、仿真、得到的仿真波形如圖3所示。

 

  本系統采用的芯片為Altera公司的EP1C6Q240,用VHDL和QuartusⅡ軟件工具開(kāi)發(fā),設計輸入完成后,進(jìn)行整體的編譯和邏輯仿真,然后進(jìn)行轉換、延時(shí)仿真生成配置文件,最后下載至FPGA器件,完成結果功能配置,實(shí)現其硬件功能。

4 結 語(yǔ)

  該系統運用先進(jìn)的EDA軟件和VHDL,采用模塊法自頂向下的設計原則,并借助FPGA實(shí)現數字秒表的設計,充分體現了現代數字電路設計系統芯片化,芯片化設計的思想突破了傳統電子系統的設計模式,使系統開(kāi)發(fā)速度快、成本低、系統性能大幅度地提升。

分頻器相關(guān)文章:分頻器原理


關(guān)鍵詞: FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>