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的包)

### Type-C 接口正反插原理 Type-C接口支持正反两面均可插入的功能,这得益于其独特的引脚布局和内部电路设计。Type-C连接器具有24个引脚,在物理结构上实现了上下对称的设计[^1]。 当用户将Type-C线缆插入设备时,无论方向如何,都能确保正确的电气接触。这种双向兼容性通过以下机制实现: - **引脚分配**:Type-C接头中的Vbus、GND以及数据传输引脚(如Tx/Rx)均成对存在,并分布在连接器两侧。这意味着即使翻插头,对应的信号路径仍然保持一致。 - **配置通道(CC) Pin功能**:两个CC针脚用于识别电缆的方向并建立主机与外设之间的通信链路。其中一个CC针脚会根据插入方向自动激活,从而告知系统当前的连接状态[^3]。 #### 设计注意事项 对于希望开发具备Type-C接口的产品而言,设计师需要注意以下几个方面以确保良好的用户体验和技术性能: - **PCB布线优化**:由于Type-C支持多种供电模式及高速数据传输速率,因此在印制电路板(PCB)上的走线需特别谨慎处理,避免干扰或衰减问题发生[^2]。 - **元件选择**:选用合适的电容器件和其他无源组件来满足不同工作条件下的需求;同时也要考虑热管理方案,防止过温损坏敏感部件。 ```python # Python代码示例展示如何判断Type-C 插入方向 (伪代码) def detect_cable_orientation(cc_pin_1_voltage, cc_pin_2_voltage): if cc_pin_1_voltage > cc_pin_2_voltage: return "Cable inserted normally" elif cc_pin_1_voltage < cc_pin_2_voltage: return "Cable inserted upside down" else: return "No cable detected or both CC pins shorted" print(detect_cable_orientation(0.8, 0.2)) # 输出应为"Cable inserted normally" ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值