資源描述:
《基于eda的數(shù)字鐘程序設(shè)計》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、數(shù)字電路課程設(shè)計報告一、課題要求:(1)技術(shù)要求:1、掌握多功能數(shù)字鐘的工作原理。2、應(yīng)用EDA技術(shù),VHDL語言編寫程序。3、層次化設(shè)計,設(shè)計原理框圖。4,、硬件設(shè)計及排版。(2)功能要求:1、基本功能:能進(jìn)行正常的時、分、秒計時功能,分別由6個數(shù)碼管顯示24小時、60分鐘、60秒的計數(shù)器顯示。2、擴(kuò)展功能:(1)能夠利用按鍵實現(xiàn)“校時”“校分”“清零”功能。(2)能利用揚(yáng)聲器做整點報時,整點前五秒短聲,整點長聲。(3)本人工作:負(fù)責(zé)軟件部分,,編寫各部分模塊的VHDL程序,并且鎖定引腳,將程
2、序下載到芯片中。二、設(shè)計方案:原理框圖:數(shù)字鐘原理框圖一共有11個小模塊:分頻,片選,按鍵,小時,分,秒,顯示模塊,七段顯示譯碼器,報時,揚(yáng)聲,36譯碼器。左邊第一個是時鐘信號輸入端,50Mhz到分頻模塊。第二個為清零按鍵,第三個為校分按鍵,第四個為校時按鍵。右邊第一個為七段顯示譯碼器輸出端,第二個為揚(yáng)聲器輸出端,第三個為6個數(shù)碼管輸出端。中間模塊為數(shù)字鐘的核心,有計時,報時,校時功能。數(shù)字電路課程設(shè)計報告三、單元模塊設(shè)計1、分頻模塊該模塊是將時鐘脈沖50Mhz分頻到1000、500和1,分別給
3、報時模塊和及時模塊。數(shù)字電路課程設(shè)計報告2、秒模塊仿真圖該模塊為60進(jìn)制計數(shù)器,有分頻模塊得到的1hz進(jìn)行計時,計時輸出為秒的數(shù)值,在計時到59時進(jìn)位1到co端。當(dāng)按下s3時,秒清零。數(shù)字電路課程設(shè)計報告3.、分模塊仿真圖該模塊也為60進(jìn)制計數(shù)器,計時輸出為分的數(shù)值。在EN信號有效且時鐘來時,計數(shù)器加1、在s2按下時,EN使能端有效,實現(xiàn)校分功能。數(shù)字電路課程設(shè)計報告4、時模塊仿真圖該模塊為24進(jìn)制計數(shù)器,計時輸出為小時的數(shù)值,在EN信號到來時,計數(shù)器加1,在S1按下時,EN信號有效,實現(xiàn)校時功
4、能。數(shù)字電路課程設(shè)計報告5、片選模塊仿真圖該模塊提供數(shù)碼管片選信號。數(shù)字電路課程設(shè)計報告6、按鍵模塊仿真圖該模塊是有幾個門電路組成,把它編寫成一個模塊,到時寫程序方便。該模塊連接幾個按鍵,由按鍵控制。數(shù)字電路課程設(shè)計報告7、報時模塊仿真圖該模塊為整點報時提供控制信號,當(dāng)59分時,秒為50,52,54,56,58時,Q500輸出“1”;秒為00時,Q1000輸出“1”。這兩個信號經(jīng)過邏輯門實現(xiàn)報時功能。8、BBB模塊數(shù)字電路課程設(shè)計報告仿真圖該模塊對應(yīng)不同的片選信號送出不同的要顯示的數(shù)據(jù)。9、36
5、譯碼器模塊數(shù)字電路課程設(shè)計報告仿真圖該模塊為36譯碼器,為輸出到數(shù)碼管對應(yīng)功能。10、七段譯碼器模塊數(shù)字電路課程設(shè)計報告仿真圖該模塊為七段譯碼器,輸出到數(shù)碼管的每一個引腳,可以正確的點亮每一個數(shù)碼管。11、揚(yáng)聲模塊數(shù)字電路課程設(shè)計報告仿真圖該模塊也為幾個門電路組合,控制著對揚(yáng)聲器的輸入,當(dāng)時間到達(dá)某一點時,輸出不同的脈沖信號到揚(yáng)聲器,給予揚(yáng)聲器信號。四、頂層模塊設(shè)計數(shù)字電路課程設(shè)計報告程序圖:數(shù)字電路課程設(shè)計報告數(shù)字電路課程設(shè)計報告總體框圖頂層文件將上面11個小模塊集合到一起構(gòu)成了總的程序,最終
6、也是將這個頂層文件寫到FPGA芯片中。五、硬件電路設(shè)計由另一位同學(xué)負(fù)責(zé),收集好器件,將器件排版在電路板上,并將其焊接成成品。六、硬件電路安裝及調(diào)試在EDA中,將頂層文件各個輸入與輸出端口鎖定引腳。數(shù)字電路課程設(shè)計報告鎖定好引腳后將整個頂層文件下載到FPGA芯片中。注:在下載時,要注意先安裝USB程序,再設(shè)置IDE環(huán)境設(shè)置,然后再programmer中選擇自己要的文件,下載時必須先安裝好芯片再接電源,下載成功后,先拔電源,再拔下USB。下載好以后,用杜邦線將硬件和芯片的引腳連接好,檢查無誤后進(jìn)行測
7、試。七、調(diào)試結(jié)果為了每個模塊的正確性,將一一對每個模塊進(jìn)行測試。將芯片與硬件連接好,檢查無誤后,打開電源,此時硬件上的數(shù)碼管開始計時,等到秒為59時,下一秒,分為1,秒為00。然后用校時功能按鍵將分校分到59分,此時當(dāng)秒為50時,揚(yáng)聲器開始響,并且到整點時,揚(yáng)聲器持續(xù)響一段時間。按下S3,秒清零。調(diào)試結(jié)束,基本功能能夠計時,并且進(jìn)位到分和時,擴(kuò)展功能,按下S2和S3后能夠進(jìn)行分和時的校時,并且到整點時開始報時。八、設(shè)計中遇到的問題及解決方案我負(fù)責(zé)軟件部分,開始在編寫程序時根本無從下手,再找了一些
8、資料后終于對數(shù)字鐘有些了解。用EDA設(shè)計每一個模塊,都需要一個一個的去仿真,看程序?qū)Σ粚?,?jīng)常在一些小程序上出現(xiàn)問題。本來有好多門電路,發(fā)現(xiàn)放在頂層文件中比較麻煩,所以將這些門電路組成兩個模塊,按鍵模塊和揚(yáng)聲模塊,這樣方便頂層文件的編寫。分頻模塊,由于要將50MHz的脈沖分到1000Hz,500Hz,和1Hz,分頻量比較大,不能仿真,只能先改小一下數(shù)據(jù),驗證程序是否正確。36譯碼器部分,本來使用的是38譯碼器,發(fā)現(xiàn)多了2個輸入,有6個數(shù)碼管,但是38譯碼器并不影響輸出。在下載過程,鎖定引腳,發(fā)現(xiàn)