谈谈 SN 单片机自带 AD 转换的参数规划配置问题
▲ SN 单片机AD转换的参考电压配置
AD 转换都会配置一个参考电压,符号是"AVREF" 或 "VREF",有些单片机里,没有专门的外部 AVREF 引脚,而有些则有这个引脚.我们就从有这个 AVREF 引脚的电路来说说.
图示是 SN27143 芯片的参考电压配置,图一是使用 TL431 稳压提供,图二是使用电阻分压提供,那么,究竟哪一种配置更好呢?
从稳压精度上说,使用 TL431 的似乎肯定是好的,无论如何,5V 供电通常就是 7805 或 开关电源供电,级别当然比不上
TL431,但是,偏偏有些场合就不是这样,这要看看输入 AD 的模拟信号的类型或属性.
如果,输入信号是与芯片5V供电毫无关联的模拟电压信号,例如电池电压,热电偶经过放大器后的温差生成电压等等,这种情况下,就需要使用 TL431 甚至更好的稳压器件来提供精准稳定的 AVREF 电压,以便保证在 5V 供电变化时,测量信号的"砝码"不会改变.
可是,如果遇上输入的 AD 信号如图三所示,情况就大大不同了.
假设,图三的 Rt 是一个负温度系数的热敏电阻,那么,在测量温度的变化时,引起自身阻值的变化,从而让输入到单片机 AD 输入信号也发生变化.
图三是一个普通典型的热敏电阻输入电路, 20k 电阻从 5V 供电向传感器 Rt 供电,与传感器 Rt 并联的 105 电容器用于滤除线路上可能引入的交流干扰,稳定输入信号,还有一个 100K 电阻与 Rt 并联,其作用就是可以线性化 Rt 的变化曲线,同时限制热敏电阻的等效最大值.与 100K 并联后,不可能大于 100K ,过大的电阻,实际与单片机输入阻抗会严重失配,同时,传感器等效变化会低温区很大,高温区很小.
回到 AD 参考电压 AVREF 上来,此时,改变传感器到 AD 输入电压的还有元器件自身的温度系数,供电电压的变化,这些变化,宾不是真正的测量温度变化,结果,测量误差就加大了.
先分析 5V 供电的变化,如果它变低了, AVREF 也会跟着低,AVREF 变低,意味着 AD 测量值在信号实际没有改变时,也会自动变大.而因为供电电压变低,提供给传感器的电流会变小,让输入到 AD 的信号也变小.
这么几个主要的变化,可以分析出: 供电变低导致 AVREF 变低,从而让读数变大,(传感器为负温度系数时,显示温度值变小),而流经传感器的电流变小,会让输入到 AD 的信号变小,读数也就变小,(传感器为负温度系数时,显示温度值变大),注意上面 2 个括号里的文字意思是相反的,它们可以起到一个互相补偿的作用.
至于作用量的大小,与具体情况有很大关系,定量分析也是非常麻烦的.
可以实际试一下: 温度传感器使用固定电阻代替,以维持输入信号固定不变.
当使用 TL431 作为 AVREF 时, 供电从 5V 变化到 4V,流过传感器的电流变小,信号电压也就变小,但是 AVREF 维持不变,温度值会产生很大的变化,高了好几度.
当使用电阻分压作为 AVREF 时, 供电从 5V 变化到 4V,流过传感器的电流变小,信号电压也就变小,AVREF 也跟着变小,温度值的变化就少多了,仅仅变化零点几度.
如果上面的传感器不是负温度系数而是正温度系数,例如 PT100 ,CU50 等热电阻,上述分析硬件情况就不相同了,它们是具有电流变小→信号变小→显示温度值也变小的特征,与热敏电阻信号变小显示温度变大方向是相反的. 这就需要软件配合,把这种关系反过来处理.好在编制温度表格时,热敏电阻与 PT100 热电阻的顺序本身就是相反的.前者从大到小,后者从小到大.
这说明,AD 转换的参考电压也是需要根据实际情况来配置的.千万不能盲目认定使用稳压管就一定好!
▲ 谈谈如何规划配置单片机的 AD 输入信号
通常,使用AD转换时,首先需要得到参数的是分辨力,SN 单片机 OTP 的许多都是 12 位分辨力,而 F 系列的芯片则较多是 10 位.
当芯片的 AD 分辨力为 12 位时,对于 5V 供电同时又是 5V 基准来说, 5*1000/4095=1.221001mV/字, 就是说,信号每变化
1.221001mV,读数就会变化 1 个字.
当芯片的 AD 分辨力为 10 位时,对于 5V 供电同时又是 5V 基准来说, 5*1000/1023=4.887586mV/字, 就是说,信号每变化
4.8875861mV,读数就会变化 1 个字.
很明显,位数越多,分辨力就越细微,灵敏度就越高!
许多芯片都有外部基准引脚,允许使用外部参考电压,这就可以成倍地提高其 AD 转换的分辨力.同时,也成倍地降低最大输入信号的幅度.
查阅 SN 芯片手册,较多提及的是允许外部基准最小值为 2.000V ,如果是这个数值,对上面的计算可以重新来一次:
分辨力=12位: 2*1000/4095=0.4884mV/字, (5V基准时是1.221001mV/字).
分辨力=10位的: 2*1000/1023=1.955034mV/字, (5V基准时是4.887586mV/字).
可见,由于减少了基准电压,分辨力就大大提高了!在许多时候,这个提高是很有用处的.
然而,分辨力的提高,完全依赖单片机自身的 AD 分辨力到底能不能达到这个数量级.在查阅 SN 单片机手册时,某些具体型号的芯片就有一个规定: 如果使用 5V 的 VREF,就有 12 位的分辨力,否则就只有 8 位分辨力.这种以牺牲分辨力换取外部非 5V 基准的做法是得不偿失的.
当允许使用非 5V 的基准电压而又不降低分辨力的时候,使用外部基准才有实际意义.
下面通过一个使用 SN8P27143 的实际例子来说明:
该芯片有专门的外部 VREF 输入引脚,手册没有说明使用外部 VREF 时会让分辨力下跌到 8 位.其外部 VREF 的范围是 2.0V~5.0V,模拟输入信号假设是 K 热电偶的信号,就需要放大器放大,这里选择通用单电源供电的 LM358 作为放大器,以便让热电偶每℃仅仅 40uV 左右的信号放大到可以让单片机 AD 转换能够分辨的幅度.
这个放大器的最大输出幅度就与单片机的 VREF 紧密相关了.
通常,这种放大器在 5V 供电时,最大输出电压只能达到 3.6V 左右,根本到不了 5V ,如果此时使用 5V 作为基准,就会让
5-3.6=1.4 这区域的读数白白浪费了!为了让单片机的 AD 分辨力发挥最大能力,就要让 VREF 不能超过放大器的最大输出电压. (也曾使用过"轨到轨"满幅度输出的放大器,例如:圣邦微电子的 SM358 就可以在 5V 供电时输出也达到非常接近 5V .)
图上的 VREF 使用电阻分压得到,改变 RVE 的大小,就可以得到各种 VREF 电压.(也可以使用精密稳压管来提供这个 VREF 电压 ).
同样,同相放大器外围的 RF 电阻,与 270K 电阻构成放大器的放大倍数关系,它必须保证最大信号输入时,放大器输出也达到最大输出.
例如:
我把 K 偶最大量程定在 800℃,查阅 K 温度/mv 表格,得到此时输出电压=33.275mV ,于是, 3.5*1000/33.275=105.184072,
由于是同相放大器,需要把放大倍数 -1=104.184072,得到 RF=270/104.184072=2.591567(KΩ),从 E96 分度电阻系列里选择
2.55K+0.0422K的电阻,串联后:2.55K+0.0422K=2.5922K(宁可稍大,不能稍小,小了会让放大器输出饱和!)
核算:270/2.5922+1=105.15863(倍).比理论计算稍小一点点.
在许多情况下,原始信号可以不要放大器而直接输入到 AD 的输入端,例如:P40/AIN0 ,此时,要注意原始信号的输出阻抗问题.据 SN 的应用资料上介绍,AD 输入阻抗与 AD 转换速率有关,当转换速率从 1/S 次变化到 100K/S 次时,输入阻抗从 20000MΩ 变化到 200KΩ,要求信号源的内阻也从 4.88MΩ 变化到 48.8Ω ,要想得到最好的效果,必须保证 AD 输入阻抗绝对>信号源内阻+R1 ,加大一些 C1 可以减少一些 R1 ,详情可见 SN 网站的 SN_SARADC App Notes (Ver 02C).pdf 一文.
通用放大器的输入阻抗也不是非常高,同相放大器最大大致在 1MΩ 左右,而放大器的输出一般就只有几十Ω,是非常理想的驱动信号源内阻.要想再提高放大器的输入阻抗,就得使用高阻抗输入的放大器了,例如: TL06* 系列,或者 SM8522 "轨到轨"输出的型号.(运算放大器还有许多参数指标,通常在低频一般性应用时,都无需一一关心,故此,这里也就不再涉及无关内容.)
仅供参考.
用户1689713 2013-10-30 16:54
peng36933_557691152 2012-3-9 20:51