文章目录

  • 模拟量接口
  • A/D转换器
    • A/D转换器的主要技术指标
    • A/D转换器的外部特性
  • A/D转换器与CPU接口的原理和方法
    • A/D转换器与CPU的连接
    • A/D转换器的数据传输
    • A/D转换器接口控制程序
  • A/D转换器接口设计
    • A/D转换器接口设计方案的分析
    • A/D转换器接口设计
      • 例:查询方式的ADC接口电路设计
      • 例:中断方式的ADC接口设计
  • D/A转换器
    • D/A转换器的主要技术指标
    • D/A转换器的外部特性
  • D/A转换器与CPU接口的原理和方法
    • D/A转换器与CPU的连接
    • D/A转换器接口的主要任务
    • D/A转换器接口设计方案的分析
  • D/A转换器接口电路设计
    • 例:DAC接口电路设计

模拟量接口

在计算机应用系统中,采集对象往往是连续变化的物理量,因此需要对连接变化的物理量进行采样、保持,再把模拟量转换为数字量交给计算机处理。计算机输出的数字量有时需要转换为模拟量去控制某些执行元件。

  • A/D转换器完成++模拟量->数字量++的转换
  • D/A转换器完成++数字量->模拟量++的转换

A/D转换器

A/D转换器就是把模拟量转换成数字量的过程。
数字量便于计算机的处理,是自动控制过程的重要步骤。
A/D转换的原理很多,常见的有双积分式、逐次逼近式、计数式等。输出码制有二进制、BCD码等;输出数据宽度(二进制)有8位、12位、16位、20位等。

A/D转换器的主要技术指标

  1. 分辨率
    指A/D转换器能够把模拟量转换成二进制数的位数。

例:用1个10位ADC转换一个满量程为5V的电压,则可能分辨的最小电压率为5000mV/1024=5mV。若模拟输入值小于5mV,则ADC无反应,输出保持不变。

可见,**ADC的数字量输出位数越多,其分辨率就越高。**当分辨率大于微机系统数据总线宽度时,每次转换都需要两次数据的传输。

  1. 转换时间
    从转换启动开始到转换结束,得到稳定的数字量输出所需要的时间。
    转换时间的快慢将会影响ADC接口与CPU交换数据的方式。对于低中速的ADC一般采用查询或中断方式,对于高速的ADC应采用DMA方式。
    低速:查询/中断
    高速:DMA

A/D转换器的外部特性

任何一种A/D转换器一般具有以下信号线:

  1. 模拟信号输入线,有单通道与多通道之分。
  2. 数字量输出线,线的数目决定了分辨率。
  3. 转换启动线(输入),每次启动只能转换一次数据。
  4. 转换结束线(输出),表示ADC作一次转换结束的状态。

A/D转换器与CPU接口的原理和方法

A/D转换器与CPU的连接

  1. ADC的启动信号
    :有脉冲启动 和 电平启动两种。
  2. ADC的输入信号
    :有单通道和多通道之分。
  3. ADC的输出信号
    ADC输出是否有三态锁存;
    ADC的分辨率是否与系统数据总线一致。
  4. ADC的转换结束信号
    :作为查询和中断的依据。

A/D转换器的数据传输

数据的传送可采用查询、中断和DMA方式。不同的方式的电路组成和编程方法不同。

A/D采集的速度取决于:

  1. A/D转换器的转换时间T;
  2. 将数据存入内存所需要的数据传输时间$\tau$。(CSDN的md编辑器打不出来,就是很像t的那个读作tao的符号)
    则采集数据的频率上限为:
    f0=1/(T+$\tau$)
    上述几种方法采集数据的速度是:
查询 中断 DMA

A/D转换器接口控制程序

  1. 查询方式的数据采集程序框架
  • 接口芯片初始化(当采用可编程并行接口芯片时);
  • 选择数据采集通道号(当采用多通道A/D芯片时);
  • 启动A/D转换;
  • 查询转换结束状态;
  • 读取采集数据;
  • 将数据传输到存储器;
  • 在线进行数据处理(显示、打印、存盘等);
  • 采集未完,继续启动下一次转换;
  • 转换完成,退出。
  1. 中断方式数据采集程序框架
  • 接口芯片初始化(当采用可编程并行口芯片时);
  • 可屏蔽中断初始化,包括中断向量修改、中断申请的屏蔽等;
  • 选择数据采集通道号(当采用多通道A/D转换芯片时);
  • 启动A/D转换;
  • 开中断,并等待中断;
  • 转换结束信号申请中断;
  • 进入中断服务程序,在服务程序中读取数据,并将采集数据传输到存储器以及进行在线数据处理;
  • 采集数据未完,继续启动下一次转换;
  • 采集完成,返回。

A/D转换器接口设计

A/D转换器接口设计方案的分析

① ADC的模拟量输入是否是多通道?
② ADC的分辨率是否大于系统数据总线宽度?
③ ADC芯片内部是否有三态输出锁存器?
④ ADC的启动方式是脉冲触发还是电平触发?
⑤ A/D转换的数据采用哪种传输方式?
⑥ A/D转换的数据进行什么样的处理?
⑦ ADC接口电路采用什么元器件组成?

A/D转换器接口设计

例:查询方式的ADC接口电路设计

  1. 要求
    利用ADC0804采集100个数据,采集的数据以查询方式传输到内存BUFR区。接口电路采用普通IC芯片组成。
  2. 分析
    ADC0804是单个模拟量输入;
    ADC0804的分辨率为8位,并具有三态输出锁存器;
    ADC0804的启动方式为脉冲启动;
    数据传输方式为查询方式。


STARTP EQU 310H            ; 转换启动端口
STATEP EQU 311H           ; 状态端口
DATAP EQU 310H          ; 数据端口 DATA SEGMENT BUFR DB 100(0)
DATA ENDS
CODE SEGMENT ASSUME CS: CODE, DS: DATA
BEGIN: MOV SI, OFFSET BUFR   ; 缓冲区指针 MOV CX,100            ; 采样次数
START: MOV DX,STARTP             ; 启动转换 MOV AL,00H             ;(可以是任意值) OUT DX,AL               ; 使CS和WR同时有效
WAIT1: MOV DX,STATEP        ; 查转换结束 IN AL,DX AND AL,80H           ; 查D7=0(INTR=0?) JNZ WAIT1           ; 未结束,等待 MOV DX,DATAP      ; 已结束,读数据 IN AL,DX MOV[SI],AL      ; 数据传输到BUFR区 INC SI         ;缓冲区地址加1 DEC CX          ; 采样次数减1 JNZ START            ; 未完,继续启动 MOV AX,4C00H     ; 已完,退出 INT 21H
CODE ENDS END BEGIN

例:中断方式的ADC接口设计

  1. 要求
    采用ADC0809,从通道7采集100个数据,采集的数据以中断方式传输到内存缓冲区,并将转换结束信号EOC连到IRQ4上,请求中断。
  2. 分析
    要实现上述要求,至少有3个方面的问题需要考虑:
    被控对象ADC0809的特性;
    接口电路结构形式;
    中断处理。




ADC0809的工作过程

根据时序图,ADC0809的工作过程如下:

  1. 把通道地址送到ADDA~ADDC上,选择模拟输入;
  2. 在通道地址信号有效期间,ALE上的上升沿该地址锁存到内部地址锁存器;
  3. START引脚上的下降沿启动A/D转换;
  4. 转换开始后,EOC引脚呈现低电平,EOC重新变为高电平时表示转换结束;
  5. OE信号打开输出锁存器的三态门送出结果。

接口电路结构形式:
采用可编程接口芯片82C55A

中断处理:
本例题是利用微机系统的中断资源,故不需做中断系统的硬件连接和82C59A的初始化。

只需做两件事:

  • 中断向量的修改(IRQ4);
  • 开放IRQ4的中断和CPU中断。
  1. 硬件设计
    本接口电路应能提供如下信号:
  • ADC0809模拟量通道号选择信号
  • 启动信号
  • 读数据允许信号
    (此前3个由82C55A接口芯片实现)
  • EOC的中断请求:直接连到系统总线的IRQ4上。

82C55A的4个端口地址是:
300H(A口)、301H(B口)、302H(C口)、303H(命令口)。


 MOV DX,303H     ;82C55初始化,A口输入MOV AL,90HOUT    DX,ALMOV AL,0EH      ;置PC7=0,使START和ALE无效OUT   DX,ALMOV AL,0CH      ;置PC6=0,使OE无效OUT  DX,ALMOV AX,350CH    ;获取IRQ4的中断向量并保存INT    21HMOV  OLD-OFF,BXMOV    BX,ESMOV OLD-SEG,BXCLIMOV AX,250CH     ;置新中断向量MOV   DX,SEG A-DMOV    DS,DXMOV DX,OFFSET A-DINT 21HMOV  AX,DATA      ;恢复数据段MOV    DS,AXSTIIN   AL,21H       ;开放IRQ4AND   AL,0EFHOUT   21H,ALMOV    CX,100       ;设置采集字节数MOV  DI,OFFSET BUFF   ;设置内存指针
BEGIN:MOV    DX,303H      ;82C55初始化,A口输出MOV    AL,80HOUT    DX,ALMOV DX,300H      ;选择通道7MOV    AL,07HOUT    DX,ALMOV DX,303H      ;启动转换MOV AL,0FH       ;START启动(地址锁存)OUT    DX,ALNOPMOV  AL,0EH           ;START启动(启动转换)OUT    DX,ALSTI             ;开中断HLT              ;等待中断DEC CX          ;采样次数减1JNZ   BEGIN           ;没完,继续CLI           ;已完,关中断MOV  AX,250CH   ;恢复IRQ4的原中断向量MOV   DX,OLD-SEGMOV    DS,DXMOV DX,OLD-OFFINT    21HMOV  AX,DATA    ;恢复数据段MOV  DS,AXSTIIN   AL,21HOR AL,10H     ;屏蔽IRQ4OUT 21H,ALMOV    AX,4C00H   ;返回DOSINT  21H
A-D PROC    FAR       ;中断服务程序PUSH    AX        ;保护现场PUSH  DXCLI             ;关中断MOV    DX,303H    ;打开三态锁存器MOV    AL,0DHOUT    DX,AL      ;置PC6=1高MOV   DX,303H    ;82C55初始化,A口输入MOV  AL,90HOUT    DX,ALMOV DX,300HIN    AL,DX       ;从PA口读数据MOV   AH,ALMOV DX,303HMOV   AL,0CHOUT    DX,AL       ;置PC6=0低MOV  [DI],AH    ;存取数据INC   DI        ;内存地址指针加1MOV   AL,20H     ;发中断结束命令OUT    20H,ALPOP    DX        ;恢复现场POP   AXSTI             ;开中断IRET             ;中断返回
A-D ENDP

D/A转换器

D/A转换器的主要技术指标

  1. 分辨率
    指DAC能够把多少位二进制数转换成模拟量。

例:DAC0832能够把8位二进制数转换成电流,所以DAC0832的分辨率是8位。

  1. 转换时间
    从数字量输入到DAC完成转换所需要的时间。

D/A转换器的外部特性

DAC的外部信号线包括:

  1. 数字信号输入线;
  2. 模拟信号输出线
  3. CS信号线和WR(或WR1,WR2)信号线(注意都带上划线,即低电平有效),用于形成DAC的启动转换信号;
  4. 数据输入锁存控制线;
  5. 模拟量输出通道地址线。

D/A转换器与CPU接口的原理和方法

D/A转换器与CPU的连接

DAC与CPU的接口包括硬件连接和软件编程。DAC接口电路的结构形式也有下列几种:

  1. 采用中小规模逻辑芯片;
  2. 利用可编程并行I/O接口芯片;
  3. 采用GAL器件。

D/A转换器接口的主要任务

D/A与A/D有很多不同之处,表现在:

  1. DAC一般不需要专门的控制信号去触发,只要CPU把数据送到它的输入端,就开始转换。
  2. DAC不提供转换结束状态信号。

DAC主要解决的是:

  1. CPU与DAC之间的数据缓冲问题
  2. 当D/A转换器的分辨率大于数据总线的宽度时,CPU必须分两次传送和同时选通。

D/A转换器接口设计方案的分析

① DAC的模拟量输出是否是多通道?
② DAC的分辨率是否大于系统数据总线的宽度?
③ DAC芯片内部是否有三态输入锁存器?
④ DAC的启动方式,只有脉冲触发一种。DAC不设专门的转换启动信号,是利用CS和IOW共同进行假写操作,来实现脉冲启动的。
⑤ DAC的数据传输方式,只有无条件传输一种。
⑥ DAC接口电路采用什么元器件组成?

D/A转换器接口电路设计

例:DAC接口电路设计

  1. 要求
    通过DAC0832产生三角波、锯齿波、方波等。
  2. 分析
  • DAC0832是单通道模拟量输出,不需通道选择;
  • DAC0832有两级缓冲锁存器,它有3种工作方式:
    双缓冲方式、单缓冲方式和直通方式。

引脚功能:

  • CS:片选信号,与ILE配合选定芯片
  • ILE:输入锁存允许
  • WR1:写输入锁存器
    上述三个信号用于把数据写入到输入锁存器
  • WR2:写DAC寄存器
  • XFER:允许输入锁存器的数据传送到DAC寄存器
    上述二个信号用于启动转换
  • D7~D0:输入数据线
  • IOU1、IOU2:D/A转换差动电流输出,接运放的输入
  • Rfb:内部反馈电阻引脚,接运放输出
  • VREF:参考电压:-10V~+10V,一般为+5V或+10V
  • VCC: 芯片电源:+5V~+15V,最佳工作状态:+15V
  • AGND、DGND:模拟地和数字地

DAC0832有三种工作方式:

  1. 双缓冲方式(LE1和LE2分别控制)
    1:直通。输出随输入变化
    0:锁存
  2. 单缓冲方式(其中LE1和LE2有一个直通)
  3. 直通方式(LE1和LE2均为直通)

注:在DAC实际连接中,要注意区分“模拟地”和“数字地”的连接,为了避免信号串扰,数字量部分只能连接到数字地,而模拟量部分只能连接到模拟地。

双缓冲方式(标准方式)
转换要有两个步骤:

  • 将数据写入输入寄存器

    • CS=0、WR1=0、ILE=1 -> WR1=1
  • 将输入寄存器的内容写入DAC寄存器
    • WR2=0、XFER=0 -> WR2=1

优点:
数据接收与D/A转换可异步进行;
可实现多个DAC同步转换输出。
++分时写入、同步转换++




软件设计:三角波程序

;8255初始化MOV DX,303H    ;8255的命令口MOV AL,10000000B ;8255的方式字OUT DX,AL
;指定B口控制DAC的转换MOV DX,301H      ;8255A的B口地址MOV AL,00010000B   ;置DAC0832为直通工作方式OUT DX,AL         ;生成三角波的循环MOV DX,300H      ;8255A的A口地址MOV AL,0H      ;输出数据从0开始
L1:OUT    DX,ALINC    AL      ;输出数据加1JNZ    L1     ;AL是否加满?未满继续MOV    AL,0FFH ;已满,AL置全1
L2:OUT    DX,AL DEC    AL     ;输出数据减1JNZ    L2     ;AL是否减到0?不为0继续JMP    L1       ;为0,AL加1



【汇编与接口】ADA转换器相关推荐

  1. 倍思 USB分线器3.0高速扩展4口HUB多接口扩展转换器 功能多一点 效果好很多

    笔记本外设接口不足问题,对于白领一族带来的影响非常大,日常工作中经常会遇到文件传输问题,例如将移动硬盘中的文件拷贝到U盘上,或者是将手机上接收到的一些办公文件拷贝到移动硬盘上等等,由于多数潮流笔记本电 ...

  2. 100G光接口模式转换器

    eWAVE5101L模式转换设备是为40/100G传输灵活转换不同光接口而开发的.通过改变不同类型的CFP模块,几乎支持100GBASE-LR4,100GBASE-ER4和100GBASE-SR10等 ...

  3. c 汇编语言用标准函数代替,C与汇编的接口技术

    现今,完全用汇编书写的程序是非常少的.编译器能很好地将高级语言转换成有效的机器代码.因为用高级语言书写代码非常容易,所以高级语言变得很流行.此外,高级语言比汇编语言更容易移植! 当使用汇编语言时,我们 ...

  4. 【嵌入式实验】《ARM汇编与接口设计》

    嵌入式实验 一.实验目的 二.实验内容 三.预备知识 四.实验设备及工具(包括软件调试工具) 五.实验步骤 5.1 ADS开发工具安装和使用 插话 5.2 arm-linux-gcc编译工具安装和使用 ...

  5. 汇编与接口技术期末复习笔记(1)—— 汇编部分

    文章目录 0. 计组先导知识 0.1 进位计数制 0.2 计算机中数和字符的表示 1. 基础知识 1.1 汇编语言 1.2 硬件接口 2. 80x86计算机组织 2.1 计算机系统 2.2 8086微 ...

  6. 汇编与接口技术实验报告

    文章目录 8254A不同工作方式的实验 利用8255A实现LED流水灯点亮实验 8259中断实验 A/D D/A 转换实验 8254A不同工作方式的实验 一.实验目的 掌握8254A和微机接口的连接方 ...

  7. 汇编与接口技术课程总结1——汇编程序debug调试

    实验目的: 进一步学习汇编语言基本指令使用方法: 学习DEBUG调试工具的基本使用方法:掌握debug调试命令a.u.r.d.t.g等 逐条观察程序指令的执行过程,理解指令的功能,理解程序自动.顺序地 ...

  8. 【汇编与接口】并行接口总结

    文章目录 并行接口的特点 并行接口电路结构形式 可编程并行接口芯片82C55A 82C55A外部特性 内部结构 82C55A的端口地址 82C55A的编程命令 82C55A的0方式及其应用 例题: 并 ...

  9. 苹果计算机转换,便携毕亚兹苹果计算机转换器,超极本的少接口都能转换身份...

    前一秒钟,也许你还为拥有类似微软Surface这样的轻便型电脑而高兴,后一秒钟你就会发现自己这款平板电脑的接口根本不够用,和很多超极本一样,都存在着少接口的问题. 当咱们想接驳更多外设.显示器时,就需 ...

最新文章

  1. 大佬是怎么优雅实现矩阵乘法的?
  2. 添加绿色版UltraEdit到右键菜单
  3. sdcms的一个bug,总是提示,该文件不允许被上传
  4. cordova使用cordova-plugin-baidumaplocation插件获取定位
  5. C++中的 smart pointer 四个智能指针
  6. 多数据源使用spring-data-jpa无法部署到JBoss As Server
  7. python之绝对导入和相对导入
  8. 中文宾州树库标记含义
  9. 【图像增强】python图像数据增强
  10. 华为平板android版本如何升级,华为平板怎么升级替换系统 华为平板刷机的教程...
  11. 平面几何----斜射影定理的应用
  12. geem2登陆器修改服务器列表,Gee引擎怎么更换登陆器皮肤 GeeM2传奇编辑自定义皮肤的方法讲解...
  13. 苹果开发者账号绑定设备已满
  14. 移动流量转赠给好友_中国移动怎样转赠手机流量?月结流量用不完怎办
  15. 请问有没有一款外放音质较好的手机?真双扬声器、环绕立体声,横屏时扬声器左右对称?
  16. 【物联网】三大厂家NB-IOT卡对比
  17. POJ3322 Bloxorz “迷宫”类经典例题
  18. es查询索引java_elasticsearch查询篇索引映射文档数据准备
  19. 制作一个简单HTML家乡网页(HTML+CSS)---家乡邢台 页面7个
  20. 设计模式之略见一斑(单例模式singleton)

热门文章

  1. H3C SE 教程笔记——构建安全优化的广域网(下)
  2. 题目:用D触发器带同步高置数和异步高复位端的二分频的电路,画出逻辑电路,Verilog描述。
  3. 清明节 java_java生成12位唯一id 2013.3.12大三班清明节生成活动记录表.doc
  4. 企业需要k2来解放孤岛危机
  5. Creator新手引导 | 限制只能点击一个按钮 | 文字打字机效果
  6. 我谈“孙宇晨拍天价午餐”
  7. 晶体三极管的三个工作区域及温度对特性的影响
  8. 数仓建模之声明粒度 一文读懂什么是粒度 看完保证通透!
  9. 杭州烟花事故可能因燃放公司不熟环境-杭州-烟花事故
  10. 2021-10-28 集训第三天 神奇的Tom猫