基于FPGA的學校打鈴器設(shè)計說明_第1頁
基于FPGA的學校打鈴器設(shè)計說明_第2頁
基于FPGA的學校打鈴器設(shè)計說明_第3頁
基于FPGA的學校打鈴器設(shè)計說明_第4頁
基于FPGA的學校打鈴器設(shè)計說明_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 . PAGE43 / NUMPAGES47基于FPGA的學校打鈴器的設(shè)計本論文歸作者所有,僅供學習參考,盜者必究!作 者 姓 名 cici專 業(yè) 電子信息工程 指導(dǎo)教師 jiji專業(yè)技術(shù)職務(wù) 教授目 錄 TOC o 1-3 h z u HYPERLINK l _Toc327129183摘 要 PAGEREF _Toc327129183 h 1HYPERLINK l _Toc327129184第一章 緒論 PAGEREF _Toc327129184 h 3HYPERLINK l _Toc3271291851.1 選題目的 PAGEREF _Toc327129185 h 3HYPERLINK l

2、 _Toc3271291861.2 課題研究容 PAGEREF _Toc327129186 h 4HYPERLINK l _Toc3271291871.2.1 FPGA的發(fā)展歷程 PAGEREF _Toc327129187 h 4HYPERLINK l _Toc3271291881.2.2 FPGA的優(yōu)點 PAGEREF _Toc327129188 h 4HYPERLINK l _Toc3271291891.3 器件與工具介紹 PAGEREF _Toc327129189 h 5HYPERLINK l _Toc3271291901.3.1 Quartus設(shè)計步驟 PAGEREF _Toc3271

3、29190 h 5HYPERLINK l _Toc3271291911.3.2 VHDL特點 PAGEREF _Toc327129191 h 5HYPERLINK l _Toc327129192第二章 系統(tǒng)方案設(shè)計 PAGEREF _Toc327129192 h 5HYPERLINK l _Toc3271291932.1 設(shè)計方案分析與選擇 PAGEREF _Toc327129193 h 5HYPERLINK l _Toc3271291942.2 學校打鈴器總體構(gòu)成 PAGEREF _Toc327129194 h 6HYPERLINK l _Toc3271291952.3 分頻模塊設(shè)計 PAG

4、EREF _Toc327129195 h 7HYPERLINK l _Toc3271291962.4 消抖模塊設(shè)計 PAGEREF _Toc327129196 h 8HYPERLINK l _Toc3271291972.5 時鐘模塊設(shè)計 PAGEREF _Toc327129197 h 10HYPERLINK l _Toc3271291982.5.1 秒計數(shù)模塊 PAGEREF _Toc327129198 h 10HYPERLINK l _Toc3271291992.5.2 分計數(shù)模塊 PAGEREF _Toc327129199 h 11HYPERLINK l _Toc3271292002.5.

5、3 時計數(shù)模塊 PAGEREF _Toc327129200 h 12HYPERLINK l _Toc3271292012.5.4 調(diào)時模塊 PAGEREF _Toc327129201 h 12HYPERLINK l _Toc3271292022.6 鬧鐘模塊設(shè)計 PAGEREF _Toc327129202 h 13HYPERLINK l _Toc3271292032.6.1 定時模塊 PAGEREF _Toc327129203 h 14HYPERLINK l _Toc3271292042.6.2 比較模塊 PAGEREF _Toc327129204 h 15HYPERLINK l _Toc32

6、71292052.7 打鈴模塊設(shè)計 PAGEREF _Toc327129205 h 16HYPERLINK l _Toc3271292062.8 報警模塊設(shè)計 PAGEREF _Toc327129206 h 19HYPERLINK l _Toc3271292072.8.1 報警時長設(shè)定模塊 PAGEREF _Toc327129207 h 19HYPERLINK l _Toc3271292082.8.2 蜂鳴器發(fā)聲模塊 PAGEREF _Toc327129208 h 20HYPERLINK l _Toc3271292092.9 顯示模塊設(shè)計 PAGEREF _Toc327129209 h 21H

7、YPERLINK l _Toc3271292102.9.1 時間切換模塊 PAGEREF _Toc327129210 h 21HYPERLINK l _Toc3271292112.9.2 動態(tài)掃描模塊 PAGEREF _Toc327129211 h 23HYPERLINK l _Toc3271292122.10 按鍵電路設(shè)計 PAGEREF _Toc327129212 h 25HYPERLINK l _Toc3271292132.11 電源電路設(shè)計 PAGEREF _Toc327129213 h 26HYPERLINK l _Toc327129214第三章 實驗結(jié)果分析 PAGEREF _To

8、c327129214 h 27HYPERLINK l _Toc3271292153.1 測試過程 PAGEREF _Toc327129215 h 27HYPERLINK l _Toc3271292163.2 結(jié)果分析 PAGEREF _Toc327129216 h 29HYPERLINK l _Toc327129217參考文獻 PAGEREF _Toc327129217 h 31HYPERLINK l _Toc327129218附 錄 PAGEREF _Toc327129218 h 32HYPERLINK l _Toc327129219致 PAGEREF _Toc327129219 h 41摘

9、 要打鈴器為學校上下課時間的準確控制提供了很大的便利,并且在工廠、辦公室等場合也起到了提醒人們時間的作用,因此打鈴器的設(shè)計有一定的實用意義。本設(shè)計的學校打鈴器采用基于現(xiàn)場可編程門陣列(FPGA)的方法,底層模塊采用硬件描述語言(HDL)設(shè)計,不僅能對時、分、秒正常計時和顯示,而且還可進行鬧鈴時間的設(shè)定,上下課時間報警,報警時間可在1至15秒自由設(shè)定。系統(tǒng)主芯片采用美國Altera公司的EP3C40F484I7器件,由時鐘模塊、控制模塊、鬧鐘模塊、定時模塊、數(shù)據(jù)譯碼模塊、顯示以與報時等模塊組成,由按鍵進行時鐘的校時、清零、啟停等。本文在介紹FPGA器件的基礎(chǔ)上,著重闡述了如何使用FPGA器件進行

10、系統(tǒng)的開發(fā),以與如何實現(xiàn)學校打鈴系統(tǒng)。通過仿真驗證與實際測試,打鈴器具有正常計時、定時報警、報警時長設(shè)定等功能,可為日常作息提供準確、便捷的提醒。系統(tǒng)運行穩(wěn)定,設(shè)計方法可行。關(guān)鍵詞:打鈴器 現(xiàn)場可編程門陣列 硬件描述語言 ABSTRACTSchool Bell provides great convenience for people to control the accurate bell-time in school, and also plays an important role in the work and life in factories, offices, and many

11、other occasions. So it is of great practical significance for us. This design is based on FPGA and the underlying module is designed by HDL. Not only can it display the right time in hour, minute and second, but the alarming time can also be setted from 1s to 15s, which rings on class time. We choos

12、e EP3C40F484I7(Altera Corp.,the USA) as the system main chip. This system is made of five modules,including the clock module, control module, alarm clock, time decoding module, display module, data and time module,etc. You can press the keys to correct or clean the time, and start or stop the clock.

13、 Based on describing devices of FPGA,this article focuses on the development method and the way to implement a school bell system.Through simulation and practical test, this system has the function of normal timing, alarming, alarming-time setting, which can provide convenient and accurate remind of

14、 daily routine.It is proved that the operation of this system is stable, and the design method is possible.Key words:alarm clock;Field Programmable Gate Array;hardware description language第一章 緒論1.1選題目的當今社會,電子技術(shù)的應(yīng)用無處不在,電子技術(shù)正在不斷地改變我們的生活,改變著我們的世界。在這快速發(fā)展的年代,時間對人們來說是越來越寶貴,在快節(jié)奏的生活時,人們往往忘記了時間,一旦遇到重要的事情而忘記了

15、時間,這將會帶來很大的損失。因此我們需要一個定時系統(tǒng)來提醒這些忙碌的人。數(shù)字化的時鐘給人們帶來了極大的方便。近些年,隨著科技的發(fā)展和社會的進步,人們對時鐘的要求也越來越高,傳統(tǒng)的時鐘已不能滿足人們的需求。多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質(zhì)的變化,學校打鈴器就是以時鐘為基礎(chǔ)的,在平時校園生活中是必不可少的工具。打鈴器的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大擴展了時鐘原先的報時功能。諸如定時自動報警、定時啟閉電路、定時開關(guān)烘箱、通斷動力設(shè)備,甚至各種定時電氣的自動啟用等,所有這些,都是以時鐘數(shù)字化為基礎(chǔ)的。因此,研究時鐘與擴展應(yīng)用,有著非常現(xiàn)實的意義。電鈴廣泛應(yīng)用于學校、機關(guān)與工礦

16、企事業(yè)單位,可實現(xiàn)作息時間的固定周期打鈴,提示人們工作、學習或是休息。自古以來教育就已經(jīng)成為社會生活中必不可少的一部分,隨著教育體系的逐漸完善,定時提醒上下課時間的工具也尤為重要,不僅是學校中,在工廠、辦公室等任何需要時間提醒的場合,打鈴器都擁有舉足輕重的位置,尤其是進入現(xiàn)代化社會以后,準確、方便的多功能打鈴器便具有獨特的研究意義。另外,打鈴器也擁有悠久的歷史,從最早的人工打鈴,到如今的電動打鈴、智能打鈴,經(jīng)歷了一系列的變革,人工打鈴不僅費時費力,而且準確性也不能保證,還可能會造成人為的誤時誤報。當代社會飛速發(fā)展的主要標志之一就是信息產(chǎn)品的廣泛使用,而且產(chǎn)品的性能越來越強,復(fù)雜程度越來越高,更

17、新步伐越來越快。支撐信息電子產(chǎn)品高速發(fā)展的基礎(chǔ)就是微電子制造工藝水平的提高和電子產(chǎn)品設(shè)計開發(fā)技術(shù)的發(fā)展。隨著技術(shù)的發(fā)展,出現(xiàn)了各種各樣的打鈴器,有些帶有音樂播放功能,可編入作息時間程序,并且能同時控制路燈、廣播等其他電器,無線音樂打鈴器無需施工布線,降低了安裝成本,還可以根據(jù)使用需要隨時移動音樂電鈴的位置,無線遙控的距離可達500米,成為學校、部隊、工廠等部門的打鈴控制新寵,十分簡潔、便捷。如今電子產(chǎn)品正向功能多元化,體積最小化,功耗最低化的方向發(fā)展。它與傳統(tǒng)的電子產(chǎn)品在設(shè)計上的顯著區(qū)別是大量使用大規(guī)??删幊踢壿嬈骷巩a(chǎn)品的性能提高,體積縮小,功耗降低,同時廣泛運用現(xiàn)代計算機技術(shù),提高產(chǎn)品的

18、自動化程度和競爭力,縮短研發(fā)周期1。EDA技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學科最新科技成果而形成的一門新技術(shù)。本設(shè)計將借助EDA技術(shù),完成基于FPGA器件的學校打鈴器的設(shè)計。EDA技術(shù)的發(fā)展經(jīng)歷了一個由淺到深的過程,先后經(jīng)歷了CAD、CAE和現(xiàn)代意義上的EDA三個階段。在可編程邏輯器件(PLD)部,數(shù)字電路可用硬件描述語言可以進行方便的描述,經(jīng)過生成元件后可作為一個標準元件進行調(diào)用。同時,借助于開發(fā)設(shè)計平臺,可以進行系統(tǒng)的仿真和硬件測試等。對于數(shù)字電子技術(shù)實驗和課程設(shè)計等,特別是數(shù)字系統(tǒng)性的課題,借助PLD器件和硬件描述語言等開發(fā)手段,即可設(shè)計出各種比較復(fù)雜的數(shù)字系統(tǒng),如設(shè)計頻率計

19、、交通控制燈、秒表等,有助于實驗質(zhì)量的提高和對學生綜合能力的鍛煉。同時,作為電子信息工程專業(yè)的學生,EDA技術(shù)應(yīng)用于畢業(yè)設(shè)計中,可快速、經(jīng)濟地設(shè)計各種高性能的電子系統(tǒng),并且很容易實現(xiàn)、修改與完善。1.2課題研究容隨著社會的發(fā)展,科技水平的日益提高,很多高新技術(shù)都應(yīng)用于電子設(shè)計產(chǎn)品的設(shè)計中,比如,本設(shè)計中的學校打鈴器就應(yīng)用了FPGA技術(shù),不僅能夠非常準確的設(shè)定響鈴時間,而且能直觀地顯示時、分、秒等信息,為人們的使用帶來了很大的方便。本課題是基于FPGA的學校打鈴器的設(shè)計,下面簡要介紹現(xiàn)場可編程門陣列(FPGA)的發(fā)展歷程與其優(yōu)點。1.2.1FPGA的發(fā)展歷程作為一種可編程邏輯器件,現(xiàn)場可編程門陣

20、列(Field Programmable Gate Array,F(xiàn)PGA)的出現(xiàn)是PLD發(fā)展變化的必然,他的出現(xiàn)推動著可編程邏輯器件的進一步發(fā)展。因此說,了解了可編程邏輯器件的發(fā)展歷程,也就了解了FPGA的發(fā)展歷程。PLD是20世紀70年代發(fā)展起來的一種新型器。它的應(yīng)用不僅簡化了電路設(shè)計,降低了成本,提高了系統(tǒng)的可靠性,而且給數(shù)字系統(tǒng)的設(shè)計方式帶來了革命性的變化,其結(jié)構(gòu)和工藝的變化經(jīng)歷了一個不斷發(fā)展的過程。20世紀70年代,早期的可編程邏輯器件只有可編程只讀存儲器(PROM)、紫外線可擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(EEPROM)3種。隨后,出現(xiàn)了一類結(jié)構(gòu)稍微復(fù)雜的可編程芯片

21、,即可編程邏輯陣列(Programmable Logic Array,PLA)。PLA在結(jié)構(gòu)上由一個可編程的與陣列和可編程的或陣列構(gòu)成,陣列規(guī)模小,編程過程復(fù)雜繁瑣。PLA既有現(xiàn)場可編程的,又有掩膜可編程的2。如今,F(xiàn)PGA期間已經(jīng)成為當前主流的可編程邏輯器件之一。經(jīng)過20年的發(fā)展,可編程邏輯器件已經(jīng)取得了長足的進步,資源更加豐富,使用越來越方便。將來的可編程邏輯器件,密度會更高,速度會更快,功耗會更低,同時還會增加更多的功能,向著繼承了可編程邏輯、CPU、存儲器等組件的可編程單片系統(tǒng)(System On Programmable Chip,SOPC)方向發(fā)展。1.2.2FPGA的優(yōu)點概括地說

22、,F(xiàn)PGA器件具有下列優(yōu)點:高密度、高速度、系列化、標準化、小型化、多功能、低功耗、低成本,設(shè)計靈活方便,可無限次反復(fù)編程,并可現(xiàn)場模擬調(diào)試驗證。使用FPGA器件,一般可在幾天到幾周完成一個電子系統(tǒng)的設(shè)計和制作,可以縮短研制周期,達到快速上市和進一步降低成本的要求。用FPGA器件實現(xiàn)數(shù)字系統(tǒng)時用的芯片數(shù)量少,從而減少芯片的使用數(shù)目,減少印刷線路板面積和印刷線路板數(shù)目,最終導(dǎo)致系統(tǒng)規(guī)模的全面縮減3。1.3器件與工具介紹1.3.1Quartus設(shè)計步驟Quartus II 是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以與AHDL(Altera Hardwar

23、e Description Language)等多種設(shè)計輸入形式。嵌自有的綜合器以與仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程4。其設(shè)計流程包括設(shè)計輸入、編譯、仿真與定時分析、編程與驗證。設(shè)計輸入包括原理圖輸入、HDL 文本輸入、EDIF 網(wǎng)表輸入、波形輸入等幾種方式。編譯時要根據(jù)設(shè)計要求設(shè)定編譯方式和編譯策略,然后根據(jù)設(shè)定的參數(shù)和策略對設(shè)計項目進行網(wǎng)表提取、邏輯綜合、器件適配,供分析、仿真和編程使用。設(shè)計完成后需要進行仿真,可以測試設(shè)計的邏輯功能和延時特性。最后可以用得到的編程文件通過編程電纜配置PLD,進行在線測試。在設(shè)計過程中,如果出現(xiàn)錯誤,則需重新回到設(shè)計輸入階段,改正錯

24、誤或調(diào)整電路后重新測試。1.3.2VHDL特點硬件描述語言HDL(HardwareDescriptionLanguage)誕生于1962年。與SDL(SoftwareDescriptionLanguage)相似,經(jīng)歷了從機器碼(晶體管和焊接)、匯編(網(wǎng)表)、到高級語言(HDL)的過程5。HDL是用形式化的方法描述數(shù)字電路和設(shè)計數(shù)字邏輯系統(tǒng)的語言。主要用于描述離散電子系統(tǒng)的結(jié)構(gòu)和行為。HDL和原理圖是兩種最常用的數(shù)字硬件電路描述方法,HDL 設(shè)計法具有更好的可移植性、通用性和模塊劃分與重用性的特點,在目前的工程設(shè)計開發(fā)流程是基于 HDL 的6。在目前的工程設(shè)計中被廣泛使用。所以,我們在使用 FP

25、GA 設(shè)計數(shù)字電路時,其開發(fā)流程是基于HDL的。VHDL描述數(shù)字電路系統(tǒng)設(shè)計的行為、功能、輸入和輸出。它在語法上與現(xiàn)代編程語言相似,比如C語言。應(yīng)用VHDL進行系統(tǒng)設(shè)計,有以下幾方面的特點:功能強大、可移植性、獨立性、可操作性、靈活性。第二章 系統(tǒng)方案設(shè)計2.1設(shè)計方案分析與選擇方案一:采用通用數(shù)字器件來設(shè)計。比如,打鈴器結(jié)構(gòu)組成中最基本的是數(shù)字鐘。數(shù)字鐘實際上是一個對標準頻率(1HZ)進行計數(shù)的計數(shù)電路。由于計數(shù)的起始時間不可能與標準時間(如時間)一致,故需要在電路上加一個校時電路,同時標準的1HZ時間信號必須做到準確穩(wěn)定。采用此方法設(shè)計數(shù)字鐘通常使用石英晶體振蕩器電路構(gòu)成數(shù)字鐘。基于此設(shè)計

26、方案的數(shù)字鐘部分結(jié)構(gòu)組成如圖2-1所示。圖2-1 數(shù)字鐘部分結(jié)構(gòu)組成方案二:采用基于FPGA的EDA技術(shù)來設(shè)計。打鈴器結(jié)構(gòu)組成中的數(shù)字部分可全部在FPGA部完成,底層模塊可以采用HDL語言或者軟件中的庫元件。這種設(shè)計方法可使得系統(tǒng)的集成度提高,抗干擾能力也相應(yīng)提高。綜合分析和比較方案一和二,方案二中利用EDA技術(shù)設(shè)計學校打鈴器相對設(shè)計方式靈活,系統(tǒng)連線簡單并易于校驗,修改與完善也相對便捷,可以避免方案一中所用的芯片比較多,連線過于麻煩的問題。因此,本設(shè)計總體設(shè)計方案采用基于EDA技術(shù)的方法。2.2學校打鈴器總體構(gòu)成本設(shè)計容為基于FPGA的學校打鈴器,控制器底層模塊采用硬件描述語言設(shè)計,頂層模塊

27、設(shè)計方法采用原理圖方式;打鈴器具有計時功能,能對時、分、秒正常計時和顯示;又具有定時打鈴功能,當設(shè)定的打鈴時間與學校上下課時間點一樣時打鈴;并且計時時間、定時時間、打鈴時長(1S15S)自由設(shè)置和調(diào)整,其數(shù)據(jù)信息通過數(shù)碼管或LCD顯示。學校打鈴器總體設(shè)計框圖如圖2-2所示。振蕩器產(chǎn)生穩(wěn)定的高頻脈沖信號,作為數(shù)字鐘的時間基準,然后經(jīng)過分頻器輸出標準秒脈沖。秒計數(shù)器滿60后向分計數(shù)器進位,分計數(shù)器滿60后向小時計數(shù)器進位,小時計數(shù)器按照“24翻1”規(guī)律計數(shù)。計滿后各計數(shù)器清零,重新計數(shù)。計數(shù)器的輸出分別經(jīng)譯碼器送數(shù)碼管顯示。在控制信號中除了一般的校時信號外,還有時鐘清零信號。時基電路可以由石英晶體

28、振蕩電路構(gòu)成,晶振頻率為25MHz,經(jīng)過分頻可得到秒脈沖信號。譯碼顯示電路由七段譯碼器完成,顯示由數(shù)碼管構(gòu)成。圖2-2 學校打鈴器總體設(shè)計框圖2.3分頻模塊設(shè)計晶體振蕩器是構(gòu)成數(shù)字時鐘的核心,振蕩器的穩(wěn)定度與頻率的精度決定了數(shù)字鐘計時的準確程度,它保證了時鐘的走時準確與穩(wěn)定。石英晶體的選頻特性非常好,只有某一頻率點的信號可以通過它,其它頻率段的信號均會被它所衰減,而且振蕩信號的頻率與振蕩電路中的R、C元件的數(shù)值無關(guān)7。因此,這種振蕩電路輸出的是準確度極高的信號。本設(shè)計FPGA外部使用的是25MHz晶振,在其部再根據(jù)需要進行分頻。如圖2-3所示為分頻模塊連接圖。分頻模塊由25k分頻、200分頻、

29、5分頻、50k分頻、250分頻組成。其中25k分頻的輸出作為按鍵消抖模塊的輸入時鐘信號,其頻率為1kHz;200分頻的輸出作為計時模塊調(diào)分模塊的時鐘輸入,其頻率為5Hz,周期為0.2s;5分頻的輸出作為計時模塊中秒計時的輸入,為1Hz頻率的1s時鐘信號;50k分頻的輸出作為動態(tài)掃描模塊的輸入時鐘,其頻率為500Hz;250分頻的輸出作為計時模塊調(diào)時模塊的輸入時鐘,其頻率為2Hz,周期為0.5s。圖2-3 分頻模塊連接圖現(xiàn)以5分頻為例進行仿真,當時鐘到第五個上升沿時,輸出由“0”變?yōu)椤?”,下降沿時又由“1”變?yōu)椤?”,產(chǎn)生一個脈沖。滿足設(shè)計要求。如圖2-4、2-5所示分別為分頻模塊仿真圖與其R

30、TL圖。圖2-4 分頻模塊仿真圖圖2-5 分頻模塊RTL圖2.4消抖模塊設(shè)計按鍵開關(guān)電子設(shè)備實現(xiàn)人機對話的重要的器件之一8。由于大部分按鍵式機械觸點,在觸點閉合和斷開時都會產(chǎn)生抖動,為避免抖動引起的誤動作造成系統(tǒng)的不穩(wěn)定,就要求消除按鍵的抖動,確保按鍵每按一次只做一次響應(yīng)。絕大多數(shù)按鍵都是機械式開關(guān)結(jié)構(gòu),由于機械式開關(guān)的核心部件為彈性金屬簧片,因而在開關(guān)切換的瞬間會在接觸點出現(xiàn)來回彈跳的現(xiàn)象,雖然只是進行了一次按鍵,結(jié)果在按鍵信號穩(wěn)定的前后出現(xiàn)了多個脈沖9。如果將這樣的信號直接送給微處理器掃描采集的話,將可能把按鍵穩(wěn)定前后出現(xiàn)的脈沖信號當做按鍵信號,這就出現(xiàn)人為的一次按鍵但微處理器以為多次按鍵

31、的現(xiàn)象。機械式按鍵的抖動次數(shù)、抖動時間、抖動波形都是隨機的,不同類型的按鍵其最長抖動時間也有差別,抖動時間的長短和按鍵的機械特征有關(guān),一般為510ms,但是,有些按鍵的抖動時間可達到20ms,甚至更長。在本設(shè)計初期完成后,下載程序測試時,撥動按鍵或者按下按鍵時顯示出現(xiàn)異常,這就需要加入按鍵消抖模塊。按鍵消抖模塊一般有硬件和軟件兩種方式,硬件就是加入去抖動電路,這樣從根本上解決了按鍵抖動問題,除了專用電路以外,還可用編程FPGA或者CPLD設(shè)計相應(yīng)的邏輯和時序電路,對按鍵信號進行處理,同樣可以達到去抖動的目的,本次設(shè)計中采用硬件模塊消抖動方式。模塊的實現(xiàn)方法是先判斷是否有按鍵按下,如有按鍵按下則

32、延時一段時間,待抖動過去之后再讀行線狀態(tài),如果仍有低電平行線,則確定有按鍵按下,然后產(chǎn)生一個有按鍵按下的信號。該模塊有一個時鐘輸入端口,輸入時鐘信號是分頻出來的1kHZ的時鐘;有一個輸入端口與按鍵端相連;一個輸出端口,用于輸出有按鍵按下的信號。如圖2-6所示為消抖模塊符號圖。圖2-6 消抖模塊符號圖本設(shè)計的按鍵消抖模塊部電路相當于一個D觸發(fā)器,如圖2-7所示為消抖模塊RTL圖。圖2-7 消抖模塊RTL圖該模塊在這里實現(xiàn)的比較簡單,原理是當有按鍵按下的時候,d會變成高電平,當有時鐘上升沿到來且按鍵按下時,q輸出高電平。由于時鐘脈沖為1kHZ,故從有按鍵按下到輸入信號產(chǎn)生大概需要1ms。而按鍵產(chǎn)生

33、抖動的時間大約2ms到10ms,所以一旦計數(shù)完成,抖動已經(jīng)過去,不會發(fā)生重鍵現(xiàn)象了,這樣就去除了抖動。如圖2-8所示為按鍵消抖模塊波形仿真圖。圖2-8消抖模塊波形仿真2.5時鐘模塊設(shè)計時鐘模塊是學校打鈴器最基本的模塊,主要實現(xiàn)基本計時、調(diào)時、調(diào)分功能,包括秒計數(shù)模塊、分計數(shù)模塊、時計數(shù)模塊和調(diào)時模塊。2.5.1秒計數(shù)模塊如圖2-9所示為秒計數(shù)模塊符號圖。輸入端口clr是秒計數(shù)模塊的清零信號,也是整個數(shù)字中的使能信號,低電平有效; cp是秒脈沖輸入端口,外接分頻模塊頻率為1Hz的時鐘信號;輸出端口sqmsl3.0是秒時鐘的低位,sqmsh3.0是高位;co端口是進位輸出端口,當秒計數(shù)到59時輸出

34、高電平,其它時候輸出低電平。圖2-9 秒計數(shù)模塊符號圖如圖2-10、2-11所示分別為秒計數(shù)模塊RTL圖與波形仿真圖。由圖可以看出,隨著1s時鐘脈沖上升沿的到來,每來一次秒計數(shù)的低位就產(chǎn)生一個脈沖,當計到9時變?yōu)?,秒計數(shù)的高位變?yōu)?,當?shù)臀粸?,高位為5時,也就是計到59時,高、低位都變?yōu)?,且輸出co產(chǎn)生一個脈沖信號,由仿真圖可知滿足設(shè)計的要求。圖2-10 秒計數(shù)模塊RTL圖圖2-11 秒計數(shù)模塊波形仿真圖2.5.2分計數(shù)模塊如圖2-12、2-13所示為分計數(shù)模塊符號圖與RTL圖。輸入端口clr是分計數(shù)模塊的清零信號,也是整個數(shù)字中的使能信號,低電平有效; clk是秒脈沖輸入端口輸出端口;

35、min03.0是分計時的低位,min13.0是分計時的高位;co端口是進位輸出端口,接時計數(shù)的clk作為時鐘輸入,當秒計數(shù)到59時輸出高電平,其它時候輸出低電平。圖2-12 分計數(shù)模塊符號圖圖2-13 分計數(shù)模塊RTL圖如圖2-14所示為分計數(shù)模塊波形仿真圖。給clk一定時鐘信號之后,clr高電平清零無效,每次達到時鐘脈沖上升沿時,分計數(shù)低位min0計一個數(shù),計到9時向高位進位,當計到59時,模塊進位輸出co產(chǎn)生一個脈沖信號,由仿真圖可知此模塊設(shè)計滿足設(shè)計要求。圖2-14 分計數(shù)模塊波形仿真圖2.5.3時計數(shù)模塊圖2-15 時計數(shù)模塊符號圖如圖2-15所示為時計數(shù)模塊符號圖。輸入端口clr是時

36、計數(shù)模塊的清零信號,也是整個數(shù)字中的使能信號,低電平有效; clk是秒脈沖輸入端口輸出端口;sl3.0是分計時的低位,sh3.0是分計時的高位。圖2-16 時計數(shù)模塊波形仿真圖時計數(shù)模塊波形仿真圖如圖2-16所示。clk接分計時模塊的僅為輸出,給定時鐘信號,clr高電平清零無效,每次達到時鐘脈沖上升沿時,時計數(shù)低位sl計一個數(shù),計到9時向高位進位,當計到24時,高、低都變?yōu)榱?,計?shù)重新開始,由仿真圖可知此模塊設(shè)計滿足設(shè)計要求。2.5.4調(diào)時模塊圖2-17調(diào)時模塊符號圖如圖2-17所示為調(diào)時模塊符號圖。本設(shè)計的調(diào)時模塊類似于二選一數(shù)據(jù)選擇器,輸入端口key是調(diào)時模塊的調(diào)時開關(guān),當為高電平是輸出a

37、的數(shù)據(jù),當為低電平時輸出b的數(shù)據(jù);a端接上一個計時模塊的進位輸出;b端接分頻器的輸出時鐘脈沖;c為模塊的輸出,作為計時模塊的輸入時鐘。由此可知當key為低電平時可進行調(diào)時、調(diào)分。圖2-18調(diào)時模塊波形仿真圖如圖2-18所示為調(diào)時模塊波形仿真圖。當key為低電平時,調(diào)時模塊輸出b的脈沖;當key為高電平時,輸出a的脈沖。由此可知,本模塊滿足設(shè)計要求。2.6鬧鐘模塊設(shè)計圖2-19鬧鐘模塊總體設(shè)計框圖如圖2-19所示為鬧鐘模塊總體設(shè)計框圖。本模塊主要由定時模塊、比較模塊組成,另外還有正常計時時間和定時時間輸出選擇切換模塊,連接基本數(shù)字鐘模塊的時、分、秒輸出,以與定時時間的時、分輸出,另一端連接動態(tài)顯

38、示模塊,通過外部按鍵來選擇基本時鐘或者是鬧鐘時間設(shè)定的顯示。定時控制模塊有復(fù)位鍵、調(diào)時調(diào)分切換鍵、累加鍵,來設(shè)定鬧鐘時間。2.6.1定時模塊如圖2-20、2-21所示分別為定時模塊符號圖與RTL圖。輸入端口reset是定時模塊的復(fù)位信號,也是整個打鈴器的使能信號,低電平有效; k1是鬧鐘時間設(shè)定時、分切換按鍵,高電平時對時進行調(diào)節(jié),低電平時對分進行調(diào)節(jié);up_key是調(diào)整鬧鐘時間的累加按鍵,另一端接按鍵消抖模塊,每按一次計數(shù)加一;Q_tmpma、Q_tmpmb、Q_tmpha、Q_tmphb分別為鬧鐘時間的分低位、分高位、時低位時高位。圖2-20定時模塊符號圖圖2-21定時模塊RTL圖如圖2-

39、22所示為定時模塊波形仿真圖。當復(fù)位鍵為高電平、k1為低電平時,每按下一次up_key鬧鐘分低位就計一個數(shù),計到9時向高位進一,當計到59時重新從0開始計數(shù);當復(fù)位鍵為高電平、k1為高電平時,開始對時計數(shù),up_key每來一個脈沖時低位就計一個數(shù),計到9時變?yōu)?,高位進位,計到23時重新計數(shù),由波形仿真克制此模塊滿足設(shè)計要求。圖2-22 定時模塊波形仿真圖2.6.2比較模塊如圖2-23所示為比較模塊設(shè)計框圖。設(shè)計思路為:將鬧鐘設(shè)定的時間與與時模塊的時間分別比較,即時高位、時低位、分高位、分低位分別進行比較,若時間相等,則輸出高電平,輸出信號與1Hz時鐘信號相與,獲得的信號接蜂鳴器,可實現(xiàn)時隔一

40、秒報警一次,報警時長為一秒。圖2-23比較模塊設(shè)計框圖如圖2-24所示為比較模塊符號圖。Clk0為比較模塊的時鐘,接200分頻器輸出的1Hz時鐘信號;QH_B3.0為時鐘的時高位,QH_A3.0為時鐘的時低位,QMB3.0為時鐘的分高位,QM_A3.0為時鐘的分低位;HARM_B3.0為鬧鐘時間的時高位,HARM_A3.0為鬧鐘時間的時低位,MARM_B3.0為鬧鐘時間的分高位,MARM_A3.0為鬧鐘時間的分低位;SPEAK為比較模塊的輸出,接報警時長設(shè)定模塊的輸入。圖2-24 比較模塊符號圖如圖2-25所示為比較模塊波形仿真圖。給clk0一定時鐘,設(shè)定鬧鐘時間時高位為1,時低位為2,分高位

41、、分低位都為0,即鬧鐘時間為十二點整,;首先設(shè)定時鐘模塊的時高位設(shè)定為1,時低位為1,分高位為5,分低位為9,即十一點五十九分,再設(shè)定為十二點整;由波形仿真圖可知,當時鐘時間由十一點五十九分變?yōu)槭c整時,speak輸出時鐘波形,可知比較模塊的設(shè)計滿足要求。圖2-25比較模塊波形仿真圖2.7打鈴模塊設(shè)計如表2-1所示為學校作息時間。學校作息時間分為春季和夏季之分,上課下課時間共包括46個時間點,將此寫入程序中,當時鐘時間與這些時間一樣時,輸出高電平,與時鐘信號相與,作為報警模塊的輸入。表2-1 學校作息時間作息時段春季作息時間夏季作息時間上課下課上課下課上午08:3009:1508:3009:

42、1509:1510:1009:1510:1010:2011:0510:2011:0511:1512:0011:1512:00下午13:3014:1514:0014:4514:2515:1014:5515:4015:2016:0515:5016:3516:1517:0016:4517:30晚上18:3019:1519:0019:4519:2520:1019:5520:4020:2021:0520:5021:3522:0022:00圖2-26 打鈴模塊設(shè)計框圖如圖2-26所示為打鈴模塊設(shè)計框圖。模塊包括作息選擇和時間比較部分,其設(shè)計思路為:通過k3進行春夏作息時間選擇,將時鐘的時高位、時低位、分高

43、位、分低位分別于表2.1中的打鈴時間數(shù)據(jù)進行比較,若相等,則Q_Y輸出高電平,否則輸出低電平。圖2-27 打鈴模塊符號圖如圖2-27所示為打鈴模塊符號圖。K3為切換春夏作息時間的按鍵,當K3為高電平時選擇春季作息時間,方為低電平時選擇夏季作息時間;Q_HB3.0接時鐘時間的時高位,Q_HA3.0接時鐘時間的時低位,Q_MB3.0接時鐘時間的分高位,Q_MA3.0接時鐘時間的時低位;Q_Y為打鈴模塊的輸出,接報警模塊的輸入。圖2-28 打鈴模塊波形仿真圖如圖2-28所示為打鈴模塊波形仿真圖。可以看出:當K3為高電平時,選擇春季作息時間,當時鐘時間由八點二十九分跳變?yōu)榘它c三十分時,Q_Y由低電平變

44、為高電平,此為春季作息時間上午的的八點三十分;當K3為低電平時,選擇夏季作息時間,當時鐘時間由八點二十九分跳變?yōu)榘它c三十分時,Q_Y由低電平變?yōu)楦唠娖剑藶橄募咀飨r間上午的八點三十分;當K3為高電平時,選擇春季作息時間,當時鐘時間由十三點二十九分跳變?yōu)槭c三十分時,Q_Y由低電平變?yōu)楦唠娖剑藶榇杭咀飨r間下午的十三點三十分;當K3為低電平時,選擇夏季作息時間,當時鐘時間由十三點五十九分跳變?yōu)槭狞c整時,Q_Y由低電平變?yōu)楦唠娖?,此為夏季作息時間下午的十四點整。由此可知打鈴模塊滿足設(shè)計要求。2.8報警模塊設(shè)計報警模塊主要包括報警時長設(shè)定模塊和蜂鳴器發(fā)生模塊,實現(xiàn)學校作息時間報時和鬧鐘報警的

45、功能。2.8.1報警時長設(shè)定模塊如圖2-29、2-30所示分別為報警時長設(shè)定模塊符號圖和RTL圖。其中Reset為復(fù)位端,低電平有效;up_key為調(diào)節(jié)報警時間的按鍵,時長可從一秒調(diào)至十五秒,連接按鍵模塊;speaktime3.0為報警時長的輸出,連接蜂鳴器發(fā)生模塊的輸入端。圖2-29 報警時長設(shè)定模塊符號圖圖2-30 報警時長設(shè)定模塊RTL圖如圖2-31所示為報警時長設(shè)定模塊波形仿真圖。復(fù)位按鍵reset設(shè)為高電平,給up_key一定脈沖時鐘,沒到達一次脈沖上升沿,speaktime就加一,當計到15時重新從0開始,實現(xiàn)了報警時長在1至15秒自由設(shè)定的要求。圖2-31 報警時長設(shè)定模塊波形仿

46、真圖2.8.2蜂鳴器發(fā)聲模塊如圖2-32所示為蜂鳴器電路。本設(shè)計需用兩個蜂鳴器,一個蜂鳴器用于學校作息時間報時,另外一個蜂鳴器用于鬧鐘報警。圖2-32 蜂鳴器電路如圖2-33,2-34所示為蜂鳴器發(fā)聲模塊符號圖和RTL圖。QY接比較模塊的輸出,相當于蜂鳴器發(fā)生模塊的使能信號;CLK接1Hz的時鐘模塊,報警可實現(xiàn)每一秒響一下;speaktime3.0接報警時長設(shè)定模塊的輸出,為報警持續(xù)的時間長度,圍在一秒至十五秒以;q_20s為蜂鳴器發(fā)聲模塊的輸出,接蜂鳴器的負極。圖2-33 蜂鳴器發(fā)聲模塊符號圖圖2-34 蜂鳴器發(fā)聲模塊RTL圖如圖2-35所示為蜂鳴器發(fā)聲模塊波形仿真圖。給clk接入一定脈沖,

47、speaktime為一秒,當Q_Y為高電平時,伴隨時鐘脈沖下一個周期的到來,q_20s由低電平變?yōu)楦唠娖?,高電平持續(xù)時間與時鐘脈沖的一個周期相等,實際測試時,時鐘脈沖為1Hz的秒信號,所以報警時長為1s;當設(shè)定speaktime為15秒時,q_20s伴隨時鐘脈沖下一個周期的到來,由低電平變?yōu)楦唠娖?,持續(xù)時間與時鐘脈沖的15個周期相等,可實現(xiàn)15s的報警時長。由此可知,蜂鳴器發(fā)生模塊滿足設(shè)計要求,可實現(xiàn)1-15秒自由調(diào)節(jié)。圖2-35 蜂鳴器發(fā)聲模塊波形仿真圖2.9顯示模塊設(shè)計對于本學校打鈴器的設(shè)計,必不可少的就是顯示模塊的設(shè)計,因為根據(jù)設(shè)計要求,時鐘的計時顯示、鬧鐘的時間設(shè)定、蜂鳴器報警時長的設(shè)

48、定,都需要數(shù)碼管來顯示,實際應(yīng)用的時候,數(shù)碼管的顯示是最直觀的表現(xiàn)。2.9.1時間切換模塊如圖2-36所示為時間切換模塊設(shè)計框圖。設(shè)計思路為:通過K2來進行時間切換,當K2為高電平時,輸出正常計時時間;當K2為低電平時,輸出定時時間。圖2-36 時間切換模塊設(shè)計框圖圖2-37 時間切換模塊符號圖如圖2-37所示為時間切換模塊符號圖。K2為切換按鍵輸入,用于切換時間輸出;QSAI3.0為時鐘時間秒低位,QSBI3.0為時鐘時間秒高位,QMAI3.0為時鐘時間分低位,QMBI3.0為時鐘時間分高位,QHAI3.0為時鐘時間時低位,QHBI3.0為時鐘時間時高位;QH_ARM_A3.0為定時時間時低

49、位,QH_ARM_B3.0為定時時間時高位,QM_ARM_A3.0為定時時間分低位,QM_ARM_B3.0為定時時間分高位;Q_HAO3.0為時間切換模塊的時低位,Q_HBO3.0為時間切換模塊的時高位,Q_MAO3.0為時間切換模塊的分低位,Q_MBO3.0為時間切換模塊的分高位,Q_SAO3.0為時間切換模塊的秒低位,Q_SBO3.0為時間切換模塊的秒高位。圖2-38 時間切換模塊波形仿真圖如圖2-38所示為時間切換模塊波形仿真圖。設(shè)定時鐘時間為21點34分52秒,定時時間為12點整;當K2為高電平時,模塊輸出為時鐘時間21點34分52秒;當K2為低電平時,模塊輸出為定時時間十二點整。由此

50、可知,本模塊滿足設(shè)計要求。2.9.2動態(tài)掃描模塊所謂動態(tài)顯示就是一位一位地輪流點亮各位顯示器(掃描),對于顯示器的每一位而言,每隔一段時間點亮一次。雖然在同一時刻只有一位顯示器在工作(點亮),但利用人眼的視覺暫留效應(yīng)和發(fā)光二極管熄滅時的余輝效應(yīng),看到的卻是多個字符“同時”顯示。顯示器的亮度既與點亮時的導(dǎo)通電流有關(guān),也與點亮時間和間隔時間的比例有關(guān)10。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需一個8位I/O口(稱為掃描口或字位口),控制各位LED顯示器所顯示的字形也需要一個8位口(稱為數(shù)據(jù)口或字形口)。調(diào)整電流和時間參烽,可實現(xiàn)亮度較高較穩(wěn)定的顯示11。7段數(shù)碼管一般由8個發(fā)光二極管

51、組成,其中由7個細長的發(fā)光二極管組成數(shù)字顯示,另外一個圓形的發(fā)光二極管顯示小數(shù)點。當發(fā)光二極管導(dǎo)通時,相應(yīng)的一個點或一個筆畫發(fā)光??刂葡鄳?yīng)的二極管導(dǎo)通,就能顯示出各種字符,盡管顯示的字符形狀有些失真,能顯示的數(shù)符數(shù)量也有限,但其控制簡單,使有也方便。發(fā)光二極管的陽極連在一起的稱為共陽極數(shù)碼管,陰極連在一起的稱為共陰極數(shù)碼管,本設(shè)計使用共陰數(shù)碼管,如圖2-39所示為七段共陰數(shù)碼管結(jié)構(gòu)圖。圖2-39 七段數(shù)碼管結(jié)構(gòu)如圖2-40所示為數(shù)碼管顯示連接圖。動態(tài)掃描電路將計數(shù)器輸出的8421BCD碼轉(zhuǎn)換為數(shù)碼管需要的邏輯狀態(tài),并且輸出數(shù)碼管的片選信號和位選信號12。所謂動態(tài)掃描顯示方式是在顯示某一位LED

52、顯示塊的數(shù)據(jù)的時候,讓其它位不顯示,然后在顯示下一位的數(shù)據(jù),同時關(guān)閉其他顯示塊。這樣做可以使每一個顯示塊顯示與自己相對應(yīng)的數(shù)據(jù)。只要保證每一位顯示的時間間隔不要太大,利用人眼的視覺暫留的現(xiàn)象,就可以造成各位數(shù)據(jù)同時顯示的假象13。一般每一位的顯示時間為110ms。圖2-40 數(shù)碼管顯示連接圖如圖2-41所示為動態(tài)掃描模塊符號圖。該模塊的輸入端口clk是頻率為5kHZ的掃描時鐘,故每一位顯示的時間為0.2ms,需要掃描8個數(shù)碼管,故顯示間隔為1.6ms。由分頻模塊提供,數(shù)碼管顯示時、分和秒,以與報警時間。其它輸入端口接計數(shù)模塊輸出的數(shù)據(jù);輸出端口segout7.0動態(tài)輸出掃描的數(shù)據(jù);端口selo

53、ut7.0輸出數(shù)碼管的片選信號。圖2-41 動態(tài)掃描模塊符號圖如圖2-42所示為動態(tài)掃描模塊波形仿真圖。給定一定時鐘脈沖,設(shè)定時鐘時間為21點01分25秒,隨著脈沖上升沿的到來,數(shù)碼管的片選信號逐一變?yōu)榈碗娖?,分別輸出時鐘時間或定時時間,以與報警時長,有波形仿真圖可知此模塊滿足設(shè)計要求。圖2-42 動態(tài)掃描模塊波形仿真圖2.10按鍵電路設(shè)計本設(shè)計需要對計時時間和鬧鐘時間進行調(diào)整,調(diào)整的過程需要用到按鍵電路,用到兩種按鍵,一種是機械式開關(guān),另外一種是撥碼開關(guān)。由于按鍵電路比較簡單,在此主要介紹按鍵各自完成的功能。本設(shè)計由8個獨立按鍵組成,包括兩個撥碼開關(guān),六個機械式開關(guān)。其中2個撥碼開關(guān)分別用于

54、調(diào)節(jié)報警時長以與鬧鐘定時時間的調(diào)節(jié);另外6個機械式開關(guān)分別用于復(fù)位,數(shù)碼管顯示切換,鬧鐘定時時、分切換,作息時間切換,時鐘時間時、分調(diào)節(jié)。如圖2-43所示為按鍵介紹圖。圖2-43 按鍵介紹2.11電源電路設(shè)計設(shè)計電源的目地是給FPGA、數(shù)碼管、蜂鳴器、按鍵提供工作電壓,所以電路設(shè)計極其重要,穩(wěn)定性必須好,否則會影響各種器件的正常工作,進而影響到打鈴器的準確性,在電子電路與設(shè)備中,一般都需要穩(wěn)定的直流電源供電。單相交流電經(jīng)過電源變壓器、整流電路、濾波電路和穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。圖2-44 直流穩(wěn)壓電源電路圖如圖2-44所示為直流穩(wěn)壓電源電路圖。220V交流市電通過電源變壓器變換成交流低壓

55、,再經(jīng)過橋式整流電路D1D4和濾波電容C1的整流和濾波,在固定式三端穩(wěn)壓器LM7805的Vin和GND兩端形成一個并不十分穩(wěn)定的直流電壓(該電壓常常會因為市電電壓的波動或負載的變化等原因而發(fā)生變化)。此直流電壓經(jīng)過LM7805的穩(wěn)壓和C3的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。LM317作為輸出電壓可變的集成三端穩(wěn)壓塊,是一種使用方便、應(yīng)用廣泛的集成穩(wěn)壓塊,改變R2阻值即可調(diào)整穩(wěn)壓電壓值。D1,D2用于保護LM317,最大輸出電流為2.2A,輸出電壓圍為1.2537V。三端穩(wěn)壓器是一種標準化、系列化的通用線性穩(wěn)壓電源集成電路,以其體積小、成本低、性能好、工作可靠性高、使

56、用簡捷方便等特點,成為目前穩(wěn)壓電源中應(yīng)用最為廣泛的一種單片式集成穩(wěn)壓器件14。第三章 實驗結(jié)果分析3.1測試過程將設(shè)計程序下載到實驗箱上進行實際測試,以下為實際測試過程:如圖3-1所示為實際測試圖一。當前狀態(tài)為正常計時狀態(tài),將復(fù)位按鍵設(shè)為高電平,計時開始,時鐘、鬧鐘顯示切換按鍵為高電平時顯示時鐘時間,可通過時鐘調(diào)時、調(diào)分鍵對時鐘時間進行調(diào)整,數(shù)碼管顯示從左到右依次為:報警時長十位、個位,時鐘時間時高位、時低位,分高位、分低位,秒高位、秒低位,顯示時間為十二點十九分十八秒,報警時長為十五秒。圖3-1 實際測試圖一如圖3-2所示為實際測試圖二。此圖為鬧鐘設(shè)定時間的顯示,通過時鐘、鬧鐘顯示切換按鍵來

57、進行切換,當為低電平時顯示鬧鐘時間,可通過定時調(diào)時調(diào)分切換按鍵來選擇調(diào)整時或分,按下鬧鐘時間調(diào)節(jié)的撥碼開關(guān)進行鬧鐘時間設(shè)定,圖中數(shù)碼管顯示從左到右依次為:報警時長高位、低位,定時時間時高位、時低位,分高位、分地位,秒高位、秒低位,當前顯示鬧鐘設(shè)定時間為十二點十三分,報警時長為十五秒,當時鐘時間為十二點十三分時,蜂鳴器報警,時長為十五秒。圖3-2 實際測試圖二如圖3-3所示為實際測試圖三。通過按下報警時長調(diào)節(jié)鍵來改變報警時長,圖中報警時長更改為1秒,左為報警時長顯示,右為時鐘時間顯示,顯示時間為十二點十一分二十九秒。時鐘時間計到設(shè)定的學校作息時間時,蜂鳴器報警,持續(xù)時間為當前設(shè)定的報警時長。測試

58、說明,最終結(jié)果與預(yù)期效果基本一致,時、分、秒能夠正常計數(shù)并可調(diào)節(jié)時間,學校上下課時間打鈴功能正常,并且可以通過按鍵調(diào)整作息時間以與報警時長。在學校打鈴器設(shè)計過程中,更加熟悉了利用QuartusII軟件進行原理圖繪制的方法,硬件描述語言VHDL的編寫模塊的技巧等,并能根據(jù)仿真結(jié)果分析設(shè)計的存在的問題和缺陷,從而進行程序的修改和完善。在設(shè)計電路中,往往是先仿真后連接實物圖,但有時候仿真和電路連接并不是完全一致的,例如在對具體模塊的仿真的過程中,往往沒有考慮到整體設(shè)計的層面以與與上下模塊接口的設(shè)計。再加上器件對信號的延時等問題,實際下載到實驗箱上后會出現(xiàn)一系列的問題,因此仿真圖和電路連接圖還是有一定

59、區(qū)別的。圖3-3 實際測試圖三學校打鈴器的設(shè)計重點在于按鍵的控制和各個模塊代碼的編寫,雖然能把鍵盤接口和各個模塊的代碼編寫出來,并能正常顯示,但對于各個模塊的優(yōu)化設(shè)計還有一定的缺陷和不足??偟膩碚f,通過這次的設(shè)計實驗更進一步地增強了實驗的動手能力,對打鈴器的工作原理也有了更加透徹的理解。在本設(shè)計調(diào)試過程中遇到了一些難點問題,經(jīng)過努力加以解決:1、當程序下載到實驗箱上后,數(shù)碼管顯示全部為零,計數(shù)器不工作,經(jīng)分析得知程序中的總的清零信號保持有效狀態(tài),改動程序后計數(shù)器開始計數(shù)。2、當秒時鐘計數(shù)到59時變0時,分計數(shù)模塊滯后計數(shù),考慮的器件的延時,將程序中秒的進位信號提前1秒。3、在對學校打零時間設(shè)置

60、與更改的問題上,一開始想通過ROM實現(xiàn),但思考之后還是采用了通過程序?qū)崿F(xiàn)的方法,因為ROM只能讀不能寫。4、在檢測按鍵時,由于有些按鍵控制是秒時鐘同步的,所以控制起來顯得稍微慢些,但是工作正常,能滿足實際的需要。3.2結(jié)果分析從實際系統(tǒng)測試可知,學校打鈴器滿足設(shè)計要求,通過復(fù)位按鍵可對系統(tǒng)進行復(fù)位,可實現(xiàn)基本時鐘的顯示與調(diào)時調(diào)分,具有鬧鐘功能,作息時間有春夏之分,當前時鐘時間與學校上下課時間點一樣時打鈴,且計時時間、定時時間、打鈴時長可自由設(shè)置和調(diào)整,報警時長可在1至15秒進行調(diào)節(jié),其數(shù)據(jù)信息都可以通過數(shù)碼管顯示,鬧鐘報警和作息報時通過蜂鳴器來實現(xiàn)。本設(shè)計是采用硬件描述語言和FPGA芯片相結(jié)合

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論