关键词:MouseWarrior;鼠标;USB
1 引言
鼠标使用简单、操作方便,作为计算机的标准配置已有多年历史。现今一款普通鼠标的开发已经不存在技术难题,但随着科技的发展,人们对计算机外围设备的要求越来越高,鼠标的功能也在不断增强。Code Mercenaries是德国一家专门生产计算机外设芯片的厂商,MouseWarrior作为其主要产品之一,为快速开发、设计新型鼠标提供了良好的基础。
2 主要特点
MouseWarrior系列芯片主要包括MouseWarrior20 O、MouseWarrior20 V、MouseWarrior24 Wheel和Mouse-Warrior24 EyeII四个产品。其主要性能特点如下:
●支持USB、ADBTM、PS/2和串行接口。
●自动检测激活的接口。
●支持三键(MouseWarrior20 O)、四键(MouseWarrior20 V、 MouseWarrior24 Wheel)和五键(MouseWarrior24 EyeII)。
●完全支持USB1.1人工接口设备规范。
●兼容ADBTM光标设备规范。
●分别采用光积分编码传感器(MouseWarrior20 O, MouseWarrior24 Wheel)、VersaPointTM传感器(MouseWarrior20 V)和光运动传感器(MouseWarrior24 EyeII)。
●支持用于滚动的光电滚轮或双键(MouseWarrior24 Wheel、MouseWarrior24 EyeII)。
●扩展的串口协议以支持4个按键。
●与标准驱动程序兼容无需编写专用的驱动。
●采用低成本陶瓷振荡器。
●单5V供电。
图1
3 引脚功能
MouseWarrior系列芯片的引脚排列如图1所示,各引脚功能如下:
D+、D-:USB接口的差动数据线,不使用USB接口时D+拉高,D-接低。
PS2CLK/Ser、PS2Data(MouseWarrior20 O、Mouse-Warrior20 V、Mouse Warrior24 Wheel):PS/2鼠标接口线,与主机接口相连。PS2CLK可作为串口的输出,连接到RS232驱动芯片上可驱动串口鼠标TXD线。不使用时必须悬空(内部上拉)。
PS2CLK、 PS2Data(MouseWarrior24 EyeII):PS/2鼠标接口线,与主机接口相连。不使用时必须悬空(内部上拉)。
RTS(MouseWarrior20 O, MouseWarrior20 V,MouseWarrior24 Wheel):串口RTS信号输入,需要外部辅助电路。当该引脚拉低时停止串口数据传递,从低变高时复位芯片。不使用串口时该引脚必须拉低。
ADB:ADB接口数据线,不使用时必须悬空(内部上拉)。
North、South、 East、 West(MouseWarrior20 V):与Interlink Electronics VersaPointTM传感器相连。当最大外力作用于传感器时,应在该引脚上连接一电阻?用于双积分电路中来给电容放电(详见实例介绍)。
X1、X2、Y1、Y2(MouseWarrior20 O,MouseWarrior24 Wheel):光积分编码或鼠标机械部分的信号输入,X1下降沿先于X2下降沿表示右移,Y1下降沿先于Y2下降沿表示上移。内部通过电阻上拉,光电转换器必须有下拉电阻或采用施密特触发型光探测器。
PD、SDIO、SCLK(MouseWarrior24 EyeII):这些引脚可直接与ADNS2051传感器的相应引脚相连(内部上拉)。
Z1/Down, Z2/Up(MouseWarrior24 Wheel,MouseWarrior24 EyeII):滑动滚轮或按键的光积分编码输入。可通过Buttons引脚激活该功能。Z1下降沿先于Z2下降沿表示向上滑动。内部通过电阻上拉,光电转换器或按键必须下拉接地。
Buttons(MouseWarrior24 Wheel,Mouse-Warrior24 EyeII):使用滚轮功能时该引脚悬空。使用按键产生滑动功能时该引脚接地,并把滑动按键分别接至Z1/Down, Z2/Up引脚(内部上拉)。
En(MouseWarrior20 O,MouseWarrior24 Wheel):光积分编码器的LED使能信号。漏极开路输出,可吸收24mA电流,需外接电阻。
En(MouseWarrior24 EyeII):HDNS2000(光学感测芯片)的电源使能信号。 漏极开路输出,内部通过电阻上拉,需外部辅助电路。
Left、Right、Center:鼠标左、右、中按键输入。内部上拉,输入信号必须接近于地。
4th(MouseWarrior20 V, MouseWarrior24Wheel, MouseWarrior24 EyeII):鼠标第4键输入。内部上拉,输入信号必须接近于地。
5th(MouseWarrior24 EyeII):鼠标第5键输入。内部上拉,输入信号必须接近于地。
CExt:当USB挂起以检查唤醒条件时,该引脚用来周期性的唤醒处理器。需外接RC电路。
Pull to GND:该引脚用于将MouseWarrior最终产品接地。
XOut、XIn:外接6MHz陶瓷振荡器(石英振荡器可能导致不稳定),无须其它辅助器件。也可在XIn引脚输入外部6MHz时钟信号,此时需将XOut引脚悬空。
GND:电源地。
Vcc:电源正极。
图2
4 工作特性与接口描述
MouseWarrior芯片在上电时执行一系列复位操作。刚上电时,所有内部上拉被禁止,在复位操作中被使能。初始化完毕后,MouseWarrior检测哪个鼠标接口是激活的,如果在5s内没有检测到任何激活的接口,则MouseWarrior默认采用PS/2接口方式。
采用USB通用串行接口方式时,MouseWarrior作为标准人机接口设备(HID),与标准驱动兼容,国家代码是0。MouseWarrior20 O定义了3个鼠标键,MouseWarrior 20V定义了4个鼠标键,MouseWarrior24 Wheel和MouseWarrior24 EyeII定义了4个鼠标键和滚轮。
采用PS/2接口方式时,MouseWarrior设备标示为0,定义了左、中、右三个键与系统标准驱动兼容。MouseWarrior24 Wheel和MouseWarrior24 EyeII与Microsoft Intellimouse ExplorerTM协议的PS/2接口设备兼容。他们的设备号可定义为3——附加了滚轮设备,或定义为4——附加第4个按键。
由于ADB(苹果电脑桌面总线Apple Desktop Bus)与串口鼠标目前在国内使用较少,因此不再赘述,有兴趣者可参阅有关文献。
5 应用电路
图2为用MouseWarrior20 V设计的鼠标电路,图中标出了传感器接口电路。该电路支持USB、ADB、PS/2 和串行接口,读者可根据需要有所取舍,也可让终端用户选择合适的接口。