當前位置:學問君>學習教育>畢業論文>

基於VHDL語言設計數字頻率計

學問君 人氣:1.19W

摘  要:文中運用VHDL語言,採用Top To Down的方法,實現8位數字頻率計,並利用Isp Expert集成開發環境進行編輯、綜合、波形仿真,並下載到CPLD器件中,經實際電路測試,該系統系統性能可靠。    關鍵詞:EDA;VHDL;數字頻率計;波形仿真;CPLD?
1引言    VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成電路硬件描述語言)誕生於1982年,是由美國國防部開發的一種快速設計電路的工具,目前已經成爲IEEE(The Institute of Electrical and Electronics Engineers)的一種工業標準硬件描述語言。相比傳統的電路系統的設計方法,VHDL具有多層次描述系統硬件功能的能力,支援自頂向下(Top to Down)和基於庫(LibraryBased)的設計的特點,因此設計者可以不必瞭解硬件結構。從系統設計入手,在頂層進行系統方框圖的劃分和結構設計,在方框圖一級用VHDL對電路的行爲進行描述,並進行仿真和糾錯,然後在系統一級進行驗證,最後再用邏輯綜合優化工具生成具體的門級邏輯電路的網表,下載到具體的CPLD器件中去,從而實現可編程的專用集成電路(ASIC)的設計。    數字頻率計是數字電路中的一個典型應用,實際的硬件設計用到的器件較多,連線比較複雜,而且會產生比較大的延時,造成測量誤差、可靠性差。隨着複雜可編程邏輯器件(CPLD)的廣泛應用,以EDA工具作爲開發手段,運用VHDL語言。將使整個系統大大簡化。提高整體的性能和可靠性。    本文用VHDL在CPLD器件上實現一種8 b數字頻率計測頻系統,能夠用十進制數碼顯示被測信號的頻率,不僅能夠測量正弦波、方波和三角波等信號的頻率,而且還能對其他多種物理量進行測量。具有體積小、可靠性高、功耗低的特點。2數字頻率計的基本設計原理    數字頻率計的原理框圖如圖1所示。他主要由5個模組組成,分別是:脈衝發生器電路、測頻控制信號發生器電路、計數模組電路、鎖存器、譯碼驅動電路。?
    當系統正常工作時,脈衝發生器提供的1 Hz的輸入信號,經過測頻控制信號發生器進行信號的變換,產生計數信號,被測信號透過信號整形電路產生同頻率的矩形波,送入計數模組,計數模組對輸入的矩形波進行計數,將計數結果送入鎖存器中,保證系統可以穩定顯示數據,顯示譯碼驅動電路將二進制表示的計數結果轉換成相應的能夠在七段數碼顯示管上可以顯示的十進制結果。在數碼顯示管上可以看到計數結果。?3設計實現?3.1系統方框圖的劃分和結構設計    根據數字頻率計的系統原理框圖(圖1虛線框內),設計系統的頂層電路圖如圖2所示。?

    圖2中TESTCTL爲測頻控制信號發生器。TESTCTL的計數使能信號TSTEN能產生一個1 s寬的週期信號,並對頻率計的每一計數器CNT10的ENA使能端進行同步控制:當TSTEN高電平時允許計數、低電平時停止計數。    REG32B爲鎖存器。在信號Load的上升沿時,立即對模組的輸入口的數據鎖存到REG32B的內部,並由REG32B的輸出端輸出,然後,七段譯碼器可以譯碼輸出。在這裏使用了鎖存器,好處是可以穩定顯示數據,不會由於週期性的清零信號而不斷閃爍。    CNT10爲十進制計數器。有一時鐘使能輸入端ENA,用於鎖定計數值。當高電平時允許計數,低電平時禁止計數。圖2中將8個十進制計數器CNT10級聯起來實現8 b十進制計數功能。    SEVYM爲七段譯碼顯示驅動電路,可以將頻率計數的結果譯成能在數碼管上顯示相對應的阿拉伯數字,便於讀取測量的結果。    爲了實現系統功能,測頻控制信號發生器TESTCTL、計數器CNT10、鎖存器REG32B存在一個工作時序的問題,設計時需要綜合考慮。    圖3給出了系統的工作時序。圖3中CLK是由圖1中脈衝發生器產生的'頻率爲1 Hz的標準時鍾信號,當測頻控制信號發生器TESTCTL的TSTEN端爲高電平時允許計數、低電平時停止計數,在停止計數期間,測頻控制信號發生器TESTCTL的Load端產生一個上升沿,將計數器在前1 s的計數值鎖存進32 b鎖存器REG32B中,並由8個7段譯碼器將計數結果譯出穩定顯示。鎖存信號之後經過半個CLK週期,測頻控制信號發生器TESTCTL的CLR?_CNT端產生一個上升沿,對計數器進行清零。爲下1 s的計數操作做準備。    爲了產生這個時序圖,首先有一個D觸發器構成二分頻器,在每次時鐘CLK的上升沿到來使其值翻轉。D觸發器的輸出高電平正好是1 s,因此可以作爲測頻控制信號發生器TESTCTL的TSTEN端,用來控制計數。而Load信號正好是TSTEN端信號的翻轉。在計數結束後半個CLK週期,CLK與TSTEN都爲低電平,這時CLR?_CNT產生一個上升沿作爲清零信號。?

3.2各模組的VHDL源程序    採用VHDL描述數字頻率計的電路時,根據圖2所示的數字頻率計系統頂層電路圖,按照自頂向下的設計思路,編寫各個模組的VHDL源程序,最後再對各個模組進行組合,編寫頂層描述的VHDL源程序,由於篇幅所限,本文僅介紹數字頻率計頂層描述的源程序,各個模組的VHDL源程序編寫較爲簡單,可以根據各自的功能,相應地寫出。    8位數字頻率計的頂層描述VHDL源程序爲:4系統的功能仿真    Lattice公司推出的Isp Expert的數字系統設計軟件,是一套完整的EDA軟件,能夠對所設計的數字電子系統進行時序仿真和功能仿真。    採用Lattice公司推出的Isp Expert EDA軟件,對所編寫數字頻率計VHDL源程序進行編譯、邏輯綜合,自動地把VHDL描述轉變爲門級電路。然後進行波形仿真,編寫的仿真測試向量檔案如下(爲仿真簡單起見,測試一個66 Hz的週期信號):    仿真後得到的波形圖如圖4所示,從仿真波形上看測量的結果是準確的。還可以進一步修改測試向量檔案,進行波形仿真。最後透過編程電纜,將所設計的內容下載到CPLD器件中,進行實物仿真。?

5結語    本文介紹了使用VHDL語言設計數字頻率計的方法,並下載到CPLD中組成實際電路,這樣可以簡化硬件的開發和製造過程,而且使硬件體積大大縮小,並提高了系統的可靠性。同時在基本電路模組基礎上,不必修改硬件電路,透過修改VHDL源程序,增加一些新功能,滿足不同用戶的需要,實現數字系統硬件的軟件化。?