USB上必须将数据组织成 事务 才能够进行传输。事务常有两个或三个包。令牌包用于启动一个事务,由主机发送;数据包传送数据,方向由令牌包确定;握手包常是数据接收方发送的,用于表示接收数据的状态。USB协议规定了4种传输类型:批量传输,同步传输,中断传输,控制传输。

① 批量传输
这是总线状态图,从上向下看表示了依次出现在总线上的数据。
②中断传输
中断传输是一种保证查询频率的传输。中断端点在其端点描述符中应该明确其中断查询间隔,主机在读取此数据后,应保证在小于该查询间隔的时间里进行一次传输。
③同步传输
用于数据量大,实时性要求较高的场合,但对数据的正确性要求有所降低。从其传输方式也可以看出,数据传出后不要求有应答包,不保证数据的正确性。


 ④控制传输

控制传输包括三个阶段:建立阶段、数据阶段(可选)、状态阶段。
下图是建立阶段的流程。建立阶段是一个输出事务,但是与上文中的传输不同。设备端要么返回ACK保证接收正确,要么不返回,表示接收错误。
数据阶段和状态阶段都与批量传输是一样的。数据阶段是可以选择的,有些控制传输没有数据阶段。下图是典型的控制传输的实例。

注意:

①一个端点只能工作在一个传输模式下,如控制端点只工作在控制传输下;批量端点只工作在批量传输下。
②端点0是每个USB设备必须具备的控制端点。
③USB设备的端点描述符中定义了该端点可以传输的最大包长度,传输过程不能违背这一定义。

28.USB的传输类型的更多相关文章

  1. 嵌入式Linux驱动学习之路(二十)USB设备驱动

    USB在接入系统的时候,以0的设备ID和主机通信,然后由主机为其分配新的ID. 在主机端,D+和D-都是下拉接地的.而设备端的D-接上拉时,表明此设备为高速设备:12M/s. D+接上拉时则是全速设备 ...

  2. linux驱动之USB驱动程序

    1. USB是主从结构的 所有的USB传输,都是从USB主机这方发起:USB设备没有"主动"通知USB主机的能力. 例子:USB鼠标滑动一下立刻产生数据,但是它没有能力通知PC机来 ...

  3. USB鼠标按键驱动

    现象:把USB设备接到PC 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能 ...

  4. 【转】USB协议架构及驱动架构

    1. USB协议 1.1 USB主机系统 在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器.USB主机控制器包含硬件.软件和固件一部分. 1.2 USB设备系统 ...

  5. 驱动07.USB驱动程序

    1 了解USB识别的过程 eg:在Windows系统下的一个现象:把手机的USB设备接到PC 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱 ...

  6. liunx驱动----USB驱动

    现象:把usb设备接入电脑 1.Windows发现设备 2.跳出一个对话框提示安装驱动程序 问1:既然没有驱动程序,为什么了够知道是什么驱动了?? 答1:Windows里面已经有了usb总线驱动程序, ...

  7. Linux驱动之USB总线驱动程序框架简析

    通用串行总线(USB)是主机和外围设备之间的一种连接.USB总线规范有1.1版和2.0版,当然现在已经有了3.0版本.USB1.1支持两种传输速度:低速为1.5Mbps,高速为12Mbps.USB2. ...

  8. ROS-RouterOS hAP ac2+usb 4G上网卡+小米新推的无线上网卡是绝配

    月租9元.每日缴1元.上网不限量 Model Tested RouterOS version Format Passthrough support TechnologiesZTE MF823 v6.8 ...

  9. USB设备驱动程序学习笔记(一)

    现象:把USB设备接到PC1. 右下角弹出"发现android phone"2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能知道 ...

随机推荐

  1. Android IOS WebRTC 音视频开发总结(三一)-- 自定义传输实现一对多

    本文主要介绍基于Webrtc的多人视频会议的简单实现,文章来自博客园RTC.Blacker,支持原创,转载请说明出处. 前面提到基于开源框架的视频会议都存在诸多问题,所以我们通过重写WEBRTC传输模 ...

  2. 兼容firefox的iframe高度自适应代码

    网上关于iframe高度自适应的代码有很多,但比较杂乱,本文根据实用性整理了以下代码: JavaScript部分: 折叠JavaScript Code复制内容到剪贴板 <script type= ...

  3. VBA删除表格最后一行

    Sub 删除最后一行() If MsgBox("要为所有表格添加列吗?", vbYesNo + vbQuestion) = vbYes Then To ActiveDocument ...

  4. Windows2003 Apache 关闭安全 开启错误输入到屏幕上

    早上帮客户迁移网站的时候发现,打开网站是空白,什么都没报错,环境也是自己配置的,在客户的网站主目录写个测试页也可以打开,环境是APache+PHP5.2的新环境,当时就有点郁闷了,去Apache的er ...

  5. ADO.NET中ExcuteReader读取存储过程获取的多行数据

    DLL层调用: List<BookInfo> tupleList = new List<BookInfo>(); using (IDataReader reader = thi ...

  6. PHP CURL访问HTTPS使用详解

    三年前写过一篇<一个简陋的支持HTTPS的PHP CURL封装函数>,当时只是知其然不知其所以然,今天来详细梳理一下. https服务器post数据 代码如下 复制代码 function ...

  7. mysql 导入导出数据库、数据表

    Linux下 均在控制台下操作. 导入数据库: 前提:数据库和数据表要存在(已经被创建) (1)将数据表 test_user.sql 导入到test 数据库的test_user 表中 [root@te ...

  8. 安装Google框架服务并突破Google Play下载限制

    请注明出处:http://www.cnblogs.com/killerlegend/p/3546235.html Written By KillerLegend 关于谷歌服务框架以及安装 安装前请先获 ...

  9. win7里开始菜单属性里的隐私项无法选择解决方法

    具体问题如下图,其中的隐私项目呈现灰色无法选择: 解决方法如下: win+R 输入gpedit.msc 回车,[用户配置][管理模板][开始菜单和任务栏],在右侧找到[关闭用户跟踪],双击进入设置界面 ...

  10. 最新中国IP段获取办法与转成ROS导入格式

    获取中国IP段办法     1.到APNIC获取亚太最新IP分配 http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest     2 ...