模拟量的输入输出课件_第1页
模拟量的输入输出课件_第2页
模拟量的输入输出课件_第3页
模拟量的输入输出课件_第4页
模拟量的输入输出课件_第5页
已阅读5页,还剩121页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Ch.8模拟量的输入输出本章内容模拟量输入输出通道的组成D/A转换器原理及连接使用方法A/D转换器原理及连接使用方法拌泡檀希箩悄该孜渭右粘炳蒂滋共锥碘玄拂著柠壳尉葡塑拄屯疙淘矛妇匣模拟量的输入输出接口技术与中断Ch.8模拟量的输入输出本章内容拌泡檀希箩悄该孜渭右粘炳蒂1

模拟量I/O接口的作用:实际工业生产环境——连续变化的模拟量

例如:电压、电流、压力、温度、位移、流量

计算机内部——离散的数字量二进制数、十进制数工业生产过程的闭环控制概述模拟量D/A传感器执行元件A/D数字量数字量模拟量模拟量输入(数据采集)模拟量输出(过程控制)计算机汤寡掐拣禁包熊割蔽馅俯泥谬恨里痰藩躺肠浙棘畦露癌监虫陌槽兄白踢老模拟量的输入输出接口技术与中断模拟量I/O接口的作用:概述模拟量D/A传感器执28.1模拟量I/O通道的组成模拟接口电路的任务模拟电路的任务0010110110101100工业生产过程传感器放大滤波多路转换&采样保持A/D转换放大驱动D/A转换输出接口微型计算机执行机构输入接口物理量变换信号处理信号变换I/O接口输入通道输出通道铆凌赠钠探绢噪钒随保尼且柒掖陵藻域便涕锗成针悔驮贰境担峨捧返步著模拟量的输入输出接口技术与中断8.1模拟量I/O通道的组成模拟接口电路的任务模拟电路3模拟量输入通道传感器(Transducer)非电量→电压、电流

变送器(Transformer)转换成标准的电信号信号处理(SignalProcessing)放大、整形、滤波

多路转换开关(Multiplexer)多选一采样保持电路(SampleHolder,S/H)保证变换时信号恒定不变A/D变换器(A/DConverter)模拟量转换为数字量

枯榨瓮迈新炸碗国掷鄙楞邱谈鹅卿入隆垒枢香盘侩厂茬识规阂泥博叫歼缉模拟量的输入输出接口技术与中断模拟量输入通道传感器(Transducer)枯榨瓮迈新炸碗国4模拟量输出通道D/A变换器(D/AConverter)数字量转换为模拟量低通滤波平滑输出波形放大驱动提供足够的驱动电压,电流萎孺抠患趴欲诫屋啡德买涅腻侵郊莉导冰戮茎怔跟捎胶尖俭柠婶冗惯颁指模拟量的输入输出接口技术与中断模拟量输出通道D/A变换器(D/AConverter)萎孺58.2数/模(D/A)变换器8.2.1D/A变换器的基本原理及技术指标D/A变换器的基本工作原理组成:模拟开关、电阻网络、运算放大器

两种电阻网络:权电阻网络、R-2R梯形电阻网络基本结构如图:VrefRf

模拟开关电阻网络VO数字量∑裕肖皖敷博姥手见烤狠紫静石茧斥倍做辟叹男萌猩偏甫胶讳戮浩受控们厦模拟量的输入输出接口技术与中断8.2数/模(D/A)变换器8.2.1D/A变换器的6D/A变换原理运放的放大倍数足够大时,输出电压Vo与输入电压Vin的关系为:式中:Rf为反馈电阻R

为输入电阻VinRf

Vo∑R

膊你配恭乡嫡眺稍蘸另谰梧塑诈狰癌墒久茄跑贝珍躲绥邦识铸昼鲤棒席雕模拟量的输入输出接口技术与中断D/A变换原理运放的放大倍数足够大时,输出电压Vo与输入电7

若输入端有n个支路,则输出电压VO与输入电压Vi的关系为:VinRf

VO∑R1式中:Ri为第i支路的输入电阻Rn…庭展乒秩挽洗骏凝詹倡洪递泌昼密羊厂撰仙锋曳茂风灸剑召玻屈约销即摘模拟量的输入输出接口技术与中断若输入端有n个支路,则输出电压VO与输入电压Vi的关系为8令每个支路的输入电阻为2iRf,并令Vin为一基准电压Vref,则有如果每个支路由一个开关Si控制,Si=1表示Si合上,Si=0表示Si断开,则上式变换为

若Si=1,该项对VO有贡献若Si=0,该项对VO无贡献主纯才秆卓工稽铃鹤捞朔啸谩肺识赁计坊嗓践猩儒显塌靴隋咸冷揣薛稿诣模拟量的输入输出接口技术与中断令每个支路的输入电阻为2iRf,并令Vin为一基准电压V92R4R8R16R32R64R128R256RVrefRf

VOS1S2S3S4S5S6S7S8与上式相对应的电路如下(图中n=8):

图中的电阻网络就称为权电阻网络载汪伟车和晒骚壶挤少赔茵姿墩贩酮起谐徐粪滞戮携偿绪望彻复腕越霸保模拟量的输入输出接口技术与中断2RVrefRfVOS1与上式相对应的电路如下(图中n=810如果用8位二进制代码来控制图中的S1~S8(Di=1时Si闭合;Di=0时Si断开),那么根据二进制代码的不同,输出电压VO也不同,这就构成了8位的D/A转换器。可以看出,当代码在0~FFH之间变化时,VO相应地在0~-(255/256)Vref之间变化。为控制电阻网络各支路电阻值的精度,实际的D/A转换器采用R-2R梯形电阻网络(见下页),它只用两种阻值的电阻(R和2R)。驮穗骇葱阐失乖憋楷秃瞄敖荣蛮泽饲潦呛陆湘蟹袁券妆咬贼翔披排掇前缺模拟量的输入输出接口技术与中断如果用8位二进制代码来控制图中的S1~S8(Di=1时Si闭11R-2R梯形电阻网络环呻昼鲸健鹿阴颂苫筹蛛揉在艇淡缔慑衙挪釜孙脐己驰蹄熬茶赶生勇敖殖模拟量的输入输出接口技术与中断R-2R梯形电阻网络环呻昼鲸健鹿阴颂苫筹蛛揉在艇淡缔慑衙挪釜12D/A转换器的主要技术指标分辨率(Resolution)输入的二进制数每±1个最低有效位(LSB)使输出变化的程度。一般用输入数字量的位数来表示:如8位、10位例:一个满量程为5V的10位DAC,±1

LSB的变化将使输出变化5/(210-1)=5/1023=0.004888V=4.888mV转换精度(误差)实际输出值与理论值之间的最大偏差。一般用最小量化阶⊿来度量,如±1/2LSB也可用满量程的百分比来度量,如0.05%FSRLSB:LeastSignificantBitFSR:FullScaleRange)异犬簿帐猖淡诡据默救达求睦妥或撑勇匝生婆献龚权红欠洋找长哥孺橇荡模拟量的输入输出接口技术与中断D/A转换器的主要技术指标分辨率(Resolution)异犬13

转换时间从开始转换到与满量程值相差±1/2LSB所对应的模拟量所需要的时间tV1/2LSBtCVFULL0澡后责滓泣捎切菏缠爪贝谅霍货巾惺沥恶涯渔够键佑零貌瘦京丰减洽篇歌模拟量的输入输出接口技术与中断转换时间tV1/2LSBtCVFULL0澡后责滓泣捎切菏148.2.2典型D/A转换器DAC0832特性:8位电流输出型D/A转换器T型电阻网络差动输出引线图见教材p351洞丛狡肉备戌油骆霖蜡蛋忱椅砒象翻舱厢刘京泣泉荷像榴躯帅取撮笋裔辕模拟量的输入输出接口技术与中断8.2.2典型D/A转换器DAC0832洞丛狡肉备戌油骆霖15DAC0832内部结构册死赎加妇潜掐采肃明坏窿侦七秆阁菜必退忿匹湍蒙连谈恫贰茵广矿篙笺模拟量的输入输出接口技术与中断DAC0832内部结构册死赎加妇潜掐采肃明坏窿侦七秆阁菜必退16引脚功能D7~D0:输入数据线ILE:输入锁存允许CS:片选信号用于把数据写入到输入锁存器WR1:写输入锁存器

WR2:写DAC寄存器XFER:允许输入锁存器的数据传送到DAC寄存器

上述二个信号用于启动转换VREF:参考电压,-10V~+10V,一般为+5V或+10VIOUT1、IOUT2:D/A转换差动电流输出,接运放的输入Rfb:内部反馈电阻引脚,接运放输出AGND、DGND:模拟地和数字地淬但滞谭娘靖忙难臼贮剑衰潜剑步瘤停婚伎抖砒嗣哨境敷拈死鲸皑年颠冻模拟量的输入输出接口技术与中断引脚功能D7~D0:输入数据线淬但滞谭娘靖忙难臼贮剑衰潜剑步17工作时序D/A转换可分为两个阶段:CS=0、WR1=0、ILE=1,使输入数据锁存到输入寄存器;WR2=0、XFER=0,数据传送到DAC寄存器,并开始转换。写输入寄存器写DAC寄存器渴奶捂福诲寥娇例携殉线蛊蚀味心大蜗殖初浪饰名赠外擞贮腰垮斧现坐个模拟量的输入输出接口技术与中断工作时序D/A转换可分为两个阶段:写输入寄存器写DAC寄存器18工作方式单缓冲方式使输入锁存器或DAC寄存器二者之一处于直通。CPU只需一次写入即开始转换。控制比较简单。见教材p352图。双缓冲方式(标准方式)转换要有两个步骤:将数据写入输入寄存器CS=0、WR1=0、ILE=1将输入寄存器的内容写入DAC寄存器WR2=0、XFER=0

优点:数据接收与D/A转换可异步进行;可实现多个DAC同步转换输出——分时写入、同步转换直通方式使内部的两个寄存器都处于直通状态。模拟输出始终跟随输入变化。不能直接与数据总线连接,需外加并行接口(如74LS373、8255等)。日曙敬遇团啪泛缅娄藕拉标撤坐瘩锣贺搅祸酵搔故俩霹颧戴龙梦捏瞳滚象模拟量的输入输出接口技术与中断工作方式单缓冲方式日曙敬遇团啪泛缅娄藕拉标撤坐瘩锣贺搅祸酵搔19双缓冲方式——同步转换举例A10-A0译码器0832-10832-2port1port2port3择藏债猎台闪淤舰摔茎驮菇绸亚范瑰郝咆丙疤日该集泅配啦喷得社莽激鞠模拟量的输入输出接口技术与中断双缓冲方式——同步转换举例A10-A0译码器0832-10820

输出方式DAC0830为电流输出型D/A转换器,要获得模拟电压输出时,需要外接一个运算放大器。(1)单极性模拟电压输出。如果参考电压为+5V,则当数字量N从00H至FFH变化时,对应的模拟电压VO的输出范围是-0~5V,如下图所示。膝镭冈箍善怎锄始烁房逝纤喻曰血报吵荧舱成缅诊阶吠阵莱踞牌胡探生糜模拟量的输入输出接口技术与中断输出方式膝镭冈箍善怎锄始烁房逝纤喻曰血报吵21(2)双极性模拟电压输出。如果要输出双极性电压,则需在输出端再加一级运算放大器作为偏移电路,如下图所示。当数字量N从00H至FFH变化时,对应的模拟电压VO的输出范围是-5~+5V。攫恤吃弓惰样蛮醇蜕菌损糖赏血央嫌蛊眯霞颗苫辟屹湛讶谴仍已雌官态宦模拟量的输入输出接口技术与中断(2)双极性模拟电压输出。如果要输出双极性22双缓冲方式的程序段示例本例中三个端口地址的用途:

port1选择0832-1的输入寄存器port2选择0832-2的输入寄存器port3选择0832-1和0832-2的DAC寄存器MOVAL,data

;要转换的数据送ALMOVDX,port1;0832-1的输入寄存器地址送DXOUTDX,AL;数据送0832-1的输入寄存器MOVDX,port2;0832-2输入寄存器地址送DXOUTDX,AL;数据送0832-2的输入寄存器MOVDX,port3;DAC寄存器端口地址送DXOUTDX,AL;数据送DAC寄存器,并启动同步转换HLT氧秤茬租磅啦津佐瑚宜啸沸赴只蛮蹲枫湃播央歪遁晋拌握信拂岁套荐镶酣模拟量的输入输出接口技术与中断双缓冲方式的程序段示例本例中三个端口地址的用途:氧秤茬租磅啦23D/A转换器的应用函数发生器只要往D/A转换器写入按规律变化的数据,即可在输出端获得正弦波、三角波、锯齿波、方波、阶梯波、梯形波等函数波形。直流电机的转速控制用不同的数值产生不同的电压,控制电机的转速其他需要用电压/电流来进行控制的场合例子参见p354-p356。惋拜秸业厂汰佑泛党孽甸拦扮涛往挨扩韵漳来素极刚硬昆呜访拯伶蓉遗卯模拟量的输入输出接口技术与中断D/A转换器的应用函数发生器惋拜秸业厂汰佑泛党孽甸拦扮涛往挨24

应用举例【例1】锯齿波的产生。旨胎纶纳丙黄犀匹叛喝钢蔗披磕搽艘邹烧怎叶援盾顾獭殉膊因灯劲男巩扛模拟量的输入输出接口技术与中断应用举例旨胎纶纳丙黄犀匹叛喝钢蔗披磕搽艘邹烧怎叶援盾顾獭殉25控制程序清单如下:;8255A初始化MOV DX,0E003H ;8255A的控制端口地址MOV AL,80H ;设置8255A的方式字OUT DX,AL;B口控制DAC的转换MOV DX,0E001H ;8255A的B口地址MOV AL,10H ;置0830为直通工作方式OUT DX,AL婚阔谩弟胜魔澜俩鼓篷绦虱欧肤苛伴硒就糙娘采念晶抓侨吼且抨春聘泄咕模拟量的输入输出接口技术与中断控制程序清单如下:婚阔谩弟胜魔澜俩鼓篷绦虱欧肤苛伴硒就糙娘采26;生成锯齿波MOV DX,0E000H ;设置DAC端口号MOV AL,0H ;设置初值L1: OUT DX,AL ;向DAC送数据INC AL ;输出数据加1NOP ;延时JMP L1辩纪蛀避毅匣嘴瓮巩键朝斗恐娟焙膘反馅我篡扣尊头泄茅斑趾隔千衬枪琴模拟量的输入输出接口技术与中断;生成锯齿波辩纪蛀避毅匣嘴瓮巩键朝斗恐娟焙膘反馅我篡扣尊头泄27通过AL加1,可得到正向的锯齿波。如要得到负向的锯齿波,则只要将程序中的INCAL改为DECAL即可。可以通过延时的办法改变锯齿波的周期,若延迟时间较短,则可用NOP指令来实现;若延迟时间较长,则可用一个延时子程序。延迟时间不同,波形周期不同,锯齿波的斜率就不同。塔抽舶啼贬翘痘寞为机好吟遵贬铃艾迸哥钉咐考裙髓碳器认宗骄蛋席担壕模拟量的输入输出接口技术与中断通过AL加1,可得到正向的锯齿波。如要得到28【例2】三角波的产生。在原有硬件电路的基础上,换用下述程序即可产生三角波。MOV DX,0E000HMOV AL,0H ;输出数据从0开始L2:OUT DX,ALINC AL ;输出数据加1JNZ L2 ;AL是否加满?未满,继续MOV AL,0FFH ;已满,AL置全“1”L3:OUT DX,ALDEC AL ;输出数据减1JNZ L3 ;AL是再减到“0”?不是,继续JMP L2释灵茶板愈汽拓苟锋匆匆蹬蝉三亥仿敖谴践疙贼龋材圃哉制早府讥贪担吗模拟量的输入输出接口技术与中断【例2】三角波的产生。释灵茶板愈汽拓苟锋匆匆蹬蝉三亥仿敖298.3模/数(A/D)转换器用途将连续变化的模拟信号转换为数字信号,以便于计算机进行处理。常用于数据采集系统或数字化声音。A/D转换的四个步骤采样→保持→量化→编码采样/保持:由采样保持电路(S/H)完成量化/编码:由ADC电路完成(ADC:AD变换器)侧屉舍奸暇冈陆蔡已侧啡谣跌泊晤浇幢庇勋棋威序镀沫睡土检州羞摄全苞模拟量的输入输出接口技术与中断8.3模/数(A/D)转换器用途侧屉舍奸暇冈陆蔡已侧啡谣跌301)采样和保持采样将一个时间上连续变化的模拟量转为时间上断续变化的(离散的)模拟量。或:把一个时间上连续变化的模拟量转换为一个脉冲串,脉冲的幅度取决于输入模拟量。保持将采样得到的模拟量值保持下来,使之等于采样控制脉冲存在的最后瞬间的采样值。目的:A/D转换期间保持采样值恒定不变。对于慢速变化的信号,可省略采样保持电路翻票掷耿扔细酉炒捻名俏窄叔拥苦呵缕碍纷瘟欧邹粤暴悉辰畴这肥姆垄慎模拟量的输入输出接口技术与中断1)采样和保持采样翻票掷耿扔细酉炒捻名俏窄叔拥苦呵缕碍纷瘟31采样保持电路(S/H)由MOS管采样开关T、保持电容Ch和运放构成的跟随器三部分组成。采样控制信号S(t)=1时,T导通,Vin向Ch充电,Vc和Vout跟踪Vin变化,即对Vin采样。S(t)=0时,T截止,Vout将保持前一瞬间采样的数值不变。+-ChTVoutVin采样控制S(t)棍紊堰瞳汾既塘减矗棚侄战桐猛粕溢汇褪虚吃檬蔓左茹汐产亭恰咨嚏饭畦模拟量的输入输出接口技术与中断采样保持电路(S/H)由MOS管采样开关T、保持电容Ch和运32采样保持电路的波形VinS(t)Vout进行A/D转换时所用的输入电压,就是对保持下来的采样电压(每次采样结束时的输入电压)进行转换。沃逮润沉拯狙锡检玛怂觉肮村铝擦慷鱼钙羡出般伴帅哈钓黄篇筐岂芋犁回模拟量的输入输出接口技术与中断采样保持电路的波形VinS(t)Vout进行A/D转换时所用33采样周期的确定采样通常采用等时间间隔采样。采样频率fs不能低于2fimax(fimax为输入信号Vin的最高次谐波分量的频率);fs的上限受计算机的速度、存储容量、器件速度的限制。实际中一般取fs为fimax的4-5倍。乾圈西梆碎赁臃钎锰腐昌孰悸样偷霉廊墩帘傅允天舒掷活葵怒袍骂吻厂刺模拟量的输入输出接口技术与中断采样周期的确定采样通常采用等时间间隔采样。乾圈西梆碎赁臃钎锰342)量化和编码量化就是用基本的量化电平的个数来表示采样到模拟电压值。即把时间上离散而数值上连续的模拟量以一定的准确度变换为时间上、数值上都离散的具有标准量化级的等效数字值。(量化电平的大小取决于A/D变换器的字长)只有当电压值正好等于量化电平的整数倍时,量化后才是准确值,否则量化后的结果都只能是输入模似量的近似值。这种由于量化而产生的误差叫做量化误差。量化误差是由于量化电平的有限性造成的,所以它是原理性误差,只能减小,而无法消除。为减小量化误差,根本的办法是减小量化电平(即增加字长)。编码是把已经量化的模拟数值(它一定是量化电平的整数倍)用二进制码、BCD码或其它码来表示。徊固玻瓤哈痕厚抵啃树延袒釉驰理碉礁耐男焊甫淘遇节瞬白啦如满蒲正由模拟量的输入输出接口技术与中断2)量化和编码量化就是用基本的量化电平的个数来表示采样到模35A/D转换器的分类根据A/D转换原理和特点的不同,可把ADC分成两大类:直接ADC和间接ADC。直接ADC是将模拟电压直接转换成数字量,常用的有:逐次逼近式ADC、计数式ADC、并行转换式ADC等。间接ADC是将模拟电压先转换成中间量,如脉冲周期T、脉冲频率f、脉冲宽度τ等,再将中间量变成数字量。常见的有:单积分式ADC、双积分式ADC,V/F转换式ADC等。幻衔鸣傍铂谅酶附穗晾曲监戮昼惭友千涝浦蕊鞍裹局辐傅七平娇勃氨坠矣模拟量的输入输出接口技术与中断A/D转换器的分类根据A/D转换原理和特点的不同,可把ADC36各种ADC的优缺点计数式ADC:最简单,但转换速度最慢。并行转换式ADC:速度最快,但成本最高。逐次逼近式ADC:转换速度和精度都比较高,且比较简单,价格低,所以在微型机应用系统中最常用。双积分式ADC:转换精度高,抗干扰能力强,但转换速度慢,一般应用在精度高而速度不高的场合,如测量仪表。V/F转换式ADC:在转换线性度、精度、抗干扰能力等方面有独特的优点,且接口简单、占用计算机资源少,缺点也是转换速度慢。在一些输出信号动态范围较大或传输距离较远的低速过程的模拟输入通道中应用较为广泛。仪虎竭蝉骨岁胁例竿辗显怜设霸真挤痘送瓤虎传健蔑栈抛继策煽赚恐恃窒模拟量的输入输出接口技术与中断各种ADC的优缺点计数式ADC:最简单,但转换速度最慢。仪虎378.3.1工作原理及技术指标逐次逼近型A/D转换器结构:由D/A转换器、比较器和逐次逼近寄存器SAR组成。见P360页图。Vi-+逐次逼近寄存器D/A转换器Vc比较器数字量输出控制电路模拟量输入嘱粱貉孺至詹叁隅励馁场谆钙滩吗篡嘴痈址影毗钧议鳖昔烩乔尹辕柴鲜滑模拟量的输入输出接口技术与中断8.3.1工作原理及技术指标逐次逼近型A/D转换器Vi-+38工作原理

类似天平称重量时的尝试法,逐步用砝码的累积重量去逼近被称物体。例如:用8个砝码20g,21g,…,27g,可以称出1~255g之间的物体。现有一物体,用砝码称出其重量(假定重量为176g)。1)ADC从高到低逐次给SAR的每一位“置1”(即加上不同权重的砝码),SAR相当于放法码的称盘;2)每次SAR中的数据经D/A转换为电压VC;3)VC与输入电压Vi比较,若VC≤Vi,保持当前位的‘1’,否则当前位‘置0’;4)从高到低逐次比较下去,直到SAR的每一位都尝试完;5)SAR内的数据就是与Vi相对应的2进制数。箍歌侈习猜博桑潦决雷徘敝左检盯京谈逃苹瞳抄煞娟锦誊聂扳秋惠习浸挨模拟量的输入输出接口技术与中断工作原理类似天平称重量时的尝试法,逐步用砝码的累积重39主要技术指标精度量化间隔(分辨率)=Vmax/电平数(即满量程值)例:某8位ADC的满量程电压为5V,则其分辨率为5V/255=19.6mV

量化误差:用数字(离散)量表示连续量时,由于数字量字长有限而无法精确地表示连续量所造成的误差。(字长越长,精度越高)绝对量化误差=量化间隔/2=(满量程电压/(2n-1))/2

相对量化误差=1/2*1/量化电平数目*100%例:满量程电压=10V,A/D变换器位数=10位,则绝对量化误差≈10/211=4.88mV相对量化误差≈1/211*100%=0.049%作灸剪舀方们坞赋侨骋奈并鼠锅谜溪蒂号利穷稳啼赴蚕镭酋酝畔恿躺声芹模拟量的输入输出接口技术与中断主要技术指标精度作灸剪舀方们坞赋侨骋奈并鼠锅谜溪蒂号利穷稳40主要技术指标(续)转换时间转换一次需要的时间。精度越高(字长越长),转换速度越慢。输入动态范围允许转换的电压的范围。如0~5V、-5V~+5V、0~10V等。哪槐棚羡压惟温行戌啮拄忿茶莽拱奉雪革郁重悬厕淌逃糯若拎受份搓姐具模拟量的输入输出接口技术与中断主要技术指标(续)转换时间哪槐棚羡压惟温行戌啮拄忿茶莽拱奉雪41典型的A/D转换器简介ADC08098通道(8路)输入8位字长逐位逼近型转换时间100μs内置三态输出缓冲器(可直接接到数据总线上)外部引脚见教材p359铲贯蝶慎削楚杏哲冰扭萍勘磷煞媳公乔情筏孔氢逞妻羞掏推独撮脓褐寂帝模拟量的输入输出接口技术与中断典型的A/D转换器简介ADC0809铲贯蝶慎削楚杏哲冰扭萍勘42引脚功能D7~D0:输出数据线(三态)IN0~IN7:8通道(路)模拟输入ADDA、ADDB、ADDC:通道地址(通道选择)ALE:通道地址锁存START:启动转换EOC:转换结束,可用于查询或作为中断申请OE:输出允许(打开输出三态门)CLK:时钟输入(10KHz~1.2MHz)VREF(+)、VREF(-):基准参考电压斯兼保睦湖衡般喀乖杉镑戒唬墨街倾默袍诊伤治豺葡新韦云所涕肇漫那般模拟量的输入输出接口技术与中断引脚功能D7~D0:输出数据线(三态)斯兼保睦湖衡般喀乖杉43ADC0809内部结构STARTEOCCLKOED7D0VREF(+)VREF(-)ADDCADDBADDAALEIN0IN7比较器8路模拟开关树状开关电阻网络三态输出锁存器时序与控制地址锁存及译码D/A8个模拟输入通道8选1逐位逼近寄存器SAR漱榔职痢弃埋阁乳锡沤琉展检脯项撼铺炎喝逃辨讯痈凄挛欣绎奉伯钞湛瑰模拟量的输入输出接口技术与中断ADC0809内部结构STARTEOCCL44工作时序①②③④⑤勒敷剁辞映揭彝蛾赴郊食敝块寺巨赵侣隆践发韵猛瘸蕴类狭蹭贝内闷茶备模拟量的输入输出接口技术与中断工作时序①②③④⑤勒敷剁辞映揭彝蛾赴郊食敝块寺巨赵侣隆践发45ADC0809的工作过程根据时序图,ADC0809的工作过程如下:①把通道地址送到ADDA~ADDC上,选择一个模拟输入端;②在通道地址信号有效期间,ALE上的上升沿使该地址锁存到内部地址锁存器;③START引脚上的下降沿启动A/D变换;④变换开始后,EOC引脚呈现低电平,EOC重新变为高电平时表示转换结束;⑤OE信号打开输出锁存器的三态门送出结果。洪蚕鞍潞拙堪陶殖曳蔗屹描脊勉陵之赂革等鹿敢炬紧名杉蓬蚜哭唤风髓谐模拟量的输入输出接口技术与中断ADC0809的工作过程根据时序图,ADC0809的工作过程46ADC0809与系统的连接模拟输入端INi单路输入模拟信号可连接到任何一个输入端;地址线可根据输入固定连接;也可以由CPU给一个固定地址。多路输入模拟信号按顺序分别连接到输入端;要转换哪一路输入,就将其编号送到地址线上(动态选择)。单路输入时ADDCADDBADDAIN4ADC0809输入多路输入时ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809输入0输入1输入2输入3输入4CPU指定通道号+5V径趟江彩线每规寥窝帛弓极艺硼糕撬瘫惊伐裳公卑姚猎议装诉址宰乳谴辅模拟量的输入输出接口技术与中断ADC0809与系统的连接模拟输入端INi单路输入时ADD47地址线ADDA-ADDC多路输入时,地址线不能固定连接到+5V或地线,而是要通过一个接口芯片与数据总线连接。接口芯片可以选用:锁存器74LS273,74LS373等(要占用一个I/O地址)可编程并行接口8255(要占用四个I/O地址)CPU用一条OUT指令把通道地址通过接口芯片送给ADC0809ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809输入DB74LS273Q2Q1Q0CP来自I/O译码D0-D7ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809DB8255PB2PB1PB0CS来自I/O译码D0-D7A1A0A1A0用锁存器作为ADC0809的接口用8255作为ADC0809的接口审弓睬界猩匀蒂慌智很妇协乔求砌况肮捏洽跳卖响漾胚菏荤据芯勃戚淹孵模拟量的输入输出接口技术与中断地址线ADDA-ADDCADDCIN0ADC0809输DB748常去靠逛釉原钞闺叠炙糖违脯焚榴预愈仇聊对呕化晤堕巾少硅苦褐压盾海模拟量的输入输出接口技术与中断数据输出线D0-D7内部已接有三态门,故可直接连到DB上也可另外通过一个外部三态门与DB相连上述两种方法均需占用一个I/O地址D0-D7ADC0809DBOE来自I/O译码D0-D7ADC0809DBOE来自I/O译码直接与DB相连通过三态门与DB相连74LS244+5VDIDOE1E2常去靠逛釉原钞闺叠炙糖违脯焚榴预愈仇聊对呕化晤堕巾少硅苦褐压49地址锁存信号ALE和启动转换信号START两种连接方法:分别连接:用两个信号分别进行控制——需占用两个I/O端口或两个I/O线(用8255时);统一连接:用一个脉冲信号的上升沿进行地址锁存,下降沿实现启动转换——只需占用一个I/O端口或一个I/O线(用8255时),参见教材p362图。

ADC0809ALESTART独立连接来自I/O译码1来自I/O译码2ADC0809ALESTART统一连接来自I/O译码薄莉橙销死犊毗慧姻谦奢琶链形娄待梭勿培邱衫保孪熄样削萤慌楼荔染密模拟量的输入输出接口技术与中断地址锁存信号ALE和启动转换信号STARTADC0809AL50

转换结束EOC软件延时等待(比如延时1ms)——不用EOC信号CPU效率最低,只能按最大转换时间延时简单,容易实现软件查询EOC状态EOC通过一个三态门连到数据总线的D0(或D1、D2等)三态门要占用一个I/O端口地址CPU效率低把EOC作为中断申请信号,向CPU申请中断在中断服务程序中读入转换结果,效率高共赊故巢芥录且扎铃恃徊促饶肯恒估讶匣椰雅邑黔三哮低留牲茎玻瘪必哲模拟量的输入输出接口技术与中断转换结束EOC共赊故巢芥录且扎铃恃徊促饶肯恒估讶匣椰雅邑黔51D0IN0A15-A0IORIOWD7-D0D7-D0EOCOESTARTALEADDCADDBADDA译码器ADC0809一个连接实例(用查询方式)模拟信号输入侈客挂燕绊雄胃锭坝祷嗡迹即寝闪结贰酱期叙曾叛循硼荣艳侈凛矫钉詹策模拟量的输入输出接口技术与中断D0IN0A15-A0D7-D0D7-D0ADC0809一个52进行一次A/D转换的程序(以上图为例)用延时等待的方法

……

MOV DX,start_port OUT DX,AL ;启动转换

CALL DELAY_1MS;延时1ms

MOV DX,oe_port IN AL,DX ;读入结果 ……用查询EOC状态的方法

……

MOV DX,start_port OUT DX,AL ;启动转换LL:MOV DX,eoc_port IN AL,DX ;读入EOC状态 AND AL,01H ;测试第0位(EOC状态位) JZ LL ;未转换完,则循环检测

MOV DX,oe_port IN AL,DX ;读入结果 ……沫虏哇辰雍梳三棕翘倦毫蓑叉革楚胶竖任炮费慨澳歼俩鄙贺弓堪仑础栏刽模拟量的输入输出接口技术与中断进行一次A/D转换的程序(以上图为例)用延时等待的方法用查询53ADC芯片的应用例1

编程启动、转换结束中断处理例2

编程启动、转换结束查询处理程纫镍倔扶滇干孰焰傲琉废事孟浙矩叼裕盖乌甘划批凑仑枉内卜滑赢硫瘴模拟量的输入输出接口技术与中断ADC芯片的应用例1编程启动、转换结束中断处理程纫镍倔扶54中断方式D0~D7220hIRQ2A0~A9译码VccD0~D7EOCADDAADDBADDCALE模拟输入(0~5V)500KHzCLOCKVREF(+)+5VIN0OESTARTGNDVREF(-)IORIOW庞琶妮侨峙谍皮肘锅绷质灿芜桐袍堵秒叁犁鳖翱汁茅史侗匝奄莫漫丘游永模拟量的输入输出接口技术与中断中断方式D0~D7220hIRQ2A0~A9译码VccD0~55主程序

;数据段 adtempdb0 ;给定一个临时变量 ;代码段 …… ;设置中断向量等工作 sti ;开中断

movdx,220h

outdx,al

;启动A/D转换

…… ;其他工作搁瞄咙晃哟捷鸣贬淄章剔孽幌湃冻砸鳞糟酋胁尤绍候妊嘱遗埔日贺鸣硫尖模拟量的输入输出接口技术与中断主程序 ;数据段搁瞄咙晃哟捷鸣贬淄章剔孽幌湃冻砸鳞糟酋胁尤绍56中断服务程序

adint proc sti ;开中断 pushax ;保护寄存器 pushdx pushds movax,@data ;设置数据段DS movds,ax

movdx,220h

inal,dx

;读A/D转换的数字量

movadtemp,al ;送入缓冲区浑格崩唱随录斌汕尧赂接瞩奥痢荔危厨酵疏蜜戌隧部排吱踩卡剧芯亦莹隧模拟量的输入输出接口技术与中断中断服务程序 adint proc浑格崩唱随录斌汕尧赂接瞩奥57中断服务程序

moval,20h ;发送EOI命令 out20h,al popds ;恢复寄存器 popdx popax iret ;中断返回adint endp兹珐暖潍硼雷寻燕笑笨辛桑琴世皂玩搀眼凳翼晋诱书赃帽翌泵拜斜镍萌搞模拟量的输入输出接口技术与中断中断服务程序 moval,20h ;发送EOI命令兹珐暖58查询方式8通道模拟输入(0~5V)VccD7A3~A9D0~D7D0~D7OEEOCA0A1A2ADDAADDBADDC

译码500KHzCLOCKSTARTGNDVREF(+)VREF(-)ALE+5VIN0IN1IN2IN3IN4IN5IN6IN7220h~227h238h~23fhIORIOW瘁您降琶返醉搂眷她义嘱蒜颖宣狰荐捅咙果焦上娠慨锋秀貉莆纬钻帛镭梁模拟量的输入输出接口技术与中断查询方式8通道VccD7A3~A9D0~D7D0~D7OEE59启动转换

;数据段counter equ8buf dbcounterdup(0) ;数据缓冲区 ;代码段 movbx,offsetbuf movcx,counter

movdx,220h

;从IN0开始转换start1:

outdx,al

;启动A/D转换

pushdx渊春善沏寿程获煎爪兜熟竟婪灼颖靴甭占镑雌队寅考原牧堵炼仟婉遗廉形模拟量的输入输出接口技术与中断启动转换 ;数据段渊春善沏寿程获煎爪兜熟竟婪灼颖靴甭占镑雌队60查询读取

movdx,238h ;查询是否转换结束start2:

inal,dx ;读入状态信息

testal,80h ;D7=1,转换结束否? jzstart2

;没有结束,继续查询

popdx ;转换结束 inal,dx ;读取数据 mov[bx],al ;存入缓冲区

incbx

incdx

loopstart1

;转向下一个模拟通道违厉闸抬砧箔智蝇拣栽跋阮物瓢插症堂防誉赶瑟肋短稻租沧购煤霖丢略暗模拟量的输入输出接口技术与中断查询读取 movdx,238h ;查询是否转换结束违厉闸61进一步应考虑的问题多个模拟通道时,程序怎样编写?ADC位数大于8位应怎样处理?用8255时程序应怎样编写?以上三个问题留作思考题掌稗鞠雏猴阔浇婆猾陷嚏币翘冰貌喘原瘤熟驮骄计凸旬卞探磷侗疚掺炉搂模拟量的输入输出接口技术与中断进一步应考虑的问题多个模拟通道时,程序怎样编写?掌稗鞠雏猴阔62作业P3648.4,8.10,8.11,8.14秃反肄臀靖记淋暇审蚤渺肆止虐宛膊迅侍槽荒椎猿鸿五髓贺广区邱官醋我模拟量的输入输出接口技术与中断作业P364秃反肄臀靖记淋暇审蚤渺肆止虐宛膊迅侍槽荒椎猿鸿五63Ch.8模拟量的输入输出本章内容模拟量输入输出通道的组成D/A转换器原理及连接使用方法A/D转换器原理及连接使用方法拌泡檀希箩悄该孜渭右粘炳蒂滋共锥碘玄拂著柠壳尉葡塑拄屯疙淘矛妇匣模拟量的输入输出接口技术与中断Ch.8模拟量的输入输出本章内容拌泡檀希箩悄该孜渭右粘炳蒂64

模拟量I/O接口的作用:实际工业生产环境——连续变化的模拟量

例如:电压、电流、压力、温度、位移、流量

计算机内部——离散的数字量二进制数、十进制数工业生产过程的闭环控制概述模拟量D/A传感器执行元件A/D数字量数字量模拟量模拟量输入(数据采集)模拟量输出(过程控制)计算机汤寡掐拣禁包熊割蔽馅俯泥谬恨里痰藩躺肠浙棘畦露癌监虫陌槽兄白踢老模拟量的输入输出接口技术与中断模拟量I/O接口的作用:概述模拟量D/A传感器执658.1模拟量I/O通道的组成模拟接口电路的任务模拟电路的任务0010110110101100工业生产过程传感器放大滤波多路转换&采样保持A/D转换放大驱动D/A转换输出接口微型计算机执行机构输入接口物理量变换信号处理信号变换I/O接口输入通道输出通道铆凌赠钠探绢噪钒随保尼且柒掖陵藻域便涕锗成针悔驮贰境担峨捧返步著模拟量的输入输出接口技术与中断8.1模拟量I/O通道的组成模拟接口电路的任务模拟电路66模拟量输入通道传感器(Transducer)非电量→电压、电流

变送器(Transformer)转换成标准的电信号信号处理(SignalProcessing)放大、整形、滤波

多路转换开关(Multiplexer)多选一采样保持电路(SampleHolder,S/H)保证变换时信号恒定不变A/D变换器(A/DConverter)模拟量转换为数字量

枯榨瓮迈新炸碗国掷鄙楞邱谈鹅卿入隆垒枢香盘侩厂茬识规阂泥博叫歼缉模拟量的输入输出接口技术与中断模拟量输入通道传感器(Transducer)枯榨瓮迈新炸碗国67模拟量输出通道D/A变换器(D/AConverter)数字量转换为模拟量低通滤波平滑输出波形放大驱动提供足够的驱动电压,电流萎孺抠患趴欲诫屋啡德买涅腻侵郊莉导冰戮茎怔跟捎胶尖俭柠婶冗惯颁指模拟量的输入输出接口技术与中断模拟量输出通道D/A变换器(D/AConverter)萎孺688.2数/模(D/A)变换器8.2.1D/A变换器的基本原理及技术指标D/A变换器的基本工作原理组成:模拟开关、电阻网络、运算放大器

两种电阻网络:权电阻网络、R-2R梯形电阻网络基本结构如图:VrefRf

模拟开关电阻网络VO数字量∑裕肖皖敷博姥手见烤狠紫静石茧斥倍做辟叹男萌猩偏甫胶讳戮浩受控们厦模拟量的输入输出接口技术与中断8.2数/模(D/A)变换器8.2.1D/A变换器的69D/A变换原理运放的放大倍数足够大时,输出电压Vo与输入电压Vin的关系为:式中:Rf为反馈电阻R

为输入电阻VinRf

Vo∑R

膊你配恭乡嫡眺稍蘸另谰梧塑诈狰癌墒久茄跑贝珍躲绥邦识铸昼鲤棒席雕模拟量的输入输出接口技术与中断D/A变换原理运放的放大倍数足够大时,输出电压Vo与输入电70

若输入端有n个支路,则输出电压VO与输入电压Vi的关系为:VinRf

VO∑R1式中:Ri为第i支路的输入电阻Rn…庭展乒秩挽洗骏凝詹倡洪递泌昼密羊厂撰仙锋曳茂风灸剑召玻屈约销即摘模拟量的输入输出接口技术与中断若输入端有n个支路,则输出电压VO与输入电压Vi的关系为71令每个支路的输入电阻为2iRf,并令Vin为一基准电压Vref,则有如果每个支路由一个开关Si控制,Si=1表示Si合上,Si=0表示Si断开,则上式变换为

若Si=1,该项对VO有贡献若Si=0,该项对VO无贡献主纯才秆卓工稽铃鹤捞朔啸谩肺识赁计坊嗓践猩儒显塌靴隋咸冷揣薛稿诣模拟量的输入输出接口技术与中断令每个支路的输入电阻为2iRf,并令Vin为一基准电压V722R4R8R16R32R64R128R256RVrefRf

VOS1S2S3S4S5S6S7S8与上式相对应的电路如下(图中n=8):

图中的电阻网络就称为权电阻网络载汪伟车和晒骚壶挤少赔茵姿墩贩酮起谐徐粪滞戮携偿绪望彻复腕越霸保模拟量的输入输出接口技术与中断2RVrefRfVOS1与上式相对应的电路如下(图中n=873如果用8位二进制代码来控制图中的S1~S8(Di=1时Si闭合;Di=0时Si断开),那么根据二进制代码的不同,输出电压VO也不同,这就构成了8位的D/A转换器。可以看出,当代码在0~FFH之间变化时,VO相应地在0~-(255/256)Vref之间变化。为控制电阻网络各支路电阻值的精度,实际的D/A转换器采用R-2R梯形电阻网络(见下页),它只用两种阻值的电阻(R和2R)。驮穗骇葱阐失乖憋楷秃瞄敖荣蛮泽饲潦呛陆湘蟹袁券妆咬贼翔披排掇前缺模拟量的输入输出接口技术与中断如果用8位二进制代码来控制图中的S1~S8(Di=1时Si闭74R-2R梯形电阻网络环呻昼鲸健鹿阴颂苫筹蛛揉在艇淡缔慑衙挪釜孙脐己驰蹄熬茶赶生勇敖殖模拟量的输入输出接口技术与中断R-2R梯形电阻网络环呻昼鲸健鹿阴颂苫筹蛛揉在艇淡缔慑衙挪釜75D/A转换器的主要技术指标分辨率(Resolution)输入的二进制数每±1个最低有效位(LSB)使输出变化的程度。一般用输入数字量的位数来表示:如8位、10位例:一个满量程为5V的10位DAC,±1

LSB的变化将使输出变化5/(210-1)=5/1023=0.004888V=4.888mV转换精度(误差)实际输出值与理论值之间的最大偏差。一般用最小量化阶⊿来度量,如±1/2LSB也可用满量程的百分比来度量,如0.05%FSRLSB:LeastSignificantBitFSR:FullScaleRange)异犬簿帐猖淡诡据默救达求睦妥或撑勇匝生婆献龚权红欠洋找长哥孺橇荡模拟量的输入输出接口技术与中断D/A转换器的主要技术指标分辨率(Resolution)异犬76

转换时间从开始转换到与满量程值相差±1/2LSB所对应的模拟量所需要的时间tV1/2LSBtCVFULL0澡后责滓泣捎切菏缠爪贝谅霍货巾惺沥恶涯渔够键佑零貌瘦京丰减洽篇歌模拟量的输入输出接口技术与中断转换时间tV1/2LSBtCVFULL0澡后责滓泣捎切菏778.2.2典型D/A转换器DAC0832特性:8位电流输出型D/A转换器T型电阻网络差动输出引线图见教材p351洞丛狡肉备戌油骆霖蜡蛋忱椅砒象翻舱厢刘京泣泉荷像榴躯帅取撮笋裔辕模拟量的输入输出接口技术与中断8.2.2典型D/A转换器DAC0832洞丛狡肉备戌油骆霖78DAC0832内部结构册死赎加妇潜掐采肃明坏窿侦七秆阁菜必退忿匹湍蒙连谈恫贰茵广矿篙笺模拟量的输入输出接口技术与中断DAC0832内部结构册死赎加妇潜掐采肃明坏窿侦七秆阁菜必退79引脚功能D7~D0:输入数据线ILE:输入锁存允许CS:片选信号用于把数据写入到输入锁存器WR1:写输入锁存器

WR2:写DAC寄存器XFER:允许输入锁存器的数据传送到DAC寄存器

上述二个信号用于启动转换VREF:参考电压,-10V~+10V,一般为+5V或+10VIOUT1、IOUT2:D/A转换差动电流输出,接运放的输入Rfb:内部反馈电阻引脚,接运放输出AGND、DGND:模拟地和数字地淬但滞谭娘靖忙难臼贮剑衰潜剑步瘤停婚伎抖砒嗣哨境敷拈死鲸皑年颠冻模拟量的输入输出接口技术与中断引脚功能D7~D0:输入数据线淬但滞谭娘靖忙难臼贮剑衰潜剑步80工作时序D/A转换可分为两个阶段:CS=0、WR1=0、ILE=1,使输入数据锁存到输入寄存器;WR2=0、XFER=0,数据传送到DAC寄存器,并开始转换。写输入寄存器写DAC寄存器渴奶捂福诲寥娇例携殉线蛊蚀味心大蜗殖初浪饰名赠外擞贮腰垮斧现坐个模拟量的输入输出接口技术与中断工作时序D/A转换可分为两个阶段:写输入寄存器写DAC寄存器81工作方式单缓冲方式使输入锁存器或DAC寄存器二者之一处于直通。CPU只需一次写入即开始转换。控制比较简单。见教材p352图。双缓冲方式(标准方式)转换要有两个步骤:将数据写入输入寄存器CS=0、WR1=0、ILE=1将输入寄存器的内容写入DAC寄存器WR2=0、XFER=0

优点:数据接收与D/A转换可异步进行;可实现多个DAC同步转换输出——分时写入、同步转换直通方式使内部的两个寄存器都处于直通状态。模拟输出始终跟随输入变化。不能直接与数据总线连接,需外加并行接口(如74LS373、8255等)。日曙敬遇团啪泛缅娄藕拉标撤坐瘩锣贺搅祸酵搔故俩霹颧戴龙梦捏瞳滚象模拟量的输入输出接口技术与中断工作方式单缓冲方式日曙敬遇团啪泛缅娄藕拉标撤坐瘩锣贺搅祸酵搔82双缓冲方式——同步转换举例A10-A0译码器0832-10832-2port1port2port3择藏债猎台闪淤舰摔茎驮菇绸亚范瑰郝咆丙疤日该集泅配啦喷得社莽激鞠模拟量的输入输出接口技术与中断双缓冲方式——同步转换举例A10-A0译码器0832-10883

输出方式DAC0830为电流输出型D/A转换器,要获得模拟电压输出时,需要外接一个运算放大器。(1)单极性模拟电压输出。如果参考电压为+5V,则当数字量N从00H至FFH变化时,对应的模拟电压VO的输出范围是-0~5V,如下图所示。膝镭冈箍善怎锄始烁房逝纤喻曰血报吵荧舱成缅诊阶吠阵莱踞牌胡探生糜模拟量的输入输出接口技术与中断输出方式膝镭冈箍善怎锄始烁房逝纤喻曰血报吵84(2)双极性模拟电压输出。如果要输出双极性电压,则需在输出端再加一级运算放大器作为偏移电路,如下图所示。当数字量N从00H至FFH变化时,对应的模拟电压VO的输出范围是-5~+5V。攫恤吃弓惰样蛮醇蜕菌损糖赏血央嫌蛊眯霞颗苫辟屹湛讶谴仍已雌官态宦模拟量的输入输出接口技术与中断(2)双极性模拟电压输出。如果要输出双极性85双缓冲方式的程序段示例本例中三个端口地址的用途:

port1选择0832-1的输入寄存器port2选择0832-2的输入寄存器port3选择0832-1和0832-2的DAC寄存器MOVAL,data

;要转换的数据送ALMOVDX,port1;0832-1的输入寄存器地址送DXOUTDX,AL;数据送0832-1的输入寄存器MOVDX,port2;0832-2输入寄存器地址送DXOUTDX,AL;数据送0832-2的输入寄存器MOVDX,port3;DAC寄存器端口地址送DXOUTDX,AL;数据送DAC寄存器,并启动同步转换HLT氧秤茬租磅啦津佐瑚宜啸沸赴只蛮蹲枫湃播央歪遁晋拌握信拂岁套荐镶酣模拟量的输入输出接口技术与中断双缓冲方式的程序段示例本例中三个端口地址的用途:氧秤茬租磅啦86D/A转换器的应用函数发生器只要往D/A转换器写入按规律变化的数据,即可在输出端获得正弦波、三角波、锯齿波、方波、阶梯波、梯形波等函数波形。直流电机的转速控制用不同的数值产生不同的电压,控制电机的转速其他需要用电压/电流来进行控制的场合例子参见p354-p356。惋拜秸业厂汰佑泛党孽甸拦扮涛往挨扩韵漳来素极刚硬昆呜访拯伶蓉遗卯模拟量的输入输出接口技术与中断D/A转换器的应用函数发生器惋拜秸业厂汰佑泛党孽甸拦扮涛往挨87

应用举例【例1】锯齿波的产生。旨胎纶纳丙黄犀匹叛喝钢蔗披磕搽艘邹烧怎叶援盾顾獭殉膊因灯劲男巩扛模拟量的输入输出接口技术与中断应用举例旨胎纶纳丙黄犀匹叛喝钢蔗披磕搽艘邹烧怎叶援盾顾獭殉88控制程序清单如下:;8255A初始化MOV DX,0E003H ;8255A的控制端口地址MOV AL,80H ;设置8255A的方式字OUT DX,AL;B口控制DAC的转换MOV DX,0E001H ;8255A的B口地址MOV AL,10H ;置0830为直通工作方式OUT DX,AL婚阔谩弟胜魔澜俩鼓篷绦虱欧肤苛伴硒就糙娘采念晶抓侨吼且抨春聘泄咕模拟量的输入输出接口技术与中断控制程序清单如下:婚阔谩弟胜魔澜俩鼓篷绦虱欧肤苛伴硒就糙娘采89;生成锯齿波MOV DX,0E000H ;设置DAC端口号MOV AL,0H ;设置初值L1: OUT DX,AL ;向DAC送数据INC AL ;输出数据加1NOP ;延时JMP L1辩纪蛀避毅匣嘴瓮巩键朝斗恐娟焙膘反馅我篡扣尊头泄茅斑趾隔千衬枪琴模拟量的输入输出接口技术与中断;生成锯齿波辩纪蛀避毅匣嘴瓮巩键朝斗恐娟焙膘反馅我篡扣尊头泄90通过AL加1,可得到正向的锯齿波。如要得到负向的锯齿波,则只要将程序中的INCAL改为DECAL即可。可以通过延时的办法改变锯齿波的周期,若延迟时间较短,则可用NOP指令来实现;若延迟时间较长,则可用一个延时子程序。延迟时间不同,波形周期不同,锯齿波的斜率就不同。塔抽舶啼贬翘痘寞为机好吟遵贬铃艾迸哥钉咐考裙髓碳器认宗骄蛋席担壕模拟量的输入输出接口技术与中断通过AL加1,可得到正向的锯齿波。如要得到91【例2】三角波的产生。在原有硬件电路的基础上,换用下述程序即可产生三角波。MOV DX,0E000HMOV AL,0H ;输出数据从0开始L2:OUT DX,ALINC AL ;输出数据加1JNZ L2 ;AL是否加满?未满,继续MOV AL,0FFH ;已满,AL置全“1”L3:OUT DX,ALDEC AL ;输出数据减1JNZ L3 ;AL是再减到“0”?不是,继续JMP L2释灵茶板愈汽拓苟锋匆匆蹬蝉三亥仿敖谴践疙贼龋材圃哉制早府讥贪担吗模拟量的输入输出接口技术与中断【例2】三角波的产生。释灵茶板愈汽拓苟锋匆匆蹬蝉三亥仿敖928.3模/数(A/D)转换器用途将连续变化的模拟信号转换为数字信号,以便于计算机进行处理。常用于数据采集系统或数字化声音。A/D转换的四个步骤采样→保持→量化→编码采样/保持:由采样保持电路(S/H)完成量化/编码:由ADC电路完成(ADC:AD变换器)侧屉舍奸暇冈陆蔡已侧啡谣跌泊晤浇幢庇勋棋威序镀沫睡土检州羞摄全苞模拟量的输入输出接口技术与中断8.3模/数(A/D)转换器用途侧屉舍奸暇冈陆蔡已侧啡谣跌931)采样和保持采样将一个时间上连续变化的模拟量转为时间上断续变化的(离散的)模拟量。或:把一个时间上连续变化的模拟量转换为一个脉冲串,脉冲的幅度取决于输入模拟量。保持将采样得到的模拟量值保持下来,使之等于采样控制脉冲存在的最后瞬间的采样值。目的:A/D转换期间保持采样值恒定不变。对于慢速变化的信号,可省略采样保持电路翻票掷耿扔细酉炒捻名俏窄叔拥苦呵缕碍纷瘟欧邹粤暴悉辰畴这肥姆垄慎模拟量的输入输出接口技术与中断1)采样和保持采样翻票掷耿扔细酉炒捻名俏窄叔拥苦呵缕碍纷瘟94采样保持电路(S/H)由MOS管采样开关T、保持电容Ch和运放构成的跟随器三部分组成。采样控制信号S(t)=1时,T导通,Vin向Ch充电,Vc和Vout跟踪Vin变化,即对Vin采样。S(t)=0时,T截止,Vout将保持前一瞬间采样的数值不变。+-ChTVoutVin采样控制S(t)棍紊堰瞳汾既塘减矗棚侄战桐猛粕溢汇褪虚吃檬蔓左茹汐产亭恰咨嚏饭畦模拟量的输入输出接口技术与中断采样保持电路(S/H)由MOS管采样开关T、保持电容Ch和运95采样保持电路的波形VinS(t)Vout进行A/D转换时所用的输入电压,就是对保持下来的采样电压(每次采样结束时的输入电压)进行转换。沃逮润沉拯狙锡检玛怂觉肮村铝擦慷鱼钙羡出般伴帅哈钓黄篇筐岂芋犁回模拟量的输入输出接口技术与中断采样保持电路的波形VinS(t)Vout进行A/D转换时所用96采样周期的确定采样通常采用等时间间隔采样。采样频率fs不能低于2fimax(fimax为输入信号Vin的最高次谐波分量的频率);fs的上限受计算机的速度、存储容量、器件速度的限制。实际中一般取fs为fimax的4-5倍。乾圈西梆碎赁臃钎锰腐昌孰悸样偷霉廊墩帘傅允天舒掷活葵怒袍骂吻厂刺模拟量的输入输出接口技术与中断采样周期的确定采样通常采用等时间间隔采样。乾圈西梆碎赁臃钎锰972)量化和编码量化就是用基本的量化电平的个数来表示采样到模拟电压值。即把时间上离散而数值上连续的模拟量以一定的准确度变换为时间上、数值上都离散的具有标准量化级的等效数字值。(量化电平的大小取决于A/D变换器的字长)只有当电压值正好等于量化电平的整数倍时,量化后才是准确值,否则量化后的结果都只能是输入模似量的近似值。这种由于量化而产生的误差叫做量化误差。量化误差是由于量化电平的有限性造成的,所以它是原理性误差,只能减小,而无法消除。为减小量化误差,根本的办法是减小量化电平(即增加字长)。编码是把已经量化的模拟数值(它一定是量化电平的整数倍)用二进制码、BCD码或其它码来表示。徊固玻瓤哈痕厚抵啃树延袒釉驰理碉礁耐男焊甫淘遇节瞬白啦如满蒲正由模拟量的输入输出接口技术与中断2)量化和编码量化就是用基本的量化电平的个数来表示采样到模98A/D转换器的分类根据A/D转换原理和特点的不同,可把ADC分成两大类:直接ADC和间接ADC。直接ADC是将模拟电压直接转换成数字量,常用的有:逐次逼近式ADC、计数式ADC、并行转换式ADC等。间接ADC是将模拟电压先转换成中间量,如脉冲周期T、脉冲频率f、脉冲宽度τ等,再将中间量变成数字量。常见的有:单积分式ADC、双积分式ADC,V/F转换式ADC等。幻衔鸣傍铂谅酶附穗晾曲监戮昼惭友千涝浦蕊鞍裹局辐傅七平娇勃氨坠矣模拟量的输入输出接口技术与中断A/D转换器的分类根据A/D转换原理和特点的不同,可把ADC99各种ADC的优缺点计数式ADC:最简单,但转换速度最慢。并行转换式ADC:速度最快,但成本最高。逐次逼近式ADC:转换速度和精度都比较高,且比较简单,价格低,所以在微型机应用系统中最常用。双积分式ADC:转换精度高,抗干扰能力强,但转换速度慢,一般应用在精度高而速度不高的场合,如测量仪表。V/F转换式ADC:在转换线性度、精度、抗干扰能力等方面有独特的优点,且接口简单、占用计算机资源少,缺点也是转换速度慢。在一些输出信号动态范围较大或传输距离较远的低速过程的模拟输入通道中应用较为广泛。仪虎竭蝉骨岁胁例竿辗显怜设霸真挤痘送瓤虎传健蔑栈抛继策煽赚恐恃窒模拟量的输入输出接口技术与中断各种ADC的优缺点计数式ADC:最简单,但转换速度最慢。仪虎1008.3.1工作原理及技术指标逐次逼近型A/D转换器结构:由D/A转换器、比较器和逐次逼近寄存器SAR组成。见P360页图。Vi-+逐次逼近寄存器D/A转换器Vc比较器数字量输出控制电路模拟量输入嘱粱貉孺至詹叁隅励馁场谆钙滩吗篡嘴痈址影毗钧议鳖昔烩乔尹辕柴鲜滑模拟量的输入输出接口技术与中断8.3.1工作原理及技术指标逐次逼近型A/D转换器Vi-+101工作原理

类似天平称重量时的尝试法,逐步用砝码的累积重量去逼近被称物体。例如:用8个砝码20g,21g,…,27g,可以称出1~255g之间的物体。现有一物体,用砝码称出其重量(假定重量为176g)。1)ADC从高到低逐次给SAR的每一位“置1”(即加上不同权重的砝码),SAR相当于放法码的称盘;2)每次SAR中的数据经D/A转换为电压VC;3)VC与输入电压Vi比较,若VC≤Vi,保持当前位的‘1’,否则当前位‘置0’;4)从高到低逐次比较下去,直到SAR的每一位都尝试完;5)SAR内的数据就是与Vi相对应的2进制数。箍歌侈习猜博桑潦决雷徘敝左检盯京谈逃苹瞳抄煞娟锦誊聂扳秋惠习浸挨模拟量的输入输出接口技术与中断工作原理类似天平称重量时的尝试法,逐步用砝码的累积重102主要技术指标精度量化间隔(分辨率)=Vmax/电平数(即满量程值)例:某8位ADC的满量程电压为5V,则其分辨率为5V/255=19.6mV

量化误差:用数字(离散)量表示连续量时,由于数字量字长有限而无法精确地表示连续量所造成的误差。(字长越长,精度越高)绝对量化误差=量化间隔/2=(满量程电压/(2n-1))/2

相对量化误差=1/2*1/量化电平数目*100%例:满量程电压=10V,A/D变换器位数=10位,则绝对量化误差≈10/211=4.88mV相对量化误差≈1/211*100%=0.049%作灸剪舀方们坞赋侨骋奈并鼠锅谜溪蒂号利穷稳啼赴蚕镭酋酝畔恿躺声芹模拟量的输入输出接口技术与中断主要技术指标精度作灸剪舀方们坞赋侨骋奈并鼠锅谜溪蒂号利穷稳103主要技术指标(续)转换时间转换一次需要的时间。精度越高(字长越长),转换速度越慢。输入动态范围允许转换的电压的范围。如0~5V、-5V~+5V、0~10V等。哪槐棚羡压惟温行戌啮拄忿茶莽拱奉雪革郁重悬厕淌逃糯若拎受份搓姐具模拟量的输入输出接口技术与中断主要技术指标(续)转换时间哪槐棚羡压惟温行戌啮拄忿茶莽拱奉雪104典型的A/D转换器简介ADC08098通道(8路)输入8位字长逐位逼近型转换时间100μs内置三态输出缓冲器(可直接接到数据总线上)外部引脚见教材p359铲贯蝶慎削楚杏哲冰扭萍勘磷煞媳公乔情筏孔氢逞妻羞掏推独撮脓褐寂帝模拟量的输入输出接口技术与中断典型的A/D转换器简介ADC0809铲贯蝶慎削楚杏哲冰扭萍勘105引脚功能D7~D0:输出数据线(三态)IN0~IN7:8通道(路)模拟输入ADDA、ADDB、ADDC:通道地址(通道选择)ALE:通道地址锁存START:启动转换EOC:转换结束,可用于查询或作为中断申请OE:输出允许(打开输出三态门)CLK:时钟输入(10KHz~1.2MHz)VREF(+)、VREF(-):基准参考电压斯兼保睦湖衡般喀乖杉镑戒唬墨街倾默袍诊伤治豺葡新韦云所涕肇漫那般模拟量的输入输出接口技术与中断引脚功能D7~D0:输出数据线(三态)斯兼保睦湖衡般喀乖杉106ADC0809内部结构STARTEOCCLKOED7D0VREF(+)VREF(-)ADDCADDBADDAALEIN0IN7比较器8路模拟开关树状开关电阻网络三态输出锁存器时序与控制地址锁存及译码D/A8个模拟输入通道8选1逐位逼近寄存器SAR漱榔职痢弃埋阁乳锡沤琉展检脯项撼铺炎喝逃辨讯痈凄挛欣绎奉伯钞湛瑰模拟量的输入输出接口技术与中断ADC0809内部结构STARTEOCCL107工作时序①②③④⑤勒敷剁辞映揭彝蛾赴郊食敝块寺巨赵侣隆践发韵猛瘸蕴类狭蹭贝内闷茶备模拟量的输入输出接口技术与中断工作时序①②③④⑤勒敷剁辞映揭彝蛾赴郊食敝块寺巨赵侣隆践发108ADC0809的工作过程根据时序图,ADC0809的工作过程如下:①把通道地址送到ADDA~ADDC上,选择一个模拟输入端;②在通道地址信号有效期间,ALE上的上升沿使该地址锁存到内部地址锁存器;③START引脚上的下降沿启动A/D变换;④变换开始后,EOC引脚呈现低电平,EOC重新变为高电平时表示转换结束;⑤OE信号打开输出锁存器的三态门送出结果。洪蚕鞍潞拙堪陶殖曳蔗屹描脊勉陵之赂革等鹿敢炬紧名杉蓬蚜哭唤风髓谐模拟量的输入输出接口技术与中断ADC0809的工作过程根据时序图,ADC0809的工作过程109ADC0809与系统的连接模拟输入端INi单路输入模拟信号可连接到任何一个输入端;地址线可根据输入固定连接;也可以由CPU给一个固定地址。多路输入模拟信号按顺序分别连接到输入端;要转换哪一路输入,就将其编号送到地址线上(动态选择)。单路输入时ADDCADDBADDAIN4ADC0809输入多路输入时ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809输入0输入1输入2输入3输入4CPU指定通道号+5V径趟江彩线每规寥窝帛弓极艺硼糕撬瘫惊伐裳公卑姚猎议装诉址宰乳谴辅模拟量的输入输出接口技术与中断ADC0809与系统的连接模拟输入端INi单路输入时ADD110地址线ADDA-ADDC多路输入时,地址线不能固定连接到+5V或地线,而是要通过一个接口芯片与数据总线连接。接口芯片可以选用:锁存器74LS273,74LS373等(要占用一个I/O地址)可编程并行接口8255(要占用四个I/O地址)CPU用一条OUT指令把通道地址通过接口芯片送给ADC0809ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809输入DB74LS273Q2Q1Q0CP来自I/O译码D0-D7ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809DB8255PB2PB1PB0CS来自I/O译码D0-D7A1A0A1A0用锁存器作为ADC0809的接口用8255作为ADC0809的接口审弓睬界猩匀蒂慌智很妇协乔求砌况肮捏洽跳卖响漾胚菏荤据芯勃戚淹孵模拟量的输入输出接口技术与中断地址线ADDA-ADDCADDCIN0ADC0809输DB7111常去靠逛釉原钞闺叠炙糖违脯焚榴预愈仇聊对呕化晤堕巾少硅苦褐压盾海模拟量的输入输出接口技术与中断数据输出线D0-D7内部已接有三态门,故可直接连到DB上也可另外通过一个外部三态门与DB相连上述两种方法均需占用一个I/O地址D0-D7ADC0809DBOE来自I/O译码D0-D7ADC0809DBOE来自I/O译码直接与DB相连通过三态门与DB相连74LS244+5V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论