什么是按键矩阵扫描?为什么游戏机需要它?课程目标与学习路径。
机械按键的电气特性、抖动现象与消抖方法(硬件消抖与软件消抖)。
矩阵扫描的数学原理(行列寻址)、节省IO口的优势分析。
二极管在矩阵中的作用(防串扰)、上拉电阻的选择与计算。
逐行扫描与逐列扫描的时序图、扫描周期与刷新率的关系。
按键状态机(按下、释放、抖动)的Verilog/VHDL实现思路。
如何检测同时按下多个按键?鬼键(Ghosting)问题与解决方案。
USB HID协议中的NKRO实现,矩阵扫描如何支持全键无冲。
STM32、ESP32、FPGA等主流平台在矩阵扫描中的优劣对比。
推挽输出、开漏输出、浮空输入、上拉输入的选择与配置。
基于定时器的周期性扫描,如何平衡CPU负载与响应速度。
使用ADC读取模拟电压实现单线多按键(电阻分压网络)。
使用I2C或SPI接口的IO扩展芯片(如MCP23017)增加按键数量。
矩阵扫描电路的PCB设计要点,避免信号串扰与地弹噪声。
分层设计(硬件抽象层、扫描层、协议层)的代码组织。
常见问题(按键失灵、误触发、响应慢)的诊断与修复。
现代游戏手柄(如Switch Pro)的矩阵扫描方案分析。
开源游戏机(如GameShell)的按键矩阵设计实践。
回顾核心知识点,未来趋势(触觉反馈、自适应按键)展望。