在上一篇文章全速USB波形数据分析(一)介绍了全速USB的数据包(Packet)的组成,数据的类型等基本知识。这篇文章介绍USB的几种传输方式

事务(Transaction)

USB协议定义了三种不同的事务(Transation),即SETUP事务, IN事务和OUT事务

SETUP 事务

一次成功的SETUP事务包含3个连续的数据包,分别是令牌包(TOKEN PACKET),数据信息包(DATA PACKET),握手包(HANDSHAKE PACKET)

用示波器实际获取的D+/D-信号如下,

IN 事务

一次成功的SETUP事务包含2个或者3个连续的数据包,分别是令牌包(TOKEN PACKET),数据信息包(DATA PACKET),握手包(HANDSHAKE PACKET)。对于同步传输(Isochronous)模式,省略了握手包以保证数据实时传输

用示波器实际获取的D+,D-信号如下,

OUT 事务

一次成功的OUT事务包含2个或者3个连续的数据包,分别是令牌包(TOKEN PACKET),数据信息包(DATA PACKET),握手包(HANDSHAKE PACKET)。对于同步传输(Isochronous)模式,省略了握手包以保证数据实时传输

OUT事务在示波器中的波形如下,

USB数据传输(Transfer)

USB数据传输过程包含1个到多个事务传输,一个事务传输包含了2个到3个的数据包传输,它们的层次结构如下图所示,

USB协议定义了四种数据传输类型,分别是控制传输(Control Transfer), 中断传输(Interrupt Transfer),同步传输(Isochronous),批量传输(Bulk Transfer)

控制传输(Control Transfer)

用于对设备配置和发送命令,使用了完善的错误检查机制。控制传输强制使用端口0(Endpoint 0)。控制传输包含2个到3个阶段,SETUP阶段,DATA阶段(可选),STATUS阶段。

没有数据的控制传输(Control No Data Transfer)

写数据控制传输(Control Write Transfer)

读控制传输(Control Read Transfer)

批量传输(Bulk Transfer)

不定周期的大数据量的传输方式,对于全速USB,数据包的数据大小可以是8,16,32,64字节;对于高速USB数据包的数据大小为512字节

中断传输(Interrupt Transfer)

中断传输类似于批量传输,对于全速USB,数据包的数据大小可以由1字节到64字节;对于高速USB,数据包的数据大小可以由1字节到1024字节。中断端点有一个相关联的轮询间隔,确保主机将定期轮询它们(接收IN令牌)。

同步传输(Isochronous Transfer)

同步传输用于流数据,如音频和视频。对于全速USB,数据包数据可以多达1023个字节;对于高速USB则可多达1024个字节。同步传输没有握手数据包

-----------------------------------------------------------------------------------END

[参考资料]

[USB波形分析] 全速USB波形数据分析(二)的更多相关文章

  1. [USB波形分析] 全速USB波形数据分析(一)

    在之前的文章一次CAN波形分析之旅里,根据示波器采集的波形数据,详细地分析了CAN通信.今天来分析USB数据,还是同样的流程,但是这次使用matplotlib来协助分析. USB基本波形 USB通过一 ...

  2. [USB波形分析] 全速USB波形数据分析(三)

    前面的两篇文章介绍和分析了USB的一些基本知识,结合前面的介绍,今天用实例介绍USB的枚举过程. 1 | 概况 硬件基于EK-TMC123GXL开发板,软件是TI提供的USB批量传输的简单例子,在PC ...

  3. 快速上手CH340N电路设计(CH340N USB转串口模块 USB Type-C接口 CH340系列芯片讲解)

    一.上模块          二.功能分析 l  芯片:CH340N l  输入接口:USB.TYPE-C l  输出接口:TTL(5V\3.3V\GND\TX\RX) l  指示灯:电源.TX.RX ...

  4. 【转】Android实战技巧之四十九:Usb通信之USB Host

    零 USB背景知识 USB是一种数据通信方式,也是一种数据总线,而且是最复杂的总线之一. 硬件上,它是用插头连接.一边是公头(plug),一边是母头(receptacle).例如,PC上的插座就是母头 ...

  5. 2.7 usb摄像头之usb摄像头描述符打印

    学习目标:参考lsusb源码,打印USB摄像头的设备描述符.配置描述符.接口联合描述符.端点描述符: 一.lsusb命令和源码 使用命令lsusb可以看看设备的id,并执行 # lsusb -v -d ...

  6. USB HOST与 USB OTG的区别及工作原理

    在SmartQ 7上面,同时存在USB HOST与 USB OTG两个接口,我想问一下,这两个接口有什么区别么?我怎么认为HOST属于是多余呢? 麻烦高手解答,感激不尽!!! 转自USB HOST与 ...

  7. usb host和usb device

    S3C2440的数据手册将USB功能分为两章--usb host和usb device.具体什么意思呢? usb host: 微处理器作为usb主设备,可以挂接U盘之类的从属设备. usb devic ...

  8. USB C和USB 3.1傻傻分不清?这篇文章可以帮你

    USB Type-C接口以及USB 3.1标准的到来,理应为消费者提供更多便利.然而就目前来看,似乎这些新标准非但没有为消费者提供了更好的使用体验,反而带来了诸多隐患.Google的工程师Benson ...

  9. 读取USB HDD(USB移动硬盘信息)序列号的代码

    读取USB HDD(USB移动硬盘)序列号的代码,型号及分位. 使用Visual Studio 2010编译成功. 代码使用了CrystalDiskInfo中的代码smartata.c中相关代码: 例 ...

随机推荐

  1. Landsat 现有 Analysis Ready Data (ARD) 数据介绍

    Global Web-Enabled Landsat Data (GWELD)[1] NASA 原先的 Web-Enabled Landsat Data Conterminous U.S. Seaso ...

  2. ss命令用来显示处于活动状态的套接字信息。

    ss命令用来显示处于活动状态的套接字信息.ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比net ...

  3. Tornado 之 WebSocket

    7.3 WebSocket WebSocket是HTML5规范中新提出的客户端-服务器通讯协议,协议本身使用新的ws://URL格式. WebSocket 是独立的.创建在 TCP 上的协议,和 HT ...

  4. 如何把Electron做成一个Runtime,让多个应用共享同一个Electron

    这个问题涉及到很多知识,而且要想把这个Runtime做好很绕. 下面我就说一下我的思路:(以下内容以Windows平台为基础,Mac平台和Linux平台还得去调查一下,才能确定是否可行) 首先,我们先 ...

  5. Error: Not found: 'package:json_annotation/json_annotation.dart'

    问题原因 json_annotation版本不对 修改json_annotation版本号 当前可用版本号 json_annotation: ^2.2.0

  6. nim_duilib(14)之xml配置半透明窗体控件不透明

    before starting note 截至目前,我只能用xml写一些简单的布局和设置控件属性,循序渐进吧. 正在学习nim_duilib的xml的一些属性. xml配置半透明 GTAV中就有很多控 ...

  7. 【LeetCode】863. All Nodes Distance K in Binary Tree 解题报告(Python)

    [LeetCode]863. All Nodes Distance K in Binary Tree 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http ...

  8. @Transactional 注解实现

    @Transactional注解简介 @Transactional是spring中声明式事务管理的注解配置方式,相信这个注解的作用大家都很清楚.@Transactional注解可以帮助我们把事务开启. ...

  9. matplotlib 进阶之Artist tutorial(如何操作Atrist和定制)

    目录 基本 plt.figure() fig.add_axes() ax.lines set_xlabel 一个完整的例子 定制你的对象 obj.set(alpha=0.5, zorder=2), o ...

  10. DP转LVDS方案 瑞奇达CS5211替代PS8625方案 CS5211芯片

    PS8625将作为DP或eDP接收器设备出现在视频源中,并将作为LVDS显示面板的LVDS源设备.该设备是一个完全集成的解决方案,不需要外部CPU.内存.时钟基准或电压调节器.PS8625可配置为从显 ...