使用一个IO口实现AD转换输入

收藏

编号:214694281    类型:共享资源    大小:147.20KB    格式:DOCX    上传时间:2023-05-30
15
积分
关 键 词:
使用 一个 IO 口实 AD 转换 输入
资源描述:
使用一个I/O 口实现A/D转换输入 2008-5-7 文件编码:MSIC1000U 简介 在某些特定的场合,主要是在数字电子应用方面,需要一个模拟信号输入来做一些基本的 模拟量的测量或者是提供可控的方式使用外部电位器。当然,像这样的需求,由一个内置 A/D转换的MCU就能极好地实现,但是也可以使用一些经济的外部器件,由一个标准的数 字I/O 口来实现一个简单的模数转换功能。此篇应用将以MSIC系列MCU为对象,介绍如 何使用标准的施密特输入口或CMOS IO 口作为基本的A/D转换口使用,为对A/D转换精 度要求不高的应用提供一种超低成本的A/D转换实用方案。 功能说明 这种模数转换的原理就是通过对某一电容充电达到某个固定的电压值,然后以恒定电流进 行放电,我们可以通过测量放电时间来获得当前输入信号的强弱。通过设置I/O 口为输出高 电平可以迅速对电容进行充电,在输出口与电容之间建议串接一个 100欧姆的小电阻来限 流,防止大电流损坏。电容充电的表达公式如下: Vc = Vo (1-e-t/R)C 此处Vc是电容电压,Vo是IO 口输出电压(与MCU实际工作电压有关),将输出口置高 开始对电容充电后仅需仅短时间的延时,充电电压即可达到 Vo 的 98%,此案中需要的时 间大约为39^s。完成充电过程后即可将控制口设置为输入状态,因为其输入状态为高阻态, 此时电容就只能通过三极管的发射极对地以恒定的电流放电,电流大小与发射极上串拉的 电阻有关。改变放电电流的大小即会改变放电斜率。 电流大小与电容电量之间的关系式如下: dV dt 此处C是元件的电容,单位是法拉。dV/dt是电容上电压变化率,单位是伏特/每秒。I是流 过电容的电流,单位为安培。如下图所示,如果流经电容的电流是恒定的,那么充电时电 容电压上升的速率也是恒定的,实际上也就是说对电容的充放电斜坡的斜率是由电容参数 值和充放电电流值决定的,电压的变化率dV等于 丄。 dt C Capacitor Charged 在放电时,如果电容与与一个CMOS输入端相连接,随着电容电压幅度的减小,当其幅度 降低到 CMOS 输入的开关极限值, CMOS 输入端将从高电平变为低电平。使用内部定时/ 计数器从放电周期开始对输入端进行监测。当输入端出现下降沿时,如果定时计数器停止 计数,定时器寄存器的剩余值是与放电电流成比例的,放电电流大小是由发射极的两个电 阻决定的,其中一个电阻是电位器。 硬件部分 硬件电路很简单,由极少的标准元器件组成。用一个红色的 LED 提供一个大约 1.8V 的参 考电压,它还具有上电指示的功能。当然,不同颜色的LED或串联几个低功耗的二极管, 如IN4148,也可以作为选择。这个LED的正向电压,与Q1基极到射极之间的电压相减, 便得出串联电阻R2和R3上的电压,从而在Q1的发射极产生一个恒流源。这将在三极管 的集电极产生一个恒定的电流,该电流即为放电电流。三极管的集电极电流同基极电流的 关系,是由三极管的hfe值决定的,与外部电路的精确度无关。几乎所有的NPN型三极管 都可以应用到该电路中。一个I/O引脚经一个100欧姆的电阻与电容连接,当充电时,这个 电阻对电容具有限流保护作用。在放电期间,I/O 口具有高输入阻抗,所以不会影响A/D转 换的精确度。R2的作用是当R3电位计在最小值时,确保三极管工作在非饱和区,并维持 电流源工作。如果选择R2为1.2K,提供的电流源的值大约为1mA,选取较小的电阻值以 便于计算。选取 R3 为 10K 是有作用的,当其在较大值时可减少功耗,并且可以防止外界 干扰。 IjTMiJiLii 2N2222 liU'H MCU I/O Pill Note: Ensure no pull hi越1 resistor is cuimeizted. 该例使用 MSIC I/O 型单片机,事实上任何一款带有施密特触发, CMOS I/O 结构的 MSIC 单片机都可以使用。注意,NMOS型I/O引脚不适合于该应用。如果电容放电电压的下降 沿下降相对比较缓慢,非施密特型的 CMOS 输入也不适用于该应用,因为缓慢的下降沿输 入在电压降到门限电压时不能产生一个明确的逻辑转换。 检查电路将会发现,电容电压从 Vdd 开始放电到输入引脚的门限电压之间的时间可由电压 的变化量/电压的变化率求得,方程式如下: _ (Vdd - Vth)C Time =— I vth是输入引脚的门限电压值,C是电容值,I是恒定的放电电流值。但I可由发射极的电 压/ (R2 + R3)得出,代入上面方程式,可得出: _ (Vdd — Vth)(R2 + R3)C Time = Ve Ve是发射极电压值,它可由LED的正向电压减去三极管的Vbe得出。 软件部分 模数转化编码很简单,它是由连续地对电容充放电来实现的。对电容充电是通过设置I/O为 输出,并设置一个较长的固定时间周期以确保对电容满充。一个100 nF的电容和一个100 欧姆的电阻可以达到 10us 的固定时间周期,它可以作为一个计算合适充电时间的标准。推 荐对电容充电的合适时间应不小于10倍的RC充电时间常数。当I/O 口由低输出变为高输 入状态,放电过程即可开始,同时定时计数器也开始计时。该系统使用6MHz的晶体振荡, 如果设置定时器预分频器的值为16,将得到一个约2.67us的时钟周期。此时TMR寄存器 的溢出周期为(255x2.67us) 0.68ms。当该溢出周期远小于电容由满充到输入门限电压值的 放电时间,模数转换值将会是大于8位二进制的数据。如果增加预分频器值到64,将会得 到一个足够长的时钟周期,允许模数转换值在8位以内即255以内。 结果 如下示波器图形为电容电压,可以清楚地看到电容充电整个过程的指数上升曲线。可见上 升时间比预计值长,这可能是由于单片机 CMOS 输出口的电压驱动能力没有理想中的好。 这一点在充电周期起始阶段,当充电电流值比较大时,表现得尤为明显。注意,电流源将 不断地从 CMOS 输出口吸收电流,这对上升时间产生一些影响。这些问题通过在电容充电 时加一个较长延时便可解决。这条曲线表明,在这个范例中,允许电容充电时间的编程值 明显长于所必需的时间,并且可以缩短整个模数转换的时间。至于比较重要的放电斜率, 尽管没有测量,但看起来线性度非常好。施密特触发I/O输入口的转换也很明显,而且没有 检测到干扰信号。在该例中,曲线表明,由高到低变化的门限电压值为1.62V,当然,这个 值依赖于处理过程,而且随着选择的芯片不同而有所不同,对模数转换值有着重要的影响。 误差 由于该应用范例只是提供一个模数转换的基本形式,并不适用于做精确的测量,但是适用 于转换精度有限的领域。绝对误差的主要来源存在于所使用电容的实际值和输入电压的门 限值。尽管使用的电容为O.luF,但它的容限可能会大。如果采用软件进行校准,对绝对误 差进行补偿,那么将获得一个合理的精确度。另外,还存在一些小误差,如其中一个就是 由于电容放电时,三极管 Vce 电压值不断变化引起放电电流的微弱变化。其它误差可能是 由不很理想的电源电压引入的。确保没有上拉电阻与I/O引脚相连,否则将会产生误差,因 为这将影响放电斜率的线性度,尤其在放电电流较小的情况下。 结论 该应用范例已说明了如何用一个标准逻辑 I/O 引脚与内部定时/计数器,和一些低成本的器 件来实现A/D转换功能。虽然不是针对高精度的A/D转换应用,但这个构思实际上可以实 施于低分辨率,低成本的 A/D 转换功能。在示波器曲线上随意测量放电斜率,虽然测量方 式比较粗糙,但可以看到很好的线性。目前的应用范例只使用了一个I/O引脚,但很容易适 用于多通道模拟输入。 该应用范例使用一个电位计提供模拟信号输入,但可以用一个固定电阻来代替,并使用一 个缓冲电压源与晶体管的基极连接,从而来提供模拟信号的输入。虽然这个电压源可以用 来控制放电电流,但是对三极管保持导通并工作在线性区域的输入电压范围加强了限制。 使用外部中断作为模拟测量输入脚可以实现更高效率的程序规划,即在模数转化过程中, 程序可以继续执行其他的任务。
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:使用一个IO口实现AD转换输入
链接地址:https://www.zhuangpeitu.com/article/214694281.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!