电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 单片机 > 详细信息
单片机:单片机内部模拟比较器的应用
来源:   时间: 2007-4-29 10:06:04    

摘要:文章介绍了一种利用单片机内部模拟比较器来构成A/D转换器的方法,给出了它的具体电路设计,分析了电路原理、转换过程及误差原因。并提出了转换过程中的误差消除的实用办法。最后给出了整个工作过程的软件编程。
关键词:单片机;比较器;A/D转换器;定时计数器;恒流源   

一般来说,内部带A/D转换器的单片机价格都比较昂贵,而且一般只有8到10位的分辨率,这在高分辨率要求的场合显然不适用;而普通的单片机则根本没有A/D转换器。随着现代电子技术的发展,出现了一些体积小、内含模拟比较器的单片机,如ATMAL的AT89C2051、ZILOG的Z86E04、MICROCHIP的PIC16C620等,这些单片机在使用时连接比较器的端口一般只作普通I/O使用,而对其内置的模拟比较器的应用却很少。下面以AT89C2051为例,谈谈利用单片机内置模拟比较器来构成A/D转换器的新方法。

1 硬件转换电路
AT89C2051是MCS51单片机系列中的一种,它虽然只有20个引脚,却集成了51系列单片机的标准内核,其中包括2k程序存储器、128字节数据存储器、2个16位定时计数器、一个标准全双工UART和一个精确的模拟比较器,而这个模拟比较器是以前产品所没有的。图1是利用AT89C2051的模拟比较器来构成双积分式A/D转换器的电路原理图。其中:内置模拟比较器的结构如图中虚线包围部分所示,比较器的正、反相输入端分别与P1.0、P1.1连接,这是两个漏极开路无上拉电阻的输出和输入端口,当向P1.0、P1.1写“1”时,M1、M2截止,相当于P1.0、P1.1对数字部分悬空,这时比较器的输入不受单片机端口输出的影响;由于P1.0、P1.1具有很强的灌电流能力,当写入“0”时,P1.0、P1.1能吸入20mA的灌电流,而且M1、M2的饱和电压很低,利用这一特点可为积分电容彻底放电。比较器输出端在单片机内部与P3.6连接,读P3.6就可得到比较器的输出结果。因此,利用AT89C2051这个内置的比较器,再加上少量的外围器件就可组成双积分式A/D转换器。图1中,I0为恒流源,其电流约为0.5~2mA,Cf是积分电容,Cf与I0的选择取决于A/D转换的位数,Vref为参考电压,一般取模拟输入电压最大值的一半,U2是一个模拟开关,其中通道0接参考电压,通道1至7接模拟输入,即该A/D转换器有7个输入通道。

 



2 转换过程
当恒流源对电容器积分时,积分电容上的电压与时间成线性比例关系,这样利用单片机内部的定时计数器就可分别测量参考电压及模拟输入电压的积分时间,再通过CPU的运算来得到转换的结果。单片机的端口P1.2至P1.4可用来输出模拟开关通道选择地址,定时计数器T0可设定为方式1,16位定时状态,用来测定积分时间。该转换过程可分5个步骤:
第一步为积分电容的放电,主要是向P1.1写“0”,利用其吸入灌电流大的特点为Cf放电,同时定时计数器T0清零。
第二步是参考电压积分,即模拟开关选择通道0,相当于Vref接至比较器的正输入端,并向P1.1写“1”,同时启动定时计数器,这样,I0开始对Cf积分;程序循环读P3.6状态,以检测比较器的输出结果,当积分电容上的积分电压稍大于(由于比较器有极高的增益,故可近似地看作等于)参考电压时,比较器的输出反转,P3.6发生由高至低的跳变。程序检测到这个跳变后,停止定时计数器,保存此时的定时计数器结果Tref,此时可由恒流源对电容积分的关系式得出:Vref=(I0 Tref)/Cf
  第三步为积分电容放电,也就是重复第一步对Cf放电和定时计数器T0清零。
第四步为输入电压积分,此时模拟开关可选择通道1~7中的一个,相当于模拟输入电压Vx接至比较器的正输入端,重复第二步对输入电压积分,则可得到积分时间Tx,因此,Vx=(I0Tx)/Cf
  以上4步积分电容Cf上的积分电压波形如图2所示。


第五步是通过CPU的运算来求得A/D转换的结果,由第二步结果除以第四步结果,可以得到:
Vref/Vx=Tref/Tx

变换后得:
Vx=(VrefTx)/Tref

上式即A/D转换的结果。
从上式可以看出:A/D转换结果Vx只与Vref、Tx、Tref有关而与I0、Cf无关。这一点非常重要。因为它意味着在转换过程中抑制了恒流源和积分电容温漂所造成的误差,从而保证了该A/D转换器工作的稳定性,这也正是积分式A/D转换器的优点。理论上,该A/D转换器的精度只取决于参考电压的稳定性和单片机定时计数器的精确度,而这两点都相对比较容易保证。当然,这是指在恒流源为理想恒流源的情况,实际上恒流源的特性决定了该A/D转换器的非线性误差,因此,在要求较高的场合,应选用线性好的恒流源集成电路,如LM334等,而在要求不高的情况下则可用图3所示的由分立元件组成的恒流源电路来实现A/D转换。这时积分电容可选择温度系数较小的涤纶电容等。


需要注意的是,由于单片机采用端口查询的方式来检测比较器的输出结果,MCS51系列单片机端口查询命令需要占用2个机器周期,而定时计数器则需要在每个机器周期上加1。因此,在使用时有可能在比较器的输出反转时,程序不能立刻停止定时计数器,而是要等到下一个机器周期运行到CLRTR0语句时才停止。这样,定时计数器的值总为偶数,这一问题如果不在程序中进行处理就会造成误差。解决的方法是增加I0、Cf的积分时间,即把积分时间加大一倍,再把定时计数器的读数即Tref和Tx除以2,这样就能把定时计数器多加了1的误差去掉而得到正确的结果。也就是说,如果要得到12位的分辨率,那么就需要有13位的定时计数器的读数。这种算法虽然牺牲了定时计数器的1位分辨率,加长了转换周期,但是确保了测量结果的准确性。对于有模拟比较器输出跳变中断的单片机如Z86E08等,上述过程处理起来会更简单,可用程序在比较器输出反转时来设定中断,并在中断子程序的开始时停止定时计数器,其读数减去从比较器中断到执行中断子程序之间的机器周期数即为实际积分时间。
由于AT89C2051的定时计数器为16位,所以该A/D转换器的分辨率实际上可以达到15位。调整I0和Cf的值就能改变A/D转换器的分辨率,I0和Cf的取值与分辨率和单片机时钟频率之间的关系,应满足下式:

12×2N+1/(f0 Vmax)≤Cf/IO≤12×216/(f0Vmax

式中Vmax 为最大模拟输入电压,N为分辨率位数,f0为单片机的时钟频率。根据上式,在设计时应保证足够长的积分时间以保证分辩率的要求。同时还应保证积分时间不能超过单片机的最大定时值,以免引起定时计数器的溢出。

3 软件编程

整个工作过程的主要程序如下(该程序采用MCS51汇编语言编写)。除法子程序和20μs延时子程序分别为:

(1)初始化主程序:

4 结束语

上述所述,采用内部带模拟比较器的单片机加上少量的外国元件,并在程序上稍作处理,就能够构成一种新的A/D转换器,该方法可节约因扩展A/D而占用的大量I/O,而且这种A/D转换器能达到很高的分辩率和精度,并且有抗干扰能力强、分辩率可由程序调整的特点,从而增加了单片机的应用范围和使用灵活性,同时就应用系统的设计也显得简洁和不效。

参考文献

1.AT89 系列单片机。爱迪尔电子有限公司

2.Discrete Z8 Microcontrollers Databook.Zilong,Inc

相关信息
发表评论
打印本页 关闭本页
AT89C2051在点钞机外接显示屏中的应用
    摘要:采用单片机来开发点钞机外接显示屏,具有计数准确、功耗低、稳定可靠、成本低等特点。文中介绍一个单片机应用系统的设计思路。  关键词:点钞机显示屏 单片机应用 单片机程序设计。   从图上可以清楚的看出:点钞机的外接显示屏主要由单片机Atmel公司生产的AT89C2051、三只七段共阳数码管LED1~LED3、晶体三极管V1~V3和相应的电阻电容及插头所组成。   大家知道,LED...
>>详细内容
AT89C2051控制LMX2332的频率合成器
  摘要:LMX2332是美国国家半导体公司生产的集成数字锁相环(PLL)电路。文章介绍了利用单片机AT89C2051控制数字锁相环LMX2332及压控振荡器JTOS-150实现低噪声频率源的方法,该方法可通过改变AT89C2051的程序得到不同频率的信号。 关键词:AT89C2051;单片机;锁相环;LMX2332;频率合成器1 引言数字式频率合成器能提供长期频率稳定度与短期频率稳定度都比较高且杂波少的...
>>详细内容
AT89C2051和TLP521-2在自动窗控制器中的应用(图)
  引言---目前,国内外广泛使用PVC塑料窗体型材,其良好的隔热、保温、密封、隔音、节能、节木、保护环境等众多优点,使其日趋成为建筑用窗的主流材料。我国塑窗制造业的现状存在规模大、品级低、功能差、无高档、产能过剩、低水平等一系列问题,提高窗体产品质量和技术含量是塑窗业发展的主要方向。自动窗作为一种新兴技术,与电子、通信、光、IT技术组合,形成自动开启、关闭的新...
>>详细内容
性能优异的芯片AT89C2051-24PI
  性能优异的芯片AT89C2051-24PI AT89C2051-24PI,她具有具有电路简洁、性能优异、功能完善、耗电少等显著特点, 附:AT89C2051芯片资料: AT89C2051是MCS-51产品的兼容型,它具有2k的FLASH ROM、128字节ROM,15根I/O引线、两个16位定时/计数器、一个五向量两级中断结构、一个全双工串行口、一个精密模拟比较器以及片内振荡电路和时钟电路。它的P1口和P3口是双向I/O口,其中P1.2~P1.7、P3....
>>详细内容
将基于AT89C2051的解码器应用于安防系统
  1 引 言    目前,我国应用极广的编解码器是Princeton公司生产的具有531441(312)种状态的PT2262编码芯片和与之配套的PT2272解码芯片。但一片PT2272只能对一种地址的PT2262的15种状态进行解码,对于较大的编解码保安防盗控制系统,常使用多片PT2272组合解码,但仍远远满足不了大中型安防系统的设计要求。因此,采用AT89C2051单片机,实现了PT2262的大容量解码功能。2 PT2262的编码原理...
>>详细内容
基于AT89C2051的多路舵机控制器设计
    摘要 舵机是机器人、机电系统和航模的重要执行机构。舵机控制器为舵机提供必要的能源和控制信号。本文提出一种以外部中断计数为基础的PWM波形实现方法。该方法具有简单方便,成本低,可实现多路独立PWM输出的优点。关键词 AT89(:205l 舵机控制器 外部中断PWM 舵机是一种位置伺服的驱动器。它接收一定的控制信号,输出一定的角度,适用于那些需要角度不断变化并可以保持的控制系...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com