电子说
有时在应用上常会有透过串接一个电阻,将高于VDD的电压(过正压)或是低于GND的电压(过负压),直接输入到单片机的某IO 上作准位变化侦测的情况(即使该管脚不用做ADC功能)。
此时,若这IO 是一根同时可作ADC信道的功能的引脚(如标注为PB0(ADC0)的引脚),那么这 过电压或负电压输入讯号 ,* 可能会干扰其它ADC信道的转换结果 。*
如上图的应用,PB0(ADC0),PB2(ADC2)都是可以当 ADC 转换的输入信道的IO,T_volt为外接的高电压,它透过20K的电阻输入到PB2。这里PB2被设置为IO输入模式(检测外部高低电平),只作准位变化侦测,不作为ADC输入信道,PB0(AD0)则设置为ADC信道并进行ADC转换。
T_volt 的电压如果超过单片机最大输入电压的规格(例如:低于-0.3V 或高于 VDD+0.3V)时,便会向 PB2注入电流,而该 注入电流会对 PB0(AD0)的ADC转换结果产生影响 ,就算此时PB2的注入电流并没有高于额定的最高可允许注入电流I_INJ(手册会有注明,一般为mA级)。
一般来说,PB2的注入电流愈大,对PB0的ADC转换结果影响愈大。PB2的正过电压会令PB0的 ADC读数值偏高,而PB2的负过电压,则会令PB0的ADC读数偏低。
如要避免这情况发生,过电压或是过负电压的输入应使用单纯的数字输入IO,不要使用带ADC信道输入的IO;或者采用分压电阻,不要让输入电压大于手册限值,本文适用于所有带ADC功能的单片机。
全部0条评论
快来发表一下你的评论吧 !