第五章狀態(tài)機(jī)_第1頁
第五章狀態(tài)機(jī)_第2頁
第五章狀態(tài)機(jī)_第3頁
第五章狀態(tài)機(jī)_第4頁
第五章狀態(tài)機(jī)_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、5.1 5.1 一般有限狀態(tài)機(jī)的設(shè)計一般有限狀態(tài)機(jī)的設(shè)計5.2 5.2 MooreMoore型有限狀態(tài)機(jī)的設(shè)計型有限狀態(tài)機(jī)的設(shè)計5.3 5.3 MealyMealy型有限狀態(tài)機(jī)的設(shè)計型有限狀態(tài)機(jī)的設(shè)計5.4 5.4 狀態(tài)編碼狀態(tài)編碼5.5 5.5 狀態(tài)機(jī)剩余狀態(tài)處理狀態(tài)機(jī)剩余狀態(tài)處理5.1 5.1 一般有限狀態(tài)機(jī)的設(shè)計一般有限狀態(tài)機(jī)的設(shè)計一般有限狀態(tài)機(jī)構(gòu)成:一般有限狀態(tài)機(jī)構(gòu)成: 1.1.狀態(tài)定義狀態(tài)定義 2. 2.主控時序進(jìn)程主控時序進(jìn)程 3. 3.主控組合進(jìn)程主控組合進(jìn)程 4. 4.輔助進(jìn)程輔助進(jìn)程1. 1. 狀態(tài)定義狀態(tài)定義ARCHITECTURE .IS TYPE IS (); SIGN

2、AL . 在結(jié)構(gòu)體的說明部分,對狀態(tài)機(jī)的每一種狀態(tài)進(jìn)行定義, 為便于閱讀用來表征每一個狀態(tài),即。在實際電路中,每一種狀態(tài)是以一組觸發(fā)器的當(dāng)前二進(jìn)制數(shù)位的組合來表示。 用戶自定義語句用法用戶自定義語句用法TYPE m_state IS( st0,st1,st2,st3,st4,st5 ) ;SIGNAL present_state,next_state : m_state ; -狀態(tài)定義狀態(tài)定義TYPETYPE語句格式語句格式如下:如下:TYPE TYPE 數(shù)據(jù)類型名數(shù)據(jù)類型名 IS IS 數(shù)據(jù)類型定義數(shù)據(jù)類型定義 OF OF 基本數(shù)據(jù)類型基本數(shù)據(jù)類型 ; ;TYPE TYPE 數(shù)據(jù)類型名數(shù)據(jù)類

3、型名 IS IS 數(shù)據(jù)類型定義數(shù)據(jù)類型定義 ; ;【TYPETYPE語句用法示例】語句用法示例】TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ;TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ; -數(shù)組類型數(shù)組類型TYPE week IS (sunTYPE week IS (sun,monmon,tuetue,wedwed,thuthu,frifri,sat) ;sat) ; -枚舉類型枚舉類型2. 2. 主控時序進(jìn)程主控時序進(jìn)程進(jìn)程負(fù)責(zé)狀態(tài)機(jī)運轉(zhuǎn)和時鐘驅(qū)動下狀態(tài)轉(zhuǎn)換進(jìn)程負(fù)責(zé)狀態(tài)機(jī)運轉(zhuǎn)和時鐘驅(qū)動下狀態(tài)轉(zhuǎn)換進(jìn)程進(jìn)程進(jìn)程

4、進(jìn)程3. 3. 主控組合進(jìn)程主控組合進(jìn)程 的功能是根據(jù)的功能是根據(jù)外部輸入的控制信號外部輸入的控制信號 (包括來自狀態(tài)機(jī)外部的和內(nèi)部其它非主控的組合或時序進(jìn)程的信號)(包括來自狀態(tài)機(jī)外部的和內(nèi)部其它非主控的組合或時序進(jìn)程的信號) 或(和)或(和)當(dāng)前狀態(tài)的狀態(tài)值當(dāng)前狀態(tài)的狀態(tài)值 (next_statenext_state的取值內(nèi)容),的取值內(nèi)容), 及確定對外輸出、對內(nèi)部其它組合或時序進(jìn)程輸出控制信號及確定對外輸出、對內(nèi)部其它組合或時序進(jìn)程輸出控制信號進(jìn)程進(jìn)程進(jìn)程進(jìn)程輔助進(jìn)程輔助進(jìn)程4. 4. 輔助進(jìn)程輔助進(jìn)程【例1】兩進(jìn)程狀態(tài)機(jī)設(shè)計】兩進(jìn)程狀態(tài)機(jī)設(shè)計R=0時復(fù)位接上頁接上頁【例【例2 2】兩

5、進(jìn)程模】兩進(jìn)程模4 4加減計數(shù)器加減計數(shù)器如果如果updownupdown=0 =0 遞增計數(shù)遞增計數(shù) 狀態(tài)變化為狀態(tài)變化為: : zerozerooneonetwotwothreethree如果如果updownupdown=1 =1 遞減計數(shù)遞減計數(shù) 狀態(tài)變化為狀態(tài)變化為: : zero zerothreethreetwotwooneone 時序進(jìn)程時序進(jìn)程 接下頁接下頁接上頁接上頁 例2 模4加減計數(shù)器 = IF (updown = 0) THEN next_state = one; lsb = 0; msb = 0; ELSE next_state = three; lsb = 1; m

6、sb IF (updown = 0) THEN next_state = two; lsb = 1; msb = 0; ELSE next_state = zero; lsb = 0; msb IF (updown = 0) THEN next_state = three; lsb = 0;msb = 1; ELSE next_state = one; lsb = 1; msb IF (updown = 0) THENnext_state = zero; lsb = 1;msb = 1; ELSE next_state = two; lsb = 0;msb = 1; -重復(fù)賦值 END IF;

7、 END CASE;END PROCESS;REG:PROCESS BEGIN -時序進(jìn)程時序進(jìn)程 WAIT UNTIL clockEVENT and clock = 1; present_state lsb = 0; msb = 0; IF (updown = 0) THEN next_state = one; ELSE next_state lsb = 1; msb = 0; IF (updown = 0) THEN next_state = two; ELSE next_state lsb = 0; msb = 1; IF (updown = 0) THEN next_state = t

8、hree; ELSE next_state lsb = 1;msb = 1; IF (updown = 0) THEN next_state = zero; ELSE next_state = two; END IF; END CASE; END PROCESS;【例【例2 2】兩進(jìn)程模】兩進(jìn)程模4 4加減計數(shù)器加減計數(shù)器【例【例2 2】兩進(jìn)程?!績蛇M(jìn)程模4 4加減計數(shù)器仿真波形加減計數(shù)器仿真波形結(jié)果正確!結(jié)果正確! VHDL綜合器易于優(yōu)化 易構(gòu)成性能良好的時序邏輯模塊 結(jié)構(gòu)模式簡單、層次分明、易讀易懂、易排錯 運行模式類似于CPU,易于進(jìn)行順序控制 利用同步時序和全局時鐘線可實現(xiàn)高速FSM

9、高可靠性,非法狀態(tài)易控制 5.2 5.2 MooreMoore型有限狀態(tài)機(jī)的設(shè)計型有限狀態(tài)機(jī)的設(shè)計【例【例3 3】 AD574 AD574 四進(jìn)程采樣狀態(tài)機(jī)設(shè)計四進(jìn)程采樣狀態(tài)機(jī)設(shè)計CECS RC K12/8 A0工 作 狀 態(tài)0XXXX禁止X1XXX禁止100X0啟動12位轉(zhuǎn)換100X1啟動8位轉(zhuǎn)換1011X12位并行輸出有效10100高8位并行輸出有效10101低4位加上尾隨4個0有效 AD574邏輯控制真值表(X表示任意)【例【例3 3】 AD574 AD574 四進(jìn)程采樣狀態(tài)機(jī)設(shè)計四進(jìn)程采樣狀態(tài)機(jī)設(shè)計【例【例3 3】 AD574 AD574 四進(jìn)程采樣狀態(tài)機(jī)設(shè)計四進(jìn)程采樣狀態(tài)機(jī)設(shè)計采樣狀

10、態(tài)機(jī)結(jié)構(gòu)框圖采樣狀態(tài)機(jī)結(jié)構(gòu)框圖【例【例3 3】 AD574 AD574 四進(jìn)程采樣狀態(tài)機(jī)設(shè)計四進(jìn)程采樣狀態(tài)機(jī)設(shè)計【例【例3 3】AD574AD574四進(jìn)程采樣狀態(tài)機(jī)四進(jìn)程采樣狀態(tài)機(jī) 1 時序進(jìn)程時序進(jìn)程2 組合進(jìn)程組合進(jìn)程1 輔助進(jìn)程輔助進(jìn)程LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY AD574 IS PORT ( D : IN STD_LOGIC_VECTOR(11 DOWNTO 0); CLK,STATUS : IN STD_LOGIC; -AD574狀態(tài)信號狀態(tài)信號STATUS LOCK0 : OUT STD_LOGIC; -內(nèi)部鎖

11、存信號內(nèi)部鎖存信號LOCK的測試信號的測試信號 CS,A0,RC,K12X8 : OUT STD_LOGIC; -AD574控制信號控制信號 Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0); -鎖存數(shù)據(jù)輸出鎖存數(shù)據(jù)輸出 END AD574;ARCHITECTURE behav OF AD574 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL current_state, next_state: states :=st0 ; SIGNAL REGL : STD_LOGIC_VECTOR(11 DOWNTO 0);

12、SIGNAL LOCK : STD_LOGIC; BEGIN K12X8 = 1; LOCK0 next_state next_state IF (STATUS=1) THEN next_state = st2; ELSE next_state next_state next_state next_state CS=1; A0=1;RC=1;LOCK CS=0; A0=0;RC=0;LOCK CS=0; A0=0;RC=0;LOCK CS=0; A0=0;RC=1;LOCK CS=0; A0=0;RC=1;LOCKCS=1; A0=1;RC=1;LOCK=0;-其它情況返回初始態(tài)其它情況返回初

13、始態(tài) END CASE ;END PROCESS COM2 ; 接下頁接下頁接上頁接上頁 REG: PROCESS (CLK) - 時序進(jìn)程時序進(jìn)程 BEGIN IF ( CLKEVENT AND CLK=1) THEN current_state = next_state; END IF; END PROCESS REG; LATCH1 : PROCESS (LOCK) - 數(shù)據(jù)鎖存器輔助進(jìn)程數(shù)據(jù)鎖存器輔助進(jìn)程 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL = D ; END IF; END PROCESS ; Q next_state = st1; CS

14、= 1; A0 =1; RC=1; LOCK next_state = st2; CS = 0; A0 =0; RC = 0; LOCK IF (STATUS=1) THEN next_state = st2; ELSE next_state = st3; END IF ; CS =0; A0 =0; RC =0; LOCK next_state = st4; CS =0; A0 =0; RC =1; LOCK next_state = st0; CS =0; A0 =0; RC =1; LOCK next_state = st0; END CASE ; END PROCESS COM ; 狀

15、態(tài)機(jī)RTL電路圖【例【例4】AD574三進(jìn)程采樣狀態(tài)機(jī)設(shè)計三進(jìn)程采樣狀態(tài)機(jī)設(shè)計狀態(tài)機(jī)工作時序圖狀態(tài)狀態(tài)2:等待:等待【例【例4】AD574三進(jìn)程采樣狀態(tài)機(jī)設(shè)計三進(jìn)程采樣狀態(tài)機(jī)設(shè)計【例【例5 5】單(混合主控)進(jìn)程】單(混合主控)進(jìn)程MooreMoore型型狀態(tài)機(jī)狀態(tài)機(jī) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY MOORE1 IS PORT ( DATAIN : IN STD_LOGIC_VECTOR(1 DOWNTO 0); CLK,RST : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO

16、 0); END MOORE1;ARCHITECTURE behav OF MOORE1 IS TYPE ST_TYPE IS (ST0, ST1, ST2, ST3,ST4); SIGNAL C_ST : ST_TYPE ; -狀態(tài)指針狀態(tài)指針 BEGIN PROCESS( CLK,RST ) BEGIN IF RST =1 THEN C_ST = ST0 ; Q IF DATAIN =10 THEN C_ST = ST1 ; ELSE C_ST = ST0 ; END IF; Q IF DATAIN =11 THEN C_ST = ST2 ; ELSE C_ST = ST1 ; END I

17、F; Q IF DATAIN =01 THEN C_ST = ST3 ; ELSE C_ST = ST0 ;END IF; Q IF DATAIN =00 THEN C_ST = ST4 ; ELSE C_ST = ST2 ; END IF; Q IF DATAIN =11 THEN C_ST = ST0 ; ELSE C_ST = ST3 ; END IF; Q C_ST = ST0; END CASE; END IF; END PROCESS;END behav;接上頁接上頁【例【例5 5】單(混合主控)進(jìn)程】單(混合主控)進(jìn)程MooreMoore型型狀態(tài)機(jī)狀態(tài)機(jī) 例例5 狀態(tài)機(jī)綜合后的狀

18、態(tài)機(jī)綜合后的RTL電路模塊圖電路模塊圖【例【例5 5】單(混合主控)進(jìn)程】單(混合主控)進(jìn)程MooreMoore型型狀態(tài)機(jī)狀態(tài)機(jī)圖圖 例例5單進(jìn)程狀態(tài)機(jī)工作時序單進(jìn)程狀態(tài)機(jī)工作時序【例【例5 5】單(混合主控)進(jìn)程】單(混合主控)進(jìn)程MooreMoore型型狀態(tài)機(jī)狀態(tài)機(jī)5.3 5.3 MealyMealy型有限狀態(tài)機(jī)的設(shè)計型有限狀態(tài)機(jī)的設(shè)計【例【例6】 混合主控進(jìn)程輔助進(jìn)程狀態(tài)機(jī)混合主控進(jìn)程輔助進(jìn)程狀態(tài)機(jī)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MEALY1 IS PORT ( CLK ,DATAIN,RESET : IN STD_LO

19、GIC; Q : OUT STD_LOGIC_VECTOR (4 DOWNTO 0) ); END MEALY1;ARCHITECTURE behav OF MEALY1 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL STX : states ; BEGIN COMREG : PROCESS( CLK, RESET ) -決定轉(zhuǎn)換狀態(tài)的進(jìn)程決定轉(zhuǎn)換狀態(tài)的進(jìn)程 BEGIN IF RESET =1 THEN STX IF DATAIN = 1 THEN STX IF DATAIN = 0 THEN STX IF DATAIN = 1 THEN

20、 STX IF DATAIN = 0 THEN STX IF DATAIN = 1 THEN STX STX IF DATAIN = 1 THEN Q = 10000 ; ELSE Q IF DATAIN = 0 THEN Q = 10111 ; ELSE Q IF DATAIN = 1 THEN Q = 10101 ; ELSE Q IF DATAIN = 0 THEN Q = 11011 ; ELSE Q IF DATAIN = 1 THEN Q = 11101 ; ELSE Q Q=00000 ; END CASE ; END PROCESS COM1 ;END behav;接上頁接上頁

21、圖圖7-10 例例6 狀態(tài)機(jī)工作時序圖狀態(tài)機(jī)工作時序圖輸出信號與輸出信號與CP無關(guān)。無關(guān)。易產(chǎn)生毛刺易產(chǎn)生毛刺【例【例7】 例例6的改進(jìn):同步鎖存的改進(jìn):同步鎖存 ENTITY MEALY2 IS PORT ( CLK ,DATAIN,RESET : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);END MEALY2;ARCHITECTURE behav OF MEALY2 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL STX : states ; SIGNAL Q1 : STD_L

22、OGIC_VECTOR(4 DOWNTO 0); BEGIN COMREG : PROCESS(CLK,RESET) BEGIN -決定轉(zhuǎn)換狀態(tài)的進(jìn)程決定轉(zhuǎn)換狀態(tài)的進(jìn)程 IF RESET =1 THEN STX IF DATAIN = 1 THEN STX IF DATAIN = 0 THEN STX IF DATAIN = 1 THEN STX IF DATAIN = 0 THEN STX IF DATAIN = 1 THEN STX STX IF DATAIN = 1 THEN Q2 := 10000 ; ELSE Q2 := 01010 ; END IF ; WHEN st1 = IF

23、DATAIN = 0 THEN Q2 := 10111 ; ELSE Q2:=10100 ; END IF ; WHEN st2 = IF DATAIN = 1 THEN Q2 := 10101 ; ELSE Q2:=10011 ; END IF ; WHEN st3= IF DATAIN = 0 THEN Q2 := 11011 ; ELSE Q2:=01001 ; END IF ; WHEN st4= IF DATAIN = 1 THEN Q2 := 11101 ; ELSE Q2:=01101 ; END IF ; WHEN OTHERS = Q2:=00000 ; IF CLKEVEN

24、T AND CLK = 1 THEN Q1=Q2; END IF; END PROCESS COM1 ; Q next_state next_state IF (STATUS=1) THEN next_state = st2; ELSE next_state next_state next_state next_state = st0; END CASE ; END PROCESS COM1 ; - 時序進(jìn)程時序進(jìn)程 END PROCESS REG; LK = current_state(1) ; LATCH1 : PROCESS ( LK ) BEGIN - 數(shù)據(jù)鎖存器進(jìn)程數(shù)據(jù)鎖存器進(jìn)程 I

25、F LK=1 AND LKEVENT THEN REGL = D ; END IF; Q next_state = st0; END case;5.5 5.5 狀態(tài)機(jī)剩余狀態(tài)處理狀態(tài)機(jī)剩余狀態(tài)處理【剩余狀態(tài)處理示例2】. alarm = (st0 AND (st1 OR st2 OR st3 OR st4 OR st5) OR (st1 AND (st0 OR st2 OR st3 OR st4 OR st5) OR (st2 AND (st0 OR st1 OR st3 OR st4 OR st5) OR (st3 AND (st0 OR st1 OR st2 OR st4 OR st5)

26、OR (st4 AND (st0 OR st1 OR st2 OR st3 OR st5) OR (st5 AND (st0 OR st1 OR st2 OR st3 OR st4) ;5.5 5.5 狀態(tài)機(jī)剩余狀態(tài)處理狀態(tài)機(jī)剩余狀態(tài)處理實實 驗驗(1)實驗?zāi)康模海嶒災(zāi)康模?用狀態(tài)機(jī)實現(xiàn)序用狀態(tài)機(jī)實現(xiàn)序列檢測器的設(shè)計,列檢測器的設(shè)計,并對其進(jìn)行仿真和并對其進(jìn)行仿真和硬件測試。硬件測試。實驗實驗1 用狀態(tài)機(jī)實現(xiàn)序列檢測器的設(shè)計用狀態(tài)機(jī)實現(xiàn)序列檢測器的設(shè)計(2)實驗原理:實驗原理: 序列檢測器的序列檢測器的工作原理已在工作原理已在習(xí)題習(xí)題7-37-3中作了中作了說明。說明。實實 驗驗實驗實驗1

27、用狀態(tài)機(jī)實現(xiàn)序列檢測器的設(shè)計用狀態(tài)機(jī)實現(xiàn)序列檢測器的設(shè)計(3)實驗內(nèi)容)實驗內(nèi)容1: 仔細(xì)完成習(xí)題仔細(xì)完成習(xí)題7-37-3的全部內(nèi)容,利用的全部內(nèi)容,利用MAX+MAX+plusIIplusII對例對例7-117-11進(jìn)行文本編輯輸入、仿真測試并給出仿真波形,了解控制進(jìn)行文本編輯輸入、仿真測試并給出仿真波形,了解控制信號的時序,最后進(jìn)行引腳鎖定并完成硬件測試實驗。信號的時序,最后進(jìn)行引腳鎖定并完成硬件測試實驗。 建議用鍵建議用鍵7 7(PIO11PIO11)控制復(fù)位信號控制復(fù)位信號CLRCLR;鍵鍵6 6(PIO9PIO9)控制狀控制狀態(tài)機(jī)工作時鐘態(tài)機(jī)工作時鐘CLKCLK;待檢測串行序列數(shù)輸入

28、待檢測串行序列數(shù)輸入DINDIN接接PIO10PIO10(左移,最左移,最高位在前);指示輸出高位在前);指示輸出ABAB接接PIO39PIO39PIO36PIO36(顯示于數(shù)碼管顯示于數(shù)碼管6 6)。下)。下載后:按實驗板載后:按實驗板“系統(tǒng)復(fù)位系統(tǒng)復(fù)位”鍵;用鍵鍵;用鍵2 2和鍵和鍵1 1輸入輸入2 2位十六進(jìn)位十六進(jìn)制待測序列數(shù)制待測序列數(shù)“11100101”“11100101”;按鍵;按鍵7 7復(fù)位(平時數(shù)碼復(fù)位(平時數(shù)碼6 6指示顯指示顯“B”B”););4 4、按鍵按鍵6(6(CLK) 8CLK) 8次,這時若串行輸入的次,這時若串行輸入的8 8位二進(jìn)制序列位二進(jìn)制序列碼(顯示于數(shù)

29、碼碼(顯示于數(shù)碼2/12/1和發(fā)光管和發(fā)光管D8D8D0D0)與預(yù)置碼與預(yù)置碼“11100101”“11100101”相同相同,則數(shù)碼,則數(shù)碼6 6應(yīng)從原來的應(yīng)從原來的B B變成變成A A ,表示序列檢測正確,否則仍為表示序列檢測正確,否則仍為B B。實實 驗驗實驗實驗1 用狀態(tài)機(jī)實現(xiàn)序列檢測器的設(shè)計用狀態(tài)機(jī)實現(xiàn)序列檢測器的設(shè)計(4)實驗內(nèi)容)實驗內(nèi)容2: 根據(jù)習(xí)題根據(jù)習(xí)題7-37-3中中的習(xí)題要求的習(xí)題要求3 3,提,提出的設(shè)計方案重出的設(shè)計方案重復(fù)以上實驗內(nèi)容復(fù)以上實驗內(nèi)容(將(將8 8位待檢測預(yù)位待檢測預(yù)置數(shù)由鍵置數(shù)由鍵4/4/鍵鍵3 3作作為外部輸入,從為外部輸入,從而可隨時改變檢而可

30、隨時改變檢測密碼)。測密碼)。(5)實驗思考題:)實驗思考題: 如果待檢測預(yù)如果待檢測預(yù)置數(shù)必須以右移置數(shù)必須以右移方式進(jìn)入序列檢方式進(jìn)入序列檢測器,寫出該檢測器,寫出該檢測器的測器的VHDLVHDL代碼代碼(兩進(jìn)程符號化(兩進(jìn)程符號化有限狀態(tài)機(jī)),有限狀態(tài)機(jī)),并提出測試該序并提出測試該序列檢測器的實驗列檢測器的實驗方案。方案。(6 6)實驗報告:)實驗報告: 根據(jù)以上的實根據(jù)以上的實驗內(nèi)容寫出實驗驗內(nèi)容寫出實驗報告,包括設(shè)計報告,包括設(shè)計原理、程序設(shè)計原理、程序設(shè)計、程序分析、仿、程序分析、仿真分析、硬件測真分析、硬件測試和詳細(xì)實驗過試和詳細(xì)實驗過程。程。實實 驗驗實驗實驗2 用狀態(tài)機(jī)對用

31、狀態(tài)機(jī)對ADC0809的采樣控制電路實現(xiàn)的采樣控制電路實現(xiàn)(1)實驗?zāi)康模海嶒災(zāi)康模簩W(xué)習(xí)用狀態(tài)機(jī)對學(xué)習(xí)用狀態(tài)機(jī)對A/DA/D轉(zhuǎn)換器轉(zhuǎn)換器ADC0809ADC0809的采樣控的采樣控制電路的實現(xiàn)。制電路的實現(xiàn)。(2 2)實驗原理:)實驗原理:ADC0809ADC0809的采樣控制原理已在習(xí)題的采樣控制原理已在習(xí)題7-67-6中作了中作了詳細(xì)說明。詳細(xì)說明。(3 3)實驗內(nèi)容:)實驗內(nèi)容:利用利用MAX+MAX+plusIIplusII對例對例7-127-12進(jìn)行文本編輯輸入進(jìn)行文本編輯輸入和仿真測試;給出仿真波形。最后進(jìn)行引腳鎖定并進(jìn)行測試和仿真測試;給出仿真波形。最后進(jìn)行引腳鎖定并進(jìn)行測試,

32、硬件驗證例,硬件驗證例7-127-12電路對電路對ADC0809ADC0809的控制功能。的控制功能。實實 驗驗實驗實驗2 用狀態(tài)機(jī)對用狀態(tài)機(jī)對ADC0809的采樣控制電路實現(xiàn)的采樣控制電路實現(xiàn)測試步驟:測試步驟:根據(jù)附圖根據(jù)附圖1-121-12,建議引腳鎖定為:,建議引腳鎖定為:STARTSTART接接PIO34PIO34,OEOE接接PIO35PIO35,EOCEOC接接PIO8PIO8,ALEALE接接PIO33PIO33,狀態(tài)機(jī)時鐘狀態(tài)機(jī)時鐘CLKCLK接接clock0clock0(PIN2PIN2,可選可選“65536“65536Hz”Hz”或更高),或更高),ADDAADDA接接P

33、IO32PIO32(ADDBADDB和和ADDCADDC都接都接GNDGND),),ADC0809ADC0809的的8 8位輸出數(shù)據(jù)線接位輸出數(shù)據(jù)線接PIO23PIO23PIO16PIO16,鎖存輸出鎖存輸出Q Q顯示于數(shù)碼顯示于數(shù)碼8/8/數(shù)碼數(shù)碼7 7(PIO47PIO47PIO40PIO40),), 設(shè)目標(biāo)器件是設(shè)目標(biāo)器件是EPF10K10EPF10K10,建議選擇實驗電路結(jié)構(gòu)圖建議選擇實驗電路結(jié)構(gòu)圖NO.5NO.5(即即結(jié)構(gòu)圖結(jié)構(gòu)圖NO.5ANO.5A,附圖附圖1-121-12,由該圖可見,由該圖可見,ADC0809ADC0809的轉(zhuǎn)換時鐘的轉(zhuǎn)換時鐘CLKCLK已經(jīng)事先接有已經(jīng)事先接有

34、750750KHzKHz的頻率),將實驗系統(tǒng)左下角選擇插的頻率),將實驗系統(tǒng)左下角選擇插針處的針處的“轉(zhuǎn)換結(jié)束轉(zhuǎn)換結(jié)束”和和“A/DA/D使能使能”用跳線幅短接。下載目標(biāo)用跳線幅短接。下載目標(biāo)文件后,可用螺絲刀旋轉(zhuǎn)實驗系統(tǒng)左下角的電位器,以便為文件后,可用螺絲刀旋轉(zhuǎn)實驗系統(tǒng)左下角的電位器,以便為ADC0809ADC0809提供變化的待測模擬信號,這時數(shù)碼管提供變化的待測模擬信號,這時數(shù)碼管8 8和和7 7將顯示將顯示ADC0809ADC0809采樣輸出并被鎖存的數(shù)字值(采樣輸出并被鎖存的數(shù)字值(1616進(jìn)制)。進(jìn)制)。實驗板中實驗板中ADC0809電路原理圖,注意電路原理圖,注意與目標(biāo)器件的連

35、接與目標(biāo)器件的連接方法方法選擇實驗電路選擇實驗電路模式模式5!根據(jù)此表鎖根據(jù)此表鎖定引腳定引腳ADC08090809將將0-5V輸入輸入模擬電壓通過模擬電壓通過FPGA中的狀態(tài)機(jī)中的狀態(tài)機(jī)轉(zhuǎn)換輸出為轉(zhuǎn)換輸出為16進(jìn)進(jìn)制數(shù):制數(shù):“9D”旋轉(zhuǎn)此電位器旋轉(zhuǎn)此電位器可改變可改變0809的的輸出輸出注意轉(zhuǎn)換輸出注意轉(zhuǎn)換輸出已改變?yōu)椋阂迅淖優(yōu)椋?C注意,此項實驗必須將此注意,此項實驗必須將此2撥撥碼向下?lián)?,功能請參考使用碼向下?lián)埽δ苷垍⒖际褂谜f明。實驗結(jié)束后,將它們說明。實驗結(jié)束后,將它們向上撥回原位向上撥回原位實驗實驗2 用狀態(tài)機(jī)對用狀態(tài)機(jī)對ADC0809的采樣控制電路實現(xiàn)的采樣控制電路實現(xiàn)(4 4

36、)實驗思考題:)實驗思考題:在不改變原代碼功能的條件下將例在不改變原代碼功能的條件下將例7-127-12表表達(dá)成用狀態(tài)碼直接輸出型的狀態(tài)機(jī)。達(dá)成用狀態(tài)碼直接輸出型的狀態(tài)機(jī)。(5 5)實驗報告:)實驗報告:根據(jù)以上的實驗要求、實驗內(nèi)容和實驗思考根據(jù)以上的實驗要求、實驗內(nèi)容和實驗思考題寫出實驗報告。題寫出實驗報告。實驗實驗3 含有含有FIFO存儲器的存儲器的A/D采樣控制電路設(shè)計采樣控制電路設(shè)計(1 1)實驗?zāi)康模海嶒災(zāi)康模赫莆照莆誏PMLPM模塊模塊VHDLVHDL元件定制、調(diào)用和使用方法;熟悉含有元件定制、調(diào)用和使用方法;熟悉含有LPMLPM模塊的模塊的VHDLVHDL電路描述程序的設(shè)計、編

37、譯和硬件實驗流程;了解電路描述程序的設(shè)計、編譯和硬件實驗流程;了解HDLHDL文本文本描述與原理圖混合設(shè)計方法(注,本實驗應(yīng)在完成第描述與原理圖混合設(shè)計方法(注,本實驗應(yīng)在完成第8 8章的學(xué)習(xí)后進(jìn)行)。章的學(xué)習(xí)后進(jìn)行)。(2 2)實驗原理:)實驗原理:在第在第8 8、1010小節(jié)中,對含有小節(jié)中,對含有FIFOFIFO的的A/DA/D采樣控制電路系統(tǒng)采樣控制電路系統(tǒng)AD_FIFOAD_FIFO的工作原理作了詳細(xì)的說明,并給出了它的原理圖(圖的工作原理作了詳細(xì)的說明,并給出了它的原理圖(圖8-38-3)及其)及其VHDLVHDL程序,(例程序,(例8-258-25)。)。(3 3)實驗內(nèi)容)實驗

38、內(nèi)容1 1:根據(jù)第根據(jù)第8 8章第章第1010節(jié)的電路原理描述和設(shè)計流程,節(jié)的電路原理描述和設(shè)計流程,A/DA/D采樣采樣控制電路控制電路AD_FIFOAD_FIFO進(jìn)行系統(tǒng)設(shè)計和仿真測試,給出例進(jìn)行系統(tǒng)設(shè)計和仿真測試,給出例8-258-25詳細(xì)的采樣詳細(xì)的采樣/ /讀數(shù)讀數(shù)仿真波形。這里假設(shè)在采樣周期中完成了仿真波形。這里假設(shè)在采樣周期中完成了1010個點的采樣操作,并已將所有數(shù)個點的采樣操作,并已將所有數(shù)據(jù)寫入據(jù)寫入FIFOFIFO中,而在讀數(shù)周期中按中,而在讀數(shù)周期中按FIFOFIFO的讀寫時序規(guī)律將所有寫入的數(shù)據(jù)的讀寫時序規(guī)律將所有寫入的數(shù)據(jù)隨著隨著RD_ENRD_EN時鐘的輸入,由時

39、鐘的輸入,由Q7.0Q7.0輸出。分析它們的時序關(guān)系。輸出。分析它們的時序關(guān)系。實驗實驗3 含有含有FIFO存儲器的存儲器的A/D采樣控制電路設(shè)計采樣控制電路設(shè)計(4 4)實驗內(nèi)容)實驗內(nèi)容2 2:硬件實驗測試按照本章實驗硬件實驗測試按照本章實驗2 2給出的實驗板設(shè)置方法進(jìn)給出的實驗板設(shè)置方法進(jìn)行。適當(dāng)控制狀態(tài)機(jī)工作時鐘行。適當(dāng)控制狀態(tài)機(jī)工作時鐘CLKCLK的頻率,的頻率,08090809的模擬信號輸入仍然使用的模擬信號輸入仍然使用電位器輸出,其間,使一次采樣周期中的采樣點數(shù)不超過電位器輸出,其間,使一次采樣周期中的采樣點數(shù)不超過512512個,然后通個,然后通過鍵控進(jìn)入過鍵控進(jìn)入FIFOFIFO讀數(shù)周期,使數(shù)碼管顯示在采樣過程中寫入的數(shù)據(jù)。讀數(shù)周期,使數(shù)碼管顯示在采樣過程中寫入的數(shù)據(jù)。(5 5)實驗內(nèi)容)實驗內(nèi)容3 3:使用使用HDLHDL文本描述與原理圖混合設(shè)計方法設(shè)計文本描述與原理圖混合設(shè)計方法設(shè)計AD_FIFOAD_FIFO。首先利用首先利用MAX+MAX+plusIIplusII文本編輯器打開文件文本編輯器打開文件ADC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論