【基于fpga數(shù)字鐘系統(tǒng)設(shè)計(jì)9100字(論文)】_第1頁(yè)
【基于fpga數(shù)字鐘系統(tǒng)設(shè)計(jì)9100字(論文)】_第2頁(yè)
【基于fpga數(shù)字鐘系統(tǒng)設(shè)計(jì)9100字(論文)】_第3頁(yè)
【基于fpga數(shù)字鐘系統(tǒng)設(shè)計(jì)9100字(論文)】_第4頁(yè)
【基于fpga數(shù)字鐘系統(tǒng)設(shè)計(jì)9100字(論文)】_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGE24 基于fpga數(shù)字鐘系統(tǒng)設(shè)計(jì)目錄引言 2第一章FPGA簡(jiǎn)介 31.1FPGA概述 31.2FPGA基本結(jié)構(gòu) 31.3FPGA系統(tǒng)設(shè)計(jì)流程 52.1CPLD/FPGA概述及VHDL語言的特點(diǎn) 71、CPLD/FPGA概述 72.2可編程邏輯器件的分類和發(fā)展歷程 92.3EPF10K10LC84-4芯片簡(jiǎn)介 112.4電子時(shí)鐘的設(shè)計(jì)方案 11第三章系統(tǒng)電路設(shè)計(jì) 133.1總體設(shè)計(jì) 133.2顯示電路設(shè)計(jì) 143.2.1分頻器電路 163.2.2掃描電路電路 173.2.3BCD碼多路選擇器 183.3電子時(shí)鐘計(jì)數(shù)器電路設(shè)計(jì) 183.3.1秒和分計(jì)數(shù)器設(shè)計(jì) 183.3.2小時(shí)計(jì)數(shù)器設(shè)計(jì) 20結(jié)論 24參考文獻(xiàn) 26附錄 28引言當(dāng)今電子產(chǎn)品正向功能多元化,體積最小化,功耗最低化的方向發(fā)展。它與傳統(tǒng)的電子產(chǎn)品在設(shè)計(jì)上的顯著區(qū)別于大量使用大規(guī)??删幊踢壿嬈骷?,使產(chǎn)品的性能提高,體積縮小,功耗降低。同時(shí)廣泛運(yùn)用現(xiàn)代計(jì)算機(jī)技術(shù),提高產(chǎn)品的自動(dòng)化程度和競(jìng)爭(zhēng)力,縮短研發(fā)周期。EDA技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學(xué)科最新科技成果而形成的一門新技術(shù)。EDA技術(shù)以大規(guī)模可編程邏輯器件為設(shè)計(jì)載體,以硬件描述語言為系統(tǒng)邏輯描述主要表達(dá)方式,以計(jì)算機(jī)大規(guī)模可編程邏輯器件的開發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具,通過有關(guān)的開發(fā)軟件,自動(dòng)完成用軟件的方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯,邏輯化簡(jiǎn),邏輯分割,邏輯映射,編程下載等工作。最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)。現(xiàn)今,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LCD顯示器代替顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能更進(jìn)一步,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活性好。本次設(shè)計(jì)掌握VHDL語言的編程思想及過程,以及電子時(shí)鐘基本功能和實(shí)現(xiàn)的基本原理。主要讓我們掌握CPLD/FPGA的研發(fā)過程,該系統(tǒng)通過VHDL語言和原理圖混合應(yīng)用的方式來實(shí)現(xiàn)電子時(shí)鐘的設(shè)計(jì),并下載到硬件之中進(jìn)行驗(yàn)證。我們將電子時(shí)鐘的設(shè)計(jì)分成了四大模塊,分別是時(shí)間計(jì)數(shù)器模塊;鍵盤控制模塊;顯示電路模塊和時(shí)間調(diào)整模塊。第一章FPGA簡(jiǎn)介1.1FPGA概述如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入或硬件描述語言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。FPGA是現(xiàn)場(chǎng)可編程門陣列(FieldProgrammableGateArray)的簡(jiǎn)稱,與之相應(yīng)的CPLD是復(fù)雜可編程邏輯器件(ComplexProgrammableLogicDevice)的簡(jiǎn)稱,兩者的功能基本相同,只是實(shí)現(xiàn)原理略有不同,有時(shí)可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程邏輯器件或CPLD/PGFA。CPLD/PGFA幾乎能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡(jiǎn)單的74電路。通過軟件仿真可以事先驗(yàn)證設(shè)計(jì)的正確性,在PCB完成以后,利用CPLD/FPGA的在線修改功能,隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路。使用CPLD/FPGA開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高系統(tǒng)的可靠性。這些優(yōu)點(diǎn)使得CPLD/FPGA技術(shù)在20世紀(jì)90年代以后得到飛速的發(fā)展,同時(shí)也大大推動(dòng)了EDA軟件和硬件描述語言HDL的進(jìn)步。1.2FPGA基本結(jié)構(gòu)FPGA由邏輯功能塊排成陣列,F(xiàn)PGA一般由3種可編程電路和一個(gè)用于存放編程數(shù)據(jù)的靜態(tài)存儲(chǔ)器SRAM組成。FPGA具有掩膜可編程門陣列的通用結(jié)構(gòu),它并由可編程的互連資源連接這些邏輯功能塊來實(shí)現(xiàn)不同的設(shè)計(jì)。這3種可編程電路是:可編程邏輯模塊(CLB—ConfigurableLogicBlock)、輸入/輸出模塊(IOB—I/OBlock)和互連資源(IR—InterconnectResource)。可編程邏輯模塊CLB是實(shí)現(xiàn)邏輯功能的基本單元,它們通常規(guī)則的排列成一個(gè)陣列,散布于整個(gè)芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括各種長(zhǎng)度的連接線段和一些可編程連接開關(guān),它們將各個(gè)CLB之間或CLB、IOB之間以及IOB之間連接起來,構(gòu)成特定功能的電路。(1)CLB是FPGA的主要組成部分。圖2.1是CLB基本結(jié)構(gòu)框圖,它主要由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLB中3個(gè)邏輯函數(shù)發(fā)生器分別是G、F和H,相應(yīng)的輸出是G’、F’和H’。G有4個(gè)輸入變量G1、G2、G3和G4;F也有4個(gè)輸入變量F1、F2、F3和F4。這兩個(gè)函數(shù)發(fā)生器是完全獨(dú)立的,均可以實(shí)現(xiàn)4輸入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個(gè)輸入信號(hào);前兩個(gè)是函數(shù)發(fā)生器的輸出G’和F’,而另一個(gè)輸入信號(hào)是來自信號(hào)變換電路的輸出H1。這個(gè)函數(shù)發(fā)生器能實(shí)現(xiàn)3輸入變量的各種組合函數(shù)。這3個(gè)函數(shù)發(fā)生器結(jié)合起來,可實(shí)現(xiàn)多達(dá)9變量的邏輯函數(shù)。(2)輸入/輸出模塊IOB。IOB提供了器件引腳和內(nèi)部邏輯陣列之間的連接。它主要由輸入觸發(fā)器、輸入緩沖器和輸出觸發(fā)/鎖存器、輸出緩沖器組成[2]。1.3FPGA系統(tǒng)設(shè)計(jì)流程流程說明:(1)工程師按照“自頂向下”的設(shè)計(jì)方法進(jìn)行系統(tǒng)劃分。(2)輸入VHDL代碼,這是設(shè)計(jì)中最為普遍的輸入方式。此外,還可以采用圖形輸入方式,這種輸入方式具有直觀、容易理解的優(yōu)點(diǎn)。(3)將以上的設(shè)計(jì)輸入編譯成標(biāo)準(zhǔn)的VHDL文件。(4)進(jìn)行代碼級(jí)的功能仿真,主要是檢驗(yàn)系統(tǒng)功能設(shè)計(jì)的正確性。這一步驟適用于大型設(shè)計(jì),因?yàn)閷?duì)于大型設(shè)計(jì)來說,在綜合前對(duì)源代碼仿真,就可以大大減少設(shè)計(jì)重復(fù)的次數(shù)和時(shí)間。一般情況下,這一仿真步驟可略去。(5)利用綜合器對(duì)VHDL源代碼進(jìn)行綜合優(yōu)化處理,生成門級(jí)描述的網(wǎng)絡(luò)表文件,這是將高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合優(yōu)化是針對(duì)ASIC芯片供應(yīng)商的某一產(chǎn)品系列進(jìn)行的,所以綜合的過程要在相應(yīng)的廠家綜合庫(kù)的支持下才能完成。(6)利用產(chǎn)生的網(wǎng)絡(luò)表文件進(jìn)行適配前的時(shí)序仿真,仿真過程不涉及具體器件的硬件特性,是較為粗略的。一般的設(shè)計(jì),也可略去這一步驟。(7)利用適配器將綜合后的網(wǎng)絡(luò)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。

第二章可編程邏輯器件概述及設(shè)計(jì)方案2.1CPLD/FPGA概述及VHDL語言的特點(diǎn)不論是簡(jiǎn)單的還是復(fù)雜的數(shù)字系統(tǒng)都是由基本門來構(gòu)成的,如與門、或門、非門、傳輸門等。(1)CPLD更適合完成各種算法和組合邏輯,FPGA更適合于完成時(shí)序邏輯。換句話說,F(xiàn)PGA更適合于觸發(fā)器豐富的結(jié)構(gòu),而CPLD更適合于觸發(fā)器有限而乘積項(xiàng)豐富的結(jié)構(gòu)。(2)CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時(shí)序延遲是均勻的和可預(yù)測(cè)的,而FPGA的分段式布線結(jié)構(gòu)決定了其延遲的不可預(yù)測(cè)性。(3)在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內(nèi)連電路的邏輯功能來編程,FPGA主要通過改變內(nèi)部連線的布線來編程;FPGA可在邏輯門下編程,而CPLD是在邏輯塊下編程。(4)FPGA的集成度比CPLD高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實(shí)現(xiàn)。(5)CPLD比FPGA使用起來更方便。CPLD的編程采用EPROM或FASTFLASH技術(shù),無需外部存儲(chǔ)器芯片,使用簡(jiǎn)單。而FPGA的編程信息需存放在外部存儲(chǔ)器上,使用方法復(fù)雜。(6)CPLD的速度比FPGA快,并且具有較大的時(shí)間可預(yù)測(cè)性。這是由于FPGA是門級(jí)編程,并且CLB之間采用分布式互聯(lián),而CPLD是邏輯塊級(jí)編程,并且其邏輯塊之間的互聯(lián)是集總式的。(7)在編程方式上,CPLD主要是基于EPROM或FLASH存儲(chǔ)器編程,編程次數(shù)可達(dá)1萬次,優(yōu)點(diǎn)是系統(tǒng)斷電時(shí)編程信息也不丟失。CPLD又可分為在編程器上編程和在系統(tǒng)編程兩類。FPGA大部分是基于SRAM編程,編程信息在系統(tǒng)斷電時(shí)丟失,每次上電時(shí),需從器件外部將編程數(shù)據(jù)重新寫入SRAM中。其優(yōu)點(diǎn)是可以編程任意次,可在工作中快速編程,從而實(shí)現(xiàn)板級(jí)和系統(tǒng)級(jí)的動(dòng)態(tài)配置。(1)與其他的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。(3)VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。(5)VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)[5]。2.2可編程邏輯器件的分類和發(fā)展歷程(1)查找表結(jié)構(gòu)器件。構(gòu)成可編程門,再構(gòu)成陣列形式。FPGA是屬于此類器件。(2)乘積項(xiàng)結(jié)構(gòu)器件。其基本結(jié)構(gòu)為“與—或陣列”的器件,大部分簡(jiǎn)單PLD和CPLD都屬于這個(gè)范疇。第三種分類方法是從編程工藝上劃分:熔絲(Fuse)型器件。早期的PROM器件就是采用熔絲結(jié)構(gòu)的,編程過程就是根據(jù)設(shè)計(jì)的熔絲圖文件來燒斷對(duì)應(yīng)的熔絲達(dá)到編程目的。(3)反熔絲型器件。是對(duì)熔絲技術(shù)的改進(jìn),在編程處通過擊穿漏層使得兩點(diǎn)之間導(dǎo)通。與熔絲燒斷獲得開路正好相反。某些FPGA采用此種編程方式,如Actel公司的FPGA器件。無論是熔絲還是反熔絲結(jié)構(gòu),都只能編程一次,因而又合稱為OTP器件,即一次性可編程(OneTimeProgrammable)器件。(4)EPROM型。稱為紫外線擦除點(diǎn)可編程邏輯器件。是用較高的編程電壓進(jìn)行編程,當(dāng)需要再次編程時(shí),用紫外線進(jìn)行擦除。與熔絲、反熔絲型不同,可多次編程??删幊踢壿嬈骷笾碌难葑冞^程如下:(1)20世紀(jì)70年代熔絲編程的PROM和PLA器件是最早的可編程的邏輯器件。(2)20世紀(jì)70年代末,對(duì)PLA進(jìn)行了改進(jìn),AMD公司推出PAL器件。(3)20世紀(jì)80年代初,Lattice公司發(fā)明點(diǎn)可擦寫的比PAL使用靈活的GAL器件。(4)20世紀(jì)80年代中期,Xilinx公司提出現(xiàn)場(chǎng)可編程概念,同時(shí)產(chǎn)生了世界上第一片F(xiàn)PGA器件。同一時(shí)期,Altera公司推出EPLD器件,較GAL器件有更高的集成度,可以用紫外線或點(diǎn)擦除。(5)20世紀(jì)80年代末,Lattice公司又提出在系統(tǒng)可編程技術(shù),并且推出了一系列具備在系統(tǒng)可編程能力的CPLD器件,將可編程邏輯器件的性能和應(yīng)用技術(shù)推向一個(gè)全新的高度。進(jìn)入20世紀(jì)90年代后,可編程邏輯集成電路技術(shù)進(jìn)入飛速發(fā)展時(shí)期。器件的可用邏輯門數(shù)超過了百萬門,并出現(xiàn)了內(nèi)嵌復(fù)雜功能模塊(如加法器、乘法器、RAM、CPU核、DSP核、PLL等)的SOPC(Systemonprogrammablechip)。2.3EPF10K10LC84-4芯片簡(jiǎn)介本設(shè)計(jì)采用EPF10K10LC84-4芯片,下面將對(duì)其進(jìn)行簡(jiǎn)單介紹。EPF10K10LC84-4是84pinPLCC封裝,另外還有其它類型的管腳和封裝,有很強(qiáng)的選擇性。具有以下主要特點(diǎn):(1)1萬個(gè)等效邏輯門,含有572個(gè)邏輯單元(LEs)、72個(gè)邏輯陣列塊(LABs)、3個(gè)嵌入式陣列塊(EABs),并具有720個(gè)片內(nèi)寄存器,可以在不占用內(nèi)部資源的條件下實(shí)現(xiàn)6144bit的片內(nèi)存儲(chǔ)器;(2)內(nèi)部模塊間采用高速、延時(shí)可預(yù)測(cè)的快速通道連接,最高工作頻率可以達(dá)到150MHz以上;(3)邏輯單元間具有高速、高扇出的級(jí)聯(lián)鏈和快速進(jìn)位鏈;(4)片內(nèi)還有三態(tài)網(wǎng)絡(luò)和6個(gè)全局時(shí)鐘、4個(gè)全局清零信號(hào)以及豐富的I/O資源;(5)每個(gè)I/O引腳可以選擇為三態(tài)控制或集電極開路輸出,可以通過編程控制每個(gè)I/O引腳的速度以及I/O寄存器的使用。2.4電子時(shí)鐘的設(shè)計(jì)方案數(shù)字電子鐘的設(shè)計(jì)方法有多種,例如,可用中小規(guī)模集成電路組成電子鐘;也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘;還可以利用單片機(jī)來實(shí)現(xiàn)電子鐘等等方案一:運(yùn)用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器來實(shí)現(xiàn)電子時(shí)鐘的方法,該方案設(shè)計(jì)由單片機(jī)AT89S51芯片和LCD數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個(gè)單片機(jī)電子時(shí)鐘。方案二:采用專用的時(shí)鐘芯片實(shí)現(xiàn),通過單片機(jī)讀取時(shí)鐘芯片的計(jì)時(shí)時(shí)間,在數(shù)碼管上顯示出來,就可以實(shí)現(xiàn)電子時(shí)鐘功能,典型的時(shí)鐘芯片有:DS1302,DS12887,X1203,PCF8583等都可以實(shí)現(xiàn)電子時(shí)鐘功能。方案三:采用FPGA來實(shí)現(xiàn)電子時(shí)鐘功能,運(yùn)用VHDL語言來描述電子時(shí)鐘的各個(gè)功能模塊。將電子時(shí)鐘分為六十進(jìn)制計(jì)數(shù)器和二十四進(jìn)制計(jì)數(shù)器兩個(gè)基本的功能模塊,然后將兩個(gè)六十進(jìn)制計(jì)數(shù)器和一個(gè)二十四進(jìn)制計(jì)數(shù)器相級(jí)聯(lián),就構(gòu)成一個(gè)具有時(shí)、分、秒的電子時(shí)鐘。通過以上比較,系統(tǒng)中采用FPGA來實(shí)現(xiàn)電子時(shí)鐘功能。

第三章系統(tǒng)電路設(shè)計(jì)3.1總體設(shè)計(jì)設(shè)計(jì)一個(gè)顯示時(shí)(2位)、分(2位)、秒(2位)共六位的多功能電子鐘,它的主要功能是進(jìn)行準(zhǔn)確的計(jì)時(shí)。利用VHDL語言對(duì)硬件進(jìn)行描述,通過下載到FPGA之中進(jìn)行硬件驗(yàn)證。系統(tǒng)采用4MHz的石英晶體振蕩器作為時(shí)鐘源,經(jīng)過分頻之后得到1HZ的秒鐘信號(hào),秒計(jì)滿60即得1分鐘,分計(jì)滿60便得1小時(shí)的信號(hào),小時(shí)計(jì)滿24即得一天,電子時(shí)鐘的外觀圖如圖3.1所示。其中有六個(gè)按鍵用于調(diào)整時(shí)間,復(fù)位等功能。具體功能如下:圖3.1電子鐘的外觀圖OK鍵:開始計(jì)時(shí)。SET鍵:與調(diào)時(shí)、調(diào)分、調(diào)秒鍵配合,可以調(diào)整到指定的時(shí)間。RESET鍵:清零。電子時(shí)鐘硬件總體框圖如圖3.2所示。圖3.2電子時(shí)鐘硬件總體框圖在每個(gè)功能模塊分項(xiàng)設(shè)計(jì)和組合前,先簡(jiǎn)單介紹一下每個(gè)方塊的功能作用[8]。(1)分頻器通過分頻將4MHz的信號(hào)分頻為1Hz的秒信號(hào)和100Hz的同步掃描時(shí)鐘信號(hào)。(2)1Hz的秒信號(hào)輸入到秒計(jì)數(shù)電路,當(dāng)計(jì)數(shù)器溢出時(shí),向分計(jì)數(shù)器進(jìn)位,當(dāng)分計(jì)數(shù)器溢出時(shí),向時(shí)計(jì)數(shù)器進(jìn)位。(3)BCD譯碼電路是將計(jì)數(shù)器的十六進(jìn)制計(jì)數(shù)值轉(zhuǎn)換為數(shù)碼管顯示所需要的段碼。(4)位碼電路是用來選通某一位數(shù)碼管,使其顯示數(shù)字。(5)掃描同步電路作用控制同一個(gè)數(shù)碼管的段碼和位碼同步,同時(shí)對(duì)多個(gè)數(shù)碼管輪流掃描。(6)鍵盤控制電路作用是啟動(dòng)電子時(shí)鐘計(jì)時(shí),設(shè)定時(shí)間等。3.2顯示電路設(shè)計(jì)顯示電路有LCD和LCD顯示電路,系統(tǒng)中選用LCD顯示電路,LCD器件是一種發(fā)光二極管顯示器。其特點(diǎn)如下:(1)LCD顯示器具備穩(wěn)定、高速、簡(jiǎn)單的系統(tǒng);(2)LCD顯示結(jié)構(gòu)簡(jiǎn)單、性能穩(wěn)定;(3)LCD顯示應(yīng)用在成熟的生產(chǎn)技術(shù)上。發(fā)光二極管組成的顯示器是單片機(jī)應(yīng)用產(chǎn)品中最常用的廉價(jià)輸出設(shè)備。八段發(fā)光二極管結(jié)構(gòu)如圖3.3所示。圖3.3八段發(fā)光二極管外型發(fā)光二極管的陽極連在一起的稱為共陽極顯示器,陰極連在一起的稱為共陰極顯示器。1位顯示器有8個(gè)發(fā)光二極管組成,其中7個(gè)發(fā)光二極管a~g控制7個(gè)筆段的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫式的八段顯示器能顯示的字符少。字符的形象有些失真,但控制方便,使用簡(jiǎn)單[9]。圖3.4共陰極數(shù)碼管圖3.5共陽極數(shù)碼管顯示器的顯示方法有靜態(tài)和動(dòng)態(tài)兩種方法。顯示器位數(shù)較少時(shí),采用靜態(tài)顯示的方法是合適的。當(dāng)位數(shù)較多時(shí),用靜態(tài)顯示所需的I/O太多,一般采用動(dòng)態(tài)顯示方法,所以在系統(tǒng)中我們采用動(dòng)態(tài)顯示。此類數(shù)碼管的工作特點(diǎn)是:(1)數(shù)碼管片選端清0時(shí),對(duì)應(yīng)位的數(shù)碼管才有可能亮;(2)每次只能有一個(gè)片選端清0,即只能動(dòng)態(tài)移位顯示相應(yīng)的數(shù)據(jù);(3)控制器通過控制數(shù)碼管顯示相應(yīng)數(shù)字要用查表子程序來實(shí)現(xiàn)。系統(tǒng)中顯示電路是由分頻電路、掃描電路、BCD碼多路選擇器、位選碼電路和BCD譯碼器構(gòu)成的。掃描電路所需要的掃描時(shí)鐘信號(hào)為100Hz,是通過分頻器將系統(tǒng)的4MHz時(shí)鐘信號(hào)經(jīng)過10000分頻之后,再通過四分頻得到的。系統(tǒng)中采用四個(gè)十進(jìn)制計(jì)數(shù)器相級(jí)聯(lián)實(shí)現(xiàn)10000分頻,然后通過兩個(gè)T觸發(fā)器實(shí)現(xiàn)四分頻得到100Hz信號(hào)。十進(jìn)制計(jì)數(shù)器的仿真圖如圖3.7所示。十進(jìn)制計(jì)數(shù)器的VHDL語言描述見附錄程序1[10]圖3.7十進(jìn)制計(jì)數(shù)器的仿真圖掃描電路是動(dòng)態(tài)數(shù)碼管顯示的核心部件,通過掃描電路使得同一位數(shù)碼管的段碼、位碼能夠同步選擇并穩(wěn)定顯示數(shù)據(jù)。其VHDL語言描述見附錄程序2圖3.8掃描電路仿真圖掃描電路是由四位二進(jìn)制計(jì)數(shù)器組成的狀態(tài)機(jī)構(gòu)成的,其仿真圖如圖3.8所示。其中SCAN為掃描時(shí)鐘信號(hào)輸入端,COMCLK為狀態(tài)輸出端。BCD碼多路選擇器是輸入的四位的BCD碼根據(jù)掃描電路的輸出進(jìn)行選擇,然后通過BCD譯碼器將對(duì)應(yīng)的BCD碼轉(zhuǎn)換成顯示所需要的段碼。見附錄程序3[11]BCD譯碼器是將輸入的四位二進(jìn)制數(shù)轉(zhuǎn)換成七段顯示代碼,通過對(duì)應(yīng)的顯示代碼驅(qū)動(dòng)LCD顯示相應(yīng)的數(shù)據(jù),其仿真波形如圖3.9所示。其VHDL語言描述見附錄程序4圖3.9BCD譯碼器仿真波形位選碼電路的作用是在掃描電路作用下,依次輸出對(duì)應(yīng)的數(shù)碼管的位選碼。其仿真波形如圖3.10所示。程序見附錄程序5圖3.10位選碼仿真波形3.3電子時(shí)鐘計(jì)數(shù)器電路設(shè)計(jì)電子時(shí)鐘是由兩個(gè)60進(jìn)制計(jì)數(shù)器和一個(gè)二十四進(jìn)制計(jì)數(shù)器組成的,其中二十四進(jìn)制計(jì)數(shù)器用于時(shí)計(jì)數(shù)器,60進(jìn)制計(jì)數(shù)器用于秒和分計(jì)數(shù)器。秒和分計(jì)數(shù)器是由六十進(jìn)制計(jì)數(shù)器組成的,而六十進(jìn)制計(jì)數(shù)器是由一個(gè)十進(jìn)制計(jì)數(shù)器和一個(gè)六進(jìn)制計(jì)數(shù)器組成的[12]。(1)系統(tǒng)中采用的十進(jìn)制計(jì)數(shù)器采用74161來設(shè)計(jì),其設(shè)計(jì)原理圖如圖3.11所示,其中CLK為外部時(shí)鐘脈沖輸入端,Q0~Q3為計(jì)數(shù)器計(jì)數(shù)值輸出端,CNT為進(jìn)位輸出端,ENT為十進(jìn)制計(jì)數(shù)器使能端,CLRN為十進(jìn)制計(jì)數(shù)器清零端,十進(jìn)制計(jì)數(shù)器仿真圖如圖3.12所示。圖3.11十進(jìn)制計(jì)數(shù)器原理圖圖3.12十進(jìn)制計(jì)數(shù)器仿真圖(2)六進(jìn)制計(jì)數(shù)器設(shè)計(jì)系統(tǒng)中采用的六進(jìn)制計(jì)數(shù)器采用74161來設(shè)計(jì),其設(shè)計(jì)原理圖如圖3.13所示,其中CLK1為外部時(shí)鐘脈沖輸入端,QQ0~QQ3為計(jì)數(shù)器計(jì)數(shù)值輸出端,CNT1為進(jìn)位輸出端,ENT1為十進(jìn)制計(jì)數(shù)器使能端,CLRN1為十進(jìn)制計(jì)數(shù)器清零端,六進(jìn)制計(jì)數(shù)器仿真圖如圖3.14所示。圖3.13六進(jìn)制計(jì)數(shù)器原理圖圖3.14六進(jìn)制計(jì)數(shù)器仿真圖時(shí)序圖(3)六十進(jìn)制計(jì)數(shù)器設(shè)計(jì)系統(tǒng)中采用的十進(jìn)制計(jì)數(shù)器與六進(jìn)制計(jì)數(shù)器級(jí)聯(lián)構(gòu)成六十進(jìn)制計(jì)數(shù)器,其設(shè)計(jì)原理圖如圖3.15所示,其中CLK2為外部時(shí)鐘脈沖輸入端,Q0~Q7為計(jì)數(shù)器計(jì)數(shù)值輸出端,CNT2為進(jìn)位輸出端,ENT2為十進(jìn)制計(jì)數(shù)器使能端,CLRN2為十進(jìn)制計(jì)數(shù)器清零端,其中CNT10、CNT6是十進(jìn)制計(jì)數(shù)器和六進(jìn)制計(jì)數(shù)器所生成的封裝庫(kù)。圖3.15六十進(jìn)制計(jì)數(shù)器原理圖電子時(shí)鐘電路的小時(shí)計(jì)數(shù)器是由二十四進(jìn)制計(jì)數(shù)器組成的,系統(tǒng)需要將二十四進(jìn)制計(jì)數(shù)器的計(jì)數(shù)值分解為兩位的BCD碼,然后再送到數(shù)碼管上顯示[13]。(1)二十四進(jìn)制計(jì)數(shù)器其仿真圖如圖3.16所示。二十四進(jìn)制計(jì)數(shù)器的VHDL語言描述見附錄程序6圖3.16二十四進(jìn)制計(jì)數(shù)器仿真波形由二十四進(jìn)制計(jì)數(shù)器生成的圖標(biāo)文件如圖3.17所示:圖3.17二十四進(jìn)制計(jì)數(shù)器圖標(biāo)(2)二十四進(jìn)制計(jì)數(shù)器計(jì)數(shù)值分解電路時(shí)計(jì)數(shù)器分為時(shí)個(gè)位和時(shí)十位,所以需要將二十四進(jìn)制計(jì)數(shù)器的計(jì)數(shù)值分為BCD碼十位和BCD碼個(gè)位,其仿真圖如圖3.18所示,它生成的圖標(biāo)文件如圖3.19所示。其VHDL語言描述見附錄程序7圖3.18二十四進(jìn)制計(jì)數(shù)器的計(jì)數(shù)值分解為十位和個(gè)位仿真圖圖3.19二十四進(jìn)制計(jì)數(shù)器的計(jì)數(shù)值分解為十位和個(gè)位生成的圖標(biāo)(3)時(shí)計(jì)數(shù)器總體電路時(shí)鐘系統(tǒng)總體電路如圖3.20所示,其中CNT10為十進(jìn)制計(jì)數(shù)器,CNT6為六進(jìn)制計(jì)數(shù)器;CNT23為二十四進(jìn)制計(jì)數(shù)器;ZHHUAN為將二十四進(jìn)制計(jì)數(shù)器的計(jì)數(shù)值分解為十位數(shù)據(jù)和個(gè)位數(shù)據(jù)的轉(zhuǎn)換電路;CLK2為輸入的秒信號(hào);ENT2為使能信號(hào),高電平有效。圖3.20時(shí)鐘系統(tǒng)總體鍵盤的硬件結(jié)構(gòu)為獨(dú)立式鍵盤,直接連到EPF10K10LC84-4芯片的引腳上,其特點(diǎn)是便于編程操作[14]。(1)開始/停止鍵KEY的設(shè)計(jì)我們將此鍵經(jīng)去抖后連接一T觸發(fā)器,使其輸出為電平方式,即按鍵盤一次,電平進(jìn)行一次翻轉(zhuǎn)。輸出Q0端接74161芯片的ENT端,從而達(dá)到了控制秒表的啟動(dòng)停止。其原理圖如圖3.21所示。圖3.21KEY的MAX+plusII原理圖(2)清零鍵KEY1的設(shè)計(jì)為了使鍵盤達(dá)到按下清零,松開恢復(fù)的功能,KEY1鍵我們應(yīng)用脈沖輸出方式,即按鍵盤一次,輸出一個(gè)脈沖信號(hào)。輸出端Q0連接74161芯片的CLRN端。這樣在按下鍵盤時(shí)輸出為低電平使能CLRN,松開后為高電平,禁止了該引腳。電路圖如圖3.22所示。圖3.22KEY1鍵的MAX+plusII原理圖結(jié)論在剛獲課題時(shí),根據(jù)題目?jī)?nèi)容我首先閱讀了大量的相關(guān)書籍和資料,這使我在腦海中產(chǎn)生出設(shè)計(jì)的雛形,接下來就這個(gè)構(gòu)想將整個(gè)設(shè)計(jì)分為VHDL硬件描述語言的裝置器件FPGA/CPLD的介紹、VHDL語言對(duì)電子鐘的設(shè)計(jì)(七段顯示器的顯示設(shè)計(jì)、時(shí)間計(jì)數(shù)跟時(shí)間顯示、彈跳現(xiàn)象的消除及時(shí)間設(shè)定和顯示)部分。分別對(duì)每一部分翻閱了相關(guān)的資料,逐步的選定方案與電路設(shè)計(jì)程序。本次設(shè)計(jì)重點(diǎn)在于對(duì)VHDL語言的應(yīng)用,以電子鐘作為一個(gè)具體的模型進(jìn)行設(shè)計(jì)。在整個(gè)設(shè)計(jì)的過程中雖然力求合理規(guī)范,也存在著一些缺憾,比如,在對(duì)電子鐘的設(shè)計(jì)中,有些功能模塊的設(shè)計(jì)不是最簡(jiǎn)便的方式,同時(shí)肯定還有欠考慮的地方。總之,在系統(tǒng)的軟硬件設(shè)計(jì)上由于能力所限,不一定是最佳選擇;一些設(shè)計(jì)方案可能存在不足,這些有待進(jìn)一步檢驗(yàn)。

參考文獻(xiàn)[1]黃峰鶴.數(shù)字鐘的設(shè)計(jì)與制作[J].信息技術(shù).2015(05)[2]曹嘯敏.數(shù)字鐘電路的設(shè)計(jì)[J].信息技術(shù).2015(10)[3]肖看.電子設(shè)計(jì)工程師認(rèn)證實(shí)操實(shí)訓(xùn)基礎(chǔ)系列講座(8)第四講簡(jiǎn)易數(shù)字鐘設(shè)計(jì)(上)[J].電子世界.2015(10)[4]方國(guó)紅,雷晨,孫藝玫,劉一萌,劉浩.地震專用數(shù)字鐘的研制及試運(yùn)行結(jié)果[J].東北地震研究.2015(03)[5]戴樹鴻.數(shù)字鐘電路的制作[J].家電檢修技術(shù).2015(02)[6]劉敏,劉豐.數(shù)字鐘的制作[J].科技資訊.2015(29)[7]孫立香.一種具有整點(diǎn)報(bào)時(shí)帶鬧鐘時(shí)間可調(diào)的數(shù)字鐘[J].電子制作.2015(18)[8]徐作華.基本數(shù)字鐘電路的設(shè)計(jì)、制作與檢測(cè)[J].數(shù)字技術(shù)與應(yīng)用.2015(04)[9]石悅.多功能數(shù)字鐘設(shè)計(jì)[J].現(xiàn)代商貿(mào)工業(yè).2015(01)[10]郭占苗.簡(jiǎn)易數(shù)字鐘制作[J].電子世界.2015(12)[11]黃峰鶴.數(shù)字鐘的設(shè)計(jì)與制作[J].信息技術(shù).2015(05)[12]曹嘯敏.數(shù)字鐘電路的設(shè)計(jì)[J].信息技術(shù).2015(10)[13]肖看.電子設(shè)計(jì)工程師認(rèn)證實(shí)操實(shí)訓(xùn)基礎(chǔ)系列講座(8)第四講簡(jiǎn)易數(shù)字鐘設(shè)計(jì)(上)[J].電子世界.2015(10)[14]方國(guó)紅,雷晨,孫藝玫,劉一萌,劉浩.地震專用數(shù)字鐘的研制及試運(yùn)行結(jié)果[J].東北地震研究.2015(03)[15]戴樹鴻.數(shù)字鐘電路的制作[J].家電檢修技術(shù).2015(02)[16]劉敏,劉豐.數(shù)字鐘的制作[J].科技資訊.2013(29)[17]孫立香.一種具有整點(diǎn)報(bào)時(shí)帶鬧鐘時(shí)間可調(diào)的數(shù)字鐘[J].電子制作.2013(18)[18]徐作華.基本數(shù)字鐘電路的設(shè)計(jì)、制作與檢測(cè)[J].數(shù)字技術(shù)與應(yīng)用.2013(04)[19]石悅.多功能數(shù)字鐘設(shè)計(jì)[J].現(xiàn)代商貿(mào)工業(yè).2012(01)[20]郭占苗.簡(jiǎn)易數(shù)字鐘制作[J].電子世界.2011(12)

附錄程序1:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPORT(CLK,RST,EN:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT10;ARCHITECTUREbehavOFCNT10ISBEGINPROCESS(CLK,RST,EN)VARIABLECQI:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFRST='1'THENCQI:=(OTHERS=>'0');ELSIFCLK'EVENTANDCLK='1'THENIFEN='1'THENIFCQI<"1001"THENCQI:=CQI+1;ELSECQI:=(OTHERS=>'0');ENDIF;ENDIF;ENDIF;IFCQI="1001"THENCOUT<='1';ELSECOUT<='0';ENDIF;CQ<=CQI;ENDPROCESS;ENDbehav;其中,CLK為外部脈沖輸入端;RST為復(fù)位端,高電平有效,EN為使能端,高電平有效;CO為計(jì)數(shù)器的計(jì)數(shù)值輸出端;COUT為進(jìn)位輸出端。程序2LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSCANISPORT(SCAN:INSTD_LOGIC;COMCLK:OUTSTD_LOGIC_VECTOR(1DOWNTO0));END;ARCHITECTUREBEHAVEOFSCANISSIGNALQ:STD_LOGIC_VECTOR(1DOWNTO0):="00";BEGINPROCESS(SCAN)BEGINIFSCAN'EVENTANDSCAN='1'THENIFQ=3THENQ<="00";ELSEQ<=Q+1;ENDIF;ENDIF;ENDPROCESS;COMCLK<=Q;END;程序3LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYBCDMUXISPORT(CLK:INSTD_LOGIC_VECTOR(1DOWNTO0);BCDDATA:INSTD_LOGIC_VECTOR(15DOWNTO0);BCDLCD:OUTSTD_LOGIC_VECTOR(3DOWNTO0));END;ARCHITECTUREBEHAVEOFBCDMUXISBEGINBCDLCD(3DOWNTO0)<=BCDDATA(3DOWNTO0)AFTER5msWHENCLK="00"ELSEBCDDATA(7DOWNTO4)AFTER5msWHENCLK="01"ELSEBCDDATA(11DOWNTO8)AFTER5msWHENCLK="10"ELSEBCDDATA(15DOWNTO12)AFTER5ms;END;其中,CLK為輸入選擇,BCDDATA為輸入數(shù)據(jù),BCDLCD為輸出數(shù)據(jù)。程序4LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;ENTITYbcdymqISPORT(bcdin:INstd_logic_vector(3DOWNTO0);bcdout:BUFFERstd_logic_vector(7DOWNTO0));ENDbcdymq;ARCHITECTUREbehaveOFbcdymqISBEGINbcdout(7DOWNTO0)<="00111111"WHENbcdin(3DOWNTO0)="0000"ELSE--0"00000110"WHENbcdin(3DOWNTO0)="0001"ELSE--1"01011011"WHENbcdin(3DOWNTO0)="0010"ELSE--2"01001111"WHENbcdin(3DOWNTO0)="0011"ELSE--3"01100110"WHENbcdin(3DOWNTO0)="0100"ELSE--4"01101101"WHENbcdin(3DOWNTO0)="0101"ELSE--5"01111101"WHENbcdin(3DOWNTO0)="0110"ELSE--6"00000111"WHENbcdin(3DOWNTO0)="0111"ELSE--7"01111111"WHENbcdin(3DOWNTO0)="1000"ELSE--8"01101111"WHENbcdin(3DOWNTO0)="1001"ELSE--9"01110111"WHENbcdin(3DOWNTO0)="1010"ELSE--A"01111100"WHENbcdin(3DOWNTO0)="1011"ELSE--B"00111001"WHENbcdin(3DOWNTO0)="1100"ELSE--C"01011110"WHENbcdin(3DOWNTO0)="1101"ELSE--D"01111001"WHENbcdin(3DOWNTO0)="1110"ELSE--E"01110001"WHENbcdin(3DOWNTO0)="1111"ELSE--FZZZZZZZZ";ENDbehave;其中,bcdin為四位二進(jìn)制數(shù)輸入端,bcdout為七段顯示代碼輸出端程序5LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYBITISPORT(CLK:INSTD_LOGIC_VECTOR(1DOWNTO0);LCDENABLE:OUTSTD_LOGIC_VECTOR(3DOWNTO0));END;ARCHITECTUREBEHAVEOFBITISBEGINLCDENABLE<="1110"WHENCLK="00"ELSE"1101"WHENCLK="01"ELSE"1011"WHENCLK="10"ELSE"0111";END;其中,CLK為掃描選擇信號(hào)輸入端,LCDENABLE為位選碼數(shù)據(jù)輸出端程序6LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT23ISPORT(CLK,RST,EN:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(4DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT23;ARCHITECTUREbehavOFCNT23ISBEGI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論