1 / 22

微机接口技术与应用 (第十章)

微机接口技术与应用 (第十章). 第十章 A/D 与 D/A 转换器接口. 本章内容 10.1 D/A 转换器的接口方法 10.2 D/A 转换器接口电路设计 10.3 A/D 转换器接口基本原理与方法 10.4 查询方式的 A/D 转换器接口电路设计 10.5 中断方式的 A/D 转换器接口电路设计 10.6 微型计算机系统的 A/D 、 D/A 通道. 5V. 8 位 :5V/2 8 10 位 :5V/2 10. 模拟量. 实际曲线 1. 理想曲线. V FS. 实际曲线 2. 线性误差最大. 数字量. 2 n.

britain
Download Presentation

微机接口技术与应用 (第十章)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 微机接口技术与应用(第十章)

  2. 第十章 A/D与D/A转换器接口 • 本章内容 • 10.1 D/A转换器的接口方法 • 10.2 D/A转换器接口电路设计 • 10.3 A/D转换器接口基本原理与方法 • 10.4 查询方式的A/D转换器接口电路设计 • 10.5 中断方式的A/D转换器接口电路设计 • 10.6 微型计算机系统的A/D、D/A通道

  3. 5V 8位:5V/28 10位:5V/210 模拟量 实际曲线1 理想曲线 VFS 实际曲线2 线性误差最大 数字量 2n 10.1 D/A转换器的接口方法 • D/A转换器及其连接特性 D/A转换器(DAC):将数字量转换成模拟量的线性电路器件 1)DAC的主要参数 • 分辨率:DAC能转换的二进制数的位数。位数越多,分辨率越高 • 转换时间:从输入数字量到转换结束,输出达到最终值并稳定所需的时间电流型:几百ns~几µs;电压型:运算放大器的响应时间 • 精度:DAC实际输出电压与理论值之间的误差。单位:LSB • 线性度:当数字量变化时,输出模拟量按比例变化的程度 线性误差:模拟输出偏离理想输出的最大值 2)DAC的连接特性 • 输入缓冲能力:是否外加数据锁存器 • 输入数据的宽度(分辨率):与系统数据总线宽度比较——数据几次输入 • 输入数据码制:二进制、BCD码或补码、偏移二进制码 • 输出模拟量的类型:电压型、电流型 • 输出模拟量的极性:单极性、双极性 本章首页

  4. IOR PC插槽 1 DAC0808 A0~9 译码电路 IO - AEN + GND CP D1~8 Q1~8 +5V - Y0 Y1 IOW 9 D0~7 D0~7 + 1 Vn D0 Vi Y0:318H Y1:319H LM710 ‘+’’-’,’9’=1 LM710 (比较器) ‘+’<’-’,’9’=0 • D/A转换器与微处理器的接口方法 • 直接与CPU相连——有输入锁存能力 • 采用中小规模逻辑芯片与CPU相连 • 利用通用并行接口芯片与CPU相连 • 采用GAL器件 1)接口的任务——数据缓冲,无条件传送 2)接口的结构形式 10.2 D/A转换器接口电路设计 • 无三态输入缓冲器、8位DAC 3)硬件连接 1)要求——用DAC0808构成一个ADC 2)分析 DAC0808——8位,无三态缓冲能力 外加数据锁存器;数字量由DAC0808转换成电压与输入电压比较 若输入电压比n对应电压大,但比n+1对应电压小,则结果为n或n+1 本章首页

  5. 00H 80H 100H • 试探程序段 00H 40H 80H 100H Vi<Vn(D0=0) 00H 40H 60H 80H 100H Vi>Vn(D0=1) … ;试探初值 MOV CH,0 MOV CL,80H ADD CH,CL MOV DX,319H MOV AL,CH OUT DX,AL MOV DX,318H IN AL,DX AND AL,01H JNZ OK SUB CH,CL SHR CL,1 JNC NEXT … … ;试探增量初值 ;形成新试探值 NEXT: 结束条件 增量=1 试探过 ;试探值送DAC ;D0=1,试探值偏小 ;D0=0,恢复上次试探值 结果7BH 3 2 1 ;试探增量减半 OK: ;(CH)为转换结果 4)软件编程 采用逐次逼近的方法寻找数字量结果,二分搜索法 每次中确定区间的中间值去试探 寄存器使用:CH——试探值;CL——试探值增量 • 例:Vi=5V*7BH/256——结果应=7BH 本章首页

  6. DAC0832 DAC0832 D0~7 D0~7 Io1 输入寄存器 DAC寄 存 器 ILE D/A转 换 器 +5V ILE +5V D0~7 A Io2 A Y1 Y0 ;转换N MOV AL,N OUT P1,AL OUT P2,AL DAC0832 D0~7 DAC0832——8位,内部有两级三态缓冲器 ILE=1,CS=WR1=0,写入第1级缓冲器 XFER=WR2=0,写入第2级缓冲器,并开始转换 ILE +5V ILE A Y Y 双缓冲方式 XFER XFER 单缓冲方式(1) 1:相应缓冲器打开 0:相应缓冲器关闭 LEi= CS CS CS CS CS LE2 LE1 WR2 WR1 WR1 WR1 WR1 WR2 WR2 WR1 WR1 WR2 XFER 单缓冲方式(2) DAC0832 D0~7 DAC0832的内部结构 & ILE +5V A XFER XFER IOW IOW IOW & & 直通方式 (需外加锁存器) ;转换N MOV AL,N OUT P,AL • 有三态输入缓冲器、8位DAC——DAC0832 1)要求——用DAC0832产生三角波、方波、锯齿波或梯形波等 2)分析 • DAC0832的主要特性 • DAC0832的工作方式 本章首页

  7. 将所有0832的ILE接高电平,WR1、WR2与IOW相连,CS和XFER的连接如图将所有0832的ILE接高电平,WR1、WR2与IOW相连,CS和XFER的连接如图 Yn Y1 Y2 0832(1) 0832(2) 0832(n) A A A MOV AL,N1 OUT P1,AL MOV AL,N2 OUT P2,AL … MOV AL,Nn OUT Pn,AL OUT P,AL DAC0832 8255A MOV DX,303H MOV AL,80H OUT DX,AL MOV DX,300H MOV AL,0 OUT DX,AL INC AL JNZ UP MOV AL,0FEH OUT DX,AL DEC AL JNZ DOWN JMP UP PA0~7 D0~7 XFER XFER XFER XFER PB4 ILE CS CS CS CS CPU A PB3 WR2 WR1 MOV DX,PORT MOV AL,0 OUT DX,AL INC AL JMP PB2 PB1 NEXT: PB0 UP: … Y 单缓冲方式输出正向锯齿波? 输出 三角波 DOWN: 如何输出方波、梯形波? • DAC0832双缓冲方式的应用——多个模拟通道要求同时更新数据 设要求同时更新的数据依次为N1、N2…Nn,则程序段: 3)设计(采用直通方式,用8255A作接口) 本章首页

  8. D0~3 Q0~3 D0~7 Q0~7 D0~7 Q0~7 PC插槽 12位DAC 第一级 第二级 C C C D0~7 D0~7 A D0~3 D8~11 译码电路 AEN A0~9 右对齐 转换数据123H MOV AX,0123H OUT P0,AL MOV AL,AH OUT P1,AL Y0 Y1 IOW • 无三态输入缓冲器、12位DAC 数据分两次写入,加两级缓冲器 左对齐: 右对齐: • 有三态输入缓冲器、12位DAC——DAC1210 1)内部结构 内部有两级缓冲器,左对齐方式输入数据内部结构与DAC0832类似 本章首页

  9. 高8位写入条件:B1/B2=1且CS=WR1=0 低4位写入条件:CS=WR1=0 打开第2级缓冲:XFER=WR2=0 8位输入 寄存器 D4~11 Io1 12位 DAC 寄存器 12位 D/A 转换器 Io2 必须先写高8位 后写低4位(写入时令B1/B2=0) LE1 D0~3 Y1 Y0 4位输入 寄存器 B1/B2 将数据123H送给DAC1210进行转换 XFER XFER • 左对齐,数据存于BX=1230H • 对341H写, Y1=0,Y0=Y2=1,CS=0,WR1=0,B1/B2=1,写入高8位(低4位也同时写入) • 对340H写, Y0=0,Y1=Y2=1,CS=0,WR1=0,B1/B2=0,只写入低4位 • 对342H写, Y2=0,Y0=Y1=1,XFER=0,WR2=0,CS=1, 打开第2级缓冲器并开始转换 CS CS DAC1210的内部结构 转换程序段 WR1 WR1 WR1 WR2 B1/B2 MOV BX,1230H MOV DX,341H MOV AL,BH MOV DX,340H MOV AL,BL OUT DX,AL MOV DX,342H OUT DX,AL ;写入高8位 PC插槽 DAC1210 左对齐 D0~7 & D8~11 ;写入低4位 D4~7 D0~3 & IO2 Y2 IO1 AEN 译码电路 ;开始转换 A0~9 IOW & & LE3 LE2 Y0:340H,Y1:341H,Y2:342H 2)应用举例 本章首页

  10. 芯片型号 启动信号 转换结束状态 超高速(330ns) 次超高速(330ns~3.3µs) 高速(3.3µs~20µs) 中速(20µs~300µs) 慢速(>300µs) ADC0809 START EOC ADC必须由外部启动 直接转换型:逐次逼近(较高分辨率及速度)、并联比较 间接转换型:积分型(抗干扰、高分辨率、但速度慢)、电压/频率、电压/脉宽 按速度分 AD570 B/C=0 DR 按原理分 ADC0804 CS.WR INTR ADC7570 START BUSY=1 ADC1131J CONVCMD STATUS下降沿 ADC1210 SC CC AD574 CE.(R/C=0).CS STS=0 必备 信号线 • 模拟信号输入线:单通道/多通道 • 数字量输出线:分辨率 • 转换启动线:启动方式 • 转换结束状态线:查询/引发中断/请求DMA 脉冲启动电平启动 10.3 A/D转换器接口基本原理与方法 • A/D转换器及其连接特性 A/D转换器(ADC):将模拟量转换成数字量的线性电路器件 按分辨率分:4位、8位、10位、12位… 1)ADC的主要参数 • 分辨率:ADC能转换成的二进制数的位数。位数越多,分辨率越高 • 转换时间:从输入启动信号到转换结束,得到稳定的数字量所需的时间 • 精度、线性度同DAC 2)ADC的外部特性 本章首页

  11. 发启动转换信号 • 取回“转换结束”状态信号 • 读取转换结果 • 进行通道选择:多通道ADC • 发采样/保持(S/H)控制信号:高速变化信号 必须完成 • ADC与微处理器的接口方法 3)ADC数据的传送 1)ADC与CPU的连接 • 分辨率:是否高于系统数据总线的宽度 • 数据输出结构:是否有三态缓冲功能 • 启功方式:脉冲启动(读写脉冲)/电平启动(经锁存) • 数据传送方式:查询、中断、DMA、板上RAM方式 • 查询方式 • 中断方式 • DMA方式:高速ADC • 板上RAM方式:超高速ADC 4)ADC接口电路的结构形式 2)ADC接口的主要操作 • 直接与CPU相连——有三态缓冲能力 • 采用中小规模逻辑芯片与CPU相连 • 利用通用并行接口芯片与CPU相连 • 采用GAL器件 本章首页

  12. 可写入任意值 数据采集程序段 Y0 Y1 MOV CX,64 LEA DI,BUF MOV DX,312H OUT DX,AL MOV DX,310H IN AL,DX AND AL,80H JNZ WAIT MOV DX,311H IN AL,DX AND AL,0F0H MOV [DI],AL MOV DX,312H IN AL,DX MOV [DI+1],AL ADD DI,2 LOOP NEXT ;启动转换 NEXT: CE=1且CS=0时, 0:启动,A0= 1:读结果,12/8= 0:输出高字节 1:输出低字节 WAIT: R/C= CS 0:启动12位转换 1:启动8位转换 PC插槽 AD574A • 对312H写,启动一次12位转换 • 对310H读,取回STS(D7位) • 对311H读,读回低字节(D4~D7) • 对312H读,读回高字节 ;STS=1,等待 12/8 D0~7 D8~11 D7 D4~7 ;读取低4位 D0~3 & Y2 STS Y0:310H,Y1:311H,Y2:312H & A AEN 译码电路 IOW IOR 0:结果分两次输出,A0= 1:结果一次输出 A0~9 ;读取高8位 A0 R/C CE 10.4 查询方式的A/D转换器接口电路设计 • 有三态输出锁存器、12位ADC——AD574A 12位转换,数据分两次读出,查询方式,采集64个数据左对齐存入BUF为首址的内存 • AD574A的主要特性——分辨率可选(8位/12位),单通道,逐次逼近型,负脉冲启动,转换时间25µs STS=1,转换过程中,=0,转换结束 • 硬件连接 • 软件编程 本章首页

  13. 读到的数据无意义 采集一个数据BX • 设Y0~Y2的地址为330H~332H • 对332H读,启动一次转换 • 对330H读,取回CC(D7位) • 对331H读,读低8位 • 对330H读,读高4位(D0~D3) MOV DX,332H IN AL,DX MOV DX,330H IN AL,DX AND AL,80H JNZ WAIT MOV DX,331H IN AL,DX MOV BL,AL MOV DX,330H IN AL,DX AND AL,0FH MOV BH,AL G G ;启动转换 WAIT: PC插槽 ADC1210 LS244 右对齐 ;CC=1,等待 D0~7 D0~7 Q0~7 D0~7 D7 ;读取低8位 D0~3 A SC:启动信号,负脉冲有效;CC:转换结束,低有效 IN D0~3 Q0~3 D8~11 Y0 ;读取高4位 A0~9 AEN D7 Q7 • 无三态输出锁存器、8位ADC——AD570 IOR B/C:启动信号,低电平有效,转换过程中变高,转换中止; DR:转换结束,低有效 译码电路 1 1 1 Y1 Y2 逐次逼近型,转换时间25µs SC CC • 无三态输出锁存器、12位ADC——ADC1210 本章首页

  14. 用8255A作接口,采集256个数据,查询方式存于首址为BUF的内存用8255A作接口,采集256个数据,查询方式存于首址为BUF的内存 数据采集程序段 8255A MOV DX,303H MOV AL,98H OUT DX,AL MOV AL,03H OUT DX,AL LEA DI,BUF MOV CX,256 MOV AL,02H OUT DX,AL MOV DX,302H IN AL,DX AND AL,20H JNZ WAIT MOV DX,300H IN AL,DX MOV [DI],AL MOV DX,303H MOV AL,03H OUT DX,AL INC DI LOOP NEXT AD570 PA0~7 ;8255A方式 D0~7 CPU PC1 A IN PC5 ;置启动信号无效 DR 地 地 8255A作脉冲启动的ADC接口,程序如何修改? ;启动转换 NEXT: NOP NOP 负脉冲 8255A的PA方式0,输入;PC上输入PC下输出;方式字:98H 启动转换:PC1置0,有锁存功能 读状态:读PC口(PC5=0,转换结束) 读结果:读PA口 WAIT: B/C ;DR=1,等待 ;读转换结果 ;置启动信号无效 • 硬件连接 • 软件连接 本章首页

  15. 多通道、8位ADC——ADC0809 定时和控制 START CLK 通道选择开关 1 1 EOC IN0 ADC0809 OE D0~7 逐次逼近寄存器(SAR) IN1 Y1 Y0 开关树组 (256R) … D0~7 通道地址锁存及译码 IN7 D7 D0 D1 D2 输出 锁存器 (三态) ADDC IN0 比较器 D0~7 ADDB 1 ADDA ADDA IN1 ADDB EOC … ADDC A/D IN7 VR(+) VR(-) ALE OE ADC0809的内部结构 ALE START Y2 IOR IOW • ADC0809的主要特性——8个模拟通道、逐次逼近型,正脉冲启动,有三态输出锁存器 • 硬件连接 IN0~IN7:通道0~7的模拟量输入 D0~7:数字量输出 ADDC、ADDB、ADDA:通道(0~7)选择 ALE:通道地址锁存,正脉冲有效 START:启动信号,正脉冲有效,上升沿所有寄存器清0,下降沿开始转换 EOC:转换结束,高有效 OE:允许输出,高有效 通常,通道选择由数据信号完成 START与ALE相连:选择通道的同时启动 本章首页

  16. 依次采集通道0~7,只要将通道号+1即可(最低三位有效)依次采集通道0~7,只要将通道号+1即可(最低三位有效) • 将通道号写入P2,启动转换并锁存通道号 • 对P0读,读回EOC(D7) • 对P1读,读取转换结果 程序段: LEA DI,BUF MOV CX,256 MOV BL,0 MOV DX,P2 MOV AL,BL OUT DX,AL MOV DX,P0 IN AL,DX AND AL,80H JZ WAIT MOV DX,P1 IN AL,DX MOV [DI],AL INC BL INC DI LOOP NEXT ;启动转换 ;通道号初值=0 依次对8个通道采样,共采集256个数据,存于BUF区中 NEXT: ;启动并锁存通道号 WAIT: ;EOC=0,等待 ;读取结果 ;通道号+1 • 软件编程 本章首页

  17. ADC0804 8259A TP86 IR0 INT INTR A0 INTA INTR INTA A IN D0~7 D0~7 XFER D0~7 CS CS CS DAC0832 WR1 WR2 A1 D0~7 CS=WR=0,启动;CS=RD=0,结果输出 RD A0~9 IO2 … RD RD IO1 AEN WR WR WR 1 ADC0804的INTR反相后向8259A的IR0申请中断 INTR:转换结束信号,低有效 ILE +5V 译码电路 10.5 中断方式ADC接口电路设计 单板机系统中断方式的数据采集系统设计 • 要求 以TP86为控制器,对单通道模拟信号采集512个8位数据,中断方式存BUF,并送入DAC • 硬件分析与设计 ADC0804;DAC0832;8259A • ADC0804的工作特性 ADC0804:8位,内部有三态锁存器,负脉冲启动 • 中断控制分析 ADC0804的地址:FFD4H;DAC0832的地址FFD6H 8259A的地址:FFDCH、FFDEH • 硬件连接 本章首页

  18. 主程序 中断服务程序 CLI MOV DX,0FFDCH MOV AL,13H OUT DX,AL MOV DX,0FFDEH MOV AL,80H OUT DX,AL MOV AL,01H OUT DX,AL MOV AX,0 MOV ES,AX MOV BX,4*80H MOV ES:[BX],OFFSET A_D MOV ES:[BX+2],SEG A_D LEA DI,BUF MOV CX,512 MOV DX,0FFDEH IN AL,DX AND AL,0FEH OUT DX,AL MOV DX,0FFD4H OUT DX,AL 主程序主要内容 8259A初始化 中断向量装入 启动ADC0804 开中断 等待中断发生 中断服务程序内容 从ADC0804读数 将数写入DAC0832 存储数据 中断结束命令 A_D PROC ;保护现场 ;8259A的ICW1 MOV DX,0FFD4H IN AL,DX MOV DX,0FFD6H OUT DX,AL MOV [DI],AL INC DI ;读取结果 ;8259A的ICW2 ;送给DAC ;8259A的ICW4 ;存储 ;恢复现场 ;装入中断向量 MOV AL,20H MOV DX,0FFDCH OUT DX,AL IRET ;EOI命令 A_D ENDP STI HLT CLI DEC CX JNZ NEXT ;等待转换结束 ;8259A的IMR2=0 NEXT: ;启动转换 • 软件编程 本章首页

  19. 即:漏电电流越小越好 • 切换开关接通时,希望它的导通静态电阻无穷小 • 切换开关断开时,希望它的开路静态电阻无穷大 • 切换速度越快越好 - - A2 AS + VOUT A1 + + • 技术指标 • 孔径时间:从发保持命令到开关断开 • 采样时间:从发采样命令到输出电压达到输入值 • 保持电压衰减速率:保持状态下,漏电引起保持电压衰减 + VIN CH 控制端 S/H原理 10.6 微型计算机系统的A/D、D/A通道 • 模拟通道的电路组成 • A/D通道:CPU、模拟量输入接口、ADC、采样/保持器(S/H)、多路模拟开关(AMUX) • D/A通道:CPU、模拟量输出接口、DAC、多路模拟开关(AMUX)、输出保持器(缓冲器) 1)多通道模拟开关——实现信号的分时切换 AMUX AD7501(81);AD7506(161) CD4051(81);CD4097B(161) 2)采样保持器(S/H)——对高速变化的信号源,冻结时变信号的瞬时值 S/H:LF398、AD582、AD583、THS-0060、THS-0010 S/H构成:开关+电容 S/H工作状态:采样状态和保持状态 本章首页

  20. CPU … … … … 并行多通道A/D A1 多 路 开 关MUX A2 CPU … … An 共享A/D的多通道 A1 多 路 开 关MUX A1 An A2 S/H A/D I/O S/H A/D I/O S/H A/D S/H I/O S/H S/H S/H I/O A/D A/D I/O A2 CPU … An 共享S/H和A/D的多通道 • 模拟通道的结构形式 1)A/D通道的结构形式 • 单通道 • 不带S/H——直流或低频模拟信号 • 带S/H——高频变化的模拟信号 • 多通道 • 每个通道有自己的S/H和ADC——并行多通道 • 各通道有自己的S/H,共享ADC • 各通道共享S/H和ADC 本章首页

  21. A1 A1 多 路 开 关MUX A2 A2 CPU CPU … … … … … 锁存器2 保持器2 锁存器1 保持器n 保持器1 锁存器n An An D/A D/A D/A D/A I/O 并行多通道D/A 共享D/A的多通道 2)D/A通道的结构形式 • 单通道 • 带输入锁存器——不需要刷新 • 带保持器输出——靠电容维持,要刷新 • 多通道 • 每个通道都有锁存器和DAC——并行多通道 • 各通道共享DAC 本章首页

  22. 本章要点 • DAC及其主要参数 • DAC0832、DAC1210、无输入锁存器的DAC的接口电路设计及编程应用 • ADC及其主要参数、ADC的外部信号线 • ADC接口的主要操作 • 采用查询或中断方式,利用典型ADC实现数据采集的电路设计及编程 • A/D、D/A通道的组成 • 多路模拟开关的作用、性能指标 • 采样保持器的工作状态、工作原理、性能指标 本章首页

More Related