USB4规范解读(八):USB4系统结构的架构之通信结构
USB4数据是USB 3.2数据,DisplayPort数据和PCIe数据的合称,通过路由器在USB4系统结构中传输,而适配器是连接和沟通路由器和其他外部实体的桥梁。适配器共有协议适配器,通道适配器和控制适配器3种。适配器通过功能堆栈层进行USB4通信。
功能堆栈层是USB4系统结构抽象出来的一个结构,由协议适配器层、配置层、传输层和物理层组成,物理层又分为逻辑层和电气层。
本文在这个基础上继续介绍USB4系统结构通信的各种组成,即通信结构。
下图显示了USB4通信各层之间的分工协调,双箭头表示通信数据包在各层的传递路径。USB4链路指的是互连的路由器的USB4端口之间的连接。
1 连接管理器
连接管理器是负责管理和配置路由器的实体。连接管理器使用控制数据包与路由器通信。连接管理器需要通过主机接口适配器层,它是协议适配器层的一种具体形式。
关于连接管理器的详细介绍,参考文章《USB4规范解读(六):USB4系统结构的架构之主要特性》。
2 控制包
控制包全称为控制数据包。连接管理器使用控制包来配置和管理总线上的路由器。路由器还使用控制包与连接管理器进行通信。控制数据包根据路由字符串(一种字符串,代表主机路由器和其他路由器的路由)在总线上路由(选择最佳方式,传递信息),该路由字符串标识路由器在生成树中的位置。
生成树是对实际物体连接的一种抽象描述,此处用于描述USB4系统(即USB4主机、USB4集线器和USB4功能设备)的连接。USB4系统通过拓扑ID来区分路由器,然后路由数据。关于生成树和拓扑ID的介绍,参考文章《USB4规范解读(七):USB4系统结构的架构之多级连接》。
控制包有两个来源,一个是连接管理器产生,一个是路由器产生。
当控制数据包源自连接管理器时,路由字符串会标识该数据包所针对的路由器。当控制数据包源自路由器,路由器字符串标识发送数据包的路由器。
下图显示了依次访问多个路由器的控制包的示例。非目标路由器中的控制适配器将数据包转发到USB4端口。目标路由器的控制适配器消耗控制数据包。
3 隧道数据包
协议流量通过USB4架构封装并通过“隧道数据包”进行隧道传输。
隧道数据包沿着一条或多条路径穿过USB4结构。隧道数据包就是USB 3.2数据,DisplayPort数据和PCIe数据的整合到一起的集合体。
4 链路管理数据包
链路管理数据包仅限于单个USB4链路。链路管理数据包起源于链路一端的路由器传输层,终止于链路另一端的路由器传输层。
定义了以下链路管理包:
- 时间同步数据包–用于同步总线上路由器的时钟。
- 流控制包–用于防止缓冲区溢出。
- 空闲数据包–当没有其他传输层数据包正在传输时,请确保将稳定的字节流馈送到逻辑层。
5 有序集
逻辑层使用有序集来执行诸如符号同步,链接训练以及通道之间的偏斜之类的任务。对于Gen 2来说,有序集是66位符号,采用64b/66b编码。对于Gen 3来说,有序集是132位符号,采用128b/132b编码。这种编码形式的好处就是选取出尽可能多的“0”和”1”跳变的数据形式,这样更有利于接收方进行数据接收。
6 边带通道
边带通道(Sideband Channel)处理以下事件:
- 通道初始化。
- USB4端口上的连接或断开连接。
- 通道禁用或启用。
- 进入或退出睡眠状态。
边带信道是基于分组的信道。边带通道数据包称为事务,以区别于USB4链路数据包。
每个USB4端口实现一组称为边带(SB)寄存器空间的链路配置寄存器。路由器使用事务访问另一个路由器或重定时器的SB寄存器空间。
6.1 事务
事务(Transaction)是边带通道上的通信单位,由一组定义的符号组成。事务有三种类型:LT事务,AT事务和RT事务
事务以三种事务类型之一通过边带通道传输:
- 链接类型(Link Type,简称LT)
- 管理类型(Administrative Type,简称AT)
- 重定时器类型(Re-timer Type,简称RT)
6.1.1 LT事务
通道初始化期间使用LT类型事务,还用于表示通道断开或转换到低功耗之类的事件而导致适配器状态发生变化的信号。
6.1.2 AT事务
AT事务有两种类型:
- AT命令——用于读取或写入路由器的边带通道寄存器空间。
- AT响应——用于响应AT命令
- 只有路由器会发出AT事务
6.1.3 RT事务
RT事务的类型:
- RT命令–由路由器或重定时器用于与另一个路由器或重定时器进行通信。可以广播或寻址。
- RT响应–用于响应RT命令(仅寻址的RT事务)
6.1.3.1 广播RT事务
路由器发送广播RT事务以枚举沿着链路的重定时器,并沿链路将链路属性传播给重定时器。广播RT事务不会导致RT响应。重定时器具有恢复传输的数据的作用。
6.1.3.2 寻址RT事务
路由器使用寻址的RT事务访问链路上重定时器的边带通道寄存器空间。路由器还可以使用寻址RT事务来访问相邻重定时器或路由器的边带通道寄存器空间。
6.1.3.3 寄存器空间
路由器使用AT事务访问其链接伙伴的边带通道寄存器空间。路由器使用寻址的RT事务访问链路上重定时器的边带通道寄存器空间。连接管理器还可以启动对路由器或重定时器的边带通道寄存器空间的访问。
什么是寄存器空间?就是寄存器映射,相当于特定功能的内存单元的一个别名。此处的寄存器空间主要存储了供应商ID、产品ID、链路配置等信息。
7 低频周期信令
低频周期信令英文为Low Frequency periodic signaling (LFPS)。
退出电源管理链路状态时,低频周期性信令(LFPS)用于两个链路伙伴之间的通信。
CLx指的是低功耗状态。当通道空闲时,CLx低功耗状态用于降低发送器和接收器的功率。支持CLx低功耗状态是可选的。
退出低功耗状态的步骤:
- 处于电气空闲,即低功耗状态;
- 发送一定数量的LFPS信号,然后回到保持电气空闲;
- 最后开始传输USB4数据,退出了低功耗状态。