图 1: USB Type C接头外形
USB Type C(简称USB-C)的基本特性:
1. 接口插座的尺寸与原来的Micro USB规格一样小,约为8.3mm X 2.5mm
2. 可承受1万次反复插拔
3. 支持正反均可插入的“正反插”功能
4. 最大传输速度10Gb/s,即是USB 3.1 Gen2标准
5. 配备USB-C连接器的标准规格连接线,可通过3A电流,同时还支持超出现有USB供电能力的USB Power Delivery,可以最大提供100W电力(20V/5V)
USB Type-C:8.3mmx2.5mm
microUSB: 7.4mmx2.35mm
lightning: 7.5mmx2.5mm
引脚解释,如图2所示:
母口:
公头:
图2 引脚映射图
USB-C设备识别方法如图3所示。
图3:USB-C设备识别方法
电阻和充电电流映射如表1所示。
表1:USB-C Rp和Rd具体值(以上拉电压5V为例)
正反可插如图4所示。
图4:正反可插图示
DRP设备是如何工作的?
图5 DRP设备电路原理图
DRP状态机伪代码示例如下所示(该示例伪代码状态机来源于P124 Figure 4-15 of USB Type-C Specification Release 1.1),为便于理解下一章节讲述的USB PD,所以也加入了USB PD的简单状态。
drp_toggle_timeout = 50ms; tc_sm(void *arg) { switch(state) { case UFP_STATE_DETACHED: if (DFP连接) { state = UFP_STATE_ATTACHED_DEBOUNCE; debounce_timeout = 100ms; } else if (drp_toggle_timeout) { set_drp_mode(CC电阻上拉); state = DFP_STATE_DETACHED; } break; case UFP_STATE_ATTACHED_DEBOUNCE: if (DFP仍然连接) { state = UFP_STATE_ATTACHED; } else { state = UFP_STATE_DETACHED; } break; case UFP_STATE_ATTACHED: // TODO state = UFP_STATE_DISCOVERY; break; case UFP_STATE_DISCOVERY: // TODO: PD negotiate break; ... case DFP_STATE_DETACHED: if (UFP连接) { state = DFP_STATE_ATTACHED_DEBOUNCE; debounce_timeout = 100ms; } else if (drp_toggle_timeout) { set_drp_mode(CC电阻下拉); state = UFP_STATE_DETACHED; } break; case DFP_STATE_ATTACHED_DEBOUNCE: if (UFP仍然连接) { state = DFP_STATE_ATTACHED; } else { state = DFP_STATE_DETACHED; } break; case DFP_STATE_ATTACHED: // TODO state = DFP_STATE_DISCOVERY; break; case DFP_STATE_DISCOVERY: // TODO: PD negotiate break; } }
防伪以及线缆验证。
图 6:eMarker(EMCA)原理简介
问题1:USB-C的接口是否一定要IC 支持?