版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于FPGA的數(shù)字鐘設計(VHDL語言實現(xiàn))本設計為一個多功能的數(shù)字鐘,具有年、月、日、時、分、秒計數(shù)顯示功能,以24小時循環(huán)計數(shù);具有校對功能以及整點報時功能。本設計采用EDA技術,以硬件描述語言VHDL為系統(tǒng)邏輯描述手段設計文件,在MaxplusII工具軟件環(huán)境下,采用自頂向下的設計方法,由各個基本模塊共同構建了一個基于FPGA的數(shù)字鐘。系統(tǒng)主芯片采用EP1K100QC208-3,由時鐘模塊、控制模塊、計時模塊、數(shù)據(jù)譯碼模塊、顯示以及報時模塊組成。經編譯和仿真所設計的Ⅱ分、秒的分別顯示,由按鍵輸入進行數(shù)字鐘的校時、清零、啟停功能。關鍵詞數(shù)字鐘;硬件描述語言;VHDL;FPGA;鍵盤接口hours,minutesandsecprooffunctionsandthewholepointtimekeTheuseofEDAdesigntMaxpluslItoolsenvironment,atop-downdesign,bythevaribroadcastmodule.Aftercompilingthedes目錄1緒論 3 21.1.1課題相關技術的發(fā)展 21.1.2課題研究的必要性 1.2課題研究的內容 32FPGA簡介 4 2.2FPGA基本結構 5Ⅱ2.3FPGA系統(tǒng)設計流程 72.4FPGA開發(fā)編程原理 93數(shù)字鐘總體設計方案 3.2數(shù)字鐘的工作原理 4單元電路設計 4.1分頻模塊電路設計與實現(xiàn) 4.2校時控制模塊電路設計與實現(xiàn) 4.2.1鍵盤接口電路原理 4.3計數(shù)模塊設計與實現(xiàn) 4.3.1秒計數(shù)模塊 4.3.2日計數(shù)模塊 4.3.3月計數(shù)和年計數(shù)模塊 4.4動態(tài)掃描及顯示電路設計與實現(xiàn) 4.4.1動態(tài)掃描模塊 4.4.2顯示模塊 5實驗結論與研究展望 5.1實驗結論 5.2研究展望 致謝 基于FPGA的數(shù)字鐘設計現(xiàn)代社會的標志之一就是信息產品的廣泛使用,而且是產品的性能越來越強,復雜程度越來越高,更新步伐越來越快。支撐信息電子產品高速發(fā)展的基礎就是微電子制造工藝水平的提高和電子產品設計開發(fā)技術的發(fā)展。前者以微細加工技術為代表,而后者的代表就是電子設計自動化(electronicdesignautomatic,EDA)技術。2本設計采用的VHDL是一種全方位的硬件描述語言,具有極強的描述能力,能支持系統(tǒng)行為級、寄存器傳輸級和邏輯門級三個不同層次的設計;支持結構、數(shù)據(jù)流、行為三種描述形式的混合描述、覆蓋面廣、路,是一種帶有邏輯處理的加速處理器。而FPGA是特殊的ASIC芯片,與其他的ASIC芯片相比,它具有設計開發(fā)在控制系統(tǒng)中,鍵盤是常用的人機交換接口,當所設置的功能鍵或數(shù)字鍵按下的時候,系統(tǒng)應該完成該鍵所設置的功能。因此,鍵信息輸入是與軟件結構密切相關的過程。根據(jù)鍵盤的結構不同,采用不同的編碼方法。但無論有無編碼以及采用什么樣的編碼,最后都要轉換成為相應的鍵值,以實現(xiàn)按鍵功能程序的轉移。鐘表的數(shù)字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、定時啟閉電路、定時開關烘箱、通斷動力設備,甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究數(shù)字鐘及擴大其應用,有著非常本節(jié)將從FPGA嵌入式應用開發(fā)技術與數(shù)字鐘技術發(fā)展的客觀實際出發(fā),通過對該技術發(fā)展狀況的了解,以及課題本身的需要,指出研究基于FPGA的芯片系統(tǒng)與設計——數(shù)字鐘的設計與實現(xiàn)的必要性。當今電子產品正向功能多元化,體積最小化,功耗最低化的方向發(fā)展。它與傳統(tǒng)的電子產品在設計上的顯著區(qū)別師大量使用大規(guī)??删幊绦g正是為了適應現(xiàn)代電子技術的要求,吸收眾多學科最新科技成果而形美國ALTERA公司的可編程邏輯器件采用全新的結構和先進的技3術,加上MaxplusII(或最新的QUARTUS)開發(fā)環(huán)境,更具有高性能,開發(fā)周期短等特點,十分方便進行電子產品的開發(fā)和設計。語言為系統(tǒng)邏輯描述主要表達方式,以計算機、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設計工具,通過有關的開發(fā)軟件,自動完成用軟件的方式設計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯,邏輯化簡,邏輯分割,邏輯映射,編程下載等工作。最終形成集成電子系統(tǒng)或專用集本設計利用VHDL硬件描述語言結合可編程邏輯器件進行的,并通過數(shù)碼管動態(tài)顯示計時結果。數(shù)字鐘可以由各種技術實現(xiàn),如單片機等.利用可編程邏輯器件具有其他方式沒有的特點,它具有易學,方便,新穎,有趣,直觀,設計與實驗項目成功率高,理論與實踐結合緊密,體積小,容量大,I/O口豐富,易編程和加密等特點,并且它還具有開放的界面,豐富的設計庫,模塊化的工具以及LPM定制等優(yōu)良性能,應用非常方便。因此,本設計采用可編程邏輯器件實現(xiàn)。現(xiàn)在是一個知識爆炸的新時代。新產品、新技術層出不窮,電子技電子技術正在不斷地改變我們的生活,改變著我們的世界。在這快速發(fā)展的年代,時間對人們來說是越來越寶貴,在快節(jié)奏的生活時,人們往往忘記了時間,一旦遇到重要的事情而忘記了時間,這將會帶來很大的損失。因此我們需要一個定時系統(tǒng)來提醒這些忙碌的人。數(shù)字化的鐘表給人們帶來了極大的方便。近些年,隨著科技的發(fā)展和社會的進步,人們對數(shù)字鐘的要求也越來越高,傳統(tǒng)的時鐘已不能滿足人們的需求。多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質的變化,有電子鬧鐘、本設計主要研究基于FPGA的數(shù)字鐘,要求時間以24小時為一個4月、日、時、分及秒進行單獨校對,使其校正到標準時間。校對時間由4×4矩形鍵盤進行控制,為了保證計時的穩(wěn)定及準確須由晶體振蕩器提本設計小組成員共有三人:其他兩人分別采用原理圖設計和VerilogFPGA是現(xiàn)場可編程門陣列(FieldProgrammableGateArray)的簡稱,與之相應的CPLD是復雜可編程邏輯器件(ComplexProgrammableLogicDevice)的簡稱,兩者的功能基本相同,只是實現(xiàn)原理略有不同,所以有時可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程邏輯器件或CPLD/PGFA。CPLD/PGFA幾乎能完成任何數(shù)字器件的功能,上至高性5能CPU,下至簡單的74電路。它如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入或硬件描述語言自由的設計一個數(shù)字系統(tǒng)。通過軟件仿真可以事先驗證設計的正確性,在PCB完成以后,利用CPLD/FPGA的在線修改功能,隨時修改設計而不必改動硬件電路。使用CPLA/FPGA開發(fā)數(shù)字電路,可以大大縮短設計時間,減少PCB面積,提高系統(tǒng)的可靠性。這些優(yōu)點使得CPLA/FPGA技術在20世紀90年代以后得到飛速的發(fā)展,同時也大大推動了EDA軟件和硬件描述語言HDL的2.2FPGA基本結構FPGA具有掩膜可編程門陣列的通用結構,它由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊來實現(xiàn)不同的設計。FPGA一般由3種可編程電路和一個用于存放編程數(shù)據(jù)的靜態(tài)存儲LogicBlock)、輸入/輸出模塊(IOB--I/OBlock)和互連資源 (IR—InterconnectResource)??删幊踢壿嬆KCLB是實現(xiàn)邏輯功能的基本單元,它們通常規(guī)則的排列成一個陣列,散布于整個芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括各種長度的連接線段和一1.CLB是FPGA的主要組成部分。圖2-1是CLB基本結構框圖,它主要由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLB中3個邏輯函數(shù)發(fā)生器分別是G、F和H,相應的輸出是G'、F'和H'。G有4個輸函數(shù)發(fā)生器是完全獨立的,均可以實現(xiàn)4輸入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個輸入信號;前兩個是函數(shù)發(fā)生器的輸出G'和F',而另一個輸入信號是來自信號變換電路的輸出H1。這個函數(shù)發(fā)生器能實現(xiàn)3輸入變量的各種組合函數(shù)。這3個函數(shù)發(fā)生器結合起來,可實現(xiàn)多達CLB中有許多不同規(guī)格的數(shù)據(jù)選擇器(四選一、二選一等),通過6對CLB內部數(shù)據(jù)選擇器的編程,邏輯函數(shù)發(fā)生器G、F和H的輸出可以連接到CLB輸出端X或Y,并用來選擇觸發(fā)器的激勵輸入信號、時鐘有效邊沿、時鐘使能信號以及輸出信號。這些數(shù)據(jù)選擇器的地址控制信號均由編程信息提供,從而實現(xiàn)所需的電路結構。CLB中的邏輯函數(shù)發(fā)生器F和G均為查找表結構,其工作原理類似于ROM。F和G的輸入等效于ROM的地址碼,通過查找ROM中的地址表可當IOB控制的引腳被定義為輸入時,通過該引腳的輸入信號先送入輸入緩沖器。緩沖器的輸出分成兩路:一路可以直接送到MUX,另一路經延可編程開關矩輸入輸出模塊可編程開關矩輸入輸出模塊互連資源口口口口□口口口7時幾納秒(或者不延時)送到輸入通路D觸發(fā)器,再送到數(shù)據(jù)選擇器。通過編程給數(shù)據(jù)選擇器不同的控制信息,確定送至CLB陣列的I1和I2是來自輸入緩沖器,還是來自觸發(fā)器。或截止,分別經上拉電阻接通Vcc、地線或者不接通,用以改善輸出波形和負載能力。3.可編程互連資源IR??删幊袒ミB資源IR可以將FPGA內部的CLB布線實現(xiàn)各種電路的連接。2.3FPGA系統(tǒng)設計流程細分去具體實現(xiàn),這就是TOPDOWN(自頂向下)的設計方法。目前這8VHDL代碼或圖形方式輸入②綜合器⑤適配前時序仿真⑥適配器⑦CPLD/FPGA實現(xiàn)仿真綜合庫ASIC實現(xiàn)2.輸入VHDL代碼,這是設計中最為普遍的輸入方式。此外,還可以采用圖形輸入方式(框圖、狀態(tài)圖等),這種輸入方式具有直觀、容易理解的優(yōu)點。4.進行代碼級的功能仿真,主要是檢驗系統(tǒng)功能設計的正確性。這一步驟適用于大型設計,因為對于大型設計來說,在綜合前對源代碼仿真,就可以大大減少設計重復的次數(shù)和時間。一般情況下,這一仿真步驟可略去。95.利用綜合器對VHDL源代碼進行綜合優(yōu)化處理,生成門級描述的網絡表文件,這是將高層次描述轉化為硬件電路的關鍵步驟。綜合優(yōu)化6.利用產生的網絡表文件進行適配前的時序仿真,仿真過程不涉及7.利用適配器將綜合后的網絡表文件針對某一具體的目標器件進行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。8.在適配完成后,產生多項設計結果:(a)適配報告,包括芯片內部資源利用情況,設計的布爾方程描述情況等;(b)適配后的仿真模型;(c)器件編程文件。根據(jù)適配后的仿真模型,可以進行適配后時序仿真,因為已經得到器件的實際硬件特性(如時延特性),所以仿真結果能比較精確的預期未來芯片的實際性能。如果仿真結果達不到設計要求,就修改VHDL源代碼或選擇不同速度和品質的器件,直至滿足設計要求。最后將適配器產生的器件編程文件通過編程器或下載電纜載入到硬件設計需要根據(jù)各種性能指標、成本、開發(fā)周期等因素,確定最佳的實現(xiàn)方案,畫出系統(tǒng)框圖,選擇芯片,設計PCB并最終形成樣機。言主要有VHDL和Verilog兩種硬件描述語言;編程工具主要是兩大廠家Altera和Xilinx的集成綜合EDA軟件(如MAX+plusII、QuartusII、計,但它不容易做到較高的工作速度和芯片利用率。用這種方式描述的項目最后所能達到的性能與設計人員的水平、經驗以及綜合軟件有很大的關系。2.圖形方式??梢苑譃殡娐吩韴D描述,狀態(tài)機描述和波形描述3形輸入方式只支持電路原理圖描述和波形描述兩種。電路原理圖方式描述比較直觀和高效,對綜合軟件的要求不高。一般大都使用成熟的IP核和中小規(guī)模集成電路所搭成的現(xiàn)成電路,整體放到一片可編程邏輯器件的內部去,所以硬件工作速度和芯片利用率很高,但是但項目很大的時候,該方法就顯得有些繁瑣;狀態(tài)機描述主要用來設計基于狀態(tài)機思想的時序電路。在圖形的方式下定義好各個工作狀態(tài),然后在各個狀態(tài)上輸入轉換條件以及相應的輸入輸出,最后生成HDL語言描述,送去綜合軟件綜合到可編程邏輯器件的內部。由于狀態(tài)機到HDL語言有一種標準的對應描述方式,所以這種輸入方式最后所能達到的工作速度和芯片利用率主要取決于綜合軟件;波形描述方式是基于真值表的一種圖形輸入方式,直接描述輸入與輸出的波形關系。這種輸入方式最后所能達到的工作速度和芯片利用率也是主要取決于綜合軟件。數(shù)字鐘實際上是一個對標準頻率(1HZ)進行計數(shù)的計數(shù)電路。由于計數(shù)的起始時間不可能與標準時間(如北京時間)一致,故需要在電路上加一個校時電路,同時標準的1HZ時間信號必須做到準確穩(wěn)定。通常使用石英晶體振蕩器電路構成數(shù)字鐘。圖3-1所示為數(shù)字鐘的一般構成框圖。主要包括時間基準電路、計數(shù)器電路、控制電路、譯碼和顯示電路。其中的控制邏輯電路是比較靈活多樣的,不斷完善它可以增強數(shù)字鐘的功能。譯碼驅動時十位計數(shù)譯碼驅動時個位計數(shù)譯碼驅動分十位計數(shù)校時控制電路晶體振蕩器電路分頻器電路譯碼驅動分個位計數(shù)譯碼驅動秒十位計數(shù)譯碼驅動秒個位計數(shù)校分控制電路分頻器電路本設計在上面數(shù)字鐘結構的基礎上還加入了顯示年、月、日的功能,其顯示范圍為2000年1月1日至2099年12月31日。其總體框架如圖3-2。圖3-2總體框架振蕩器產生穩(wěn)定的高頻脈沖信號,作為數(shù)字鐘的時間基準,然后經過分頻器輸出標準秒脈沖。秒計數(shù)器滿60后向分計數(shù)器進位,分計數(shù)器滿60后向小時計數(shù)器進位,小時計數(shù)器按照“24翻1”規(guī)律計數(shù)。計滿后各計數(shù)器清零,重新計數(shù)。日期部分由于日有28天、29天、30天、31天4種情況,故日由年和月共同判斷其天數(shù),日計滿后向月進位,月滿后向年進位。計數(shù)器的輸出分別經譯碼器送數(shù)碼管顯示。計時出現(xiàn)誤差時,可以用校時電路校時、校分、校秒和校年、校月和校日。在控制信號中除了一般的校時信號外,還有時鐘使能信號、時鐘清零信號??刂乒д耦l率為1MHz,經過6次十分頻就可以得到秒脈沖信號。譯碼顯示電路由七段譯碼器完成,顯示由數(shù)碼管構成。4.1分頻模塊電路設計與實現(xiàn)如圖4-1。石英晶體振蕩電路分頻電路秒信號圖4-1秒信號產生電路框圖本系統(tǒng)使用的晶體振蕩器電路給數(shù)字鐘提供一個頻率穩(wěn)定準確的40MHz的方波信號,其輸出至分頻電路。分頻電路的邏輯框圖如圖4-2所示。圖4-2分頻電路模塊Ad其內部結構圖見圖4-3。電路中采用Max+plusII元器件庫中的計數(shù)器7490進行硬件分頻。經分頻后輸出1HZ的標準秒信號CLK1、4MHZ的按鍵掃描信號、1KHZ的按鍵去抖信號和500HZ用于報時模塊的輸入信號。該模塊的時序仿真圖如圖4-4所示,滿足設計要求。100011000校時控制模塊在本系統(tǒng)中也就是鍵盤接口電路部分。下面先介紹鍵盤接口電路的工作原理,如圖4-5。本系統(tǒng)采用的就是這種行列式鍵盤接口,相對個按鍵的鍵盤接口來說節(jié)省了I/O接口。如圖所示,行線通過一個電阻被上拉到+5V電壓。行線與按鍵的一個引腳相連,列線與按行線保持高電平,而有按鍵被按下的時候,行線被拉成低電平,這時候控制器就知道有按鍵被按下,但只能判斷出在哪一行,不能判斷出在哪一列,因此接下來就要進行鍵盤掃描,以確定具體是哪個按鍵被按下。鍵盤掃描的過程事將列線逐列置成低電平,然后讀取行線狀態(tài),直到行線中出現(xiàn)低電平,可知這時哪一列是低電平,然后將行線與列線的狀態(tài)裝入鍵碼寄存器,進行按鍵譯碼,得到按下的按鍵的相應編碼,這樣就完成了按鍵掃描的過程。當然,一個完整的按鍵掃描過程還需要配合相應的鍵盤去抖手段才能正確的識別按鍵,不會發(fā)生重鍵和錯誤判斷等情m圖4-5鍵盤接口電路4.2.2鍵盤接口的VHDL描述1.按鍵消抖本模塊用于當有按鍵按下時,采用軟件消抖的辦法去除按鍵抖動。模塊的實現(xiàn)方法是先判斷是否有按鍵按下,如有按鍵按下則延時一段時間,待抖動過去之后再讀行線狀態(tài),如果仍有低電平行線,則確定有按塊的邏輯框圖如圖4-6所示。architecturebehavofqudouis程序說明:這段程序是實現(xiàn)按鍵消抖,在這里實現(xiàn)的比較簡單,原理是當有按鍵按下的時候,temp1會變成低電平,這時把sig2變成高電平,如果此時counter不為"1111"時,內部計數(shù)器計數(shù),從“0000”直到“1111",當計數(shù)到“1111”時,key_pre輸出高電平,同時計數(shù)器清零。由于計數(shù)脈沖為1KHZ,故從有按鍵按下到輸入信號產生大概需要15ms。計數(shù)過程不會停止,原因是計數(shù)由sig2的電平決定,而sig2一旦變成高電平,再要變成低電平,需要計數(shù)完成即counter等于"1111"時。所以計數(shù)過程不會受抖動影響。一旦計數(shù)完成,抖動已經過去,不會發(fā)鍵掃描模塊的框圖如圖4-7所示。3CLKY為輸入時鐘,該時鐘是分頻模塊分出的4MHZ的時鐘信號,之所以在這里采用頻率高的時鐘信號就是因為鍵掃描是一個快過程,不需要太慢的時鐘。Key_pre是由去抖模塊輸出的有鍵按下的信號,這個信號引發(fā)按鍵掃描模塊內部信號的變化,在該狀態(tài)信號的作用下,模塊可以鍵盤掃描。ROW[3..0]是行輸入信號,與鍵盤的行線相連,COM[3..0]是列輸出信號,與鍵盤的列線相連。鍵掃描的基本方法是將列線逐一置成低電平,然后讀行線輸入端口,如果行線中有低電平出現(xiàn),說明按鍵已經確定,將行向量和列向量讀入鍵碼中即可。鍵盤掃描程序如下:useieee.std_logic_arith.all;architecturebehavofajsmistmp<=row(0)androw(1)androw(2)androw(3);if(clky'eventandclky='1')then--計數(shù)進程jt:=sig_com(3);--列線逐位輸出低電平--鍵碼信號賦值程序說明:該程序較長,用個4個進程,這里逐一介紹。r第二個進程是根據(jù)狀態(tài)變量的狀態(tài)進行列線的低電平的逐位輸出。如果sig1等于1,那么sigcom就進行循環(huán)移位,每個鐘周期循環(huán)左移第三個進程決定列線的輸出,平時輸出“0000”,當sig1為1時,輸出sig_com。最后一個進程就是給鍵碼信號賦值的過程。該模塊框圖如圖4-8所示。模塊主要完成從鍵掃描碼到按鍵編碼的CLKYKEY_coDE[3..o]鍵碼轉換的核心程序如下:entityjmzhisendjmzh;architecturebehavofjmzhis_when"11101101"=>key_code<="0001";when"11101011"=>key_code<="0010";when"11100111"=>key_code<="0011";when"11011110"=>key_code<="0100";when"11011101"=>key_code<="0101";when"01111110"=>key_code<="1100";when"01111011"=whenothers=>key_code<="1111";程序中采用case語句進行按鍵編碼,也可以用elsif語句實現(xiàn)此段程序設計。完整的鍵盤程序應加上剛開始介紹的分頻模塊,鍵盤接口電路總的邏輯連接框圖如圖4-9所示。概4.3.1秒計數(shù)模塊秒計數(shù)模塊邏輯框圖如圖4-10所示。輸入端口ENL是秒時鐘使能信號,也是整個數(shù)字中的使能信號,和MDEC是同步校時控制信號,MADD是控制秒信號加一,MDEC是端口是進位輸出端口,當秒計數(shù)到59時輸出高電平,其它時候輸出低useieee.std_logic_unsigned.all;port(enl,res,clk,madd,mdec:instd_loifres='l'thenm0:="0000";elsifclk'eventandclk='1'thenifmadd='1'orenl='1'thenifm0="1000"andml="0101"thenca<='I';--實際是第59個--脈沖ifm0<"1001"thenm0:=m0+1;ifml>"0101"thenm0:="0000";elsifmdec='1'thenifm0="0000"andml="0000"thenm0:="1001";elsifm0>"0000"thenm0:=m0-1;秒時鐘的仿真波形圖如圖4-11所示,仿真圖滿足設計的要求。分計數(shù)和時計數(shù)模塊的設計原理與秒模塊的類似。-一用口0即趣4.3.2日計數(shù)模塊由于一年中各個月份的日的長短不同,共有28、29、30和31天四種情況,可知日由年和月共同決定,如表4-1。年中0表示閏年,1表示平年;月中0表示1、2、3、5、7、8、10和12月,1表示其它月份;二月中1表示2月,0表示其它月份。年月二月日000100010110001101011一111日計數(shù)模塊的邏輯框圖如圖4-12所示輸入引腳SEL[2..0]是決定日長短的輸入信號,其它信號功能與秒計數(shù)模塊功能類似。日計數(shù)模塊的核心程序如下:port(enl,res,clk,radd,rdec:instd_logic;variabler0,r1:std_logic_vectifres='l'thenr0:="0000";r1:="0000";elsifclk'eventandclk='1'thenifradd='1'orenl='1'thenifrO=sr0andrl=sr1thenr0:="0001";elsifr0<"1001"thenr0:=r0+1;elsifrdec='1'thenifrO="0001"andrl="0000"thenr0:=sr0;elsifrO>"0000"thenr0:=r0-1;程序中第一個進程主要是對日的長短的設置,sr0和sr1分別是日的減控制。日計數(shù)模塊的時序仿真圖如圖4-13所示,仿真圖滿足設計的00B0nl們的圖4-13日計數(shù)仿真時序圖1.月計數(shù)模塊邏輯框圖如圖4-14所示。輸出ERYUE端口接日模塊的sel[2],YSEL端口接sel[1]。其VHDL圖4-14月計數(shù)邏輯框圖其仿真時序圖如圖4-15所示。仿真圖中有毛刺出現(xiàn),但并不會對本模塊的計數(shù)產生影響,滿足本設計的需要。圖4-15月模塊仿真時序圖2.年計數(shù)模塊的邏輯框圖如圖4-16所示。年計數(shù)模塊的輸出NSEL端口接日模塊的sel[0]。其它端口的功能與上述模塊類似。其VHDL描述見附錄。NIANDD[3.0]圖4-16年計數(shù)邏輯框圖年模塊的計數(shù)范圍是從2000到2099,在這之間的閏年見表4-2。由于年份都帶有20,所以省略,用年份數(shù)來表示。將表4-2中的年份用二進制表示即可得到以下規(guī)律:當年個位的后2位為“00”且十位的最后一位為“0”,或者年的個位的后2位為“10”且年十位的最后一位為"1"的時候,該年為閏年,否則為平年。表4-2閏年表其仿真時序圖如圖4-17所示,滿足設計的要求。2021100004.4動態(tài)掃描及顯示電路設計與實現(xiàn)動態(tài)掃描電路將計數(shù)器輸出的8421BCD碼轉換為數(shù)碼管需要的邏輯狀態(tài),并且輸出數(shù)碼管的片選信號和位選信號。所謂動態(tài)掃描顯示方式是在顯示某一位LED顯示塊的數(shù)據(jù)的時候,讓其它位不顯示,然后在顯示下一位的數(shù)據(jù),同時關閉其他顯示塊。這樣做可以使每一個顯示塊顯示與自己相對應的數(shù)據(jù)。只要保證每一位顯示的時間間隔不要太大,利用人眼的視覺暫留的現(xiàn)象,就可以造成各位數(shù)據(jù)同時顯示的假象。一般每一位的顯示時間為1~10ms。動態(tài)掃描邏輯框圖如圖4-18所示。該模塊的輸入端口DISCLK是頻率為500HZ的掃描時鐘,故每一位顯示的時間為2ms,需要掃描10個數(shù)碼管,故顯示間隔為20ms。由分頻模塊提供;端口CONV顯示轉換信號,當其為高電平時,數(shù)碼管顯示時、分和秒。當其為低電平時顯示年、月和日;其它輸入端口接計數(shù)模塊輸出的數(shù)據(jù);輸出端口DATAOUT[3..0]動態(tài)輸出掃描的數(shù)據(jù);端口WSEL[3..0]輸出數(shù)碼管的片選信號。其VHDL程序描述見附錄。N2[3..0]N3[3.o]本系統(tǒng)選擇7448作為顯示譯碼電路,選擇數(shù)碼管作為顯示單元電路。計數(shù)器實現(xiàn)了對時間的累計并以8421BCD碼的形式輸送到動態(tài)掃描模塊,再由其輸出的端送到7448,將BCD碼轉換為七段碼,再由數(shù)碼管顯示出來。數(shù)碼管位選連接電路4-19所示。由于所用到的數(shù)碼管為兩組,故位選電路用到兩片7448模塊。將設計程序下載到實驗箱上運行調試后,最終結果與預期效果基本一致,年、月、日和時、分、秒能夠正常計數(shù)并能由控制鍵分別顯示,在此次的數(shù)字鐘設計過程中,更進一步地熟悉有關數(shù)字電路的知識硬件描述語言VHDL的編寫,程序的仿真等工作。并能根據(jù)仿真結果分析設計的存在的問題和缺陷,從而進行程序的調試和完善。在設計電路中,往往是先仿真后連接實物圖,但有時候仿真和電路連接并不是完全一致的,例如在對具體模塊的仿真的過程中,往往沒有考慮到整體設計的層面以及與上下模塊接口的設計。再加上器件對信號的延時等問題,實際下載到實驗箱上后會出現(xiàn)一系列的問題,因此仿真圖和電路連接圖還是有一定區(qū)別的。此次的數(shù)字鐘設計重在于按鍵的控制和各個模塊代碼的編寫,雖然能把鍵盤接口和各個模塊的代碼編寫出來,并能正常顯示,但對于各個模塊的優(yōu)化設計還有一定的缺陷和不足??偟膩碚f,通過這次的設計實驗更進一步地增強了實驗的動手能力,對數(shù)字鐘的工作原理也有了更加透徹的理解。在本設計調試過程中遇到了一些問題如下:經分析得知程序中的總的清零信號保持有效狀態(tài),改動程序后計數(shù)器開2.當秒時鐘計數(shù)到59時變0時,分計數(shù)模塊滯后計數(shù),考慮的器件的延時,將程序中秒的進位信號提前1秒。3.利用控制按鍵給月模塊加計數(shù)時,發(fā)現(xiàn)的月加到12時,年則在沒有按鍵按下的情況下一直加計數(shù)。檢查程序后得知,月的進位信號在月為12后變一直有效,其它模塊也存在這種情況,改動程序后各個模塊4.在檢測按鍵時,由于有些按鍵控制是秒時鐘同步的,所以控制起來顯得梢慢些,但是工作正常,能滿足實際的需要。本設計中雖然有控制鍵對時鐘進行控制,但是用到的按鍵太多,在實際應用上存在不足。故提出改進方案為用一個按鍵控制數(shù)碼管的片選,再用兩個按鍵控制計數(shù)的加減。這樣可以節(jié)省按鍵資源,以供更多本設計是采用硬件描述語言和FPGA芯片相結合進行的數(shù)字鐘的研究,從中可以看出EDA技術的發(fā)展在一定程度上實現(xiàn)了硬件設計的軟件化。設計的過程變的相對簡單,容易修改等優(yōu)點,相信隨著電子技術的發(fā)展,數(shù)字鐘的功能會更加多樣化,滿足人們的各種需要。在論文完成之際,我首先要向指導老師和志強和章瑞平老師表示最真摯的謝意。和志強和張瑞平老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都使我受益匪淺。無論在理論上還是在實踐中,都給與我很大的幫助。在理論上,老師耐心講解電路原理圖的繪制,以及元器件的性能;在實際操作中,從系統(tǒng)的設計到最終系統(tǒng)的調試,老師都給予了諸多幫助,使我得到不少的提高,這是在這次設計中我所得到的最寶貴的財富。對于我以后的工作和學習都是一種巨大的幫助,感謝他耐心的輔導。在這次畢業(yè)設計中,我的專業(yè)知識水平也取得一定的進步。而這些進步都離不開老師和同學的幫助。在此我向曾經幫助和關心我的老師和同學致以誠摯的感謝。由于本人學識有限,加之時間倉促,文中不免有錯誤和待改進之處,真誠歡迎各位師長、同學提出寶貴意見。附錄1.月計數(shù)模塊的程序:useieee.std_logic_unsigned.all;port(enl,res,clk,yadd,ydec:instd_logic;variabley0,y1:std_logic_vector(3downto0);ifyadd='I'orenl='1'thenelsify0<"1001"theny0:=y0+1;elsifydec='1'thenifyO="0001"andyl="0000"theny0:="0010";elsifyO>"0000"theny0:=y0-1;if((y0="0100"oryO="0110"ory0="1001")andyl="0000")or(yO="0000"ifyO="0010"andyl="0000"theneryue<='1';2.年計數(shù)模塊的程序:useieee.std_logic_arith.all;port(enl,res,clk,nadd,ndec:instd_logic;architecturendofniandisifres='1'thenn0:="0000";n2:="0000";elsifclk'eventandcl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度農村住房建設環(huán)境保護驗收合同
- 二零二五年度辦公室租賃合同模板:含企業(yè)內部溝通協(xié)作平臺搭建3篇
- 二零二五年度房地產公司合并發(fā)展合同3篇
- 2025年度公司銷售業(yè)務員協(xié)議書:區(qū)塊鏈技術支持的交易服務合同3篇
- 農村自建房安全風險評估與應急預案編制合同(2025年度)
- 2025年度關于退租協(xié)議書及物業(yè)設施損壞賠償合同3篇
- 二零二五年度房地產租賃市場風險評估合同關于房屋出租3篇
- 二零二五年度定制木門設計與制造環(huán)保認證服務合同3篇
- 2025年度電影與智能家居產品融合開發(fā)合同3篇
- 二零二五年度幼兒園綠化與環(huán)境美化承包合同3篇
- 護理不良事件分析 課件
- 巨量引擎合同范本
- 糖尿病患者健康管理測試試題(三套題-有答案)
- 《住院患者身體約束的護理》團體標準解讀課件
- 市場營銷原理與實務學習通超星期末考試答案章節(jié)答案2024年
- 英語四級語法備戰(zhàn) 不定式大總結
- 大學美育(同濟大學版)學習通超星期末考試答案章節(jié)答案2024年
- 二年級上冊加減乘除口算題及豎式計算
- 辦公室改造裝修項目投標方案(技術方案)
- 國家安全教育學習通超星期末考試答案章節(jié)答案2024年
- 精益生產篇(培訓資料)
評論
0/150
提交評論