薄膜开关矩阵扫描电路设计中的防鬼键措施

矩阵扫描是薄膜开关最常用的信号读取方式,行线列线交叉形成按键节点。这种结构有一个固有问题:当同时按下多个键时,电流会通过未按下的键形成寄生通路,导致控制器误判有额外的键被按下,这就是鬼键现象。在工程实践中,防鬼键设计直接关系到产品能不能通过功能验证。

鬼键产生的条件可以用一个简单的三键模型来理解。假设一个3x3矩阵,同时按下(行1,列1)、(行1,列2)、(行2,列1)三个键。扫描到行1时,列1和列2都读到按下状态。扫描到行2时,列1读到按下状态。控制器根据这些信息推断(行2,列2)也被按下了,但实际上这个键并没有被操作。这就是一个典型的鬼键。

防鬼键的第一个措施是硬件层面加隔离二极管。

在每个按键节点串联一个二极管,电流只能单向流动,寄生通路被二极管反向截止。这种方法简单可靠,但增加了面板的厚度和成本。每个按键多一个二极管,对于64键的面板就是64个二极管,需要在面板上留出足够的空间。宝盛达在做高键数面板时,会把二极管贴在FPC上而不是直接做在薄膜开关里,这样面板本身的结构不受影响,二极管的焊接质量也更可控。

第二个措施是软件层面的扫描算法优化。

最常用的方法是逐行扫描加消抖判断。扫描某一行时,只给这一行施加电压,其他行全部拉低或者悬空,然后读取所有列的状态。这样即使存在寄生通路,因为没有形成完整的回路,不会被误读。这种方法不需要额外硬件,但扫描速度会受影响。对于16键的面板,逐行扫描需要4个周期,每个周期加消抖时间大约20毫秒,总扫描周期80毫秒,对于大多数应用可以接受。但如果键数增加到64键以上,扫描周期变长,可能出现按键响应延迟。

第三个措施是矩阵结构设计上的优化。

把矩阵设计成非对称结构,行线和列线的数量差异大一些,可以减少鬼键出现的概率。比如一个12键的面板,用3行4列比4行3列的鬼键概率更低,因为寄生通路的形成需要更多的同时按下条件。宝盛达在面板布局阶段会和客户的固件工程师一起优化矩阵结构,在满足布局需求的前提下尽量减少鬼键风险。

第四个措施是双键锁定策略。

在软件层面设定,如果检测到三个以上的键同时按下,就判定为鬼键,全部忽略。这种方法适用于那些不会出现真正多键同时按下的场景,比如工业遥控器上的模式切换,正常操作不会同时按三个键。但如果产品确实需要多键同时操作,比如游戏手柄,这种方法就不适用。

实际工程中,宝盛达建议客户在设计阶段就明确多键同时按下的需求。如果只需要两点同时按下,用软件消抖加逐行扫描就够了。如果需要三点以上同时按下,必须加二极管。这两种方案的成本差异在面板总价中占比不大,但对可靠性的影响是决定性的。

常见问题解答

怎么判断现场出现的异常按键是鬼键还是触点问题?

鬼键的特征是按键组合有规律性,总是出现在特定的多键组合下,而且按下的多余键位置可以预测。触点问题的特征是随机性的,同一个键时好时坏,和其他键的组合无关。用示波器抓取矩阵扫描波形,鬼键会在不该有信号的列上出现稳定的低电平,触点问题则是信号抖动或者时有时无。

加了隔离二极管后面板厚度会增加多少?

贴片二极管厚度大约0.5mm,加上焊盘和绝缘层,面板总厚度增加大约0.3到0.5mm。如果原始面板厚度是1.0mm,加二极管后变成1.3到1.5mm。对于大多数安装空间这个增量可以接受,但如果空间特别紧张,可以考虑用薄膜二极管或者把二极管放到连接器端。

软件防鬼键和硬件防鬼键可以一起用吗?

可以,而且推荐一起用。硬件二极管解决物理层面的寄生通路,软件算法处理二极管失效或者漏加的情况。两层防护叠加,可以把鬼键概率降到接近零。宝盛达在高可靠性项目中通常建议这种双保险方案。

相关推荐
linux-hzh38 分钟前
百日算法修炼 · Day 17
数据结构·算法
2601_9556624639 分钟前
实测6款AI配音工具:从环境部署到本地运行,零成本搭建配音系统
人工智能
XUEYUAN521239 分钟前
代理日志分析与监控:代理池健康状态巡检与分级告警体系搭建(运维实战)
运维·网络·网络协议·tcp/ip·算法·架构
单友人40 分钟前
HMHA-RYST 算法技能包 + 聊天记录导出器
人工智能·神经网络·机器学习·语言模型·自动化
sel_944 分钟前
【多轮对话论文导读(七)】多轮对话论文阅读笔记:从数据生成、用户模拟到上下文重构与长期记忆
论文阅读·人工智能·笔记·深度学习·算法·语言模型·自然语言处理
远游客07131 小时前
为什么用「年×100+月」做比较
算法·gin
Zach_菠萝侠1 小时前
【deepseek harness研究】进化方向10:对外编程接口面 思考、设计与实现
人工智能·深度学习·deepseek
甲维斯1 小时前
GLM5.3Flash 我“忍”你很久,今天“曝光”你!
人工智能
宣宣猪的小花园.1 小时前
【控制理论】系统为什么会“有记忆”:从输入输出理解动态过程
人工智能·嵌入式硬件·机器学习