Type-c设计,PD相关软硬件实现详解

Type-c入门,以及设计相关详解

  • 参考文献
  • Type-c 的引脚功能
    • Type-c 的配置处理
    • 逻辑USB –C线上下拉电阻
    • Type-c 信号介绍--USB各版本的差异
  • USB Type-C口角色定义
    • SOURCE到SINK连接
      • Sink端的结构
      • Source端的结构
      • DRP(Dual Role Port)双端口
      • Type-c 线定义
    • CC通道的配置目的
    • Type-C 接口可以实现两类附属模式( accessory mode)
    • Type-C 采样BMC( Biphase Mark Coding) 编码
      • BMC( Biphase Mark Coding) 编码定义
      • 数据到CC传输(发送)
      • 4b5b的解释
  • PD协议
    • USB PD包的结构
    • USB PD消息
    • 主从端电源协商协议
      • 电源的切换序列
      • 数据的切换序列(空)
  • 例子--USB Dock with DisplayPort
    • 连接拓扑图
    • 管脚分派
  • USB在STM32G0上的实现(空)

参考文献

通用串行总线电力传输规范,版本2.0, 2016年3月25日
通用串行总线Type-C线缆和连接器规范1.2, 2016年3月25日

Type-c 的引脚功能

Type-c设计,PD相关软硬件实现详解_第1张图片
分为AB两边,每边12PIN

A6 和A7

  • 兼容了USB 2.0接口,插座上A6,A7与B6,B7对应的引脚是连在一起的。

CC1和CC2:

  • CC用于发现,配置和管理通过USB Type-C线缆建立连接
  • 在实际使用中只使用一个CC通道,另外一个CC配置成Vconn,对emark供电

Emark是线缆上的一颗IC,会将线缆的供电能力输出,如果线缆的供电能力3A及以上必须输出信息。

SUB1和SUB2

  • 复用功能,如Audio模式,DP模式,通过这两个线实现

VBUS

  • 供电的线路,可在5V-20V之间调节,最大20V/5A 即100W供电
    疑问:TI部分产品能实20V/10A 即200W的供电,协议如何处理。
  • 通过CC通道和线缆or总线进行协商,主从端进行协商,具体的电压电流(使用单片机or IC 控制即控制cc上协商的数据从而改变输出)

高速信号线

  • USB3.1 Tx1 Tx2,Rx1 Rx2进行高速的数据传送

Type-c 的配置处理

连接时包含一个配置处理的过程,目的有两个

  • 检测一个DFP连接去一个UFP的连接
  • 管理VBUS

配置过程

  • SRC to SINK插入或者拔出检测
  • 插入的正反方向检测
  • 初始化电源( SRC-SINK) 和建立数据关系。

逻辑USB –C线上下拉电阻

Type-c设计,PD相关软硬件实现详解_第2张图片
逻辑USB –C ADAPTER上下拉电阻
逻辑USB –C ADAPTER上下拉电阻

  • 供电( source) 通过Rp的阻值来告诉耗电( sink) 自己的默认供电电流:
    例:5V1.5A的设备就是上拉电阻22K
    Source端默认的上拉电阻是56K,通过改变上拉电阻的阻值(漏电流)来告诉设备有更强的驱动能力。

  • Sink 端的下拉电阻同Source

Type-c设计,PD相关软硬件实现详解_第3张图片

Type-c 信号介绍–USB各版本的差异

Type-c设计,PD相关软硬件实现详解_第4张图片

USB Type-C口角色定义

可以通过USB的PD协议进行动态的切换

数据角色

  • DFP --Houst–主机
  • UFP–Device–从机

电源角色

  • SOURCE 纯供电方
  • SINK 纯耗电方
  • DRP( Dual role power) 双重角色的的可供电设备。

SOURCE到SINK连接

下图示意了CC线上链接的示意图
Type-c设计,PD相关软硬件实现详解_第5张图片

下图示意了CC线上不同的上下拉电阻,所代表的不同设备使用情况的检测。PD协议中有详细的规范。
Type-c设计,PD相关软硬件实现详解_第6张图片

  • 如果cc1和cc2 两个都是开即没有连接
  • 如果有一个cc检测到Rd,即cc线得到连接,

Type-c设计,PD相关软硬件实现详解_第7张图片

Sink端的结构

  • Sink 必须有两个下拉电阻( Rd) 分别连接到 两条CC脚上。
  • SINK通过检查到VBUS来确定一个Source的连接
  • SINK通过CC脚上的上拉来建立和检查一个正确的高速USB数据路径( 正反向)
  • 如果sink 支持PD和/或者VDM,需要CC通讯

Type-c设计,PD相关软硬件实现详解_第8张图片
Rd分别加在cc1和cc2上

Source端的结构

  • Source 必须有两个上拉电阻( Rp) 分别连接到两条CC脚上, 并且同时监测SINK
  • Source源在CC1和CC2上提供上拉电阻(Rp), 并监控两者以检测SINK。 在任何一个引脚上存在一个Rd下拉电阻表明正在连接一个Sink。 Rp的值表示主机支持的初始USB Type-C当前供电能力。
  • Source用CC pin下拉特性来检测和建立高速USB数据路径的正确路由, 并确定哪个CC pin用于提供VCONN
  • 一旦检测到SINK, Source将启用VBUS和VCONN
  • Source可以动态的调节Rp值(默认52K), 来告诉SINK可以改变usb type-c电流
  • Source应该实时监控Rd(sink端) 一旦SINK断开, 应该立刻断开已供电源( Vbus, Vconn)
  • 如果Source 支持PD和/或者VDM,需要CC通讯

下图就是Source端的链接示意图:
Type-c设计,PD相关软硬件实现详解_第9张图片

DRP(Dual Role Port)双端口

  • 在VBUS中启用/禁用电源, 最初在DFP模式中禁用VBUS
  • 在建立一个特定的稳定状态之前, DRP、在将自身暴露为DFP和UFP之间交替进行,尝试检测设备的模式。
  • 当DRP作为DFP呈现时, 它遵循DFP的操作来检测一个附加的UFP。如果检测到UFP, 它将应用VBUS,VCONN, 并继续作为DFP进行操作。
  • 当DRP作为UFP呈现时, 它会监视VBUS,以检测它是否与DFP 相连,如果检测到DFP, 它将继续作为UFP运行

注:DRP模式中会不断的检测Vbus以及Vconn的电源,设备需要供电时会给上电源,但是通信模式不变

线路连接示意图:
Type-c设计,PD相关软硬件实现详解_第10张图片

Type-c 线定义

Type-c设计,PD相关软硬件实现详解_第11张图片
带Rmark的Type-c线
Type-c设计,PD相关软硬件实现详解_第12张图片

CC通道的配置目的

在功能上, 配置通道(CC)用于以下目的:
• 检测USB端口的连接/分离, 例如DFP到UFP, 配置VBUS
• 解析电缆方向和twist来建立USB数据总线路由,
• 建立两个连接端口之间的DFP和UFP角色
• USB电源传输通信
Type-c设计,PD相关软硬件实现详解_第13张图片

Type-C 接口可以实现两类附属模式( accessory mode)

  • 音频模式( audio):通过检查到CC1和CC2上都有Ra时来进入音频模式
    Type-c设计,PD相关软硬件实现详解_第14张图片
  • 调试模式( Debug Accessory Mode ,DAM)
    通过检查到CC1和CC2上都有不同的Rp和Rd阻值来决定进入不同的调试模式DTS或者TS
    此模式使用较少

Type-C 采样BMC( Biphase Mark Coding) 编码

BMC( Biphase Mark Coding) 编码定义

数据是0,则电平不变,如果数据为1,则在数据有效位的中间产生一个数据翻转
BMC有一个固定的频率翻转,如果Data线上是0,则固定频率不变,如果是1,则在BMC的1/2频率上产生一次翻转。

  • 传输速度为300kbps± 10%
    Type-c设计,PD相关软硬件实现详解_第15张图片

数据到CC传输(发送)

Type-c设计,PD相关软硬件实现详解_第16张图片

4b5b的解释

Type-c设计,PD相关软硬件实现详解_第17张图片
Type-c设计,PD相关软硬件实现详解_第18张图片
CC数据到数据(接收)

Type-c设计,PD相关软硬件实现详解_第19张图片

PD协议

PD2.0和3.0的差异对比
Type-c设计,PD相关软硬件实现详解_第20张图片

USB PD包的结构

Type-c设计,PD相关软硬件实现详解_第21张图片- Preamble :64bit[1010101…]0开始的包含64个0和1的序列,不进行4b5b编码。
-SOP:不同数据包的开始,像接收者指明包的开始,谁是此消息的接收者(SOP, SOP ', SOP ‘’)是单向的,发一个再回来一个。
Type-c设计,PD相关软硬件实现详解_第22张图片

USB PD消息

Type-c设计,PD相关软硬件实现详解_第23张图片
CRC是32位的, 引用头和所有数据。
• 不包括前言、 SOP和EOP。
• 多项式= 0x04C1 1DB7
• 初始值= 0xFFFF FFFF

EOP是单k码(5位)
• 它触发当前帧的CRC结束(开始计算)。
• 它可以在任何时候发送, 以提前结束一个数据包始

主从端电源协商协议

  1. Source插入发现设备
  2. Cable Plug返回信息,建立连接给ACK.SOP’’(此时连接已经建立)
  3. source capabilities 通过Rp,提供 供电能力信息,sink request 描述需要的电
  4. 接受(accept)则PS_ready 开始供电
    Type-c设计,PD相关软硬件实现详解_第24张图片

设备的切换
Type-c设计,PD相关软硬件实现详解_第25张图片

电源的切换序列

电源的切换,这个在电力的角色切换,数据没有被切换
Type-c设计,PD相关软硬件实现详解_第26张图片

Sink不支持
Type-c设计,PD相关软硬件实现详解_第27张图片
Sink支持,但此时在忙,一会继续通信
Type-c设计,PD相关软硬件实现详解_第28张图片

数据的切换序列(空)

例子–USB Dock with DisplayPort

连接拓扑图

  • cc进行初始化的操作
  • SBUS做信号的传输
  • TX2/Rx2 做高速信号的传输

支持音频拓展,DP的拓展
Type-c设计,PD相关软硬件实现详解_第29张图片

管脚分派

A5:cc直连
USB正常连接
A8:audio 设备的配置
B3B2:做DP的数据传输
Type-c设计,PD相关软硬件实现详解_第30张图片

  • Discover SVIDs
  • Discover Modes
  • Type-c设计,PD相关软硬件实现详解_第31张图片
    • Enter mode
    • Config displayport

Type-c设计,PD相关软硬件实现详解_第32张图片

以上配置都在cc中进行配置。

USB在STM32G0上的实现(空)

实现的方案

乘风破浪的USB Type-C™和PD
http://www.stmcu.org.cn/module/forum/thread-625939-1-1.html

满足USB Type-C™应用需求的STM32/ STM8解决方案包括:
· 使用STM8或STM32 MCU的入门级“仅USB-C”解决方案
· UCPD认证的STM32微控制器和保护 USBType-C™ 端口 TCPP01-M12 配套芯片,用于
· X-CUBE-USB-PD软件包,可简化在任何STM32 MCU上实施Type-C™端口管理器
Type-c设计,PD相关软硬件实现详解_第33张图片

ST MCU 现有STM32G4、STM32L5、 STM32G0等系列微控制器支持USB Type-C和Power delivery接口(UCPD)IP。UCPD功能与STM32CubeMX软件工具兼容,可以配置外设为Sink、Source或Dual Role
Type-c设计,PD相关软硬件实现详解_第34张图片

X-CUBE-USB-PD
STM32G0技术详解 _ Type-C-UCPD
https://zhuanlan.zhihu.com/p/84023742

你可能感兴趣的:(硬件)