我将一条未知的 USB-C 电缆插入计算机。
理论上,程序可以读取有关该电缆的信息吗?特别是:
- 它支持哪个版本的 USB:2.0、3.1 等。
- 是否支持Thunderbolt等。
- 是否支持Power Delivery、Quick Charge、VOOC、SuperCharge、Pump Express、Super FlashCharge等。
- 它能够以多快的速度传输数据。
- 它能为高规格设备充电的瓦数/安培数最高可达多少。
笔记:
- 我使用的是 Linux,但其他操作系统的答案也很好。
- 假设电缆的另一端什么都没连接。但如果真的有必要,我们可以假设连接了最近已 root 的 Android 手机,并且可以运行所需的任何代码。
答案1
关于 Type-C 连接器能做什么和不能做什么的所有答案都在其规格。
简而言之,Type-C 电缆规格几乎独立于 USB 数据和 USB 电源传输(Type-C 可以支持任何东西)。
规格上,Type-C连接器/线材提供两种自我识别方式。
第一种是通过在 CC 线两侧组合电阻上拉和下拉来实现。由于 Type-C 连接器有两个 CC 引脚和多个模拟电平,因此有多种组合可供选择。除了连接功能本身以及确定源-接收器角色和功率容量的基本功能外,还定义了几种“替代”功能,如显示端口、音频和调试模式。
Type-C 的第二项修订是强制在每条 CC 电缆中嵌入电子标记。电子标记中的信息包含制造商名称和特定电缆的载流能力。
CC1/CC2 引脚的状态通常由专门的 CC 控制器芯片获取。CC 控制器通过 I2C 接口与主系统通信。基于寄存器的接口在 Intel 文档中进行了标准化USB Type-C 连接器系统软件接口规范
微软提供了特殊的UCSI 驱动程序将 Type-C 连接器的状态传达给 Windows。我确信 Linux 也有相应的驱动程序,请查看本文。
因此,您的问题的部分答案可以在以下内容中找到EE 文章。#1 和 #5 受支持。#4 与 #1 相同。关于 #3,Type-C 连接器仅支持一种“充电签名”,即 Power Delivery 规范。关于您注释的第二部分,如果 CC 电缆的另一端没有连接任何东西,我不确定 Ra 的存在是否会触发对电缆的任何检测,需要检查这一点。