USB4规范解读(流源君)
+ -

USB4规范解读(三) 深入了解USB4的系统结构和工作原理

2021-09-24 1226 0

本文介绍USB4主机和USB设备的内部组成。USB4系统分为USB4主机和USB4设备,而USB4设备又分为USB4集线器、USB4扩展坞和USB4外部设备。USB4主机、USB4集线器和USB4外部设备组成的一整个系统叫做USB4系统架构。这里的系统架构指的是整体的设计框图,描述了构成整体的各个部件以及它们之间通讯方式等。

一、USB4数据传输结构

USB4数据依靠路由器来选择路径和传输,可以抽象成下图的模型。路由器分为主机路由器和设备路由器。
USB4数据传输结构

二、USB4系统架构

1、USB4主机架构

1.1、USB4主机组成

USB4主机组成

  • 数据选择器:图中梯形的图标表示数据选择器,是一种可以选择使用哪一个数据通道的结构。
  • 增强型超速主机:增强型超速主机是负责接收和发送USB超速数据(USB 3.2数据)的一种部件。
  • USB 2.0主机:USB 2.0主机是负责接收和发送USB 2.0数据的一种部件。
  • DisplayPort发送源:DisplayPort发送源用于提供DisplayPort视频信号数据。
  • PCIe控制器:PCI控制器用于选择每次发起通信的PCIe下行端口适配器。
  • 主机协议适配器:两个USB3下行端口适配器,两个PCIe下行端口适配器,一个DisplayPort输入适配器和一个主机接口适配器都属于协议适配器。USB3下行端口适配器和PCIe下行端口适配器分别将发起方的USB3数据和PCIe数据按照一定的方式转换整合成USB4数据形式,DisplayPort输入适配器将DisplayPort发送源的数据转换成USB4数据形式,传递给USB4端口。主机接口适配器用于USB4主机之间协议的转换。

两个USB3和PCIe下行端口适配器分别对应从两个USB4端口传输数据,一个DisplayPort输入适配器可以在其中一个USB端口传输,也可以同时在两个USB4端口传输,取决于检测到的设备。

  • 主机路由器:主机路由器传输USB4数据包。还通过时间管单元分配和同步时间。
  • TMU:时间管理单元(TMU)是每个路由器的功能模块,用于分配和同步路由器传输数据的时间。
  • USB端口:USB4端口共有两个通道,一个发送的差分信号和一个接收的差分信号组成一个通道,每个通道有一个通道适配器。使用一个通道传输数据叫做单通道模式,使用两个通道传输数据叫做双通道模式。
1.2、USB4主机工作原理

USB4主机工作原理

  • 主机USB 3.2数据传输路径:图中红线所示,增强型超速主机传输数据时,有两个USB3下行端口适配器,单次发送选择经过其中一个,然后传输到两个USB4端口中的一个,最后经过USB Type-C口传输USB 3.2数据。
  • 主机USB 2.0数据传输路径:图中黄线所示,USB 2.0主机发送和接收USB 2.0数据都是直接通过USB Type-C口传输的。
  • 主机PCIe数据传输路径:图中绿线所示,传输PCIe数据时,通过PCIe控制器选择两个PCIe下行端口适配器中的一个来传输数据,接着将PCIe数据传递给其中一个USB4端口,再传递给USB Type-C口。
  • 主机DisplayPort传输路径:图中紫线所示,DisplayPort发送源将视频信号传递给DisplayPort适配器,紧接着传递给USB4端口其中一个或两个,最后通过与USB4端口相连的USB Type-C口发送出视频信号。

2、USB4集线器架构

2.1、USB4集线器组成

USB4集线器组成

  • 增强型超速集线器:增强型超速集线器通过USB4集线器的USB3上行端口应答来自USB4主机的USB3下行端口发起的数据。同时选择USB4集线器的两个USB3下行端口中的一个来传输数据给USB4设备。选择哪一个取决于哪一个检测到USB4设备。总之,就是一个USB 3.2扩展出多个USB 3.2。
  • USB 2.0集线器:USB 2.0集线器是负责应答来自主机的USB 2.0数据,同时扩展出多个USB 2.0给外部设备使用。
  • PCIe交换机:PCIe交换机通过USB4集线器的PCIe上行端口应答来自USB4主机的PCIe下行端口发起的数据。同时选择USB4集线器的两个PCIe下行端口中的一个来传输数据给USB4外部设备。选择哪一个取决于哪一个检测到USB4外部设备。总之,就是一个PCIe扩展出多个PCIe。
  • 集线器协议适配器:一个USB3上行端口适配器,一个PCIe上行端口适配器。两者分离出USB4传递的来自USB4主机的USB 3.2和PCIe数据,分别传递给增强型超速集线器和PCIe交换机。两个USB3下行端口适配器,两个PCIe下行端口适配器。USB3下行端口适配器和PCIe下行端口适配器分别将增强型超速集线器传输的USB3数据和PCIe交换机传输的PCIe数据按照一定的方式整合在一起,最后传递给USB4端口。DisplayPort输出适配器可以直接连接DisplayPort接口,再连接支持DisplayPort或者能够转化DisplayPort信号的显示器就可以显示视频了。

  • 设备路由器:传递来自主机的USB4数据,依靠时间管理单元(TMU)分配和同步时间。

2.2、USB集线器工作原理

USB集线器工作原理

从图中看,信号来自USB4端口,USB 3.2和PCIe经过一定的中转,传递给另一端的USB4端口。

  • USB 3.2数据传输路径:图中红线所示,USB3上行端口适配器将分离出的来自USB4端口的USB 3.2数据传递给增强型超速集线器,然后由增强型超速集线器传输数据,有两个USB3下行端口适配器,单次传输选择经过其中一个,然后传输到两个USB4端口中的一个,最后经过USB Type-C口传输USB 3.2数据。

  • USB 2.0数据传输路径:图中黄线所示,USB 2.0集线器传输USB 2.0数据都是直接通过USB Type-C口传输的,同时可以扩展出多个USB 2.0数据。

  • PCIe数据传输路径:图中绿线所示,PCIe上行端口适配器将分离出的来自USB4端口的PCIe数据传递给PCIe交换机,然后由PCIe交换机传输数据,有两个PCIe下行端口适配器,单次传输选择经过其中一个,然后传输到两个USB4端口中的一个,最后经过USB Type-C口传输PCIe数据。

  • DisplayPort的传输路径:图中紫线所示,DisplayPort信号直接从USB4的一个端口传输到另一端的USB4端口,没有经过其他的中转。也可以从USB4输入端口分离出信号给DisplayPort输出适配器,来连接显示器显示。

3、USB4外部设备架构

3.1、USB4外部设备组成

USB4外部设备组成

  • 增强型超速功能:支持USB超速(大于等于5Gps)数据功能的部件。
  • USB 2.0功能:支持USB 2.0数据功能的部件。
  • 外部设备协议适配器:USB3上行端口适配器将来自USB4端口的USB 3.2数据传送到增强型超速功能结构。
  • PCIe上行端口适配器将来自USB4端口的PCIe数据传送到PCIe功能结构。Displayport输出适配器将来自USB4端口的DisplayPort数据传送到DisplayPort显示。
  • 外部设备路由器:传递来自集线器的USB4数据,依靠时间管理单元(TMU)分配和同步时间。
3.2、外部设备工作原理

USB4设备数据传输路径

外部设备收到来自USB4接口的数据,USB 2.0数据直接传递给USB 2.0功能模块。USB3上行端口适配器分离出USB 3.2数据传递给增强型超速功能模块,PCIe上行端口适配器分离出PCIe数据传递给PCIe功能模块,DisplayPort输出适配器分离出视频信号给DisplayPort显示模块。这样USB4主机就可以和外部设备(比如固态硬盘,移动硬盘,显示器等)之间进行传递文件和显示视频等功能了。

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

Windows下枚举系统中所有HID设备
Windows下对任何设备,文件的打开都是通过CreateFile来实现的,不过要打开一个设备得首先知道设备或文件名。由上节可知道,对于HID设备,都会注册一个接口类型为{2ACCFE60-C130-11D2-B082-00A0C91EFB8B}的GUID。我们可以通过Setup系列函数枚举出系统中......
USB3.2超高速兼容USB2.0数据收发的双总线架构
超高速USB体系和以前的USB版本的功能一致,都是通过USB线缆将USB主机USB外设相连,进行数据交互的。所与连接到该条USB总线上的所有设备在主机控制器协调下,共享带宽。USB总线允许外部设备被接入(attached),配置,使用或移除。USB3.2是双总线架构,其中一条总线用于向后兼容USB2......
什么是雷电4?Thunderbolt 4 和Thunderbolt 3, USB-C, USB4, USB3参数对比
USB4集成了Thunderbolt 3,那么对于新的USB规范,其和以往的兼容的总线如Thunderbolt 4 ,Thunderbolt 3, USB-C, USB4, USB3有什么不同了?什么是Thunderbolt 4?Thunderbolt 是 英特尔开发的一种高速协议,它可以提供电......
USB4的连接接口、传输速度的兼容性
官方称为USB4.0,USB4即将上市。一些规格仍有待确认,这里是一个快速概述一切,我们知道最新的USB标准。USB4会向后兼容USB3.0,USB2.0,USB1.0吗?USB4电缆将使用TYPE-C连接器,这是目前大多数智能手机和笔记本电脑上的扁平圆形端口。我们看到许多工业小型单板计算机都......
USB4官方协议规格书(英文版)V1.0-20210430下载
2021年4月30日,千呼万唤的USB4USB4 Specification_10)终于出来了。USB4规范的内容包括:2个目录TMU Simulation和USB4 ECN for Release一系列的文件Simulation目录USB4 ECN for ReleaseTMU Simulati......
USB4总结 - 一文帮你详细了解USB4的全部家当
USB4USB4 规范中指定的 USB 系统,USB开发者论坛于 2019 年 8 月 29 日发布了其 1.0 版本。与以往的 USB 协议标准不同,USB4 需要 USB-C 连接器,并且要需要 USB PD 的支持以进行供电。与 USB 3.2 相比,它允许创建 DisplayPort ......
USBIP整体架构
在普通的电脑上,想使用USB设备,必须将插入到主机。USBIP却可以通过网络,让主机访问其他主机上的外部设备,而用户程序完全感知不到区别。usbip的文章在这里:https://pdfs.semanticscholar.org/c7c4/cb054d75810fdb0a2affa11c288b76......
USB4总线验证子系统IP核(基于Synopsys)
USB4是下一代的通用串行总线规范,其主要的改变在于数据传输速度和多总线复用功能。在新一代的USB4规范中,其不仅整合了Thunderbolt 3功能,也扩展支持到PCIE接口,当然这些总线的接口都是通过一个小小的USB TYPE-C接口来连接。USB4的另一个重大突破是其最高的数据传输速度从20 ......
Windows系统HidD_GetPreparsedData数据结构PHIDP_PREPARSED_DATA研究
上天开了一个玩笑,研究了REACTOS的HidD_GetPreparsedData函数的数据结构(http://www.usbzh.com/article/detail-980.html ),竟然发现这和Windows体统的不兼容。所以这一节我们来研究一下Windows下的HidD_GetPrepa......
为什么Windows7重新安装系统后插在USB3.0端口的鼠标不能使用?
在 Windows 7 及更早版本的操作系统中,USB 3.0 驱动程序堆栈由第三方提供,操作系统不提供USB3.0驱动栈。 因此,Windows7重新安装系统后插在USB3.0端口上的所有设备都无法工作,需要安装第三方提供的USB控制器和集线器驱动,这样才能识别出挂接在该USB总线下的设备。从Wi......
USB4有什么新功能?
USB4(官方称为“USB4”,没有空格)是一个重要的更新,不仅因为它提供了新的功能,而且因为它有助于解决对USB3.x命名的困惑,而且在很大程度上,它给用户一个可预测的和一致的体验。USB4协议需要USB-C到USB-C电缆。高达40Gbps的数据传输速率:USB4设备需要支持20 Gbps(2.......
USB4 和 Thunderbolt 4 都带来了什么新改变?
本文转自于 https://sspai.com/post/63932随着带有 M1 芯片的 Mac 产品线发布,USB4 也逐渐进入大众的视野中。不过,苹果官网的这张 M1 MacBook Pro 介绍图可能会让很多人一头雾水,明明标注了 USB4,可为什么下面的速度只提到 USB 3.1 第二代?......
什么是USB4?USB4和雷电Thunderbolt协议
2021年,USBif组织发布了新一代的USB规范即USB4,这是一个足以划时代的事件,它超越了以往的任何USB规范标准,并兼容各种TYPE-C接口设备。USB4是USB的最新版本,它足以让我们从混乱的USB3标准中解脱出来,除了新的速度,它还为设备兼容性和通过端口充电增加了新的细微差别。USB4是......
使用SetupApi函数通过GUID枚举系统中所有关联设备
Windows的设备在驱动中大部分都会IoSetRegisterInterface,这其中一个重要的参数是GUID,这样系统会根据这个GUID给设备创建一个symbolicname,这个名字在应用层可以通过CreateFile打开。这里分享一个在应用层通过SetuApi枚举该类型GUID下的所有设备......
HID设备虚拟触摸屏上报的多点数据系统不响应
前一般时间在Windows10下使用USB驱动虚拟了一个触摸屏设备,上层软件按照HID报告述符的格式下发触摸屏数据给驱动,再由驱动将数据上交给系统,实现虚拟触摸屏的功能。今天,突发奇想,上次的报告描述符仅支持的是一个点触摸效果,今天保不实现了一下多点触摸效果,所以我通过在一个支持多点触摸屏的设备......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!