深圳市航顺芯片技术研发有限公司
直播中

康桃花

7年用户 928经验值
私信 关注
[问答]

STM32F0休眠模式下ADC采样失效是为什么?

STM32F0休眠模式下ADC采样失效是为什么?

回帖(1)

李勇俊

2021-10-9 16:13:15
笔者最近在作某汽车上的智能方向盘按键项目,系统要求待机电流小于100uA,同时能检测系统输入电压状态,做到能自检欠压和过压,并通过LIN发送给中控。
  故笔者在对输入电压加了一个分压电路来检测,现在客户测试发现过压和欠压的判断阈值与要求不符合,笔者在实际测试过程中也确实发现了问题,但未烧录过程序的板子却不会出现这种情况。实际电路如下图
  
  

  

  比如,假设VCC输入电压为8V,那么理论值就是0.56V(电路前端有一个整流二极管,故实际输入电压又0.7V压降),但测试烧录过程序的板子的TP6点却发现测量值只有0.36V。这个问题困扰了笔者一天,笔者测试了多块不同的板子,才勉强得出烧录和未烧录过程序的区别。后来笔者想到曾经有个大神跟我普及过输入阻抗匹配的问题,突然灵感一现,查询了芯片手册,才茅塞顿开。
  查询芯片手册,可知芯片ADC引脚内部拓扑结构如下图二所示:
  
  

  

                                                            图二 芯片ADC拓扑结构
  
  

  

                     图三 充电时间公式
  其中, RAIN:外部输入阻抗,最大50KΩ;
              RADC:采样开关电阻,最大值为1KΩ;
              CADC:内部采样和保持电容,最大值为8pF.
  由上可以分析:
  

  • 当电流流经RAIN会产生一个压降,经过RADC后会对CADC充电。根据图三公式可以得出CADC的充电时间由 RAIN和RADC控制,可近似的看成 Tc = (RADC + RAIN) × CADC。如果时间过短,ADC转换的数值会小于实际值。
  • 当阻抗大于IC里ADC允许的最大阻抗。电路工作时,一路电流经过R40到R42到地,还有一路经过R40流入MCU的AD接口;因为当系统休眠时,芯片供电断开,芯片I/O口呈现悬空状态,I/O可能会存在一定的到地的漏电流。故可等效的看成是一个电阻RL与R42并联到地,因此检测点的电压会存在误差。

那知道了问题该怎么去规避这种问题呢,笔者给出以下两种方案
  1. 增加电压跟随器,具体原理大家可以去百度,主要是为了增大输入阻抗,这样在芯片引脚悬空时,输入阻抗就无穷大,这样就不影响测量结果
  2. R42接地脚由MCU控制,这样就可以实现对采样的控制,具体电路可参考下图
  
  

  

  其中,可根据实际应用场景选择是否需要隔离,另外MOS管的过流能力也是根据实际情况选择。
   
   
   
   
   
   
   
举报

更多回帖

发帖
×
20
完善资料,
赚取积分