USB 管道 && 端点
管道和usb设备中的端点一一对应,一个usb设备含有多少个端点,其和主机进行通信时就可以使用多少条管道,且端点的类型决定了管道中数据的传输类型。
端点数是由软件决定的,所以管道自然也是软件决定的咯。
管道: 一个USB管道是驱动程序的一个数据缓冲区,与一个外设端点的连接。它代表了一种在两者之间移动数据的能力。管道有两种类型:数据流管道(其中的数据没有USB定义的结构)和消息管道(其中的数据必须有USB定义的结构)。管道只是一个逻辑上的概念。所有的设备必须支持端点0以作为设备的控制管道。通过控制管道,可以获取完全描述USB设备的信息。一个USB设备可以分为三个层:最底层是总线接口,用来发送与接收包;中间层处理总线接口与不同的端点之间的数据流;最上层就是USB设备所提供的功能。
Hub:Hub提供了附加的USB节点(又叫端口)。Hub可以检测出每一个下行端口的状态,并且可以给下端的设备提供电源。
一个系统中有多个USB设备,一个USB设备中有多个端点
系统用设备地址识别设备,设备用端点号区别端点。
主机设置设备的地址,端点号是设备固有的不能被设置。
对于HID类,OUT端点并不是必须的.
根据USB HID协议,当没有专用的OUT端点时,set report使用control端点实现,具体就是通过HID类的请求,然后通过Data stage携带set report数据.
USB 管道 && 端点的更多相关文章
- USB设备架构
USB设备,分为3层:1.底层为传送和接受数据的总线接口:2.中间层处理总线和不同端点的数据传输:3.最高层由串行总线设备提供.主要研究中间层. USB设备状态,主要研究外部可见状态. 1,连接态-- ...
- 【驱动】USB驱动实例·串口驱动·键盘驱动
Preface USB体系支持多种类型的设备. 在 Linux内核,所有的USB设备都使用 usb_driver结构描述. 对于不同类型的 USB设备,内核使用传统的设备驱动模型建立设备驱动 ...
- 【驱动】USB驱动实例·串口驱动·键盘驱动【转】
转自:http://www.cnblogs.com/lcw/p/3159370.html Preface USB体系支持多种类型的设备. 在 Linux内核,所有的USB设备都使用 usb_drive ...
- USB 3.0规范中译本第9章 设备框架
本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 设备框架可以被分成三层: 最底层是总线接口层,传送和接收包. 中间层处理在总线接口和设备的各种端点之间路由数 ...
- USB 3.0规范中译本 第2章 术语及缩略语
本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 本章列出并定义本规范通篇将使用的术语及缩略语. 术语/略缩语 定义 ACK(确认包) 表示积极肯定的握手包. ...
- USB协议基础知识
ref : https://blog.csdn.net/u010142953/article/details/82627591 USB 基本知识 USB的重要关键概念: 1. 端点:位于USB设备 ...
- LDD3 第13章 USB驱动程序
通用串行总线(USB)是主机和外围设备之间的一种连接.最新USB规范修订增加了理论上高达480Mbps的高速连接. 从拓扑上看,USB子系统并不是以总线的方式来布置的,它是一颗由几个点对点的连接构建而 ...
- USB仪器控制教程
概观 本教程是为出发点使用NI-VISA与USB设备进行通信.它不打算作为一个起点,学习USB构架或USB通讯中使用的各种协议.阅读本教程后,您应该能够安装一个USB设备,并使用NI-VISA与该设备 ...
- USB设备描述符和请求命令
USB设备描述符和请求命令 介绍标准的USB设备描述符和请求命令. 标准的USB描述符 当USB设备第一次连接到主机上时,要接收主机的枚举和配置,目的就是让主机知道该设备具有什么功能.是哪一类的USB ...
随机推荐
- maven中pom.xml
1. GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构. ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称.一般 ...
- Shell中的数值计算
#!/bin/bash echo "please input number:" read n a=`expr $n / 100` #a1=`expr $n - $a * 100` ...
- linux操作笔记
[fedora可以ping通但是isReachAble返回false的原因] fedora18+ 防火墙设置原因,导致tcp端口不通,返回no route to host错误. 关闭防火墙命令: sy ...
- angularjs不同页面间controller传参方式,使用service封装sessionStorage
这里分享一个我在实际项目中,使用service封装的一个依赖sessionStorage的传参服务. 这里先说下大背景,在我们的实际开发中,登陆之后一般会存在一个token,这个token将会贯穿全场 ...
- java IO 实例分析
初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂.而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见 ...
- MySql中的事务嵌套
1.Mysql中的事务必须是InnoDB.Berkeley DB引擎,myisam不支持. 2.Mysql是不支持嵌套事务的,开启了一个事务的情况下,再开启一个事务,会隐式的提交上一个事务. 3.My ...
- javascript中的事件问题
事件的类型: (1)鼠标事件: click用户点击鼠标时发生,当用户的焦点在按钮上,并按了回车键,同样会触发这个事件 dbclick 用户双击鼠标左键时发生 mouseover 鼠标移出某个 ...
- 快速入门cocos2d-x jsbinding
如果你是一个cocos2d-x的老手,那你可以忽略这篇博文,如果你是一个接触过javascript,想通过HTML5做游戏的,但是苦于不知道如何下手,那么这篇博文可能会帮到你. cocos2dx-js ...
- mysql命令行执行外部文件
mysql命令行执行外部文件
- Android Framework------之ActivityManagerService与Activity之间的通信
研究Android系统的童鞋,想必都已经了解一个Activity的启动过程了.而且在网上,关于Activity的启动的文章非常多,很容易就能找到的.这篇文章的重点放在ActivityManagerSe ...