| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> Type-C 接口为什么在不同的协议下带宽不同(引脚定义、协议等) -> 正文阅读 |
|
[C++知识库]Type-C 接口为什么在不同的协议下带宽不同(引脚定义、协议等) |
ThunderBolt 3/4 和 USB Type-C 有什么区别其实 Thunderbolt 3是一个扩展集解决方案,它包括了 USB 3.1(10Gbps),并在单个 Type-C 接口中增加了 40Gbps 的 Thunderbolt 3/4 和 DisplayPort 1.2,还有PCIe。 也就是说,Type-C 是一个接口类型,而ThunderBolt 3/4 是 USB 的一个超集。 引脚定义Type-C 接收端接口的引脚定义如下: 针信号 针信号
GND 是地线。 SBU 是 Sideband Use 的缩写,USB 不会使用这两个接口,仅被用于备用模式(Alt-modes)。SBU 在 DP Alt 模式时,会作为 DP 协议中 AUX_P/AUX_N 差分线(它的极性是可以根据正反插方向修改的),负责传输设备的 DPCD,EDID 等关键信息。 看上图可以发现,CC2 的引脚在发送端 VCONN,被用于电子标记电缆供电(Plug power)。CC1 和 CC2 都需要支持 CC(Configuration Channel)和 VCONN。 在技术意义上来说,Type-C 是分正面的,虽然用户插入的时候不分正反面,但是接口自身其实是分的。更多详情查看:https://www.microchipdeveloper.com/usb:type-c USB 数据流USB 3.0 全名是Super Speed USB,最高支持 5 Gbps。(USB 3.0 现在也被叫做 USB 3.1 Gen 1)
除了 USB 3.1 控制器支持的速率更高之外,还有一个不同之处在于全双工模式下编码不同:USB 3.0 是 8b/10b;USB 3.1 是 128b/132b。 关于 USB 更多内容和对比可以看这篇文章:Understanding the USB 3.1 protocol 这里有个 PPT 有个不错的相关演示和总结:《TypeC (USB3.1/3.0) Introduction and Test solution》 DisplayPort 数据流在 USB-C 的 DisplayPort Alt Mode 下(其他各种模式在 ThunderBolt 部分介绍)会占用 1、2 或者所有 4 对高速差分线。然后就要提到一个新的概念:HBR(DisplayPort High Bit Rate)。
举个例子,DP 1.2 支持最高的是 HBR 2,所以最大带宽也就是 21.6 Gbps(5.40 Gbps x4),使用 8b/10b 编码,四通道最大数据速率也就是 17.28 Gbps。而 4k 60hz 10bit 每秒需要的带宽约为 14.93 Gbps,快占满了。所以 DP 1.2 最高支持 4k60hz。 HBR 版本取决于输出设备。例如 Intel 的核显从 Tiger Lake 开始才支持 HBR 3,这也是为什么例如 12600K 之类的新核显 CPU 支持的 DP 输出最大为 7680x4320@60hz,而 HDMI 都还是 4096x2160@60hz。 Dell 的这个文件说明了 Dell 支持 HBR 3 的设备:https://www.dell.com/support/kbdoc/zh-cn/000183937/dell-systems-support-hbr3-specifications 这里有个不错的 DP 的介绍和表格,讲的蛮清楚的:《DisplayPort Interface- What is DP?》 全功能 Type-C在一根 Type-C 的线连接笔记本和 4K 显示器的时候,可能会遇到选择使用最高 4K 60hz 和 USB 2.0,还是使用最高 4K 30hz 和 USB 3.1(10 Gbps)的情况。这是为什么呢? 前文提到,USB 3.x 只用到 2 对高速差分线和 D+ 和 D- 差分半双工线,可以达到 10 Gbp 的速率。这样高速差分线就剩 2 对。 而 DisplayPort Alt Mode 可以占用 1/2/4 对高速差分线,那么也就刚好占用仅剩 2 条高速差分线,两条高速差分线可以在 HBR 2 下实现 10.4 Gbps 的带宽。但是这满足不了 4k 60hz 10bit 每秒需要的带宽(约为 14.93 Gbps),所以只能实现 4k 30hz 10bit(约为 7.47 Gbps)。 如果想要达到 4k 60hz 10bit,那么就得占用全部的 4 条高速差分线,那么 USB 就只能使用 D+ 和 D- 这两条差分半双工线,而这只能做到 USB 2.0。 所以想要 4k 60hz 10bit,那么 USB 只能有 USB 2.0。 ThunderBolt 3/4首先需要知道,ThunderBolt 是双向双协议(PCIe 和 DisplayPort)。一个ThunderBolt 控制器会连接 4 条 PCIe 通道(最少 2 条),以及对应端口数量的 DP 数量(例如两个 ThunderBolt 接口,那么从视频输出设备,例如 CPU 核显或者间接通过 PCH,就会有两条 DP 线路连接到 ThunderBolt 控制器,一个 DP 线路占 4 条高速差分线)。 苹果有一个不错的文档来介绍 ThunderBolt 控制器的运行原理,可以看看:《Thunderbolt Technology Overview》 ThunderBolt 3/4 会用上全部的 4 对高速差分线。但是不同模式下,信号分配的不同。
ThunderBolt 3 和 4 区别如果查阅的话,会发现 ThunderBolt 4 与 3 相比有两个重大更新:
前者很容易理解,后者解释一下。首先需要知道 ThunderBolt 控制器和 PCIe 的关系。 一个 ThunderBolt 控制器至少要连接 2 条 PCIe 通道,最高 4 条。 那么 ThunderBolt 3 最低 PCIe 总带宽也就是 2 x 8 Gbps,也就是 16 Gbps,这也就是半速 ThunderBolt 3,一般标注带宽为 20 Gbps。连接了 4 条 PCIe 3.0 的带宽为 32 Gbps,也就是全速 ThunderBolt 3,一般标注带宽为 40 Gbps。 这里说明一下 ThunderBolt 的 20 Gbps 和 40 Gbps 的含义,这个含义并不是 PCIe 的带宽就是 20/40Gbps。而是传输任何类型的数据综合起来的一个最低带宽,包括视频信号、数据传输。 也就是说 ThunderBolt 3 哪怕给了 4 条 PCIe 通道,直接连接在 CPU 上,也只能跑到 22 Gbps 左右。 需要注意的是,这个提升只是强制的,并不是因为 PCIe 升级了。 哦对这里还有一个帖子,里面介绍了一些显卡通过 ThunderBolt 连接的损耗:eGPU Performance Loss - PCI Express vs. Thunderbolt 希望可以帮到有需要的人~ |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 15:20:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |