USB Ping 事务

news2024/12/12 18:38:04

文章目录

    • USB Ping 事务
    • Ping 事务处理机制
    • Ping 示例
    • 完整抓包

USB Ping 事务

在低速和全速模式下,USB 主机使用控制传输或者批量传输向 USB 设备发送数据时,如果 USB 设备因某些原因(如内存空间不足)无法接收数据,USB 设备会向 USB 主机返回 NAK 包。如果 USB 设备一直无法接收 USB 主机发送过来的数据,那么 USB 主机会一直向 USB 设备发送 OUT 令牌包和数据包,USB 设备会一直回 NAK 包。

这样,USB 总线上会一直存在 OUT 令牌包,数据包和 NAK 包,总线利用率会很低。在低速或者全速模式下,最大传输包长度为 64 字节,但是对于高速设备,最大传输包长度可以达到 512 字节,总线带宽会被大量地浪费。因此在高速模式下,使用一种新的事务——PING 事务,来解决这个问题。

USB 主机在发送 OUT 事务之前使用 PING 事务来确定 USB 设备是否能够接收数据,如果设备不能接收数据,USB 主机会在一定时间后再次使用 PING 事务,直到 USB 设备能够接收数据为止。由于 PING 事务只有令牌包和握手包,与原有的 OUT 事务相比,能够节省大量的总线带宽,从而提高了总线利用率。

USB 主机首先会向 USB 设备发送一个 OUT 令牌包和包含要发送数据的数据包,USB 设备有可能会向 USB 主机返回一个 ACK 包、NAK

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2258366.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTA8998 实时音频跟踪的高效内置升压2x10W免电感立体声ABID类音频功放

1、特征 输出功率(fIN1kHz,RL4Ω,BTL) VBAT 4V, 2x10.6W(VOUT9V,THDN10%) VBAT 4V, 2x8.6W (VOUT9V,THDN1%) 内置升压电路模式可选择:自适应实时音频跟踪 升压(可提升播放时间50%以上)、强制升压 最大升压值可选择,升压限流值可设置 ACF防破音功能 D类…

Modern Effective C++ 条款三十八:关注不同线程句柄的析构行为

之前内容的总结: item37中说明了可结合的std::thread对应于执行的系统线程。未延迟(non-deferred)任务的future(参见item36)与系统线程有相似的关系。 因此,可以将std::thread对象和future对象都视作系统…

【Spring】IoC和DI,控制反转,Bean对象的获取方式

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:什么是IoC 1:什么是容器 2:什么是IoC 二:IoC应用…

【网络协议栈】TCP/IP协议栈中重要协议和技术(DNS、ICMP、NAT、代理服务器、以及内网穿透)

每日激励:“请给自己一个鼓励说:Jack我很棒!—Jack” 绪论​: 本章是TCP/IP网络协议层的完结篇,本章将主要去补充一些重要的协议和了解一些网络中常见的名词,具体如:DNS、ICMP、NAT、代理服务器…

离屏渲染概述

我们知道,图像的处理基本都是在GPU中进行,然后GPU将渲染的结果放入当前渲染屏幕的帧缓冲区中,视频控制器取出里面的内容,在屏幕上进行显示。那么有没有什么情况,会因为某些限制,GPU无法将全部的渲染结果直接…

探索 Python 应用的分层依赖:解决 Linux 环境中的 libvirt-python 安装问题

探索 Python 应用的分层依赖:解决 Linux 环境中的 libvirt-python 安装问题 背景Python 版本升级 问题描述原因分析与解决方案 Python 应用的分层依赖:安装与部署的视角libvirt-python的分层依赖尝试的解决方案 使用编译好的 .whl 文件"嫁接"整…

vmware vsphere5---部署vCSA(VMware vCenter Server)附带第二阶段安装报错解决方案

声明 因为这份文档我是边做边写的,遇到问题重新装了好几次所以IP会很乱 ESXI主机为192.168.20.10 VCSA为192.168.20.7,后台为192.168.20.7:5480 后期请自行对应,后面的192.168.20.57请对应192.168.20.7,或根据自己的来 第一阶段…

Unity3D下采集camera场景并推送RTMP服务实现毫秒级延迟直播

技术背景 好多开发者,希望我们能够分享下如何实现Unity下的camera场景采集并推送rtmp服务,然后低延迟播放出来。简单来说,在Unity 中实现采集 Camera 场景并推送RTMP的话,先是获取 Camera 场景数据,通过创建 RenderTex…

指令周期流程图

例题一 例题二 例题三

使用C#通过ColorMatrix对象为图像重新着色

此示例产生了一些令人印象深刻的结果,但实际上非常简单。 它使用其他几个示例演示的 ImageAttribute 技术来快速操作图像的颜色。 下面的AdjustColor方法启动图像着色的过程。 // Adjust the images colors. private Image AdjustColor(Image image) {// Make the …

SQL 在线格式化 - 加菲工具

SQL 在线格式化 打开网站 加菲工具 选择“SQL 在线格式化” 或者直接访问 https://www.orcc.online/tools/sql 输入sql,点击上方的格式化按钮即可 输入框得到格式化后的sql结果

AI作图效率高,亲测ToDesk、顺网云、青椒云多款云电脑AIGC实践创作

一、引言 随着人工智能生成内容(AIGC)的兴起,越来越多的创作者开始探索高效的文字处理和AI绘图方式,而云电脑也正成为AIGC创作中的重要工具。相比于传统的本地硬件,云电脑在AIGC场景中展现出了显著的优势,…

【密码学】SM4算法

一、 SM4算法简介 SM4算法是中国国家密码管理局于2012发布的一种分组密码算法,其官方名称为SMS4(SMS4.0),相关标准为GM/T 0002-2012《SM4分组密码算法》。SM4算法的分组长度和密钥长度均为128比特,采用非平衡Feistel结构。采用32…

Proteus(8.15)仿真下载安装过程(附详细安装过程图)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、Proteus是什么? 二、下载链接 三、下安装步骤 1.解压,有键管理员运行 2.点击Next,进行下一步 3.勾选I accept…&#…

【工业机器视觉】基于深度学习的水表盘读数识别(4-训练与预测)

【工业机器视觉】基于深度学习的仪表盘识读(读数识别)(3)-CSDN博客 训练与预测 Ultralytics YOLO指的是由Ultralytics公司开发的一系列基于YOLO(You Only Look Once)架构的目标检测算法。YOLO是一种实时目标检测系统,它…

AlphaPose、yolov8Pose、RTMPose进行对比

一、Alphapose 参考: https://blog.csdn.net/m0_45850873/article/details/123939849

MongoDB-ObjectID 生成器

前言 MongoDB中一个非常关键的概念就是 ObjectID,它是 MongoDB 中每个文档的默认唯一标识符。了解 ObjectID 的生成机制不仅有助于开发人员优化数据库性能,还能帮助更好地理解 MongoDB 的设计理念。 什么是 MongoDB ObjectID? 在 MongoDB …

ARM学习(36)静态扫描规则学习以及工具使用

笔者来学习了解一下静态扫描以及其规则,并且亲身是实践一下对arm 架构的代码进行扫描。 1、静态扫描认识 静态扫描:对代码源文件按照一定的规则进行扫描,来发现一些潜在的问题或者风险,因为不涉及代码运行,所以其一般只是发现一些规范或则一些质量问题,当然这些可能存在潜…

从 Zuul 迁移到 Spring Cloud Gateway:一步步实现服务网关的升级

从 Zuul 迁移到 Spring Cloud Gateway:一步步实现服务网关的升级 迁移前的准备工作迁移步骤详解第一步:查看源码第二步:启动类迁移第三步:引入 Gateway 依赖第四步 编写bootstrap.yaml第五步:替换路由配置第六步&#…

centos部署SkyWalking并在springcloud项目中用法举例

文章目录 场景SkyWalking介绍部署部署Storage [单机版Elasticsearch]部署SkyWalking OAP [下载地址](https://skywalking.apache.org/downloads/#SkyWalkingAPM)部署SkyWalking Java Agent springCloud 使用举例 场景 SkyWalking是应用性能监控平台,可用于分布式系统…