一种无驱动RFID阅读器的USB固件程序设计
2012-06-25吴小龙张红雨
单片机与嵌入式系统应用 2012年7期
关键词:设备
吴小龙,张红雨
(电子科技大学 电子工程学院,成都 611731)
吴小龙(硕士研究生),主要研究方向为超高频RFID阅读器;张红雨(高级工程师),主要研究方向为射频自动识别、物联网和嵌入式技术。
引 言
市面上大多数RFID阅读器采用串口或PS2接口与PC通信,串口方式需要安装USB转串口驱动,PS2接口不支持热插拔。为了弥补以上两者的缺陷,本文提出了采用USB接口与PC通信的方式。HID类设备是应用最广泛的一类USB设备,Windows等操作系统内嵌的HID类驱动程序、键盘、鼠标等通用HID设备得到了广泛的应用。从Windows98操作系统开始,为HID类设备提供了通用的驱动程序,所以只要按照HID设备类的规范编写设备的固件程序,就能够让Windows系统自动识别设备,省去了复杂的驱动程序编写过程。
1 HID设备描述符
在USB中,USB HOST通过各种描述符来识别设备。HID设备描述符包含5个USB基本描述符(设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符)和3个HID设备类特定描述符(HID描述符、报告描述符、实体描述符),它们之间的关系如图1所示。
2 HID设备枚举
USB主机识别一个USB设备必须经过枚举过程,主机使用总线枚举来识别和管理设备状态的变化。总线枚举过程如下:
① 连接设备。USB设备接入USB总线。
② 设备上电。USB设备可使用USB总线供电,也可使用外部电源供电。
③ 主机检测到设备,发出复位。设备连接到总线后,主机通过检测设备在总线的上拉电阻,检测新的设备连接,并判断该设备是全速设备还是低速设备,然后向该端口发送一个复位信号。
④ 设备默认状态。……
登录APP查看全文
