版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于FPGA的學校打鈴器的設計</p><p> 作 者 姓 名 </p><p> 專 業(yè) 電子信息工程 </p><p> 指導教師姓名 </p><p> 專業(yè)技術職務 教授
2、 </p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p><b> 第一章 緒論3</b></p><p> 1.1 選題目的3</p><p> 1.2 課題研究內容4<
3、/p><p> 1.2.1 FPGA的發(fā)展歷程4</p><p> 1.2.2 FPGA的優(yōu)點4</p><p> 1.3 器件及工具介紹5</p><p> 1.3.1 QuartusⅡ設計步驟5</p><p> 1.3.2 VHDL特點5</p><p> 第二章 系統(tǒng)
4、方案設計5</p><p> 2.1 設計方案分析與選擇5</p><p> 2.2 學校打鈴器總體構成6</p><p> 2.3 分頻模塊設計7</p><p> 2.4 消抖模塊設計8</p><p> 2.5 時鐘模塊設計10</p><p> 2.5.1 秒計數
5、模塊10</p><p> 2.5.2 分計數模塊11</p><p> 2.5.3 時計數模塊12</p><p> 2.5.4 調時模塊12</p><p> 2.6 鬧鐘模塊設計13</p><p> 2.6.1 定時模塊14</p><p> 2.6.2 比較模塊
6、15</p><p> 2.7 打鈴模塊設計16</p><p> 2.8 報警模塊設計19</p><p> 2.8.1 報警時長設定模塊19</p><p> 2.8.2 蜂鳴器發(fā)聲模塊20</p><p> 2.9 顯示模塊設計21</p><p> 2.9.1 時
7、間切換模塊21</p><p> 2.9.2 動態(tài)掃描模塊23</p><p> 2.10 按鍵電路設計25</p><p> 2.11 電源電路設計26</p><p> 第三章 實驗結果分析27</p><p> 3.1 測試過程27</p><p> 3.2 結果
8、分析29</p><p><b> 參考文獻31</b></p><p><b> 附 錄32</b></p><p><b> 致 謝41</b></p><p><b> 摘 要</b></p><p>
9、 打鈴器為學校上下課時間的準確控制提供了很大的便利,并且在工廠、辦公室等場合也起到了提醒人們時間的作用,因此打鈴器的設計有一定的實用意義。</p><p> 本設計的學校打鈴器采用基于現場可編程門陣列(FPGA)的方法,底層模塊采用硬件描述語言(HDL)設計,不僅能對時、分、秒正常計時和顯示,而且還可進行鬧鈴時間的設定,上下課時間報警,報警時間可在1至15秒自由設定。系統(tǒng)主芯片采用美國Altera公司的EP3C
10、40F484I7器件,由時鐘模塊、控制模塊、鬧鐘模塊、定時模塊、數據譯碼模塊、顯示以及報時等模塊組成,由按鍵進行時鐘的校時、清零、啟停等。本文在介紹FPGA器件的基礎上,著重闡述了如何使用FPGA器件進行系統(tǒng)的開發(fā),以及如何實現學校打鈴系統(tǒng)。通過仿真驗證及實際測試,打鈴器具有正常計時、定時報警、報警時長設定等功能,可為日常作息提供準確、便捷的提醒。系統(tǒng)運行穩(wěn)定,設計方法可行。</p><p> 關鍵詞:打鈴器
11、 現場可編程門陣列 硬件描述語言 </p><p><b> ABSTRACT</b></p><p> School Bell provides great convenience for people to control the accurate bell-time in school, and also plays an important role
12、in the work and life in factories, offices, and many other occasions. So it is of great practical significance for us. </p><p> This design is based on FPGA and the underlying module is designed by HDL. Not
13、 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 choose EP3C40F484I7(Altera Corp.,the USA) as the system main chip. Th
14、is 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 </p><p&
15、gt; Key words:alarm clock; Field Programmable Gate Array; hardware description language</p><p><b> 第一章 緒論</b></p><p><b> 1.1選題目的</b></p><p> 當今社會,電子技術的應
16、用無處不在,電子技術正在不斷地改變我們的生活,改變著我們的世界。在這快速發(fā)展的年代,時間對人們來說是越來越寶貴,在快節(jié)奏的生活時,人們往往忘記了時間,一旦遇到重要的事情而忘記了時間,這將會帶來很大的損失。因此我們需要一個定時系統(tǒng)來提醒這些忙碌的人。數字化的時鐘給人們帶來了極大的方便。近些年,隨著科技的發(fā)展和社會的進步,人們對時鐘的要求也越來越高,傳統(tǒng)的時鐘已不能滿足人們的需求。多功能數字鐘不管在性能還是在樣式上都發(fā)生了質的變化,學校打鈴
17、器就是以時鐘為基礎的,在平時校園生活中是必不可少的工具。</p><p> 打鈴器的數字化給人們生產生活帶來了極大的方便,而且大大地擴展了時鐘原先的報時功能。諸如定時自動報警、定時啟閉電路、定時開關烘箱、通斷動力設備,甚至各種定時電氣的自動啟用等,所有這些,都是以時鐘數字化為基礎的。因此,研究時鐘及擴展應用,有著非常現實的意義。</p><p> 電鈴廣泛應用于學校、機關及工礦企事業(yè)單
18、位,可實現作息時間的固定周期打鈴,提示人們工作、學習或是休息。自古以來教育就已經成為社會生活中必不可少的一部分,隨著教育體系的逐漸完善,定時提醒上下課時間的工具也尤為重要,不僅是學校中,在工廠、辦公室等任何需要時間提醒的場合,打鈴器都擁有舉足輕重的位置,尤其是進入現代化社會以后,準確、方便的多功能打鈴器便具有獨特的研究意義。</p><p> 另外,打鈴器也擁有悠久的歷史,從最早的人工打鈴,到如今的電動打鈴、智
19、能打鈴,經歷了一系列的變革,人工打鈴不僅費時費力,而且準確性也不能保證,還可能會造成人為的誤時誤報。當代社會飛速發(fā)展的主要標志之一就是信息產品的廣泛使用,而且產品的性能越來越強,復雜程度越來越高,更新步伐越來越快。支撐信息電子產品高速發(fā)展的基礎就是微電子制造工藝水平的提高和電子產品設計開發(fā)技術的發(fā)展。隨著技術的發(fā)展,出現了各種各樣的打鈴器,有些帶有音樂播放功能,可編入作息時間程序,并且能同時控制路燈、廣播等其他電器,無線音樂打鈴器無需施
20、工布線,降低了安裝成本,還可以根據使用需要隨時移動音樂電鈴的位置,無線遙控的距離可達500米,成為學校、部隊、工廠等部門的打鈴控制新寵,十分簡潔、便捷。</p><p> 如今電子產品正向功能多元化,體積最小化,功耗最低化的方向發(fā)展。它與傳統(tǒng)的電子產品在設計上的顯著區(qū)別是大量使用大規(guī)??删幊踢壿嬈骷巩a品的性能提高,體積縮小,功耗降低,同時廣泛運用現代計算機技術,提高產品的自動化程度和競爭力,縮短研發(fā)周期[1
21、]。EDA技術正是為了適應現代電子技術的要求,吸收眾多學科最新科技成果而形成的一門新技術。</p><p> 本設計將借助EDA技術,完成基于FPGA器件的學校打鈴器的設計。EDA技術的發(fā)展經歷了一個由淺到深的過程,先后經歷了CAD、CAE和現代意義上的EDA三個階段。在可編程邏輯器件(PLD)內部,數字電路可用硬件描述語言可以進行方便的描述,經過生成元件后可作為一個標準元件進行調用。同時,借助于開發(fā)設計平臺,
22、可以進行系統(tǒng)的仿真和硬件測試等。</p><p> 對于數字電子技術實驗和課程設計等,特別是數字系統(tǒng)性的課題,借助PLD器件和硬件描述語言等開發(fā)手段,即可設計出各種比較復雜的數字系統(tǒng),如設計頻率計、交通控制燈、秒表等,有助于實驗質量的提高和對學生綜合能力的鍛煉。同時,作為電子信息工程專業(yè)的學生,EDA技術應用于畢業(yè)設計中,可快速、經濟地設計各種高性能的電子系統(tǒng),并且很容易實現、修改及完善。</p>
23、<p><b> 1.2課題研究內容</b></p><p> 隨著社會的發(fā)展,科技水平的日益提高,很多高新技術都應用于電子設計產品的設計中,比如,本設計中的學校打鈴器就應用了FPGA技術,不僅能夠非常準確的設定響鈴時間,而且能直觀地顯示時、分、秒等信息,為人們的使用帶來了很大的方便。</p><p> 本課題是基于FPGA的學校打鈴器的設計,下面簡
24、要介紹現場可編程門陣列(FPGA)的發(fā)展歷程及其優(yōu)點。</p><p> 1.2.1 FPGA的發(fā)展歷程</p><p> 作為一種可編程邏輯器件,現場可編程門陣列(Field Programmable Gate Array,FPGA)的出現是PLD發(fā)展變化的必然,他的出現推動著可編程邏輯器件的進一步發(fā)展。因此說,了解了可編程邏輯器件的發(fā)展歷程,也就了解了FPGA的發(fā)展歷程。</
25、p><p> PLD是20世紀70年代發(fā)展起來的一種新型器。它的應用不僅簡化了電路設計,降低了成本,提高了系統(tǒng)的可靠性,而且給數字系統(tǒng)的設計方式帶來了革命性的變化,其結構和工藝的變化經歷了一個不斷發(fā)展的過程。20世紀70年代,早期的可編程邏輯器件只有可編程只讀存儲器(PROM)、紫外線可擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(EEPROM)3種。隨后,出現了一類結構稍微復雜的可編程芯片,即可編程邏輯陣列(
26、Programmable Logic Array,PLA)。PLA在結構上由一個可編程的與陣列和可編程的或陣列構成,陣列規(guī)模小,編程過程復雜繁瑣。PLA既有現場可編程的,又有掩膜可編程的[2]。</p><p> 如今,FPGA期間已經成為當前主流的可編程邏輯器件之一。經過20年的發(fā)展,可編程邏輯器件已經取得了長足的進步,資源更加豐富,使用越來越方便。將來的可編程邏輯器件,密度會更高,速度會更快,功耗會更低,同
27、時還會增加更多的功能,向著繼承了可編程邏輯、CPU、存儲器等組件的可編程單片系統(tǒng)(System On Programmable Chip,SOPC)方向發(fā)展。</p><p> 1.2.2 FPGA的優(yōu)點</p><p> 概括地說,FPGA器件具有下列優(yōu)點:高密度、高速度、系列化、標準化、小型化、多功能、低功耗、低成本,設計靈活方便,可無限次反復編程,并可現場模擬調試驗證。使用FPG
28、A器件,一般可在幾天到幾周內完成一個電子系統(tǒng)的設計和制作,可以縮短研制周期,達到快速上市和進一步降低成本的要求。用FPGA器件實現數字系統(tǒng)時用的芯片數量少,從而減少芯片的使用數目,減少印刷線路板面積和印刷線路板數目,最終導致系統(tǒng)規(guī)模的全面縮減[3]。</p><p> 1.3器件及工具介紹</p><p> 1.3.1 QuartusⅡ設計步驟</p><p>
29、 Quartus II 是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設計輸入形式。內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整PLD設計流程[4]。</p><p> 其設計流程包括設計輸入、編譯、仿真與定時分析、編程與驗證。設計輸入包括原理圖輸入、HDL 文
30、本輸入、EDIF 網表輸入、波形輸入等幾種方式。編譯時要根據設計要求設定編譯方式和編譯策略,然后根據設定的參數和策略對設計項目進行網表提取、邏輯綜合、器件適配,供分析、仿真和編程使用。設計完成后需要進行仿真,可以測試設計的邏輯功能和延時特性。最后可以用得到的編程文件通過編程電纜配置PLD,進行在線測試。在設計過程中,如果出現錯誤,則需重新回到設計輸入階段,改正錯誤或調整電路后重新測試。</p><p> 1.3
31、.2 VHDL特點</p><p> 硬件描述語言HDL(HardwareDescriptionLanguage)誕生于1962年。與SDL(SoftwareDescriptionLanguage)相似,經歷了從機器碼(晶體管和焊接)、匯編(網表)、到高級語言(HDL)的過程[5]。HDL是用形式化的方法描述數字電路和設計數字邏輯系統(tǒng)的語言。主要用于描述離散電子系統(tǒng)的結構和行為。</p><
32、p> HDL和原理圖是兩種最常用的數字硬件電路描述方法,HDL 設計法具有更好的可移植性、通用性和模塊劃分與重用性的特點,在目前的工程設計開發(fā)流程是基于 HDL 的[6]。在目前的工程設計中被廣泛使用。所以,我們在使用 FPGA 設計數字電路時,其開發(fā)流程是基于HDL的。</p><p> VHDL描述數字電路系統(tǒng)設計的行為、功能、輸入和輸出。它在語法上與現代編程語言相似,比如C語言。應用VHDL進行系
33、統(tǒng)設計,有以下幾方面的特點:功能強大、可移植性、獨立性、可操作性、靈活性。</p><p> 第二章 系統(tǒng)方案設計</p><p> 2.1設計方案分析與選擇</p><p> 方案一:采用通用數字器件來設計。比如,打鈴器結構組成中最基本的是數字鐘。數字鐘實際上是一個對標準頻率(1HZ)進行計數的計數電路。由于計數的起始時間不可能與標準時間(如北京時間)一致
34、,故需要在電路上加一個校時電路,同時標準的1HZ時間信號必須做到準確穩(wěn)定。采用此方法設計數字鐘通常使用石英晶體振蕩器電路構成數字鐘?;诖嗽O計方案的數字鐘部分結構組成如圖2-1所示。</p><p> 圖2-1 數字鐘部分結構組成</p><p> 方案二:采用基于FPGA的EDA技術來設計。打鈴器結構組成中的數字部分可全部在FPGA內部完成,底層模塊可以采用HDL語言或者軟件中的庫元
35、件。這種設計方法可使得系統(tǒng)的集成度提高,抗干擾能力也相應提高。</p><p> 綜合分析和比較方案一和二,方案二中利用EDA技術設計學校打鈴器相對設計方式靈活,系統(tǒng)連線簡單并易于校驗,修改及完善也相對便捷,可以避免方案一中所用的芯片比較多,連線過于麻煩的問題。因此,本設計總體設計方案采用基于EDA技術的方法。</p><p> 2.2學校打鈴器總體構成</p><
36、p> 本設計內容為基于FPGA的學校打鈴器,控制器底層模塊采用硬件描述語言設計,頂層模塊設計方法采用原理圖方式;打鈴器具有計時功能,能對時、分、秒正常計時和顯示;又具有定時打鈴功能,當設定的打鈴時間與學校上下課時間點相同時打鈴;并且計時時間、定時時間、打鈴時長(1S~15S內)自由設置和調整,其數據信息通過數碼管或LCD顯示。學校打鈴器總體設計框圖如圖2-2所示。</p><p> 振蕩器產生穩(wěn)定的高頻
37、脈沖信號,作為數字鐘的時間基準,然后經過分頻器輸出標準秒脈沖。秒計數器滿60后向分計數器進位,分計數器滿60后向小時計數器進位,小時計數器按照“24翻1”規(guī)律計數。計滿后各計數器清零,重新計數。計數器的輸出分別經譯碼器送數碼管顯示。在控制信號中除了一般的校時信號外,還有時鐘清零信號。時基電路可以由石英晶體振蕩電路構成,晶振頻率為25MHz,經過分頻可得到秒脈沖信號。譯碼顯示電路由七段譯碼器完成,顯示由數碼管構成。</p>
38、<p> 圖2-2 學校打鈴器總體設計框圖</p><p><b> 2.3分頻模塊設計</b></p><p> 晶體振蕩器是構成數字時鐘的核心,振蕩器的穩(wěn)定度及頻率的精度決定了數字鐘計時的準確程度,它保證了時鐘的走時準確及穩(wěn)定。石英晶體的選頻特性非常好,只有某一頻率點的信號可以通過它,其它頻率段的信號均會被它所衰減,而且振蕩信號的頻率與振蕩電路中的
39、R、C元件的數值無關[7]。因此,這種振蕩電路輸出的是準確度極高的信號。本設計FPGA外部使用的是25MHz晶振,在其內部再根據需要進行分頻。</p><p> 如圖2-3所示為分頻模塊連接圖。分頻模塊由25k分頻、200分頻、5分頻、50k分頻、250分頻組成。其中25k分頻的輸出作為按鍵消抖模塊的輸入時鐘信號,其頻率為1kHz;200分頻的輸出作為計時模塊調分模塊的時鐘輸入,其頻率為5Hz,周期為0.2s;
40、5分頻的輸出作為計時模塊中秒計時的輸入,為1Hz頻率的1s時鐘信號;50k分頻的輸出作為動態(tài)掃描模塊的輸入時鐘,其頻率為500Hz;250分頻的輸出作為計時模塊調時模塊的輸入時鐘,其頻率為2Hz,周期為0.5s。</p><p> 圖2-3 分頻模塊連接圖</p><p> 現以5分頻為例進行仿真,當時鐘到第五個上升沿時,輸出由“0”變?yōu)椤?”,下降沿時又由“1”變?yōu)椤?”,產生一個脈
41、沖。滿足設計要求。如圖2-4、2-5所示分別為分頻模塊仿真圖及其RTL圖。</p><p> 圖2-4 分頻模塊仿真圖</p><p> 圖2-5 分頻模塊RTL圖</p><p><b> 2.4消抖模塊設計</b></p><p> 按鍵開關電子設備實現人機對話的重要的器件之一[8]。由于大部分按鍵式機械觸點
42、,在觸點閉合和斷開時都會產生抖動,為避免抖動引起的誤動作造成系統(tǒng)的不穩(wěn)定,就要求消除按鍵的抖動,確保按鍵每按一次只做一次響應。</p><p> 絕大多數按鍵都是機械式開關結構,由于機械式開關的核心部件為彈性金屬簧片,因而在開關切換的瞬間會在接觸點出現來回彈跳的現象,雖然只是進行了一次按鍵,結果在按鍵信號穩(wěn)定的前后出現了多個脈沖[9]。如果將這樣的信號直接送給微處理器掃描采集的話,將可能把按鍵穩(wěn)定前后出現的脈沖
43、信號當做按鍵信號,這就出現人為的一次按鍵但微處理器以為多次按鍵的現象。機械式按鍵的抖動次數、抖動時間、抖動波形都是隨機的,不同類型的按鍵其最長抖動時間也有差別,抖動時間的長短和按鍵的機械特征有關,一般為5~10ms,但是,有些按鍵的抖動時間可達到20ms,甚至更長。</p><p> 在本設計初期完成后,下載程序測試時,撥動按鍵或者按下按鍵時顯示出現異常,這就需要加入按鍵消抖模塊。按鍵消抖模塊一般有硬件和軟件兩
44、種方式,硬件就是加入去抖動電路,這樣從根本上解決了按鍵抖動問題,除了專用電路以外,還可用編程FPGA或者CPLD設計相應的邏輯和時序電路,對按鍵信號進行處理,同樣可以達到去抖動的目的,本次設計中采用硬件模塊消抖動方式。</p><p> 模塊的實現方法是先判斷是否有按鍵按下,如有按鍵按下則延時一段時間,待抖動過去之后再讀行線狀態(tài),如果仍有低電平行線,則確定有按鍵按下,然后產生一個有按鍵按下的信號。該模塊有一個時
45、鐘輸入端口,輸入時鐘信號是分頻出來的1kHZ的時鐘;有一個輸入端口與按鍵端相連;一個輸出端口,用于輸出有按鍵按下的信號。如圖2-6所示為消抖模塊符號圖。</p><p> 圖2-6 消抖模塊符號圖</p><p> 本設計的按鍵消抖模塊內部電路相當于一個D觸發(fā)器,如圖2-7所示為消抖模塊RTL圖。</p><p> 圖2-7 消抖模塊RTL圖</p>
46、;<p> 該模塊在這里實現的比較簡單,原理是當有按鍵按下的時候,d會變成高電平,當有時鐘上升沿到來且按鍵按下時,q輸出高電平。由于時鐘脈沖為1kHZ,故從有按鍵按下到輸入信號產生大概需要1ms。而按鍵產生抖動的時間大約2ms到10ms,所以一旦計數完成,抖動已經過去,不會發(fā)生重鍵現象了,這樣就去除了抖動。如圖2-8所示為按鍵消抖模塊波形仿真圖。</p><p> 圖2-8消抖模塊波形仿真<
47、;/p><p><b> 2.5時鐘模塊設計</b></p><p> 時鐘模塊是學校打鈴器最基本的模塊,主要實現基本計時、調時、調分功能,包括秒計數模塊、分計數模塊、時計數模塊和調時模塊。</p><p> 2.5.1秒計數模塊</p><p> 如圖2-9所示為秒計數模塊符號圖。輸入端口clr是秒計數模塊的清零信
48、號,也是整個數字中的使能信號,低電平有效; cp是秒脈沖輸入端口,外接分頻模塊頻率為1Hz的時鐘信號;輸出端口sqmsl[3..0]是秒時鐘的低位,sqmsh[3..0]是高位;co端口是進位輸出端口,當秒計數到59時輸出高電平,其它時候輸出低電平。</p><p> 圖2-9 秒計數模塊符號圖</p><p> 如圖2-10、2-11所示分別為秒計數模塊RTL圖及波形仿真圖。由圖可以
49、看出,隨著1s時鐘脈沖上升沿的到來,每來一次秒計數的低位就產生一個脈沖,當計到9時變?yōu)?,秒計數的高位變?yōu)?,當低位為9,高位為5時,也就是計到59時,高、低位都變?yōu)?,且輸出co產生一個脈沖信號,由仿真圖可知滿足設計的要求。</p><p> 圖2-10 秒計數模塊RTL圖</p><p> 圖2-11 秒計數模塊波形仿真圖</p><p> 2.5.2分計
50、數模塊</p><p> 如圖2-12、2-13所示為分計數模塊符號圖及RTL圖。輸入端口clr是分計數模塊的清零信號,也是整個數字中的使能信號,低電平有效; clk是秒脈沖輸入端口輸出端口;min0[3..0]是分計時的低位,min1[3..0]是分計時的高位;co端口是進位輸出端口,接時計數的clk作為時鐘輸入,當秒計數到59時輸出高電平,其它時候輸出低電平。</p><p> 圖
51、2-12 分計數模塊符號圖</p><p> 圖2-13 分計數模塊RTL圖</p><p> 如圖2-14所示為分計數模塊波形仿真圖。給clk一定時鐘信號之后,clr高電平清零無效,每次達到時鐘脈沖上升沿時,分計數低位min0計一個數,計到9時向高位進位,當計到59時,模塊進位輸出co產生一個脈沖信號,由仿真圖可知此模塊設計滿足設計要求。</p><p>
52、圖2-14 分計數模塊波形仿真圖</p><p> 2.5.3時計數模塊</p><p> 圖2-15 時計數模塊符號圖</p><p> 如圖2-15所示為時計數模塊符號圖。輸入端口clr是時計數模塊的清零信號,也是整個數字中的使能信號,低電平有效; clk是秒脈沖輸入端口輸出端口;sl[3..0]是分計時的低位,sh[3..0]是分計時的高位。</p
53、><p> 圖2-16 時計數模塊波形仿真圖</p><p> 時計數模塊波形仿真圖如圖2-16所示。clk接分計時模塊的僅為輸出,給定時鐘信號,clr高電平清零無效,每次達到時鐘脈沖上升沿時,時計數低位sl計一個數,計到9時向高位進位,當計到24時,高、低都變?yōu)榱?,計數重新開始,由仿真圖可知此模塊設計滿足設計要求。</p><p><b> 2.5.4
54、調時模塊</b></p><p> 圖2-17 調時模塊符號圖</p><p> 如圖2-17所示為調時模塊符號圖。本設計的調時模塊類似于二選一數據選擇器,輸入端口key是調時模塊的調時開關,當為高電平是輸出a的數據,當為低電平時輸出b的數據;a端接上一個計時模塊的進位輸出;b端接分頻器的輸出時鐘脈沖;c為模塊的輸出,作為計時模塊的輸入時鐘。由此可知當key為低電平時可進行
55、調時、調分。</p><p> 圖2-18 調時模塊波形仿真圖</p><p> 如圖2-18所示為調時模塊波形仿真圖。當key為低電平時,調時模塊輸出b的脈沖;當key為高電平時,輸出a的脈沖。由此可知,本模塊滿足設計要求。</p><p><b> 2.6鬧鐘模塊設計</b></p><p> 圖2-19 鬧
56、鐘模塊總體設計框圖</p><p> 如圖2-19所示為鬧鐘模塊總體設計框圖。本模塊主要由定時模塊、比較模塊組成,另外還有正常計時時間和定時時間輸出選擇切換模塊,連接基本數字鐘模塊的時、分、秒輸出,以及定時時間的時、分輸出,另一端連接動態(tài)顯示模塊,通過外部按鍵來選擇基本時鐘或者是鬧鐘時間設定的顯示。定時控制模塊有復位鍵、調時調分切換鍵、累加鍵,來設定鬧鐘時間。</p><p><b
57、> 2.6.1定時模塊</b></p><p> 如圖2-20、2-21所示分別為定時模塊符號圖及RTL圖。輸入端口reset是定時模塊的復位信號,也是整個打鈴器的使能信號,低電平有效; k1是鬧鐘時間設定時、分切換按鍵,高電平時對時進行調節(jié),低電平時對分進行調節(jié);up_key是調整鬧鐘時間的累加按鍵,另一端接按鍵消抖模塊,每按一次計數加一;Q_tmpma、Q_tmpmb、Q_tmpha、Q
58、_tmphb分別為鬧鐘時間的分低位、分高位、時低位時高位。</p><p> 圖2-20 定時模塊符號圖</p><p> 圖2-21 定時模塊RTL圖</p><p> 如圖2-22所示為定時模塊波形仿真圖。當復位鍵為高電平、k1為低電平時,每按下一次up_key鬧鐘分低位就計一個數,計到9時向高位進一,當計到59時重新從0開始計數;當復位鍵為高電平、k1為
59、高電平時,開始對時計數,up_key每來一個脈沖時低位就計一個數,計到9時變?yōu)?,高位進位,計到23時重新計數,由波形仿真克制此模塊滿足設計要求。</p><p> 圖2-22 定時模塊波形仿真圖</p><p><b> 2.6.2比較模塊</b></p><p> 如圖2-23所示為比較模塊設計框圖。設計思路為:將鬧鐘設定的時間與及時
60、模塊的時間分別比較,即時高位、時低位、分高位、分低位分別進行比較,若時間相等,則輸出高電平,輸出信號與1Hz時鐘信號相與,獲得的信號接蜂鳴器,可實現時隔一秒報警一次,報警時長為一秒。</p><p> 圖2-23 比較模塊設計框圖</p><p> 如圖2-24所示為比較模塊符號圖。Clk0為比較模塊的時鐘,接200分頻器輸出的1Hz時鐘信號;QH_B[3..0]為時鐘的時高位,QH_
61、A[3..0]為時鐘的時低位,QMB[3..0]為時鐘的分高位,QM_A[3..0]為時鐘的分低位;HARM_B[3..0]為鬧鐘時間的時高位,HARM_A[3..0]為鬧鐘時間的時低位,MARM_B[3..0]為鬧鐘時間的分高位,MARM_A[3..0]為鬧鐘時間的分低位;SPEAK為比較模塊的輸出,接報警時長設定模塊的輸入。</p><p> 圖2-24 比較模塊符號圖</p><p&g
62、t; 如圖2-25所示為比較模塊波形仿真圖。給clk0一定時鐘,設定鬧鐘時間時高位為1,時低位為2,分高位、分低位都為0,即鬧鐘時間為十二點整,;首先設定時鐘模塊的時高位設定為1,時低位為1,分高位為5,分低位為9,即十一點五十九分,再設定為十二點整;由波形仿真圖可知,當時鐘時間由十一點五十九分變?yōu)槭c整時,speak輸出時鐘波形,可知比較模塊的設計滿足要求。</p><p> 圖2-25 比較模塊波形仿真
63、圖</p><p><b> 2.7打鈴模塊設計</b></p><p> 如表2-1所示為學校作息時間。學校作息時間分為春季和夏季之分,上課下課時間共包括46個時間點,將此寫入程序中,當時鐘時間與這些時間相同時,輸出高電平,與時鐘信號相與,作為報警模塊的輸入。</p><p> 表2-1 學校作息時間</p><p&
64、gt; 圖2-26 打鈴模塊設計框圖</p><p> 如圖2-26所示為打鈴模塊設計框圖。模塊包括作息選擇和時間比較部分,其設計思路為:通過k3進行春夏作息時間選擇,將時鐘的時高位、時低位、分高位、分低位分別于表2.1中的打鈴時間數據進行比較,若相等,則Q_Y輸出高電平,否則輸出低電平。</p><p> 圖2-27 打鈴模塊符號圖</p><p> 如圖
65、2-27所示為打鈴模塊符號圖。K3為切換春夏作息時間的按鍵,當K3為高電平時選擇春季作息時間,方為低電平時選擇夏季作息時間;Q_HB[3..0]接時鐘時間的時高位,Q_HA[3..0]接時鐘時間的時低位,Q_MB[3..0]接時鐘時間的分高位,Q_MA[3..0]接時鐘時間的時低位;Q_Y為打鈴模塊的輸出,接報警模塊的輸入。</p><p> 圖2-28 打鈴模塊波形仿真圖</p><p&g
66、t; 如圖2-28所示為打鈴模塊波形仿真圖。可以看出:當K3為高電平時,選擇春季作息時間,當時鐘時間由八點二十九分跳變?yōu)榘它c三十分時,Q_Y由低電平變?yōu)楦唠娖?,此為春季作息時間上午的的八點三十分;當K3為低電平時,選擇夏季作息時間,當時鐘時間由八點二十九分跳變?yōu)榘它c三十分時,Q_Y由低電平變?yōu)楦唠娖?,此為夏季作息時間上午的八點三十分;當K3為高電平時,選擇春季作息時間,當時鐘時間由十三點二十九分跳變?yōu)槭c三十分時,Q_Y由低電平變?yōu)?/p>
67、高電平,此為春季作息時間下午的十三點三十分;當K3為低電平時,選擇夏季作息時間,當時鐘時間由十三點五十九分跳變?yōu)槭狞c整時,Q_Y由低電平變?yōu)楦唠娖剑藶橄募咀飨r間下午的十四點整。由此可知打鈴模塊滿足設計要求。</p><p><b> 2.8報警模塊設計</b></p><p> 報警模塊主要包括報警時長設定模塊和蜂鳴器發(fā)生模塊,實現學校作息時間報時和鬧鐘報警
68、的功能。</p><p> 2.8.1報警時長設定模塊</p><p> 如圖2-29、2-30所示分別為報警時長設定模塊符號圖和RTL圖。其中Reset為復位端,低電平有效;up_key為調節(jié)報警時間的按鍵,時長可從一秒調至十五秒,連接按鍵模塊;speaktime[3..0]為報警時長的輸出,連接蜂鳴器發(fā)生模塊的輸入端。</p><p> 圖2-29 報警時
69、長設定模塊符號圖</p><p> 圖2-30 報警時長設定模塊RTL圖</p><p> 如圖2-31所示為報警時長設定模塊波形仿真圖。復位按鍵reset設為高電平,給up_key一定脈沖時鐘,沒到達一次脈沖上升沿,speaktime就加一,當計到15時重新從0開始,實現了報警時長在1至15秒內自由設定的要求。</p><p> 圖2-31 報警時長設定模塊
70、波形仿真圖</p><p> 2.8.2蜂鳴器發(fā)聲模塊</p><p> 如圖2-32所示為蜂鳴器電路。本設計需用兩個蜂鳴器,一個蜂鳴器用于學校作息時間報時,另外一個蜂鳴器用于鬧鐘報警。</p><p> 圖2-32 蜂鳴器電路</p><p> 如圖2-33,2-34所示為蜂鳴器發(fā)聲模塊符號圖和RTL圖。QY接比較模塊的輸出,相當于
71、蜂鳴器發(fā)生模塊的使能信號;CLK接1Hz的時鐘模塊,報警可實現每一秒響一下;speaktime[3..0]接報警時長設定模塊的輸出,為報警持續(xù)的時間長度,范圍在一秒至十五秒以內;q_20s為蜂鳴器發(fā)聲模塊的輸出,接蜂鳴器的負極。</p><p> 圖2-33 蜂鳴器發(fā)聲模塊符號圖</p><p> 圖2-34 蜂鳴器發(fā)聲模塊RTL圖</p><p> 如圖2-
72、35所示為蜂鳴器發(fā)聲模塊波形仿真圖。給clk接入一定脈沖,speaktime為一秒,當Q_Y為高電平時,伴隨時鐘脈沖下一個周期的到來,q_20s由低電平變?yōu)楦唠娖?,高電平持續(xù)時間與時鐘脈沖的一個周期相等,實際測試時,時鐘脈沖為1Hz的秒信號,所以報警時長為1s;當設定speaktime為15秒時,q_20s伴隨時鐘脈沖下一個周期的到來,由低電平變?yōu)楦唠娖?,持續(xù)時間與時鐘脈沖的15個周期相等,可實現15s的報警時長。由此可知,蜂鳴器發(fā)生模
73、塊滿足設計要求,可實現1-15秒自由調節(jié)。</p><p> 圖2-35 蜂鳴器發(fā)聲模塊波形仿真圖</p><p><b> 2.9顯示模塊設計</b></p><p> 對于本學校打鈴器的設計,必不可少的就是顯示模塊的設計,因為根據設計要求,時鐘的計時顯示、鬧鐘的時間設定、蜂鳴器報警時長的設定,都需要數碼管來顯示,實際應用的時候,數碼管
74、的顯示是最直觀的表現。</p><p> 2.9.1時間切換模塊</p><p> 如圖2-36所示為時間切換模塊設計框圖。設計思路為:通過K2來進行時間切換,當K2為高電平時,輸出正常計時時間;當K2為低電平時,輸出定時時間。</p><p> 圖2-36 時間切換模塊設計框圖</p><p> 圖2-37 時間切換模塊符號圖<
75、;/p><p> 如圖2-37所示為時間切換模塊符號圖。K2為切換按鍵輸入,用于切換時間輸出;QSAI[3..0]為時鐘時間秒低位,QSBI[3..0]為時鐘時間秒高位,QMAI[3..0]為時鐘時間分低位,QMBI[3..0]為時鐘時間分高位,QHAI[3..0]為時鐘時間時低位,QHBI[3..0]為時鐘時間時高位;QH_ARM_A[3..0]為定時時間時低位,QH_ARM_B[3..0]為定時時間時高位,QM
76、_ARM_A[3..0]為定時時間分低位,QM_ARM_B[3..0]為定時時間分高位;Q_HAO[3..0]為時間切換模塊的時低位,Q_HBO[3..0]為時間切換模塊的時高位,Q_MAO[3..0]為時間切換模塊的分低位,Q_MBO[3..0]為時間切換模塊的分高位,Q_SAO[3..0]為時間切換模塊的秒低位,Q_SBO[3..0]為時間切換模塊的秒高位。</p><p> 圖2-38 時間切換模塊波形仿
77、真圖</p><p> 如圖2-38所示為時間切換模塊波形仿真圖。設定時鐘時間為21點34分52秒,定時時間為12點整;當K2為高電平時,模塊輸出為時鐘時間21點34分52秒;當K2為低電平時,模塊輸出為定時時間十二點整。由此可知,本模塊滿足設計要求。</p><p> 2.9.2動態(tài)掃描模塊</p><p> 所謂動態(tài)顯示就是一位一位地輪流點亮各位顯示器(掃
78、描),對于顯示器的每一位而言,每隔一段時間點亮一次。雖然在同一時刻只有一位顯示器在工作(點亮),但利用人眼的視覺暫留效應和發(fā)光二極管熄滅時的余輝效應,看到的卻是多個字符“同時”顯示。顯示器的亮度既與點亮時的導通電流有關,也與點亮時間和間隔時間的比例有關[10]。若顯示器的位數不大于8位,則控制顯示器公共極電位只需一個8位I/O口(稱為掃描口或字位口),控制各位LED顯示器所顯示的字形也需要一個8位口(稱為數據口或字形口)。調整電流和時間
79、參烽,可實現亮度較高較穩(wěn)定的顯示[11]。</p><p> 7段數碼管一般由8個發(fā)光二極管組成,其中由7個細長的發(fā)光二極管組成數字顯示,另外一個圓形的發(fā)光二極管顯示小數點。當發(fā)光二極管導通時,相應的一個點或一個筆畫發(fā)光。控制相應的二極管導通,就能顯示出各種字符,盡管顯示的字符形狀有些失真,能顯示的數符數量也有限,但其控制簡單,使有也方便。發(fā)光二極管的陽極連在一起的稱為共陽極數碼管,陰極連在一起的稱為共陰極數碼
80、管,本設計使用共陰數碼管,如圖2-39所示為七段共陰數碼管結構圖。</p><p> 圖2-39 七段數碼管結構</p><p> 如圖2-40所示為數碼管顯示連接圖。動態(tài)掃描電路將計數器輸出的8421BCD碼轉換為數碼管需要的邏輯狀態(tài),并且輸出數碼管的片選信號和位選信號[12]。所謂動態(tài)掃描顯示方式是在顯示某一位LED顯示塊的數據的時候,讓其它位不顯示,然后在顯示下一位的數據,同時關
81、閉其他顯示塊。這樣做可以使每一個顯示塊顯示與自己相對應的數據。只要保證每一位顯示的時間間隔不要太大,利用人眼的視覺暫留的現象,就可以造成各位數據同時顯示的假象[13]。一般每一位的顯示時間為1~10ms。</p><p> 圖2-40 數碼管顯示連接圖</p><p> 如圖2-41所示為動態(tài)掃描模塊符號圖。該模塊的輸入端口clk是頻率為5kHZ的掃描時鐘,故每一位顯示的時間為0.2m
82、s,需要掃描8個數碼管,故顯示間隔為1.6ms。由分頻模塊提供,數碼管顯示時、分和秒,以及報警時間。其它輸入端口接計數模塊輸出的數據;輸出端口segout[7..0]動態(tài)輸出掃描的數據;端口selout[7..0]輸出數碼管的片選信號。</p><p> 圖2-41 動態(tài)掃描模塊符號圖</p><p> 如圖2-42所示為動態(tài)掃描模塊波形仿真圖。給定一定時鐘脈沖,設定時鐘時間為21點0
83、1分25秒,隨著脈沖上升沿的到來,數碼管的片選信號逐一變?yōu)榈碗娖?,分別輸出時鐘時間或定時時間,以及報警時長,有波形仿真圖可知此模塊滿足設計要求。</p><p> 圖2-42 動態(tài)掃描模塊波形仿真圖</p><p> 2.10按鍵電路設計</p><p> 本設計需要對計時時間和鬧鐘時間進行調整,調整的過程需要用到按鍵電路,用到兩種按鍵,一種是機械式開關,另外
84、一種是撥碼開關。由于按鍵電路比較簡單,在此主要介紹按鍵各自完成的功能。本設計由8個獨立按鍵組成,包括兩個撥碼開關,六個機械式開關。其中2個撥碼開關分別用于調節(jié)報警時長以及鬧鐘定時時間的調節(jié);另外6個機械式開關分別用于復位,數碼管顯示切換,鬧鐘定時時、分切換,作息時間切換,時鐘時間時、分調節(jié)。如圖2-43所示為按鍵介紹圖。</p><p> 圖2-43 按鍵介紹</p><p> 2.1
85、1電源電路設計</p><p> 設計電源的目地是給FPGA、數碼管、蜂鳴器、按鍵提供工作電壓,所以電路設計極其重要,穩(wěn)定性必須好,否則會影響各種器件的正常工作,進而影響到打鈴器的準確性,在電子電路及設備中,一般都需要穩(wěn)定的直流電源供電。單相交流電經過電源變壓器、整流電路、濾波電路和穩(wěn)壓電路轉換成穩(wěn)定的直流電壓。</p><p> 圖2-44 直流穩(wěn)壓電源電路圖</p>
86、<p> 如圖2-44所示為直流穩(wěn)壓電源電路圖。220V交流市電通過電源變壓器變換成交流低壓,再經過橋式整流電路D1~D4和濾波電容C1的整流和濾波,在固定式三端穩(wěn)壓器LM7805的Vin和GND兩端形成一個并不十分穩(wěn)定的直流電壓(該電壓常常會因為市電電壓的波動或負載的變化等原因而發(fā)生變化)。此直流電壓經過LM7805的穩(wěn)壓和C3的濾波便在穩(wěn)壓電源的輸出端產生了精度高、穩(wěn)定度好的直流輸出電壓。LM317作為輸出電壓可變的集成
87、三端穩(wěn)壓塊,是一種使用方便、應用廣泛的集成穩(wěn)壓塊,改變R2阻值即可調整穩(wěn)壓電壓值。D1,D2用于保護LM317,最大輸出電流為2.2A,輸出電壓范圍為1.25~37V。三端穩(wěn)壓器是一種標準化、系列化的通用線性穩(wěn)壓電源集成電路,以其體積小、成本低、性能好、工作可靠性高、使用簡捷方便等特點,成為目前穩(wěn)壓電源中應用最為廣泛的一種單片式集成穩(wěn)壓器件[14]。</p><p> 第三章 實驗結果分析</p>
88、<p><b> 3.1測試過程</b></p><p> 將設計程序下載到實驗箱上進行實際測試,以下為實際測試過程:</p><p> 如圖3-1所示為實際測試圖一。當前狀態(tài)為正常計時狀態(tài),將復位按鍵設為高電平,計時開始,時鐘、鬧鐘顯示切換按鍵為高電平時顯示時鐘時間,可通過時鐘調時、調分鍵對時鐘時間進行調整,數碼管顯示從左到右依次為:報警時長十位
89、、個位,時鐘時間時高位、時低位,分高位、分低位,秒高位、秒低位,顯示時間為十二點十九分十八秒,報警時長為十五秒。</p><p> 圖3-1 實際測試圖一</p><p> 如圖3-2所示為實際測試圖二。此圖為鬧鐘設定時間的顯示,通過時鐘、鬧鐘顯示切換按鍵來進行切換,當為低電平時顯示鬧鐘時間,可通過定時調時調分切換按鍵來選擇調整時或分,按下鬧鐘時間調節(jié)的撥碼開關進行鬧鐘時間設定,圖中數
90、碼管顯示從左到右依次為:報警時長高位、低位,定時時間時高位、時低位,分高位、分地位,秒高位、秒低位,當前顯示鬧鐘設定時間為十二點十三分,報警時長為十五秒,當時鐘時間為十二點十三分時,蜂鳴器報警,時長為十五秒。</p><p> 圖3-2 實際測試圖二</p><p> 如圖3-3所示為實際測試圖三。通過按下報警時長調節(jié)鍵來改變報警時長,圖中報警時長更改為1秒,左為報警時長顯示,右為時鐘
91、時間顯示,顯示時間為十二點十一分二十九秒。時鐘時間計到設定的學校作息時間時,蜂鳴器報警,持續(xù)時間為當前設定的報警時長。</p><p> 測試說明,最終結果與預期效果基本一致,時、分、秒能夠正常計數并可調節(jié)時間,學校上下課時間打鈴功能正常,并且可以通過按鍵調整作息時間以及報警時長。</p><p> 在學校打鈴器設計過程中,更加熟悉了利用QuartusII軟件進行原理圖繪制的方法,硬件
92、描述語言VHDL的編寫模塊的技巧等,并能根據仿真結果分析設計的存在的問題和缺陷,從而進行程序的修改和完善。</p><p> 在設計電路中,往往是先仿真后連接實物圖,但有時候仿真和電路連接并不是完全一致的,例如在對具體模塊的仿真的過程中,往往沒有考慮到整體設計的層面以及與上下模塊接口的設計。再加上器件對信號的延時等問題,實際下載到實驗箱上后會出現一系列的問題,因此仿真圖和電路連接圖還是有一定區(qū)別的。</p
93、><p> 圖3-3 實際測試圖三</p><p> 學校打鈴器的設計重點在于按鍵的控制和各個模塊代碼的編寫,雖然能把鍵盤接口和各個模塊的代碼編寫出來,并能正常顯示,但對于各個模塊的優(yōu)化設計還有一定的缺陷和不足??偟膩碚f,通過這次的設計實驗更進一步地增強了實驗的動手能力,對打鈴器的工作原理也有了更加透徹的理解。在本設計調試過程中遇到了一些難點問題,經過努力加以解決:</p>
94、<p> 1、當程序下載到實驗箱上后,數碼管顯示全部為零,計數器不工作,經分析得知程序中的總的清零信號保持有效狀態(tài),改動程序后計數器開始計數。</p><p> 2、當秒時鐘計數到59時變0時,分計數模塊滯后計數,考慮的器件的延時,將程序中秒的進位信號提前1秒。</p><p> 3、在對學校打零時間設置及更改的問題上,一開始想通過ROM實現,但思考之后還是采用了通過程序實
95、現的方法,因為ROM只能讀不能寫。</p><p> 4、在檢測按鍵時,由于有些按鍵控制是秒時鐘同步的,所以控制起來顯得稍微慢些,但是工作正常,能滿足實際的需要。</p><p><b> 3.2結果分析</b></p><p> 從實際系統(tǒng)測試可知,學校打鈴器滿足設計要求,通過復位按鍵可對系統(tǒng)進行復位,可實現基本時鐘的顯示及調時調分,具
96、有鬧鐘功能,作息時間有春夏之分,當前時鐘時間與學校上下課時間點相同時打鈴,且計時時間、定時時間、打鈴時長可自由設置和調整,報警時長可在1至15秒內進行調節(jié),其數據信息都可以通過數碼管顯示,鬧鐘報警和作息報時通過蜂鳴器來實現。</p><p> 本設計是采用硬件描述語言和FPGA芯片相結合進行的學校打鈴器的研究,從中可以看出EDA技術的發(fā)展在一定程度上實現了硬件設計的軟件化,設計的過程相對簡單,容易修改。<
97、/p><p> 本設計中仍存在一定不足,用來控制學校打鈴器的按鍵為八個,數量較多,在實際應用中會帶來不便,以后可以考慮進一步優(yōu)化,如,可通過加入位選控制按鍵來實現節(jié)省按鍵資源,一鍵多用,便可以減少按鍵,實現同樣的控制功能。</p><p> 另外,在本設計的基礎上還可以進行一系列的創(chuàng)新,比如增加音樂報警的功能,取代稍有刺耳的蜂鳴聲,會使用戶在實際應用中多一份樂趣,還可以加入遙控功能、語音識
98、別等等,相信隨著電子技術的發(fā)展,打鈴器的功能會更加多樣化,滿足人們的各種需要,為人們以后的工作和生活提供更多的方便。</p><p><b> 參考文獻</b></p><p> [1] 劉皖,何道君,譚明編著.FPGA設計與應用[M].北京:清華大學出版社,2006.6:12-16</p><p> [2] 廖日坤.CPLD/FPG
99、A嵌入式應用開發(fā)技術白金手冊[M].北京:中國電力出版社,2003:212-218</p><p> [3] J.Bhasker著,徐振林等譯.Verilog HDL硬件描述語言[M].北京:機械工業(yè)出版社,2000:36-42</p><p> [4] 侯伯亨,顧新.VHDL硬件描述語言與數字電路邏輯設計[M].西安:西安電子科技大學出版社,2001:12-16</p>
100、;<p> [5] 高吉祥.電子技術基礎實驗與課程設計[M].北京:電子工業(yè)出版社,2002:67-73</p><p> [6] 李國洪,沈明山.可編程器件EDA技術與實踐[M].北京:機械工業(yè)出版社,2000:56-57</p><p> [7] 張慶雙.電子元器件的選用與檢測[M].北京:機械工業(yè)出版社,2003:23-25</p><p
101、> [8] 李婷.基于FPGA的按鍵彈跳消除模塊的研究與應用[J].科技創(chuàng)新導報,2008,(2):82-83</p><p> [9] 邢遠秀,陳姚節(jié).鍵盤消抖電路的研究與分析[J].中國科技信息,2008,(1):20-22</p><p> [10] Zainalabedin Navabi.Vhdl: Analysis and Modeling of Digital
102、 Systems[M].New York:McGraw-Hill Professional,1998,(2):342-346</p><p> [11] 王開軍,姜宇柏.面向CPLD/FPGA的VHDL設計[M].北京:機械工業(yè)出版社,2006:28-65</p><p> [12] 劉君,常明,秦娟.基于硬件描述語言(VHDL)的數字時鐘設計[J].天津理工大學學報,2007,2
103、3(4):40-41</p><p> [13] 譚會生,張昌凡.EDA技術及應用[M].西安:西安電子科技大學出版社,2002:89-92 </p><p> [14] 李可.數字鐘電路及應用[M].北京:電子工業(yè)出版社,1996:72-76</p><p><b> 附 錄</b></p><p><
104、;b> 一、程序清單</b></p><p><b> 1.分頻模塊</b></p><p> (1)library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity fenpin25k is</p><
105、p> port( clk :in std_logic;</p><p> co:out std_logic);</p><p> end entity;</p><p> Architecture art of fenpin25k is</p><p> signal cqi : integer range 1 to 2500
106、0;</p><p><b> begin</b></p><p> co<='1' when cqi=25000 and clk='0'else '0'; </p><p> process (clk) is</p><p><b> begin&
107、lt;/b></p><p> if clk'event and clk='1'then </p><p> if cqi=25000 then </p><p><b> cqi<=1;</b></p><p> else cqi<=cqi+1;</p>
108、<p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> end architecture art;</p><p> ?。?)library ieee;</p><
109、;p> use ieee.std_logic_1164.all;</p><p> entity cnt5 is</p><p> port( clk :in std_logic;</p><p> co:out std_logic);</p><p> end entity;</p><p> Ar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 利用單片機打鈴器畢業(yè)論文設計
- 基于fpga的回波抵消器設計【畢業(yè)論文】
- 利用單片機打鈴器畢業(yè)論文
- 基于fpga的紅外遙控器設計【畢業(yè)論文】
- 基于fpga電梯控制器設計畢業(yè)論文
- 畢業(yè)論文-基于fpga的電梯控制器設計
- 基于fpga的曼徹斯特編碼器設計【畢業(yè)論文】
- 畢業(yè)論文 基于fpga的信號發(fā)生器設計
- 畢業(yè)論文--基于單片機的打鈴系統(tǒng)
- 基于fpga電梯控制器的設計畢業(yè)論文
- 畢業(yè)論文----基于fpga的多路信號采器設計
- 自動打鈴系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--基于fpga的信號發(fā)生器設計
- 畢業(yè)論文--基于單片機的打鈴系統(tǒng)
- 基于fpga的曼徹斯特編碼器的設計畢業(yè)論文
- 基于fpga的dds信號發(fā)生器設計【畢業(yè)論文】
- 基于fpga的曼徹斯特編碼器的設計-畢業(yè)論文
- 基于fpga的函數信號發(fā)生器設計畢業(yè)論文
- 基于單片機的定時打鈴設計-本科畢業(yè)論文
- 基于fpga的正交信號發(fā)生器設計【畢業(yè)論文】
評論
0/150
提交評論