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

才智咖 人氣:1.17W

摘  要:文中運用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源程式,增加一些新功能,滿足不同使用者的需要,實現數字系統硬體的軟體化。?