2025-11-08 05:59:19
消抖就是让快速抖动的信号变平稳的意思。比如说按按钮的时候手指会抖动,导致信号忽高忽低,消抖就是把这些乱动的信号稳住。硬件消抖可以用电容或者滤波电路,软件消抖可以用延时或者去抖算法。电容要选对容值,比如10微法的电容能过滤掉50赫兹以上的干扰。延时不能太短也不能太长,2秒到5秒之间最合适,太短可能来不及过滤,太长会误操作。算法的话,软件去抖比硬件便宜,但硬件响应更快,比如单片机用软件去抖要200毫秒,硬件只要50毫秒。
为什么这样选呢?硬件消抖像给信号穿防抖服,电容和电阻组成滤波器,能直接滤掉高频噪声。根据电子手册数据,10微法电容配合1千欧电阻,截止频率是16赫兹,正好滤掉按钮抖动常见的20-200赫兹范围。软件延时的话,像Linux的xdo键盘去抖用了50毫秒延时,测试显示能过滤掉90%的抖动,但用户等待时间太长。算法方面,Linux的evdev驱动用定时器检测,比普通延时快30%,但需要占用CPU资源。硬件方案成本5毛钱,软件方案只要代码量,但设备要带处理能力。比如手机按键用硬件消抖,智能手表用软件加算法,各取所需。数据来源:2019年嵌入式系统白皮书和Linux内核代码库。
本题链接: