推荐第9章有限状态机设计

上传人:公**** 文档编号:580259551 上传时间:2024-08-28 格式:PPT 页数:72 大小:5.63MB
返回 下载 相关 举报
推荐第9章有限状态机设计_第1页
第1页 / 共72页
推荐第9章有限状态机设计_第2页
第2页 / 共72页
推荐第9章有限状态机设计_第3页
第3页 / 共72页
推荐第9章有限状态机设计_第4页
第4页 / 共72页
推荐第9章有限状态机设计_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《推荐第9章有限状态机设计》由会员分享,可在线阅读,更多相关《推荐第9章有限状态机设计(72页珍藏版)》请在金锄头文库上搜索。

1、EDAEDA技术技术实用教程实用教程第第9章章 有限状态机设计有限状态机设计1S S S Sy师院科技师院科技设计实例设计实例 在时分通信系统中,设计一个巴克码识别器,当串行数据流中在时分通信系统中,设计一个巴克码识别器,当串行数据流中出现出现1110010(七位巴克码)时,输出识别信号,保证时分通信系(七位巴克码)时,输出识别信号,保证时分通信系统中的帧同步。统中的帧同步。设计要求设计要求2S S S Sy师院科技师院科技状态分析:状态分析: 根据设计要求,电路输入端根据设计要求,电路输入端S_IN输入为随机串行数据流,七位输入为随机串行数据流,七位巴克码组为巴克码组为1110010,为此可

2、以选择,为此可以选择S0,S1,S2,S3,S4,S5,S6共七个状态。当电路处于状态共七个状态。当电路处于状态S6时如果接收到的数据流出现一个时如果接收到的数据流出现一个0时状态转向时状态转向S0,同时同时FD输出为输出为1,通信系统同步单元通过,通信系统同步单元通过信号信号FD提取帧同步信号提取帧同步信号 。3S S S Sy师院科技师院科技原始状态图原始状态图4S S S Sy师院科技师院科技现态次态/输出输入01S0S0/0S1/0S1S0/0S2/0S2S0/0S3/0S3S4/0S3/0S4S5/0S1/0S5S0/0S6/0S6S7/1S2/0S7S0/0S1/0原始状态表:原始

3、状态表:5S S S Sy师院科技师院科技简化后状态表:简化后状态表:现态次态/输出输入01S0S0/0S1/0S1S0/0S2/0S2S0/0S3/0S3S4/0S3/0S4S5/0S1/0S5S0/0S6/0S6S0/1S2/06S S S Sy师院科技师院科技简化后状态图简化后状态图7S S S Sy师院科技师院科技程序代码:程序代码: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CHK2 ISPORT(CLK, RESET: IN STD_LOGIC; S_IN: IN STD_LOGIC; FD: OUT STD_LOGIC);EN

4、D CHK2;ARCHITECTURE a OF CHK2 ISTYPE STATE_TYPE IS (S0, S1, S2,S3,S4,S5,S6);SIGNAL state: STATE_TYPE;BEGINPROCESS (CLK,RESET)BEGINIF RESET= 1 THENstate FD =0;IF S_IN=1 THEN state = S1;ELSE STATE FD=0;IF S_IN=1 THENstate =S2;ELSE STATE FD =0;IF S_IN=1 THENstate =S3;ELSE STATE FD =0;IF S_IN=0 THENstat

5、e =S4;ELSE STATE FD =0;IF S_IN=0 THENstate =S5;ELSE STATE FD =0;IF S_IN=1 THENstate =S6;ELSE STATE IF S_IN=0 THENstate =S0;FD =1; ELSE STATE = S2;END IF; END CASE;END IF;END PROCESS;END a; 9S S S Sy师院科技师院科技9.1 一般有限状态机的设计一般有限状态机的设计9.1.1 用户自定义数据类型定义语句用户自定义数据类型定义语句TYPETYPE语句用法如下:语句用法如下:TYPE TYPE 数据类型名数

6、据类型名 IS IS 数据类型定义数据类型定义 OF OF 基本数据类型基本数据类型 ; ;或或TYPE TYPE 数据类型名数据类型名 IS IS 数据类型定义数据类型定义 ; ;以下列出了两种不同的定义方式:以下列出了两种不同的定义方式:TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ;TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ;TYPE week IS (sunTYPE week IS (sun,monmon,tuetue,wedwed,thuthu,frifri,sat) ;sat) ;10S S S S

7、y师院科技师院科技9.1 一般有限状态机的设计一般有限状态机的设计9.1.1 用户自定义数据类型定义语句用户自定义数据类型定义语句TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ; SIGNAL present_state,next_state : m_state ;布尔数据类型的定义语句是:布尔数据类型的定义语句是: TYPE BOOLEAN IS TYPE BOOLEAN IS (FALSEFALSE,TRUETRUE) ;TYPE my_logic IS ( 1 TYPE my_logic IS ( 1 ,Z Z ,U U ,0 ) ;0 ) ;

8、SIGNAL s1 : my_logic ; SIGNAL s1 : my_logic ; s1 = Z ; s1 = Z ; 11S S S Sy师院科技师院科技9.1 一般有限状态机的设计一般有限状态机的设计9.1.1 用户自定义数据类型定义语句用户自定义数据类型定义语句子类型子类型SUBTYPE的语句格式如下:的语句格式如下:SUBTYPE SUBTYPE 子类型名子类型名 IS IS 基本数据类型基本数据类型 RANGE RANGE 约束范围约束范围; ; SUBTYPE digits IS INTEGER RANGE 0 to 9 ;SUBTYPE digits IS INTEGER

9、 RANGE 0 to 9 ;12S S S Sy师院科技师院科技9.1.2 为什么要使用状态机为什么要使用状态机9.1 一般有限状态机的设计一般有限状态机的设计 有限状态机克服了纯硬件数字系统顺序方式控制不灵活有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。的缺点。 状态机的结构模式相对简单状态机的结构模式相对简单。 状态机容易构成性能良好的同步时序逻辑模块状态机容易构成性能良好的同步时序逻辑模块。 状态机的状态机的VHDLVHDL表述丰富多样表述丰富多样。 在高速运算和控制方面,状态机更有其巨大的优势在高速运算和控制方面,状态机更有其巨大的优势。 就可靠性而言,状态机的优势也是十分

10、明显的就可靠性而言,状态机的优势也是十分明显的。13S S S Sy师院科技师院科技9.1.3 一般有限状态机的设计一般有限状态机的设计9.1 一般有限状态机的设计一般有限状态机的设计1. 1. 说明部分说明部分2. 2. 主控时序进程主控时序进程图图9-1 一般状态机结构框图工作示意图一般状态机结构框图工作示意图ARCHITECTURE .IS TYPE FSM_ST IS (s0,s1,s2,s3); SIGNAL current_state, next_state: FSM_ST; . 14S S S Sy师院科技师院科技3. 3. 主控组合进程主控组合进程9.1.3 一般有限状态机的设

11、计一般有限状态机的设计 控组合进程的任务是根据外部输入的控制信号(包控组合进程的任务是根据外部输入的控制信号(包括来自状态机外部的信号和来自状态机内部其它非主控括来自状态机外部的信号和来自状态机内部其它非主控的组合或时序进程的信号),或(和)当前状态的状态的组合或时序进程的信号),或(和)当前状态的状态值确定下一状态(值确定下一状态(next_statenext_state)的取向,即的取向,即next_statenext_state的的取值内容,以及确定对外输出或对内部其它组合或时序取值内容,以及确定对外输出或对内部其它组合或时序进程输出控制信号的内容。进程输出控制信号的内容。15S S S

12、 Sy师院科技师院科技4. 4. 辅助进程辅助进程【例9-1】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS PORT ( clk,reset : IN STD_LOGIC; state_inputs : IN STD_LOGIC_VECTOR (0 TO 1); comb_outputs : OUT INTEGER RANGE 0 TO 15 );END s_machine;ARCHITECTURE behv OF s_machine IS TYPE FSM_ST IS (s0, s1, s2, s3); SIGNAL

13、 current_state, next_state: FSM_ST;BEGIN REG: PROCESS (reset,clk) BEGIN IF reset = 1 THEN current_state = s0; ELSIF clk=1 AND clkEVENT THEN current_state comb_outputs= 5; IF state_inputs = 00 THEN next_state=s0; ELSE next_state comb_outputs= 8; IF state_inputs = 00 THEN next_state=s1; ELSE next_stat

14、e comb_outputs= 12; IF state_inputs = 11 THEN next_state = s0; ELSE next_state comb_outputs = 14; IF state_inputs = 11 THEN next_state = s3; ELSE next_state = s0; END IF; END case; END PROCESS; END behv;接上页接上页17S S S Sy师院科技师院科技图图9-2 例例9-1状态机的工作时序图状态机的工作时序图9.1.3 一般有限状态机的设计一般有限状态机的设计4. 4. 辅助进程辅助进程18S

15、S S Sy师院科技师院科技19S S S Sy师院科技师院科技 VHDL综合器易于优化 易构成性能良好的时序逻辑模块 结构模式简单、层次分明、易读易懂、易排错 运行模式类似于CPU,易于进行顺序控制 利用同步时序和全局时钟线可实现高速FSM 高可靠性,非法状态易控制 20S S S Sy师院科技师院科技9.2 Moore型有限状态机的设计型有限状态机的设计9.2.1 三进程有限状态机三进程有限状态机CECS RC K12/8 A0工 作 状 态0XXXX禁止X1XXX禁止100X0启动12位转换100X1启动8位转换1011X12位并行输出有效10100高8位并行输出有效10101低4位加上

16、尾随4个0有效表表9-1 AD574逻辑控制真值表(逻辑控制真值表(X表示任意)表示任意)21S S S Sy师院科技师院科技9.2.1 三进程有限状态机三进程有限状态机图图9-3 AD574工作时序工作时序 22S S S Sy师院科技师院科技9.2.1 三进程有限状态机三进程有限状态机图图9-4 AD574工作时序工作时序23S S S Sy师院科技师院科技9.2.1 三进程有限状态机三进程有限状态机图图9-5 采样状态机结构框图采样状态机结构框图24S S S Sy师院科技师院科技【例【例9-2】LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENT

17、ITY AD574 IS PORT (D :IN STD_LOGIC_VECTOR(11 DOWNTO 0); CLK ,STATUS : IN STD_LOGIC;-状态机时钟状态机时钟CLK,AD574状态信号状态信号STATUS LOCK0 : OUT STD_LOGIC; -内部锁存信号内部锁存信号LOCK的测试信号的测试信号 CS,A0,RC,K12X8 : OUT STD_LOGIC; -AD574控制信号控制信号 Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0); -锁存数据输出锁存数据输出END AD574;ARCHITECTURE behav OF

18、AD574 ISTYPE states IS (st0, st1, st2, st3,st4); SIGNAL current_state, next_state: states :=st0 ; SIGNAL REGL : STD_LOGIC_VECTOR(11 DOWNTO 0); 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 C

19、S=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;-其它情况返回初始态其它情况返回初始态 接下页接下页接上页接上页26S S S Sy师院科技师院科技END CASE ; END PROCESS COM2 ; REG: PROCESS (CLK) - 时序进程时序进程 BEGIN IF ( CLKEVENT AND CLK=1) THEN current_state = next_state;

20、END IF; END PROCESS REG; LATCH1 : PROCESS (LOCK) - 数据锁存器进程数据锁存器进程 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL = D ; END IF; END PROCESS ; Q next_state = st1; CS=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;L

21、OCK next_state = st4; CS=0; A0=0;RC=1;LOCK next_state = st0; CS=0; A0=0;RC=1;LOCK next_state CS=1; A0=0; RC=0; LOCK=0; next_state CS=0; A0=0; RC=0; LOCK=0; next_state CS=0; A0=0; RC=0; LOCK=0; IF (STATUS=1) THEN next_state = st2;ELSE next_state CS=0; A0=0; RC=1; LOCK=0; next_state CS=0; A0=1; RC=1;

22、LOCK=1; next_state next_state = st0; END CASE ; END PROCESS COM ; REG:PROCESS (CLK) BEGIN IF ( CLKEVENT AND CLK=1) THEN current_state = next_state; END IF; END PROCESS REG; LATCH: PROCESS (LOCK) BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL = D ; END IF; END PROCESS ; Q = REGL; END behav; K12X8 = 1 ;状态机状态

23、机VHDL源程序源程序31S S S Sy师院科技师院科技状态机RTL电路图32S S S Sy师院科技师院科技状态机工作时序图状态状态2:等待:等待33S S S Sy师院科技师院科技9.2.2 单进程单进程Moore型有限状态机型有限状态机【例【例9-4】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 0);END

24、MOORE1;ARCHITECTURE behav OF MOORE1 IS TYPE ST_TYPE IS (ST0, ST1, ST2, ST3,ST4); SIGNAL C_ST : ST_TYPE ; 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 IF; Q IF DATAIN =01 THE

25、N 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;接上页接上页35S S S Sy师院科技师院科技图图9-7 例例9-4状态机综合后的状态机综合后的RTL电路模块图电路模块图9.2.2 单进程单进程Moore型有限状态机型有限

26、状态机36S S S Sy师院科技师院科技9.2.2 单进程单进程Moore型有限状态机型有限状态机图图9-8 例例9-4单进程状态机工作时序单进程状态机工作时序37S S S Sy师院科技师院科技9.2.2 单进程单进程Moore型有限状态机型有限状态机图图9-9 对应于例对应于例9-4的的2进程状态机工作时序图进程状态机工作时序图38S S S Sy师院科技师院科技9.3 Mealy型有限状态机的设计型有限状态机的设计【例【例9-5】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY1 ISPORT ( CLK ,DATAIN,R

27、ESET : IN STD_LOGIC; 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) BEGIN -决定转换状态的进程决定转换状态的进程 IF RESET =1 THEN STX IF DATAIN = 1 THEN STX IF DATAIN = 0 THEN STX IF DATAIN

28、 = 1 THEN 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 beha

29、v;接上页接上页图图9-10 例例9-5状态机工作时序图状态机工作时序图41S S S Sy师院科技师院科技【例【例9-6】 MEALY2 LIBRARY IEEE; -MEALY FSMUSE IEEE.STD_LOGIC_1164.ALL;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);

30、 SIGNAL STX : states ; SIGNAL Q1 : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN COMREG : PROCESS(CLK,RESET) -决定转换状态的进程决定转换状态的进程 BEGIN 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 ; EL

31、SE Q2 := 01010 ; END IF ; WHEN st1 = IF 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 I

32、F ; WHEN OTHERS = Q2:=00000 ; END CASE ; 接下页接下页43S S S Sy师院科技师院科技IF CLKEVENT 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 ; OUT4 = current_state(4 DOWNTO 1); END PROCES

33、S COM1 ; REG: PROCESS (CLK) - 时序进程时序进程 BEGIN IF ( CLKEVENT AND CLK=1) THEN current_state = next_state; END IF; END PROCESS REG; LK = current_state(1) ; LATCH1 : PROCESS ( LK ) - 数据锁存器进程数据锁存器进程 BEGIN IF LK=1 AND LKEVENT THEN REGL = D ; 接下页接下页47S S S Sy师院科技师院科技END IF; END PROCESS ; Q next_state = st0;

34、 END case;【例【例9-10】.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) OR (st4 AND (st0 OR st1 OR st2 OR st3 OR st5) OR (st5 AND (st0 OR st1 OR st2 OR st3 OR st4)

35、 ;52S S S Sy师院科技师院科技状态机状态机53S S S Sy师院科技师院科技54S S S Sy师院科技师院科技实实 验验(1)实验目的:)实验目的: 用用状状态态机机实实现现序序列列检检测测器器的的设设计计,并并对对其其进进行行仿仿真真和和硬件测试。硬件测试。实验实验9-1 用状态机实现序列检测器的设计用状态机实现序列检测器的设计(2)实验原理:实验原理: 序序列列检检测测器器的的工工作作原原理理已已在在习习题题7-37-3中中作作了了说明。说明。55S S S Sy师院科技师院科技实实 验验实验实验9-1 用状态机实现序列检测器的设计用状态机实现序列检测器的设计(3)实验内容)

36、实验内容1: 仔仔细细完完成成习习题题7-37-3的的全全部部内内容容,利利用用MAX+plusIIMAX+plusII对对例例7-117-11进进行行文文本本编编辑辑输输入入、仿仿真真测测试试并并给给出出仿仿真真波波形形,了了解解控控制制信号的时序,最后进行引脚锁定并完成硬件测试实验。信号的时序,最后进行引脚锁定并完成硬件测试实验。 建议用键建议用键7 7(PIO11PIO11)控制复位信号控制复位信号CLRCLR;键键6 6(PIO9PIO9)控制状态控制状态机工作时钟机工作时钟CLKCLK;待检测串行序列数输入待检测串行序列数输入DINDIN接接PIO10PIO10(左移,最高左移,最高

37、位在前);指示输出位在前);指示输出ABAB接接PIO39PIO39PIO36PIO36(显示于数码管显示于数码管6 6)。下载)。下载后:后:按实验板按实验板“系统复位系统复位”键;键;用键用键2 2和键和键1 1输入输入2 2位十六进制位十六进制待测序列数待测序列数“11100101”“11100101”;按键按键7 7复位(平时数码复位(平时数码6 6指示显指示显“B”B”););4 4、按键按键6(6(CLK) 8CLK) 8次,这时若串行输入的次,这时若串行输入的8 8位二进制序列位二进制序列码(显示于数码码(显示于数码2/12/1和发光管和发光管D8D8D0D0)与预置码与预置码“

38、11100101”“11100101”相同,相同,则数码则数码6 6应从原来的应从原来的B B变成变成A A ,表示序列检测正确,否则仍为表示序列检测正确,否则仍为B B。56S S S Sy师院科技师院科技实实 验验实验实验9-1 用状态机实现序列检测器的设计用状态机实现序列检测器的设计(4)实验内容)实验内容2: 根根据据习习题题7-37-3中中的的习习题题要要求求3 3,提提出出的的设设计计方方案案重重复复以以上上实实验验内内容容(将将8 8位位待待检检测测预预置置数数由由键键4/4/键键3 3作作为为外外部部输输入入,从从而而可可随随时时改改变变检检测密码)。测密码)。(5)实验思考题

39、:)实验思考题: 如如果果待待检检测测预预置置数数必必须须以以右右移移方方式式进进入入序序列列检检测测器器,写写出出该该检检测测器器的的VHDLVHDL代代码码(两两进进程程符符号号化化有有限限状状态态机机),并并提提出出测测试试该该序序列列检检测测器器的的实实验验方案。方案。(6 6)实验报告:)实验报告: 根根据据以以上上的的实实验验内内容容写写出出实实验验报报告告,包包括括设设计计原原理理、程程序序设设计计、程程序序分分析析、仿仿真真分分析析、硬硬件件测测试试和详细实验过程。和详细实验过程。57S S S Sy师院科技师院科技实实 验验实验实验9-2 用状态机对用状态机对ADC0809的

40、采样控制电路实现的采样控制电路实现(1)实实验验目目的的:学学习习用用状状态态机机对对A/DA/D转转换换器器ADC0809ADC0809的的采采样样控控制电路的实现。制电路的实现。(2 2)实实验验原原理理:ADC0809ADC0809的的采采样样控控制制原原理理已已在在习习题题7-67-6中中作作了了详细说明。详细说明。(3 3)实实验验内内容容:利利用用MAX+plusIIMAX+plusII对对例例7-127-12进进行行文文本本编编辑辑输输入入和和仿仿真真测测试试;给给出出仿仿真真波波形形。最最后后进进行行引引脚脚锁锁定定并并进进行行测测试试,硬件验证例硬件验证例7-127-12电路

41、对电路对ADC0809ADC0809的控制功能。的控制功能。58S S S Sy师院科技师院科技实实 验验实验实验9-2 用状态机对用状态机对ADC0809的采样控制电路实现的采样控制电路实现测测试试步步骤骤:根根据据附附图图1-121-12,建建议议引引脚脚锁锁定定为为:STARTSTART接接PIO34PIO34,OEOE接接 PIO35PIO35, EOCEOC接接 PIO8PIO8, ALEALE接接 PIO33PIO33, 状状 态态 机机 时时 钟钟 CLKCLK接接clock0clock0( PIN2PIN2, 可可 选选 “65536“65536Hz”Hz”或或 更更 高高 )

42、 , ADDAADDA接接PIO32PIO32(ADDBADDB和和ADDCADDC都都接接GNDGND),ADC0809ADC0809的的8 8位位输输出出数数据据线线接接PIO23PIO23PIO16PIO16,锁锁存存输输出出Q Q显显示示于于数数码码8/8/数数码码7 7(PIO47PIO47PIO40PIO40),), 设设目目标标器器件件是是EPF10K10EPF10K10,建建议议选选择择实实验验电电路路结结构构图图NO.5NO.5(即即结结构构图图NO.5ANO.5A,附附图图1-121-12,由由该该图图可可见见,ADC0809ADC0809的的转转换换时时钟钟CLKCLK已

43、已经经事事先先接接有有750750KHzKHz的的频频率率),将将实实验验系系统统左左下下角角选选择择插插针针处处的的“转转换换结结束束”和和“A/DA/D使使能能”用用跳跳线线幅幅短短接接。下下载载目目标标文文件件后后,可可用用螺螺丝丝刀刀旋旋转转实实验验系系统统左左下下角角的的电电位位器器,以以便便为为ADC0809ADC0809提提供供变变化化的的待待测测模模拟拟信信号号,这这时时数数码码管管8 8和和7 7将将显显示示ADC0809ADC0809采样输出并被锁存的数字值(采样输出并被锁存的数字值(1616进制)。进制)。59S S S Sy师院科技师院科技实验板中实验板中ADC0809

44、电路原理图,注意电路原理图,注意与目标器件的连接与目标器件的连接方法方法60S S S Sy师院科技师院科技选择实验电路选择实验电路模式模式5!61S S S Sy师院科技师院科技根据此表锁根据此表锁定引脚定引脚62S S S Sy师院科技师院科技ADC08090809将将0-5V输入输入模拟电压通过模拟电压通过FPGA中的状态机中的状态机转换输出为转换输出为16进进制数:制数:“9D”旋转此电位器旋转此电位器可改变可改变0809的的输出输出63S S S Sy师院科技师院科技注意转换输出注意转换输出已改变为:已改变为:7C64S S S Sy师院科技师院科技注意,此项实验必须将此注意,此项实

45、验必须将此2拨拨码向下拨,功能请参考使用码向下拨,功能请参考使用说明。实验结束后,将它们说明。实验结束后,将它们向上拨回原位向上拨回原位65S S S Sy师院科技师院科技实实 验验实验实验9-2 用状态机对用状态机对ADC0809的采样控制电路实现的采样控制电路实现(4 4)实实验验思思考考题题:在在不不改改变变原原代代码码功功能能的的条条件件下下将将例例7-127-12表表达成用状态码直接输出型的状态机。达成用状态码直接输出型的状态机。(5 5)实实验验报报告告:根根据据以以上上的的实实验验要要求求、实实验验内内容容和和实实验验思思考考题写出实验报告。题写出实验报告。66S S S Sy师

46、院科技师院科技实实 验验实验实验9-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计(1 1)实实验验目目的的:掌掌握握LPMLPM模模块块VHDLVHDL元元件件定定制制、调调用用和和使使用用方方法法;熟熟悉悉含含有有LPMLPM模模块块的的VHDLVHDL电电路路描描述述程程序序的的设设计计、编编译译和和硬硬件件实实验验流流程程;了了解解HDLHDL文文本本描描述与原理图混合设计方法(注,本实验应在完成第述与原理图混合设计方法(注,本实验应在完成第8 8章的学习后进行)。章的学习后进行)。(2 2)实实验验原原理理:在在第第8 8、1010小小节节中中,对对含含有

47、有FIFOFIFO的的A/DA/D采采样样控控制制电电路路系系统统AD_FIFOAD_FIFO的的工工作作原原理理作作了了详详细细的的说说明明,并并给给出出了了它它的的原原理理图图(图图8-38-3)及及其其VHDLVHDL程序,(例程序,(例8-258-25)。)。(3 3)实实验验内内容容1 1:根根据据第第8 8章章第第1010节节的的电电路路原原理理描描述述和和设设计计流流程程,A/DA/D采采样样控控制制电电路路AD_FIFOAD_FIFO进进行行系系统统设设计计和和仿仿真真测测试试,给给出出例例8-258-25详详细细的的采采样样/ /读读数数仿仿真真波波形形。这这里里假假设设在在

48、采采样样周周期期中中完完成成了了1010个个点点的的采采样样操操作作,并并已已将将所所有有数数据据写写入入FIFOFIFO中中,而而在在读读数数周周期期中中按按FIFOFIFO的的读读写写时时序序规规律律将将所所有有写写入入的的数数据据随随着着RD_ENRD_EN时钟的输入,由时钟的输入,由Q7.0Q7.0输出。分析它们的时序关系。输出。分析它们的时序关系。67S S S Sy师院科技师院科技实实 验验实验实验9-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计(4 4)实实验验内内容容2 2:硬硬件件实实验验测测试试按按照照本本章章实实验验2 2给给出出的的实实验验

49、板板设设置置方方法法进进行行。适适当当控控制制状状态态机机工工作作时时钟钟CLKCLK的的频频率率,08090809的的模模拟拟信信号号输输入入仍仍然然使使用用电电位位器器输输出出,其其间间,使使一一次次采采样样周周期期中中的的采采样样点点数数不不超超过过512512个个,然然后后通通过键控进入过键控进入FIFOFIFO读数周期,使数码管显示在采样过程中写入的数据。读数周期,使数码管显示在采样过程中写入的数据。(5 5)实实验验内内容容3 3:使使用用HDLHDL文文本本描描述述与与原原理理图图混混合合设设计计方方法法设设计计AD_FIFOAD_FIFO。首首先先利利用用MAX+plusIIM

50、AX+plusII文文本本编编辑辑器器打打开开文文件件ADCINTADCINT:例例7-127-12。如如图图7-167-16所所示示,选选择择FileFile下下拉拉菜菜单单中中的的Create Create Default Default SymbolSymbol(生生成成默默认认元元件件符符号号)选选项项,如如果果原原文文件件没没有有错错误误,即即出出现现如如图图7-177-17所所示示界界面面,表表示示ADCINTADCINT元元件件成成功功生生成成,然然后后打打开开图图形形编编辑辑器器,分分别别从从元元件件库库中中调调入入元元件件lpm_fifolpm_fifo、notnot反反相相

51、器器、多多路路选选择择器器2121muxmux和和生生成成的的元元件件ADCINTADCINT。最最后后连连接接成成如如图图8-38-3的的原原理图,此后的处理方式与第理图,此后的处理方式与第4 4章中介绍的方法和流程完全一致。章中介绍的方法和流程完全一致。68S S S Sy师院科技师院科技实实 验验实验实验9-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计图图9-16 选项使当前文件成为一个原理图元件入库选项使当前文件成为一个原理图元件入库69S S S Sy师院科技师院科技实实 验验实验实验9-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制

52、电路设计图图9-17 ADCINT元件成功生成元件成功生成70S S S Sy师院科技师院科技实实 验验实验实验9-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计(6 6)实实验验内内容容4 4:在在原原设设计计的的基基础础上上插插入入一一个个写写入入数数排排序序计计数数器器,以以便便在在读读出出时时可可以以显显示示任任一一数数据据的的写写入入序序号号。此此外外利利用用FIFOFIFO写写数数溢溢出出信信号号FULLFULL作作为为一一个个控控制制信信号号,当当写写入入的的数数据据大大于于512512时时,禁禁止止写写入入,即即禁禁止止CLKCLK信信号号。完完善善

53、例例8-258-25,给给出出含含有有本本实实验验要要求求的的完完整整VHDLVHDL程程序序以以及及该该程程序序的的工工作作波波形形,然然后后进进行硬件实验。行硬件实验。(7 7)附附加加实实验验内内容容:用用第第8 8、1010节节中中用用lpm_ram_dqlpm_ram_dq模模块块定定制制的的RAM1RAM1取取代代例例8-8-2525中中的的FIFO2FIFO2,给给出出相相应应的的VHDLVHDL设设计计。为为了了缩缩短短数数据据写写入入时时间间,应应该该设设计计两两个个有限状态机,让它们分别完成有限状态机,让它们分别完成A/DA/D的采样和的采样和RAMRAM的数据读写。的数据读写。(8 8)实实验验思思考考题题:假假如如不不考考虑虑ADC0809ADC0809和和目目标标器器件件的的速速度度限限制制,设设图图8-38-3中中CLKCLK的频率是的频率是5050MHzMHz,问此时问此时ADC0809ADC0809的采样速率是多少(每秒采样点数)?的采样速率是多少(每秒采样点数)?(9 9)实验报告:)实验报告:根据以上的要求完成实验报告。根据以上的要求完成实验报告。71

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 销售管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号