一种高精度单斜率AD及其单片机实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种高精度单斜率AD及其单片机实现 摘要:介绍了一种利用MSP430 F1121单片机构成的采用类似于Σ-Δ技术的高精度的单斜率AD。分析了工作原理和参数计算。提供了分辨率,精度,线性度,稳定性等性能的测试结果,并讨论了它们的影响因素和应用。 关键词:MSP430单片机 单斜率AD 一 引言 AD转换最常用的方法是逐次逼近法(SAR),转换时间固定且快速是其最大特点,但要明显提高分辩率有一定困难。积分型AD有较强的抗干扰能力,但转换时间较长。而过采样Σ-ΔA/D由于其高分辩率,高线性度及低成本的特点正得到越来越多的应用。TI公司的MSP430F1121单片机内带有一个模拟比较器,因此,只须外接一只电阻和电容即可构成一个类似于Σ-Δ技术的高精度单斜率AD。 图2-1 测量电路图 二 测量电路及过程 MSP430于F1121是16位RISC结构的FLASH型单片机。有14个双向I/O口并兼有中断功能。一个16位定时器,兼有计数和定时功能。一个模拟电压比较器。 测量电路如图2-1所示。 MSP430F1121工作电压为1.8-3.6V。I/O口输出高电平时电压接近Vcc,低电平时接近Vss,因此,一个I/O口可以看作一位DAC,具有PWM功能。测量时P2.4引脚接被测电压。P2.0口输出一串占空比为50%,脉宽为Tp的脉冲。当电容充电到Vout=Vin时,比较器输出将翻转,这一过程称为预充电。此后为维持Vout=Vin,P2.0继续输出脉冲。程序开始对总的输出脉冲数N和输出为高的脉冲数n进行计数。P2.0口根据比较器的输出状态来决定是输出高还是低电平,如果比较器输出为低,表示VoutVin,则P2.0口输出为高,反之,输出为低。当输出N个脉冲后停止计数,则此时高脉冲数n与被测电压Vin成正比。即以Vcc(这里为3.0V)对应于N(这里为3000)个脉冲,如果n为1500,则Vin=1/2Vcc,即Vin为1.5V,相应地,每个高脉冲代表1mV ,这样可以用于比例式测量和绝对值测量。 三 原理分析 经预充电后,Vout=Vin,此后P2.0在电容C上反复充放电,虽然电容充放电是非线性的,但由于充放电幅度极小,只要满足RCTp,则在一定精度内可以认为充放电过程是线性的。其波形如图3-1。 图 3-1 电容充放电过程示意图 图中虚线表示总的脉冲,实线是输出为高的脉冲,如果把相邻的高电平和相邻的低电平看成为一个脉冲,分别为TH1,TL1,TH2,TL2…虽然TH1=TH2=…和TL1=TL2=…不一定成立,但从总体效果来看,可以认为它们是等宽的。那么,n个高电平和N-n个低电平成了m个大脉冲。其中,TH=n/m*Tp,TL=(N-n)*Tp/m. 充电时,Vmax=Vcc+[Umin-Vcc]*exp(-TH/RC) 放电时,Umin=Umax*exp(-TL/RC) 由上两式得: Umax(1-exp(-(TH+TL)/RC)=Vcc(1-exp(-TH/RC)) 在一定的误差范围内有Umax=Vin,则: Vin(1-exp(-(TH+TL)/RC)=Vcc(1-exp(-TL/RC)) 在(TH+TL)/T1时,指数项用泰勒级数展开后,得: Vin*N/m=VCC*n/m 即Vin=n*VCC/N 五 参数计算 用Umax分别减去式2等式两边得: DU=Umax-Umin=Umax(1-exp(-TL/RC))Vcc(1-exp(-TL/RC)〈〈Vcc(1-exp(-TP/RC) 图6-1 程序框图 如果DU=+-1LSB,在N=3000,主频为3.5MHZ时,Tp为14个CPU周期,约3.9us,则RC=0.016 取R=470K,则C=0.035uF 六 软件设计 测量子程序框图如图6-1所示。 P2.0输出的脉冲宽度由程序中输出高或低电平的运行时间决定,因此应尽量缩短这段程序的执行时间,另外,P2.0输出必须为对称的方波,如果程序中输出为高或为低的时间不一样,将会造成很大的误差。 程序中必须先设定一个总的采样时间N,它也决定了分辨率,执行一次测量子程序只运行N/2的时间,因此,必须调用两次,把两次的高电平个数相加才为n。.578545Hz时,一个Tp(即P20口输出一个高或低电平)的时间为14个CPU周期,约为1/3578545=3.9us,则N=4096时一次测量的时间为16ms, 如果N=65535,则一次测量的时间为256ms,这还不包括预充电时间,不是连续测量,则应考虑预充电时间。 精度:是实际测量结果和真实值之间的最大误差。真实值用分辩率为24位的高精度测量仪测量的结果代替,实际测量结果为五次测量的平均。 稳定性:在0-3V之间均匀取15个测量点,每个点在5秒钟内测量5次(液晶显示上读取5个测量值),取它们的

文档评论(0)

天马行空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档