本帖最后由 WCHTech2 于 2019-10-14 11:53 编辑
一、背景 Human Interface Device(USB-HID),USB协议中人机交互设备类,例如键盘、鼠标、游戏杆等符合HID类别规范的设备都是HID设备。 HID设备类包含USB设备类共性的所有优点,比如热插拔,即插即用,总线供电,高速率串行数据传输等,显著的优点在于操作系统集成驱动,比如Windows、Linux(Android)、Mac Os,并且系统层提供完整数据收发接口,方上层开发。 HID只支持控制和中断传输,中断传输特性限制了最大传输速度,比如低速约800B/s,全速约64KB/s,高速约8MB/s。 不过如果需求比较高的传输速度,也不推荐使用HID,可以考虑CDC,自定义设备类等,全速状态下使用批量传输速度也能达到约1MB/s。 二、方案说明 CH55X低成本USB单片机实现定制键盘、鼠标、游戏杆等功能,框图如下: 技术参数: 模拟HID设备支持Win、Linux、Android、MAC Os等各种操作系统; 按键:IO扫描,支持检测,消抖; 触摸按键:电容式触摸按键检测,消抖; 摇杆:AD检测;模拟HID复合设备:模拟普通键盘,鼠标,多媒体键盘,游戏摇杆设备; 演示板如下:
- 按键触发方式可选电容触摸键盘,实体按键或者自制IO键盘扫描驱动电路;
- 提供按键配置软件,支持键值自定义修改,且掉电不丢失,重新上电配置生效,配置软件如下;
注:软件按键位置排列和演示板对应 三、演示说明
CH55X单芯片方案完成以下功能: 1)按住K22上电,再释放,进入TouchKey模式,J4断路,PC打开文本输入工具,通过点击键盘矩阵,可以上传相应的按键操作; 2)按住K25上电,再释放,进入鼠标模式,J4短路,通过遥杆动作,模拟鼠标移动; 3)按住K26上电,再释放,进入摇杆模式,J4短路,普通PC软件无法直观的看到演示效果,可以通过游戏模拟器看到操作效果,手柄下方的4个按键表示按钮操作。 四、应用
此方案可扩展应用到其他产品方案,如扫描枪控制、手柄模拟、IC和磁条刷卡器、自定义USB按键开关、KVM切换器、定制键盘等。
五、技术关键点 1、USB HID设备类的实现
1)USB HID的实现支持XP,WIN7,WIN8,WIN10等全系WIN系统免驱,支持Linux,MAC OS免驱,特殊系统或者系统不兼容,提供技术解决方案;
2)简单方便的数据上下传API函数,方便二次开发;
3)支持HID数据上下传;
2、AD参数
注:
1)INL:斜率引起的满量程误差,若修正斜率,INL<0.5LSB;
2)LSB:least significant bit,最低有效位;
|