第9章有限状态机设计

上传人:痛*** 文档编号:129241657 上传时间:2022-08-02 格式:PPT 页数:73 大小:5.70MB
收藏 版权申诉 举报 下载
第9章有限状态机设计_第1页
第1页 / 共73页
第9章有限状态机设计_第2页
第2页 / 共73页
第9章有限状态机设计_第3页
第3页 / 共73页
资源描述:

《第9章有限状态机设计》由会员分享,可在线阅读,更多相关《第9章有限状态机设计(73页珍藏版)》请在装配图网上搜索。

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

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

3、师院科技2021/6/46简化后状态表:简化后状态表:现态次态/输出输入01S0S0/0S1/0S1S0/0S2/0S2S0/0S3/0S3S4/0S3/0S4S5/0S1/0S5S0/0S6/0S6S0/1S2/0y师院科技师院科技2021/6/47简化后状态图简化后状态图y师院科技师院科技2021/6/48程序代码:程序代码: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);END CHK2;ARCHIT

4、ECTURE 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 THENstate=S4;ELSE STATE FD=0;IF S_

5、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;y师院科技师院科技2021/6/4109.1 一般有限状态机的设计一般有限状态机的设计9.1.1 用户自定义数据类型定义语句用户自定义数据类型定义语句TYPETYPE语句用法如下:语句用法如下:TYPE TYPE 数据类型名数据类型名 IS IS 数据类型定义数据类型定义 OF OF 基本数据类型

6、基本数据类型;或或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);y师院科技师院科技2021/6/4119.1 一般有限状态机的设计一般有限状态机的设计9.1.1 用户自定义数据类型定义语句用户自

7、定义数据类型定义语句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);SIGNAL s1:my_logic;SIGNAL s1:my_logic;s1=Z;s1=Z;y师院科技师院科技2021/6/4129.1 一般

8、有限状态机的设计一般有限状态机的设计9.1.1 用户自定义数据类型定义语句用户自定义数据类型定义语句子类型子类型SUBTYPE的语句格式如下:的语句格式如下:SUBTYPE SUBTYPE 子类型名子类型名 IS IS 基本数据类型基本数据类型 RANGE RANGE 约束范围约束范围;SUBTYPE digits IS INTEGER RANGE 0 to 9;SUBTYPE digits IS INTEGER RANGE 0 to 9;y师院科技师院科技2021/6/4139.1.2 为什么要使用状态机为什么要使用状态机9.1 一般有限状态机的设计一般有限状态机的设计 有限状态机克服了纯硬

9、件数字系统顺序方式控制不灵活有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。的缺点。状态机的结构模式相对简单状态机的结构模式相对简单。状态机容易构成性能良好的同步时序逻辑模块状态机容易构成性能良好的同步时序逻辑模块。状态机的状态机的VHDLVHDL表述丰富多样表述丰富多样。在高速运算和控制方面,状态机更有其巨大的优势在高速运算和控制方面,状态机更有其巨大的优势。就可靠性而言,状态机的优势也是十分明显的就可靠性而言,状态机的优势也是十分明显的。y师院科技师院科技2021/6/4149.1.3 一般有限状态机的设计一般有限状态机的设计9.1 一般有限状态机的设计一般有限状态机的设计1.1.

10、说明部分说明部分2.2.主控时序进程主控时序进程com b_outputsstate_inputsresetclkF S M:s_m achineC O Mnext_statecurrent_stateP R O C E S SR E GP R O C E S S图图9-1 一般状态机结构框图工作示意图一般状态机结构框图工作示意图ARCHITECTURE.IS TYPE FSM_ST IS(s0,s1,s2,s3);SIGNAL current_state,next_state:FSM_ST;.y师院科技师院科技2021/6/4153.3.主控组合进程主控组合进程9.1.3 一般有限状态机的设

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

12、科技2021/6/4164.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 current_state,ne

13、xt_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_state comb_outputs=12;IF state_inputs=11

14、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;接上页接上页y师院科技师院科技2021/6/418图图9-2 例例9-1状态机的工作时序图状态机的工作时序图9.1.3 一般有限状态机的设计一般有限状态机的设计4.4.辅助进程辅助进程y师院科技师院科技2021/6/419y师院科技师院科技2021/6/420 VHDL综合器易于优化 易构成性能良好的时序逻辑

15、模块 结构模式简单、层次分明、易读易懂、易排错 运行模式类似于CPU,易于进行顺序控制 利用同步时序和全局时钟线可实现高速FSM 高可靠性,非法状态易控制 y师院科技师院科技2021/6/4219.2 Moore型有限状态机的设计型有限状态机的设计9.2.1 三进程有限状态机三进程有限状态机CECS RC K12/8 A0工 作 状 态0XXXX禁止X1XXX禁止100X0启动12位转换100X1启动8位转换1011X12位并行输出有效10100高8位并行输出有效10101低4位加上尾随4个0有效表表9-1 AD574逻辑控制真值表(逻辑控制真值表(X表示任意)表示任意)y师院科技师院科技20

16、21/6/4229.2.1 三进程有限状态机三进程有限状态机图图9-3 AD574工作时序工作时序 y师院科技师院科技2021/6/4239.2.1 三进程有限状态机三进程有限状态机图图9-4 AD574工作时序工作时序y师院科技师院科技2021/6/4249.2.1 三进程有限状态机三进程有限状态机图图9-5 采样状态机结构框图采样状态机结构框图y师院科技师院科技2021/6/425【例【例9-2】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD574 IS PORT(D:IN STD_LOGIC_VECTOR(11 DOWNTO 0);C

17、LK,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 AD574 ISTYPE states IS(st0,st1,st2,st3,st4);SIGNAL current_state,ne

18、xt_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 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

19、=1;LOCKCS=1;A0=1;RC=1;LOCK=0;-其它情况返回初始态其它情况返回初始态 接下页接下页接上页接上页y师院科技师院科技2021/6/427END 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;END IF;EN

20、D 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;LOCK 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;nex

21、t_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;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)

22、BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL=D;END IF;END PROCESS;Q=REGL;END behav;K12X8=1;状态机状态机VHDL源程序源程序y师院科技师院科技2021/6/432状态机RTL电路图y师院科技师院科技2021/6/433状态机工作时序图状态状态2:等待:等待y师院科技师院科技2021/6/4349.2.2 单进程单进程Moore型有限状态机型有限状态机【例【例9-4】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MOORE1 IS PORT(DATAIN :IN ST

23、D_LOGIC_VECTOR(1 DOWNTO 0);CLK,RST:IN STD_LOGIC;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 T

24、HEN C_ST=ST2;ELSE 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;接上页接上页y师院科技师院科技2021/6/436图图9-7 例例9-4状态机综合后的状态机综合后的RTL电路模块图电路模块图9.2.

25、2 单进程单进程Moore型有限状态机型有限状态机y师院科技师院科技2021/6/4379.2.2 单进程单进程Moore型有限状态机型有限状态机图图9-8 例例9-4单进程状态机工作时序单进程状态机工作时序y师院科技师院科技2021/6/4389.2.2 单进程单进程Moore型有限状态机型有限状态机图图9-9 对应于例对应于例9-4的的2进程状态机工作时序图进程状态机工作时序图y师院科技师院科技2021/6/4399.3 Mealy型有限状态机的设计型有限状态机的设计【例【例9-5】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY1

26、 ISPORT(CLK,DATAIN,RESET :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=

27、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 behav;接上页接上页图图9-10 例例9-5状态机工作时序图状态机工作时序图y师院科技

28、师院科技2021/6/442【例【例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);SIGNAL STX:states ;SIGNAL Q1:STD_LOGIC_VECTOR(4 DOWNT

29、O 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=0 THEN Q2:=10111;ELSE Q2:=10100;END IF;WH

30、EN 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;接下页接下页y师院科技师院科技2021/6/444IF CLKEVENT AND CLK=1 THEN Q1=Q2;END IF;END PROCESS COM1;Q next_state ne

31、xt_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 PROCESS 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)-数据锁

32、存器进程数据锁存器进程 BEGIN IF LK=1 AND LKEVENT THEN REGL=D;接下页接下页y师院科技师院科技2021/6/448END IF;END PROCESS;Q next_state=st0;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 st

33、4 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);y师院科技师院科技2021/6/453状态机y师院科技师院科技2021/6/454y师院科技师院科技2021/6/455实实 验验(1)实验目的:)实验目的:用状态机实现序用状态机实现序列检测器的设计,列检测器的设计,并对其进行仿真和并对其进行仿真和硬件测试。硬件测试。实验实验9-1 用状态机实现序列检测器的设计用状态机实现序列检测器的设计(2)实验原理:实验原理:序列检测器的序列检测器的工作原理已在

34、工作原理已在习题习题7-37-3中作了中作了说明。说明。y师院科技师院科技2021/6/456实实 验验实验实验9-1 用状态机实现序列检测器的设计用状态机实现序列检测器的设计(3)实验内容)实验内容1:仔细完成习题仔细完成习题7-37-3的全部内容,利用的全部内容,利用MAX+plusIIMAX+plusII对例对例7-117-11进行文本编辑输入、仿真测试并给出仿真波形,了解控制进行文本编辑输入、仿真测试并给出仿真波形,了解控制信号的时序,最后进行引脚锁定并完成硬件测试实验。信号的时序,最后进行引脚锁定并完成硬件测试实验。建议用键建议用键7 7(PIO11PIO11)控制复位信号控制复位信

35、号CLRCLR;键键6 6(PIO9PIO9)控制状控制状态机工作时钟态机工作时钟CLKCLK;待检测串行序列数输入待检测串行序列数输入DINDIN接接PIO10PIO10(左移,最左移,最高位在前);指示输出高位在前);指示输出ABAB接接PIO39PIO39PIO36PIO36(显示于数码管显示于数码管6 6)。下)。下载后:按实验板载后:按实验板“系统复位系统复位”键;用键键;用键2 2和键和键1 1输入输入2 2位十六进位十六进制待测序列数制待测序列数“1110010111100101”;按键;按键7 7复位(平时数码复位(平时数码6 6指示显指示显“B”B”););4 4、按键按键6

36、(6(CLK)8CLK)8次,这时若串行输入的次,这时若串行输入的8 8位二进制序列位二进制序列码(显示于数码码(显示于数码2/12/1和发光管和发光管D8D8D0D0)与预置码与预置码“1110010111100101”相同相同,则数码,则数码6 6应从原来的应从原来的B B变成变成A A,表示序列检测正确,否则仍为表示序列检测正确,否则仍为B B。y师院科技师院科技2021/6/457实实 验验实验实验9-1 用状态机实现序列检测器的设计用状态机实现序列检测器的设计(4)实验内容)实验内容2:根据习题根据习题7-37-3中中的习题要求的习题要求3 3,提,提出的设计方案重出的设计方案重复以

37、上实验内容复以上实验内容(将(将8 8位待检测预位待检测预置数由键置数由键4/4/键键3 3作作为外部输入,从为外部输入,从而可随时改变检而可随时改变检测密码)。测密码)。(5)实验思考题:)实验思考题:如果待检测预如果待检测预置数必须以右移置数必须以右移方式进入序列检方式进入序列检测器,写出该检测器,写出该检测器的测器的VHDLVHDL代码代码(两进程符号化(两进程符号化有限状态机),有限状态机),并提出测试该序并提出测试该序列检测器的实验列检测器的实验方案。方案。(6 6)实验报告:)实验报告:根据以上的实根据以上的实验内容写出实验验内容写出实验报告,包括设计报告,包括设计原理、程序设计原

38、理、程序设计、程序分析、仿、程序分析、仿真分析、硬件测真分析、硬件测试和详细实验过试和详细实验过程。程。y师院科技师院科技2021/6/458实实 验验实验实验9-2 用状态机对用状态机对ADC0809的采样控制电路实现的采样控制电路实现(1)实验目的:)实验目的:学习用状态机对学习用状态机对A/DA/D转换器转换器ADC0809ADC0809的采样控的采样控制电路的实现。制电路的实现。(2 2)实验原理:)实验原理:ADC0809ADC0809的采样控制原理已在习题的采样控制原理已在习题7-67-6中作了中作了详细说明。详细说明。(3 3)实验内容:)实验内容:利用利用MAX+plusIIM

39、AX+plusII对例对例7-127-12进行文本编辑输入进行文本编辑输入和仿真测试;给出仿真波形。最后进行引脚锁定并进行测试和仿真测试;给出仿真波形。最后进行引脚锁定并进行测试,硬件验证例,硬件验证例7-127-12电路对电路对ADC0809ADC0809的控制功能。的控制功能。y师院科技师院科技2021/6/459实实 验验实验实验9-2 用状态机对用状态机对ADC0809的采样控制电路实现的采样控制电路实现测试步骤:测试步骤:根据附图根据附图1-121-12,建议引脚锁定为:,建议引脚锁定为:STARTSTART接接PIO34PIO34,OEOE接接PIO35PIO35,EOCEOC接接

40、PIO8PIO8,ALEALE接接PIO33PIO33,状态机时钟状态机时钟CLKCLK接接clock0clock0(PIN2PIN2,可选可选“6553665536Hz”Hz”或更高),或更高),ADDAADDA接接PIO32PIO32(ADDBADDB和和ADDCADDC都接都接GNDGND),),ADC0809ADC0809的的8 8位输出数据线接位输出数据线接PIO23PIO23PIO16PIO16,锁存输出锁存输出Q Q显示于数码显示于数码8/8/数码数码7 7(PIO47PIO47PIO40PIO40),),设目标器件是设目标器件是EPF10K10EPF10K10,建议选择实验电路

41、结构图建议选择实验电路结构图NO.5NO.5(即即结构图结构图NO.5ANO.5A,附图附图1-121-12,由该图可见,由该图可见,ADC0809ADC0809的转换时钟的转换时钟CLKCLK已经事先接有已经事先接有750750KHzKHz的频率),将实验系统左下角选择插的频率),将实验系统左下角选择插针处的针处的“转换结束转换结束”和和“A/DA/D使能使能”用跳线幅短接。下载目标用跳线幅短接。下载目标文件后,可用螺丝刀旋转实验系统左下角的电位器,以便为文件后,可用螺丝刀旋转实验系统左下角的电位器,以便为ADC0809ADC0809提供变化的待测模拟信号,这时数码管提供变化的待测模拟信号,

42、这时数码管8 8和和7 7将显示将显示ADC0809ADC0809采样输出并被锁存的数字值(采样输出并被锁存的数字值(1616进制)。进制)。y师院科技师院科技2021/6/460实验板中实验板中ADC0809电路原理图,注意电路原理图,注意与目标器件的连接与目标器件的连接方法方法y师院科技师院科技2021/6/461选择实验电路选择实验电路模式模式5!y师院科技师院科技2021/6/462根据此表锁根据此表锁定引脚定引脚y师院科技师院科技2021/6/463ADC08090809将将0-5V输入输入模拟电压通过模拟电压通过FPGA中的状态机中的状态机转换输出为转换输出为16进进制数:制数:“

43、9D”旋转此电位器旋转此电位器可改变可改变0809的的输出输出y师院科技师院科技2021/6/464注意转换输出注意转换输出已改变为:已改变为:7Cy师院科技师院科技2021/6/465注意,此项实验必须将此注意,此项实验必须将此2拨拨码向下拨,功能请参考使用码向下拨,功能请参考使用说明。实验结束后,将它们说明。实验结束后,将它们向上拨回原位向上拨回原位y师院科技师院科技2021/6/466实实 验验实验实验9-2 用状态机对用状态机对ADC0809的采样控制电路实现的采样控制电路实现(4 4)实验思考题:)实验思考题:在不改变原代码功能的条件下将例在不改变原代码功能的条件下将例7-127-1

44、2表表达成用状态码直接输出型的状态机。达成用状态码直接输出型的状态机。(5 5)实验报告:)实验报告:根据以上的实验要求、实验内容和实验思考根据以上的实验要求、实验内容和实验思考题写出实验报告。题写出实验报告。y师院科技师院科技2021/6/467实实 验验实验实验9-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计(1 1)实验目的:)实验目的:掌握掌握LPMLPM模块模块VHDLVHDL元件定制、调用和使用方法;熟悉含有元件定制、调用和使用方法;熟悉含有LPMLPM模块的模块的VHDLVHDL电路描述程序的设计、编译和硬件实验流程;了解电路描述程序的设计、编译和硬

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

46、电路原理描述和设计流程,节的电路原理描述和设计流程,A/DA/D采样控采样控制电路制电路AD_FIFOAD_FIFO进行系统设计和仿真测试,给出例进行系统设计和仿真测试,给出例8-258-25详细的采样详细的采样/读数仿真读数仿真波形。这里假设在采样周期中完成了波形。这里假设在采样周期中完成了1010个点的采样操作,并已将所有数据写个点的采样操作,并已将所有数据写入入FIFOFIFO中,而在读数周期中按中,而在读数周期中按FIFOFIFO的读写时序规律将所有写入的数据随着的读写时序规律将所有写入的数据随着RD_ENRD_EN时钟的输入,由时钟的输入,由Q7.0Q7.0输出。分析它们的时序关系。

47、输出。分析它们的时序关系。y师院科技师院科技2021/6/468实实 验验实验实验9-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计(4 4)实验内容)实验内容2 2:硬件实验测试按照本章实验硬件实验测试按照本章实验2 2给出的实验板设置方法进给出的实验板设置方法进行。适当控制状态机工作时钟行。适当控制状态机工作时钟CLKCLK的频率,的频率,08090809的模拟信号输入仍然使用的模拟信号输入仍然使用电位器输出,其间,使一次采样周期中的采样点数不超过电位器输出,其间,使一次采样周期中的采样点数不超过512512个,然后通个,然后通过键控进入过键控进入FIFOFIF

48、O读数周期,使数码管显示在采样过程中写入的数据。读数周期,使数码管显示在采样过程中写入的数据。(5 5)实验内容)实验内容3 3:使用使用HDLHDL文本描述与原理图混合设计方法设计文本描述与原理图混合设计方法设计AD_FIFOAD_FIFO。首先利用首先利用MAX+plusIIMAX+plusII文本编辑器打开文件文本编辑器打开文件ADCINTADCINT:例例7-127-12。如图。如图7-167-16所示所示,选择,选择FileFile下拉菜单中的下拉菜单中的Create Default SymbolCreate Default Symbol(生成默认元件符号)生成默认元件符号)选项,如

49、果原文件没有错误,即出现如图选项,如果原文件没有错误,即出现如图7-177-17所示界面,表示所示界面,表示ADCINTADCINT元件元件成功生成,然后打开图形编辑器,分别从元件库中调入元件成功生成,然后打开图形编辑器,分别从元件库中调入元件lpm_fifolpm_fifo、notnot反相器、多路选择器反相器、多路选择器2121muxmux和生成的元件和生成的元件ADCINTADCINT。最后连接成如图最后连接成如图8-38-3的原理图,此后的处理方式与第的原理图,此后的处理方式与第4 4章中介绍的方法和流程完全一致。章中介绍的方法和流程完全一致。y师院科技师院科技2021/6/469实实

50、 验验实验实验9-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计图图9-16 选项使当前文件成为一个原理图元件入库选项使当前文件成为一个原理图元件入库y师院科技师院科技2021/6/470实实 验验实验实验9-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计图图9-17 ADCINT元件成功生成元件成功生成y师院科技师院科技2021/6/471实实 验验实验实验9-3 含有含有FIFO存储器的存储器的A/D采样控制电路设计采样控制电路设计(6 6)实验内容)实验内容4 4:在原设计的基础上插入一个写入数排序计数器,以便在读在原设计的基础上插

51、入一个写入数排序计数器,以便在读出时可以显示任一数据的写入序号。此外利用出时可以显示任一数据的写入序号。此外利用FIFOFIFO写数溢出信号写数溢出信号FULLFULL作为一作为一个控制信号,当写入的数据大于个控制信号,当写入的数据大于512512时,禁止写入,即禁止时,禁止写入,即禁止CLKCLK信号。完善例信号。完善例8-258-25,给出含有本实验要求的完整,给出含有本实验要求的完整VHDLVHDL程序以及该程序的工作波形,然后进程序以及该程序的工作波形,然后进行硬件实验。行硬件实验。(7 7)附加实验内容:)附加实验内容:用第用第8 8、1010节中用节中用lpm_ram_dqlpm_

52、ram_dq模块定制的模块定制的RAM1RAM1取代例取代例8-8-2525中的中的FIFO2FIFO2,给出相应的给出相应的VHDLVHDL设计。为了缩短数据写入时间,应该设计两设计。为了缩短数据写入时间,应该设计两个有限状态机,让它们分别完成个有限状态机,让它们分别完成A/DA/D的采样和的采样和RAMRAM的数据读写。的数据读写。(8 8)实验思考题:)实验思考题:假如不考虑假如不考虑ADC0809ADC0809和目标器件的速度限制,设图和目标器件的速度限制,设图8-38-3中中CLKCLK的频率是的频率是5050MHzMHz,问此时问此时ADC0809ADC0809的采样速率是多少(每秒采样点数)?的采样速率是多少(每秒采样点数)?(9 9)实验报告:)实验报告:根据以上的要求完成实验报告。根据以上的要求完成实验报告。部分资料从网络收集整理而来,供大家参考,感谢您的关注!

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!