USB简介系列-03

2023-12-13 04:55:28

系列文章目录

USB简介之三



USB数据流

本部分讨论USB数据包。


一、USB数据包概述

数据包可以被认为是USB数据传输的最小单元。每个数据包以当前传输速率传输一段整数字节数的数据。在数据包之前和之后,总线处于空闲状态。

除非您在芯片级别进行设计,否则您无需担心同步、位填充和数据包结束条件的细节,因为串行接口引擎 (SIE) 将为您处理上述细节。您应该知道 SIE 可以识别数据包的开始和结束,并且数据包包含整数字节。

尽管如此,数据包通常期望数据字段跨越字节边界。要记住的重要规则是,所有 USB 字段都首先传输最低有效位LSB。因此,例如,如果一个字段由 2 个连续的字节定义,则第一个字节将是最低字节,而传输的第二个字节将是最高字节。

数据包以同步数据开头,以允许接收器位时钟与数据同步。紧随其后的是数据包的数据字节,并以数据包结束 (EOP) 信号结束。数据实际上是 NRZI 编码的,为了确保足够频繁的转换,在 6 个连续的 1 之后插入一个零(这称为位填充)。

二、USB数据包格式

每个数据包中的第一个字节是数据包标识符 (PID) 字节。SIE需要快速识别此字节,因此不包含在任何CRC检查中。因此,它有自己的有效性检查。PID 本身的长度为 4 位,这 4 位以反码形式重复。

PID定义
定义了 17 个不同的 PID 值。这包括一个保留值,以及一个在两种不同情况下使用过两次且含义不同的值。

PID类型
有四种不同的数据包格式?

文章来源:https://blog.csdn.net/zuoph/article/details/134956421
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。