当前课程知识点:微机原理与接口技术 >  第13周 模拟量的输入输出 >  第53讲 D/A转换器 >  D/A转换器_02

返回《微机原理与接口技术》慕课在线视频课程列表

D/A转换器_02在线视频

D/A转换器_02

下一节: A/D转换器_01

返回《微机原理与接口技术》慕课在线视频列表

D/A转换器_02课程教案、知识点、字幕

0832这个内部结构图大家看到里

这个虚线框这就是0832的

这个外部的结构

也就是这个虚线框是这个芯片的外延

那么外面就是所有它的引脚

那么这个虚线框里面

就是它的内部的结构

在这个内部结构里

我们现在看最右侧

这个是DA转换器

也就是说它是负责将D转换成A的

就是刚才我们讲的主要核心的

那个纯电阻网络

和运算放大器

那么它的前边还有这样两个框

最左边的这个我们叫

8位输入寄存器

后边的这个叫DAC寄存器

DA转换器我们已经知道了

它是一个接口啊

接口里的寄存器是什么昵

实际上就是端口

那么每一个端口它都要有一个地址

对于这样子的一个

DAC寄存器DAC0832

这样的一个接口来讲

它里面非常明确的告诉你

有2个叫寄存器的东西

也就是说它应该有两个端口

2个端口按我们之前

学数字接口电路我们可以

推理出来它应该

有一柜片内地址信号

用来区分这两个端口地址

但是在我们所有这个外延的

引脚信号里头

我们没有看到我们熟悉的

A1A0这样子的地址信号

那么就是意味着什么

意味着2个端口或者说两个寄存器

它们的端口地址

都是直接由外部移码电路来确定的

也就是说它们不是说先选中这个芯片

再去选这个芯片当中哪个地址

而是每一个端口

都独立对外有地址

好现在我们来看它们怎么个

独立对外有地址法

它的工作过程是这样

系统要或者简单的说CPU

现在要把数字信号转换成模拟信号了

所以CPU先输出一个数字信号

这个数字信号经过数据总线

就走到了这个输入寄存器的门口

但是进不去

输入寄存器我们现在因为大家

在我们这门课里

唯一接触到的带锁存能力的这个端口

就是D触发器

我们现在就可以想象成这个是

8个D触发器

好走到门口以后

D触发器总是要打开的对吧

怎么样打开昵

好我们现在看它的开门信号

是LII这个是低电平有效的开门信号

也就是说必须要在这里有

低电平有效的时候

这个输入寄存器才是开门

那么如何让这个LII低电平有效昵

我们看它的前边

必须是LE1是高电平

WR1是低电平

CS必须为低电平

那么这个LE1就为低电平

CS是我们已经很熟悉的片选信号

所以CS一定连接到哪里

连接到移码器的输出端

那么移码器的输入就是各位地址信号

那么在这里可能就是高位地址信号

或者是全部的端口地址信号

那么也就是说当你的

A0最多有可能是A0到A15

这16位端口16位地址信号

出现某一个编码组合的时候

这个移码器正好输出低电平

这个低电平正好连接到CS端

那么如果这个时候你同时

产生了一个LOW信号

也就说你执行了一条OUT指令的话

那么这个LW信号

会连接到这个WR1端

然后这两个都是低电平的时候

它们的或非门会输出高电平

如果这个时候L L1这个引脚

也同时为高电平的话

2个1就会使得与非门输出低电平

好了LE1就为低电平了

那么这个输入寄存器就开门了

一旦开门

刚才它处于它门口的这

现在红颜色的这个8位的数据信号

就通过它出去了

出去到哪了

就出去到了DAC寄存器的门口

同样的我们现在DAC寄存器也没有开门

这个数据进不去

所以下面我们就要把数

DAC寄存器要开门

那么现在刚才我们说寄存器

从输入寄存器这就

已经缓存一道了

缓冲了一下了

我们说D触发器我们也可以说是

保持有保持功能

由缓冲缓存功能

有锁存功能等等

这些意思都对它来讲都是一样的

那么现在我们也可以认为这个

8位的输入寄存器

我们也可以说它是一个缓冲缓冲器

好缓了一下冲出去了

冲到DAC寄存器的门口了

那么它也没开门

现在我们又缓不进去了

又冲不进去了

我们怎么样我们把它再

要它开门它怎么能够开门昵

它要求LI2必须低电平

如何实现LE2低电平昵

这个WR2必须低电平

WR2我们知道实际上就是写允许

也就是说这个时候我们要产生

再使得LW信号有效

怎么样使LW信号有效

这是我们要再来一条OUT指令

那么另外一个就是XFER

XFER实际上

大家现在能够感觉到

它就是片选信号的意思

也就是说它是DAC寄存器的片选端

那么它那么既然是片选信号

它也就连接到移码器的输出

那么移码器的输入就是还是

16位的地址信号

也就说这个时候可能A0到A15

出现了另外一种编码组合的时候

这个移码器的输出

产生低电平正好连接到XFER段

好了如果这个时候

它们2个都同时为低电平有效了

那么DAC寄存器就开门了

DAC寄存器一旦开门

这个数据门口的数据就进去了

进去以后就进去了

进去以后怎么办昵

进去以后

它就从它那里就直接出去了

按照我们触发器的原理

就一旦进去它就到了它的门口

好了到了它的门口之后

就进到了DAC转换器

因为DAC转换器已经不需要控制了

它就直接开始转换

因此这个电路就带给我们了什么

带给我们了这里头首先有两

到缓冲的这样的一个门

我们刚才的描述过程里头

我们先开了输入寄存器的门

接着又开了DAC寄存器的门

就说我们缓冲了2次

这就是0832它的一种工作模式

叫做双缓冲模式

那么这个听上去很麻烦

就说如果我们假设这个

外面这个虚线框是我们总个家的话

我们只要大门打开就OK了

我们进去的是卧室门是不需要开的

不需要锁的了

所以这样的话我们

可以让卧室一直开门

也就是如果我们假设LI2

就是我们的卧室门的话

我们正常我们一家人的话

我们可以让LE2一直是低电平

也就是DAC寄存器始终是开门状态

为了让它开门

我们WR2和XFER

就让它始终是0是低电平

那么这个时候

我们只要把这个8位输入寄存器开门

数据就可以进去转换了

这就是一道缓冲门铃

当然还有一种可能我们

大家总天都开着门

以后我们到了共产主义

我们大门都是开着的

那么这个时候就没有缓冲

大家都不缓冲

所以这个0832就有了这样

3种工作模式

我们下面把3种工作模式

简单给大家介绍一下

首先刚才我们说的是单缓冲

也就是说DAC寄存器始终处于

长通状态始终处于开门状态

我们只需要控制输入寄存器

因此这个时候我们只需要一次写操作

让WR1有效

我们只需要一次选中

也就是产生一个片选端

就是说一个端口地址

使得CS端有效

我们让LL1

保持在需要的时候保持高电平

我们就可以把数据输出到里头了

到了它以后

因为它一接一旦开门

如果DAC寄存器始终处于开门状态的话

那么从输入寄存器进去的数据

就可以一直进去

走到DAC转换器那个地方了

因此昵这种工作模式下

它的软件控制

也就变得比较简单了

也就说一个端口地址就是8位输入

输入寄存器端口的地址

然后要转换的数据就是DATA

然后要转换的内容就是AL的值

这就是单缓冲工作模式

我们现在把刚才那张图翻回去

这是我们其实是

左侧这些输入

从连接系统的这边的信号

实际上刚才我们还忘记了

输出端还有一些信号

输出端的信号大家可以看一下

刚才我们说它是一个差动输出的

所以它有LOT1 LOT2两路输出

我们如果要把2个电流输出

变成电压输出的话

外面再要加运算放大器

另外还有一个反馈电阻的输入端

以及模拟量接地

数字接地端

这些我们不在一一介绍了

好下面我们来通过一个事例来

看一下单缓冲模式是怎么应用的

这个这底下这个图我们很容易看出来

它就属于单缓冲模式

为什么昵这里大家可以看到

XFER和WR2都直接接地了

一旦接地说明它们都是

始终处于低电平状态

因此DAC寄存器就属于长通状态

一直开门状态

这个时候我们要控制的就是8位输入

寄存器了

我们现在这个题目是要求希望

通过这样一个芯片

能够在它的输出端

产生一个3角波的

这样的一个波形信号

3角波是个什么样子的波形昵

是这样一个波形

也就是说从假设我们一开始是

是0的话

它就可以爬爬爬爬到最高

然后到了最高昵

然后又兜兜兜降到最低

如果我们没有其他附带的要求

我们这个DAC寄DA变换器

它的输出端的输入端

输入的数字量最小的就是0

那么我们其实就是从0开始

那么它的最大输入的数字信号

就是FF

假设这里的按照这个图里面

它接着电压最大的峰值电压是5伏

那么也就说0对应的就是0伏

数字量FF对应输出的就应该是5伏

所以等它爬到最高到5伏的时候

它就又要降低

然后直接一致下去

这就是一个连续的3角波信号

怎么样能产生这个三角波信号昵

光有这个硬件电路是不行的

所以我们下面需要通过软件

来实现这个三角波

从这个三角波的波形

大家能够想得到怎么实现了

实际上

我们就是先要变成输出一个数字0

通CPU输出一个数字的0

然后通过它就转换成0伏

接着我们要输出数字1

然后它就然后是2然后

这样慢慢慢慢三角波就上上去了

虽然这三角波不可能

如果直接输出一个三角波

不会是这样平滑

它一定是一个台阶式的

但是它毕竟是一个三角波的形状对吧

因此我们下面来编写这个程序

就是这样

首先我们假设这刚才这个图里头

可以看出来它的端口地址也就是

CS这个端的端口地址

是0278

那么现在首将AL清零

然后我们就把AL输出

输出完了以后我们把AL加一

然后只要它不等于FF

我们就一直出一直出

直到它等于FF了

怎么办了现在要减

再接着把AL再减一减一

一直减到什么时候一致减到0

然后直到结束

直到它减到0了

然后又开始回去让它再加

这就是构成一个三角波的波形

这个程序里头我们没有考虑

它的幅度是不是

一定是0到最高到5伏

也没有考虑它输出波形的频率

那么如果我们直接执行这个程序

在我们今天的这样子的一个

高速的微型计算机上产生的话

大家会看到的根本不是我们刚才

画出来的那样一个

非常清晰地平滑的晃

就是缓慢的一个三角波

而是一个全部类似于尖峰波这样子的

甚至有可能就是一条线

你根本看不出来

因此了我们希望大家考虑一下

如何实现

对于通过软件实现

对这个三角波幅度和频率的调整

也就是说我们希望它

真正的实现这样的一个比较

缓的这样一个坡度的三角波

这个程序就希望大家自己来编写

或者考虑

这个是单缓冲模式

那么单缓冲模式昵

它主要应用在什么昵

就是这一个芯片

带驱动一个执行机构的时候

我们需要我们可以用单缓冲

因为它毕竟线路可以简单一些

让另外一个缓冲器不要控制

那么如果我们有多个执行机构

希望能够同时进行转换的时候

我们用单缓冲模式

就不合适了

为什么昵

我们现在想我们就一个CPU

或者说一台计算机

我们现在要控制8个执行机构

同时工作

那么这8个执行机构

每一个执行机构的前端

前边实际上就是它的模拟量输出通道里

都有一个DA转换器

对于CPU来讲

一次次能输出一位数据

假设我们第一次让第一个

给控制第一个转换器启动

我们给它发了一个命令

然后这个命令是数字信号

通过连接到的DA

通过它连接的DA转换器

把它转成模拟信号

然后控制它启动

接着我们才能从系统又发送

第二个执行机构的控制信号

然后利用第二个

连接的DA转换器

转换成模拟信号

让第二个执行机构开始工作

依此类推

那么这样子不论CPU

工作的时间工作的速度有多么快

因为DA转换器

和未来的线路

和它的执行机构

它毕竟有一些器件的延迟

这样就会产生一个什么效果

就这8个执行机构

不会同时开始工作

那么假设我们现在就要求8个执行机构

必须同时工作

必须同步工作的话

这种方式就达不到了

因为同步控制在很多场合

实际上都有应用

比如现在我们轧钢车间的钢板

那个每一个滚轮的调整

比如大家要快要慢啊

都必须要同步进行

因为一旦不同步

这个钢板轧出来的

不是厚了就是拉断

所以这个就会影响它的产品的质量

那么我们怎么样又想

达到这样一个功能

我们就可以用到双缓冲模式

双缓冲模式就是

还是我们刚才那个案例

我们对第一个执行机构的控制命令

我们从系统发出来以后

写入到它第一个执行机构

前面的那个DA转换器里头

但是写进去以后我们

只写到了这个

DA转换器的输入寄存器里

我们刚才已经知道

进入输入寄存器之后

实际上它根本不可能开始转换

因为DAC寄存器还没通过昵

好我们把那个数

存到它里面的输入寄存器里

接着我们再对

第二个控制执行机构的控制命令

我们在输出到它第二个执行机构

的那个连接的DA转换器

送到它里面的输入寄存器里

也存在这里

然后把8个都输出完了以后

好了现在我们发一道命令

同时打开这8个DAC

转换器里面的DAC寄存器

这样的话命令8个命令就同时发出

这就是双缓冲模式主要应用场合

所以双缓冲模式

就是当你需要有多个设备

同时进行工作的时候

或者同步控制的时候

我们必须要用到这样

这种时候昵

这个芯片它就占

对外占有2个端口地址

它的优点就是可以

实现这样同步控制

当然它的缺点

就相对的要复杂一点

所以双缓冲工作模式

主要用在分时写入

同步转换这样的工作场合

我们看一下它的工作时序

也就是说首先我们把要控制的命令

写入到它的输入寄存器里

在这3位信号有效的时候写进去

然后昵我们接着发出

DAC寄存器的控制信号

这样在它们有效的时候

数据进入到它们对应的DAC寄存器

然后就开始转换

这个是它的工作时序

我们也用这样一个示意图

来描述一下双缓冲工作模式

下的工作力

在这个示意图里头

首先我们通过PORT1这个端口

将控制命令写入到

第一片0832的输入寄存器里

接着昵我们再通过PORT2这个端口

将控制命令写入第二片0832的

输入寄存器里头

然后呢我们同时

产生一个控制信号

使得这两片0832的

XFER端同时有效

这样的话也就说同时打开了

这两片0832的DAC寄存器

然后它们就同步开始转换

这个图用这个工作

用软件来实现就是这样子的一个方式

我们首先把PORT1的端口地址

以及要输出的数据输入到

写入到第一片0832的输入寄存器里

接着昵我们还是把这个数据

通过PORT2写入到第二片

0832的输入寄存器里

当然这里的PORT1

就是第一片0832的输入寄存器

的端口地址

PORT2就是第二片0832的

输入寄存器的端口地址

那么二片0832

它们的DAC寄存器具有同样的地址

也就是它们的XFER要并联在一起

共同使用了PORT3这个地址

然后通过OUT指令

产生一个WR2的有效信号

所以这样子的话

2片0832的DAC寄存器

就同时开门了

这个时候AL的值

已经是无所谓了

因为这个时候2片0832它们

DAC寄存器所接受的信号

是它们各自输出的值

那么最后我们来说一下5缓冲

刚才我们举了家里的这个例子

我们说单缓冲模式

就类似于你们家的大门是锁的

但是里面所有的卧室都是打开的

因为在一个家里

通常我们的卧室是不需要再上锁

双缓冲模式昵就相当于你们

2个人共租了一套房子

那么打开了大门之后

各自还要打开各自的卧室门

这就相当于双缓冲

那么5缓冲模式昵

等于就是大门都不打开了

当然今天我们还没有到共产主义社会

所以不可能这样家里大门是不锁的

如果你的家里大门不锁

那么一定外头有一个

更严谨的外墙的所锁把它锁起来

所以5缓冲模式昵

我们是不能直接跟CPU去连接的

那么如果你一定要让你的

DAC转换器工作在5缓冲模式下

那么外边

它的前边一定要加数字接口

也就是说DAC0832

和系统之间

要再加一层数字接口

虽然今天实际的工程应用中

他们中间一定有个数字接口

但是理论上它们可以在

除了5缓冲模式之外

它们的之间是可以不加这个数字接口

DA转换器在工业中的应用

主要有两个方向一个就是

作为信号发生器

产生各种我们需要的波形

比如刚才我们那个例子里

看到的三角波

还可以产生各种锯齿波

有正向锯齿波反向锯齿波等等

当然它更多的应用

就是作为工业闭环控制系统中

模拟量输出通道中的核心器件

来使用的

有关那方面的应用

不是我们这门课程的主要内容了

所以我们下边就不在给大家做事例了

好了有关DA转换器的介绍

我们今天就到这里

微机原理与接口技术课程列表:

第1周 微型计算机基础概论

-第1讲 关于本课程

--关于本课程

-第2讲 微型计算机系统

--微机系统_01

--微机系统_02

-第3讲 微型计算机一般工作过程

--微机的一般工作过程_01

--微机的一般工作过程_02

-第4讲 数制与编码

--常用计数制及其转换

--计算机中的编码

-第5讲 计算机中数的表示与运算

--数的表示

--符号数的表示

--数的表示与运算

-第6讲 基本逻辑运算与逻辑电路

--基本逻辑运算与逻辑门

--常用逻辑运算及电路

-第7讲 本周小结

--本周小结

-第1周 微型计算机基础概论--第一周单元测验

第2周 8088微处理器

-第8讲 8088微处理器

--8088 CPU_01

--8088 CPU_02

-第9讲 8088 CPU主要引线及机构

--8088 CPU主要引线

--8088 CPU内部结构

--8088 CPU内部寄存器

-第2周 8088微处理器--第二周单元测验

第3周 实模式存储器寻址与总线

-第10讲 实模式存储器寻址

--实模式存储器寻址_01

--实模式存储器寻址_02

--实模式存储器寻址_03

-第11讲 8088系统总线

--8088系统总线

-第12讲 微处理器小结

--微处理器小结

-单元测验--作业

第4周 数据传送指令

-第13讲 指令概述

--指令概述

-第14讲 寻址方式

--寻址方式

-第15讲 通用数据传送指令

--通用数据传送指令_01

--通用数据传送指令_02

--通用数据传送指令_03

-第16讲 地址传送指令

--地址传送指令

-第17讲 输入输出指令

--输入输出指令

-第4周 数据传送指令--第四周单元测验

第5周 算术运算、逻辑运算与移位操作指令

-第18讲 算术运算指令

--加法运算指令

--减法指令

--乘除运算指令

-第19讲 逻辑运算指令

--逻辑运算指令_01

--逻辑运算指令_02

-第20讲 移位操作指令

--移位操作指令

-第5周 算术运算、逻辑运算与移位操作指令--第五周单元测验

第6周 串操作指令

-第21讲 关于串操作指令的说明

--串操作指令说明

-第22讲 串传送与串比较

--串传送与串比较

-第23讲 串扫描指令

--串扫描指令

-第24讲 串装入与串存储指令

--串装入与串存储指令

-第六周单元测验--作业

第7周 程序与处理器控制

-第25讲 程序控制指令说明

--程序控制类指令说明

-第26讲 转移类指令

--无条件转移指令

--条件转移指令

-第27讲 循环控制指令

--循环控制指令

-第28讲 过程调用指令

--过程调用指令

-第29讲 中断指令

--中断指令

-第30讲 处理器控制指令

--处理器控制指令

-第31讲 指令系统小结

--指令系统小结

-第7周 程序与处理器控制--第七周单元测验

-第7周 程序与处理器控制--第七周作业

第8周 汇编语言程序设计

-第32讲 汇编语言源程序

-- 汇编语言源程序_01

-- 汇编语言源程序_02

-第33讲 伪指令

--数据定义伪指令

--符号与段定义伪指令

--汇编语言源程序结构例

--其它伪指令

-第34讲 系统功能调用

--系统功能调用_01

--系统功能调用_02

-第35讲 汇编语言程序设计示例详解

--程序设计示例1

--汇编语言程序设计示例_02

-第36讲 汇编语言程序设计小结

--汇编语言程序设计小结

-第8周 汇编语言程序设计--第八周单元测验

-第8周 汇编语言程序设计--第八周作业

第9周 半导体存储器

-第37讲 半导体存储器概述

--半导体存储器概述

-第38讲 内存单元编址

--存储单元编址

-第39讲 随机存取存储器RAM

-- RAM_01

--RAM_02

-第40讲 只读存储器ROM

--ROM_01

--ROM_02

-第九周单元测验--作业

第10周 半导体存储器扩展技术

-第41讲 半导体存储器扩展

--半导体存储器扩展_1

--存储器扩展_2

--半导体存储器扩展_3

-第42讲 半导体存储器小结

--半导体存储器小结

-第十周单元测验--作业

-第十周作业--作业

第11周 输入输出与中断技术

-第43讲 基本I/O接口

--I/O系统概述_01

--I/O系统概述_02

-第44讲 简单接口芯片

--简单接口芯片

-第45讲 基本输入输出方法

--基本I/O方法

-第46讲 简单I/O控制系统设计

--简单I/O控制系统设计1

--简单I/O控制系统设计2

-第47讲 中断技术

--中断技术1

--中断技术2

-第48讲 输入输出与中断技术小结

--本周小结

-第十一周单元测验--作业

第12周 可编程并行数字接口

-第49讲 可编程定时计数器

--可编程定时计数器8253_01

--可编程定时计数器8253_02

--可编程定时计数器8253_03

-第50讲 可编程并行接口

--可编程并接口8255_01

--可编程并行接口8255_02

--可编程并行接口8255_03

-第51讲 可编程接口小结

--本周小结_01

--本周小结_02

-第十二周单元测验

第13周 模拟量的输入输出

-第52讲 模拟量的输入输出

--模拟量的输入输出

-第53讲 D/A转换器

--D/A转换器_01

--D/A转换器_02

-第54讲 A/D转换器

-- A/D转换器_01

--A/D转换器_02

-第十三周单元测验--作业

第14周 系统综合设计示例详解

-第55讲 I/O接口系统综合设计示例详解I

--综合设计示例详解I_01

--综合设计示例详解I_02

-第56讲 综合设计示例详解II

--综合设计示例详解II_01

--综合设计示例详解II_02

-第57讲 结束语

--结束语

D/A转换器_02笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。