Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2087838
  • 博文数量: 361
  • 博客积分: 10828
  • 博客等级: 上将
  • 技术积分: 4161
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-20 14:34
文章分类

全部博文(361)

文章存档

2011年(132)

2010年(229)

分类: LINUX

2011-05-19 21:00:55

概述:

报告在这里意思是数据传输(data transfer),而报告描述符是对这些传输的数据作用途(usage)上的说明。

USB通讯协议的规范是以1ms产生一个USB帧(frame),USB设备可以每一个帧中发送和接收一个交换(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,outputfeature报告。端点描述符有声明所使用的端点为何种管线。

数据本身没有任何意义,要赋于用途才能明确其为控制什么(control);例如设备上的按钮指示灯和XY轴的位移等都通称控制,数据则为按钮和指示灯的开关状态或XY轴的位移量。为了这个目的应运而生报告描述符,其将数据的操控与它的用途作一对一的对应,所以解读报告后就可以知道每个数据作何种操作。所以“传输的数据”和“操作”只是一事件的两种描述方式。用途是以一个32位卷标(称作usage tag)来表示,高16位称作usage page(用途类页),低16位称为usage DI(用途识别名)

Usage = (usage page:usage ID)

举例说明:二个字节分别为xy轴的位移数据,因此第一个字节的usage=(generic desktop:X),而第二个字节的usage = (generic desktop:Y),其中generic desktop为用途的大类别(称作用途类页)之一,xy轴的操作用途属于此用途类页。文件universal serial Bus HID Usage Table完整列出所有的usage pages(用途类页)usage ID(用途识别名),使用者必须遵照文件的规范来声明操作的用途。该文件的附录A有十多个报告描述符的范例,值得研究下。

 

1、报告描述符的标签

主项目

全域项目

区域项目

标签

代码

标签

代码

标签

代码

Input

X08?

Usage Page

0x0?

Usage

0x0?

Output

0x9?

Logical Minimum

0x1?

Usage Minimum

0x1?

Feature

0x0b?

Logical Maximum

0x2?

Usage Maximum

0x2?

 

 

Physical Minimum

0x3?

Designator Minimum

0x3?

Collection

0xa1

Physical Maximum

0x4?

Designator Minimum

0x4?

End Collection

0xc0

Unit Exponent

0x5?

Designator Maximum

0x5?

 

 

Unit

0x6?

String

0x7?

 

 

Report Size

0x7?

Sreing Minimum

0x8?

 

 

Report ID

0x8?

String Maximum

0x9?

 

 

Report Coumt

0x9?

Delimiter

0xa?

 

 

Push

0xA?

 

 

 

 

Pop

0xb?

 

 

 


阅读(5199) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~