




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄第一章緒論 1第二章可編程邏輯器件概述及設(shè)計(jì)方案22.1 cpld/fpga概述及vhdl語言的特點(diǎn) 2 2.2可編程邏輯器件的分類和發(fā)展歷程42.3 epf10k10lc84-4 芯片簡介 5 2.4電子時(shí)鐘的設(shè)計(jì)方案5第三章系統(tǒng)電路設(shè)計(jì) 6 3.1總體設(shè)計(jì) 6 3.2顯示電路設(shè)計(jì) 8 3.2.1分頻器電路9 3.2.2掃描電路電路113.2.3 bcd碼多路選擇器 123.2.4 bcd 譯碼器 12 3.2.5位選碼電路14 3.3電子時(shí)鐘計(jì)數(shù)器電路設(shè)計(jì)14 3.3.1秒和分計(jì)數(shù)器設(shè)計(jì) 14 3.3.2小吋計(jì)數(shù)器設(shè)計(jì)16 總 結(jié) 21 參考文獻(xiàn)22致 謝錯(cuò)誤!未定義書簽。第一章緒論時(shí)
2、鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時(shí)間的推移,科學(xué)技術(shù) 的不斷發(fā)展,人們對時(shí)間計(jì)量的精度要求越來越高,應(yīng)用越來越廣。現(xiàn)今,高精 度的計(jì)時(shí)工具大多數(shù)都使用了石英品體振蕩器,由于電子鐘,石英表,石英鐘都 采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校, 數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用led顯示器代替顯 示器代替指針顯示進(jìn)而顯示吋間,減小了計(jì)吋誤差,這種表具冇吋,分,秒顯示 時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對,片選的靈活性好。20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎 滲透了社會的各個(gè)領(lǐng)域,有力地推動(dòng)了社會生產(chǎn)力的發(fā)展和
3、社會信息化程度的提 高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能更進(jìn)一步,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 現(xiàn)代電子設(shè)計(jì)技術(shù)的核心是eda ( electronic design automation )技術(shù)。eda 技術(shù)就是依賴功能強(qiáng)大的計(jì)算機(jī),在eda工具軟件平臺上,對以硬件描述語言 hdl (hardware description language)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件。20 世紀(jì) 80 年代末,出現(xiàn)丫 fpgacfield programmable gate array),cae 和 cad 技術(shù)的應(yīng)用更為廣泛,它們在pcb設(shè)計(jì)的原理圖輸入,自動(dòng)布局布線及pcb分 析,以及邏輯設(shè)計(jì)、邏輯仿
4、真、布爾綜合和化簡等方面捫任了重要的角色,為電 子設(shè)計(jì)自動(dòng)化必須解決的電路建模、標(biāo)準(zhǔn)文檔及仿真測試奠定了基礎(chǔ)。硬件描述 語言是eda技術(shù)的重要組成部分,vhdl是作為電子設(shè)計(jì)主流硬件的描述語言。 木論文就是應(yīng)用vhdl語言來實(shí)現(xiàn)秒表的電路設(shè)計(jì)。vhdl語言是標(biāo)準(zhǔn)硬件描 述語言,它的特點(diǎn)就是能形式化抽象表示電路結(jié)構(gòu)及行為,支持邏輯設(shè)計(jì)中層次 領(lǐng)域的描述,借用了高級語言的精巧結(jié)構(gòu)簡化電路描述,具有電路模擬與驗(yàn)證及 保證設(shè)計(jì)的正確性,支持電路由高層向低層的綜合變換,便于文檔管理,易于理 解和設(shè)計(jì)重用。本課題選用了 altera公司的fpga產(chǎn)品并以其專門開發(fā)軟件為平臺,運(yùn)用vhdl 硬件描述語言設(shè)計(jì)
5、一個(gè)電子時(shí)鐘。cpld/fpga以高集成度、高速度和高可靠性 而著稱,運(yùn)用fpga進(jìn)行產(chǎn)品開發(fā),其開發(fā)周期短,投資風(fēng)險(xiǎn)小,產(chǎn)品上市速度 快,決定其有著無比的市場前景,是現(xiàn)代eda技術(shù)中廣泛運(yùn)用的硬件。該系統(tǒng)通過vhdl語言和原理圖混合應(yīng)用的方式來實(shí)現(xiàn)電子吋鐘的設(shè)計(jì),并下 載到硬件之中進(jìn)行驗(yàn)證。我們將電子時(shí)鐘的設(shè)計(jì)分成了四大模塊,分別是時(shí)間計(jì) 數(shù)器模塊;鍵盤控制模塊;顯示電路模塊和時(shí)間調(diào)整模塊。本次設(shè)計(jì)主要讓我們掌握cpld/fpga的研發(fā)過程,掌握vhdl語言的編程思想 及過程,以及電子時(shí)鐘基本功能和實(shí)現(xiàn)的基本原理。第二章可編程邏輯器件概述及設(shè)計(jì)方案可編程邏輯器件pld (programmab
6、le logic device)是20世紀(jì)70年代發(fā)展起來 的一種新的集成器件。pld是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,是一種半定制的 集成電路,結(jié)合計(jì)算機(jī)的軟件技術(shù)(eda技術(shù))可以快速、方便地構(gòu)建數(shù)字系 統(tǒng)。2.1 cpld/fpga概述及vhdl語言的特點(diǎn)1、cpld/fpga 概述不論是簡單的還是復(fù)雜的數(shù)字系統(tǒng)都是由基本門來構(gòu)成的,如與門、或門、非門、 傳輸門等。人們發(fā)現(xiàn),不是所有的基木門都是必須的,如用與非門單一基木門就可以構(gòu)成其 他的基木門。任何的組合邏輯函數(shù)都可以化為“與一或”表達(dá)式。即任何的組合電 路(需要提供輸入信號的非信號),可以用“與門一或門”二級電路實(shí)現(xiàn)。同樣, 任何時(shí)序
7、電路都可由組合電路加上存儲元件,即鎖存器、觸發(fā)器、ram構(gòu)成的。 由此人們提出了一種可編程電路結(jié)構(gòu),即乘積項(xiàng)邏輯陣列結(jié)構(gòu)。當(dāng)然,“與一或”結(jié)構(gòu)組成的pld器件的功能比較簡單。此后,人們又從rom工 作原理、地址信號與輸出數(shù)據(jù)間的關(guān)系以及asic的門陣列法屮獲得啟發(fā),構(gòu)造 另外一種可編程的邏輯結(jié)構(gòu),那就是sram查表的方式,并使用多個(gè)查找表構(gòu) 成丫一個(gè)查表陣列,稱為可編程門陣列(programmable gate array)??删幊踢壿嬈骷膬煞N主要類型是現(xiàn)場可編程門陣列(fpga)和復(fù)雜可編 程邏輯器件(cpld)。在這兩類可編程邏輯器件中,fpga提供了最高的邏輯 密度、最豐富的特性和最高
8、的性能。現(xiàn)在最新的fpga器件,如xilinx virtex 系列中的部分器件,可提供八酉萬”系統(tǒng)門”(相對邏輯密度)。這些先進(jìn)的器件 還提供諸如內(nèi)建的硬連線處理器(如ibm power pc)、大容量存儲器、時(shí)鐘管 理系統(tǒng)等特性,并支持多種最新的超快速器件至器件(device-to-device)信號技 術(shù)。fpga被應(yīng)用于范圍廣泛的應(yīng)用中,從數(shù)據(jù)處理和存儲,以及到儀器儀表、 電信和數(shù)字信號處理等。與此相比,cpld提供的邏輯資源少得多-最高約1萬門。但是,cpld 提供/非常好的可預(yù)測性,因此對于關(guān)鍵的控制應(yīng)用非常理想。而且如xilinx ccx)lrunnertm系列cpld器件需要的功
9、耗極低,并且價(jià)格低廉,從而使其對于成 本敏感的、電池供電的便攜式砬用(如移動(dòng)電話和數(shù)字手持助理)非常理想。fpga基于sram的架構(gòu),集成度高,以le (包括查找表、觸發(fā)器及其他) 為基木單元,有內(nèi)嵌memory、dsp等。具宥易揮發(fā)性,需要有上電加載過程。 在實(shí)現(xiàn)復(fù)雜算法、隊(duì)列調(diào)度、數(shù)據(jù)處理、高性能設(shè)計(jì)、大容量緩存設(shè)計(jì)等頌域中 有廣泛應(yīng)用,如altera stratix系列。cpld基于eeprom工藝,集成度低,以microcell (包括組合部分與寄存 器)為基本單元。具有非揮發(fā)特性,可以重復(fù)寫入。在粘合邏輯、地址譯碼、簡單控制、fpga加載等設(shè)計(jì)中有廣泛應(yīng)用,如altera max30
10、00a系列。詳細(xì)比較:盡管fpga和cpld有很多共同特點(diǎn),但由于cpld和fpga結(jié)構(gòu)上的差異,具有各自的特點(diǎn): cpld更適合完成各種算法和組合邏輯,fp ga更適合于完成時(shí)序邏輯。 換句話說,fpga更適合于觸發(fā)器豐富的結(jié)構(gòu),而cpld更適合于觸發(fā)器冇限而 乘積項(xiàng)豐富的結(jié)構(gòu)。 cpld的連續(xù)式布線結(jié)構(gòu)決定了它的時(shí)序延遲是均勻的和可預(yù)測的,而 fpga的分段式布線結(jié)構(gòu)決定了其延遲的不可預(yù)測性。 在編程上fpga比cpld具有更大的靈活性。cpld通過修改具有固定內(nèi) 連電路的邏輯功能來編程,fpga主要通過改變內(nèi)部連線的布線來編程;fp ga可 在邏輯門下編程,而cpld是在邏輯塊下編程。
11、fpga的集成度比cpld高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實(shí)現(xiàn)。cpld比fpga使用起來更方便。cpld的編程采用eprom或 fastflash技術(shù),無需外部存儲器芯片,使用簡單。而fpga的編程信息需存 放在外部存儲器上,使用方法復(fù)雜。 cpld的速度比fpga快,并具有較大的吋間可預(yù)測性。這是由于fpga 是門級編程,并且clb之間采用分布式互聯(lián),而cpld是邏輯塊級編程,并且 其邏輯塊之間的互聯(lián)是集總式的。 在編程方式上,cpld主要是基于eprom或flash存儲器編程,編程次數(shù) 可達(dá)1萬次,優(yōu)點(diǎn)是系統(tǒng)斷電時(shí)編程信息也不丟失。cpld 乂可分為在編程器上 編程和在系統(tǒng)編程兩類。fpg
12、a大部分是基于sram編程,編程信息在系統(tǒng)斷電 時(shí)丟失,每次上電時(shí),需從器件外部將編程數(shù)據(jù)重新寫入sram中。其優(yōu)點(diǎn)是 可以編程任意次,可在工作中快速編程,從而實(shí)現(xiàn)板級和系統(tǒng)級的動(dòng)態(tài)配置。 cpld保密性好,fpga保密性差。 一般情況卜,cpld的功耗要比fpga人,且集成度越高越明顯。2、vhdl語言的特點(diǎn)(1) 與其他的硬件描述語言相比,vhdl具有更強(qiáng)的行為描述能力,從而決定 了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避幵具體的 器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2) vhdl豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查 驗(yàn)設(shè)計(jì)系
13、統(tǒng)的功能可行性,隨時(shí)可對設(shè)計(jì)進(jìn)行仿真模擬。(3) vhdl語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的 分解和己有設(shè)計(jì)的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4) 對于用vhdl完成的一個(gè)確定的設(shè)計(jì),可以利用eda工具進(jìn)行邏輯綜合 和優(yōu)化,并自動(dòng)的把vhdl描述設(shè)計(jì)轉(zhuǎn)變成門級網(wǎng)表。(5) vhdl對設(shè)計(jì)的描述具有相對獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不 必管理最終設(shè)計(jì)實(shí)現(xiàn)的a標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。2.2可編程邏輯器件的分類和發(fā)展歷程可編程邏輯器件的分類很多,幾乎每個(gè)大的可編程邏輯器件供應(yīng)商都能提供具有 自身結(jié)
14、構(gòu)特點(diǎn)的pld器件。由于歷史的原因,可編程器件的命名各異,在介紹 可編程邏輯器件之前,有必要介紹幾種pld的分類方法。較常見的是按集成度 來分區(qū)分不同的pld器件,一般可分為兩大類器件:一類是芯片集成度較低的。 另一類芯片集成度較高的。前面已經(jīng)提到,常用的可編程邏輯器件都是從“與一 或陣列”和“門陣列”兩類基木結(jié)構(gòu)發(fā)展起來的,所以可編程器件從結(jié)構(gòu)上分為兩 大類器件:查找表結(jié)構(gòu)器件。構(gòu)成可編程門,再構(gòu)成陣列形式。fpga是屬于此類器件。(2) 乘積項(xiàng)結(jié)構(gòu)器件。其基木結(jié)構(gòu)為“與一或陣列”的器件,大部分簡單pld和 cpld都屬于這個(gè)范疇。第三種分類方法是從編程工藝上劃分:熔絲(fuse)型器件。早
15、期的prom器件就是采用熔絲結(jié)構(gòu)的,編程過程就是根 據(jù)設(shè)計(jì)的熔絲閣文件來燒斷對應(yīng)的熔絲達(dá)到編程目的。反熔絲型器件。是對熔絲技術(shù)的改進(jìn),在編程處通過擊穿漏層使得兩點(diǎn)之間導(dǎo) 通。與熔絲燒斷獲得開路正好相反。某些fpga采用此種編程方式,如actel公 司的fpga器件。無論是熔絲還是反熔絲結(jié)構(gòu),都只能編程一次,因而又合稱為 otp器件,即一次性可編程(one time programmable)器件。eprom型。稱為紫外線擦除點(diǎn)可編程邏輯器件。是用較高的編程電壓進(jìn)行編 程,當(dāng)需要再次編程時(shí),用紫外線進(jìn)行擦除。與熔絲、反熔絲型不同,可多次編 程。有時(shí)為降低生產(chǎn)成本,在制造eprom型器件時(shí)不加用于
16、紫外線擦除的石英窗口, 于是就不能用紫外線擦除,而只能編程一次,也被稱為otp器件。很早以前人們就曾設(shè)想設(shè)計(jì)一種邏輯可再編程的器件,不過由于受到當(dāng)時(shí)集成電 路工藝技術(shù)的限制,一直未能如愿。直到20世紀(jì)后期,集成技術(shù)有了飛速的發(fā) 展,可編程邏輯器件才得以實(shí)現(xiàn)。歷史上,可編程邏輯器件經(jīng)歷丫從prom(programmable read only memory ),pla(programmable logic array),pal(programmable array logic )可重復(fù)編程 gal (generic array logic)到采用大規(guī)模集成技術(shù)的epld到cpld和fpga 的發(fā)
17、展過程。在結(jié)構(gòu)、工藝、集成度、功能、速度和靈活性方面都有很大的改進(jìn) 和提高??删幊踢壿嬈骷笾碌难葑冞^程如下:(1)20世紀(jì)70年代熔絲編程的prom和pla器件是最早的可編程的邏輯器件。 20世紀(jì)70年代末,對pla進(jìn)行了改進(jìn),amd公司推出pal器件。(3)20世紀(jì)80年代初,lattice公司發(fā)明點(diǎn)可擦寫的比pal使用靈活的gal器件。 20世紀(jì)80年代中期,xilinx公司提出現(xiàn)場可編程概念,同時(shí)產(chǎn)生了世界上第 一片fpga器件。同一時(shí)期,altera公司推出epld器件,較gal器件有更高 的集成度,可以用紫外線或點(diǎn)擦除。(5)20世紀(jì)80年代末,lattice公司又提出在系統(tǒng)可編程
18、技術(shù),并且推出了一系列 具備在系統(tǒng)可編程能力的cpld器件,將可編程邏輯器件的性能和應(yīng)用技術(shù)推向 一個(gè)全新的高度。進(jìn)入20世紀(jì)90年代后,可編程邏輯集成電路技術(shù)進(jìn)入飛速發(fā)展吋期。器件的可 用邏輯門數(shù)超過了百萬門,并出現(xiàn)了內(nèi)嵌復(fù)雜功能模塊(如加法器、乘法器、 ram、cpu 核、dsp 核、pll 等)的 sopc(system on programmable chip)。2.3 epf10k10lc84-4 芯片簡介木設(shè)計(jì)采用epf10k10lc84-4芯片,下面將對其進(jìn)行簡單介紹。altera 公司的 fpga 器件 flexlok epf10k10lc84-4,flex(靈活邏輯單元矩陣)
19、系列是altera應(yīng)用非常廣泛的產(chǎn)品,這些器件具有比較高的集成度及豐富的 寄存器資源,采用了快速,可預(yù)測延時(shí)的連續(xù)式布線結(jié)構(gòu),是一種將cpld和 fpga的優(yōu)點(diǎn)結(jié)合于一體的器件。epf10k10lc84-4是84pinplcc封裝,另外還有其它類型的管腳和封裝,有很強(qiáng) 的選擇性。具有以下主要特點(diǎn):1萬個(gè)等效邏輯門,含有572個(gè)邏輯單元(les)、72個(gè)邏輯陣列塊(labs)、3 個(gè)嵌入式陣列塊(eab s),并具有720個(gè)片內(nèi)寄存器,可以在不占用內(nèi)部資源 的條件下實(shí)現(xiàn)6144 bit的片內(nèi)存儲器;內(nèi)部模塊間采用高速、延時(shí)可預(yù)測的快速通道連接,最高工作頻率可以達(dá)到150 mhz以上;邏輯單元間具
20、有高速、高扇出的級聯(lián)鏈和快速進(jìn)位鏈;片內(nèi)還有三態(tài)網(wǎng)絡(luò)和6個(gè)全局時(shí)鐘、4個(gè)全局清零信號以及豐富的i/o資源; 每個(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)部的定吋/計(jì)數(shù)器來實(shí)現(xiàn)電子吋鐘的方法,該方案設(shè)計(jì)由 單片機(jī)at89s51芯片和led數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個(gè)單片 機(jī)電子時(shí)鐘。時(shí)鐘的基本顯示原理:時(shí)
21、鐘開始顯示為0時(shí)0分0秒,也就是數(shù)碼管顯示000000, 然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒,分鐘加1, 10秒位回0。依次類推,時(shí)鐘最大的顯示值為23小時(shí)59分59秒。 這里只要確定了1秒的定時(shí)時(shí)間,其它位均以此為基準(zhǔn)往上累加。方案二:采用專用的時(shí)鐘芯片實(shí)現(xiàn),通過單片機(jī)讀取時(shí)鐘芯片的計(jì)時(shí)時(shí)間,在數(shù) 碼管上顯示出來,就可以實(shí)現(xiàn)電子時(shí)鐘功能,典型的時(shí)鐘芯片有:ds1302, ds12887, x1203, pcf8583等都可以實(shí)現(xiàn)電子吋鐘功能。方案三:采用fpga來實(shí)現(xiàn)電子時(shí)鐘功能,運(yùn)用vhdl語言來描述電子時(shí)鐘的 各個(gè)功能模塊。將電子時(shí)鐘分為六十進(jìn)制
22、計(jì)數(shù)器和二十四進(jìn)制計(jì)數(shù)器兩個(gè)基木的 功能模塊,然后將兩個(gè)六十進(jìn)制計(jì)數(shù)器和一個(gè)二十四進(jìn)制計(jì)數(shù)器相級聯(lián),就構(gòu)成 一個(gè)具有時(shí)、分、秒的電子時(shí)鐘。比較方案一、方案二和方案三:方案一是用軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)部的可編程 定時(shí)/計(jì)數(shù)器來實(shí)現(xiàn),但誤差很大,主耍用在對時(shí)間精度耍求不高的場合;方案 二是用專門的時(shí)鐘芯片實(shí)現(xiàn),在對時(shí)間精度要求很高的情況下,通常采用這種方 法,但該方案還具備日歷功能,造成功能上的浪費(fèi);方案三是采用fpga實(shí)現(xiàn), 運(yùn)用vhdl語言描述,設(shè)計(jì)方法簡單,而且運(yùn)用有源晶振作為系統(tǒng)的時(shí)鐘源, 通過分頻得到1hz的信號,計(jì)時(shí)精度很高,不低于方案二的計(jì)時(shí)精度,而且運(yùn) 用vhdl語言來描述電子時(shí)鐘
23、是完全的硬件實(shí)現(xiàn)。通過以上比較,系統(tǒng)中采用fpga來實(shí)現(xiàn)電子吋鐘功能。第三章系統(tǒng)電路設(shè)計(jì)3.1總體設(shè)計(jì)設(shè)計(jì)一個(gè)顯示時(shí)(2位)、分(2位)、秒(2位)共六位的多功能電子鐘,它的 主要功能是進(jìn)行準(zhǔn)確的計(jì)時(shí)。利用vhdl語言對硬件進(jìn)行描述,通過卜*載到fpga 之屮進(jìn)行硬件驗(yàn)證。系統(tǒng)采用4mhz的石英晶體振蕩器作為時(shí)鐘源,經(jīng)過分頻之 后得到1hz的秒鐘信號,秒計(jì)滿60即得1分鐘,分計(jì)滿60便得1小時(shí)的信號, 小吋計(jì)滿24即得一天,電子吋鐘的外觀圖如圖3.1所示。其中有六個(gè)按鍵用于 調(diào)整時(shí)間,復(fù)位等功能。具體功能如下:顯示時(shí)間oksetreset凋時(shí)凋分圖3.1電子鐘的外觀圖ok鍵:開始計(jì)時(shí)。set鍵
24、:與調(diào)吋、調(diào)分、調(diào)秒鍵配合,可以調(diào)整到指定的吋間。 reset鍵:清零。電子時(shí)鐘硬件總體框圖如圖3.2所示。六個(gè)八段顯示器z盤控制掃描同步電路八位選碼電路秒計(jì)數(shù)器螬1hz分頻器100hz4mhz 時(shí) 鐘信號圖3.2電子時(shí)鐘硬件總體框圖在每個(gè)功能模塊分項(xiàng)設(shè)計(jì)和組合前,先簡單介紹一下每個(gè)方塊的功能作用。(1)分頻器通過分頻將4mhz的信號分頻為1hz的秒信號和100hz的同步掃描時(shí)鐘信號。1hz的秒信號輸入到秒計(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ù)
25、碼管,使其顯示數(shù)字。掃描同步電路作用控制同一個(gè)數(shù)碼管的段碼和位碼同步,同時(shí)對多個(gè)數(shù)碼管輪 流掃描。鍵盤控制電路作用是啟動(dòng)電子吋鐘計(jì)吋,設(shè)定吋間等。3.2顯示電路設(shè)計(jì)顯不電路有l(wèi)cd和led晶不電路,系統(tǒng)中選用led品不電路,led器件是一 種發(fā)光二極管顯示器。其特點(diǎn)如下:(1) led顯示器;h;備穩(wěn)定、高速、尙單的系統(tǒng);(2) led顯示結(jié)構(gòu)簡卑、性能穩(wěn)定;(3) led顯示應(yīng)用在成熟的生產(chǎn)技術(shù)上。發(fā)光二極管組成的顯示器是單片機(jī)應(yīng)用產(chǎn)品中最常用的廉價(jià)輸出設(shè)備。八段發(fā)光 二極管結(jié)構(gòu)如圖3.3所示。af9becd(ip圖3.3八段發(fā)光二極管外型發(fā)光二極管的陽極連在一起的稱為共陽極顯示器,陰極連在
26、一起的稱為共陰極顯 示器。1位顯示器有8個(gè)發(fā)光二極管組成,其中7個(gè)發(fā)光二極管ag控制7個(gè)筆 段的亮或喑,男一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和喑,這種筆畫式的八段顯示器能顯示 的字符少。字符的形象有些失真,但控制方便,使用簡單。h圖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)是:數(shù)碼管片選端清0時(shí),對應(yīng)位的數(shù)碼管才有可能亮;每次只能有一個(gè)片選端清0,即只能動(dòng)態(tài)移位顯示相應(yīng)的數(shù)據(jù);控制器通過控制數(shù)碼管顯示相應(yīng)數(shù)字要
27、用查表子程序來實(shí)現(xiàn)。系統(tǒng)中顯示電路是由分頻電路、掃描電路、bcd碼多路選擇器、位選碼電路和 bcd譯碼器構(gòu)成的。數(shù)碼管動(dòng)態(tài)掃描電路如圖3.6所示,其中fpq為分頻器,通過分頻得到掃描時(shí)鐘 信號,時(shí)鐘信號為100hz; scan為掃描電路,它是由狀態(tài)機(jī)組成的,循環(huán)婦描 數(shù)碼管,使得數(shù)碼管穩(wěn)定的顯示數(shù)據(jù);bcdymq為bcd譯碼器,作用是將計(jì)數(shù) 器輸出的十六進(jìn)制數(shù)轉(zhuǎn)換為數(shù)碼管顯示所需要的段碼;bit為位碼,作用是輪流選擇數(shù)碼管的位。3.2.1分頻器電路掃描電路所需要的掃描吋鐘信號為100hz,是通過分頻器將系統(tǒng)的4mhz時(shí) 鐘信號經(jīng)過10000分頻之后,再通過四分頻得到的。系統(tǒng)中采用四個(gè)十進(jìn)制計(jì)數(shù)
28、 器相級聯(lián)實(shí)現(xiàn)10000分頻,然后通過兩個(gè)t觸發(fā)器實(shí)現(xiàn)四分頻得到100hz信號。 十進(jìn)制計(jì)數(shù)器的vhdl語言描述如下:library ieee;use ieee. std logic 1164.all;圖3.6數(shù)碼管動(dòng)態(tài)掃描電路use ieee.std_logic_unsigned.all;entity cnt10 isport(clk,rst,en:in std_logic;cq:out std_l0gic_vect0r(3 downto 0); cout:out stdjlogic);end cnt10;architecture behav of cnt10 isbeginprocess(
29、clk,rst,en)variable cqi:std_l0gic_vect0r(3 downto 0) beginif rst= t then cqi:= (others =();elsif clkevent and clk=t then if en = t thenif cqi < n1001n then cqi := cqi + 1;else cqi:= (others =o);end if;end if;end if;if cqi = "100then cout <= 'i1;else cout <= v;end if;cq <= cqi;en
30、d process;end behav;其中,clk為外部脈沖輸入端;rst為復(fù)位端,高電平有效,en為使能端, 高電平有效;co為計(jì)數(shù)器的計(jì)數(shù)值輸出端;cout為進(jìn)位輸出端。十進(jìn)制計(jì)數(shù) 器的仿真圖如圖3.7所示。start: |0.0ns-i函 end: !1.0us| interval: |l.0us|圖3.7十進(jìn)制計(jì)數(shù)器的仿真圖3.2.2掃描電路電路掃描電路是動(dòng)態(tài)數(shù)碼管顯示的核心部件,通過掃描電路使得同一位數(shù)碼管的段 碼、位碼能夠同步選擇并穩(wěn)定顯示數(shù)據(jù)。其vhdl語言描述如下:library ieee;use ieee.std logic 1164.all;use ieee.std_lo
31、gic_unsigned.all;entity scan isport(scan:in stdlogic;comclk:out std一logic一vector(1 downto 0);end;architecture behave of scan issignal q:std_logic_vector( 1 downto 0):="00n;beginprocess(scan)beginif scan'event and scan=u. then if q=3 thenq<=w;elseq<=q+1;end if;end if;end process;comclk
32、<=q;end;name: -scaw 卷 comclkstart: o.orts133 end: jl.ous| interval: |l.0usvalue* jl 50.0ns 100.0ns 150.0ns 200.0ns 250.0ns 300.0ns 350.0ns 400.on1 vuvwvuvwmnarutnjvwtr閣3.8掃描電路仿真閣掃描電路是由四位二進(jìn)制計(jì)數(shù)器組成的狀態(tài)機(jī)構(gòu)成的,其仿真閣如閣3.8所示。 其中scan為掃描時(shí)鐘信號輸入端,comclk為狀態(tài)輸出端。3.2.3 bcd碼多路選擇器bcd碼多路選擇器是輸入的四位的bcd碼根據(jù)掃描電路的輸出進(jìn)行選擇,然后
33、通過bcd譯碼器將對應(yīng)的bcd碼轉(zhuǎn)換成顯示所需要的段碼。library ieee;use ieee.std_logic_1164.all;entity bcdmux isport( clk:in std一logic一vector( 1 downto 0);bcddata:in std_logic_vector( 15 downto 0);bcdled:out std_logic_vector(3 downto 0);end;architecture behave of bcdmux isbeginbcdled(3 downto 0)<=bcddata(3 downto 0) after
34、5 ms when clk=h00n elsebcddata(7 downto 4) after 5 ms when clk=n0r else bcddata(11 downto 8) after 5 ms when clk=h10n elsebcddata(15 downto 12) after 5 ms ;end;其中,clk為輸入選擇,bcddata為輸入數(shù)據(jù),bcdled為輸出數(shù)據(jù)。3.2.4 bcd譯碼器bcd譯碼器是將輸入的四位二進(jìn)制數(shù)轉(zhuǎn)換成七段顯示代碼,通過對應(yīng)的顯 示代碼驅(qū)動(dòng)led顯示相應(yīng)的數(shù)據(jù),其vhdl語言描述如下:library ieee;use ieee.std_log
35、ic_1164.all;use ieee.std_logic_unsigned.all;entity bcdymq isport (bcdin:in std_logic_vector(3 downto 0);bcdout:buffer std_logic_vector(7 downto 0)end bcdymq;architecture behave of bcdymq isbeginbcdout(7 downto 0)<=n0011111 l,r when bcdin(3 downto 0)=n0000"else-0n00000110nwhenbcdin(3downto0)=
36、"0001”else-1n01011011nwhenbcdin(3downto0)=n0010nelse-2h01001111"whenbcdin(3downtoo)=oo11”else-3n01100110uwhenbcdin(3downto0)=n0100nelse-4n01101101hwhenbcdin(3downto0)=n0101"else-5"01111101”whenbcdin(3downto0)=h0110nelse6”000001llnwhenbcdin(3downtoo)="oiirelse-7"oil 1111
37、1"whenbcdin(3downto0)=n1000nelse-8,01101111hwhenbcdin(3downtoo)=nioorelse-9,01110111nwhenbcdin(3downto0)="1010”else-a"01111100"whenbcdin(3downto0)=n1011"else-bn00111001'*whenbcdin(3downto0)=n1100nelse-ciolollllo"whenbcdin(3downto0)=h1101"else-d"01111001”wh
38、enbcdin(3downto0)=h1110nelse-e"01110001”whenbcdin(3downto0)=n1111"else -fzzzzzzzz”;end behave;其中,bcdin為四位二進(jìn)制數(shù)輸入端,bcdmit為七段顯示代碼輸出端,其仿真波 形如圖3.9所示。ref: 260 0ns 卜卜| time: 94.0ns interval: -166.0nsname:value:50.0ns100.0ns150 ons200.0nsrq1直11bcdin3.o)h0bcdouth3f3fx 06 )( 5b ) 4f66 )( 6d )( 7d )
39、7f )圖3.9 bcd譯碼器仿真波形3.2.5位選碼電路位選碼電路的作用是在掃描電路作用下,依次輸出對應(yīng)的數(shù)碼管的位選碼。library ieee;use ieee.std logic 1164.all;entity bit isport( clk:in std_logic_vector( 1 downto 0);ledenable:out std_logic_vector(3 downto 0);end;architecture behave of bit isbeginledenable<=n1110n when clk=n00n else "1101n when clk
40、="01" elsen10 when clk=h10h elseend;ref: |470.0ns|其中,clk為掃描選擇信號輸入端,ledenable為位選碼數(shù)據(jù)輸出端,其仿 真波形如圖3.10所示。cm-clk1ac0l-clkd0趣 ledenablehee x dtime: 162.0nsinterval:-308.0nsname:value: _l50.0ns100.0ns150.0ns200.0ns250.0ns11111圖3.10位選碼仿真波形3.3電子時(shí)鐘汁數(shù)器電路設(shè)計(jì)電子時(shí)鐘是由兩個(gè)60進(jìn)制計(jì)數(shù)器和一個(gè)二十四進(jìn)制計(jì)數(shù)器組成的,其中二十四 進(jìn)制計(jì)數(shù)器用于時(shí)計(jì)
41、數(shù)器,60進(jìn)制計(jì)數(shù)器用于秒和分計(jì)數(shù)器。3.3.1秒和分計(jì)數(shù)器設(shè)計(jì)秒和分計(jì)數(shù)器是由六十進(jìn)制計(jì)數(shù)器組成的,而六十進(jìn)制計(jì)數(shù)器是由一個(gè)十進(jìn) 制計(jì)數(shù)器和一個(gè)六進(jìn)制計(jì)數(shù)器組成的。1、系統(tǒng)中采用的十進(jìn)制計(jì)數(shù)器采用74161來設(shè)計(jì),其設(shè)計(jì)原理閣如閣3.11所示,其中clk為外部時(shí)鐘脈沖輸入端,q0q3 為計(jì)數(shù)器計(jì)數(shù)值輸出端,cnt為進(jìn)位輸出端,ent為十進(jìn)制計(jì)數(shù)器使能端,clrn 為十進(jìn)制計(jì)數(shù)器淸零端,十進(jìn)制計(jì)數(shù)器仿真圖如圖3.12所示。74161entclrnclkbqacqddqcentqdenprcoclrnclkldnacounterq0q1q2q3cnt圖3.11十進(jìn)制計(jì)數(shù)器原理圖start: jo
42、.onsname:value:0s end:1.0usinterval:1.0us50.0ns 100.0ns 150.0ns 200.0ns 250.0ns 300.0ns 350.0ns 400.or-ent -clrn i-clkcnt q3.o1111h6iwwwuwwuwwuwu圖3.12十進(jìn)制ii數(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
43、.14所示。圖3.13六進(jìn)制計(jì)數(shù)器原理圖0.0nshf1 time:223.2nsinterval:223.2nsu.unsvalue:工 50:ns 100.0ns 150.0ns 200.0ns 250.0ns 300.oris 350,0nsname:-ent1clrn1n-clk1cnt1qq3.0j1101ho倒3.14六進(jìn)制計(jì)數(shù)器仿真閣時(shí)序閣3、六十進(jìn)制計(jì)數(shù)器設(shè)計(jì)系統(tǒng)中采用的十進(jìn)制計(jì)數(shù)器與六進(jìn)制計(jì)數(shù)器級聯(lián)構(gòu)成六十進(jìn)制計(jì)數(shù)器,其設(shè)計(jì)原 理圖如圖3.15所示,其中clk2為外部時(shí)鐘脈沖輸入端,q0q7為計(jì)數(shù)器計(jì)數(shù) 值輸出端,cnt2為進(jìn)位輸出端,ent2為十進(jìn)制計(jì)數(shù)器使能端,clrn2
44、為十進(jìn) 制計(jì)數(shù)器清零端,其中cnt10、cnt6是十進(jìn)制計(jì)數(shù)器和六進(jìn)制計(jì)數(shù)器所生成的 封裝庫。圖3.15六十進(jìn)制計(jì)數(shù)器原理圖3.3.2小時(shí)計(jì)數(shù)器設(shè)計(jì)電子時(shí)鐘電路的小時(shí)計(jì)數(shù)器是由二十四進(jìn)制計(jì)數(shù)器組成的,系統(tǒng)需要將二十四進(jìn) 制計(jì)數(shù)器的計(jì)數(shù)值分解為兩位的bcd碼,然后再送到數(shù)碼管上顯示。1、二十四進(jìn)制計(jì)數(shù)器二十四進(jìn)制計(jì)數(shù)器的vhdl語言描述如下:library ieee;use ieee. std_logic_1164.all;use ieee.std logic unsigned.all;entity cnt23 isport(clk,rst,en:in std_log1c;cq:out std_
45、logic_vector(4 downto 0);cout:out stdjlogic);end cnt23;architecture behav of cnt23 isbeginprocess(clk,rst,en)variable cqi:std_logic_vector(4 downto 0); beginif rst= t then cqi:= (others o1);-計(jì)數(shù)器復(fù)位elsif clkevent and clk=t then -檢測時(shí)鐘上升沿 if en = t then-檢測是否允許計(jì)數(shù)if cqi < ”101 ir then cqi := cqi + 1;-允
46、許計(jì)數(shù)else cqi:= (others =>)-大于 23,計(jì)數(shù)值清零end if;end if;end if;if cqi = 10111" then cout <= t;-計(jì)數(shù)大于23,輸出進(jìn)位信號else cout <= v;end if;cq <= cqi;-將計(jì)數(shù)值向端口輸出end process;end behav;其中,clk為外部脈沖輸入端,rst為復(fù)位端,高電平有效,en為使能端, 高電平有效,cq為計(jì)數(shù)脈沖輸出端,cout為進(jìn)位輸出端,其仿真圖如圖3.16 所示。ref: |690.0ns|傘 | | time: 103.5nsinte
47、rval. |-s86.5nsname:i*-rsten*-clkcoutvalue:25.0ns so.ons 75.0ns100.0n$125.0ns150.0ns175.0ns200.0ns225.0ns25000h15圖3.16二十四進(jìn)制計(jì)數(shù)器仿真波形由二十四進(jìn)制計(jì)數(shù)器生成的圖標(biāo)文件如圖3.17所示:cnt23clkcq 4 . . o-7rstcout-enjl圖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è)位,其vhdl語言描述如下:library ieee;use ieee
48、. std logic 1164.all;use ieee.std_logic_unsigned.all;entity zhhuan isport(interg : in integer range 0 to 23;ten : out std_logic_vector(3 downto 0);one : out std_logic_vector(3 downto 0); end zhhuan;architecture behav of zhhuan isbeginprocess(interg)begincase intergiswhen0| 10|20 => one<:n0000n
49、;when1|11|21 => one<="0001”;when2|12|22 => one<:n0010n;when3|13|23 => one<=n0011n;when4|14 => one<=h0100u;when5|15 => one<=h0101h;when6|16 => one<=n0110n;when7|17 => one<=01ir;when8|18 => one二"1000"when9|19 => onedoor;whenothers=one<=
50、” 1110”;end case;case interg iswhen 0|l|2|3|4|5|6|7|8|9 => ten<="0000n;when 10|ll|12|13|14|15|16|17|18|19 => ten<="0001”;when 20|21|22|23 => ten<=h0010m;when others => ten<="l 110"end case; end process; end behav;其中interg為輸入的十進(jìn)制數(shù)據(jù),ten和one為分解后的十位數(shù)據(jù)和個(gè)位數(shù)據(jù),其仿真
51、圖如圖3.18所示,它生成的圖標(biāo)文件如圖3.19所示:start: |o.0ns| .卜 1 end: |l.0us| interval: 11 ous|圖3.18二十叫進(jìn)制計(jì)數(shù)器的計(jì)數(shù)值分解力十位和個(gè)位仿真圖zhhuaninte rg4. . oten3.one3.-oj-oj圖3.19二十叫進(jìn)制計(jì)數(shù)器的計(jì)數(shù)值分解力十位和個(gè)位生成的圖標(biāo)3、吋計(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為輸入的秒信號;ent2為 使能信號,高電平有效。圖3.20時(shí)鐘系統(tǒng)總體鍵盤的硬件結(jié)構(gòu)為獨(dú)立式鍵盤,直接連到epf10k10lc84-4芯片的引腳上,其特 點(diǎn)是便于編程操作。1)開始/停止鍵key的設(shè)計(jì)我們將此鍵經(jīng)去抖后連接一 t觸發(fā)器,使其輸出為電平方式,即按鍵盤一次,電平 進(jìn)行一次翻轉(zhuǎn)。輸出q0端接74161芯片的ent端,從而達(dá)到丫控制秒表的啟動(dòng) 停止。其原理圖如圖3.21所示。為了使鍵盤達(dá)到按下清零,松開恢復(fù)的功能,key1鍵我們應(yīng)用脈沖輸出方式, 即按鍵盤
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育培訓(xùn)檔口租賃合同
- T-ZJCX 0046-2024 簾子線直捻機(jī)
- 二零二五年度公車私用行為規(guī)范與責(zé)任追究協(xié)議
- 二零二五年度全新碼頭租賃協(xié)議及倉儲服務(wù)合作協(xié)議
- 2025年度果園租賃與農(nóng)業(yè)科技研發(fā)合同
- 二零二五年度廣告代理合同解除與權(quán)益調(diào)整協(xié)議
- 2025年度高科技企業(yè)計(jì)件工資勞動(dòng)合同
- 2025年度智能合同履約跟蹤與風(fēng)險(xiǎn)控制管理辦法
- 2025年度消防設(shè)施定期維護(hù)與消防通道清理合同
- 二零二五年度美發(fā)店員工勞動(dòng)健康保險(xiǎn)與意外傷害合同
- 醫(yī)院轉(zhuǎn)診轉(zhuǎn)院記錄單
- 余熱回收節(jié)能技術(shù)課件
- 表面工程學(xué)第四章-表面淬火和表面形變強(qiáng)化技術(shù)
- 健康管理調(diào)查表
- 汶川地震波時(shí)程記錄(臥龍3向)
- NACHI那智機(jī)器人(操作篇)課件
- 企業(yè)員工培訓(xùn)PPT課件:職務(wù)犯罪培訓(xùn)
- 場地租賃安全管理協(xié)議書
- 數(shù)學(xué)物理方程(很好的學(xué)習(xí)教材)PPT課件
- 電力建設(shè)工程質(zhì)量監(jiān)督檢查大綱新版
- GB-T-15894-2008-化學(xué)試劑-石油醚
評論
0/150
提交評論