Alila

A.02.19—唤醒时序—输入滤波

0
阅读(3019)
    对于上几节所提到的debounce这词,有必要进行进一步的阐述,故特意一张图进行说明。
由于唤醒口均是指输入口,故本页所提debounce也是针对输入口的。分别介绍两种debounce方法。
    第一种为常规方式。即每隔一段时间采样一次,图中所示为7.5ms采样一次,对于”整个信号需要采样到多少个连续有效的才算确认此信号输入确实有效“,这个定义就叫debounce。如果debounce次数是4次则最少的debounce时间是7.5*3=22.5ms。
    第二种为特殊方式。其用于上拉电阻阻值不能更改而PCB面积有限的情况下。因为某些情况下开关有湿电流的要求,这个湿电流决定了上拉电阻的选择,而同样条件下功率大的电阻体积也大,如何有办法既保证功率又能用小体积的电阻呢?只能采用PWM上拉,即一会给上拉电阻供电,一会不供电,当然,对于相应的输入信号的采样也只能在供电时采样,否则没电的时候去采是无法准确判断输入信号的状态的。这种情况下,若有有效的信号输入也须等到上拉供电时才会采样,故无上拉的期间这部分时间是被浪费掉的。但对于这种情况,为保证用户的体验不会受到影响,一般均要在有上拉期间进行相对快速的采样。
    图中中间一个示例和第三个示例即为PWM上拉采样的示例,中间的示例为7.5ms的采样周期,而第三个为2.5ms的采样周期,一个为3次debounce、一个为4次(这是不采信首次采样结果的策略,如果软件上采信首次采样结果,则图示的debounce次数为4次和5次)。虽然占空比十分接近(意味着可以满足类似的湿电流要求又可以采样大体相同的电阻封装),但其实际效果是不同的,对于同样的输入信号,第三种采样方式提前检测到了有效输入,甚至其比第一种采样更快(常规采样至少debounce 3次)。由此看来,经过比较后,采用PWM上拉采样策略、采用更快的采样周期,可以在节约成本的前提下又保证质量,不失为一个良好的选择;不过这种选择也使得软件更为复杂。

图示中输入信号下降的虚线部分示意为该区间输入受到干扰而导致高电平丢失。

(2015-1-16 发表于本人QQ空间)