2022年双积分型AD转换器宣贯 .pdf
双积分型 A/D 转换器尽管双积分型A/D 转换器的转换速度普遍不高( 通常每秒转换几次到几百次), 但是双积分 A/D 转换器具有转换精度高, 廉价 , 抗干扰能力强等优点, 在速度要求不高的实际工程中使用广泛。常用的双积分型A/D 转换器有MCl4433、ICL7106、ICL7135、AD7555等芯片 , 下面以具有代表性的MCl4433和 ICL7135 为例 , 从两种不同的角度,分别介绍它们与MCS-51单片机的接口及编程方法。1.MCl4433321位 A/D 转换器(1)MCl4433 芯片介绍MCl4433具有以下特点:. 321位双积分型A/D 转换器 ; . 外部基准电压输入=200mV或 2V; . 自动调零 ; . 量程有 199.9mV或 1.999V 两种 (由外部基准电压VREF决定 ); . 转换速度为 (110) 次/s, 速度较慢。MCl4433为 DIP24 封装 , 芯片引脚排列如图1 所示 , 引脚的功能及含义如下:(1) 与电源相关的引脚( 共 6 脚 ) .VDD:正电源端 , 典型值 +5V 。.VEE:模拟负电源端, 典型值 5V。.VSS:数字地 (所有数字信号输入输出的零电位) 。.GND :模拟地 (所有模拟信号的零电位) 。Vx:被测电压输入端。.VREF :外接电压基准(2V 或 200mV)输入端。(2) 与外接电阻、电容相关的引脚( 共 7 脚) .R1:外接积分电阻输入。.C1:外接积分电容输入。.R1/C1 : 外接电阻 R1和外接电容C1的公共端 , 电容C1 常采用聚丙烯电容, 典型值0.1uF, 电阻 R1 有两种选择:一是量程为200mV 时 ,R1=470k ; 另一是量程为2V时,R1=27k 。.C01、C02:外接失调补偿电容端, 典型值为0.1uF 。.CLK0、CLKl:时钟振荡器外接电阻Rc 接入端 , 外接电阻Rc典型值为470k, 时钟频率随 Rc电阻阻值的增加而下降。(3) 与控制信号相关的引脚( 共 3 脚) .DU:更新转换控制信号输入, 高电平有效。.EOC:转换结束输出, 当 DU有效后 ,EOC 变低 ,16400 个时钟脉冲 (CLK) 周期后产生一个0.5 倍时钟周期宽度的正脉冲,表示转换结束。典型的,EOC与 DU相连 , 每次 A/D 转换结束后均自动启动新的转换。.OR:过量程状态输出, 低电平有效。当|Vx|VREF时,OR有效 ( 输出低电平 ) 。(4) 与选通和数据相关的引脚( 共 8 脚) .DS4DS1 :分别表示个、十、百、千位的选通脉冲输出, 格式为 18 个时钟周期宽度的正脉冲。例如 , 当 DS2有效期间 ,Q0Q3上输出的BCD码表示转换的百位的数值。图 1 MC14433芯片引脚名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - Q0 Q3 :某位BCD码数字量输出。具体是哪位, 由选通脉冲DS4 DSl指定 , 其中 Q3为高位 ,Q0 为低位。 MCl4433 选通时序如图5.12 所示。EOC输出 1/2 个 CLK周期正脉冲表示转换结束, 依次DSl、DS2 、DS3 、DS4有效。当 DSl 有效期间从Q3 Q0端读出的数据是千位数,DS2 有效期间读出的为百位数, 依次类推 , 周而复始。当DSl 有效时 ,Q3Q0上输出的数据为千位数, 由于千位只能是0 或 1, 故 DSl 有效期间 ,Q3 Q0输出的数据被赋予了新的含义:Q3表示千位。 Q3=0,表示千位为1;Q3=1, 表示千位为0。Q2表示极性。 Q2=0,表示极性为负;Q2=1, 表示极性为正。Q0表示超量程。 Q0=1,表示超量程 ;Q0=0, 表示未超量程。Q0=1时, 进一步确定是由过量程还是欠量程引起的超量程, 由 Q3(千位数据 ) 来确定。当Q3=0,表示千位为1, 是由过量程引起的;当 Q3=1,表示千位为0, 是由欠量程引起的。MCl4433千位选通含义如表1 所示。表 1 MC14433 千位选通含义BCD输出DS1有效时千位的含义Q3 Q2 Q1 Q0 极性千位量程1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 欠量程1 0 1 1 0 欠量程0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 过量程0 0 1 1 1 过量程图 2 MCl4433选通时序(2) 接口与编程MCl4433与 MCS-51的连接如图3 所示 , 采用中断方式( 下降沿触发 ), 结果存储格式如表2所示 , 欠量程、过量程和极性分别保存在00H 02H位地址单元中。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 图 3 MCl4433 接口原理表 2 存储格式要求存储单元31H高 4 位31H低 4 位30H高 4 位30H低 4 位所存数据千位百位十位个位程序清单如下:UNDER: EQU 00H ;位地址单元存放欠量程(1 真 0 假) OVER : EQU 01H ;位地址单元存放过量程(1 真 0 假) POLA : EQU 02H ;位地址单元存放极性(1 负 0 正) HIGH : EQU 31H ;高位LOW : EQU 30H ;低位 ORG 0000H LJMP MAIN ORG 0013H ;INTl中断服务入口地址 lJMP INTlF MAIN : MOV LOW,#0 MOV HIGH,#0 ;将存放结果的单元清0 CLR UNDER CLR OVER ;将存放欠量程、超量程的位地址单元清零 CLR POLA ;假定结果为正 SETB Itl ;置外部中断为下降沿触发 SETB Exl ;开 INTl 中断允许 SETB EA ;开中断总允许 LJMP $ ;等待中断INTlF : MOV A,P1 ;进入中断 , 说明 MCl4433转换结束 , 读 P1 JNB Acc.4,INTlF ;DS1无效 , 等待 ; JB Acc.2,NEXT ;Q2=1表示正 , 已经预处理过, 继续 SETB POLA 为负 , 需将 02H置位NEXT : JB Acc.3,NEXTl ;千位为 0, 已经预处理过 , 继续名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - ORL HIGH,转 10H ; 将千位信息保存在高位单元中NEXTl: JB Acc.0,ERROR ;转欠、超量程处理, 有千位已能区分INll: MOV A,P1 JNB Acc.5,Inll ;等待百位选通信号ANL A,#0FH ;屏蔽高 4 位ORL HIGH,A INl2 : MOV A,P1 JNB Acc.6,INl2 ;等待十位选通信号ANL A,#0FH ;屏蔽高 4 位SWAP A ;交换到高 4 位ORL LOW,A INl3 : MOV A,P1 JNB ACC.7,INLL ;等待个位选通信号ANL A,#0FH ;屏蔽高 4 位ORL LOW,A RETI ERROR: MOV A,HIGH ;欠、超量程处理CJNE A,#0,OV ;有千位表示过量程SETB UNDER ;置欠量程标志RETI OV : SETB OVER ;置过量程标志RETl 提示:现在市场上许多常见的3 位半数字万用表就是采用类似转换芯片2.ICL-7135 421位 A/D 转换器(1)ICL-7135芯片介绍ICI-7135是 421位双积分 A/D 转换芯片 , 可以转换输出20000 个数字量 , 有 STB选通控制的 BCD码输出 , 与微机接口十分方便。ICL7135 具有精度高 ( 相当于 14 位 A/D 转换 ), 价格低的优点。 其转换速度与时钟频率相关, 每个转换周期均有:自校准 ( 调零 ) 、正向积分 ( 被测模拟电压积分) 、反向积分( 基准电压积分) 和过零检测四个阶段组成, 其中自校准时间为10001个脉冲 , 正向积分时间为10000个脉冲 , 反向积分直至电压到零为止( 最大不超过 20001个脉冲 ) 。故设计者可以采用从正向积分开始计数脉冲个数, 到反向积分为零时停止计数。将计数的脉冲个数减10000, 即得到对应的模拟量。 图 4给出了 ICL7135 时序 , 由图可见 , 当 BUSY变高时开始正向积分, 反向积分到零时BUSY 变低 , 所以 BUSY 可以用于控制计数器的启动停止。ICL7135 为 DIP28 封装 , 芯片引脚排列如图5 所示 , 引脚的功能及含义如下:(1) 与供电及电源相关的引脚( 共 7 脚) .-V :ICL7135 负电源引入端 , 典型值 -5V, 极限值 -9V; .+V:ICL7135 正电源引入端 , 典型值 +5V,极限值 +6V; .DGND :数字地 ,ICL7135 正、负电源的低电平基准; . REF :参考电压输入,REF 的地为AGND引脚 , 典型值1V, 输出数字量=10000(VIN/VREF); .AC:模拟地 , 典型应用中 , 与 DGND (数字地)“一点接地”; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - .INHI :模拟输入正; .INLO:模拟输入负, 当模拟信号输入为单端对地时, 直接与 AC相连。图 4 1CL7135 时序图 5 1CL7135 芯片引脚(2) 与控制和状态相关的引脚 ( 共 12 脚) .CLKIN:时钟信号输入。当T=80ms时 ,fcp=125kHz,对 50Hz 工频干扰有较大抑制能力,此时转换速度为3 次/s 。极限值fcp=1MHz 时, 转换速度为25 次/s 。.REFC+ :外接参考电容正, 典型值 1F。.REFC-:外接参考电容负。.BUFFO :缓冲放大器输出端, 典型外接积分电阻。.INTO:积分器输出端, 典型外接积分电容。.AZIN:自校零端。.LOW : 欠量程信号输出端, 当输入信号小于量程范围的10时 , 该端输出高电平。.HIGH:过量程信号输出端, 当输入信号超过计数范围(20001) 时, 该端输出高电平。.STOR : 数据输出选通信号( 负脉冲 ), 宽度为时钟脉冲宽度的一半, 每次 A/D 转换结束时 ,该端输出 5 个负脉冲 , 分别选通由高到低的BCD码数据 (5 位), 该端用于将转换结果打到并行I/O 接口。.R/H :自动转换 / 停顿控制输入。 当输入高电平时; 每隔 40002 个时钟脉冲自动启动下一次转换 ; 当输入为低电平时, 转换结束后需输入一个大于300ns 的正脉冲 , 才能启动下一次转换。.POL:极性信号输出, 高电平表示极性为正。.BUSY :忙信号输出 , 高电平有效。 正向积分开始时自动变高, 反向积分结束时自动变低。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - (3) 与选通和数据输出相关的引脚( 共 9 脚) .B8B1:BCD码输出。 B8为高位 , 对应 BCD码; 。D5:万位选通 ; .D4D1:千、百、十、个位选通。ICL7135 外接阻容的典型应用如图6 所示。由于单片机资源的宝贵, 如果采用MCl4433的接口方法 , 将占用 8 条以上端口线,下面重点介绍一种利用BUSY 信号特点的“转换”方式,大大地减少了对单片机资源的占用。图 6 ICL7135典型应用(2) 接口与编程ICL7135 与 MCS-51的连接可参照MCLl4433 与处理器连接方法, 依次读出万位到个位的BCD码。本节采用另外一种方法, 重点推荐采用计数法进行A/D转换”的方法。ICL7135 与MCS-51连接如图 7 所示。图 7 1CL7135 与 MCS51 连接(1)硬件连接。 设 MCS-51的外接晶振fosc=6MHz, 则 ALE输出约为1MHz,将 ALE信号输入 CD4040的 CLK引脚。 CD4040是由 12 个 T 型触发器组成的串行二进制计数器/ 分频器 , 有12 个分频输出端,Q1Q12,最大分频系数为2124096, 由于 CD4040的所有输入、输出端都设有缓冲器 ,所以有较好的噪声容限。CD4040的 Q2输出是对ALE 进行了224 分频 ,故输入ICL7135的 时 钟 为1MHz/4=250kHz, 可 得TCP 1/250ms=0.004mS, 由 于 一 次转 换 最 多 需(10001+10000+20001)=40002个脉冲 , 故转换一次需0.004 40002160ms,因此 ICL7135 的转换速度为6.25 次 s。选择这一频率 , 以牺牲 ICL7135 抗工频干扰为代价, 使 MCS-51的 16位计数器能一次计数AD转换”的 CP脉冲数。在满电压输入时,BUSY宽度为正向积分10000个 CP脉冲 , 反向积分20001 个 CP脉冲 ( 总计 30 001 个 CP脉冲 ) 。在 fosc=6MHz 情况下 ,8031内部定时频率为6MHz 12=500kHz, 比 ICL7135 时钟频率 250kHz 大了 1 倍。在满刻度电压输入时 , 定时器计数值应为30 0012=60002, 不超过 MCS-51的 16位计数的最大可计数值(216),名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - 故在 BUSY高电平期间 , 计数器计数值除以2, 再减去 10000(2710H), 余数就是被测电压的数值。(2) 程序设计。假定将转换的结果( 二进制 ) 存放在 R3,R2 寄存器中 , 其中 R3存放高位 . 程序清单如下:JB P3.2,$ ;等待 BUSY变低 (AD转换结束 ) MOV TL0,#0 MOV THO,#0 ;16位计数器初值清0 MOV TMOD, 01H ;TO 定时 , 方式 1(16 位定时 ) JNB P3.2,$ ;等待 BUSY变高 (A/D 转换开始 ) SETB TR0 ;启动定时JB P3.2,$ ;等待 A/D 结束CLR TR0 ;停定时CLR C MOV A,THO RRC A ;高位除以2 MOV R3,A ;存高位MOV A,TL0 RRC A ;低位除以2 MOV R2,A ;存低位CLR C SUBB A,#10H ;低位减 10H MOV R2,A MOV A,R3 SUBB A,#27H ;高位减 27H MOV R3,A RET 提示:现在市场上许多常见的4 位半数字万用表就是采用类似上述转换芯片名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -