下载此文档

usb-hid,设备报告描述符详解.doc


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
usb/hid, 设备报告描述符详解 USBHID 设备报告描述符详解转载自: /273398/viewspace- USB/HID 设备报告描述符详解 USB 描述符即 USB 设备的信息,系统设备列举所要执行的工作之一,即是取得这些有关于设各的相关信息,之后设备才能被系统识别使用。在图的描述符中, 设备描述符( device descriptor )、配置描述符( configurationdescriptor ) 、接口描述符( interface descriptor ) 以及端点描述符( endpoint descriptor )是必须具有的。而其他的描述符, 如字符串描述符( strtng descriptor )、数种不同的群组描述符( class descriptor ) 以及报告描述符( report descriptor ) 则可以根据不同的设备加以添加或删减。报告描述符是 HID 用来数据传输( data transfer ), 是对这些传输的数据作用途( usage )上的说明。 USB 通讯协议的规范是以 1ms 产生一个 USB 帧( frame ), US B 设备可以每一个帧中发送和接收一个交换( transaction ) 。交换是由几个封包(packet) 组成, 而传输是由一个或几个交换来完成传送一口中有效的数据。在这里,传输和报告的意思相类似。传输方式有四种,初始学一般只要了解控制型传输(control transfer) 和中断型传输(interrupt transfer) 即可。控制型传输是当需要时才执行传输要求,是最一般的传输方式,组态、命令和状态的通讯都可以使用控制型传输;控制型传输主要用于消息型数据( message-type data ) 。中断型传输目的在做重复的数据更新( recurring data )传输,精确一点而言,即是在每个有限有周期内(bounded period) 作至少一次的小量数据发送或接收; 所以适用于流动型数据( stream-type data ), 注意这里所谓的周期时间就是在端点描述符中的轮询间隔时间。报告有三种: input,output, 和 Feature. 后面将作进一步介绍。中断型输入管线(interrupt in pipe) 仅可以传送 input 报告;中断型输出管线(interrupt out pipe) 仅可以传送 output 报告; 但是控制型管线(control pipe) 可以传送 input,output 和 feature 报告。端点描述符有声明所使用的端点为何种管线。数据本身没有任何意义,要赋于用途才能明确其为控制什么( control ); 例如设备上的按钮指示灯和 X与Y 轴的位移等都通称控制,数据则为按钮和指示灯的开关状态或 X与Y 轴的位移量。为了这个目的应运而生报告描述符,其将数据的操控与它的用途作一对一的对应,所以解读报告后就可以知道每个数据作何种操作。所以“传输的数据”和“操作”只是一事件的两种描述方式。用途是以一个 32 位卷标(称作 usage tag )来表示,高 16 位称作 usage page( 用途类页) ,低 16 位称为 usage ID( 用途识别名): Usage = (usage page:usage ID) 举例说明: 二个字节分别为 x和y 轴的位移数据, 因此第一个字节的 usage= (generic desktop:X) ,而第二个字节的 usage = (generic desktop:Y) ,其中 generic desktop 为用途的大类别(称作用途类页)之一, x和y 轴的操作用途属于此用途类页。文件 universal serial Bus HID Usage Table 完整列出所有的 usage pages( 用途类页)和 usage ID( 用途识别名), 使用者必须遵照文件的规范来声明操作的用途。该文件的附录 A 有十多个报告描述符的范例,值得研究下。表1 、报告描述符的标签项目分成三种类别: 主项目, 全局项目, 区域项目。主项目中的 input,ouput,feature 三个卷标用来表示报告中数据的种类, 这些是报告描述符中最主要的项目, 其他项目都是用来修饰这三种项目。主要项目中其他二个卷标后面再作详细的介绍。 Input 项: 表示设备操作输入到主机的数据模式。这个数据格式就形成一个输入报告,虽然输入报告可以用控制型管线以 get report ( input )来传输,但是通常用中断型输入管线来传输以确保在每一固定周期内都能将更新的输入报告传给主机。 Output 项:表示由主机输出到装置操作的数据格式。这个数据

usb-hid,设备报告描述符详解 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人raojun00001
  • 文件大小46 KB
  • 时间2017-04-02