首页 > 其他分享 >USB协议详解第14讲(USB传输-同步传输及事务组成)

USB协议详解第14讲(USB传输-同步传输及事务组成)

时间:2024-10-19 19:42:41浏览次数:1  
标签:事务 同步 USB 传输 OUT 数据 14

1.前言

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

同步传输用在数据量大、对实时性要求高的场合,例如音频设备、视频设备等,这些设备对数据延迟很敏感,对于音频和视频设备来说,数据的 100% 正确要求不高,少量的数据错误还是能够容忍的,主要的是保证不能停顿;所以等时传输是不保证数据100% 正确的。当数据错误时,并不进行重传操作。因此等时传输也就没有应答包。数据是否正确,可以由数据包的 CRC 校验来确认,至于出错的数据如何处理,由软件决定。

同步传输主要包括同步读传输同步写传输两种,传输事务如下图。

2.同步传输的结构

同步传输的事务比较简单,有只有1个阶段,数据阶段。

主机如果是同步读数据请求,则数据阶段为一个或者多个IN事务(同步传输事务,事务到后面讲解)

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

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

3.抓包分析

3.1同步读传输抓包分析

因为是设备给主机传输数据,所以是数据阶段是IN事务。

3.2同步写传输抓包分析

因为是主机给设备传输数据,所以是数据阶段是OUT事务,和上图方式一样,只是IN变为了OUT,这里不再贴图。

4.同步传输各速率下支持最大包长度

同步传输不支持在低速下,高速最大包长度为1024字节,全速下为1023字节。

5.同步传输事务组成

标签:事务,同步,USB,传输,OUT,数据,14
From: https://www.cnblogs.com/linhaostudy/p/18486441

相关文章

  • 14.归一化——关键的数据预处理方法
    引言在人工智能(AI)和机器学习中,归一化(Normalization)是一个重要的预处理步骤。它的主要目的是将数据转换到某个特定的范围。归一化可以帮助模型更高效地学习和提高预测的准确性。归一化在数据预处理方法中占据核心地位,是确保数据质量和模型性能的关键步骤。通过阅读本篇博客,你......
  • NOIP 计划 R14
    洛谷NOIP计划142024年10月17日Status:CLOSEDAuthor:云浅知处\(\def\EZ{\textcolor{#51af44}{\text{EZ}}}\EZ\)表示简单,10分钟内就能想到。\(\def\HD{\textcolor{#3173b3}{\text{HD}}}\HD\)表示中等,能独立想出\(\def\IN{\textcolor{#be2d23}{\text{IN}}}\IN\)......
  • P3571 [POI2014] SUP-Supercomputer 题解
    P3571「POI2014」SUP-Supercomputer题解一道“较”水的黑题(可一开始苦思冥想还是不会)。本蒟蒻的第一篇黑题题解,求赞。题意简化给定一棵$n$个节点、根节点为$1$的有根树。$q$次询问中每次给定一个$k$,输出需要最少用几次操作次数删除完整棵树。每次操作可以选择删......
  • udp协议进行传输
    一、单个用户的连接1.发送端importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.InetAddress;/*1:建立udp的socket服务2:将要发送的数据封装成数据包3:通过udp的socket服务,将数据包发送出4:关闭资源*/publicclassS......
  • tcp协议进行传输
    一、单个用户进行连接1.客户端importjava.io.InputStream;importjava.io.OutputStream;importjava.net.Socket;importjava.util.Scanner;/*1:建立客户端的Socket服务,并明确要连接的服务器。2:如果连接建立成功,就表明,已经建立了数据传输的通道.就可以在该......
  • Android14———Launcher去除抽屉模式的实现,将所有app显示在桌面上
    1、首先需要增加一个标志flag,通过true或者false进行是否去除抽屉模式的表达。FeatureFlags.javapublicstaticfinalbooleanREMOVE_DRAWER=true;2、将allApp显示到桌面Workspace上LoaderTask.java先导包:importandroid.util.Pair;importjava.util.function.......
  • 2024-2025-1 20241407《计算机基础与程序设计》第四周学习总结
    这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第四周作业这个作业的目标学习门电路,组合电路,逻辑电路,冯诺依曼结构,CPU,内存,IO管理,嵌入式系统,并行结构,物理安全作业正文https://www.cnblogs.com/wangyih......
  • XC6SLX25T-2CSG324C,XC6SLX45T-2FGG484I,XC7K70T-3FBG484E4914, XILINX/赛灵思 嵌入式
    Xilinx是一家总部位于美国的半导体公司,成立于1984年。他们的主要产品是可编程逻辑器件(FPGA和SoC)和相关的开发工具。Xilinx的FPGA产品被广泛应用于各种领域,包括通信、数据中心、工业控制、汽车、物联网等。他们的产品具有灵活性高、性能强大和可定制性强等特点。2018年,Xilinx宣......
  • flume传输数据报错“Space for commit to queue couldn‘t be acquired. Sinks are li
        最近在写一个数据量比较大的项目时候,需要使用flume将kafka中的数据传输到HDFS上进行存储,方便后续的数仓搭建,但是flume在传输数据中却报错如下日志org.apache.flume.ChannelFullException:Spaceforcommittoqueuecouldn'tbeacquired.Sinksarelikelynot......
  • P1435 [IOI2000] 回文字串
    尝试了几次发现添加的字符数等于n-正着的和反着的最长公共子序列的长度,即为答案。正序与倒序“公共”的部分就是我们回文的部分,如果把正序与倒序公共的部分减去你就会惊奇的发现剩余的字符就是你所要添加的字符,也就是所求的正解。点击查看代码#include<iostream>#include<st......