第七章_状态机设计_第1页
第七章_状态机设计_第2页
第七章_状态机设计_第3页
第七章_状态机设计_第4页
第七章_状态机设计_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDAEDA技术技术实用教程实用教程 VHDL综合器易于优化 易构成性能良好的时序逻辑模块 结构模式简单、层次分明、易读易懂、易排错 运行模式类似于CPU,易于进行顺序控制 利用同步时序和全局时钟线可实现高速FSM 高可靠性,非法状态易控制 ADC采样控制器设计采样控制器设计1.1.单片机控制单片机控制ADAD转换转换程序流程图程序流程图2.FPGA2.FPGA控制控制ADAD转换转换状态转换图状态转换图1.1.状态机状态机 将数字系统工作过程分为若干阶段或模式;将数字系统工作过程分为若干阶段或模式;每个阶段或模式看作一个状态;每个阶段或模式看作一个状态;通过状态的切换完成系统工作。通过状态的

2、切换完成系统工作。7.1 状态机的一般形式状态机的一般形式2 状态机特点状态机特点7.1 一般有限状态机的设计一般有限状态机的设计 有限状态机克服了纯硬件数字系统顺序有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。方式控制不灵活的缺点。 状态机的结构模式相对简单。状态机的结构模式相对简单。 状态机容易构成性能良好的同步时序状态机容易构成性能良好的同步时序逻辑模块。逻辑模块。2 状态机特点状态机特点7.1 一般有限状态机的设计一般有限状态机的设计 状态机的状态机的VHDLVHDL表述丰富多样表述丰富多样。 在高速运算和控制方面,状态机更有在高速运算和控制方面,状态机更有其巨大的优势。其巨

3、大的优势。 就可靠性而言,状态机的优势也是十就可靠性而言,状态机的优势也是十分明显的。分明显的。7.1.2 一般有限状态机的结构一般有限状态机的结构1. 1. 说明部分说明部分TAPE 语句定义新数据类型语句定义新数据类型定义状态变量定义状态变量信号信号 状态机结构状态机结构7.1.2 一般有限状态机的结构一般有限状态机的结构ARCHITECTURE .IS TYPE FSM_ST IS (s0,s1,s2,s3); SIGNAL current_state, next_state: FSM_ST; . 用户自定义数据类型定义语句用户自定义数据类型定义语句1.1.标准数据类型标准数据类型-VH

4、DL VHDL 库中已有库中已有例:例:STD_LOGIC,STD_LOGIC,整数型整数型2.2.自定义数据类型自定义数据类型: 例:枚举型,整数型,数组型例:枚举型,整数型,数组型用户自定义数据类型定义语句用户自定义数据类型定义语句TYPETYPE语句用法语句用法如下:如下:TYPE TYPE 数据类型名数据类型名 IS IS 数据类型定义数据类型定义 OF OF 基本数据类型基本数据类型 ; ;或或TYPE TYPE 数据类型名数据类型名 IS IS 数据类型定义数据类型定义 ; ;以下列出了两种不同的定义方式:以下列出了两种不同的定义方式:TYPE st1 IS ARRAY ( 0 T

5、O 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) ;用户自定义数据类型定义语句用户自定义数据类型定义语句TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ); SIGNAL present_state,next_state : m_state ;布尔数据类型的定义语句是:布尔数据类型的定义语句是: TYPE BOOLEAN

6、 IS TYPE BOOLEAN IS (FALSEFALSE,TRUETRUE) ;TYPE my_logic IS ( 1 TYPE my_logic IS ( 1 ,Z Z ,U U ,0 ) ;0 ) ; SIGNAL s1 : my_logic ; SIGNAL s1 : my_logic ; s1 = Z ; s1 = Z ; 用户自定义数据类型定义语句用户自定义数据类型定义语句子类型子类型SUBTYPE的语句格式如下:的语句格式如下:SUBTYPE SUBTYPE 子类型名子类型名 IS IS 基本数据类型基本数据类型 RANGE RANGE 约束约束范围范围; ; SUBTYP

7、E digits IS INTEGER RANGE 0 to 9 ;SUBTYPE digits IS INTEGER RANGE 0 to 9 ;7.1.2 一般有限状态机的结构一般有限状态机的结构2.2.主控时序进程主控时序进程状态机运转和状态转换状态机运转和状态转换现态(现态(当前状态当前状态)与次态()与次态(下一状态下一状态)的转换)的转换设置全局控制信号设置全局控制信号清零或置位清零或置位7.1.2 一般有限状态机的结构一般有限状态机的结构3.3.主控组合进程主控组合进程状态译码状态译码 确定下一个状态取向确定下一个状态取向确定输出确定输出 3. 3. 主控组合进程主控组合进程 控

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

9、态机的结构4.4.辅助进程辅助进程配合状态机工作配合状态机工作 com b_outputsstate_inputsresetclkFSM : s_m achineCOMnext_statecurrent_statePROCESSREGPROCESS图图7-1 一般状态机结构框图工作示意图一般状态机结构框图工作示意图7.1.2 一般有限状态机的结构一般有限状态机的结构【例7-1】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS PORT ( clk,reset : IN STD_LOGIC; state_inputs : I

10、N 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 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 c

11、urrent_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_state 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;

12、ELSE next_state = s0; END IF; END case; END PROCESS; END behv;接上页接上页图图7-2 例例7-1状态机的工作时序图状态机的工作时序图7.1.2 一般有限状态机的结构一般有限状态机的结构7.1.3 状态机设计初始控制与表述状态机设计初始控制与表述 (1)打开)打开“状态机萃取状态机萃取”开关开关 (2)状态图观察)状态图观察 7.2 Moore7.2 Moore型有限状态机的设计型有限状态机的设计 7.2.1 ADC采样控制设计及多进程结构状态机采样控制设计及多进程结构状态机 7.2 Moore7.2 Moore型有限状态机的设计型有

13、限状态机的设计 7.2.1 ADC采样控制设计及多进程结构状态机采样控制设计及多进程结构状态机 7.2 Moore7.2 Moore型有限状态机的设计型有限状态机的设计 7.2.1 ADC采样控制设计及多进程结构状态机采样控制设计及多进程结构状态机 【例【例7-2】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ADC0809 IS PORT ( D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK , RST : IN STD_LOGIC; EOC : IN STD_LOGIC; ALE, START, OE, AD

14、DA, LOCK_T : OUT STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END ADC0809;ARCHITECTURE behav OF ADC0809 IS TYPE states IS (st0, st1, st2, st3,st4) ; -定义各状态子类型定义各状态子类型 SIGNAL current_state, next_state: states :=st0 ; SIGNAL REGL: STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK: STD_LOGIC; BEGIN ADDA =

15、 0; LOCK_T = LOCK; 7.2.1 ADC采样控制设计及多进程结构状态机采样控制设计及多进程结构状态机 REG: PROCESS (CLK,RST) - 时序进程时序进程 BEGIN IF RST=1 THEN current_state = st0; ELSIF CLKEVENT AND CLK=1 THEN current_state ALE=0;START=0;OE=0;LOCK=0; next_state ALE=1;START=1;OE=0;LOCK=0; - 启动采样信号启动采样信号STAR next_state ALE=0;START=0;OE=0;LOCK=0;

16、IF (EOC=1) THEN next_state = st3; -EOC=0表明转换结束表明转换结束 ELSE next_state ALE=0;START=1;OE=1;LOCK=0; -开启开启OE next_state ALE=0;START=0;OE=1;LOCK=1; -开启数据锁存信号开启数据锁存信号 next_state ALE=0;START=0;OE=0;LOCK=0; next_state = st0; END CASE ; END PROCESS COM ; 接下页接下页接上页接上页 LATCH1 : PROCESS (LOCK) - 数据锁存器进程(辅助)数据锁存器

17、进程(辅助) BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL = D ; END IF; END PROCESS ; Q = REGL;END behav;接上页接上页状态机工作时序图7.2.1 三进程有限状态机三进程有限状态机多进程状态机结构框图多进程状态机结构框图【例【例7-2】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;-状态机时钟状态机时钟CL

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

19、; 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 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

20、=1;LOCKCS=1; A0=1;RC=1;LOCK=0;-其它情况返回初始态其它情况返回初始态 接下页接下页接上页接上页END CASE ; END PROCESS COM2 ; REG: PROCESS (CLK) - 时序进程时序进程 BEGIN IF ( CLKEVENT AND CLK=1) THEN current_state = next_state; END IF; END PROCESS REG; LATCH1 : PROCESS (LOCK) - 数据锁存器进程数据锁存器进程 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL = D ; EN

21、D IF; END PROCESS ; Q = REGL; END behav;接上页接上页7.2.1 三进程有限状态机三进程有限状态机图图7-6 AD574采样状态机工作时序采样状态机工作时序状态机RTL电路图7.2.2 单进程单进程Moore型有限状态机型有限状态机7.2.2 单进程单进程Moore型有限状态机型有限状态机【例【例7-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;

22、 Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END 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 ; EL

23、SE C_ST = ST1 ;END IF; 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;接上页接上页图图7-7 例例7-4状态机综合后的状态机综合后的RTL电路模块图电路模块图7.

24、2.2 单进程单进程Moore型有限状态机型有限状态机7.2.2 单进程单进程Moore型有限状态机型有限状态机图图7-8 例例7-4单进程状态机工作时序单进程状态机工作时序7.2.2 单进程单进程Moore型有限状态机型有限状态机图图7-9 对应于例对应于例7-4的的2进程状态机工作时序图进程状态机工作时序图7.3 Mealy型有限状态机的设计型有限状态机的设计【例【例7-5】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY1 ISPORT ( CLK ,DATAIN,RESET : IN STD_LOGIC; Q : OUT S

25、TD_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 = 1 THEN STX IF DATAIN = 0 TH

26、EN 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;接上页接上页图图7-10 例例7-5状态机工作时序图状态

27、机工作时序图【例【例7-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); SIGNAL STX : states ; SIGNAL Q1 : STD_LOGIC_VEC

28、TOR(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 ; ELSE Q2 := 01010 ; END IF ; WHEN st1 = IF DATAIN =

29、 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 ; END CASE ; 接下页接下页I

30、F CLKEVENT AND CLK = 1 THEN Q1=Q2; END IF; END PROCESS COM1 ; Q next_state next_state next_state = st0; END case;【例【例7-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

31、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) ;状态机直接数字频率合成直接数字频率合成 DDS实实 验验(1)实验目的:)实验目的: 用状态机实现序用状态机实现序列检测器的设计,列检测器的设计,并对其进行仿真和并对其进行仿真和硬件测试。硬件测试。实验实验7-1 用状态机实现序列检测器的设计用状态机实现序列检测器的设计(2)实验原理:实验原理: 序列检测器的序列检测器的工作原理已在工作原理已在习题习题7-37-3中作了中作了说明。说明。

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

33、LK;待检测串行序列数输入待检测串行序列数输入DINDIN接接PIO10PIO10(左移,最左移,最高位在前);指示输出高位在前);指示输出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位二进制序

34、列位二进制序列码(显示于数码码(显示于数码2/12/1和发光管和发光管D8D8D0D0)与预置码与预置码“11100101”“11100101”相同相同,则数码,则数码6 6应从原来的应从原来的B B变成变成A A ,表示序列检测正确,否则仍为表示序列检测正确,否则仍为B B。实实 验验实验实验7-1 用状态机实现序列检测器的设计用状态机实现序列检测器的设计(4)实验内容)实验内容2: 根据习题根据习题7-37-3中中的习题要求的习题要求3 3,提,提出的设计方案重出的设计方案重复以上实验内容复以上实验内容(将(将8 8位待检测预位待检测预置数由键置数由键4/4/键键3 3作作为外部输入,从为

35、外部输入,从而可随时改变检而可随时改变检测密码)。测密码)。(5)实验思考题:)实验思考题: 如果待检测预如果待检测预置数必须以右移置数必须以右移方式进入序列检方式进入序列检测器,写出该检测器,写出该检测器的测器的VHDLVHDL代码代码(两进程符号化(两进程符号化有限状态机),有限状态机),并提出测试该序并提出测试该序列检测器的实验列检测器的实验方案。方案。(6 6)实验报告:)实验报告: 根据以上的实根据以上的实验内容写出实验验内容写出实验报告,包括设计报告,包括设计原理、程序设计原理、程序设计、程序分析、仿、程序分析、仿真分析、硬件测真分析、硬件测试和详细实验过试和详细实验过程。程。实实

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

37、波形。最后进行引脚锁定并进行测试,硬件验证例,硬件验证例7-127-12电路对电路对ADC0809ADC0809的控制功能。的控制功能。实实 验验实验实验7-2 用状态机对用状态机对ADC0809的采样控制电路实现的采样控制电路实现测试步骤:测试步骤:根据附图根据附图1-121-12,建议引脚锁定为:,建议引脚锁定为:STARTSTART接接PIO34PIO34,OEOE接接PIO35PIO35,EOCEOC接接PIO8PIO8,ALEALE接接PIO33PIO33,状态机时钟状态机时钟CLKCLK接接clock0clock0(PIN2PIN2,可选可选“65536“65536Hz”Hz”或更

38、高),或更高),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的转换时钟的转换时

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

40、图,注意电路原理图,注意与目标器件的连接与目标器件的连接方法方法选择实验电路选择实验电路模式模式5!根据此表锁根据此表锁定引脚定引脚ADC08090809将将0-5V输入输入模拟电压通过模拟电压通过FPGA中的状态机中的状态机转换输出为转换输出为16进进制数:制数:“9D”旋转此电位器旋转此电位器可改变可改变0809的的输出输出注意转换输出注意转换输出已改变为:已改变为:7C注意,此项实验必须将此注意,此项实验必须将此2拨拨码向下拨,功能请参考使用码向下拨,功能请参考使用说明。实验结束后,将它们说明。实验结束后,将它们向上拨回原位向上拨回原位实实 验验实验实验7-2 用状态机对用状态机对ADC

41、0809的采样控制电路实现的采样控制电路实现(4 4)实验思考题:)实验思考题:在不改变原代码功能的条件下将例在不改变原代码功能的条件下将例7-127-12表表达成用状态码直接输出型的状态机。达成用状态码直接输出型的状态机。(5 5)实验报告:)实验报告:根据以上的实验要求、实验内容和实验思考根据以上的实验要求、实验内容和实验思考题写出实验报告。题写出实验报告。实实 验验实验实验7-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计(1 1)实验目的:)实验目的:掌握掌握LPMLPM模块模块VHDLVHDL元件定制、调用和使用方法;熟悉含有元件定制、调用和使用方法;熟悉

42、含有LPMLPM模块的模块的VHDLVHDL电路描述程序的设计、编译和硬件实验流程;了解电路描述程序的设计、编译和硬件实验流程;了解HDLHDL文本文本描述与原理图混合设计方法(注,本实验应在完成第描述与原理图混合设计方法(注,本实验应在完成第8 8章的学习后进行)。章的学习后进行)。(2 2)实验原理:)实验原理:在第在第8 8、1010小节中,对含有小节中,对含有FIFOFIFO的的A/DA/D采样控制电路系统采样控制电路系统AD_FIFOAD_FIFO的工作原理作了详细的说明,并给出了它的原理图(图的工作原理作了详细的说明,并给出了它的原理图(图8-38-3)及其)及其VHDLVHDL程

43、序,(例程序,(例8-258-25)。)。(3 3)实验内容)实验内容1 1:根据第根据第8 8章第章第1010节的电路原理描述和设计流程,节的电路原理描述和设计流程,A/DA/D采样采样控制电路控制电路AD_FIFOAD_FIFO进行系统设计和仿真测试,给出例进行系统设计和仿真测试,给出例8-258-25详细的采样详细的采样/ /读数读数仿真波形。这里假设在采样周期中完成了仿真波形。这里假设在采样周期中完成了1010个点的采样操作,并已将所有数个点的采样操作,并已将所有数据写入据写入FIFOFIFO中,而在读数周期中按中,而在读数周期中按FIFOFIFO的读写时序规律将所有写入的数据的读写时

44、序规律将所有写入的数据随着随着RD_ENRD_EN时钟的输入,由时钟的输入,由Q7.0Q7.0输出。分析它们的时序关系。输出。分析它们的时序关系。实实 验验实验实验7-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计(4 4)实验内容)实验内容2 2:硬件实验测试按照本章实验硬件实验测试按照本章实验2 2给出的实验板设置方法进给出的实验板设置方法进行。适当控制状态机工作时钟行。适当控制状态机工作时钟CLKCLK的频率,的频率,08090809的模拟信号输入仍然使用的模拟信号输入仍然使用电位器输出,其间,使一次采样周期中的采样点数不超过电位器输出,其间,使一次采样周期中的采样点数不超过512512个,然后通个,然后通过键控进入过键控进入FIFOFIFO读数周期,使数码管显示在采样过程中写入的数据。读数周期,使数码管显示在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论