当前位置: 首页 > article >正文

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


http://www.kler.cn/a/154265.html

相关文章:

  • Java基础-集合
  • C++中的桥接模式
  • ReactPress与WordPress:一场内容管理系统的较量
  • 基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
  • 【STL】set,multiset,map,multimap的介绍以及使用
  • 活着就好20241118
  • 2023.11.30 关于 MyBatis 动态 SQL 的使用
  • conda环境下numpy模块ValueError: setting an array element with a sequence.问题解决
  • 计算机 Wi-Fi 掉线后重新连接并恢复网络访问(GPT4)
  • 修改apt-get的出口IP
  • 一篇带你串通数据结构
  • node的proxy-server使用
  • 【力扣1929】数组串联
  • Android 13 - Media框架(15)- OpenMax(三)
  • 微前端qiankun示例 Umi3.5
  • matlab 汽车单车模型固定点跟踪算法
  • io基础入门
  • CPU 使用率和负载Load
  • golang Pool实战与底层实现
  • k8s(三): 基本概念-ReplicaSet与Deployment
  • TA-Lib学习研究笔记——Price Transform (五)
  • 阿里千问Qwen-72 b在中文测试中击败了GPT-3.5
  • 【Matlab】如何快速入门一项新技能-以Matlab/Simulink入门为例
  • C语言中的格式化输出符号:%d %c %p %x等
  • 750mA Linear Charger with Power Path Management
  • Windows安装Mysql Workbench及常用操作