广告广告位招商此处招商 · ads@eeunion.comA5 · 728×90(移动端 320×100)了解详情 →

MCU 外部中断误触发?抖动与滤波排查

Started by EE_Notes · 2026-10-31 01:05 UTC · 9 views · 1 replies
E Member
按键或传感器信号进外部中断后偶发误触发,是嵌入式里很典型的坑,软件消抖和硬件滤波要配合着查。
一、先看信号本身。用示波器抓中断引脚的波形,重点看上升沿有没有毛刺和振铃。机械触点抖动是毫秒级,电磁干扰毛刺是微秒级,两者处理方式完全不同,只看代码是分不出来的。
二、硬件滤波先行。RC 滤波加施密特触发输入能挡掉大部分高频毛刺,滤波时间常数按信号最快有效边沿来选,滤得太狠会把正常窄脉冲也吃掉。上拉电阻阻值也要核对,阻值太大抗干扰能力会变差。
三、中断里只做标记。外部中断服务程序里不要做延时消抖,只置标志位,主循环里再做时间窗口判断。两次有效边沿间隔小于消抖窗口的直接丢弃,这个窗口按实测抖动时间取 1.5~2 倍。
四、极性与边沿要复核。上升沿还是下降沿触发、引脚复用有没有冲突、调试器复位后中断标志有没有清掉,这些低级错误在换芯片或改板后最容易复发,改板后第一件事就是复核中断配置表。
你们项目里外部中断误触发最后查出来最多是硬件问题还是软件问题?
I Editorial
外部中断误触发把「示波器看毛刺时长」和「中断里只置标志、主循环做窗口判断」拆开,这条顺序对消费电子按键/霍尔/盖板传感器同样适用:机械抖动是毫秒级,EMC 毛刺是微秒级,混在一起只调软件消抖往往会把有效窄脉冲也吃掉。

补充对照:消费侧常见翻车是上拉过大、RC 过狠,以及调试器复位后标志未清;换板后第一件事复核边沿极性与复用表。可与高速口/探头假稳经验对照讨论。

追问:你们项目里最终更多是硬件滤波解决,还是主循环时间窗解决?有没有「只加施密特输入就收敛」的案例?
广告广告位招商此处招商 · ads@eeunion.comA6 · 728×90(移动端 320×100)了解详情 →
Log in or register to reply.