基于hid协议的串口蓝牙键盘鼠标设计,pdf

上传人:F****n 文档编号:90826894 上传时间:2019-06-19 格式:DOCX 页数:18 大小:29.12KB
返回 下载 相关 举报
基于hid协议的串口蓝牙键盘鼠标设计,pdf_第1页
第1页 / 共18页
基于hid协议的串口蓝牙键盘鼠标设计,pdf_第2页
第2页 / 共18页
基于hid协议的串口蓝牙键盘鼠标设计,pdf_第3页
第3页 / 共18页
基于hid协议的串口蓝牙键盘鼠标设计,pdf_第4页
第4页 / 共18页
基于hid协议的串口蓝牙键盘鼠标设计,pdf_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于hid协议的串口蓝牙键盘鼠标设计,pdf》由会员分享,可在线阅读,更多相关《基于hid协议的串口蓝牙键盘鼠标设计,pdf(18页珍藏版)》请在金锄头文库上搜索。

1、基于hid协议的串口蓝牙键盘鼠标设计,pdf篇一:蓝牙HID协议笔记蓝牙HID协议笔记 标签: 分类: Bluetooth1.概述The Human Interface Device 定义了蓝牙在人机接口设备中的协议、特征和使用规程。典型的应用包括蓝牙鼠标、蓝牙键盘、蓝牙游戏手柄等。该协议改编自USB HID Protocol。 2.一些概念HID Reports:Bluetooth HID devices支持三种Report:Input, Output, and Feature。 HID建立Control Channel和Interrupt Channel两个通道,report可以在这两条c

2、hannel上传输,在Control channel上传输的report称为synchronous reports ;在Interrupt channel上传输的report称为asynchronous reports。Feature reports are always transferred synchronously using GET_REPORT or SET_REPORT requests。Report Protocol Mode和Boot Protocol Mode。Bluetooth HID Hosts至少支持一种,Bluetooth HID Device则需要支持Report

3、 Protocol Mode,并且Report Protocol Mode是Bluetooth HID Device的默认Mode。 HID Protocol Messages这些message不能超过L2CAP的MTU,大小超过MTU的message将被忽略。 Message Header的格式如下:HANDSHAKE该Message用来acknowledgeSET_REPORT, SET_IDLE and SET_PROTOCOL等request。只在Control Channel上传输,只由Bluetooth HID device。 Parameter部分定义如下:HID_CONTROL

4、控制Bluetooth HID device改变状态。 Parameter部分定义如下:GET_REPORTBluetooth HID Host用来请求Bluetooth HID device的传输。 定义如下:SET_REPORTBluetooth HID Host用来向Bluetooth HID device发起传输。格式如下:GET_PROTOCOL用来获取Bluetooth HID device的Protocol Mode,然后Bluetooth HID device response一个DATA payload说明当前的Protocol Mode。 格式如下:GET_PROTOCOL

5、 Data Definition格式如下:SET_PROTOCOL用来设置Bluetooth HID device的Bluetooth HID device。格式如下:DATA代表一个a HID payload。格式如下:以HID Protocol messages的形式传输。 Control Channel Transfers分为Acknowledged和Unacknowledged两种,格式如下:Interrupt Channel TransfersInterrupt IN和Interrupt OUT两种,可以在任意时刻发送。【中断嘛】5.其余各层对于HID的要求 HID与L2CAP的交互

6、如下:篇二: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类型的设备可以满足需要,可以将其设

7、计为HID类型设备,这样可以省去比较复杂的USB驱动程序的编写,直接利用Windows操作系统对标准的HID类型USB设备的支持。 HID设备简介 HID设备的特点交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持HlD报表的格式。主机通过控制和中断传输中的传送和请求报表来传送和接收数据。报表的格式非常灵活。每一笔事务可以携带小量或中量的数据。低速设备每一笔事务最大是8B,全速设备每一笔事务最大是64B,高速设备每一笔事务最大是1024B。一个报表可以使用多笔事务。设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。所以主机会定时轮询设备,以取得最新的数据。H

8、ID设备的最大传输速度有限制。主机可以保证低速的中断端点每10ms内最多1笔事务,每一秒最多是800B。保证全速端点每lms一笔事务,每一秒最多是64000B。保证高速端点每125 us三笔事务,每一秒最多是。HID设备没有保证的传输速率。如果设备是设置在10ms的时距,事务之间的时间可能等于或小于10ms。除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。这是最快的轮询速率,所以端点可以保证有正确的带宽可供使用。HID设备除了传送数据给主机外,它也会从主机接收数据。只要能够符合HlD类别规范的设备都可以是HID设备。设备除了HlD接口之外,它可能同时还包含有其他的USB

9、接口。例如影像显示设备可能使用HID接口来做亮度、对比度的软件控制,而使用传统的影像接口来传送要显示的数据。USB扩音器可以使用实时传输来播放语音,同时使用HID接口来控制音量、低音等。HID类别设备的规范文件主要是以下两份:Device Class Definition for Human interface Devices HID Usage Tables其中前者是HID的基本规范文件,后者可以是前者的附件,为开发人员提供实际的控制类型的描述。文件是用来定义让主机了解以及使用HID数据的数值。这两份文件是由 USB Device Working Group制定的,可以在网址/retype/

10、zoom/2c2ecd2fccbff121dd368396?pn=2&x=0&y=0&raww=600&rawh=129&o=jpg_6_0_&type=pic&aimh=&md5sum=450602e9dc4b52405d37d49d56cb2ea6&sign=017356c994&zoom=&png=0-837&jpg=0-23560 target=_blank点此查看主机与设备之间所交换的数据,可以分成两种类型:低延迟的数据,必须尽快地到达目的;配置或其他的数据,没有严格时间限制的需求。中断管道是控制管道之外的另一种数据交换的方式,特别适合使用在接收端需要定时或是尽可能及时收到数据的时候

11、。中断输入管道携带数据到主机,中断输出管道则是携带数据到设备。在总线忙的时候,控制管道可能会被延迟,而中断管道保证会有可得到的带宽。HID不需要一定有中断输出管道。如果没有中断输出管道,主机会在控制管道上使用HID设备特有的Set_Report请求来传送所有的报表。 HID固件的要求主机的驱动程序要与HID设备通信,设备的固件必须符合下列需求:设备的描述符必须识别该设备包含有HID接口。除了默认控制管道外,固件必须另外支持一个中断输入管道。 固件必须包含一个报表描述符来定义要传送与接收的设备数据。如果要传送数据,固件必须支持Get_Report控制传输与中断输入传输。如果要接收数据,固件必须支

12、持Set_Report控制传输与选择性的中断输出传输。所有的HID数据都必须使用定义过的报表格式来定义报表中数据的大小与内容。设备可以支持一个或多个报表。在固件中的一个报表描述符用来描述此报表,以及如何使用报表数据的信息。在每一个报表中的一个数值,定义此报表是一个输入(Input)、输出(Output)或是特征(Feature)报表。主机在输入报表中接收数据,在输出报表中传送数据,特征报表可以在任何方向传递。Windows 98以及后来版本的HID驱动程序使用中断传输来传递输入报表。输出报表的传输类型要根据设备支持的端点与Windows的版本而定。Windows 98 Gold只符合HID 规

13、范,它的HID驱动程序使用控制传输来传递输出报表。Windows 98 SE、Wndows 20XX符合HID 规范,HID驱动程序在有中断输出端点时使用中断传输,否则使用控制传输来传递输出报表。特征报表都是使用控制传输。 HID设备描述符HID设备连接到USB主机后,主机通过发送Get_Descriptor请求读取HID设备的描述符,了解描述符对了解USB设备是至关重要的。 HID设备的描述符HID设备除了支持USB设备的5种标准描述符之外,还支持HID设备特有的3种描述符。这些描述符是:USB标准描述符:设备、配置、接口、端点和字符串描述符。HID特有的描述符:HID、报表(Report)

14、和实体(Physical)描述符。 从描述符的关联关系看,HID描述符是关联于接口。所以如果一个HID设备有2个端点,设备不需要每个端点有一个HID描述符。图8-2 HID描述符的关联关系从前面的USB描述符可以看出一个规律,描述符的第一、二字节分别是描述符的长度和类型,描述符的类型字段(bDescriptorType)表明描述符的种类,下表列出了不同描述符的类型字段数值。表8-2 HID的描述符对于一个HID设备,设备描述符与配置描述符没有HID特定的信息。其设备描述符的bDeviceClass和bDeviceSubClass字段的值为0,接口描述符的bInterfaceClass字段值为0

15、3,表示设备的该接口是HID类别。在接口描述符中其他包含HID特定信息的字段还有子类别码(blnterfaceSubClass)与协议码(blnterfaceProtocol字段)。在接口描述符中子类别码字段等于1表示此设备支持启动接口(Boot Interface)。如果设备有启动接口,即便主机的HID没有加载驱动程序,设备也可以使用。这种情形可能发生在计算机是由DOS直接启动,在启动时观看系统设置画面或使用Wndows的安全模式时。含有启动接口的键盘或鼠标可以使用BIOS或许多主机支持的默认简单协议。HID规范定义了键盘与鼠标的启动接口协议。如果设备没有启动接口,并且接口描述符中协议码字段是1,表示设备支持键盘接口,协议码字段是2,表示支持鼠标接口。接口描述符中协议码字段是0,表示设备不支持启动协议。在 HID Usage Tables规范中定义了键盘与鼠标的启动描述符(Boot Descriptor)。BIOS不需要从设备中读取描述符,因为它知道启动协议,并且假设设备支持启动协议。所以要启动的设备不需要在

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号