USB HID协议中文版 USB接口HID设备
USBHID协议中文版——USB接口HID设备
USBHID协议中文版——USB接口HID设备第8章USB接口HID设备XXXX年、月、日、时、分、秒时钟基于当前值运行。
主机可以设置时钟或读取当前时钟值。
在实验平台上设计了自动返回功能。
如果自动返回打开,时钟每秒向主机发送一个报告。
216计算机高级接口实践表测试台可以显示发送和接收的有效数据字节数。
= = = = = = = = = = = = = = = = = = = = = = = = = = = = =寄存器R1:0000000 = 00 H2:0000000 = 00 HC lock 00:00:00:00:00:00:00:00 R3 R4 R5 R6 R7 R8时钟自动返回:关闭USB:控制模式传输计数:接收0000发送0000中断开放计数结束输入返回复位实验图8-7 HID实验接口该工具软件是一个完整的便携式应用程序,只有一个EXE程序。
它不需要安装,直接在Windows环境下运行。
USBView的主要功能是获取各种通用串行总线设备的描述符。
可以运行USBView来获得由实验表模拟的气体放电装置的描述符。
运行USBView后,将显示以下程序界面图8-8用户界面视图操作界面窗口左侧显示所有的通用串行总线设备连接树,其中有一个显示“通用串行总线人机工程设备”的分支,选择后,右侧窗口显示所有描述符(报告描述符除外)USBView显示的高级界面实验台的气体放电模拟设备描述如下设备描述符:BCDUSb:BDeviceClass:0x0110 0x 00 BDeviceSubClass:BDeviceProtocol:BMaxPacketsize0:IDvendor:IDProduct:BCDDeVice:iMain制造商:IProProduct:ISerialNumber:BNUMConfigurations:连接状态:设备连接的当前配置值:0x 01设备总线速度:完整设备地址:0x02开放管道:4端点描述符:弯曲点地址199端点描述符:bEndpointAddress: 0x02传输类型:中断WMaxPacketsize:0x 0040(64)BinterVal:0x 01第8章USB接口HID设备217 0x 00 0x 00 0x 00 0x 10(16)0x 045 e(微软公司)0x 930 a 0x 0100 0x 01 0x 02 0x 03 0x 018 . 6 . 2设备连接后初始化工具软件BusHound可以实现这一功能。
USB_HID协议中文版——USB接口HID设备
USB_HID协议中文版——USB接口HID设备
一、什么是USBHID协议
USB HID(Human Interface Device)协议是一种应用在USB接口上
的应用层通信协议,它不仅定义了用于特定应用的设备的接口规范,而且
可以帮助开发者更快捷、更准确地实现其产品化。
USB HID是USB接口应用层通信协议中最常用的一种协议,它通过主
机和设备之间的endpoints来建立简单的通信框架,从而实现设备连接和
输入输出控制。
最初被设计用于用户界面(如鼠标、键盘等),但它的应
用领域已经不仅限于此,无论是电源管理控制、温度控制器、读卡器、按键、触摸板或其他交互式设备,都可以通过USB HID来实现。
二、USBHID协议框架
USBHID协议规范定义了主机与设备之间的通信机制,其使用形式类
似于USB驱动程序,主要有以下几个部分:
1、Device Definition:描述支持HID协议的设备的特性,包括设备
所具备的功能,如鼠标按键、键盘、触摸板等;
2、Descriptor:定义设备的接口,描述设备与用户界面之间的结构
关系;
3、Report Descriptor:描述报告的格式,定义HID设备的所有输入
和输出数据;
4、Input Report:指从键盘、鼠标、按钮等设备向主机发送的数据;
5、Output Report:指从主机向设备发送的数据,以从设备更改状态
或进行其他操作;
6、Feature Report:当输入输出数据不足以满足需求时。
USBHID协议中文版__USB接口HID设备
USBHID协议中文版__USB接口HID设备##USBHID协议
USBHID协议(Universal Serial Bus Human Interface Device)是
USB设备的一种常用协议,它主要用于连接和控制人与计算机的交互设备,如键盘、鼠标、游戏手柄、虚拟摇杆、扫描仪和图形表格等设备。
它主要
用于USB设备的连接和控制,以及电脑上支持的操作系统,如Windows、Mac OS、Linux。
USBHID协议使用HID类设备来提高人机交互的效率,有效地减少计
算机程序的数据处理时间。
使用HID类设备的程序可以实时地进行输入,
计算机也可以实时地反馈反应。
通过使用HID类设备,可以有效地提高用
户体验。
USBHID协议具有许多优点,如:支持所有兼容USB的操作系统,不
需要额外的驱动程序,可以支持各种类型的HID设备,延长设备的稳定性,减少传输延迟,减少接口占用,支持许多不同的传输速率,可以支持许多
不同的设备和设备类型,支持多种接口,支持大量的数据通信,以及减少
计算机程序数据处理时间等优点。
另外,USBHID协议也给使用这些设备带来了极大的便利,如:可以
将设备连接到计算机,让设备能够立即响应输入;可以使用设备时装载更
多的功能;可以在多个设备之间进行快速传输;可以有意识地管理电源;
可以支持多种设备,如跳线选择器。
USB HID协议中文版——USB接口HID设备
第8章USB接口HID设备HID(Human Interface Device,人机接口设备)是USB设备中常用的设备类型,是直接与人交互的USB设备,例如键盘、鼠标与游戏杆等。
在USB设备中,HID设备的成本较低。
另外,HID设备并不一定要有人机交互功能,只要符合HID类别规范的设备都是HID设备。
Wndows操作系统最先支持的HID设备。
在windows 98以及后来的版本中内置有HID 设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。
在设计一个USB接口的计算机外部设备时,如果HID类型的设备可以满足需要,可以将其设计为HID类型设备,这样可以省去比较复杂的USB驱动程序的编写,直接利用Windows操作系统对标准的HID类型USB设备的支持。
8.1 HID设备简介8.1.1 HID设备的特点•交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持HlD报表的格式。
主机通过控制和中断传输中的传送和请求报表来传送和接收数据。
报表的格式非常灵活。
•每一笔事务可以携带小量或中量的数据。
低速设备每一笔事务最大是8B,全速设备每一笔事务最大是64B,高速设备每一笔事务最大是1024B。
一个报表可以使用多笔事务。
•设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。
所以主机会定时轮询设备,以取得最新的数据。
•HID设备的最大传输速度有限制。
主机可以保证低速的中断端点每10ms内最多1笔事务,每一秒最多是800B。
保证全速端点每lms一笔事务,每一秒最多是64000B。
保证高速端点每125 us三笔事务,每一秒最多是24.576MB。
•HID设备没有保证的传输速率。
如果设备是设置在10ms的时距,事务之间的时间可能等于或小于10ms。
除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。
这是最快的轮询速率,所以端点可以保证有正确的带宽可供使用。
USB-HID协议中文版
USB-HID协议中⽂版第8章USB接⼝HID设备HID(Human Interface Device,⼈机接⼝设备)是USB设备中常⽤的设备类型,是直接与⼈交互的USB设备,例如键盘、⿏标与游戏杆等。
在USB设备中,HID设备的成本较低。
另外,HID设备并不⼀定要有⼈机交互功能,只要符合HID类别规范的设备都是HID 设备。
Wndows操作系统最先⽀持的HID设备。
在windows 98以及后来的版本中内置有 HID 设备的驱动程序,应⽤程序可以直接使⽤这些驱动程序来与设备通信。
在设计⼀个USB接⼝的计算机外部设备时,如果HID类型的设备可以满⾜需要,可以将其设计为HID类型设备,这样可以省去⽐较复杂的USB驱动程序的编写,直接利⽤Windows 操作系统对标准的HID类型USB设备的⽀持。
8.1HID设备简介8.1.1HID设备的特点交换的数据储存在称为报表(Report)的结构内,设备的固件必须⽀持HlD报表的格式。
主机通过控制和中断传输中的传送和请求报表来传送和接收数据。
报表的格式⾮常灵活。
每⼀笔事务可以携带⼩量或中量的数据。
低速设备每⼀笔事务最⼤是8B,全速设备每⼀笔事务最⼤是64B,⾼速设备每⼀笔事务最⼤是1024B。
⼀个报表可以使⽤多笔事务。
设备可以在未预期的时间传送信息给主机,例如键盘的按键或是⿏标的移动。
所以主机会定时轮询设备,以取得最新的数据。
HID设备的最⼤传输速度有限制。
主机可以保证低速的中断端点每10ms内最多1笔事务,每⼀秒最多是800B。
保证全速端点每lms⼀笔事务,每⼀秒最多是64000B。
保证⾼速端点每125 us三笔事务,每⼀秒最多是。
HID设备没有保证的传输速率。
如果设备是设置在10ms的时距,事务之间的时间可能等于或⼩于10ms。
除⾮设备是设置在全速时在每个帧传输数据,或是在⾼速时在每个微帧传输数据。
这是最快的轮询速率,所以端点可以保证有正确的带宽可供使⽤。
USB-HID协议中文版
第8章USB接口HID设备HID(Human Interface Device,人机接口设备)是USB设备中常用的设备类型,是直接与人交互的USB设备,例如键盘、鼠标与游戏杆等。
在USB设备中,HID设备的成本较低。
另外,HID设备并不一定要有人机交互功能,只要符合HID类别规范的设备都是HID设备。
Wndows操作系统最先支持的HID设备。
在windows 98以及后来的版本中内置有HID 设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。
在设计一个USB接口的计算机外部设备时,如果HID类型的设备可以满足需要,可以将其设计为HID类型设备,这样可以省去比较复杂的USB驱动程序的编写,直接利用Windows操作系统对标准的HID类型USB设备的支持。
8.1 HID设备简介8.1.1 HID设备的特点•交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持HlD报表的格式。
主机通过控制和中断传输中的传送和请求报表来传送和接收数据。
报表的格式非常灵活。
•每一笔事务可以携带小量或中量的数据。
低速设备每一笔事务最大是8B,全速设备每一笔事务最大是64B,高速设备每一笔事务最大是1024B。
一个报表可以使用多笔事务。
•设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。
所以主机会定时轮询设备,以取得最新的数据。
•HID设备的最大传输速度有限制。
主机可以保证低速的中断端点每10ms内最多1笔事务,每一秒最多是800B。
保证全速端点每lms一笔事务,每一秒最多是64000B。
保证高速端点每125 us三笔事务,每一秒最多是24.576MB。
•HID设备没有保证的传输速率。
如果设备是设置在10ms的时距,事务之间的时间可能等于或小于10ms。
除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。
这是最快的轮询速率,所以端点可以保证有正确的带宽可供使用。
USB-HID协议中文版
第8章接口设备(,人机接口设备)是设备中常用的设备类型,是直接与人交互的设备,例如键盘、鼠标与游戏杆等。
在设备中,设备的成本较低。
另外,设备并不一定要有人机交互功能,只要符合类别规范的设备都是设备。
操作系统最先支持的设备。
在98 以及后来的版本中内置有设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。
在设计一个接口的计算机外部设备时,如果类型的设备可以满足需要,可以将其设计为类型设备,这样可以省去比较复杂的驱动程序的编写,直接利用操作系统对标准的类型设备的支持。
8.1 设备简介8.1.1 设备的特点交换的数据储存在称为报表()的结构内,设备的固件必须支持报表的格式。
主机通过控制和中断传输中的传送和请求报表来传送和接收数据。
报表的格式非常灵活。
每一笔事务可以携带小量或中量的数据。
低速设备每一笔事务最大是8B ,全速设备每一笔事务最大是64B ,高速设备每一笔事务最大是1024B 。
一个报表可以使用多笔事务。
设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。
所以主机会定时轮询设备,以取得最新的数据。
设备的最大传输速度有限制。
主机可以保证低速的中断端点每10 内最多1 笔事务,每一秒最多是800B 。
保证全速端点每一笔事务,每一秒最多是64000B 。
保证高速端点每125 三笔事务,每一秒最多是24.576 。
设备没有保证的传输速率。
如果设备是设置在10 的时距,事务之间的时间可能等于或小于10 。
除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。
这是最快的轮询速率,所以端点可以保证有正确的带宽可供使用。
设备除了传送数据给主机外,它也会从主机接收数据。
只要能够符合类别规范的设备都可以是设备。
设备除了接口之外,它可能同时还包含有其他的接口。
例如影像显示设备可能使用接口来做亮度、对比度的软件控制,而使用传统的影像接口来传送要显示的数据。
扩音器可以使用实时传输来播放语音,同时使用接口来控制音量、低音等。
(完整版)USB-HID协议中文版
第8章USB接口HID设备HID(Human Interface Device,人机接口设备)是USB设备中常用的设备类型,是直接与人交互的USB设备,例如键盘、鼠标与游戏杆等。
在USB设备中,HID设备的成本较低。
另外,HID设备并不一定要有人机交互功能,只要符合HID类别规范的设备都是HID设备。
Wndows操作系统最先支持的HID设备。
在windows 98以及后来的版本中内置有HID 设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。
在设计一个USB接口的计算机外部设备时,如果HID类型的设备可以满足需要,可以将其设计为HID类型设备,这样可以省去比较复杂的USB驱动程序的编写,直接利用Windows操作系统对标准的HID类型USB设备的支持。
8.1 HID设备简介8.1.1 HID设备的特点•交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持HlD报表的格式。
主机通过控制和中断传输中的传送和请求报表来传送和接收数据。
报表的格式非常灵活。
•每一笔事务可以携带小量或中量的数据。
低速设备每一笔事务最大是8B,全速设备每一笔事务最大是64B,高速设备每一笔事务最大是1024B。
一个报表可以使用多笔事务。
•设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。
所以主机会定时轮询设备,以取得最新的数据。
•HID设备的最大传输速度有限制。
主机可以保证低速的中断端点每10ms内最多1笔事务,每一秒最多是800B。
保证全速端点每lms一笔事务,每一秒最多是64000B。
保证高速端点每125 us三笔事务,每一秒最多是24.576MB。
•HID设备没有保证的传输速率。
如果设备是设置在10ms的时距,事务之间的时间可能等于或小于10ms。
除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。
这是最快的轮询速率,所以端点可以保证有正确的带宽可供使用。
usb,scsi协议
usb,scsi协议竭诚为您提供优质文档/双击可除usb,scsi协议篇一:usbhid协议中文版——usb接口hid设备第8章usb接口hid设备hid(humaninterfacedevice,人机接口设备)是usb 设备中常用的设备类型,是直接与人交互的usb设备,例如键盘、鼠标与游戏杆等。
在usb设备中,hid设备的成本较低。
另外,hid设备并不一定要有人机交互功能,只要符合hid类别规范的设备都是hid设备。
wndows操作系统最先支持的hid设备。
在windows98以及后来的版本中内置有hid设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。
在设计一个usb接口的计算机外部设备时,如果hid类型的设备可以满足需要,可以将其设计为hid类型设备,这样可以省去比较复杂的usb驱动程序的编写,直接利用windows操作系统对标准的hid 类型usb设备的支持。
8.1hid设备简介8.1.1hid设备的特点交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持hld报表的格式。
主机通过控制和中断传输中的传送和请求报表来传送和接收数据。
报表的格式非常灵活。
每一笔事务可以携带小量或中量的数据。
低速设备每一笔事务最大是8b,全速设备每一笔事务最大是64b,高速设备每一笔事务最大是1024b。
一个报表可以使用多笔事务。
设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。
所以主机会定时轮询设备,以取得最新的数据。
hid设备的最大传输速度有限制。
主机可以保证低速的中断端点每10ms内最多1笔事务,每一秒最多是800b。
保证全速端点每lms一笔事务,每一秒最多是64000b。
保证高速端点每125us三笔事务,每一秒最多是24.576mb。
hid设备没有保证的传输速率。
如果设备是设置在10ms 的时距,事务之间的时间可能等于或小于10ms。
除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。
USBHID设备类协议入门
USBHID设备类协议入门USB HID(Human Interface Device)设备类协议是一种用于连接人机界面设备(如键盘、鼠标、游戏控制器)到计算机的通信协议。
该协议定义了设备和主机之间的数据传输格式、命令和响应等规则,使得不同厂商的HID设备可以在不同操作系统上正常工作。
1.键盘设备:USBHID键盘设备协议定义了键盘数据的传输格式。
键盘通过发送按键代码和状态信息告知主机用户的输入。
主机则通过向键盘发送命令来控制LED指示灯的状态。
2.鼠标设备:USBHID鼠标设备协议定义了鼠标数据的传输格式。
鼠标传输的数据包括鼠标移动、按键和滚轮信息等。
主机通过解析这些数据来控制光标的移动和与鼠标相关的操作。
3.游戏控制器:USBHID游戏控制器设备协议支持各种类型的游戏控制器,如游戏手柄、方向盘和航空杆等。
该协议规定了游戏控制器的按键、摇杆和轴等输入数据的格式和传输方式。
4.触摸屏设备:USBHID触摸屏设备协议定义了触摸屏的输入数据格式。
触摸屏通过发送坐标和触摸状态信息来告知主机用户的触摸操作。
在USB HID设备类协议中,设备和主机之间的通信基于报告描述器(Report Descriptor)。
报告描述器定义了设备的输入和输出报告格式。
设备将报告描述器发送到主机,以便主机能够正确解析设备发送的数据。
总结来说,USBHID设备类协议是用于连接各种人机界面设备到计算机的协议。
它定义了设备和主机之间的通信规则和数据格式,以确保不同类型的设备在不同的操作系统上能够正常工作。
通过了解和遵守USBHID设备类协议,设备制造商可以确保产品的兼容性,并提供更好的用户体验。
USB-HID协议中文版
第8章USB接口HID设备HID(Human Interface Device,人机接口设备)是USB设备中常用的设备类型,是直接与人交互的USB设备,例如键盘、鼠标与游戏杆等。
在USB设备中,HID设备的成本较低。
另外,HID设备并不一定要有人机交互功能,只要符合HID类别规范的设备都是HID设备。
Wndows操作系统最先支持的HID设备。
在windows 98以及后来的版本中内置有HID 设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。
在设计一个USB接口的计算机外部设备时,如果HID类型的设备可以满足需要,可以将其设计为HID类型设备,这样可以省去比较复杂的USB驱动程序的编写,直接利用Windows操作系统对标准的HID类型USB设备的支持。
8.1 HID设备简介8.1.1 HID设备的特点•交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持HlD报表的格式。
主机通过控制和中断传输中的传送和请求报表来传送和接收数据。
报表的格式非常灵活。
•每一笔事务可以携带小量或中量的数据。
低速设备每一笔事务最大是8B,全速设备每一笔事务最大是64B,高速设备每一笔事务最大是1024B。
一个报表可以使用多笔事务。
•设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。
所以主机会定时轮询设备,以取得最新的数据。
•HID设备的最大传输速度有限制。
主机可以保证低速的中断端点每10ms内最多1笔事务,每一秒最多是800B。
保证全速端点每lms一笔事务,每一秒最多是64000B。
保证高速端点每125 us三笔事务,每一秒最多是24.576MB。
•HID设备没有保证的传输速率。
如果设备是设置在10ms的时距,事务之间的时间可能等于或小于10ms。
除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。
这是最快的轮询速率,所以端点可以保证有正确的带宽可供使用。
USBHID协议中文版——USB接口HID设备
USBHID协议中文版——USB接口HID设备USB HID(Human Interface Device)协议,即USB人机接口设备协议,是一种用于在计算机和外部设备之间进行通信的协议。
USB HID设备包括各种外部设备,如键盘、鼠标、游戏手柄等。
它将这些设备的输入信息以标准格式传输给计算机,并接收来自计算机的控制命令。
USBHID协议是USB规范的一部分,通过定义报告描述符和相关命令,定义了HID设备和主机之间的通信方式。
HID设备通过USB接口连接到计算机主机,主机通过发送控制命令来获取设备的状态信息或者向设备发送控制命令。
USBHID协议采用面向报告的架构。
报告是HID设备与主机之间通信的基本单位,它包含设备的输入或输出数据。
报告描述符定义了报告的结构和内容。
HID设备可以定义多个报告,每个报告有一个唯一的报告ID,主机通过这个ID来区分不同报告。
报告分为输入报告和输出报告两种类型,输入报告用于向主机提供设备的输入数据,输出报告用于接受来自主机的控制命令。
在USBHID协议中,主机与设备之间的通信是通过控制传输、中断传输和批量传输三种方式实现的。
控制传输用于获取设备的状态信息或者发送控制命令,中断传输用于实时传输设备的输入数据,批量传输用于传输大量的数据。
USBHID协议还定义了一些标准报告类型,如键盘报告、鼠标报告、游戏控制器报告等。
这些报告类型定义了这些设备的输入输出格式,以及设备状态的解析规则。
主机可以根据这些标准报告类型来识别设备以及解析设备的输入输出数据。
USBHID协议还支持设备的热插拔功能,即在计算机运行期间可以动态地插拔设备。
当设备插入计算机时,主机会检测到设备,并为设备分配一个唯一的地址。
当设备被拔出时,主机会释放该地址,从而实现设备的热插拔。
总之,USBHID协议是一种用于在计算机和外部设备之间进行通信的协议。
它定义了HID设备和主机之间的通信方式,以及设备的输入输出格式。
USBHID协议中文版——USB接口HID设备
USBHID协议中文版——USB接口HID设备HID协议是一种设备到计算机的通信协议,它为设备和计算机之间提
供匿名交互功能。
HID使设备能够发送命令给计算机,并以此来控制计算机,示例如屏幕光标的移动、键盘上的按键操作等等。
HID使用USB接口,这个接口允许双向传输,所以HID的连接可以让设备向计算机发送和接收
信息。
HID协议是一个可靠的,支持多种设备的协议,它可以用来连接不同
类型的设备,包括普通的读写硬盘、鼠标、键盘、显示器、外部存储器等等。
HID协议的灵活性使它可以用于实现各种功能,其中包括具有强制性
的政府标准设备、无线设备等。
HID协议的主要目的是为设备提供轻量级的数据交换框架,能够高效
地传递设备数据,高度定制化,从而有效降低传输数据的时间和功耗。
HID协议与其他传输协议相比,具有许多优点,例如:
1.不需要改变协议:HID协议能够提供灵活的连接,不需要改变协议
就可以操作不同的实体设备,减少硬件和软件的发展成本和时间。
2.安全性高:HID协议具有认证,授权和加密功能,能够保护数据不
受未经授权的访问。
3.支持热插拔:HID设备可以在系统运行时插入或拔出,无需重新启
动系统。
USBHID协议中文版USB接口HID设备
USBHID协议中文版USB接口HID设备
所谓HID,即Human Interface Devices),指的是专门为人机交互
设计的设备接口,它可以使用USB接口或PS/2接口,这里我们主要讨论USB接口HID设备。
1.键盘和鼠标:键盘和鼠标可以通过USB的HID协议实现自动识别和
控制,无需依赖任何驱动程序,如键盘可以输入大小写字母数字以及其他
特殊字符。
2.虚拟键盘:可以通过HID协议自动识别,支持多种按键的输入。
3.触摸板:支持多指、双指以及拖动等操作,并可以实现双击操作以
及放大、缩小操作。
4.游戏手柄:支持D-Pad、拨杆、方向按键等操作,包括一键发射、
等热键操作。
5.手写板:可以支持手写笔的输入,以实现写字、绘图等操作。
6.滚轮:可以支持滚轮操作,实现控制页面的缩放等操作。
7.触控笔:可以支持触控笔的输入,实现画笔、选择对象、更改等操作。
B硬件:支持USB接口的硬件设备,比如USB硬盘、DVD光驱等,也可以通过HID协议实现自动识别和控制。
USB-HID协议中文版
第8章USB接口HID设备HID(Human Interface Device,人机接口设备)是USB设备中常用的设备类型,是直接与人交互的USB设备,例如键盘、鼠标与游戏杆等。
在USB设备中,HID设备的成本较低。
另外,HID设备并不一定要有人机交互功能,只要符合HID类别规的设备都是HID设备。
Wndows操作系统最先支持的HID设备。
在windows 98以及后来的版本中置有 HID设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。
在设计一个USB接口的计算机外部设备时,如果HID类型的设备可以满足需要,可以将其设计为HID类型设备,这样可以省去比较复杂的USB驱动程序的编写,直接利用Windows 操作系统对标准的HID类型USB设备的支持。
8.1 HID设备简介8.1.1 HID设备的特点•交换的数据储存在称为报表(Report)的结构,设备的固件必须支持HlD报表的格式。
主机通过控制和中断传输中的传送和请求报表来传送和接收数据。
报表的格式非常灵活。
•每一笔事务可以携带小量或中量的数据。
低速设备每一笔事务最大是8B,全速设备每一笔事务最大是64B,高速设备每一笔事务最大是1024B。
一个报表可以使用多笔事务。
•设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。
所以主机会定时轮询设备,以取得最新的数据。
•HID设备的最大传输速度有限制。
主机可以保证低速的中断端点每10ms最多1笔事务,每一秒最多是800B。
保证全速端点每lms一笔事务,每一秒最多是64000B。
保证高速端点每125 us三笔事务,每一秒最多是24.576MB。
•HID设备没有保证的传输速率。
如果设备是设置在10ms的时距,事务之间的时间可能等于或小于10ms。
除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。
这是最快的轮询速率,所以端点可以保证有正确的带宽可供使用。
HID设备除了传送数据给主机外,它也会从主机接收数据。
USB-HID协约中文版
第8章USB接口HID设备HID(Human Interface Device,人机接口设备)是USB设备中常用的设备类型,是直接与人交互的USB设备,例如键盘、鼠标与游戏杆等。
在USB设备中,HID设备的成本较低。
另外,HID设备并不一定要有人机交互功能,只要符合HID类别规范的设备都是HID设备。
Wndows操作系统最先支持的HID设备。
在windows 98以及后来的版本中内置有HID设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。
在设计一个USB接口的计算机外部设备时,如果HID类型的设备可以满足需要,可以将其设计为HID类型设备,这样可以省去比较复杂的USB驱动程序的编写,直接利用Windows操作系统对标准的HID类型USB设备的支持。
8.1 HID设备简介8.1.1 HID设备的特点•交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持HlD报表的格式。
主机通过控制和中断传输中的传送和请求报表来传送和接收数据。
报表的格式非常灵活。
•每一笔事务可以携带小量或中量的数据。
低速设备每一笔事务最大是8B,全速设备每一笔事务最大是64B,高速设备每一笔事务最大是1024B。
一个报表可以使用多笔事务。
•设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。
所以主机会定时轮询设备,以取得最新的数据。
•HID设备的最大传输速度有限制。
主机可以保证低速的中断端点每10ms内最多1笔事务,每一秒最多是800B。
保证全速端点每lms一笔事务,每一秒最多是64000B。
保证高速端点每125 us三笔事务,每一秒最多是24.576MB。
•HID设备没有保证的传输速率。
如果设备是设置在10ms的时距,事务之间的时间可能等于或小于10ms。
除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。
这是最快的轮询速率,所以端点可以保证有正确的带宽可供使用。
hid协议
竭诚为您提供优质文档/双击可除hid协议篇一:usbhid协议中文版——usb接口hid设备第8章usb接口hid设备hid(humaninterfacedevice,人机接口设备)是usb 设备中常用的设备类型,是直接与人交互的usb设备,例如键盘、鼠标与游戏杆等。
在usb设备中,hid设备的成本较低。
另外,hid设备并不一定要有人机交互功能,只要符合hid类别规范的设备都是hid设备。
wndows操作系统最先支持的hid设备。
在windows98以及后来的版本中内置有hid设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。
在设计一个usb接口的计算机外部设备时,如果hid类型的设备可以满足需要,可以将其设计为hid类型设备,这样可以省去比较复杂的usb驱动程序的编写,直接利用windows操作系统对标准的hid类型usb设备的支持。
8.1hid设备简介8.1.1hid设备的特点交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持hld报表的格式。
主机通过控制和中断传输中的传送和请求报表来传送和接收数据。
报表的格式非常灵活。
每一笔事务可以携带小量或中量的数据。
低速设备每一笔事务最大是8b,全速设备每一笔事务最大是64b,高速设备每一笔事务最大是1024b。
一个报表可以使用多笔事务。
设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。
所以主机会定时轮询设备,以取得最新的数据。
hid设备的最大传输速度有限制。
主机可以保证低速的中断端点每10ms内最多1笔事务,每一秒最多是800b。
保证全速端点每lms一笔事务,每一秒最多是64000b。
保证高速端点每125us三笔事务,每一秒最多是24.576mb。
hid设备没有保证的传输速率。
如果设备是设置在10ms 的时距,事务之间的时间可能等于或小于10ms。
除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.2 HID 设备描述符
HID 设备连接到 USB 主机后,主机通过发送 Get_Descriptor 请求读取 HID 设备的描 述符,了解描述符对了解 USB 设备是至关重要的。
8.2.1 HID 设备的描述符
HID 设备除了支持 USB 设备的 5 种标准描述符之外,还支持 HID 设备特有的 3 种描 述符。这些描述符是: USB 标准描述符:设备、配置、接口、端点和字符串描述符。 HID 特有的描述符:HID、报表(Report)和实体(Physical)描述符。 从描述符的关联关系看,HID 描述符是关联于接口。所以如果一个 HID 设备有 2 个端 点,设备不需要每个端点有一个 HID 描述符。
主机 HID 类别 驱动程序
外设 默认控制管道 HID 类别 设备
中断管道
图 8-1 表 8-1 传输 类型 控制 中断 数据来源 设备(输入) 主机(输出) 设备(输入) 主机(输出) 数据类型 没有严格时间限制的数据 没有严格时间限制的数据 或是没有中断输出管道时的任何数据 定时或低延迟的数据 定时或低延迟的数据 HID 传输的传输类型 HID 设备的传输类型 是否需 要管道 是
第8章 USB 接口 HID 设备
HID(Human Interface Device,人机接口设备)是 USB 设备中常用的设备类型,是 直接与人交互的 USB 设备,例如键盘、鼠标与游戏杆等。在 USB 设备中,HID 设备的成 本较低。另外,HID 设备并不一定要有人机交互功能,只要符合 HID 类别规范的设备都是 HID 设备。 Wndows 操作系统最先支持的 HID 设备 。在 windows 98 以及后来的版本中内置有 HID 设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。 在设计一个 USB 接口的计算机外部设备时,如果 HID 类型的设备可以满足需要,可以 将其设计为 HID 类型设备,这样可以省去比较复杂的 USB 驱动程序的编写,直接利用 Windows 操作系统对标准的 HID 类型 USB 设备的支持。
8.2.2 HID 描述符
HID 描述符的主要作用是用来识别 HID 通信所使用的额外描述符。 下表是 HID 描述符 结构。
表 8-3 HID 描述符结构 字节 数值 说明 数 类型 1 Numeric 描述符字节数 1 Constant 0x21 = HID 描述符 2 Numeric HID 规范版本号(BCD) 1 Numeric 硬件设备所在国家的国家代码 1 Numeric 类别描述符数目(至少有一个报表描述符) 1 Constant 类别描述符的类型 2 Numeric 报表描述符的总长度
第 8 章 USB 接口 HID 设备
183
在每一个报表中的一个数值,定义此报表是一个输入(Input) 、输出(Output)或是 特征(Feature)报表。主机在输入报表中接收数据,在输出报表中传送数据,特征报表可 以在任何方向传递。 Windows 98 以及后来版本的 HID 驱动程序使用中断传输来传递输入报表。输出报表 的传输类型要根据设备支持的端点与 Windows 的版本而定。 Windows 98 Gold 只符合 HID 1.0 规范,它的 HID 驱动程序使用控制传输来传递输出报表。Windows 98 SE、Wndows 2000 符合 HID 1.1 规范,HID 驱动程序在有中断输出端点时使用中断传输,否则使用控制 传输来传递输出报表。特征报表都是使用控制传输。
是 是
主机与设备之间所交换的数据,可以分成两种类型: 低延迟的数据,必须尽快地到达目的; 配置或其他的数据,没有严格时间限制的需求。 中断管道是控制管道之外的另一种数据交换的方式,特别适合使用在接收端需要定时 或是尽可能及时收到数据的时候。中断输入管道携带数据到主机,中断输出管道则是携带 数据到设备。在总线忙的时候,控制管道可能会被延迟,而中断管道保证会有可得到的带 宽。HID 不需要一定有中断输出管道。如果没有中断输出管道,主机会在控制管道上使用 HID 设备特有的 Set_Report 请求来传送所有的报表。
标准
类别 HID 特定
设备 Device 配置 Configuration 字符串 String 接口 Interface 端点 Endpoint 设备限定 Device_Qualiffier Other_Speed_Configuration Interface_power HID Hub 报表 Report 实体 Physical
185
bcdHID:设备与其描述符所遵循的 HID 规范的版本号码,此数值是 4 个 16 进位的 BCD 格式字符。例如版本 1.1 的 bcdHID 是 0110h。 bCountryCode:硬件目的国家的识别码。如果不说明,该字段为 0。 bDescriptorType:HID 描述符附属的描述符的类型(报表或实体) 。每一个 HID 都 必须至少支持一个报表描述符。一个接口可以支持多个报表描述符,以及一个或多个实体 描述符。 HID 描述符的偏移量为 9 和 10 的 bDescriptorType 和 wDescriptorLength 可以重复存 在多个。
8.1.3 HID 固件的要求
主机的驱动程序要与 HID 设备通信,设备的固件必须符合下列需求: 设备的描述符必须识别该设备包含有 HID 接口。 除了默认控制管道外,固件必须另外支持一个中断输入管道。 固件必须包含一个报表描述符来定义要传送与接收的设备数据。 如果要传送数据,固件必须支持 Get_Report 控制传输与中断输入传输。如果要接收 数据,固件必须支持 Set_Report 控制传输与选择性的中断输出传输。 所有的 HID 数据都必须使用定义过的报表格式来定义报表中数据的大小与内容。设备 可以支持一个或多个报表。在固件中的一个报表描述符用来描述此报表,以及如何使用报 表数据的信息。
接口描述符 Interface
HID 描述符 Hid
端点描述符 Endpoint
报表描述符 Report
实体描述符 Physical 图 8-2
HID、报表和实体描 述符是 HID 设备特 有的描述符
HID 描述符的关联关系
从前面的 USB 描述符可以看出一个规律,描述符的第一、二字节分别是描述符的长 度和类型,描述符的类型字段(bDescriptorType)表明描述符的种类,下表列出了不同描 述符的类型字段数值。
182
计算机高级接口实践
8.1.2 HID 设备的硬件要求
HID 接口必须符合 Device Class Definition for Human interface Devices 规范内所定 义的 HID 类别的需求。在此文件内描述了所需的描述符、传输的频率以及传输的类型等。 为了符合规范,HID 接口的端点与描述符都必须符合数个要求。 所有的 HID 传输都是使用默认控制管道或是一个中断管道,HID 设备必须有一个中断 输入端点来传送数据到主机,中断输出端点则不是必需的。
表 8-2
HID 的描述符
184 类型 描述符
计算机高级接口实践 应用 所有设备必须有,只能一个 所有设备必须有,至少一个 可选择 每一个接口一个 除端点 0 之外的每个端点一个 同时支持全速与高速的设备必须有 一个 HID 设备必须有 HID 设备必须有 可选择的 数 值 01 02 03 04 05 06 07 08 21 29 22 23
8.1 HID 设备简介
8.1.1 HID 设备的特点
交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持 HlD 报表的
格式。主机通过控制和中断传输中的传送和请求报表来传送和接收数据。报表的格 式非常灵活。 每一笔事务可以携带小量或中量的数据。低速设备每一笔事务最大是 8B,全速设 备每一笔事务最大是 64B, 高速设备每一笔事务最大是 1024B。 一 个 报表可以使用 多笔事务。 设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。所以 主机会定时轮询设备,以取得最新的数据。 HID 设备的最大传输速度有限制。主机可以保证低速的中断端点每 10ms 内最多 1 笔事务,每一秒最多是 800B 。保证全速端点每 lms 一笔事务,每一秒最多是 64000B。保证高速端点每 125 us 三笔事务,每一秒最多是 24.576MB。 HID 设备没有保证的传输速率。如果设备是设置在 10ms 的时距,事务之间的时间 可能等于或小于 10ms。除非设备是设置在全速时在每个帧传输数据,或是在高速 时在每个微帧传输数据。这是最快的轮询速率,所以端点可以保证有正确的带宽可 供使用。 HID 设备除了传送数据给主机外,它也会从主机接收数据。只要能够符合 HlD 类别规 范的设备都可以是 HID 设备。 设备除了 HlD 接口之外,它可能同时还包含有其他的 USB 接口。例如影像显示设备 可能使用 HID 接口来做亮度、对比度的软件控制,而使用传统的影像接口来传送要显示的 数据。 USB 扩音器可以使用实时传输来播放语音, 同时使用 HID 接口来控制音量、 低音等。 HID 类别设备的规范文件主要是以下两份: Device Class Definition for Human interface Devices HID Usage Tables 其中前者是 HID 的基本规范文件,后者可以是前者的附件,为开发人员提供实际的控 制类型的描述。文件是用来定义让主机了解以及使用 HID 数据的数值。这两份文件是由 USB Device Working Group 制定的,可以在网址 /developers/hidpage/ #Class _Definition 下载。
对于一个 HID 设备, 设备描述符与配置描述符没有 HID 特定的信息。 其设备描述符的 bDeviceClass 和 bDeviceSubClass 字段的值为 0,接口描述符的 bInterfaceClass 字段值 为 03,表示设备的该接口是 HID 类别。在接口描述符中其他包含 HID 特定信息的字段还 有子类别码(blnterfaceSubClass)与协议码(blnterfaceProtocol 字段 )。 在接口描述符中子类别码字段等于 1 表示此设备支持启动接口(Boot Interface) 。如 果设备有启动接口,即便主机的 HID 没有加载驱动程序,设备也可以使用。这种情形可能 发生在计算机是由 DOS 直接启动, 在启动时观看系统设置画面或使用 Windows 的安全模 式时。 含有启动接口的键盘或鼠标可以使用 BIOS 或许多主机支持的默认简单协议。HID 规 范定义了键盘与鼠标的启动接口协议。 如果设备没有启动接口,并且接口描述符中协议码字段是 1,表示设备支持键盘接口, 协议码字段是 2,表示支持鼠标接口。接口描述符中协议码字段是 0,表示设备不支持启 动协议。 在 HID Usage Tables 规范中定义了键盘与鼠标的启动描述符(Boot Descriptor) 。 BIOS 不需要从设备中读取描述符,因为它知道启动协议,并且假设设备支持启动协议。 所以要启动的设备不需要在固件内包含启动接口描述符,它只要在主机尚未要求在报表描 述 符中的 定义协议 时支持 启动协 议即可。 在操作 系统加载 HlD 驱动 程序 后会使 用 Set_Protocol 请求,将设备由启动协议转换成报表协议。