精华内容
下载资源
问答
  • 2018-09-04 09:08:49

    一个USB的控制传输如图所示:
    这里写图片描述
    一个usb的控制传输分为2个或3个阶段,setup stage,data stage(视情况而定),status stage。
    一:首先是setup stage,usb host总是先发起第一个packet:
    1.host先发送一个setup包;
    2.然后host发送一个data0的 setup data(比如获取设备描述符);
    3.然后usb 设备回应ack表示结束一次交互(当是获取设备描述符时,usb设备该准备好数据)。
    二:然后是data stage,比如是获取设备描述符,主机是请求数据输入
    1。host发送一个IN包,请求数据输入;
    2. usb设备发起一个data1 为起始的数据包回给主机(把设备描述符发送给主机);
    3. host回应ack结束一次交互,如果数据未传完,继续data stage。
    三:最后是status stage
    1. host发起一个IN包
    2. usb设备发送一个0长度的data1数据包
    3. 最后主机回应ack结束一个交互。
    这样一次控制传输就完成了, 这是获取usb鼠标设备描述符的一次控制传输。

    更多相关内容
  • 详解USB控制传输

    2020-12-08 17:30:21
    USB 控制传输一、USB控制传输1 传输过程1)建立过程2)数据过程3)状态过程二、示例1)建立过程2)数据过程3)状态过程 usb的枚举过程是通过控制端点0使用控制传输方式来实现对usb 设备信息的获取和配置的,相对于...


    usb的枚举过程是通过控制端点0使用控制传输方式来实现对usb 设备信息的获取和配置的,相对于其他传输方式,控制传输过程相对麻烦些,这里进行下说明。

    一、USB控制传输

    1 传输过程

    usb 控制传输分为三个过程,分别为建立过程、可选的数据过程、和状态过程。

    1)建立过程

    建立过程细分为3步,分别是 host 发送sendup token ,host发送8字节的控制指令的数据包,device 返回ack应答包。其中数据包的类型必须为DATA0。

    2)数据过程

    数据过程是可选的,一个控制传输可能没有数据过程。如果有的话,那么其数据过程可以包含一笔或者多笔的数据。不过需要注意的是,如果是多笔数据,这些数据的传输方向是同向的。
    比如数据过程是多笔输出数据,其多笔数据的过程为:
    (host)OUT包-> (host)DATA1包-> (device)ACK ->(host)OUT包-> (host)DATA0包-> (device)ACK ->(host)OUT包-> (host)DATA1包-> (device)ACK …
    其数据包均为OUT包。
    比如数据过程是多笔输入数据,其多笔数据的过程为:
    (host)IN包-> (device)DATA1包-> (host)ACK ->(host)IN包-> (device)DATA0包-> (host)ACK ->(host)IN包-> (device)DATA1包-> (host)ACK…
    其数据包均为OUT包。

    3)状态过程

    状态过程使用的数据包类型必须为DATA1.
    如果有数据过程的话,那么状态过程的传输方向与数据过程是相反的方向,即数据过程如果是输出包,那么状态过程就是输入包,反之,则为输出包。
    如果没有数据过程,那么状态过程为输入包。

    二、示例

    下面展示使用逻辑分析仪抓到的full speed下一个控制传输过程:

    1)建立过程

    建立过程中的数据包总是DATA0
    在这里插入图片描述

    2)数据过程

    在这里插入图片描述

    3)状态过程

    状态过程方向与数据过程方向相反,且数据类型为DATA1类型
    在这里插入图片描述

    展开全文
  • LV实现USB控制传输

    2014-04-22 11:48:47
    使用 Labview 实现USB控制传输 有实用价值
  • 基于控制传输USB系统设计方法、电子技术,开发板制作交流
  • USB 传输方式(控制

    2021-11-04 14:23:49
    这里写自定义目录标题USB 控制传输方式控制传输的特点控制传输的过程建立过程数据过程(可选)状态过程建立过程控制传输示例图USB控制读USB控制写USB无数据控制写USB控制传输抓包分析读数据-USB控制传输抓包分析写...


    控制传输是一种特殊的传输方式。当USB设备初次连接主机时,用控制传输传送控制命令等对设备进行配置。同时设备接入主机时,需要通过控制传输去获取USB设备的描述符以及对设备进行识别,在设备的枚举过程中都是使用控制传输进行数据交换。

    控制传输的特点

    控制传输相对于其它三个传输方式比较复杂,且具有以下特点:

    • 无论低速设备还是高速设备都可以使用控制通道。
    • 高速模式的最大包长固定为64个字节;
    • 全速模式可在8、16、32、64字节中选择;
    • 低速模式的最大包长固定为8个字节。
    • 超高速USB3.0控制端点有固定的最大控制传输的数据有效载荷为 512 字节,最大突发大小为 1.
    • 控制传输的应用场合:主要应用于设备的枚举过程(如读取设备描述符,设置地址,设置配置等)和对数据准确性要求较高的场合。

    控制传输最大包长度
    在这里插入图片描述

    控制传输的过程

    控制传输分为三个过程:

    • 建立过程
    • 数据过程(可选)
    • 状态过程。
      在这里插入图片描述
      在这里插入图片描述

    建立过程

    1. 主机发送令牌包:SETUP
    2. 主机发送数据包:DATA0
    3. 设备返回握手包:ACK或不应答,;注意:设备不能返回NAK或STALL,即设备必须接收建立事务的数据。
      建立过程是建立事务,建立事务是通过SETUP令牌包,其次是DATA0数据包,最后是握手包,设备只能使用ACK来应签(或者由于出错不应答),而不能使用NAK或者STALL来应答,即设备必须接收建立事务的数据。
      在这里插入图片描述

    数据过程(可选)

    一个数据过程可以不包括或包含多个数据事务,但所有数据事务必须是同一方向的,即在控制读传输中,数据过程中的数据事务都必须是输入的,在控制写传输过程中,数据过程中的事务都必须是输出。若数据方向发生了改变,则认为进入状态过程。数据过程的第一个数据包必须为DATA1,然后每次正确传输一个数据包后就在DATA0和DATA1之间交替。

    状态过程

    状态过程只使用DATA1包,并且传输方向与数据过程相反,即控制写输出在状态过程中使用一个批量输入事务,控制读输入在状态过程中使用一个批量输出事务。

    建立过程

    状态过程是要返回数据传输的成功与否,具体也需要看控制传输的类型。需要注意的是,状态信息的数据传输方向与数据阶段方向相反。其实我们来思考下,主机给设备把一推数据发送完毕了(OUT事务),主机肯定要请求一个IN事务,让设备把自己的接收情况发给主机,你设备要给我说你在本轮接收数据有没有问题,同样的,设备把数据发送给主机(IN事务),主机肯定要发起一个OUT事务请求,告诉设备主机的接收情况,告诉设备本轮接收数据有没有问题。

    控制传输示例图

    USB控制读

    在控制读传输时,该阶段则为OUT事务,其中的数据包固定为DATA1数据包。返回数据成功与否以有以下情况:
    1)读数据成功 主机发送OUT令牌包(ping令牌包,高速情况下),主机发送0长度数据包,设备ACK。
    2)数据传输出错 主机发送OUT令牌包(ping令牌包,高速情况下),主机发送0长度数据包,设备STALL。
    3)设备忙(比如正在写数据) 主机发送OUT令牌包(ping令牌包,高速情况下),主机发送0长度数据包,设备NAK
    在这里插入图片描述

    USB控制写

    在控制读传输时,该阶段则为IN事务,其中的数据包固定为DATA1数据包。返回数据成功与否以有以下情况:
    1)写数据成功,主机发送IN令牌包,设备发送0长度数据包,主机回复ACK。
    2)数据传输出错, 主机发送IN令牌包,设备回复STALL。
    3)设备忙(比如正在写数据),主机发送IN令牌包,设备回复NAK。
    在这里插入图片描述

    USB无数据控制写

    该阶段则为IN事务,其规则与控制写传输相似。
    在这里插入图片描述

    USB控制传输抓包分析

    读数据-USB控制传输抓包分析

    控制读传输在初始设置阶段会发起一个SETUP事务,从这个SETUP事务我们可以知道是设备给主机传输数据,并且数据长度是255,具体的协议后期会详解,大家在这里把先控制传输理解到位,接着在数据阶段完成数据交换(因为是设备给主机传输数据,所以是数据阶段是IN事务),最后在状态信息阶段主机给设备发送一个OUT事务表明自己接收是否异常。
    在这里插入图片描述

    写数据-USB控制传输抓包分析

    控制写传输在初始设置阶段同样会发起一个SETUP事务,从这个SETUP事务我们可以知道是主机向设备传输数据,并且数据长度是12,接着在数据阶段完成数据交换(因为是主机给设备传输数据,所以数据阶段是OUT事务),最后在状态信息阶段主机发起一个IN事务,请求设备回答接收情况。
    在这里插入图片描述

    无数据-USB控制传输抓包分析

    无数据控制传输在初始设置阶段同样会发起一个SETUP事务,从这个SETUP事务看到数据长度是0,因此无数据阶段,最后在状态信息阶段主机发起一个IN事务,请求设备回答接收情况。
    在这里插入图片描述

    展开全文
  • labview USB 控制传输 调试助手 非常好用
  • 目录 1.前言 2.控制传输的结构 2.1初始设置阶段 2.2数据阶段(可选): ...传输又分为控制传输、同步传输、批量传输、中断传输四种,今天我们主要讲解控制传输控制传输是一种特殊的传输方式,且

    目录

    1.前言

    2.控制传输的结构

    2.1初始设置阶段

    2.2数据阶段(可选):

    2.3状态信息阶段(核心)

    3.抓包分析

    3.1控制读传输抓包分析

    3.2写控制传输抓包分析

    3.3无数据的控制传输抓包分析

    4.控制传输各速率下支持最大包长度

    5.控制传输事务组成如下

    6.传输、事务、包组成学习架构图


    声明:前面和后续提到的OUT和IN都是对主机而言的。

    1.前言

    前面讲过USB一个传输由多个事务组成,一个事务由多个包实体组成。传输又分为控制传输、同步传输、批量传输、中断传输四种,今天我们主要讲解控制传输三个阶段及事务组成

    控制传输是一种特殊的传输方式,且传输过程相对复杂一些,但十分重要。当USB设备初次连接主机时,用控制传输传送控制命令等对设备进行配置,同时设备接入主机时,需要通过控制传输去获取USB设备的描述符以及对设备进行识别,在设备的枚举过程中都是使用控制传输进行数据交换。

    控制传输主要包括控制读传输控制写传输无数据控制传输三种,如下图。

    2.控制传输的结构

    一次完整控制传输可以分为三个阶段:初始设置阶段--->数据阶段(可选)--->状态信息阶段

    2.1初始设置阶段

    初始设置阶段用于固定建立SETUP事务,标志一次控制传输的开始。

    2.2数据阶段(可选):

    初始设置阶段中命令如果要求读/写数据,数据阶段就会在这一阶段来具体交换数据(如果没有数据交换要求则可省去数据阶段步骤,具体有SETUP事务标准请求命令决定,如下)。

    主机如果是控制读数据请求,则数据阶段为一个或者多个IN事务;

    主机如果是控制写数据请求,则数据阶段为一个或者多个OUT事务;

    主机如果是无数据的控制请求,则没有数据阶段。
        
    数据阶段是由一到多个IN/OUT事务组成。这是由于有时候存在一个事务传不完的数据,所以可能存在多个连续IN/OUT事务的情况,在同一次数据传输阶段中事务类型(读写)必定相同。

    2.3状态信息阶段(核心)

    状态信息阶段是要返回数据传输的成功与否,具体也需要看控制传输的类型。需要注意的是,状态信息的数据传输方向与数据阶段方向相反。其实我们来思考下,主机给设备把一推数据发送完毕了(OUT事务),主机肯定要请求一个IN事务,让设备把自己的接收情况发给主机,你设备要给我说你在本轮接收数据有没有问题,同样的,设备把数据发送给主机(IN事务),主机肯定要发起一个OUT事务请求,告诉设备主机的接收情况,告诉设备本轮接收数据有没有问题。

    3.抓包分析

    3.1控制读传输抓包分析

    控制读传输在初始设置阶段会发起一个SETUP事务,从这个SETUP事务我们可以知道是设备给主机传输数据,并且数据长度是255,具体的协议后期会详解,大家在这里把先控制传输理解到位,接着在数据阶段完成数据交换(因为是设备给主机传输数据,所以是数据阶段是IN事务),最后在状态信息阶段主机给设备发送一个OUT事务表明自己接收是否异常。

    3.2写控制传输抓包分析

    控制写传输在初始设置阶段同样会发起一个SETUP事务,从这个SETUP事务我们可以知道是主机向设备传输数据,并且数据长度是12,接着在数据阶段完成数据交换(因为是主机给设备传输数据,所以数据阶段是OUT事务),最后在状态信息阶段主机发起一个IN事务,请求设备回答接收情况。

    3.3无数据的控制传输抓包分析

    无数据控制传输在初始设置阶段同样会发起一个SETUP事务,从这个SETUP事务看到数据长度是0,因此无数据阶段,最后在状态信息阶段主机发起一个IN事务,请求设备回答接收情况。

    4.控制传输各速率下支持最大包长度

    5.控制传输事务组成如下

    6.传输、事务、包组成学习架构图

    本架构图后期再学习中会一步一步更新,每一节之后也会逐步完善并更新,最后会完整的展示出来传输、事务、包的结构,让大家在学习过程中对协议框架不混乱。


    1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。

    2.未经原作者允许不得转载本文内容,否则将视为侵权;

    3.转载或者引用本文内容请注明来源及原作者;

    4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。

    下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。


    展开全文
  • USB传输之控制传输

    万次阅读 多人点赞 2018-06-23 11:40:17
    /*********************************************************************** USB入门系列: 1、USB行业标准介绍 ...4、USB传输之控制传输 ......(待补充) *************************************************...
  • 如何发送 USB 控制传输

    千次阅读 2014-08-08 16:16:59
    如何发送 USB 控制传输 本主题介绍了控制传输结构,以及客户端驱动程序应如何将控制请求发送到设备。 本主题内容: 关于默认终结点 控制传输布局 支持的驱动程序模型 相关技术 ...
  • USB的协议对 USB 的数据传输类型进行了详细的分类,按照传输数据量的大小、传输速率的高低以及对时间的要求,可以分为 4 种传输类型:块传输、中断传输、同步传输和控制传输USB 功能设备和USB 主机程序之间便是...
  • 1.控制传输包结构 2.设置阶段包详解 2.1 SETUP令牌包 2.2 DATA0 数据包 2.2.1bmRequestType(向谁请求) 2.2.2bmRequest(什么请求) 2.2.4wIndex 2.2.5wLength域 2.3ACK数据包 3.可选的数据阶段包详解 3.1 ...
  • USB控制传输详解.pdf

    2012-05-23 16:26:01
    USB协议的控制传输详解,当一个USB设备插入到接口上时,主机首先进行插入检测,检测完毕之后设备采用0号端点,以缺省地址与主机进行控制传输。进行传输的这条通道叫做控制通道...
  • usb2.0端点控制传输

    2016-06-15 15:57:42
    端点0控制传输详解
  • 传输又分为控制传输、同步传输、批量传输、中断传输四种,上一节我们讲了控制传输,今天我们主要讲解同步传输。 同步传输用在数据量大、对实时性要求高的场合,例如音频设备、视频设备等,这些设备对数据延迟很敏感...
  • 3.USB控制传输详解
  • USB传输类型简介

    2020-11-13 05:42:23
    在此,针对不同的外围设备类型与应用,定义了4种传输类型,分别是控制传输(control transfer)、中断传输(interrupt transfer)、批量传输(bulk transfer)以及等时传输(isochronous transfer)。其中,要特别...
  • 内容描述:Intel USB 3.0驱动(Win7_Win10) 官方版 适合操作系统:Win7_Win10 功能:有效激活提升USB 3.0传输速度
  • 电力传输 (PD) 控制器,用于透过固定与便携设备以及脱机式变压器中的 USB 实现电力传输,是一项高度整合解决方案。AP43770 非常适合实现 USB PD 的各种产品应用,包括 AC 变压器、电源集线器、电池组与 USB PD 转换...
  •  赛普拉斯半导体公司今日宣布,其业界首个具备USB电力传输功能的USB Type-C Hub控制器样品现已出样,并将于2016台北电脑展上进行展示。USB 开发者论坛(USB-IF)制定的USB Type-C标准和PD规范因能实现纤薄的工业...
  • 文章目录USB简介USB系统架构USB系统拓扑结构USB主控制器USB HUBUSB设备USB设备逻辑结构USB描述符设备描述符配置描述符接口描述符端点描述符USB数据传输控制传输中断传输等时传输批量传输USB设备枚举USB设备枚举八步 ...
  •  USB控制传输分为以下四种: 批量传输:批量传输一般用于批量的和非实时的数据传输,通俗的来说就是用于数据量大但对时间要求又不高的场合的一种传输方式,类似用于USB打印机和USB扫描仪等等。 中断传输:中断传输...
  • USB传输方式

    2020-11-13 02:21:56
    USB总线属一种轮询方式的总线,由主端口预定的标准协议使各从设各分享USB带宽,当其他设备和主机在运行时,总线允许添加、设置、使用及拆除外设,主控制端口初始化所有的数据传输。  每一总线执行动作最多传送三个...
  • USB RAW控制传输.vi

    2021-09-29 10:02:04
    Labview USB RAW传输
  • USB协议引用控制传输有两方面的原因,一方面,在USB系统中,设备在正常工作之前必须先进行配置,USB主机必须为设备分配总线上唯一的设备地址,并完成读取设备的各种描述符,根据描述符的需求为设备的端点配置管道,...
  • 控制传输

    2020-11-13 04:26:41
    控制传输USB传输中最重要的传输,只有正确地执行完控制传输,才能进一步地执行其他的传输类型。这种传输是用来提供介于主机与设各之间的配置、命令或状态的通信协议。控制传输能够使能主机去读取相关设各的信息,...
  • USB控制传输详解

    2014-07-19 10:41:31
    USB控制传输详解,usb枚举过程详解,
  • 本系统通过FPGA控制USB2.O控制器CY7C68013达到高速数据传输的目的,具有硬件结构简单、软件扩展性强、传输数据准确性高等特点,目前下传和上传速度分别为42.1MB/s和38.4 MB/s,完全可以应用于高速数据采集、...
  • 由于USB最初在设计时,即是为了能够针对具备如传输率、响应时间以及错误帧错等特性的... 控制传输USB传输中最重要的传输类型,只有正确执行完控制传输,才能进一步执行其他的传输类型。这种传输是用来提供给介于主

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,079
精华内容 20,031
关键字:

usb控制传输