打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MSP430上的模拟设计与ADC12/SD16/外部AD的分析
关于模拟前端的设计

  事实上,在一个AD采集系统里,最复杂和最难的是模拟前端---AFE,因为这个设计直接影响到后面的测量/分辨精度和采用的算法,可以这么说,模拟前端设计好,可以省很多CODE的时间去做软件滤波,实际上一些软件滤波不是提高精度,而是降低了AD采集的灵敏度,这些在我们做一些低速信号或者直流信号时基本感觉不到,在市电或者其他交变信号的采集时,这些尤为明显.

建议,各位做高精ADC采集的时候,尽可能将信号过运放处理,因为这样可以避免MSP430ADC12/SD16采集的输入阻抗误差,因为ADC12不是运放输入,SD16的运放输入要求阻抗>2M,很多应变桥可能输出阻抗只有几10K,阻抗不匹配造成最大的问题就是采样精度受温度,电压等影响大,最坏的可能性就是与真实信号误差大

下面将就RTD温度测量和电阻应变桥测量做个简单的分析(下述电路如果要提高精度和PSRR(电源抑止比),可采用差分输入方式)

下图为使用PT100温度传感器的典型恒流--->电压输出--->AD采集电路

     

如上图所述

温度检测器为PT100,其在0摄氏度时的电阻为100欧,一些精密的RTD用3线或者4线制,其目的就是为了减少RTD引线上的电阻影响精度,这个线路电阻就是图中的RW.
目前一些热表和温度检测设备使用PT100或者PT1000来测量,最简单的办法就是用这样的电路来构件一个模拟前端.当然,也有用RC时间参数来做DELTA-SIGMA ADC的,那种办法的时间越长精度越高,但是要求时钟基准比较稳定.(一些F41X的热表应用上常用的测温就用这个办法.)

在上述电路中,比较关键的是基准电压和运放的选择,在这里要强调的一点,很多朋友往往认为基准电压的精度越高越好,当然,这个是无可厚非的,但是在成本要求相对较高的情况下,我们需要的是-----基准电压的温度线性要好.因为在电路里,供电电压波动的情况有,但是一般我们都给出了超过基准电压足够范围的电压,以保证基准能稳定输出.但是一个很常见的问题就是温度漂移,有可能来自设备本身---因为工作时间长了PCB要升温;也有可能来自外部---因为有些地方夏季和冬季的温度偏差有时可以到90摄氏度以上(-30C--60C),这样的条件势必对基准要求更高了

下面我们按性价比依次列了下,TI出品的LM285,TLV431,REF30XX都是不错的选择,主要是TI的基准相对来说功耗小,温度漂移相对也小,本人用的最满意的是TI的LM285-1.2,基本上在-15~75C的大范围内,基准输出电压变化小于1MV,REF30XX的电压精度是0.2%,温度漂移50PPM,适合12位以上精度采集的要求,它的价格相对较高了.目前TI还推出了REF31XX,32XX,32系列的已经可以作到4PPM.这个基本上可以和ADI公司的高精度基准媲美了

说完基准,我们要谈谈运放,运算放大器在模拟前端里相对来说是最重要的器件了.要根据电路特点,选择是否带零漂校准的,是否低嘈声的,是否满足带宽,是否R2R--轨对轨等等.

在温度检测的这个电路里,目前我们可以看到的是用了一个MICROCHIP公司的MCP运放,功耗相对比较低,实际上在这个系统里,我们还可以考虑用TLV系列的产品,比如TLV2254,同样也是一个4运放,嘈声更小.在类似的电路里,我们对带宽的要求相对较少,基本都是DC信号,但是另一个概念--R2R,轨对轨,就是说,要求运放输出的电压能到其供电电压,具有这个功能的运放就适合做满幅测量,不象老运放要正负电压,还不能输出等于VCC的电压.

关于运放的重要性和选择,我们在下一个跟贴上继续,下面主要介绍下电阻应变桥的ADC模拟前端,这部分相对要求的都是12BIT/16BIT/24BIT的精度,因此对运放的要求更高了,还要考虑零点漂移

    

一个恒流驱动的电阻应变桥

上述是一个恒压驱动下的电阻应变桥,实际上这是一个硅压电阻应变桥,是目前小体积压力测量上精度不错的一种传感器;下图是其同一系列中恒流驱动器件的典型电路.

在这两个电路中,最主要的就是要求所有的运放都是低嘈声的.因为此类应变桥传感器输出都是在MV级的信号,测量分辨率有时要达到UV级别.因此,抑制运放的嘈声以及电源的嘈声都非常重要.此外,注意一下,在图中的A3.实际上这个电路就是用做零点漂移的调节.这里提下,什么是零点漂移,实际就和我们使用指针万用表一样,有时电池的电压变了,测量欧姆档的时候要调零,因为有些外部因数导致传感器输出有零点漂移,也就是说可能受时间影响或者电气特性发生变化后,通过电路调节其输出.

   

一个硅压传感器的实物

   

 Originally posted by hoohoo at 2005-7-10 20:49:
1、ADC12的基准使用内部基准作参考,在REF端我按照user‘s guider说得加了10uF和104的电容到GND。但是我软件选择内部2。5V作参考电压时,AD_in输入2。5V电压,采集回来的数字量不是0xfff。而是输入3。3V时才是0xfff。所以后来我索性用了AVCC作参考电压。
2、我不太明白用户手册上说得“Greater than 200 ksps maximum conversion rate” 中200 ksps的意思,这个速率怎么解释。
3、在AD的输入端,用200K电位器对VCC分压作输入,无论多次采样还是单次采样,回来的数字量都是比较接近的值。但是如果这个电阻一大,比如上了20M(当然没有20M的电位器,用电阻模拟),采集回来的数字量的差别就很大,而且连续多次采集,次次都不一样。
4、软件设计上我试图在采集以后关掉AD内核,以节省电能,但是debug发现AD的核还是开着的,即ADC12ON=1。不知斑竹在这块是怎么操作的。


\\1,有可能是没有在EREF上加电容了,这个要分别在内外部基准的I/O口上加电容滤波网络,至于采样的值可能是你把内部基准切换后没断开外部基准的硬连接.或者你把参考电压设置成VCC了

\\2,200K的速率就是SAMPLE的次数,每秒采样的次数

\\3,因为ADC输入的电流不同了,实际上ADC12不是差分输入,因此最好在前级+个运放,或者你可以根据ADC12内部电容和外部输入阻抗进行计算,得到一个更准确的采样值

\\4,纯粹的软件设置问题了,参考下TI的例子

   

这里贴一个ADC12的常见结构和输入阻抗图解

   


介绍一种pt100测量方法 BBS 网友 DMZ_73 讨论

如图:Rw为pt100,R0为100欧姆的精密线绕电阻,两了电阻串联由恒流源供电,有如下等式:Vw/Rw=V0/R0,即Rw=(Vw/V0)*R0,从这个等式可以看出,即pt100的阻值为俩个电压值之比,再乘以100,参与pt100阻值计算的里面不含恒流源,所以这个方法可以克服恒流源的波动、温飘,随时间的飘移,此电路应用于国家标准2型气象站多年,使用下来非常稳定,最后提一句,要听fft的话, sd12/16输入前的运放不可省去

电流多少还真是没有量过,就参照pt100手册吧,精度的话没有线性修正,然后任意pt100互换,0。3度以内吧(-10-----50),其实精度基本上取决于那个标准电阻

              

pt100电流<5mA BBS 网友 rsluo 讨论

一般通过Pt100的电流不能超过5mA
我也用过类似的方法,不过我是把pt100和标准电阻和二极管三者串在一起接在电源上,进行测量的。

讲讲简单的电源隔离和信号地/电源地的处理

一般在我们的AD系统里面,都有非常明确的模拟电源/模拟地;数字电源数字地,这些的处理相对比较重要.通常的系统中==

1、我们常用10~20欧姆电阻来做个模拟电源和数字电源的隔离,可以从下图中看出,当然,使用分组的隔离电源是最好的选择,但是成本相对较高

2、处理模拟地数字地时,最终使用1点接连的办法,这个连接点要选在PCB上的电荷平衡点,以防止出现电压差,这个需要PCB和模拟设计良好的基础及经验

3、使用PSRR高的LDO,尽量避免使用DCDC和纹波超过300UV的电源温压器件,当然,我们可以通过差分输入来减少来自电源的干扰

4、良好的屏蔽罩同样可以减少外部空间电磁辐射对AD系统的影响,诸如雷达,手机辐射,紫外线等

    

补充几点

1,首先我们要处理系统的晶体干扰问题,晶体在一个PCB上的布局比较重要,当然,选型也很重要,理论上一个系统中的外部晶体频率越低系统越稳定,越不容易受到干扰,但是在内部做倍频基本上是芯片级的应用层次了,补台需要我们操心.

晶体的外壳如果是金属的,通常要接到数字地上.晶体尽量远离ADC电路,靠近MCU

2,多个电源地之间,可以考虑用电感来连接,计算一个比较适合的电感和BYPASS电容,可以消除一些附加在电源地上的干扰信号,这些可以用著名的PSPICE软件来模拟.

3,PCB时,电源的线宽应当根据电流大小布置,通常要为普通信号线的数倍,在电池供电的微功耗设备里,建议最小的电源线宽不小于15MIL(这个仅仅是我们的意见),当然,有条件的可以用软件来模拟下电流的实际大小和需要的线宽,线厚度等,这个在POWER PCB上可以实际仿真得到相关参数

关于低功耗的软硬件设计

1,对于消耗电流大的功能模块,不管是内部的还是外部的,都做关断操作(包含软件不使能).
内部模块包括SVS,ADC, REF,外部的诸如传感器激励电路,光电偶合电路,外部运放或AD采集IC,这些在不使用的情况下不供给电源,将是系统的功耗大大降低

2,推荐在系统空闲的时候可以进入LPM3模式

3,对于不用的I/O处理方法是悬空的IO口都设为输入,拉高或拉低都可以。用到的时候把该作为输出的管脚改成输出

4,作为主要的电源供应器件,电源管理IC(含LDO)应当选用可关断或者静态电流小的型号

关于精度校准

在我们做的一些仪表中,不可避免的要用到精度校准.如,

* 热量表的温度系数标定;
* 流量表的正负误差值标定;
* 各种传感器的温度补偿系数标定;
* RF系统中调谐参数的标定

因为上述的这些参数都不是固定的,而是根据PCB以及外部传感器,设备连接关系等来做进一步的精度调节的,这样就有必要在产品成型后做一个参数标定.

那么这些标定值是如何设置进我们的MSP中(因为F系列的MSP430芯片内部是FLASH的,可重复编程,这样就不需要像普通51那样外扩EEPROM了)以及存放的区域都成为我们此次探讨的重点.

1,存放这些标定系数的区域

在MSP430中,我们可以将这些标定系数存放在INFOMATION FLASH中,这个区域分128*2总计256字节的信息存储空间,而且也是统一编址的.擦写可以分两块小区域---128字节一个区域来操作,而不用整个扇区的擦除后再写入.

另一个办法就是针对标定数据量大的应用:直接在MSP430程序空间中开一块512字节的常规FLASH扇区用做数据标定,这个标定前一定要对整个扇区的512字节做擦除操作.

还有一类非常特殊的应用,就是把标定参数放在RAM中,这些在下一次上电后就不存在了,这些标定数据是由程序根据某些外部输入来定义的暂时值.

上述的三种标定的存储方式比较常规

2,如何进行标定

A 首先想到的是用FET进行每块产品的代码重入,呵呵,这个最简单,但是要每次编译原代码,安全系数受误操作影响大,还有就是不容易控制代码扩散.

B 通过BSL来进行标定,这个相对来说安全点,因为给的目标文件已经是HEX码,原代码得到安全的保护(不过解密仍然能通过HEX生成ASM)不过比较烦琐的操作可以分为两种,一种是直接修改HEX码里某处数据,以达到标定目的,当然,这个操作可以通过PC软件事先计算好,定位好.另一种方式就是将测试程序写到MCU中,生成一组标定数据到INFO FLASH中,然后再次烧进去成熟的程序,这样通过测试程序和正常程序分离标定的方法在计量仪表中使用比较方便.

C 通过串口进行标定.这个操作需要MCU程序支持,首先把存放标定数据的空间定义好,然后直接从串口接收标定命令/数据,然后写入到标定区域,这样的做法实际上最灵活最安全,因为所有的代码都是不可见的,可以有效防止攻击和代码扩散.但是,有一个缺点,就是要损耗一个UART作为标定用,也就是说,在那些没有UART的MSP430中,使用软件模拟等都增加了这种方式标定的执行难度.

D 特殊场合特殊的标定:如果不仅仅要标定,而且还有可能修改程序中已经过时的算法,而且这些设备有可能无法取回或者为了节约差旅成本不人工取回.这样就要考虑远程升级-----通过GPRS/CDMA/ISM RF等等.

呵呵,上述是我们ZOLAB关于参数标定的一些制造经验,可能还有一些更好的办法,但是由于行业限制,我们也无法去一一验证,欢迎各位多提建议.

可靠性分析 有利于 减少产品返修率 以及 提高产品的稳定性

常规的可靠性分析分为

1, 上电老化

简单的说,就是让你的产品连续上电48小时,呵呵,这个连续工作的要求对绝大多数的电子产品都是不高的要求了,这个最简单的老化办法将有效检验出大约0.1%~0.3%的不合格率,基本上算PASS了,这些也只有在批量生产的时候才会遇到,当然,实验室产品是调试出来的,应该另当别论,要求更高点.

2, 上电高低温老化

当你的产品需要在南方城市或者北方城市运行时,或者在一个温差很大的环境下,都应该充分考虑到温差对产品稳定性的影响.

很多精密的AD采集系统需要高稳定性的AFE(包括运算放大器,AD器件,基准)这些要求16BIT以上的ADC采集需要使用20PPM以下的器件,才能确保足够的精度.

此外,受温度影响比较严重的就是MCU的晶体,通常在-40C以下,晶体正常起振的几率大大降低,除非使用宽温晶振或者有源晶振,而且在需要高精度的晶体,比如做为激光测距这样的应用场合,一定需要一个内部带恒温槽,高稳定性的有源晶振才能正常工作.这样的例子就可以在飞机激光测距吊仓上得到验证(高空温度有时在 -65C以下);另一方面,在机动车或者密闭的仓内,温度有时高达+65C,诸如此类特殊的场合,都应该充分考虑系统中晶振的稳定性

因此,有条件的公司,厂家可能会购买高低温老化设备来做产品的这些实验

3, 上电高湿度老化

这个需要测试在湿度70%~95%环境中,上电是否能正常工作,一般多雾的热带雨林,海上航行中,湿度是电子产品最大的杀手.一个走线密集但又没做防潮防腐处理的PCB,很有可能失灵或者短路烧毁.同样的事件也容易发生在化工,农业人工环境下,因此,这类场合使用的电子产品要充分考虑隔绝空气,防潮(湿度>70%即为潮湿气候)

4, 上电电磁辐射检验 EMC,EMI

比如像用MSP430做的HOT---心电感应记录仪,在工作的同时也要考虑最环境和周围的人和设备造成尽可能小的影响,此外还有电能表,手持PDA等等,这些就需要到计量部门做专业的检测,不仅是产品对外界的干扰.而且还要检测外界电磁辐射对产品的干扰.呵呵,就是费用比较高

PCB设计的差别可能造成同一种ADC 集成电路,一个受到类似手机900MHZ频率电磁辐射时,采集到的信号幅度变化极大.此外,来自电源不纯净的辐射和高次协波也将导致系统异常或者复位

5, 上电静电打击实验 ESD

4000V的人体模型和15000V的高压瞬间打击,这类电子产品的设计难度更高

6, 如果是做军品或者便携工业设备,300KM国家3级公路汽车运输实验

这么颠簸后,产品上没松动,脱焊,器件参数不变化,功能正常,呵呵,就算过关了

7, 如果是做汽车或者高速交通设备的,还要做做抗重力/加速度实验

汽车胎压检测中的IC,基本上就要抵抗到数个G的加速度,很难说一些工业级的IC要"暴",因此在做此类设计时,器件特性一定要把好关

上面非常浅显的介绍了几种常见的可靠性分析办法,其实要是详细写的话,基本上每个措施都可以写到5000字以上了,哈哈,这些更详细的资料,各位坛友还是找找专业的书籍和富有经验的工程师交流更安全

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
A/D转换器的介绍
ADC在数据采集系统中的应用研究
30V4A高精度数控稳压稳流电源,3月17日发布进度:程序调试中
【转】我的信号是双极性的信号,能不能直接输入到单电源供电的ADC?
极好的模拟/数字混合信号的电路板布局布线注意事项 | 吴川斌的博客
提高ADC应用最佳性能的设计建议 - dzkjdx的日志 - 网易博客
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服