当前课程知识点:微机原理与接口技术 > 第13周 模拟量的输入输出 > 第54讲 A/D转换器 > A/D转换器_02
首先我们看上面左上方这个图
这个叫8路模拟开关
这个这个开关这个部件
大家看有8个模拟量的输入端
IN0到IN7
但是它只有一个输出
这个就是我们俗称的8选1开关
或者说是专业的说法叫
选8路选通控制器
也就是当你的这个任意一个时刻
它的8个输入端中
只有一个端的状态可以通过这个输出
进入到里面
那么到底是哪一个端
输出到里面昵
我们刚才说通过
ADDC到ADDA
这样的一个通道地址的选择来确定
那么这个通道地址是由谁来选择了
当然是由你来控制的
你这个时候准备转IN0
那么你这个C到ADDC到ADDA
就选择就设成000
如果你要想送IN7这一路
那么你这三位就选择111
这3位的111也好000也好
都是由系统这样送出来的
就说所以你通过送通道地址
确定了这个8位的模拟量开关
到底是哪一路被打开
通道地址送进来的这个地方
就是右下方这个地方
叫地址锁存以及它的地址移码电路
大家可以简单的
想象成相当于一个D触发器一样
也就是当你的这个通道地址
送到门口的时候
它其实进不去
怎么样进去昵我们D触发器
都知道要触发导通
所以这个导通信号就是这个ALE
也就是说你把ALE送上
一个有效信号的时候
这个通道地址就进去了
也就是我们通过锁存器的原理
也是当你这个有输入的一旦导通以后
输入端的状态就到了输出
它的输出到哪里了昵
就是到了这个8路模拟开关的控制端
在这个控制端上
控制到底现在是IN0这个门打开
还是IN7这个门打开等等
一旦打开以后
那么现在你选通的这一
你选中的这个某一路模拟量
就通过这个8位的模拟量开关
它的输出端就进去了
进去以后那么现在就要
准备开始变换了
那么开始变换我们要
给它一个启动信号
这个启动信号就是START
一旦启动了之后
现在它就开始按照我们刚才
前面说的那个逐位反馈或者逐位比较
AD转换器的原理
就是一次一次的经过比
比按照我们现在0809它是作为8位的
这种AD转换器所以它就比8次
比完了以后这个结果
在比的这个过程中
EOC端就会呈现一个低电平的状态
一旦比较结束
EOC端就会呈现一个高电平的状态
表示现在我已经比较结束
比较完了以后
现在SAR里面的值就是我们这个
刚才输入的这一路模拟量
它所对应的数字信号
这一路数字信号
通过SAR大家看
底下有一个通道
就走到了我们这个三态门的输入
三态门不打开你刚才
比较的结果是出不去的
那么这个时候若
为了让它出去我们必须要让
OE端要有一个有效的开门信号
这个开门信号上面没有横杠
是高电平有效的
它一旦有效
好了我们比较结果
通过这8个三态门就输出了
可就可以直接进入到系统
这个就是它的基本的工作过程
它的内部结构
还有它的主要的引脚
当然这里还有底下有什么正电压
负电压之类还有模拟电压这些
我们就不在这里
去一一给大家解释了
这个里头大家可以看到
从它的总个那个虚线框框起来
总个这个虚线框框起来就是我们
ADC0809的内部的结构
在这内部里头大家可以看到
包括了我们8路选通控制器
也就是我们所谓的多路开关
以及采样保持
也就是左下方的这一块电路
还有AD转换
以及最后的输出控制
这样4个部分
这个就是我们
ADC0809的工作时序图
这个是时序图的怎么样看时序图
我们在很早以前就给大家解释过
以及它的横坐标我们说它是时间轴
纵坐标那么我们就是各个
各路信号它的一个赋值
时序图描述了或者反映了
总个芯片它的基本的工作原理
我们现在也来看一下
按照我们刚才的描述
或者说它的总个工作过程
首先有效的是通道地址
那就送上了通道地址
你就决定了要转换哪一路
通道地址一旦送出去
为了让这个通道地址
确定的去控制刚才那个8路模拟开关
所以我们紧接着就要送地址锁存
地址锁存ALE
我们刚才看到它上面没有横杠
但是我们刚才没有跟大家说
它是不是高电平有效
它实际上不是高电平有效
而是上升沿有效
这个和我们D触发器的那个
触发信号是非常一致的
也就说它是边沿触发的
有了上升沿之后
好了现在就
我们要选择哪一路模拟量
就行转换就确定了
确定以后昵
下边我们就要开始启动变换
启动变换
那么下面我们就要启动变换
启动变换信号大家看非常有趣
它恰好是下降沿有效
所以ALE信号是上升沿有效
而START信号是下降沿有效
所以这两个信号引脚上
经常把它们并联连接在一起
在这个引脚上
输出送上低电平
再送上高电频就是不是具有上升沿
然后接着再送上低电平
就有了下降沿
这就实现了一个启动变换
和就实现了一个地址锁存
和启动变换这样的功能
好了启动变换了以后这个
一旦启动
它在它就开始转换
转换的过程中EOC端会始终为低电平
直到转换结束
EOC会呈现一个高电平
一旦呈现高电平了
表示它转换结束了
如果你这个时候知道它转换结束的话
为了要得到转换结果
你必须要让它刚才内部的
8个三态门开门
也就说送上OE信号
OE一旦有效
数据就通过8个三态门出来
进入到系统
进入到数据总线上
这个就是从时序的角度
来描述了它的工作原理
我们也可以通过流程图的方式
再进行描述一遍
所以这个描这个控制流程就是这样
首先送上通道地址
然后要送地址锁存
然后是启动变换
然后要判断它转
然后就是它开始就转换了
转换需要一点时间
如果没有转换结束
那么你是读不到结果的
如果转换结束了之后昵
那么你就可以打通或打开三态门
然后获得转换结果
这个控制流程有点
类似于我们查询工作方式下的
控制流程
那么这里头
这个到底它转换结束
还是没有结束昵
我们怎么知道昵
实际上我们可以有3种办法
首先我们通过计数手册
我们可以看得到它的转换时间
是100个微秒
但是请大家注意这个100个微秒
并不是严谨的100个微秒
它只是一个平均参数值
所以对于具体的芯片
这一片某一片芯片来讲
它可能有一些微小的误差
所以从工程应用的角度来讲
为了保证它的可靠性
我们可以在每一次启动变换之后
我们可以定时一段时间再去读取结果
定时多长时间昵
我们通常要在它手册上的参数的
基础上
有百分之二十的余量
所以它这个参数平均的转换时间
是100个微秒
所以通常我们需要定时120个微秒
来再去读取它的转换结果
这是第一种方式
第二种方式刚才我们看到
它转换的过程中
EOC端会是低电平
转换结束它会是高电平
也就说它有一个对外的
状态的一个发布
那么这就和我们前面查询
工作方式一种控制
流程就结合起来
我们可以去读取EOC端的状态
查询看它是高还是低
如果一旦查询到高电平
那么我们就可以去读转换结果
这样的话相对这种定时的方式
它的实时性就要好的多
但是这样的不好就是
CPU要不断的去问始终关注
这个EOC端的状态
那么还有一种方式昵
我们显然很快的想到了中断
因为EOC它在转换结束之后
EOC端正好呈现高电平
而这个高电平正好满足了我们
外部可屏蔽中断请求
信号这个ANTR是高电平的这样一个需求
所以它也可以通过中断请求的方式
来反映它到底这会是不是转换结束
因此转换结束的判断
可以通过这样3种方法来获取
对ADC0809
或者说总个AD转换器它的应用
刚才我们说了首先关注
它这个芯片和系统的连接
以及它的软件程序的设计
软件程序昵对于这个具体的芯片来讲
就主要指它的数据采集程序的设计
下面我们先来看一下它的应连的线路
这个通过数字接口和系统连接在
连接的原则上
有这么几点希望大家注意
首先昵我们要
如果采用查询工作方式
其实采用中断方式一样的
就说我们要去获取EOC端的状态
中断方式无非是EOC端一旦变高电平
它主动通知系统
而查询方式是我们CPU主动去
看EOC端的状态
但是从应连线路来讲
它们毕竟要能够连接在一起
而EOC昵
它是一个外部设备
也就是ADC AD转换器
它的一个状态信息
所以它是必须通过输入
数字接口进入到系统的
这是第一
第二昵
我们说它要有这个
起通道地址的选择
还有这个地址锁存信号的输出
还有启动变换的这种控制信号
这些信号昵都是要由系统来
输出来给这个AD转换器的
也就说我要送出通道地址
告诉你下面要转换哪一路
然后昵我要送地址锁存
然后我要启动你开始变换
所以这些信号都是通过
数据数字的输出接口
来连接到AD转换器
当然启动以后它就开始转
转完了以后结果是不是要读回来
当然这里还有OE信号要输出了
所以最后还有一个读取转换接口
也需要通过输入数字接口来实现
在这里要注意的一点
是ALE和START信号
刚才我们通过它的时序
我们可以看出来它们的
波形上有这样的特点
一个是上升沿一个是下降沿
因此在连接的时候
经常将这两个引脚并联在一起连接
比如用这个图来描述
假设我们初始情况下
可以在这一端送上低电平
那么也就是送上0
然后昵我们在这一边
在这一位上送上高电平
因为送上了高电平
所以它就有了一个由0到1的跳变
这个上升沿就可以作为地址锁存信号
然后昵我们再给它
送上低电平
这样的话就是有存在
就出现了一个由高电平到低电平的跳变
这样也就有了下降沿
这个下降沿就是作为START信号
因此昵在我们真正使用过程中
这两个引脚都是并联连接在一起的
ADC0809本身具有
连接8路模拟量
采集点的这样的功能也就是它可以
循环的或者分时的去采集
不同的现场信息
可以不同不停的去采集8路现场信息
分时的去采集
当然它也可以只连接一路模拟量
所以当连接单路模拟量信息输入的时候
实现单路模拟量输入的时候
那么这个时候
我们的硬件线路上
到底是哪一路模拟量
硬件就接死了
因此这个时候在应连线路设计的时候
有一些地方就可以省略了
当你循环采集多路模拟量的时候
你就要需要不停地
改变这个通道地址
那么它的控制就要相对的复杂
我现在先来看一下对于
单路模拟量输入的时候
它的线路的设计
在这样设计的时候
假设我们这个要
采集的这个模拟现场信息
也就说这个模拟量信息
是通过IN0路进入这个AD转换器的话
那么我们这个时候的通道地址
就直接把ADDC
ADDB和ADDA都接地
接地以后它当然
这三位就是000了对吧
那么这个IN0路
就始终是连接到这个点的
那么因为这个通道地址都确定的
那么地址锁存信号就不需要了
因此昵当你这个
因此昵当你的
线路按照这样子连接的话
那么这个
刚才我们的那个8路模拟开关
就始终处于IN0路与输出端
直通的状态
但是你连接上了
它即使模拟量直通进来了
但是没有启动变换
它还是不可能转换成数字信号
所以下面一定要有
相应的启动变换信号
然后它才能开始转换
所以这个START信号
还是要通过系统来进行控制的
那么当然如果是连接多路模拟量
信号的话那么这个通道地址也好
地址锁存也好
这就一定要需要了
这个时候就按照我们刚才说的这个
地址锁存和启动变换信号
这样子并联在一起
由统一的进行控制
这就是它的应连的电路的设计
它的设计的原则也就说我们用
这样的示意图
帮助大家来描述一下
下面是它的作为一个循环
采集的一个控制程序的工作流程
这个流程实际上是我们
前面刚刚讲的它的那个
时序图的一个流程图画
从它的工作时序上来讲
除了初始化以外
就是首先要送通道地址
按照我们多路模拟量的话
然后地址锁存启动变换
然后去判断
到底EOC端是不是高电平
当然如果用查询工作方式的话
我们是通过CPU去判断
如果是中断方式的话
就是EOC端主动推送给我们
它只要是高电平了
它就发出中断请求
那么如果这个转换结束
那么我们就可以读取转换结果
那么如果我们是要连续
不停地去采集
多路模拟量信号的话
那么我们就要去判断到底
我这个采集还要不要继续进行
如果继续进行
那么就重来刚才这样一个过程
如果不继续进行就结束了
这个就是它的总体的一个控制流程
我们在这一讲里
我们就介绍到这里
在下一讲里头
我们会通过一段到两段视频
来分别给大家通过事例
介绍一下数字接口
模拟接口
数字接口和模拟接口的结合
来实现总个输入输出
接口控制电路软硬件的一种设计
也就是综合设计
虽然我们在之前就在
上一周里头我们已经
在课程小结里头
给了大家一个安防系统
的一个设计事例
但是那个只是在数字接口
直接控制的这种情况下
真实的环境下
有可能我们还需要通过模拟量
接口来采集这样的一个监控信息
就说如果你的监控设备
输出的是模拟信号的话
或者是我们的监控信息
实际上就是传感器输出的话
那么我们需要通过模拟量的通道
到了下一讲里头我们会
给大家一个完整的系统的展示
好我们今天这一讲就到这里
-第1讲 关于本课程
--关于本课程
-第2讲 微型计算机系统
--微机系统_01
--微机系统_02
-第3讲 微型计算机一般工作过程
-第4讲 数制与编码
--计算机中的编码
-第5讲 计算机中数的表示与运算
--数的表示
--符号数的表示
--数的表示与运算
-第6讲 基本逻辑运算与逻辑电路
-第7讲 本周小结
--本周小结
-第1周 微型计算机基础概论--第一周单元测验
-第8讲 8088微处理器
-第9讲 8088 CPU主要引线及机构
-第2周 8088微处理器--第二周单元测验
-第10讲 实模式存储器寻址
-第11讲 8088系统总线
--8088系统总线
-第12讲 微处理器小结
--微处理器小结
-单元测验--作业
-第13讲 指令概述
--指令概述
-第14讲 寻址方式
--寻址方式
-第15讲 通用数据传送指令
-第16讲 地址传送指令
--地址传送指令
-第17讲 输入输出指令
--输入输出指令
-第4周 数据传送指令--第四周单元测验
-第18讲 算术运算指令
--加法运算指令
--减法指令
--乘除运算指令
-第19讲 逻辑运算指令
-第20讲 移位操作指令
--移位操作指令
-第5周 算术运算、逻辑运算与移位操作指令--第五周单元测验
-第21讲 关于串操作指令的说明
--串操作指令说明
-第22讲 串传送与串比较
--串传送与串比较
-第23讲 串扫描指令
--串扫描指令
-第24讲 串装入与串存储指令
-第六周单元测验--作业
-第25讲 程序控制指令说明
-第26讲 转移类指令
--无条件转移指令
--条件转移指令
-第27讲 循环控制指令
--循环控制指令
-第28讲 过程调用指令
--过程调用指令
-第29讲 中断指令
--中断指令
-第30讲 处理器控制指令
--处理器控制指令
-第31讲 指令系统小结
--指令系统小结
-第7周 程序与处理器控制--第七周单元测验
-第7周 程序与处理器控制--第七周作业
-第32讲 汇编语言源程序
-- 汇编语言源程序_01
-- 汇编语言源程序_02
-第33讲 伪指令
--数据定义伪指令
--其它伪指令
-第34讲 系统功能调用
-第35讲 汇编语言程序设计示例详解
--程序设计示例1
-第36讲 汇编语言程序设计小结
-第8周 汇编语言程序设计--第八周单元测验
-第8周 汇编语言程序设计--第八周作业
-第37讲 半导体存储器概述
--半导体存储器概述
-第38讲 内存单元编址
--存储单元编址
-第39讲 随机存取存储器RAM
-- RAM_01
--RAM_02
-第40讲 只读存储器ROM
--ROM_01
--ROM_02
-第九周单元测验--作业
-第41讲 半导体存储器扩展
--存储器扩展_2
-第42讲 半导体存储器小结
--半导体存储器小结
-第十周单元测验--作业
-第十周作业--作业
-第43讲 基本I/O接口
-第44讲 简单接口芯片
--简单接口芯片
-第45讲 基本输入输出方法
--基本I/O方法
-第46讲 简单I/O控制系统设计
-第47讲 中断技术
--中断技术1
--中断技术2
-第48讲 输入输出与中断技术小结
--本周小结
-第十一周单元测验--作业
-第49讲 可编程定时计数器
-第50讲 可编程并行接口
-第51讲 可编程接口小结
--本周小结_01
--本周小结_02
-第十二周单元测验
-第52讲 模拟量的输入输出
--模拟量的输入输出
-第53讲 D/A转换器
-第54讲 A/D转换器
-- A/D转换器_01
-第十三周单元测验--作业
-第55讲 I/O接口系统综合设计示例详解I
-第56讲 综合设计示例详解II
-第57讲 结束语
--结束语