单片机模拟PS2键盘实现(1)
很多控制项目中会用到小型的工控机,有时还需要用到键盘的部分功能。如果配一个全功能的键盘有些浪费资源,空间也不允许,这时,我们可以用单片机来实现模拟出键盘的部分功能。
小型工控机
常用的键盘有两种接口,PS/2和USB,今天先介绍一下PS/2接口的相关情况。
首先先要弄清楚PS/2的传输协议,然后用单片机管脚直接模拟它的时序就可以了。
从设备发送时序
这是从设备键盘的发送时序,可以看到,每个数据由11个bit组成,1个起始位(0),8个数据位,1个校验位(奇校验)和一个结束位(1);时钟频率控制在10-20K之间,下降沿有效。
从设备接收时序
这是主设备的发送,从设备的接收时序,时序基本和上面的一致,但是要注意,当主设备发送数据时,从设备就不能发送数据。只有当时钟线为高电平时,也就是主设备没有动作,这时从设备才可以发送数据。
熟悉单片机编程的朋友大都了解IIC吧?乍一看,PS/2协议是不是跟IIC很像呢?所以编程也就简单多了。了解时序之后,我们还要知道键盘上字符所对应的"通码"和"断码",按照码表传输对应的字符就可以了。下面就是部分字符的码表:
部分字符码表
如果我们想要给电脑发送一个"G",那么,就先发通码"0x33",再发断码"0xF0"和"0x33"就可以了。
好了,理论的东西先讲到这里,下次,我们结合代码,详细的分析PS/2键盘的实现。
阿昆拆解PS2接口的KVM切换器,内部DFM设计不任直视
上次拆解的USB KVM切换器虽然功能简单,但做布局还是可以的,从生产工艺角度来说,中规中矩。
阿昆拆解2端口的USB KVM切换器,简单聊下工作原理和内部的DFM设计和改进建议
今天拆的这款某品牌的PS2的KVM切换器内部设计做工就有点一言难尽了。
PS2和USB切换器的工能实际是一样的,只是说PS2的切换器可以连接早期的PS2键盘和鼠标而已。实际现上现在PS2的外设可以说完全淘汰了。只是在非常老的电脑主机上可能会用到。(上面有个5V电源口,是因为KVM切换器的供电是通过PS2接口的从电脑主机电源来供电,若供电不足,怕KVM工作不稳定,就可能需要外接供电源。
一分两半把它拆开。
正面,怎么看怎么就感觉有点乱。这上面用到了4个74HC4053,这是一个四路的二选一开关。所有的信号都是通过这个开关来切换。
看LOGO好眼熟啊,居然是我们以前有使用过的电路板厂生产的PCB,那质量就不提了。都是泪。现在不知道成长的怎么样了。
背面,可以发现正面全放了芯片,阻容小料放在底面,背面不干净。
可以发现这个产品在成本控制上的关注了。
从正面背面来看,这一块板的元件布局总是看不出美感。
打胶,甚至还有电解电容明显都空间不够。
这个引脚较多的芯片查了一下资料是一个单片机,而且还是一次性写的OPT。这个作用除了是控制74HC4053切换外,还有一个就是产生一个虚拟键盘和鼠标信号给到电脑主机的,让切换器不管在切换到哪台电脑主机,都能实实让电脑主机“以为”连接了PS2鼠标和键盘。这样就能随时切换随时用。
电解电容明显和封装不对,不知道是后期的临时更改,还是PCB设计时确实没有空间而将就的办法。
整块板你会发现插件都是手焊,无法波峰焊接,自动化程度度。
背面不知道是否焊接后用酒精洗过或是质量差的洗板水,因为明显发白。
最后对DFM问题总结下:
1、没有MARK点
2、为了压缩成本,PCB控制尺寸,电容类物料封装不对,无法正常焊接
3、因设计问题,插件无法波波峰焊接,几乎都是手工焊接
4、部分物料表面有打磨痕迹,不排除使用物料非原厂,可能就是一些二手料。
5、板背面清洁没做好
整体给人做工较差的印象。
因为PS2不支持热插拔(它不像USB设备一样随时插随时用,比如插上去要重启电脑才能工作,包括电脑没接键盘可能不能进入系统等)
这里有个要解决的问题点就是切换PS键盘鼠标时,如何让两台电脑都时刻以为自己接上了键盘鼠标没有断开,解决这个问题,就是用单片机产生一个虚拟键盘信号给到电脑主机。
这次就简单分享到这。。
相关问答
工业控制通信协议有哪些?-ZOL问答如果是USB接口的键盘,那么你要懂USB协议,而且单片机的速度要足够快,有时候还需要键盘内部usb芯片,单片机做主机,USB键盘做从机。USB协议是很复杂的,不是一天两...