




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本科畢業設計第36頁共36頁PAGE基于VHDL的數字頻率計的設計與仿真1引言1.1設計背景隨著計算機技術和半導體技術的發展,傳統的硬件電路電路設計方法已大大落后于當今技術的發展,一種嶄新的、采用硬件描述語言的硬件電路設計方法已經興起,這是電子設計自動化(EDA)領域的一次重大變革。目前,廣泛使用的硬件描述語言VHDL(VerySpeedIntegratedCircuitHardwareDescriptionLanguage)和VerilogHDL;它們先后被批準為國際標準語言。據統計,目前在美國硅谷約有90%以上的ASIC和FPGA采用硬件描述語言進行設計,VHDL的應用已成為當今以及未來EDA解決方案的核心,而且是復雜數字系統設計的核心。數字頻率計[1]是電子測量與儀表技術最基礎的電子儀表類別之一,它是一種用十進制數字顯示被測信號頻率、周期、占空比的數字測量儀器,是在數字電路中的一個典型應用;實際的硬件設計的多功能數字頻率計用到的器件較多,連線比較復雜,而且會產生比較大的延時,造成測量誤差、可靠性差,隨著復雜可編程邏輯器件(CPLD)的廣泛應用,以EDA工具作為開發手段,運用VHDL語言,將使整大大簡化,提高整體個系統的性能和可靠性;它是計算機、通信設備、音頻視頻等科研生產領域不可缺少的測量儀器。采用VHDL編程設計實習的多功能數字頻率計,具有體積小,可靠性高,功耗低的特點;整個系統非常精簡,且具有靈活的現場可更改性。數字頻率計是計算機、通訊設備、音頻視頻等科研生產領域不可缺少的測量儀器,而且它是數字電壓必不可少的部件。當今數字頻率計不僅是作為電壓表,計算機,天線電廣播通訊設備,工藝過程自動化裝置、多種儀表儀器與家庭電器等許多電子產品中的數據信息輸出顯示器反映到人們眼簾。集成數字頻率計由于所用元件少、投資少、體積小、功耗低,且可靠性高、功能強、易于設計和研發,使得它具有技術上的實用性和應用的廣泛性。不論從我們用的彩色電視機、電冰箱、DVD還有我們現在家庭常用到的數字電壓表數字萬用表等等都包含有頻率計。現在頻率計已是向數字智能方向發展,即可以很精確的讀數也精巧易于控制。數字頻率計已是現在頻率計發展的方向,它不僅可以很方便的讀數。而且還可以使頻率的測量范圍和測量準確度上都比較先進.而且頻率計的使用已設計到很多的方面,數字衛星,數字通訊等高科技的領域都有應用,今天數字頻率計的發展已經不僅僅是一個小電子產品的發展也是整個民族乃至整個國家的發展,所以頻率計的發展是一個整體的趨勢。1.2國內外發展現狀及研究概況當今社會,隨著科技的進步,電子技術得到了飛速的發展與應用,數字系統的設計也有了很大的進步,如今運行速度快、在功能更加強大的基礎上更加便于使用攜帶成了發展的方向。60年代以來,在半導體器件和計算機技術發展的基礎上,結合電測技術創造出了完全新的數字式儀表。它在測試方法、原理、儀器結構和操作方法上完全與前面所講的模式式儀表不同,在質的方面也有很大的飛躍,70年代以來,把微型計算機的功能引入數字儀表,產生了新型智能化儀表,它具有程序控制、信息儲存數據處理和自動檢修功能,使數字儀表向高準確度、多功能、高可靠性和低價格方面大大邁進了一步。近代的數字頻率計就其功能而言,早已超出了早期只能測量頻率的范疇,而具有測量周期、頻率比、脈沖時間、累加計數等用途,并能輸出標準頻率、時標脈沖、閘門時間脈沖及編碼信號等,成為一機多能、測頻范圍寬、測量精度高、測量速度快、自動化程度高、直接數字顯示、操作簡便的常用電子儀器,它在教學、科研、生產、國防中得到廣泛使用。現如今到處可見到處理離散信息的數字電路。數字電路制造工業的進步,使得系統設計人員能在更小的空間內實現更多的功能,從而提高系統可靠性和速度。而數字頻率計也有了廣泛的發展,從早期主要是擴展測量范圍,提高測量精度、穩定度等,到如今除通常通用頻率計所具有的功能外,還要有數據處理功能,統計分析功能,時域分析功能等等,或者包含電壓測量等其他功能。目前應用現代技術可以輕松地將頻率計的測頻上限擴展到微波頻段。1.3常用數字頻率計的測量方法全同步頻率測量法:在給出參考閘門信號后,通過一個脈沖同步檢測器檢測被測信號脈沖沿和標準時鐘信號脈沖沿的同步信息,當它們同步就開始計時;參考閘門關閉后,亦檢測被測信號脈沖沿和標準時鐘信號脈沖沿的同步信息,當它們同步則停止計時。對于任意的標準時鐘和被測信號,要找到兩者脈沖完全同步的時刻來開啟、關閉閘門是不現實的,但有可能找在實現脈沖同步檢測電路時,也存在一個脈沖同步檢測的誤差范圍。若以這個脈沖同步檢測電路檢測到脈沖同步的時刻作為開關信號,可以使得實際閘門的開關發生在標準時鐘和被測信號都足夠接近的時刻,從而達到計算值量化誤差的最小化。M/T法:是目前使用比較廣泛的一種頻率測量方法。其核心思想是通過閘門信號與被信號同步,將閘門時間T控制為被測信號周期的整數倍。M/T法通過提高標準時鐘頻率或加大門閘門時間來提高頻率測量精度,而全同步頻率測量法可以使用較低標準時鐘頻率、較短閘門時間來獲得較好的頻率測量精度。本文提出的全同步頻率測量方法可以在較低的標準時鐘頻率、較短的閘門時間條件下顯著提高頻率測量的精度,適用于各種頻率測量場合。
被除數與除數的倒數相乘法:即將除數作為寄存器的地址,其倒數的小數部分作為寄存器的內容,通過一次寄存器尋址來計算除數的倒數。這種方法在一個時鐘周期內即可完成一個完整的除法運算,雖然速度較高,但對于多字節除法運算,不僅程序復雜,而且占用資源較多。根據頻率計的實際情況,本設計采用串行除法運算,利用多個時鐘周期完成一個完整的除法運算,從而兼顧了頻率計對速度和資源兩方面的要求。高速串行BCD碼除法:是建立在BCD碼減法運算基礎上的循環運算。用被除數減除數得到部分余數的BCD碼,如果夠減,則使商加1;否則,余數和商同時左移四位,并記錄移位的次數m,根據對有效位數的不同要求,可以m進行賦值,如果要求保留8位有效數字,則m=8。在這種循環除法運算中,減少循環的次數是提高運算速度比較有效的方法。在一般循環式除法運算中,是從低位開始進行循環相減,循環次數等于商。采用VHDL語言設計一個復雜的電路系統,運用自頂向下的設計思想,將系統按功能逐層分割的層次化設計方法進行設計。在頂層對內部各功能塊的連接關系和對外的接口關系進行了描述,而功能塊的邏輯功能和具體實現形式則由下一層模塊來描述。根據頻率計的系統原理框圖,運用自頂向下的設計思想,設計的系統頂層電路圖。各功能模塊采用VHDL語言來描述。在計數模塊中,通過譯碼完成的信號和標準信號計數器的溢出信號對門控信號進行控制。可以根據不同的情況選擇門控信號的時間范圍,使設計具有一定的靈活性。2VHDL簡述和QuartusII概述2.1VHDL的發展VHDL誕生于1982年。在1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言,自IEEE公布了VHDL的標準版本,IEEE-1076(簡稱87版)之后,各EDA公司相繼推出了自己的VHDL在電子設計領域得到了廣泛的接受,并逐步取代了原有的非標準的硬件描述語言。而VerilogHDL是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末首創的,最初只設計了一個仿真與驗證工具,之后又陸續開發了相關的故障模擬與時序分析工具,1985年Moorby推出它的第三個商用仿真器VerilogXL,獲得了巨大的成功,從而使得VerilogHDL迅速得到推廣應用。1989年CADENCE公司收購了GDA公司公開發表了VerilogHDL,并成立LV1組織以促進VerilogHDL成為IEEE標準,即IEEEStandard1364-1995.VHDL的英文全名是VHSIC(VeryHighSpeedInteratedCircuit)HardareDescriptionLanguage,支持各種模式的設計方法:自頂向下與自底向上或混合方法,在面對當今許多電子產品生命周期的縮短,需要多次重新設計以其融入最新技術、改變工藝等方面,VHDL具有良好的適應性。用VHDL設計的最大優點是設計者可以專心致力于其功能的實現,而不需要對不影響功能的與工藝有關的因素花費過多的時間和精力。2.2VHDL的特點VHDL語言主要用于描述數字系統的結構,行為,功能和接口。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統)分成外部(或稱可是部分,及端口)和內部(或稱不可視部分),既涉及實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內部開發完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統設計的基本點。VHDL程序組成部分由實體、構造體、配置、包集合、庫5個部分組成。各組成部分的作用是:(1)實體:用于描述所設計的系統的外部接口信號。(2)構造體:用于描述系統內部結構和行為。(3)配置:用于從庫中選取不同單元(器件)來組成系統設計的不同版本。(4)包集合:存放各設計模塊都能共享的數據類型,常數和子程序等。(5)庫:可由系統工程師生成或由ASIC芯片商提供,以便在設計中共享。VHDL語言能夠成為標準化的硬件描述語言并獲得廣泛應用,它自身必然具有很多其他硬件描述語言所不具備的優點。所以VHDL具有如下系統優勢:(1)與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為系統設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結構,從邏輯行為上描述和設計大規模電子系統的重要保證。(2)VHDL豐富的仿真語句和庫函數,使得在任何大系統的設計早期就能查驗設計系統的功能可行性,隨時可對設計進行仿真模擬。(3)VHDL語句的行為描述能力和程序結構決定了他具有支持大規模設計的分解和已有設計的再利用功能。符合市場需求的大規模系統高效,高速的完成必須有多人甚至多個代發組共同并行工作才能實現。(4)對于用VHDL完成的一個確定的設計,可以利用EDA工具進行邏輯綜合和優化,并自動的把VHDL描述設計轉變成門級網表。VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必管理最終設計實現的目標器件是什么,而進行獨立的設計。(6)VHDL語言支持自上而下(TopDown)和基于庫(LibraryBase)的設計方法,還支持同步電路、異步電路,FPGA以及其他隨機電路的設計;(7)VHDL語言具有多層次描述系統硬件功能的能力可以從系統的數字模型直到門級電路,其高層次的行為描述可以與低層次的RTL描述和結構描述混合使用,還可以自定義數據,給編程人員帶來較大的自由和方便;(8)VHDL具有電路仿真與驗證功能,可以保證設計的正確性,用戶甚至不必編寫如何測試向量便可以進行源代碼級的調試,而且設計者可以非常方便地比較各種方案之間的可行性及其優劣,不需要任何實際的電路實驗;(9)VHDL語言可以與工藝無關編程;(10)VHDL語言標準、規范,易于共享和復用。2.3VHDL語言結構1.USE定義區1.USE定義區2.PACKAGGE定義區3.ENTITY定義區4.ARCHITECTURE定義區Component定義區信號定義DataFlow描述BehaviorProcess描述Structure描述5.CONFIGURATION定義區定義使用哪些自定義元件庫描述電路內部的功能,說明電路執行什么動作或功能決定哪一個architecture能被使用定義電路實體的外觀:I/O接口的規格定義元件庫圖2.1VHDL程序結構框圖圖2.1中是VHDL的全部結構,但實際上并不需要全部結構,就像在許多設計項中大部分工程師只用到VHDL其中的30%的語法;通常圖2.2結構才是基本和必須的。USE定義區ENTITY定義區ARCHITETURE定義區圖2.2VHDL程序基本結構2.4集成開發軟件QuartusIIQuartusII是Altera公司推出的新一代開發軟件,適合于大規模邏輯電路設計,其設計流概括為設計輸入、設計編譯、設計仿真和設計下載過程。QuartusII支持多種編輯輸入法,包括圖形編輯輸入法,VHDL,VerilogHDL和AHDL的文本編輯輸入法,符號編輯輸入法,以及內存編輯輸入法。QuartusII與MATLAB和DSPBuilder結合可以進行基于FPGA的DSP系統開發,是DSP硬件系統[9]實現的關鍵EDA工具,與SOPCBuilder結合,可實現SOPC系統開發。Quartus(R)II軟件中的工程由所有設計文件和與設計有關的設置組成。可以使用QuartusIIBlockEditor、TextEditor、MegaWizard(R)Plug-InManager(Tools菜單)和EDA設計輸入工具[10]建立包括Altera(R)宏功能模塊、參數化模塊庫(LPM)函數和知識產權(IP)函數在內的設計。可以使用Settings對話框(Assignments菜單)和AssignmentEditor設定初始設計約束條件。如圖2.2所示為設計輸入流程圖。圖2.3設計輸入流程圖這次設計將以QuartusII軟件來進行各個數據的操作,將仿真的圖形數據來分析該課題。本設計所選擇的QuartusII文本編輯輸入法,在文本編輯窗口中完成VHDL設計文件的編輯,然后對設計文件進行編譯、仿真操作。此次設計中主要應用到了QuartusII的VHDL語言的編程和圖形仿真。3系統設計方法概述3.1電子系統的設計方法現代電子系統一般由模擬子系統、數字子系統和微處理器子系統三大部分組成。從概念上講,凡是利用數字技術處理和傳輸信息的電子系統都可以稱為數字系統。傳統的數字系統設計只能對電路板進行設計,通過設計電路板來實現系統功能[4]。利用EDA工具,采用可編程器件,通過設計芯片來實現系統功能,這種方法稱為基于芯片的設計方法。新的設計方法能夠由設計者定義器件的內部邏輯,將原來由電路板設計完成的大部分工作放在芯片的設計中進行。這樣不僅可以通過芯片設計實現多種數字邏輯系統,而且由于管腳定義的靈活性,大大減輕了電路圖設計和電路板設計的工作量和難度,從而有效的增強了設計的靈活性,提高了工作效率。同時,基于芯片的設計可以認減少芯片的數量,縮小系統體積,降低能源消耗。如圖3.1[6]所示為電子系統的傳統設計方法和基于芯片的設計方法比照。可編程器件固定功能元件可編程器件固定功能元件電路板的設計芯片設計 電路板的設計芯片設計電子電路電子系統 電子電路電子系統〔a)傳統設計方法(b)基于芯片設計方法圖3.1電子系統的傳統設計方法和基于芯片的設計方法比照可編程邏輯器件和EDA技術給今天的硬件系統設計者提供了強有力的工具,使得電子系統的設計方法發生了質的變化。現在,只要擁有一臺計算機、一套相應的EDA軟件和空白的可編程邏輯器件芯片,在實驗室里就可以完成數字系統的設計和生產。3.2“自頂向下”與“自頂向上”的設計方法過去,電子產品設計的基本思路一直是先選用標準通用集成電路片,再由這些芯片和其他元件自下而上的構成電路、子系統和系統。這樣設計出的電子系統所用元件的種類和數量均較多,體積與功耗大,可靠性差。隨著集成電路技術的不斷進步,現在人們可以把數以億計的晶體管,幾萬門、幾十萬門、甚至幾百萬門的電路集成在一塊芯片上。基于EDA技術的設計方法為“自頂向下”設計,其步驟是采用可完全獨立于目標器件芯片物理結構的硬件描述語言,在系統的基本功能或行為級上對設計的產品進行行為描述和定義,結合多層次的仿真技術,在確保設計的可行性與正確性的前提下,完成功能確認。然后利用EDA工具的邏輯綜合功能,把功能描述轉換為某一具體目標芯片的網表文件,經編程器下載到可編程目標芯片中(如FPGA芯片),使該芯片能夠實現設計要求的功能。這樣,一塊芯片就是一個數字電路系統[5]。使電路系統體積大大減小,可靠性得到提高。半導體集成電路己由早期的單元集成、部件電路集成發展到整機電各集成和系統電路集成。電子系統的設計方法也由過去的那種集成電路廠家提供通用芯片,整機系統用戶采用這些芯片組成電子系統的“bottom-up”(自底向上)方法改變為一種新的“top-down”(自頂向下)設計方法[7]。在這種新的設計方法中,由整機系統用戶對整個系統注行方案設計和功能劃分,系統的關鍵電路用一片或幾片專用集成電路ASIC來實現,且這些專用集成電路是由系統和電路設計師親自參與設計的,直至完成電路到芯片版圖的設計,再交由IC工廠加工,或者是用可編程ASIC(例如CPLD和FPGA)現場編程實現。3.3數字頻率計系統組成系統主要由4個電路模塊組成,分別是:測頻控制信號發生器電路,計數模塊電路,動態掃描電路sm和顯示譯碼驅動電路。因為是4位十進制數字頻率計,所以計數器需用4個。由于實驗硬件要求所以設計一個動態LED數碼管顯示即掃描模塊。當系統正常工作時,脈沖發生器提供的1HZ的輸入信號,經過測頻控制信號發生器進行信號的變換,產生一個2秒的計數信號和一個清零信號,被測信號被送入計數模塊,計數模塊對輸入的矩形波進行計數,然后將計數結果送入動態掃描電路進行選擇輸出,輸出結果由顯示譯碼驅動電路將二進制表示的(BCD碼)計數結果轉換成相應的十進制結果,在數碼管上可以看到計數結果。3.4目標芯片EP1C3T100C目標芯片[11]選用Altera公司生產的FPGA產品EP1C3T系列[9]中的EP1C3T100C,它具有高密度、低成本、低功率等特點,利用EP1C3T系列CPLD可編程邏輯器件的EAB可在系統中實現邏輯功能和存貯功能。它采用了重復可構造的CMOSSRAM工藝,并把連續的快速通道互連與獨特的嵌入式陣列結構相結合,同時可結合眾多可編程器件來完成普通門陣列的宏功能。每一個EP1C3T器件均包括一個嵌入式陣列和一個邏輯陣列,因而設計人員可輕松地開發集存貯器、數字信號處理器及特殊邏輯等強大功能于一身的芯片。圖3.2EP1C3T100C芯片外觀圖4頻率計方案的設計4.1頻率計的基本原理頻率計又稱為頻率計數器,是一種專門對被測信號頻率進行測量的電子測量儀器。數字頻率計的基本原理是用一個頻率穩定度高的頻率源作為基準時鐘,通常情況下計算每秒內待測信號的脈沖個數,此時我們稱閘門時間為1秒。閘門時間也可以大于或小于一秒。閘門時間越長,得到的頻率值就越準確,但閘門時間越長則每測一次頻率的間隔就越長。閘門時間越短,測的頻率值刷新就越快,但測得的頻率精度就受影響。數字頻率計的主要功能是測量周期信號的頻率。頻率是單位時間(1S)內信號發生周期變化的次數。如果我們能在給定的1S時間內對信號波形計數,并將計數結果顯示出來,就能讀取被測信號的頻率。數字頻率計首先必須獲得相對穩定與準確的時間,同時將被測信號轉換成幅度與波形均能被數字電路識別的脈沖信號,然后通過計數器計算這一段時間間隔內的脈沖個數,將其換算后顯示出來。其最基本的工作原理可以簡述為:當被測信號在特定時間段T內的周期個數為N時,則被測信號的頻率f=N/T。頻率計主要由四個部分構成:時基(T)電路、輸入電路、計數顯示電路以及控制電路。在一個測量周期過程中,被測周期信號在輸入電路中經過放大、整形、微分操作之后形成特定周期的窄脈沖,送到主門的一個輸入端。主門的另外一個輸入端為時基電路產生電路產生的閘門脈沖。在閘門脈沖開啟主門的期間,特定周期的窄脈沖才能通過主門,從而進入計數器進行計數,計數器的顯示電路則用來顯示被測信號的頻率值,內部控制電路則用來完成各種測量功能之間的切換并實現測量設置。頻率測量的基本原理是計算每秒鐘內待測信號的脈沖個數.測頻的基本原理要求測頻控制信號發生器的計數使能信號能產生一個1s脈寬的周期信號,并對頻率計的每一個計數器的使能端進行同步控制。當使能信號為高電平時允許計數,為低電平時停止計數,并保持其所計脈沖個數。在停止計數期間,首先需要一個鎖存信號的上跳沿將計數器在前1s的計數值鎖存進鎖存器中,并由外部的7段譯碼器譯出,并穩定顯示。鎖存信號之后,必須有一個清零信號對計數器進行清零,為下1s的技術操作做準備。其中控制信號頻率始終為1Hz,那么使能信號的脈寬正好為1s,可以用作技術閘門信號。然后根據測頻的時序要求,可得出鎖存信號和清零信號的邏輯描述。計數完成后,利用技術使能信號反向值的上跳沿產生一個鎖存信號。0.5s后,清零信號產生一個清零信號上跳沿。計數器的特殊之處是,有一時鐘使能輸入端,用于鎖存計數值。當高電平時計數允許,低電平時計數禁止。鎖存器的設計要求:若已有24位BCD碼存于此模塊的輸入口,在鎖存信號的上跳沿后即被鎖存到寄存器內部,并由寄存器的輸出端輸出,然后有實驗箱上7段譯碼器譯成能在數碼管上顯示輸出的相應數值。只要知道了N和T就可以求得頻率。常用數字頻率測量方法有M法、T法和M/T法。M法是在給定的閘門時間內測量被測信號的脈沖個數,進行換算得出被測信號的頻率。這種測量方法的測量精度取決于閘門時間和被測信號頻率。當被測信號頻率較低時將產生較大誤差,除非閘門時間取得很大。所以這種方法比較適合測量高頻信號的頻率。T法是通過測量被測信號的周期然后換算出被測信號的頻率。這種測量方法的測量精度取決于被測信號的周期和計時精度,當被測信號頻率較高時,對計時精度的要求就很高。這種方法比較適合測量頻率較低的信號。M/T法具有以上兩種方法的優點,它通過測量被測信號數個周期的時間然后換算得出被測信號的頻率,可兼顧低頻與高頻信號,提高了測量精度。但是,M法、T法和M/T法存在±1個字的計數誤差問題:M法存在被測閘門內±1個被測信號的脈沖個數誤差,T法或M/T法也存在±1個字的計時誤差。這個問題成為限制測量精度提高的一個重要原因。所以我們在設計之前必須要研究以往的設計方法,通過研究各種設計方法的優點和實用性還有他們各自的設計需要如硬件和軟件的組成,我們通過研究可以看出,我發現通過用VHDL編程實現軟件的仿真,在各個模塊的共同作用下,通過對測量信號上升沿的計數,我們可以簡單,容易的讀出我們所測量的信號的頻率。4.2模塊的劃分根據系統設計要求,系統設計采用自頂向下的設計方法,系統的組成框圖如圖4.1所示,包括時基產生與測頻時序控制電路模塊,以及待測信號脈沖計數電路模塊和鎖存與譯碼顯示控制電路模塊。時基產生與測頻時序控制電路時基產生與測頻時序控制電路待測信號脈沖計數電路鎖存與譯碼顯示電路ENCLR待測信號F_IN標準時鐘CLK圖4.1數字頻率計的組成框圖(1)時基產生與測頻時序控制電路模塊時基產生與測頻時序控制電路的主要產生計數允許信號EN、清零信號CLR和鎖存信號LOCK。(2)待測信號脈沖計數電路模塊待測信號脈沖計數電路是對待測脈沖信號的頻率進行測量,它可由4個十進制加法計數器組成,其中EN為計數選通控制信號,CLR為計數器清零信號。在計數器清零信號CLR清零后,當計數選通控制信號EN有效時,開始對待測信號進行計數。如果計數選通控制信號EN的寬度為1s,那么計數結果就為待測信號的頻率;如果計數選通信號EN的寬度為100ms,那么待測信號的頻率等于計數結果10。(3)鎖存與譯碼顯示控制電路模塊鎖存與譯碼顯示控制電路用于實現記憶顯示,在測量過程中不刷新新的數據,直到測量過程結束后,鎖存顯示測量結果,并且保存到下一次測量結束。鎖存與譯碼顯示電路的功能是對四位BCD碼進行鎖存,并轉換為對應的4組七段碼,用于驅動數碼管。4.3頻率計的設計方案根據頻率計的測頻原理,可以選擇合適的時基信號即閘門時間,對輸入被測信號脈沖進行計數,實現測頻的目的。在這個設計前,我們加入了一項測試周期的功能。在實驗過程中,要在頻率計提供的基信號和輸入信號之間做出選擇,充當時基信號即閘門時間。當測頻率的時候,要以輸入信號作為時鐘信號,因為輸入信號的頻率大于頻率計提供的基準頻率,在頻率計提供的基準信號周期內,計算輸入信號的周期數目,再乘以頻率計基準頻率,就是輸入信號的頻率值了。此時的時基信號為頻率計的基準信號。當測周期的時候,要以頻率及提供的基準信號作為時鐘信號,因為頻率及提供的時基頻率大于輸入信號的頻率,在輸入信號周期內,計算頻率計提供的基準信號的周期數目,再乘以基準信號頻率,就是輸入信號的周期值了。此時的時基信號為輸入信號。(1)時基的設計輸入信號是隨意的,沒法預知其頻率是多少,如何選取頻率計提供的基準信號是關鍵。測量頻率時,在某個擋進行測量的時候,就需要提供該擋的時基。在10KHZ擋,該擋最大讀數為9.99KHZ,同時也說明最小的讀數是0.0KHZ,所以提供的時基應該是頻率為0.01KHZ的脈沖.同樣的方法100KHZ擋提供的時基應該是頻率為0.1KHZ的脈沖,1MHZ擋提供的時基應該是頻率為1KHZ的脈沖。同樣用到3個分頻器,但是節約了資源。可以考慮使用狀態機來實現這3種時基,因為采用狀態機來控制時序很清楚,不容易出錯。狀態機用1KHZ(周期為1ms)的脈沖信號觸發,因為所要生產的時基中,頻率最大的就是1KHZ的脈沖,要產生高電頻為10ms和1ms的脈沖信號,可以采用100個狀態的狀態機,從狀態1,狀態2……到狀態100.(2)計數器的設計各個檔之間的轉換應遵循設計要求,要根據在時基有效時間內的計數值進行判斷。計數器可以直接定義成一個整形信號,這樣計數器(即加1)就十分方便,只要使用語句“計數器<=計數器+1;”就可以。但這個計數值要作為顯示輸出,就要將這個計數器用個位、十位,百位分開表示,而且要遵循“加一逢十”的規則。這樣可以直接通過七段譯碼器進行顯示。(3)模塊的劃分計數器在各個擋是被反復應用的,如果在各個擋分別設計計數器,就造成資源的浪費,而且在測量周期和頻率時,計數器的時鐘信號和輸入信號要進行調換,但是計數功能是一樣的,所以將計數器設計成單獨的模塊。7段譯碼器在各位,十位,百位中也都被利用了,因此也將其設計成單獨的模塊,重復引用就不需要在3個顯示的時候重復書寫譯碼電路了。圖4.2四位十進制頻率計頂層文件原理圖TESTCTL為測頻控制信號發生器。TESTCTL的計數使能信號TSTEN能產生一個1s寬的周期信號,并對頻率計的每一計數器CNT10的ENA使能端進行同步控制:當TSTEN高電平時允許計數、低電平時停止計數REG4B為鎖存器。在信號Load的上升沿時,立即對模塊的輸入口的數據鎖存到REG4B的內部,并由REG4B的輸出端輸出,然后,七段譯碼器可以譯碼輸出。在這里使用了鎖存器,好處是可以穩定顯示數據,不會由于周期性的清零信號而不斷閃爍。CNT10為十進制計數器。有一時鐘使能輸入端ENA,用于鎖定計數值。當高電平時允許計數,低電平時禁止計數。4.4系統的總體設計綜上所述,頻率計的總體系統可以設計為:當系統正常工作時,由系統時鐘提供的50MHz的輸入信號,經過信號源模塊,通過分頻器產生多種頻率輸出,其中1HZ的輸出頻率被作為控制模塊的時鐘輸入,其它不同的輸出頻率被作為顯示模塊的時鐘輸入,由控制模塊產生的計數使能信號和清零信號對計數模塊進行控制,而由其產生的鎖存信號對鎖存模塊進行控制,一旦計數使能信號為高電平,并且時鐘上升沿到來,計數器便開始正常計數,清零信號到來則計數清零,而當鎖存信號為高電平時,數據便被鎖存器鎖存,然后將鎖存的數據輸出到顯示模塊顯示出來,數據鎖存保證系統可以穩定顯示數據,顯示譯碼驅動電路將二進制表示的計數結果轉換成相應的能夠在數碼顯示管上可以顯示的十進制結果。在數碼顯示管上可以看到計數結果。因此數字頻率計的最終系統組成可以詳細劃分為六個模塊,分別是:信號源模塊、控制模塊、計數模塊、鎖存器模塊、譯碼模塊和顯示器模塊。信號源模塊對系統輸入的時鐘進行分頻操作,獲得1HZ的信號作為控制模塊的時鐘輸入,和其他各種不同的頻率的信號作為顯示模塊的時鐘輸入。計數模塊在閘門時間內對被測信號進行計數,有一時鐘使能輸入端ENA,用于鎖定計數值。當高電平時允許計數,低電平時禁止計數。將四個十進制計數器CNT10級聯起來實現4位十進制計數功能。數字鎖存器在固定時間基準的后周期開始工作,即當閘門計數時間結束,閘門下降沿到來時,鎖存此時計數模塊的各項輸出。在信號LOAD的上升沿時,立即對模塊的輸入口的數據鎖存到鎖存器的內部,并由鎖存器的輸出端輸出,然后,譯碼器可以譯碼輸出。在這里使用了鎖存器,好處是可以穩定顯示數據,不會由于周期性的清零信號而不斷閃爍。數碼譯碼模塊主要是用來完成各種碼制之間的轉換。例如可用來完成BCD—十進制數、十進制數—BCD之間數制的轉換。顯示模塊則在七段數碼管片選信號控制下,將鎖存器保存的BCD碼數由譯碼模塊譯出后,以十進制形式顯示。控制模塊是整個系統的控制部分,所有的控制信號幾乎都由此模塊產生,控制著其它幾個模塊的工作.控制模塊根據外部對系統的復位和開始等信號,實現系統內部的復位、開始測頻等功能,并通過優化模塊的標志信號實現連續無間斷的頻率測量.控制模塊首先通過對基準時鐘分頻得到模塊所用時鐘,使所產生的測量開始指令脈沖的寬度符合基準時間產生模塊的輸入要求,然后檢測各輸入信號,確定各模塊的復位、測量、輸出等操作.當控制模塊接收到優化模塊的標志信號時,控制模塊先檢測在最新一次復位后是否已經接受過系統開始測量脈沖信號.若是,則輸出頻率測量開始脈沖信號,使基準時間產生模塊開始頻率測量,同時送到優化模塊,復位優化模塊的內部變量,使優化模塊能夠再次輸出反饋標志信號.這樣,系統只需在開始施加一次頻率測量開始脈沖信號,即可實現連續不間斷的頻率測量.4.5各模塊的實現4.5.1測頻控制信號發生器的功能模塊及仿真測頻控制信號發生器的功能模塊如圖4.2所示。圖4.3測頻控制信號發生器的功能模塊圖頻率計的關鍵是設計一個測頻率控制信號發生器,產生測量頻率的控制時序。控制模塊是整個系統的控制部分,所有的控制信號幾乎都由此模塊產生,控制著其它幾個模塊的工作。控制模塊根據外部對系統的復位和開始等信號,實現系統內部的復位、開始測頻等功能,并通過優化模塊的標志信號實現連續無間斷的頻率測量。控制時鐘信號CLK取為1Hz,2分頻后即可產生一個脈寬為1秒的時鐘TSTEN,以此作為計數閘門信號。當TSTEN為高電平時,允許計數;當TSTEN由高電平變為低電平(下降沿到來)時,應產生一個鎖存信號,將計數值保存起來;鎖存數據后,還要在下次TSTEN上升沿到來之前產生零信號CLR_CNT,將計數器清零,為下次計數作準備,如圖4.4所示為測頻控制信號仿真圖。圖4.4測頻控制信號仿真圖4.5.2十進制計數器的功能模塊及仿真計數是一種最簡單基本的運算,計數器就是實現這種運算的邏輯電路,計數器在數字系統中主要是對脈沖的個數進行計數,以實現測量、計數和控制的功能,同時兼有分頻功能,計數器是由基本的計數單元和一些控制門所組成,計數單元則由一系列具有存儲信息功能的各類觸發器構成,這些觸發器有RS觸發器、T觸發器、D觸發器及JK觸發器等。計數器在數字系統中應用廣泛,如在電子計算機的控制器中對指令地址進行計數,以便順序取出下一條指令,在運算器中作乘法、除法運算時記下加法、減法次數,又如在數字儀器中對脈沖的計數等等。計數器可以用來顯示產品的工作狀態,一般來說主要是用來表示產品已經完成了多少份的折頁配頁工作。它主要的指標在于計數器的位數,常見的有3位和4位的。很顯然,3位數的計數器最大可以顯示到999,4位數的最大可以顯示到9999。十進制計數器的功能模塊如圖4.5所示。圖4.5十進制計數器的功能模塊圖該仿真的作用是實現十進制計數功能。從仿真圖4.6中可以得出,當第一個CNT10計數輸出CQ=9時,下一秒時鐘上升沿到來時,將產生一個CARRY_OUT信號作為下一個CNT10的時鐘信號,同時CQ清零,依次遞推到4個CNT10。圖4.6十進制計數器仿真圖4.5.3四位鎖存器REG4B的設計和實現四位鎖存器的功能模塊圖圖4.7四位鎖存器的功能模塊圖鎖存器(Latch)是一種對脈沖電平敏感的存儲單元電路,它們可以在特定輸入脈沖電平作用下改變狀態。鎖存,就是把信號暫存以維持某種電平狀態。鎖存器的最主要作用是緩存,其次完成高速的控制其與慢速的外設的不同步問題,再其次是解決驅動的問題,最后是解決一個I/O口既能輸出也能輸入的問題。仿真圖4.8的LOAD信號上升沿到來時將對輸入到內部的CNT10計數信號進行鎖存。當輸入信號上升到時就會產生鎖存,否則,不進行鎖存,該仿真在上升沿的時候,將其鎖存起來,直到下個上升沿才會改變鎖存的數據,如仿真在“0000”的時候上升,則對“0000”進行鎖存。圖4.8四位鎖存器的仿真圖4.5.4系統時鐘分頻的功能模塊及仿真系統時鐘分頻的分頻功能模塊如圖4.9所示;圖4.9系統時鐘分頻的分頻功能模塊圖該模塊由系統時鐘分頻模塊[12]為TESTCTL的計數能使信號TSTEN產生一個1S脈寬的周期信號,并對頻率計中的4位十進制計數器CNT10的ENA使能端進行同步控制。TSTEN高電平時允許計數;當低電平時停止計數,并保持其所計的脈沖數。在停止計數期間,從仿真圖4.10中可以看出,一個鎖存信號LOAD的上跳沿將計數器在前一秒的計數值鎖存進鎖REG4B中,并由外部的十進制7段數碼管顯示計數值。設置鎖存器的好處是數據顯示穩定,不會由于周期性的清零信號而不斷閃爍。鎖存信號后,必須有一個清零信號CLR_CNT對計數器進行清零,為下一秒的計數操作做準備。圖4.10系統時鐘分頻功能的仿真圖4.5.5數碼管譯碼的功能模塊及仿真數碼管譯碼的功能模塊如圖4.13所示。圖4.11數碼管譯碼的功能模塊數碼譯碼主要是用來完成各種碼制之間的轉換。例如可用來完成BCD—十進制數、十進制數—BCD之間數制的轉換。從圖4.11仿真圖可知,當LED的輸入為“0X7E”數碼管就會顯示為“0”,當LED的輸入為“0X06”數碼管就會顯示為“1”。圖4.14為數碼管譯碼顯示仿真圖。圖4.12數碼管譯碼仿真圖4.5.6數碼管顯示功能模塊及仿真LED有段碼和位碼之分,所謂段碼就是讓LED顯示出八位數據,一般情況下要通過一個譯碼電路,將輸入的4位2進制數轉換為與LED顯示對應的8位段碼。位碼也就是LED的顯示使能端,對于共陰級的LED而言,低電平使能,在本設計中設計了一個3位的循環計數器,將計數結果輸入到譯碼器,譯碼結果輸出即可依次使能每個LED。例如:要讓8個LED同時工作顯示數據,就是要不停的循環掃描每一個LED,并在使能每一個LED的同時,輸入所需顯示的數據對應的8位段碼。雖然8個LED是依次顯示,但是受視覺分辨率的影響,看到的現象是8個LED同時工作。模塊的頂層圖如下所示。CNT計數產生掃描信號(位碼),LED模塊用于查表產生LED段碼輸出。數碼管顯示的功能模塊如圖4.13所示。圖4.13數碼管顯示的功能模塊圖用4個LED將待測頻率顯示出來,將通過十進制計數器的時鐘信號CLK,輸出為時鐘信號計數譯碼后的顯示驅動端,在八段LED譯碼為對應的八段二進制編碼,并由數碼顯示器顯示出來。圖4.14數碼管顯示的仿真圖5下載測試程序設計好后進行編譯保存,并參照FPGAstarter開發板原理圖,對其輸入輸出信號進行管腳分配。FPGAstarter開發板原理圖如圖所示;圖5.1FPGAstarter開發板原理圖引腳鎖定結果如下;圖5.2引腳鎖定圖四位數字頻率計鎖定引腳后的電路圖;圖5.3四位數字頻率計電路圖將程序下載到FPGAstarter開發板中進行驗證;(1)當所輸入的信號為10HZ時FPGA開發板數碼管上顯示如圖5.4所示;圖5.4輸入信號為10HZ時的實驗圖(2)當所輸入的信號為200HZ時FPGA開發板數碼管上顯示如圖5.5所示;圖5.5輸入信號為200HZ時的實驗圖(3)當所輸入的信號為4000HZ時FPGA開發板數碼管上顯示如圖5.6所示圖5.6輸入信號為4000HZ時的實驗圖結論這次設計對頻率計進行了系統的設計。通過FPGA運用VHDL編程,利用FPGA(現場可編程門陣列)芯片設計了一個4位數字式等精度頻率計,該頻率計的測量范圍為0-10kHZ,利用QUARTUSⅡ集成開發環境進行編輯、綜合、波形仿真,并下載到CPLD器件中,經實際電路測試,仿真和實驗結果表明,該頻率計有較高的實用性和可靠性,達到預期的結果。和傳統的頻率計相比,利用FPGA設計的頻率計簡化了電路板設計,提高了系統設計的實用性和可靠性,實現數字系統的軟件化,這也是數字邏輯設計的趨勢。在這次畢業設計中,雖然應用的都是在書本上學過的知識,但是只有應用到實際中才算真正的學懂了這些知識。這次數字頻率計的涉及到了VHDL語言、QuartusII軟件,EDA技術等。涉及了微機原理和EDA所學的大部分內容。通過這次畢業設計實踐鞏固了學過的知識并能夠較好的利用。畢業設計實踐不單是將所學的知識應用于實際,在設計的過程中,只擁有理論知識是不夠的。邏輯思維、電路設計的步驟和方法、考慮問題的思路和角度等也是很重要,需要我們著重注意鍛煉的能力。在這次設計中還發現理論與實際常常常存在很大差距,為了使電路正常工作,必須靈活運用原理找出解決方法。在課題設計中,通過使用QuartusII這個完全集成化易學易用的可編程邏輯設計環境,利用VHDL語言設計完成4位十進制數字頻率計,能夠較好的測定所給頻率,并且具有自動清零和自動測試的功能,基本符合此次課程設計給出的要求。畢業設計中,除了對相關的專業知識以及相關的實驗操作進行了回顧,還有許多其他的收獲,比如在繪制論文中所需要的相關的電路圖的過程中,還學會使用word繪圖,這次畢業設計不但對本專業的相關基礎知識進行了很好的復習,還對原由書本上的知識進行了拓展和延伸,畢業設計不但鍛煉了動手能力,也鍛煉了處理問題的能力,并且學會了許多新的知識。致謝首先,感謝幫助我完成設計的趙老師以及各位同學,我選擇的論文是數字頻率計的設計,在論文中我遇到了很多困難,通過這次對EDA課程設計的進一步操作,能更好的在QuartusII上進行VHDL程序的編譯及各個模塊的仿真,雖然在實際操作過程中由于粗心造成了程序的缺失和錯誤,但都在老師和同學的幫助下一一解決了。很好地鞏固了我們學過的專業知識,使我對數字系統結構也有了更進一步的了解和認識,同時對數據庫軟件、EDA技術、VHDL等系列知識都有了一定的了解。使用EDA技術開發頁面的能力也有了很大提高,也使我們把理論與實踐從真正意義上相結合了起來,考驗了我們借助互聯網絡搜集、查閱相關文獻資料、和組織材料的綜合能力。同時在這幾個月的時間里,我也參閱了大量的文獻、專著、和資料,才使我有了較為清晰的思路來完成本課題的設計。設計也引用了其中的部分內容,在此,對這些文獻、專著和資料的作者和編著們表示感謝。在論文的撰寫和設計模塊的仿真過程中,我也得到了很多同學和朋友的幫助與支持,在這里一并表示感謝。同時,也向我的家人致以真心的謝意!他們在我的大學階段中給予我的一切是無法用言語來表達的。最后,衷心感謝各位評閱老師!感謝您們在百忙之中參與我的論文評閱工作。謝謝!參考文獻1周浩明.數字頻率計.北京:水利電力出版社,1989,10~15.2陳炳權,曾慶立.EDA技術與實用教程.湘潭:湘潭大學出版社,2004,4~45.3吳建新.基于量程自動轉換的頻率計設計.電子元器件應用,2007,(9):25~30.4曹昕燕,周鳳臣.EDA技術試驗與課程設計.北京:清華大學出版社,2006,30~45.5徐志軍,王金明,尹廷輝,徐光輝,蘇勇.EDA技術與VHDL設計.北京:電子工業出版社,2009,20~25.6劉欲曉,方強,黃宛寧.EDA技術與VHDL電路開發應用實踐.北京:電子工業出版社,2009,11~14.7朱正偉.EDA技術及應用.北京:清華大學出版社,2005,10~15.8柳春鋒.電子設計自動化(EDA)教程.北京:北京理工大學出版社,2005,67~70.9潘松,黃繼業.EDA技術實用教程.北京:科學出版社,2005,25~28.10鄒彥.EDA技術與數字系統設計.北京:電子工業出版社,2007,27~32.11王愉節.電子技術實驗指導.貴州:貴州科技出版社,2004,55~58.12高吉祥.電子技術基礎實驗與課程設計.南京:電子工業出版社,2005,17~23.13劉宇征.電子電路設計與制作.福建:福建科學技術出版社,2003,156~178.14林濤.數字電子技術基礎.北京:清華大學出版社,2006,77~81.15張豫滇.電子電路課程設計.南京:河海大學出版社,2005,89~92.16王紫婷,吳蓉,張彩珍,吳曉春.EDA技術與應用.蘭州:蘭州大學出版社,2003年17譚會生,張昌凡.EDA技術及應用.西安:西安電子科技大學出版社,2004年4月18林敏,方穎立.VHDL數字系統設計與高層次綜合.北京:電子工業出版社,2002年19李國洪,沈明山.可編程器件EDA技術與實踐.北京:機械工業出版社,2004年7月20王鎖萍.電子設計自動化教程.成都:電子科技大學出版社,2000年2月21周國富.現場可編程門陣列及應用.電子技術應用,1995年6月22潘松,王國棟.VHDL實用教程.成都:電子科技大學出版社,1999年12月23胡乾斌,李光斌,李玲,喻紅.單片微型計算機原理與應用.武漢:華中科技大學出版社,2006年2月24李玉山.電子系統集成設計技術.北京:電子工業出版社,2002年10月25(美)PeterJ.Ashenden.葛紅,黃河,吳繼明(譯).VHDL設計指南.北京:機械工業出版社,2005年6月26ByBernardGrob—ElectroniccircuitsandapplicationsGreggDivision—McGraw-Hill,1982—02.27ByHowardJohnsonandMartinGraham—High-SpeedDigitalDesign.PublishingHouseofElectronicsindustry,2003—08.
附錄數字頻率計各部分源程序(1)測頻控制信號發生器的源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTESTCTLISPORT(CLKK:INSTD_LOGIC;--1HzCNT_EN,RST_CNT,LOAD:OUTSTD_LOGIC);ENDTESTCTL;ARCHITECTUREBEHAVOFTESTCTLISSIGNALDIV2CLK:STD_LOGIC;BEGINPROCESS(CLKK)BEGINIFCLKK'EVENTANDCLKK='1'THENDIV2CLK<=NOTDIV2CLK;ENDIF;ENDPROCESS;PROCESS(CLKK,DIV2CLK)BEGINIFCLKK='0'ANDDIV2CLK='0'THENRST_CNT<='1';ELSERST_CNT<='0';ENDIF;ENDPROCESS;LOAD<=NOTDIV2CLK;CNT_EN<=DIV2CLK;ENDBEHAV;(2)十進制計數器CNT10源程序如下;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPORT(CLK,RST,ENA:INSTD_LOGIC;OUTY:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT10;ARCHITECTUREONEOFCNT10ISSIGNALCQI:STD_LOGIC_VECTOR(3DOWNTO0):="0000";BEGINP_REG:PROCESS(CLK,RST,ENA)BEGINIFRST='1'THENCQI<="0000";ELSIFCLK'EVENTANDCLK='1'THENIFENA='1'THENIFCQI<9THENCQI<=CQI+1;ELSECQI<="0000";ENDIF;ENDIF;ENDIF;OUTY<=CQI;ENDPROCESSP_REG;COUT<=NOT(CQI(0)ANDCQI(3));ENDONE;(3)四位鎖存器的源程序如下;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYREG4BISPORT(LOAD:INSTD_LOGIC;DIN:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DOUT:OUTSTD_LOGIC);ENDREG4B;ARCHITECTUREONEOFCNT10ISBEGINPROCESS(LOAD,DIN)BEGINIFLOAD’EVENTANDLOAD=’1’THENDOUT<=DIN;ENDIF;ENDPROCESS;ENDONE;(4)系統時鐘分頻的源程序如下;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYfenpinISPORT(CLK50:INSTD_LOGIC;Fre100KHz:OUTSTD_LOGIC;Fre1KHz:OUTSTD_LOGIC;Fre1Hz:OUTSTD_LOGIC);END;ARCHITECTUREoneOFfenpinissignalF1,F2,F3:STD_LOGIC;BEGINPROCESS(CLK50)VARIABLEQ1:STD_LOGIC_VECTOR(31DOWNTO0);--定義標準邏輯位矢量數據類型VARIABLEQ2:STD_LOGIC_VECTOR(31DOWNTO0);--定義標準邏輯位矢量數據類型VARIABLEQ3:STD_LOGIC_VECTOR(31DOWNTO0);--定義標準邏輯位矢量數據類型BEGINIFRISING_EDGE(CLK50)THENQ1:=Q1+1;Q2:=Q2+1;Q3:=Q3+1;IFQ1>=20thenQ1:=(OTHERS=>'0');F1<=NOTF1;ENDIF;IFQ2>=12thenQ2:=(OTHERS=>'0');F2<=NOTF2;ENDIF;IFQ3=24thenQ3:=(OTHERS=>'0');F3<=NOTF3;ENDIF;ENDIF;ENDPROCESS;Fre100KHz<=F1;Fre1KHz<=F2;Fre1Hz<=F3;END;(5)數碼管譯碼的源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYyimaISPORT(DIN:INSTD_LOGIC_VECTOR(3DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0));END;ARCHITECTUREbehavOFLED7IS--SIGNALLED7:STD_LOGIC_VECTOR(7DOWNTO0);BEGINPROCESS(DIN)BEGINCASEDINIS"0000"=>DOUT<="0111111";WHEN"0001"=>DOUT<="0000110";WHEN"0010"=>DOUT<="1011011";WHEN"0011"=>DOUT<="1001111";WHEN
"0100"=>DOUT<="1100110";WHEN"0101"=>DOUT<="1101101";WHEN"0110"=>DOUT<="1111101";WHEN"0111"=>DOUT<="0000111";WHEN"1000"=>DOUT<="1111111";WHEN"1001"=>DOUT<="1101111";WHEN"1010"=>DOUT<="1110111";WHEN"1011"=>DOUT<="1111100";WHEN"1100"=>DOUT<="0111001";WHEN"1101"=>DOUT<="1011110";WHEN"1110"=>DOUT<="1111001";WHEN"1111"=>DOUT<="1110001";WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREbehav;(6)數碼管顯示的源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALLUSEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYwxxISPORT(CLK:INSTD_LOGIC;Q1,Q2,Q3,Q4:INSTD_LOGIC_VECTOR(7DOWNTO0);wx,dx:OUTSTD_LOGIC_VECTOR(7DOWNTO0));END;ARCHITECTUREBHVOFwxxISSIGNALTEMP1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINP1:PROCESS(CLK)BEGINIF(TEMP1=”1000”)THENTEMP1<=”1000”;ELSIFCLK’EVENTANDCLK=’1’THENTEMP1<=TEMP1+1;ENDIF;CASETEMP1ISWHEN”0000”=>dx<=Q1;wx<="11111110";--WHEN"0000"=>WHEN"0001"=>dx<=Q2;wx<="11111101";--WHEN"0001"=> WHEM"0010"=>dx<=Q3; wx<="11111011";--WHEN"0010"=> WHEN"0011"=>dx<=Q4; wx<="11110111";--WHEN"0011"=> WHENOTHERS=>dx<=NULL;ENDCASE;ENDPROCESS;END;基于C8051F單片機直流電動機反饋控制系統的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現的供暖系統最佳啟停自校正(STR)調節器單片機控制的二級倒立擺系統的研究基于增強型51系列單片機的TCP/IP協議棧的實現基于單片機的蓄電池自動監測系統基于32位嵌入式單片機系統的圖像采集與處理技術的研究基于單片機的作物營養診斷專家系統的研究基于單片機的交流伺服電機運動控制系統研究與開發基于單片機的泵管內壁硬度測試儀的研制基于單片機的自動找平控制系統研究基于C8051F040單片機的嵌入式系統開發基于單片機的液壓動力系統狀態監測儀開發模糊Smith智能控制方法的研究及其單片機實現一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數控系統的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環走絲方式研究基于單片機的機電產品控制系統開發基于PIC單片機的智能手機充電器基于單片機的實時內核設計及其應用研究基于單片機的遠程抄表系統的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統單片機系統軟件構件開發的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調儀的研制氣壓式線性摩擦焊機單片機控制系統的研制基于單片機的數字磁通門傳感器基于單片機的旋轉變壓器-數字轉換器的研究基于單片機的光纖Bragg光柵解調系統的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現基于單片機的電液伺服控制系統用于單片機系統的MMC卡文件系統研制基于單片機的時控和計數系統性能優化的研究基于單片機和CPLD的粗光柵位移測量系統研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數據采集系統基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數控改造基于單片機的溫度智能控制系統的設計與實現基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協議轉換器基于單片機和DSP的變壓器油色譜在線監測技術研究基于單片機的膛壁溫度報警系統設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監測系統基于單片機網絡的振動信號的采集系統基于單片機的大容量數據存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CHTS 20043-2024路用活化廢胎橡膠粉
- T/CGMA 031003-2020一般用離心空氣壓縮機
- T/CGAS 006-2019基于窄帶物聯網(NB-IoT)技術的燃氣智能抄表系統
- T/CECS 10290-2023室內裝飾裝修用美容膠
- T/CECS 10272-2023表層混凝土滲透性原位測試方法
- T/CECS 10026-2019綠色建材評價建筑門窗及配件
- T/CCMA 0122-2021瀝青混凝土攤鋪機螺旋布料裝置
- T/CBMCA 039-2023陶瓷大板巖板裝修鑲貼應用規范
- T/CAQI 347-2023堤防安全管理應急預案編制導則
- T/CAQI 180-2021具有消毒功能的新風凈化機技術要求和試驗方法
- 柴油安全技術說明書(MSDS)
- 哺乳期的乳房護理課件
- 華為財務管理(6版)-華為經營管理叢書
- 2023年四川省綿陽市中考英語試卷真題(含答案)
- 藥物咨詢記錄
- 【汽車萬向傳動軸的設計5200字(論文)】
- 發電機組行業商業計劃書
- 《公路斜拉橋設計規范》(JTGT 3365-01-2020)正式版
- 南京市小學英語六年級小升初期末試卷(含答案)
- 脫碳塔CO2脫氣塔設計計算
- 國開電大本科《理工英語3》機考真題(第005套)
評論
0/150
提交評論