USB Type-C的基本原理
1 USB Type-C的基本原理
1.1 基本特性
Figure 1-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/5A)
1.2 引脚定义
Figure 1-2 引脚定义
母口:
公头:
Figure 1-3 引脚映射图
1.3 USB-C设备识别方法
Figure 1-4 USB-C设备识别方法
电阻和充电电流映射如Table 1-1所示。
Table 1-1 USB-C Rp和Rd具体值(以上拉电压5V为例)
1.4 正反可插原理
Figure 1-5 正反可插图示
1.5 DRP设备如何工作
Figure 1-6 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;
} // end of switch
}
1.6 防伪以及线缆验证
Figure 1-7 eMarker(EMCA)原理简介
Question:USB-C的接口是否一定要IC支持?
2 Abbreviations
ARC:Argonant RISC Core
AT91SAM9260:SAM means Smart ARM-based Microcontroller
ATMEL SAMBA:ATMEL Smart ARM-based Microcontroller Boot Assistant
DWC2:Design Ware Controller 2,Apple的嵌入式设备,包括iPad和iPhone都是使用的DWC2
ISP1161:Philips' Integrated host Solution Pairs 1161,“Firms introduce USB host controllers”,https://www.eetimes.com/document.asp?doc_id=1290054
SL811HS:Cypress/ScanLogic 811 Host/Slave,性能上与ISP1161(Integrated host Solution Pairs 1161)相当
TDI:TransDimension Inc.,该公司首先发明了将TT集成到EHCI RootHub中的方法,这样对于嵌入式系统来说,就省去了OHCI/UHCI的硬件,同时降低了成本,作为对该公司的纪念,Linux内核定义了宏ehci_is_TDI(ehci)
TT:Transaction Translator(事务转换器,将USB2.0的包转换成USB1.1的包)