BSD_HY头像
关注
薄膜开关矩阵扫描电路的去抖设计与软件补偿封面图

薄膜开关矩阵扫描电路的去抖设计与软件补偿

薄膜开关的矩阵扫描电路中,按键的机械触点在闭合和断开瞬间会产生抖动,这种抖动可能导致扫描电路误判按键状态。去抖设计的目的就是消除或减少这种抖动对系统的影响。硬件去抖和软件去抖是两种主要的解决思路,各自的适用条件和取舍需要考虑。

硬件去抖通常采用RC滤波电路,通过电容的充放电来平滑触点电压的变化,消除抖动的影响。RC滤波的优点是电路简单,不占用处理器资源,可靠性较高。缺点是增加了硬件成本和PCB面积,同时引入了固定的延时,可能影响按键的响应速度。在按键数量较多的矩阵电路中,每个按键都加RC滤波的成本和面积开销会比较明显。宝盛达在项目中通常建议根据按键数量和响应要求来决定是否采用硬件去抖。

软件去抖的方式更灵活,常见的有延时去抖和状态机去抖两种。延时去抖是在检测到按键状态变化后,等待一段时间再重新检测,如果状态仍然一致则确认按键动作。这种方式实现简单,但延时时间是固定的,可能在快速连续按键时丢失输入。状态机去抖是通过多次采样来确认按键状态的稳定性,只有当连续多次采样结果一致时才确认按键动作。这种方式对抖动的处理更灵活,但实现相对复杂。

在宝盛达的项目实践中,通常建议根据具体需求选择去抖方案。如果按键数量少且对响应速度要求不高,硬件RC滤波是一个简单可靠的选择。如果按键数量多且需要灵活调整去抖时间,软件去抖更合适。如果对可靠性要求较高,状态机去抖是更好的选择。硬件去抖和软件去抖也可以结合使用,先用硬件滤波减少抖动幅度,再用软件算法确认状态,这样可以降低软件处理的复杂度,同时提高抗干扰能力。

去抖时间的设定也是一个需要权衡的参数。去抖时间设置过长,会增加按键的响应延迟,影响用户体验;去抖时间设置过短,可能无法完全消除抖动,导致误触发。一般机械触点的抖动时间在几毫秒到十几毫秒之间,去抖时间需要略大于最大预期抖动时间。宝盛达建议在实际产品中通过测试来确定合适的去抖时间,而不是仅依靠经验值。

软件补偿是去抖设计的另一个层面。除了消除机械抖动,软件还可以处理其他与按键相关的问题,如按键粘连、误触发等。按键粘连是指按键按下后没有及时释放,导致系统误认为持续按下。软件可以通过检测按键状态的持续时间来判断是否存在粘连,并采取相应的处理措施。误触发可能是由于电磁干扰或其他外部因素导致的,软件可以通过滤波算法或状态确认机制来减少误触发的影响。

常见问题

硬件去抖和软件去抖哪个更可靠?

硬件去抖不依赖软件,可靠性较高,但增加了硬件成本和复杂度。软件去抖灵活可调,但需要占用处理器资源,且可能受到软件bug的影响。两者的可靠性取决于具体实现。宝盛达建议根据产品的可靠性要求和成本预算来选择,关键应用可以考虑两者结合。

矩阵扫描中去抖设计有什么特殊考虑?

矩阵扫描中,多个按键可能同时按下,去抖设计需要考虑多键同时处理的情况。如果采用逐行扫描方式,不同行的去抖时间可能不同,需要分别处理。另外,矩阵扫描的频率也会影响去抖效果,扫描频率过低可能导致抖动检测不及时。建议在设计时综合考虑扫描频率、去抖算法和多键处理的需求。

如何判断去抖设计是否有效?

可以通过示波器观察按键触点的波形,确认抖动的时间和幅度。然后通过功能测试验证是否存在误触发或漏触发的情况。建议在不同温度和湿度条件下做可靠性测试,因为环境条件可能影响触点的抖动特性。宝盛达建议在产品开发阶段做充分的去抖验证,避免在量产后再发现问题。

选型时建议先了解所用触点的抖动特性,然后在这个基础上选择合适的去抖方案。去抖设计的目标不是完全消除抖动,而是将抖动对系统的影响控制在可接受的范围内。宝盛达建议在设计阶段做充分的测试和验证,确认去抖方案在实际使用条件下的有效性。去抖参数的设定应该基于实际测试数据,而不是仅依靠经验值或理论计算。

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/BSD_HY/article/details/164623398

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--