矩阵键盘中为什么有键位并联二极管?

矩阵键盘上使用二极管主要是为了解决"幽灵键"(Ghosting)和"键盘冲突"(Key Jamming)问题,这两种现象在没有采取适当措施的矩阵键盘中很常见。

幽灵键现象

当用户在矩阵键盘上同时按下多个键时,由于电流的路径问题,可能会在没有被按下的键上检测到错误的按键动作,这就是所谓的"幽灵键"现象。这是因为在矩阵键盘中,所有的键都是通过行和列的线路矩阵连接的,当多个键同时按下时,电流的路径可以通过这些按下的键创建未预期的连接路径,导致未按下的键被错误识别为按下状态。

键盘冲突问题

键盘冲突是指在同时按下多个键时,由于电路设计的限制,一些按键组合可能无法被正确识别,或者阻止其他按键被识别。这主要是因为当多个键同时按下时,它们共享相同的行和列线路,这可能导致键盘无法区分哪些键实际上被按下。

二极管的作用

在每个键上加装一个二极管可以有效解决这两个问题。二极管是一种允许电流只能单向流动的元件。通过在每个键的接点上并联一个二极管,可以确保电流仅在正确的方向上流动,从而:

消除幽灵键:二极管阻止了可能产生幽灵键现象的错误电流路径,即使在多键同时按下的情况下,也只有真正被按下的键会被检测到。

避免键盘冲突:二极管确保即使在多个键同时按下时,每个键的信号也能被独立识别,避免了键盘冲突问题。

为了彻底解决幽灵键(Ghosting)和键盘冲突(Key Jamming)问题,最佳的做法是在矩阵键盘的每个按键上都并联一个二极管。通过这种方式,每个按键都能独立于其他按键,确保当多个按键同时被按下时,每个按键的状态都能被准确无误地检测到。

然而,值得注意的是,并联二极管也带来了成本和空间的考虑。每增加一个二极管,都会相应增加成本和PCB(印刷电路板)的复杂度。此外,对于非常紧凑的设备,增加的二极管可能也会对设计布局造成挑战。因此,在设计矩阵键盘时,需要综合考虑性能、成本和空间等多个因素。

软件方面:

通过反转法而不是逐行扫描法,进行键位扫描,可以在软件层面改善幽灵键问题。

相关推荐
芯联智造9 小时前
【stm32简单外设篇】- 单路 TTP223 电容式触摸传感器
c语言·stm32·单片机·嵌入式硬件
张工在路上9 小时前
(深入探讨句柄泄漏、内存泄漏检测工具)我将分析可能导致内存泄漏(包括托管内存和非托管内存,如句柄泄漏)
stm32·单片机·嵌入式硬件
铁甲前沿11 小时前
c# AutoScaleMode设置为DPI,控件布局错位的问题
计算机外设
工程师平哥11 小时前
APE-01 新建工程
笔记·嵌入式硬件
恒锐丰小吕12 小时前
无锡黑锋 HF6206 系列低压差线性稳压器技术解析
嵌入式硬件·硬件工程
周周记笔记15 小时前
[元器件专题] RC充电电路(七)
嵌入式硬件·测试工具·硬件开发
ACP广源盛1392462567315 小时前
GSV2712@ACP#2 进 1 出 HDMI 2.0/Type-C DisplayPort 1.4 混合切换器 + 嵌入式 MCU
单片机·嵌入式硬件·计算机外设·音视频
沉在嵌入式的鱼15 小时前
STM32--GY906体温检测传感器
stm32·单片机·嵌入式硬件·gy906·体温检测
cooldream200915 小时前
基于 RISC-V VisionFive 的桌面数字时钟项目实战
嵌入式硬件·risc-v·嵌入式开发
小李做物联网16 小时前
26.3基于stm32单片机毕业设计物联网软硬件智能遮阳棚设计
stm32·单片机·嵌入式硬件·物联网