




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
11.1數(shù)字系統(tǒng)設計簡介11.1.1數(shù)字系統(tǒng)的基本結(jié)構(gòu)數(shù)字系統(tǒng)由若干個數(shù)字電路和邏輯功能部件組成,它可以實現(xiàn)數(shù)據(jù)存儲、傳輸和加工處理等復雜的邏輯功能。數(shù)字系統(tǒng)從邏輯上可劃分為數(shù)據(jù)處理單元和控制單元兩部分,其結(jié)構(gòu)框圖如圖11.1.1所示。數(shù)據(jù)處理單元實現(xiàn)信息的存儲、傳輸和加工處理等功能。控制單元根據(jù)外部控制信號和數(shù)據(jù)處理單元提供的當前狀態(tài)信號,發(fā)出對數(shù)據(jù)處理單元的控制序列信號,在此控制序列信號的作用下,數(shù)據(jù)處理單元完成所規(guī)定的操作,并向控制單元輸出變化后的狀態(tài)信號,以表示當前的工作狀態(tài)和數(shù)據(jù)處理結(jié)果。控制單元接收到狀態(tài)信號后,再發(fā)出下一步的控制序列信號,使數(shù)據(jù)處理單元執(zhí)行新一輪的操作。 11.1數(shù)字系統(tǒng)設計簡介1圖11.1.1數(shù)字系統(tǒng)的結(jié)構(gòu)框圖圖11.1.1數(shù)字系統(tǒng)的結(jié)構(gòu)框圖211.1.2數(shù)字系統(tǒng)的基本設計方法傳統(tǒng)的數(shù)字系統(tǒng)設計多采用自底向上的方法,通常設計者選用標準的通用集成電路芯片和其他元器件,由底層逐級向上構(gòu)成子系統(tǒng)和系統(tǒng)。其設計過程是:書面設計—硬件安裝、調(diào)試—制作樣機。這樣設計的系統(tǒng)不僅所用元件的種類和數(shù)量多,功耗大,可靠性差,而且花費時間多,修改電路和交流設計思想都很不方便。11.1.2數(shù)字系統(tǒng)的基本設計方法3EDA技術的發(fā)展和可編程邏輯器件的普及對數(shù)字系統(tǒng)硬件設計產(chǎn)生了很大的影響,它改變了傳統(tǒng)的設計思想,使人們可以利用EDA工具,通過芯片的設計來實現(xiàn)數(shù)字系統(tǒng)的功能。現(xiàn)代數(shù)字系統(tǒng)設計多采用自頂向下的方法。它是一種從抽象到具體,從高層次到低層次,逐步由粗到細的分層次、分模塊的設計方法。設計者先將一個硬件系統(tǒng)劃分成幾個大的模塊,設計出各大模塊的行為(功能)或結(jié)構(gòu),并進行仿真以檢驗設計思想是否正確,然后將大的模塊分給下一級設計者。由于自頂向下的設計能夠在高層次完成,即一開始進行功能劃分和結(jié)構(gòu)設計時,就能通過仿真去檢驗系統(tǒng)設計思想是否正確,在早期就能發(fā)現(xiàn)設計中存在的錯誤,因而大大提高了系統(tǒng)的設計效率,縮短了設計周期。EDA技術的發(fā)展和可編程邏輯器件的普及對數(shù)字系統(tǒng)硬件設計4數(shù)字系統(tǒng)設計主要分系統(tǒng)設計和邏輯設計兩個階段。數(shù)字系統(tǒng)的一般設計過程如下:(1)確定頂層系統(tǒng)的方案。這是設計過程的第一階段,要求對設計任務進行透徹了解,并在此基礎上決定設計任務和系統(tǒng)整體的功能、輸入信號及輸出信號。(2)描述系統(tǒng)功能,設計算法。數(shù)字系統(tǒng)設計主要分系統(tǒng)設計和邏輯設計兩個階段。數(shù)字系統(tǒng)的5描述系統(tǒng)功能是用符號、圖形、文字、表達式等形式來正確描述系統(tǒng)應具有的邏輯功能和應達到的技術指標。設計算法是尋求一個解決問題的步驟,實質(zhì)上是把系統(tǒng)要實現(xiàn)的復雜運算分解成一組有序進行的子運算。描述算法的工具有算法流程圖、算法狀態(tài)機圖(ASM,AlgorithmicstateMachine)、方框圖、硬件描述語言等。在上述描述方法中,硬件描述語言是一種最容易向計算機輸入,由計算機自動處理的現(xiàn)代化方法。方框圖用于描述數(shù)字系統(tǒng)的模型,是系統(tǒng)設計常用的重要手段,它可以詳細描述系統(tǒng)的總體結(jié)構(gòu),并作為進一步設計的基礎。描述系統(tǒng)功能是用符號、圖形、文字、表達式等形式來正確描述6(3)根據(jù)算法選擇電路結(jié)構(gòu)。算法明確后,根據(jù)算法選擇電路結(jié)構(gòu),并將系統(tǒng)劃分為若干個子系統(tǒng)。若某部分規(guī)模仍然較大,則可進一步劃分。劃分后的多個部分應邏輯功能清楚,便于進行電路設計。(4)設計輸入。描述系統(tǒng)功能的輸入方式有多種,常用的有原理圖輸入法、硬件描述語言輸入法、波形圖輸入法等。可以采用其中一種方法輸入,也可以多種方法混合使用。(5)設計驗證(仿真、測試)和設計實現(xiàn)。(3)根據(jù)算法選擇電路結(jié)構(gòu)。7
11.2數(shù)字系統(tǒng)設計實例
11.2.1簡易電子琴1.系統(tǒng)原理框圖揚聲器在不同頻率的信號驅(qū)動下將發(fā)出不同的聲音。本設計是利用實驗板上的8個按鍵產(chǎn)生不同的音階信號,按鍵不同時,不同的音階信號產(chǎn)生不同頻率的信號去驅(qū)動揚聲器,從而實現(xiàn)電子琴的功能。根據(jù)音樂學理論,每兩個8度音之間可分為12個半音,每兩個半音之間的頻率相差(=1.0599Hz)。若C調(diào)第一個音名do的頻率定為261.63Hz,則各音名與頻率以及2MHz時鐘的分頻系數(shù)的關系如表11.2.1所示。 11.2數(shù)字系統(tǒng)設計實例8表11.2.1音名與頻率以及2MHz時鐘的分頻系數(shù)的關系表11.2.1音名與頻率以及2MHz時鐘的分頻系數(shù)的關系9
簡易電子琴的系統(tǒng)框圖如圖11.2.1所示,它由鍵盤編碼器和時鐘分頻器組成。鍵盤編碼器產(chǎn)生按鍵編碼信號;時鐘分頻器產(chǎn)生不同的分頻系數(shù),將輸入時鐘頻率分頻至各音名對應的頻率值,從而驅(qū)動揚聲器發(fā)出該頻率的聲音。簡易電子琴的系統(tǒng)框圖如圖11.2.1所示,它由鍵盤編碼器10圖11.2.1電子琴系統(tǒng)框圖圖11.2.1電子琴系統(tǒng)框圖11圖11.2.2電子琴頂層原理圖圖11.2.2電子琴頂層原理圖12圖11.2.2為實現(xiàn)簡易電子琴的頂層原理圖。其中,KEYBOARD模塊實現(xiàn)對鍵盤的8-3編碼,K[7..0]為鍵盤輸入,SEL[2..0]為3位二進制編碼輸出,EN為使能輸出信號(高電平有效);M—FREQ模塊實現(xiàn)分頻功能,CLK為時鐘輸入,當SEL[2..0]編碼輸入不同,且EN輸入為高電平時,分頻器產(chǎn)生不同的頻率值,當SPK輸出為1時揚聲器響,否則靜音。圖11.2.2為實現(xiàn)簡易電子琴的頂層原理圖。其中,KEY132.模塊設計1)鍵盤編碼器VHDL描述文件keyboard.vhd如下:libraryieee;useieee.std—logic—1164.all;useieee.std—logic—unsigned.all;entitykeyboardisport( k:instd—logic—vector(7downto0); 8位鍵盤輸入 sel:outstd—logic—vector(2downto0); 3位鍵盤編碼輸出 en:outstd—logic 使能輸出);2.模塊設計14endkeyboard;architecturearc—keyboardofkeyboardisbeginprocess(k)begincasekiswhen″11111110″=>sel<=″001″; 按鍵,產(chǎn)生編碼 en<=′1′;
when″11111101″=>sel<=″010″;
en<=′1′;
when″11111011″=>sel<=″011″;
en<=′1′;
when″11110111″=>sel<=″100″;
en<=′1′;
endkeyboard;15
when″11101111″=>sel<=″101″;
en<=′1′;
when″11011111″=>sel<=″110″;
en<=′1′;
when″10111111″=>sel<=″111″;
en<=′1′;
when″01111111″=>sel<=″000″;
en<=′1′;whenothers=>sel<=″000″; en<=′0′;endcase;endprocess;endarc—keyboard;when″11101111″=>sel<=″101162)時鐘分頻器VHDL描述文件m—freq.vhd如下:libraryieee;useieee.std—logic—1164.all;useieee.std—logic—unsigned.all;entitym—freqisport(clk,en:instd—logic;sel:instd—logic—vector(2downto0);3位鍵盤編碼輸入spk:outstd—logic揚聲器控制信號輸出);endm—freq;2)時鐘分頻器17architecturearc—m—freqofm—freqissignalcount—ld,count:std—logic—vector(12downto0);beginprocess(sel)begincaseseliswhen″000″=>count—ld<=″0111011101110″;3822when″001″=>count—ld<=″1110111011011″;7643when″010″=>count—ld<=″1101001010101″;6809when″011″=>count—ld<=″1011110110010″;6066when″100″=>count—ld<=″1011001011101″;5725when″101″=>count—ld<=″1001111101101″;5101when″110″=>count—ld<=″1000111000000″;4544architecturearc—m—freqofm—f18when″111″=>count—ld<=″0111111010000″;4048whenothers=>count—ld<=″0111011101110″;3822endcase;endprocess;
processbeginwaituntilclk′eventandclk=′1′;--計數(shù)器同步清零ifen=′0′thencount<=(others=>′0′);spk<=′1′;when″111″=>count—ld<=″011119當計數(shù)值小于count—ld/2時,spk=′1′,且加1計數(shù)elsifcount<(′0′&count—ld(12downto1))thencount<=count+1;spk<=′1′;當計數(shù)值大于count—ld/2且小于count—ld時,spk=′0′,且加1計數(shù)elsifcount<count—ldthencount<=count+1;spk<=′0′;--當計數(shù)值計到count—ld時,計數(shù)器清零,spk=′1′
elsecount<=(others=>′0′);spk<=′1′;endif;endprocess;endarc—m—freq;當計數(shù)值小于count—ld/2時,spk=′1′,2011.2.2用狀態(tài)機設計的交通信號控制系統(tǒng)1.設計任務設計一個十字路口交通控制系統(tǒng),要求如下:(1)東西(用A表示)、南北(用B表示)方向均有綠燈、黃燈、紅燈指示,其持續(xù)時間分別是40秒、5秒和45秒,交通燈運行的切換示意圖和時序圖分別如圖11.2.3和圖11.2.4所示。11.2.2用狀態(tài)機設計的交通信號控制系統(tǒng)21圖11.2.3交通控制系統(tǒng)運行切換示意圖圖11.2.3交通控制系統(tǒng)運行切換示意圖22圖11.2.4交通控制系統(tǒng)的時序圖圖11.2.4交通控制系統(tǒng)的時序圖23(2)系統(tǒng)設有時鐘,以倒計時方式顯示每一路允許通行的時間。(3)當東西或南北兩路中任一路出現(xiàn)特殊情況時,系統(tǒng)可由交警手動控制立即進入特殊運行狀態(tài),即紅燈全亮,時鐘停止計時,東西、南北兩路所有車輛停止通行;當特殊運行狀態(tài)結(jié)束后,系統(tǒng)恢復工作,繼續(xù)正常運行。(2)系統(tǒng)設有時鐘,以倒計時方式顯示每一路允許通行的時間242.原理分析本系統(tǒng)主要由分頻器、計數(shù)器、控制器、倒計時顯示器等電路組成。分頻器將晶振送來的4MHz信號變?yōu)?Hz時鐘信號;計數(shù)器實現(xiàn)總共90秒的計數(shù),90秒也是交通控制系統(tǒng)的一個大循環(huán);控制器控制系統(tǒng)的狀態(tài)轉(zhuǎn)移和紅、黃、綠燈的信號輸出;倒計時顯示電路實現(xiàn)45秒倒計時和顯示功能。整個系統(tǒng)的工作時序受控制器控制,它是系統(tǒng)的核心。控制器的整個工作過程用狀態(tài)機進行描述,其狀態(tài)轉(zhuǎn)移關系如圖11.2.5所示。5種狀態(tài)描述如下:2.原理分析25s0:A方向綠燈亮,B方向紅燈亮,此狀態(tài)持續(xù)40秒的時間;s1:A方向黃燈亮,B方向紅燈亮,此狀態(tài)持續(xù)5秒的時間;s2:A方向紅燈亮,B方向綠燈亮,此狀態(tài)持續(xù)40秒的時間;s3:A方向紅燈亮,B方向黃燈亮,此狀態(tài)持續(xù)5秒的時間;s4:緊急制動狀態(tài),A方向紅燈亮,B方向紅燈亮,當緊急制動信號有效(hold=′0′)時進入這種狀態(tài)。s0:A方向綠燈亮,B方向紅燈亮,此狀態(tài)持續(xù)40秒的時間26圖11.2.5交通控制系統(tǒng)的狀態(tài)轉(zhuǎn)移圖圖11.2.5交通控制系統(tǒng)的狀態(tài)轉(zhuǎn)移圖27當緊急制動信號無效(hold=′1′)時,狀態(tài)機按照s0-s1-s2-s3-s0循環(huán);當緊急制動信號有效(hold=′0′)時,狀態(tài)機立即轉(zhuǎn)入s4,兩個方向紅燈全亮,計數(shù)器停止計數(shù);當緊急制動信號再恢復無效時,狀態(tài)機會回到原來的狀態(tài)繼續(xù)執(zhí)行。當緊急制動信號無效(hold=′1′)時,狀態(tài)機按照s0283.電路設計交通控制系統(tǒng)頂層原理圖如圖11.2.6所示,它主要由4MHz分頻器(DEVIDE4M)模塊、控制器(CONTROL)、45秒倒計時計數(shù)器(M45)模塊、7字段譯碼器(SEG7)模塊組成。4MHz分頻器和7段譯碼器的設計可參照例10.6.14和例10.6.4,下面主要介紹控制器和倒計時計數(shù)器M45的設計方法。3.電路設計29圖11.2.6交通控制系統(tǒng)頂層原理圖圖11.2.6交通控制系統(tǒng)頂層原理圖301)控制器的設計控制器CONTROL的邏輯符號如圖11.2.7所示。其中,CLK為時鐘輸入信號;HOLD為緊急制動信號;ARED、AGREEN、AYELLOW分別為東西方向驅(qū)動紅燈、綠燈、黃燈指示的輸出信號;BRED、BGREEN、BYELLOW分別為南北方向驅(qū)動紅燈、綠燈、黃燈指示的輸出信號。控制器按照圖11.2.5所示的狀態(tài)轉(zhuǎn)移圖控制系統(tǒng)的時序,即各方向紅、綠、黃燈的亮、滅時間。1)控制器的設計31圖11.2.7控制器的邏輯符號圖11.2.7控制器的邏輯符號32控制器的VHDL描述文件control.vhd如下:libraryieee;useieee.std—logic—1164.all;useieee.std—logic—unsigned.all;
entitycontrolisport(clk,hold:instd—logic;ared,agreen,ayellow,bred,bgreen,byellow:outstd—logic);endcontrol;
architecturebehaviorofcontrolistypestate—typeis(s0,s1,s2,s3,s4);signalcurrent—state,next—state:state—type;signalcounter:std—logic—vector(6downto0);控制器的VHDL描述文件control.vhd如下:33beginsynch:processbeginwaituntilclk′eventandclk=′1′;ifhold=′0′then當緊急制動信號有效時,計數(shù)器停止計數(shù)counter<=counter;else當緊急制動信號無效時,計數(shù)器進行周期為90s的計數(shù)ifcounter<89thencounter<=counter+1;elsecounter<=(others=>′0′);endif;endif;endprocess;begin34process狀態(tài)機的狀態(tài)轉(zhuǎn)移描述beginwaituntilclk′eventandclk=′1′;current—state<=next—state;endprocess;
state—trans:process(current—state)begincasecurrent—stateiswhens0=>ifhold=′0′then next—state<=s4;elseifcounter<39thennext—state<=s0;process狀態(tài)機的狀態(tài)轉(zhuǎn)移描述35elsenext—state<=s1;endif;endif;whens1=>ifhold=′0′thennext—state<=s4;elseifcounter<44thennext—state<=s1;elsenext—state<=s2;endif;endif;whens2=>else36ifhold=′0′then next—state<=s4;elseifcounter<84thennext—state<=s2;elsenext—state<=s3;endif;endif;whens3=>ifhold=′0′then next—state<=s4;elseifcounter<89thennext—state<=s3;elseifhold=′0′then37next—state<=s0;endif;endif;whens4=>ifhold=′0′then next—state<=s4;elseifcounter<39thennext—state<=s0;elsifcounter<44thennext—state<=s1;elsifcounter<84thennext—state<=s2;elsifcounter<89thennext—state<=s3;next—state<=s0;38endif;endif;endcase;endprocess;
output:process(current—state)每種狀態(tài)下兩個路口紅綠燈的狀態(tài)描述begincasecurrent—stateiswhens0=>ared<=′0′;agreen<=′1′;ayellow<=′0′;bred<=′1′;bgreen<=′0′;byellow<=′0′;endif;39whens1=>ared<=′0′;agreen<=′0′;ayellow<=′1′;bred<=′1′;bgreen<=′0′;byellow<=′0′;whens2=>ared<=′1′;agreen<=′0′;ayellow<=′0′;bred<=′0′;bgreen<=′1′;byellow<=′0′;whens3=> ared<=′1′;whens1=>40agreen<=′0′;ayellow<=′0′;bred<=′0′;bgreen<=′0′;byellow<=′1′;whens4=>ared<=′1′;agreen<=′0′;ayellow<=′0′;bred<=′1′;bgreen<=′0′;byellow<=′0′;endcase;endprocess;endbehavior;agreen<=′0′;41圖11.2.8控制器的仿真波形圖11.2.8控制器的仿真波形422)倒計時計數(shù)器M45的設計倒計時計數(shù)器M45的邏輯符號如圖11.2.9所示。其中,CLK、EN、CR分別為時鐘、計數(shù)使能和清零端,QL[3..0]、QH[3..0]、OC分別為BCD碼的個位、十位和進位輸出。圖11.2.9倒計時計數(shù)器的邏輯符號2)倒計時計數(shù)器M45的設計圖11.2.9倒計時計數(shù)43VHDL描述文件m45.vhd如下:libraryieee;useieee.std—logic—1164.all;useieee.std—logic—unsigned.all;entitym45isport(CLK:instd—logic;EN:instd—logic;CR:instd—logic;QL,QH:outstd—logic—vector(3downto0);OC:outstd—logic);endm45;VHDL描述文件m45.vhd如下:44architecturebehavofm45issignalcouL,couH:std—logic—vector(3downto0);begin
process(CR,CLK,EN)beginifCR=′0′then異步清零couL<=″0000″;couH<=″0000″;
elsifclk′eventandclk=′1′thenifEN=′1′thenif(couL=0andcouH=0)then減法計到00后,重新置數(shù)44 couL<=″0100″; couH<=″0100″;elsifcouL=0then否則個位計到0時置為9,十位減1architecturebehavofm45is45 couL<=″1001″; couH<=couH-1;elsecouL<=couL-1;否則個位減1endif;endif;endif;endprocess;
process(couL,couH)beginif(couL=0andcouH=0)thenOC<=′1′;減到00時有借位輸出elseOC<=′0′;endif;endprocess;QL<=couL;QH<=couH;
endbehav;
couL<=″1001″;46圖11.2.10倒計時計數(shù)器M45的仿真波形圖11.2.10倒計時計數(shù)器M45的仿真波形4711.2.3函數(shù)信號發(fā)生器1.系統(tǒng)原理框圖函數(shù)信號發(fā)生器電路能夠產(chǎn)生用戶需要的特定波形信號,其基本構(gòu)成為數(shù)字邏輯電路加D/A轉(zhuǎn)換器。本節(jié)描述的函數(shù)信號發(fā)生器可產(chǎn)生4種波形,分別是:鋸齒波、三角波、方波和正弦波,通過選擇器選擇以后送給D/A轉(zhuǎn)換器產(chǎn)生相應的信號波形輸出,具體如圖11.2.11所示。其中,用虛線框起來的部分屬于數(shù)字電路部分。11.2.3函數(shù)信號發(fā)生器48圖11.2.11函數(shù)信號發(fā)生器的電路框圖圖11.2.11函數(shù)信號發(fā)生器的電路框圖49各種波形示意圖如圖11.2.12所示。鋸齒波、三角波和方波每個周期有256點數(shù)據(jù),而正弦波為了簡化設計每個周期有64點數(shù)據(jù)。數(shù)據(jù)線采用8位寬度,因此每種波形幅度的最大值不超過255。各種波形示意圖如圖11.2.12所示。鋸齒波、三角波和方50圖11.2.12信號波形示意圖圖11.2.12信號波形示意圖51每種波形第i個點的幅度值計算如下:鋸齒波:q—sawtooth(i)=i,i=0~255。三角波:當i=0~127時,q—triangle(i)=i;當i=128~255時,與前面的半個周期對稱。方波:當i=0~127時,q—square(i)=255;當i=128~255時,q—square(i)=0。正弦波:q—sin(i)=128+128×sin(2×3.14×i/64),i=0~63。四種波形數(shù)據(jù)產(chǎn)生以后,由sel[1..0]選擇輸出哪種波形數(shù)據(jù)。每種波形第i個點的幅度值計算如下:522.模塊設計函數(shù)信號發(fā)生器電路數(shù)字部分的硬件語言描述如下:libraryieee;useieee.std—logic—1164.all;useieee.std—logic—unsigned.all;useieee.std—logic—arith.all;
entitywaveformisport(clk:instd—logic; sel:instd—logic—vector(1downto0); qout:outstd—logic—vector(7downto0));endwaveform;2.模塊設計53architecturearcofwaveformissignalq—sawtooth:std—logic—vector(7downto0);鋸齒波信號signalq—triangle:std—logic—vector(7downto0);三角波信號signalq—square:std—logic—vector(7downto0);方波信號signalq—sin:integerrange0to255;正弦波信號signalcounter:std—logic—vector(7downto0);
begin計數(shù)器,同時也是鋸齒波波形產(chǎn)生電路processbeginarchitecturearcofwaveformis54waituntilclk′eventandclk=′1′;counter<=counter+1;endprocess;q—sawtooth<=counter;
三角波波形產(chǎn)生電路processbeginwaituntilclk′eventandclk=′1′;covn—std—logic—vector(127,8), 將interger類型的數(shù)據(jù)127轉(zhuǎn)換成std—logic—vector類型的8位數(shù)據(jù)ifcounter<=conv—std—logic—vector(127,8)thenwaituntilclk′eventandc55q—triangle<=q—triangle+1;elseq—triangle<=q—triangle-1;endif;endprocess;
-方波波形產(chǎn)生電路processbeginwaituntilclk′eventandclk=′1′;ifcounter<=conv—std—logic—vector(127,8)thenq—square<=X″FF″;elseq—square<=(others=>′0′);endif;endprocess;q—triangle<=q—triangle+1;56sin波形發(fā)生電路將一個周期的正弦波(共64點)的幅度值直接送給信號q—sinprocessbeginwaituntilclk′eventandclk=′1′;conv—integer(counter(7downto2))將std—logic—vector類型的數(shù)據(jù)counter(7downto2)轉(zhuǎn)換成interger類型的數(shù)據(jù)caseconv—integer(counter(7downto2))iswhen0=>q—sin<=128;when1=>q—sin<=140;when2=>q—sin<=152;when3=>q—sin<=165;when4=>q—sin<=176;when5=>q—sin<=188;when6=>q—sin<=199;when7=>q—sin<=209;when8=>q—sin<=218;when9=>q—sin<=226;when10=>q—sin<=234;when11=>q—sin<=240;sin波形發(fā)生電路57數(shù)字電子技術基礎-第11章課件58數(shù)字電子技術基礎-第11章課件59在上面的硬件語言描述中使用了一個函數(shù)conv—std—logic—vector(a,b),其作用是將interger類型的數(shù)據(jù)轉(zhuǎn)換成std—logic—vector類型的數(shù)據(jù)。其中,參數(shù)a表示要轉(zhuǎn)換的整形數(shù),參數(shù)b表示生成的std—logic—vector數(shù)據(jù)的位數(shù)。該函數(shù)屬于std—logic—arith庫,所以在最前面庫的包含里必須有useieee.std—logic—arith,否則仿真工具或綜合工具都會提示出錯。在上面的硬件語言描述中使用了一個函數(shù)conv—std—l6011.2.4基于DDS的正弦信號發(fā)生器1.直接數(shù)字頻率合成器原理簡介直接數(shù)字頻率合成器(DDS,DirectDigitalSynthesizer)是從相位概念出發(fā)直接合成所需波形的一種頻率合成技術。一個數(shù)字頻率合成器由相位累加器、加法器、波形存儲ROM、D/A轉(zhuǎn)換器和低通濾波器(LPF)構(gòu)成。DDS的原理框圖如圖11.2.13所示。11.2.4基于DDS的正弦信號發(fā)生器61圖11.2.13DDS的原理框圖圖11.2.13DDS的原理框圖62圖中,K為頻率控制字,P為相位控制字,相位累加器的字長為N位,ROM及D/A轉(zhuǎn)換器的位寬為D位。相位累加器在時鐘fc的控制下以步長K進行累加,輸出的N位二進制碼與相位控制字P相加后作為存儲波形的ROM的地址對ROM進行尋址。ROM輸出D位的幅度碼S(n),經(jīng)D/A轉(zhuǎn)換后變成模擬信號S(t),再經(jīng)過低通濾波器平滑后就可以得到合成的信號波形。波形形狀取決于ROM中存放的數(shù)據(jù),因此DDS可以產(chǎn)生任意波形。下面我們以正弦波為例介紹DDS的波形產(chǎn)生原理。圖中,K為頻率控制字,P為相位控制字,相位累加器的字長為631)頻率設置K稱為頻率控制字,也叫相位增量。輸出信號的頻率與時鐘頻率之間的關系為其中,f0為輸出信號的頻率,fc為時鐘頻率,N為相位累加器的位數(shù)。當K=1時,DDS輸出最低頻率(即頻率分辨率)為fc/2N,因此當N值很大時,可以得到很小的頻率間隔。要改變DDS的輸出頻率,只要改變頻率控制字K即可。1)頻率設置其中,f0為輸出信號的頻率,fc為時鐘642)累加器相位累加器由內(nèi)部N位加法器和N位寄存器組成。每來一個時鐘作用沿,加法器將頻率控制字K與寄存器輸出的數(shù)據(jù)相加,再把相加的結(jié)果送至寄存器輸入端。下一個時鐘來到后,寄存器將其輸出數(shù)據(jù)又送至加法器輸入端繼續(xù)與頻率控制字相加,從而完成在時鐘作用下的相位累加。因此每來一個時鐘,相位累加器的輸出就增加一個步長的相位增量,當相位累加到滿量程時便產(chǎn)生一次溢出,完成一個周期的動作。2)累加器653)相位調(diào)節(jié)器相位調(diào)節(jié)器將相位累加器的輸出數(shù)據(jù)和相位控制字P相加,實現(xiàn)信號的相位調(diào)節(jié)。改變相位控制字P可控制輸入信號的相位參數(shù)。如果相位調(diào)節(jié)器的字長為N,則當相位控制字由0變?yōu)镻時,輸出信號的相位增加2πP/2N。4)波形存儲器用相位調(diào)節(jié)器輸出的數(shù)據(jù)作為波形存儲器的取樣地址,進行波形數(shù)據(jù)的尋址,即可確定輸出波形的取樣幅度。N位的ROM相當于把0°~360°的正弦信號離散成具有2N個樣點的序列。若ROM的數(shù)據(jù)位寬為D,則2N個樣點的幅值以D位二進制數(shù)值存在ROM中,按照地址的不同可以輸出相應相位的正弦信號的幅值。3)相位調(diào)節(jié)器665)D/A轉(zhuǎn)換器D/A轉(zhuǎn)換器的作用是把合成的正弦波數(shù)字量轉(zhuǎn)換成模擬量。轉(zhuǎn)換之后輸出波形變成了包絡為正弦波的階梯波S(t)。D/A轉(zhuǎn)換器的分辨率越高,合成的正弦波臺階數(shù)就越多,輸出的波形精度也就越高。5)D/A轉(zhuǎn)換器676)低通濾波器對D/A輸出的階梯波S(t)進行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45710-2025聚對苯二甲酸乙二醇酯纖維及切片中低聚物的測定高效聚合物色譜法(APC)
- 2025年食品科學與工程專業(yè)綜合知識考核試題及答案
- Aromatase-IN-5-生命科學試劑-MCE
- 2025年人力資源管理政策與實務試題及答案
- 2025年監(jiān)會與財經(jīng)法規(guī)專業(yè)資格考試試題及答案
- 2025年家庭教育與兒童心理發(fā)展專業(yè)知識考試試卷及答案
- 2025年海洋科學專業(yè)研究生入學考試題及答案
- 2025年公共衛(wèi)生管理碩士考試試題及答案
- 愛的禮物我家的寵物狗寫物作文(7篇)
- 一年級寫人作文我的妹妹300字(12篇)
- 互聯(lián)網(wǎng)與營銷創(chuàng)新智慧樹知到期末考試答案章節(jié)答案2024年華東師范大學
- 云南開放大學實-用寫作離線作業(yè)1-5
- 四川省成都市溫江縣2023-2024學年八下物理期末監(jiān)測試題及答案解析
- 內(nèi)科學(腎臟-內(nèi)分泌-血液)智慧樹知到期末考試答案章節(jié)答案2024年溫州醫(yī)科大學
- 食品安全與日常飲食智慧樹知到期末考試答案章節(jié)答案2024年中國農(nóng)業(yè)大學
- 100以內(nèi)進退位加減法口算題每天60道
- MOOC 嵌入式軟件設計-大連理工大學 中國大學慕課答案
- 永久基本農(nóng)田儲備區(qū)劃定技術方案
- 醫(yī)療銷售經(jīng)驗技巧分享
- 大氣組成與垂直分層(簡潔版)
- 鋼鐵企業(yè)環(huán)保培訓課件
評論
0/150
提交評論