实验七 状态机设计ADC0809采样控制电路

本文介绍了如何使用状态机来设计A/D转换器ADC0809的采样控制电路,重点讲解了实验目的、内容、所需仪器与器材,以及状态机的一般结构和设计思路。实验中涉及QuartusⅡ的使用,通过VHDL设计状态机,并给出了相应的仿真波形和实验要求。
摘要由CSDN通过智能技术生成

一、实验目的

学习用状态机实现A/D转换器ADC0809的采样控制电路。

二、实验内容

利用Quartus实现A/D转换器ADC0809的采样控制电路状态机设计;给出仿真波形。最后进行引脚锁定并进行测试,硬件验证设计电路对ADC0809的控制功能。

三、实验仪器与器材

计算机1台,GW48-PK2S实验箱1台,Quartus6.0 1套。

四、实验

VHDL 设计的状态机的一般结构有以下几部分组成:

1.    说明部分

说明部分中有新数据类型TYPE 的定义及其状态类型(状态名)和在此新数据类型下定义的状态变量。状态类型一般用枚举类型,其中每一个状态名可任意选取。但为了便于辨认和含义明确,状态名最好有明显的解释性意义。状态变量应定义为信号,便于信息传递。说明部分一般放在ARCHITECTURE BEGIN之间。

2.    主控时序进程:

状态机是随外部时钟信号以同步时序方式工作的,因此状态机中必须包含一个对工作时钟信号敏感的进程作为状态机的“驱动泵”。当时钟发生有效跳变时,状态机的状态才发生变化。状态机的下一状态(包括再次进入本状态)仅仅取决于时钟信号的到来。一般地,主控时序进程不负责进入的下一状态的具体状态取值。当时钟的有效跳变到来时,时序进程只是机械地将代表下一状态的信号next_state 中的内容送入代表本状态的信current_state 中,而信号next_state 中的内容完全由其它的进程根据实际情况来决定。当然此进程中也可以放置一些同步或异步清零、置位方面的控制信号。总体来说,主控时序进程的设计比较固定、单一和简单。

3.    主控组合进程:

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

4.    普通组合进程

用于配合状态机工作的其它组合进程,如为了完成某种算法的进程。

5.    普通时序进程

用于配合状态机工作的其它时序进程,如为了稳定输出设置的数据锁存器等。一个状态机的最简结构应至少由两个进程构成(也有单进程状态机,但并不常用)即一个主控时序进程和一个主控组合进程,一个进程作“驱动泵”,描述时序逻辑,包括状态寄存器的工作和寄存器状态的输出;另一个进程描述组合逻辑,包括进程间状态值的传递逻辑以及状态转换值的输出。当然必要时还可以引入第个和第个进程,以完成其它的逻辑功能。

从一般意义上说进程间是并行运行的,但由于敏感信号的设置不同以及电路的延迟,在时序上进程间的动作是有先后的。在设计中,如果希望输出的信号具有寄存器锁存功能,则需要为此输出写第个进程,并把clk reset信号放入敏感信号表中。用于进程间信息传递的信号current_state next_state ,在状态机设计中称为反馈信号。状态机运行中,信号传递的反馈机制的作用是实现当前状态的存储和下一个状态的译码设定等功能。在VHDL中可以有两种方式来创建反馈机制,即使用信号的方式和使用变量的方式,通常倾向于使用信号的方式。附图8-1为一般状态机结构图。

clip_image002[4]

                     8-1   一般状态机结构框图工作示意图

 

附图8-28-3为控制ADC0809采样状态机结构图和状态转换图

clip_image004[4]

8-2  采样状态机结构框图

设计提示:

设目标器件是EP1C6Q240C8,建议选择实验电路结构图No.5(即结构图No.5A,附图1-14,由该图可见,ADC0809的转换时钟CLK已经事先接有750KHz的频率),将实验系统左下角选择插针处的“转换结束”和“A/D使能”用跳线帽短接。下载目标文件后,可用螺丝刀旋转实验系统左下角的电位器,以便为ADC0809提供变化的待测模拟信号,这时数码管87将显示ADC0809采样输出并被锁存的数字值(16进制)。

clip_image006[4]

8-3  控制ADC0809采样状态图

 

 

clip_image007[4]

8-4  控制ADC0809采样时序图

 

五、实验要求

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和实验过程;设计程序、程序分析报告、仿真波形图及其分析报告。

 

1.        设计思路

6.    由题意知,我们要设计一个电路与A/D转换器ADC0809相连,通过接受时钟输入来决定状态,通过对不同状态输出不同的控制信号,实现对ADC0809的采样控制,最终输出稳定的采样电压。本实验中将设计如下进程。

      设置两个信号Current_StateNext_State,以便实现状态的通知。

① 主控时序进程REG

总体设计思想:用REG控制整个采样控制电路的状态,是整个电路的总指挥。

通过监测ADC0809输出的信号,实现不同状态的转换,进而控制不同不同的进程Process

主控时序进程REG只输出状态,只接收ST1

当状态为ST0的时候,开始新一轮的采样;

当接收ST1的时候,通知COM2将采样数据锁存,输出。

进程REG对信号:CLKNext_State信号敏感

 

② 组合进程COM1

总体设计思想:用COM1实现COM2REG的通知,是整个电路的传令兵;用COM2控制整个电路,是整个电路状态改变的具体执行者。

EOC=1的时候,通知REG,以便改变电路状态。

进程COM1对信号Current_StateEOC敏感

③ 进程LATCH           

总体设计思想:用LATCH来锁存转换好的数据,并控制数据的输出。

进程LATCH对信号LOCK,REGL敏感

 

 

程序设计 
LIBRARYIEEE;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值