单片机内部模拟比较器的应用

发布者:EnchantedMelody最新更新时间:2012-02-18 来源: 国外电子元器件关键字:单片机  比较器  AD转换器  定时计数器  恒流源 手机看文章 扫描二维码
随时随地手机看文章

    一般来说,内部带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转换。这时积分电容可选择温度系数较小的涤纶电容等。[page]


    需要注意的是,由于单片机采用端口查询的方式来检测比较器的输出结果,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

关键字:单片机  比较器  AD转换器  定时计数器  恒流源 引用地址:单片机内部模拟比较器的应用

上一篇:SM2965微控制器及其ISP应用技术
下一篇:DTMF电路HT9200A与单片机的接口

推荐阅读最新更新时间:2024-03-16 12:53

msp430单片机程序升级的方法有哪些
最近在搞430的FLASH的自定义法(利用串口)程序烧写,烧写完成后断电复位,reset按键就可以运行新的程序。但是和学长交流了一下,这种方法不够好,希望有一种软复位的方式。于是百度了一下,都是些对看门狗进行写入特殊值使得430的cpu复位。反正个人是没有采用。 因为在搞程序的烧写下载,所以看了一下430的BSL。看到里面有一段话,关于从C代码中启动BSL的方法。如下: 从一个外部应用中启动BSL 将程序计数器设定到内存为位置0x1000 来启动BSL。堆栈一直被复位,而RAM 被清空。应该注意的是,GIE 位未被禁用,所以如果不需要中断的话,这一步应该通过调用应用来完成,并且如果它们被使用的话,这一步应该从“返回BSL”返
[单片机]
msp430<font color='red'>单片机</font>程序升级的方法有哪些
基于PIC单片机的测试评估板设计
  近年来,由于数据通信需求的推动,加上半导体、计算机等相关电子技术领域的快速发展,短距离无线与移动通信技术也经历了一个快速发展的阶段。短距离无线通信通常指的是l00m到200m以内的通信。   它被广泛应用于无线数据采集、无线水表、煤气表、电力表抄表、工业遥控、遥测、工业数据采集、楼宇自动化、安防、机房设备无线监控、家庭自动化数据网络组网等领域。   美国SILICon Laboratories公司作为专业的无线芯片开发和生产商,它的IAI系列无线芯片具有集成度高,外围元件少,功耗低,性能稳定可靠,芯片内部集成了FSK无线收发必需的全部功能模块,包括多边带PLL合成器、PA、LNA、混频器、基带滤波器、中频放大器、信号强度指
[单片机]
基于PIC<font color='red'>单片机</font>的测试评估板设计
8051单片机指令系统剖析详解
MCS- 51系列单片机的指令系统是一种简明高效的指令系统,其基本指令共有111条,其中单字节指令49条,双字节指令4'5条,三字节指令17条。如果按功能可以讲这些指令分为五类:数据传送类(29条)、算术操作类(24条)、逻辑操作类(24条)、控制转移类(17条)以及位变量操作类(17条)。对于反向设计而言,我们关心的不是它的各种具体指令的多少而是指令的寻址方式。所谓的寻址方式就是寻找确定参与操作的数的真正地址。MCS-51系列单片机的111条指令一共只采用了5种寻址方式。5种寻址方式以及它们的寻址空间如表1所示。 1.寄存器寻址 寄存器寻址方式可用于访问选定寄存器区的8个工作寄存器RO-R7。由指令操作码的低三位指示所用
[单片机]
8051<font color='red'>单片机</font>指令系统剖析详解
μC/OS-Ⅱ在ARM单片机S3C44B0x上的移植
目前,嵌入式系统在工业控制、家用电器、移动通信、PDA等各种领域得到了越来越广泛的应用。由于用户对嵌入式产品的性能要求越来越高,程序设计也变得越来越复杂,这就需要一个通用的嵌入式实时操作系统来对其进行管理和控制。对移植了操作系统的嵌入式系统进行设计和开发,可以大大减小程序员的负担,对于不同的应用可以按照相同的步骤来完成系统的设计。 μC/OS-Ⅱ是一种简单高效、源代码公开的嵌入式实时操作系统,具有良好的可扩展性和可移植性,被广泛的应用到各种嵌人式处理器上。μCOS-Ⅱ操作系统拥有可固化,可裁剪,可剥夺性的实时内核,可同时管理64个系统任务。利用移植μCOS-Ⅱ操作系统的嵌入式微处理器来设计和开发产品,对于提高产品的性能,减少产
[单片机]
μC/OS-Ⅱ在ARM<font color='red'>单片机</font>S3C44B0x上的移植
基于SC89F516单片机的热源自动跟踪系统分析
1.方案设计、比较与论证 1.1传感器的选择 方案一:为了达到实现跟踪热源的功能,使用温度传感器DS18B20进行实时的温度采集,在通过51单片机进行读取内部寄存器的值,将读出的温度与设定的温度进行比较。超过单片机就执行相关的动作。该方案具有硬件电路简单的优势,但是成本很高,而且程序编写复杂,DS18B20的极限温度为125度非常容易烧坏,无法实现相关的功能。 方案二:采用热敏电阻与及AD转换芯片进行热源的跟踪。通过热敏电阻变化导致电压变化,AD芯片将电压模拟量装换为数字量,通过单片机读取数字量从而执行相关的程序,控制步进电机。该方案虽然可行,可是AD之前的电信号处理电路相对较复杂,而且成本较高。所以放弃使用该方案。
[单片机]
基于SC89F516<font color='red'>单片机</font>的热源自动跟踪系统分析
单片机电子钟设计
这里给大家介绍一个51单片机电子钟汇编程序设计方法: org 00h a_bit equ 30h ;秒寄存器 b_bit equ 31h ;10秒寄存器 c_bit equ 32h ;分寄存器 d_bit equ 33h ;10分寄存器 e_bit equ 34h ;小时寄存器 f_bit equ 35h ;10小时集存器 org 0000h ajmp star org 0030h star: mov a,#00h ;把各个位全部清0 mov a_bit,a mov b_bit,a mov c_bit,a mov d_bit,a mov e_bit,a mov f_bit,a
[单片机]
基于SST89C58型单片机的远程灯控箱系统
摘要:以大型场所照明设备的远程控制为目的,介绍基于SST89C58型单片机的远程灯控箱系统的软硬件设计。该系统通过RS-485总线与PC上位机通信,实现远距离、多节点控制。 关键词:单片机;IAP;远程控制;通信协议:SST89C58 电脑是现今信息时代的标志,通过电脑实现远程实时自动化控制是今后发展的一种趋势。在大型商场、饭店、体育场馆及娱乐场所里,通常有许多照明设备。以往的开关控制和电闸控制,常常需要工作人员频繁亲临现场操作,或向控制室拉接较长的220V电线,实时性、安全性都较差。为了实现工作人员在控制室可以对分散在各个房间的远端照明设备进行实时有效的状态控制及状态查询,笔者开发了一种基于单片机的远程灯控箱系统。该系统由
[单片机]
车载MCU,又要变天了
要说MCU未来两年还能怎么变?除了加入AI加速器,或者从Cortex-M核心切换到RISC-V核心,就是集成新型存储器。 2月28日,英飞凌宣布新一代MCU AURIX TC4x 即将量产,与传统MCU不同,本代产品引入 RRAM 非易失存储介质(NVM)。无独有偶,ISSCC 2024上,瑞萨宣布已开发出用于嵌入式(包括MCU)的STT-MRAM电路技术的测试芯片。而早在2022年,意法半导体就发布Stellar P6车规MCU,彼时产品中就采用了PCM。 这预示着新型存储的MCU终于要正式和我们见面,这意味着,MCU制程技术要全面朝28nm以下进发,而第一个将要改变的市场,就是车载MCU市场。 车载MCU升级的另
[汽车电子]
车载<font color='red'>MCU</font>,又要变天了
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved