[原创拆解] 拆解鼠标

lehuijie   2018-7-10 23:33 楼主
拆解一个伴随我两年多的鼠标,USB头出现了电问题,经常性失灵。看看哪天能发一个抢救的帖子吧。
下面进入正题,这就是拆解后的尸体。
    P80709-221033.jpg

鼠标尸体
下面的是鼠标的光源,红色的LED灯,小灯相对于普通LED来说光束会相对集中一些。这与鼠标的工作有关。
P80709-220947.jpg

鼠标光源
下面的就是凸透镜是为了使光线能更加集中,光源发出的光通过放大后通过凸透镜,在鼠标垫上反射,反射光通过另外一点凸透镜。当鼠标在移动时,反射的光源会有所变化。在根据鼠标的光源检测器件获取光源信号进行处理,最后根据HID协议穿输出鼠标移动的数据。
此工作状况为根据器件猜测,无法作为专业参考。
P80709-221459.jpg

凸透镜
P80709-221539.jpg

光信号处理芯片
当然鼠标上还要有按键和滚轮,按键按下没使用时那么清脆,还有一些回升力应该是外壳提供的。
P80709-221626.jpg


另外给大家一个USB鼠标通讯的格式,(此为vonly的博客转载)供大家参考。
鼠标发送给PC的数据每次4个字节:BYTE1 BYTE2 BYTE3 BYTE4。定义分别是:
BYTE1 --
       |--bit7:   1   表示 Y 坐标的变化量超出-256~255的范围,0表示没有溢出
       |--bit6:   1   表示 X 坐标的变化量超出-256~255的范围,0表示没有溢出
       |--bit5:   Y   坐标变化的符号位,1表示负数,即鼠标向下移动
       |--bit4:   X   坐标变化的符号位,1表示负数,即鼠标向左移动
       |--bit3:   恒为1
       |--bit2:   1表示中键按下
       |--bit1:   1表示右键按下
       |--bit0:   1表示左键按下
BYTE2 -- X坐标变化量,与bytebit4组成9位符号数,负数表示向左移,正数表右移。用补码表示变化量
BYTE3 -- Y坐标变化量,与bytebit5组成9位符号数,负数表示向下移,正数表上移。用补码表示变化量
BYTE4 -- 滚轮变化。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复