程序可以通过连接到计算机的 USB-C 电缆找到什么信息?

Nic*_*oul 9 charging thunderbolt transfer-rate usb-c usb-pd

我将一根未知的 USB-C 电缆插入我的计算机。
从理论上讲,程序可以读取有关该电缆的信息吗?尤其:

  1. 它支持什么版本的USB:2.0、3.1等。
  2. 是否支持雷电等
  3. 是否支持Power Delivery、Quick Charge、VOOC、SuperCharge、Pump Express、Super FlashCharge等
  4. 它可以传输数据的最高速度。
  5. 它可以为高规格设备充电的瓦数/安培数。

笔记:

  • 我使用的是 Linux,但其他操作系统的答案也很好。
  • 假设电缆的另一端没有连接任何东西。但如果确实有必要,我们可以说最近获得 root 权限的 Android 手机已连接并且可以运行所需的任何代码。

Ale*_*ski 7

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 连接器系统软件接口规范中进行了标准化

Microsoft 提供了特殊的UCSI 驱动程序来将 Type-C 连接器的状态传达给 Windows。我确信Linux也有相应的驱动程序,请看一下这篇文章

因此,您可以在下面的EE 文章中找到部分答案。支持#1 和#5。#4 与#1 相同。关于#3,Type-C 连接器仅支持一种“充电签名”,即 Power Delivery 规范。关于你的笔记的第二部分,如果CC电缆的另一端没有连接任何东西,我不确定Ra的存在是否会单独触发电缆的任何检测,需要检查这一点。