USB协议详解第18讲(USB包-初探)

news/2024/10/20 14:39:51

1.USB传输架构和包的组成

本节我们开始对USB包进行深入讲解,USB所有的传输都会被分成包进行传输,不同类型的包里面包含着不同的域(后面一一学习)。传输架构和包的组成如下图。

每个包都由SOP(包起始域)、SYNC(同步域)、Packet Content(包内容)、EOP(包结束域)四部分组成,其中SOP、SYNC、EOP为所有包共有的域,Packet Content最为核心,不同类型的包由不同的Packet Content组成。

每个域的每一个bit都会用反向非归零编码(NRZI)进行编码后发送出去。

2.PID域的类型及说明

注意:所有事务的令牌包总是主机发起的。

3.包的发送方式

包的发送方式其实和生活中人与人的交流很类似,如下:

第一步:主机会先发送一个令牌包,这个包的作用就是告诉设备我主机要干啥(控制传输Setup、发送数据OUT、接收数据IN、一帧开始了SOF),反正就是告诉设备自己想干啥;

第二步:数据包,设备会根据令牌包数据方向,如果主机要发送数据,则设备就会处于接收数据包状态,如果主机要设备的数据,紧接着设备会把对应的数据包发送给主机;

第三步:握手包,数据发送方在第二步发送数据包完毕后需要进入接收握手包状态(我的知道我的数据发出去没有或者出错没出错呀),数据接收方在接收到数据之后需要返回一个握手包给数据发送方。

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

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

相关文章

USB协议详解第16讲(USB传输-中断传输及事务组成)

1.前言 中断传输用于那些频率不高,但是对周期有一定要求的数据传输。具有保证的带宽,并能在下一个周期对先前错误的传输进行重传。中断端点在端点描述符中要报告主机对此端点的查询时间,主机会保证在小于这个时间间隔的范围内安排一次传输,比如HOST主机1ms内向鼠标设备请求…

屏幕“布局”运行错误之CALLBACK REJECTED BY WHITELIST

点击屏幕中布局按钮报错 ST22图形屏幕绘制器中的运行时错误SAP的NOTE说明SM59维护TCP/IP链接,编辑回调准许列表,粘贴后保存即可TRANSLATE with xEnglishArabic Hebrew PolishBulgarian Hindi PortugueseCatalan Hmong Daw RomanianChinese Simplified Hungarian RussianChin…

pbootcms默认后台地址账号和密码是什么?

为了确保 PBootCMS 网站的安全性,建议在部署到服务器后尽快修改后台地址和密码。以下是具体的步骤: 修改后台地址登录 PBootCMS 后台:使用默认的后台地址 http://www.xxxxxx.com/admin.php 登录后台。 默认账号:admin 默认密码:123456 或 admin导航到后台设置:登录后台后…

pbootcms程序做的网站 点击页面上的所有链接打开都是首页是什么原因?

如果您的 PBootCMS 网站突然出现所有链接都无法正常跳转,点击任何链接都打开的是网站首页,这可能是由多种原因引起的。虽然“网站被黑”是一个可能的原因,但也有可能是其他技术问题导致的。以下是一些常见的排查步骤和解决方案: 1. 检查伪静态规则 Apache 服务器 检查 .hta…

多任务学习算法在推荐系统中的应用

粗略来看,推荐算法可以简单地分为召回和排序两个阶段。召回模块负责从海量的物品库里挑选出用户可能感兴趣的物品子集,过滤之后通常返回几百个物品。排序模块负责对召回阶段返回的物品集个性化排序,通常返回几十个物品组成的有序列表。 总结起来,召回和排序有如下特点:召回…

pbootcms网站留言或者自定义表单被提交大量无用信息怎么解决?

在 PBootCMS 中,如果您的网站留言或自定义表单被提交大量无用信息,可以通过以下几种方法来解决这个问题: 方法一:对输入格式进行验证编辑表单模板:打开您的表单模板文件,通常位于 /templates/your_template/form.html。添加输入格式验证:使用 HTML5 的 pattern 属性来验…

pbootcms将当天发布的文章标题设置为红色的方法

为了避免明年同一天的文章标题仍然变红,我们需要确保日期格式包含年份。以下是改造后的具体方法: 改造后的方法编辑列表页模板:打开您的列表页模板文件,通常位于 /templates/your_template/list.html。修改模板代码:在需要显示文章标题的地方,使用 PBootCMS 的标签语法和…

PyCharm2023版本之后使用本地conda已存在环境的步骤方法

2023新版本的pycharm在创建新项目并导入本地conda环境时与以往版本稍有不同,具体步骤如下:1、在新建项目窗口点击Previously configured interpreter 2、点击右侧蓝色Add Interpreter后点击Add Local Interpreter进入本地环境选择窗口 点击后进入如下界面 3、之后点击Cond…