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