• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA技術(shù)的數(shù)字電路綜合實驗研究

      2019-09-10 07:22:44張燕凱趙發(fā)勇相乾朱勇
      關(guān)鍵詞:綜合實驗數(shù)字電路

      張燕凱 趙發(fā)勇 相乾 朱勇

      摘要:針對傳統(tǒng)數(shù)字電路實驗存在的靈活性差以及綜合性不足等問題,提出將FPGA技術(shù)引入到數(shù)字電路的綜合性實驗設(shè)計之中.本文將邏輯代數(shù)、觸發(fā)器、定時器、計數(shù)器、譯碼器以及數(shù)碼管等數(shù)字電路中的傳統(tǒng)知識點進(jìn)行有機結(jié)合,設(shè)計并實現(xiàn)了數(shù)字時鐘系統(tǒng).實踐表明,現(xiàn)代設(shè)計方法與傳統(tǒng)數(shù)字電路教學(xué)相結(jié)合的方法能夠起到良好的教學(xué)效果.學(xué)生在實現(xiàn)系統(tǒng)的過程中既能夠加深對相關(guān)知識點的理解,又能夠提高實踐動手能力.

      關(guān)鍵詞:FPGA;數(shù)字電路;綜合實驗;數(shù)字時鐘

      中圖分類號:TN791? 文獻(xiàn)標(biāo)識碼:A? 文章編號:1673-260X(2019)01-0022-03

      1 引言

      數(shù)字電路是為高等院校電氣信息類專業(yè)本科生開設(shè)的一門專業(yè)核心課程,作為學(xué)習(xí)數(shù)字系統(tǒng)的入門課程,在人才培養(yǎng)方案中,一方面起到承接模擬電路相關(guān)知識的作用,另一方面也為學(xué)生后續(xù)學(xué)習(xí)信號處理相關(guān)內(nèi)容做鋪墊[1-2].于此同時,數(shù)字電路實驗課程在加深學(xué)生對數(shù)字電路理論知識的理解具有非常重要的作用.傳統(tǒng)數(shù)字電路實驗都大多采用74系列芯片,讓學(xué)生實現(xiàn)加法器、計數(shù)器等一些簡單的驗證性實驗.由于芯片之間以手動連線進(jìn)行通信,當(dāng)線路較復(fù)雜時,實驗的調(diào)試變得異常困難,實驗的靈活性以及綜合性難以保證[3-4].

      FPGA(Filed Programmable Gate Array:現(xiàn)場可編程門陣列)作為專用集成電路領(lǐng)域中的一種半定制電路,通過邏輯綜合和布局、布線工具軟件,可以將用硬件描述語言描述的電路快速下載到FPGA上進(jìn)行測試,并且其內(nèi)部邏輯可以被設(shè)計者反復(fù)修改.在現(xiàn)代電子產(chǎn)品設(shè)計中,F(xiàn)PGA在通信、信號處理以及嵌入式系統(tǒng)設(shè)計等領(lǐng)域得到了廣泛的應(yīng)用[5].

      針對傳統(tǒng)數(shù)字電路實驗課程存在的調(diào)試?yán)щy、實驗內(nèi)容靈活性差、綜合性不夠等問題,我們將FPGA技術(shù)引入到數(shù)字電路實驗課程中,本文以“數(shù)字時鐘”綜合實驗為例,首先對數(shù)字時鐘電路進(jìn)行總體設(shè)計以及模塊劃分,然后利用硬件描述語言(Verilog HDL)進(jìn)行描述,通過Quartus Ⅱ進(jìn)行軟件仿真,最后下載至FPGA開發(fā)板上進(jìn)行硬件驗證[6-7].

      2 實驗總體方案設(shè)計

      本實驗所要完成的功能為:數(shù)字時鐘系統(tǒng)具備顯示時、分、秒的功能,通過按鍵可以對當(dāng)前時間進(jìn)行調(diào)節(jié),為了保證時間調(diào)節(jié)的準(zhǔn)確性,還應(yīng)設(shè)置一按鍵用來暫停以及開啟時鐘記時,系統(tǒng)還需要具有整點報時的功能.

      在明確系統(tǒng)功能的前提下,利用模塊化思想[8]可以將系統(tǒng)劃分為四個子模塊:按鍵模塊、記時模塊、數(shù)碼管模塊以及蜂鳴器模塊.模塊框圖如圖1所示,其中各模塊的功能為:

      按鍵模塊:利用三個按鍵分別調(diào)節(jié)時鐘時、分、秒的個位,利用單獨按鍵暫停或開始時鐘的記時,以便對時間進(jìn)行準(zhǔn)確校準(zhǔn).

      計時模塊:首先完成1s的定時器,再根據(jù)時鐘的進(jìn)位特點,分別設(shè)計三種計數(shù)器:模三計數(shù)器、模六計數(shù)器以及模十計數(shù)器.模三計數(shù)器用于完成小時的高位計數(shù),模六計數(shù)器用于完成秒、分的高位計數(shù),模十計數(shù)器用于完成秒、分、十位的低位計數(shù).

      數(shù)碼管模塊:將記時模塊輸出的時、分、秒數(shù)字信息先進(jìn)行譯碼,然后利用人眼的視覺暫留,通過分時掃描的方式將時間信息顯示在6位數(shù)碼管上.

      蜂鳴器模塊: 將小時的低位信息作為蜂鳴器模塊的輸入,如果小時的低位發(fā)生變化,驅(qū)動蜂鳴器鳴叫一次.

      3 實驗系統(tǒng)的模塊實現(xiàn)

      3.1 按鍵模塊

      為了讓系統(tǒng)能夠準(zhǔn)確識別按鍵的操作,需要對按鍵進(jìn)行消抖以及松手檢測處理.按鍵消抖可以分為硬件消抖以及軟件消抖,為了簡化實驗流程,本文采用軟件消抖的方式來獲取穩(wěn)定的電平信號,理論上的按鍵抖動時間為5~10ms,為此按鍵模塊首先定義一個時長為15ms的定時器,按下按鍵15ms以后再對相應(yīng)端口的電平信號進(jìn)行判斷.

      松手檢測的實現(xiàn)方法如式(1)所示:

      key_press=key_reg&(~key_reg_next);? (1)

      式中key_press為表示按鍵按下是否有效的寄存器變量,key_reg存儲當(dāng)前時刻按鍵的狀態(tài),key_reg_next為下一時刻按鍵的狀態(tài).從式(1)可知,key_press若為1,key_reg必為1以及key_ reg_next必為0,其對應(yīng)的含義為:只有按鍵當(dāng)前時刻沒有被按下,并且下一時刻被按下才認(rèn)定為一次有效的按鍵觸發(fā)信號.圖2為松手檢測實現(xiàn)方法的門級電路圖.

      3.2 計時模塊

      計時模塊首先定義時長為1s的定時器作為計數(shù)器的時鐘基準(zhǔn),該模塊的設(shè)計思路為先利用1s的定時器完成單位秒的計數(shù),然后再根據(jù)單位秒與單位分以及單位分與單位時之間的關(guān)系,完成時鐘的計時.圖3為單位秒的實現(xiàn)框圖.秒位由秒個位與秒十位組成,數(shù)值在0~59之間循環(huán)變化,單位秒的實現(xiàn)過程就是模六十計數(shù)器的實現(xiàn)過程.模塊中首先定義模十計數(shù)器完成秒個位的計數(shù),隨后定義模六計數(shù)器,將模十計數(shù)器與模六計數(shù)器以串行進(jìn)位的方式進(jìn)行級聯(lián)完成模六十計數(shù)器的實現(xiàn)[9].每一個60s的計數(shù)完成以后,秒的個位與十位被清零,通過秒十位的進(jìn)位輸出位(C)向單位分的個位進(jìn)位,完成時鐘對分的計時.

      3.3 數(shù)碼管模塊

      實驗平臺的6個八段數(shù)碼管使用共陰極的方式連接到FPGA內(nèi)部的SEG_EN0~SEG_EN5管腳作為數(shù)碼管的片選端,6個數(shù)碼管的a~g以及小數(shù)點dp管腳并聯(lián)連接到FPGA的SEG_DATAa~ SEG_DATADP管腳作為數(shù)據(jù)輸入端.

      實驗采用動態(tài)掃描的方式讓6個數(shù)碼管同時顯示當(dāng)前時刻的時、分、秒信息.模塊定義1ms的定時器作為動態(tài)掃描數(shù)碼管的掃描周期,在掃描周期的時間段內(nèi),首先將待顯示的時間信息進(jìn)行譯碼,根據(jù)實際情況,只對0~9這10個數(shù)字進(jìn)行譯碼,譯碼完成以后將譯碼結(jié)果賦給SEG_DATAx(x=a,b…DP),與此同時將對應(yīng)的數(shù)碼管片選端拉低,相應(yīng)的時間信息就會顯示在數(shù)碼管上,每次間隔1ms開始對下一位時間信息進(jìn)行掃描顯示,由于人眼的視覺暫留,此時看到時、分、秒的信息同時在數(shù)碼管上顯示.

      3.4 蜂鳴器模塊

      實驗平臺所用蜂鳴器的原理圖如圖4所示,由圖可知蜂鳴器的正極連接在三極管的集電極上,F(xiàn)PGA的輸出管腳BEEP接在三極管的基極.當(dāng)BEEP管腳輸出高電平,三級管截止,蜂鳴器不發(fā)聲;當(dāng)BEEP管腳輸出為低電平時,三極管導(dǎo)通,蜂鳴器的電流系形成回路,蜂鳴器發(fā)聲.通過控制BEEP管腳輸出方波信號的頻率以及占空比可以控制蜂鳴器的音調(diào)高低與音量大小.

      實驗中利用蜂鳴器進(jìn)行整點報時,模塊首先定義1s的定時器,然后檢測小時的個位是否變化,若發(fā)生變化,蜂鳴器發(fā)出時長為1s的固定音調(diào)聲音.

      3.5 頂層模塊

      利用硬件描述語言(Verilog HDL)完成對各模塊所要實現(xiàn)的功能進(jìn)行描述之后,編寫頂層模塊連接各子模塊.利用Quartus Ⅱ所帶的分析綜合工具對工程進(jìn)行編譯,生成RTL(Register Transfer Level)功能框圖如圖5所示,從圖中可以看出數(shù)字時鐘系統(tǒng)被分為4個模塊,系統(tǒng)的內(nèi)部端口與外部端口與所要設(shè)計的系統(tǒng)相符.

      4 軟件仿真

      為了驗證電路功能是否符合設(shè)計要求,首先利用ModelSim編寫測試代碼來對系統(tǒng)進(jìn)行功能仿真.仿真結(jié)果如圖6所示,仿真時添加的時鐘激勵為50M Hz,對開始鍵施加有效信號,時鐘開始計時,此時使能位數(shù)據(jù)以及數(shù)據(jù)位的數(shù)據(jù)完全正確,因此數(shù)碼管能夠正確顯示初始設(shè)置的時間值,仿真結(jié)果表明設(shè)計電路正確實現(xiàn)了預(yù)先的設(shè)計要求.

      5 硬件驗證

      利用Modelsim對各模塊及整個電路進(jìn)行軟件仿真后,確保各模塊功能正常,最后將編譯生成的sof文件通過下載線下載到FPGA開發(fā)板上.首先通過按鍵完成對時鐘時、分、秒的設(shè)置,然后按開始鍵啟動計時,當(dāng)時鐘到達(dá)整點時,蜂鳴器能夠鳴叫1s.經(jīng)實際檢驗,所設(shè)計的數(shù)字時鐘能夠正常運行,滿足了預(yù)期的設(shè)計要求.

      6 結(jié)束語

      將FPGA技術(shù)運用到數(shù)字電路綜合實驗的設(shè)計之中是一種卓有成效的數(shù)字電路實驗教學(xué)方法.在實驗過程中,學(xué)生不僅能夠?qū)W到自頂向下、模塊化的現(xiàn)代工程設(shè)計思想,而且能夠掌握利用硬件描述語言對電路進(jìn)行設(shè)計的現(xiàn)代電路設(shè)計方法.經(jīng)實踐證明,該方法能夠起到良好的教學(xué)效果,學(xué)生在實現(xiàn)系統(tǒng)的過程中既能夠加深對相關(guān)知識點的理解,又能夠提高實踐動手能力.

      參考文獻(xiàn):

      〔1〕倪德克,師亞莉,朱旭花,等.EDA技術(shù)在數(shù)字電路課程設(shè)計教學(xué)改革中的探索與實踐[J].大學(xué)教育,2016(04).

      〔2〕王紅航,劉凱,鄧春健,楊健君,等.數(shù)字電路和EDA課程融合實踐與探討[J].實驗科學(xué)與技術(shù),2018,16(02).

      〔3〕陳衛(wèi)兵,陳曙光,李季.EDA技術(shù)與數(shù)字電路課程的教學(xué)改革[J].蘭州文理學(xué)院學(xué)報(自然科學(xué)版),2016,30(05).

      〔4〕易藝,郝建衛(wèi).FPGA在數(shù)字邏輯電路教學(xué)中的應(yīng)用[J].實驗科學(xué)與技術(shù),2016,14(02).

      〔5〕韓彬,于瀟宇,張雷鳴.FPGA設(shè)計技巧與案例開發(fā)詳解[M].北京:電子工業(yè)出版社,2014.

      〔6〕劉福奇.Verilog HDL設(shè)計與實戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2012.

      〔7〕于斌,謝龍漢.ModelSim電子系統(tǒng)分析及仿真[M].北京:電子工業(yè)出版社,2014.

      〔8〕蔚瑞華,余有靈,張偉,等.基于模塊化思想的FPGA綜合實驗項目設(shè)計[J].實驗技術(shù)與管理,2016,33(05).

      〔9〕閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.

      猜你喜歡
      綜合實驗數(shù)字電路
      基于數(shù)字電路的定時器的設(shè)計
      電子制作(2019年22期)2020-01-14 03:16:46
      MATLAB在數(shù)字電路教學(xué)中的應(yīng)用
      電子測試(2018年23期)2018-12-29 11:11:48
      基于數(shù)字電路的密碼鎖設(shè)計與實現(xiàn)
      數(shù)字電路實驗的設(shè)計分析
      電子制作(2017年1期)2017-05-17 03:54:28
      本科生《醫(yī)學(xué)免疫學(xué)》研討型教學(xué)方法的探索
      數(shù)字化語音存儲于回放綜合實驗系統(tǒng)設(shè)計
      高分子材料與工程專業(yè)綜合實驗的教學(xué)探索
      中國市場(2016年36期)2016-10-19 04:57:58
      機電一體化系統(tǒng)設(shè)計與綜合實驗的改革與實踐路徑研究
      考試周刊(2016年72期)2016-09-20 13:35:56
      蒲江县| 改则县| 霍邱县| 黄骅市| 德格县| 永城市| 济阳县| 商洛市| 澄江县| 竹溪县| 台江县| 永平县| 且末县| 宣化县| 馆陶县| 轮台县| 汝州市| 聊城市| 灵璧县| 碌曲县| 登封市| 黄浦区| 边坝县| 汤阴县| 密山市| 和田市| 新邵县| 牟定县| 尤溪县| 永年县| 祁东县| 鞍山市| 白银市| 龙门县| 绥滨县| 六盘水市| 象山县| 大足县| 宜兰市| 上饶市| 白水县|