2.2.3 HID设备枚举过程(1) 主机检测到USB设备插入;
VC的HID人机接口设备设计+技术发展+需求分析
(2) USB设备复位,主机使用缺省地址0,向设备发送get_device_descriptor请求,来得到端点0 的buffer的大小;
(3) 主机发送set_address请求,分配一个地址给设备;
(4) 主机再次发送get_device_descriptor请求给设备,获取设备描述符;
(5) 设备发送device descriptor给主机;
(6) 主机发送get_configuration_descriptor请求给设备,第一次发送会得到后面所有描述符的总长度;
(7) 主机再次发送get_configuration_descriptor请求给设备;
(8) 设备返回后面所有的描述符,包括(配置、接口、端点描述符,HID描述符)
(9) 总线枚举过程结束,设备开始正常工作。
2.2.4 HID设备类描述符毕业论文
USB是通用串行总线,是用来传输数据的。而描述符是为了告诉主机,设备是做什么的,实现什么功能,有哪些操作。USB协议为USB设备定义了一套描述设备功能和属性的有固定结构的描述符,包括设备描述符、配置描述符、接口描述符、端点描述符、字符串描述。每个USB设备仅有一个设备描述符,设备描述符可以包含一个或多个配置描述符,设备的每一张配置又可以包含一个或多个接口描述符,一个接口使用几个端点,就有几个端点描述符。在USB主机访问USB设备的时候,是一级一级获取描述符的。如图2-5所示。USB设备通过这些描述符告诉主机设备的各种属性,主机通过对这些描述符的访问对设备进行类型识别、配置,并为其提供主机端的驱动程序。
图2-5 HID设备描述符结构图
HID设备类除了标准描述符(包括设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符)外,还有自己的专有描述符:HID描述符、报告描述符、物理描述符。正确实现HID设备类专用描述符是主机成功识别HID设备的关键。HID描述符和报告描述符是必须要使用的,物理描述符一般不被使用。本项目具体的HID属性描述符将在5.2.1节进行介绍。
2.3本章小结本章简要的介绍了USB及HID设备类的一些特性,包括USB总线拓扑结构、USB的枚举过程、USB的传输类型等。
3 人机接口设备系统设计
3.1系统框架
人机接口设备系统设计包括两部分:主机端的客户驱动程序设计和设备端各个模块驱动设计。系统框架如图3-1所示。
主机端的客户程序是指在主机上运行的,负责与HID设备通信的应用程序。主机要使用USB HID设备,必须要有驱动程序。HID类驱动程序为内核模式和用户模式的程序提供了API(应用程序接口),可用来编写基于HID类的应用程序。对于USB接口的HID设备,只需调用Win32 API来编写用户模式下的应用程序,即无需编写基于类驱动程序的内核模式下的客户驱动程序。
设备端的MCU采用ST2211U 8位集成微处理器,该微处理器提供了32K字节ROM、2K字节的SRAM、USB控制器、Smart Card控制器及中断控制器等,广泛应用于PDA,智能卡读卡器等消费产品。HID驱动模块定义了USB接口的描述符,包括设备描述符、配置描述符、接口描述符、端点描述符、HID描述符及报告描述符。这些描述符定义了HID设备的基本信息。键盘驱动模块使用
相关热词:VC HID 人机 接口 设备 设计 技术 发展 需求 分析