第一章 USB Type C的基本原理(连载一)

来源:互联网 发布:java web和前端开发 编辑:程序博客网 时间:2024/06/07 23:21

FROM:http://blog.csdn.net/zoosenpin/article/details/49963031

第一章 USB Type C的基本原理

 

图 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)

引脚解释,如图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 支持?


1 0
原创粉丝点击