标签归档:CH372

CH372实现HID键盘功能

有些IC发卡器在刷卡时,卡号可以填写在文档光标处。这种产品很多年前就有了,最近刚好有客户有这方面需求,用CH372做了一款HID键盘类型的发卡器。

一款HID设备包括设备描述符,配置描述符,接口描述符,端点描述符,HID描述符,HID描述符包括报告描述符,另外还有字符串描述符,语言描述符。对HID键盘设备,用BusHound抓包时没看到PC请求语言描述符和字符串描述符。

设备描述符:

image

image

配置描述符:

image

image

image

image

报告描述符: 继续阅读

CH372开发HID发卡器

现在市面上的发卡器一般都做成HID类型。类似USB鼠标,USB键盘。用户使用时不用安装驱动程序,方便用户使用。对开发者来说,windows操作系统提供了完善的库文件,可以直接操作HID设备。省去了开发驱动程序的步骤。

CH372的外围电路简单,只需一个晶振和几个电容。CH372有5个端点:

端点0是默认端点,控制传输时使用,支持上传和下传。上传和下传缓冲区各8字节。

端点1包括上传端点和下传端点。上传和下传缓冲区各8字节

端点2包括上传端点和下传端点,上传和下传缓冲区各64字节

CH372有内部固件模式和外部固件模式。使用内部固件模式时,CH372自动完成USB的枚举过程。编写程序简单,但是需要安装南京沁恒公司提供的驱动程序。开发HID设备不能选用内部固件模式。

使用外部固件模式时,程序的主要功能是通过CH372完成和主机的通讯,最复杂的部分就是枚举过程。完成了枚举过程,基本就大功告成了。

先来详细了解USB的通讯格式:

USB的通讯以包为基本单位。

包的种类:

令牌包:OUT,IN,SOF,SETUP

数据类:DATA0,DATA1,DATA2,MDATA

握手类:ACK,NCK,STALL,NYET

特殊类:PRE,ERR,SPLIT,PING

继续阅读