一、缘由
手里机械键盘日渐增多,看到有无线机械键盘的需求。感觉不会太复杂就上手试试吧。
不过先得了解机械键盘的键盘矩阵是怎么工作的,之前有为罗技K230主控画过原理图,是普通的没有上拉的扫描矩阵。
类似这样的。
而在百度上找到有上拉的类似这种:
(百度上搜到的)
二、资料
键盘工作原理我已经了解了,只是这两种电路选择的区别不太清楚。而主控去轮询时候以什么样的方式工作也不甚明晰。
既然手上有一片某品牌的键盘主控,我就尝试用逻辑分析仪查看一下工作方式以作参考。
这是之前测得的主控矩阵,在实际应用中它是没有上拉的电路。按照我对矩阵的理解,主控中上图X和Y两组引脚上总会有一组是主动输出信号的。
不过在实际测量中遇到不少问题,键盘一段时间没有响应就进入静默,10-20均为高电平,其他引脚为低电平。
在多次尝试后发现上电后一段时间才能在10-20引脚检测到高电平背景下有低电平脉冲。找了半个小时后发觉是我把时序想得太短,毕竟某品牌某型号所采用的主控是nRF24LE1,内核是51,在200ms周期内只能看到偶发的脉冲。
调整采集频率和周期后,检测到规律的信号。
除此之外还有些尚未找到规律的
以及
三、工作模式分析
通过第二张图的时序分析,某品牌键盘主控采用内部上拉一组引脚,周期性下拉。假设按键(1,10)按下时,1引脚检测到上拉的高电平,同时周期性(0.25s)下拉,当下拉时由中断或扫描方法判断此时下拉是由10引脚产生。
下拉时长3.81ms,没错,与未找到规律的其中一个周期时间长度相等,不知是否有关联。
同时也想明白了这种工作模式的好处,在一段时间没有按键后,系统进入休眠,10-20引脚保持高电平不再动作,另一组引脚依然处于输入模式,我判断采用中断保证实时性。当休眠中按下键后,引脚被高电平产生中断进入正常的工作模式。
继续分析后两张未知含义的脉冲是什么用,同时等待52832到货。