USB4规范解读(五):USB4系统结构的架构之功能堆栈
USB4传输数据的带宽达到40Gbps,可以支持USB 3.2、DisplayPort和PCIe同时传输。带宽可以按照公路的宽度来理解,数据可以当做车辆。路越宽,一定的时间就可以有更多的车并排行驶,就能通过更多的车。同样的道理带宽越大,一定的时间就能够传输更多数据。
通常为了防止车辆乱行,会有交通规则来约束和规范行驶。同样地,为了防止数据乱传,就需要通信协议来约束和规范传输。交通规则的具体实施需要依靠相关人员来监督,通信协议的具体实施需要依靠相关结构来管理。这个结构就是适配器。
一、适配器简介
上面的图是《USB4规范解读(四):USB4系统结构通俗讲解》一文中提到的USB4路由器传输模型,其中路由器是一个选择最佳路径并且传输数据的结构。可以看到USB 3.2、DisplayPort和PCIe数据从一个路由器(比如USB4路由器A)传到另一个路由器(比如USB4路由器B)时,先经过适配器进行转换为USB4隧道数据,然后传到USB4端口,接着传到对方的USB4端口,再经过对方的适配器转换,分离出USB 3.2、DisplayPort和PCIe数据。
从以上过程来看,USB4数据的传输需要依靠适配器转换,先将不同类型的数据整合到一起,通过USB4端口传输到对方的USB4端口,然后依靠对方的适配器,分离出先前不同类型的数据。适配器就是一个连接沟通路由器和其他外部实体的桥梁。
对于USB4主机而言,外部实体就是发送USB 3.2数据的增强型超速主机,发送PCIe数据的PCIe控制器和发送DisplayPort数据的DisplayPort发送源。
对于USB4集线器而言,外部实体就是处理USB 3.2数据的增强型超速集线器,处理PCIe数据的PCIe交换机和DisplayPort数据显示功能模块。
对于USB4外部设备而言,外部实体就是处理USB 3.2数据的增强型超速功能模块,处理PCIe数据的PCIe功能模块和接收DisplayPort数据的显示功能模块。
总之,外部实体指的是通过适配器和路由器建立连接的结构。关于这些结构的详细介绍参考文章《USB4规范解读(三):深入了解USB4的系统结构和工作原理》。
正是有了适配器,才能保证上面提到的这些外部实体与路由器之间进行数据传输。适配器将外部实体的数据转换成路由器传输的数据形式,以及从路由器传输的数据形式分离出外部实体对应的数据。总之,适配器是USB4系统结构能够正常传输数据的基本保障。
USB4抽象出了一个功能堆栈层,来描述适配器传输数据的任务分层。
二、USB4系统结构的功能堆栈
下图展示了USB4功能堆栈的分层结构。
USB4功能堆栈层最上层是协议适配器层和配置层,两者互不干扰,下一级是传输层,最后一级是物理层。物理层自上而下又分为逻辑层和电气层。USB4功能堆栈依靠USB4端口、协议适配器和控制适配器来实现。USB4端口中有通道适配器。协议适配器,控制适配器和通道适配器统称适配器。参考文章《USB4规范解读(四):USB4系统结构通俗讲解》关于路由器的介绍。
从上图看出协议适配器实现了协议适配器层和传输层的功能,控制适配器实现了配置层和传输层的功能,而USB4端口的通道适配器实现了整个物理层的功能,物理层包含逻辑层和电气层。下面按照最底层到最高层的顺序,来介绍功能堆栈层的所有层。
2.1 电气层
电气层定义USB4链路的电气信令特性,包括加扰,编码,抖动和电压。应满足低误码率,实现可靠通信。
- 加扰:用扰码(伪随机码)与原始信号相乘,从而得到新的信号。与之相逆的过程叫做解扰。
- 编码:信息、数据转换成规定的电脉冲信号。
- 抖动:信号的某特定时刻相对于其理想时间位置上的短期偏离,需要在规定的范围内。
- 电压:电脉冲信号的电压需要在规定的范围内。
- 误码率:发生错误的码占总的码的比例。
2.2 逻辑层
逻辑层在两个路由器之间建立一个USB4链路,并提供在两个路由器之间传输和接收字节流的服务。
逻辑层位于电气层之上,在传输层之下。它将往返于传输层的数据流量(单位时间传输的数据)视为字节流。
逻辑层提供的服务是:
- 与链接伙伴建立和维护USB4链接
- 通过不同的速度和宽度实现性能可伸缩性
- 错误检测和恢复机制
- 使用不同的媒介(例如无源电缆,有源电缆和重定时器)进行操作
- 支持时钟补偿,数据加扰和前向纠错码等机制
- 电源管理
USB4链接由附带的边带数据通道辅助和管理,该边带数据通道可实现如下功能:
- 配置USB4链路的参数
- 与重定时器(如果存在)进行交互并执行USB4链路前馈均衡发射机握手
- 确保USB4链路收发器和重定时器的正确掉电/唤醒顺序
2.3 协议适配器层
协议适配器层执行隧道协议流量和USB4传输层数据包之间的映射。协议适配器层由发送和接收的隧道协议流量的类型定义。
2.4 配置层
配置层执行路由器配置任务并处理传入的控制数据包。配置层为域内的控制数据包提供寻址方案,处理控制数据包,并为控制数据包提供可靠的传输机制。控制数据包使连接管理器可以访问路由器的配置空间。
2.5 传输层
传输层通过总线转发隧道数据包和控制数据包。它定义了数据包格式,路由,服务质量(Quality of Service,简称QoS)支持,流控制和时间同步。传输层是执行协议多路复用的地方。
总之,USB4系统结构传输数据依靠适配器来实现。协议适配器层和传输层组成了协议适配器,配置层和传输层组成了控制适配器,逻辑层和电气层组成了通道适配器。
协议适配器层实现USB4数据和传输层之间的映射,配置层负责配置路由器,传输层转发配置层的控制数据包和协议适配器层的USB4隧道数据包,逻辑层实现两个路由器之间数据发送和接收的服务,电气层确保通信数据传输的可靠性,降低误码率。各层之间的任务分工,共同实现了USB4数据在USB4系统结构上稳定可靠地传输。