[USB编程]

TCPC-可用于笔记本,平板等HOST端的解决方案(乐得瑞)

[复制链接]
13123|1
手机看帖
扫描二维码
随时随地手机跟帖
卢锡荣213|  楼主 | 2021-6-15 09:25 | 显示全部楼层 |阅读模式
USB-C的作用
USB-C端口具有体积小,可正反插等特性,被越来越多的设备采用。USB-C也可以写作USB Type-C。USB-C端口兼容之前旧版的USB -A口的所有功能,可以实现快充功能和传输高清音视频的功能。
快充方面:搭载USB PD、QC等快充协议,实现手机等用电设备的快速充电。新推出的USB PD 3.1更是将之前的最高充电功率由100W增加到240W,进一步扩大了快充的使用范围。
音视频方面:传输DisplayPort视频信号,DisplayPort中也包含音频信息。还可搭配模拟耳机和数字耳机,可连接音频设备。新推出的USB4规范强制规定只能使用USB Type-C接口,传输带宽达到40Gbps。还兼容了雷电3协议。更大的带宽,可以同时扩展更多的设备。比如可以通过USB4扩展坞同时接移动硬盘,高清显示器和外置显卡。

USB Type-C端口搭载USB PD、QC等协议,来统一快充市场,而且具备音视频传输功能等。基于以上优势,USB-C有望实现USB端口的统一。可以预见,设备采用USB Type-C端口是大势所趋。

面临的困境
由于USB-C端口、USB PD等快充协议是近几年才推出的,所以在之前推出的SOC或MCU必然没有集成USB PD、QC等协议,也不支持USB Type-C的逻辑识别功能,也就无法实现USB Type-C端口快充和高清音视频传输的功能,因为快充和高清音视频传输的实现都需要依靠USB Type-C的识别和相关协议的沟通。那么这些SOC或MCU将面临市场的淘汰和资源的浪费。而且研发新的集成USB PD、QC等的SOC或MCU,开发周期长,成本高,足以让不少芯片原厂止步,而且有的设备需要多个USB -C口(比如苹果公司推出的Macbook Pro笔记本就有4个USB-C口),更是加大了研发难度。那么有没有简单的方法解决以上的困境?答案是有,就是采用TCPC芯片。

解决方式
可以采用SOC或MCU与TCPC芯片配合使用,来解决上面提到的困境。TCPC芯片用来实施USB Type-C底层的逻辑识别和协议沟通,SOC或MCU作为TCPM来进行上层的策略管理。TCPC和TCPM之间连接的接口叫做TCPCI,可采用I2C(或SMbus)方式通信。这样SOC或MCU只需要有I2C主模式的功能,就能方便实现USB-C端口快充及高清音视频传输功能。而I2C主模式还可以用芯片的GPIO来模拟的,所以SOC或MCU理论上都可以作为TCPM。那么到底TCPC、TCPM和TCPCI究竟是什么?下面来介绍。

TCPC、TCPM和TCPCI

TCPC和TCPM是USB-IF协会发布的《Universal Serial Bus Type-C Port Controller Interface Specification》文档中提出的概念,两者之间连接的接口称为TCPCI,下面介绍TCPM、TCPC和TCPCI。

什么是TCPM?
TCPM英文全称为USB Type-C Port Manager,即USB Type-C 端口管理器。TCPC是一个功能管理模块,包括VBUS和VCONN电源管理以及USB PD通信的设备策略管理层、策略引擎层和部分协议层等。

什么是TCPC?
TCPC英文全称为USB Type-C Port Controller,即USB Type-C 端口控制器。TCPC是一个功能控制模块,包括VBUS和VCONN电源控制、USB Type-C CC逻辑以及USB PD通信 BMC物理层和部分协议层等。

什么是TCPCI?
TCPCI英文全称为USB Type-C Port Controller Interface ,即USB Type-C 端口控制器接口。TCPCI的目的是在TCPC和TCPM之间提供定义的接口,以便标准化和简化TCPM实现。TCPCI除了规定的内容,还包含了供应商自定义内容,用于供应商进行相应的功能扩展

上图展示了一个TCPM和多个TCPC连接的框图。可以看到TCPC重点在“控制”,是USB Type-C控制器,负责控制底层通信的实施,包括出错重发机制。TCPM重点在“管理”,是USB Type-C管理器,负责管理一个或多个USB Type-C端口的上层策略。TCPM和TCPC之间的连接的接口叫做TCPCI,是两者之间的桥梁,可采用I2C(或SMbus)方式进行沟通。而LDR6280就是一款TCPC芯片。

TCPC方案介绍

LDR6280是深圳市乐得瑞科技有限公司研发的一款单端口USB Type-C控制器,支持Source,Sink,或DRP模式,也支持Type-C DRP Try.SRC和Type-C DRP Try.SNK模式,为平板电脑、显示器、移动电源等应用提供了完整的USB Type-C和USB Power Delivery端口控制解决方案。LDR6280可以通过UART方式或I2C的方式进行在线升级,来更新芯片的固件。其中I2C升级方式可用于实现SOC给LDR6280更新固件。

LDR6280特点
1、集成USB TYPE-C
- 支持USB TYPE-C规范2.0版
- 支持Source, Sink和DRP模式
- 支持Type-C DRP Try.SRC或者Try.SNK
- 自动检测TYPE-C设备的插入与拔出

2、集成USB Power Delivery
- 集成 USB Power Delivery 2.0/3.0协议
- 支持DFP,UFP以及Data Role Swap
- 支持PPS,电压最小可调20mV,电流最小可调50mA
- 集成对eMarker线缆的识别和支持
- 支持Power Role Swap
- 支持Fast Role Swap (FRS)

3、支持外接MCU通信
- 支持UART模式,通信波特率可选,默认为19200
- 支持I2C/SMBus模式,支持USB Type-C port controller接口(TCPCI)规范

4、工作电压
内嵌LDO可支持宽电压输入: 1.8V到5.5 V。I2C上拉电阻电压的范围:1.62V-5.5V
5、工作温度
-支持工业级温度范围-40℃~85℃
6、封装
-5mm x 5mm x 0.75mm QFN32

LDR6280应用
- 笔记本电脑、平板电脑和游戏主机等
- 显示器
- 电源适配器、移动电源等
- 老化柜
- 其他USB Type-C上行端口,下行端口以及双角色端口

应用框图
1、双角色端口(DRP)应用-多Type-C端口的移动电源

上图为多口移动电源的应用,MCU通过I2C/SMbus的方式控制两个LDR6280(USB Type-C Port Controller,TCPC),可以实现两个USB Type-C口支持PD和QC快充协议,并且实现充电和放电。
TCPM和TCPC的配合这种方案解决了多个USB Type-C口之间的协调管理问题。
TCPM通过I2C/SMbus的方式,根据设备地址可与多个TCPC(LDR6280)通信,来配置初始为DFP(USB Type-C DRP Try.SRC)、UFP(USB Type-C DRP Try.SNK)或者DRP。TCPC(LDR6280)和对方端口建立连接后,报告给TCPM。TCPM进行USB PD通信的策略管理,TCPC实现具体的通信过程。
以移动电源为例,LDR6280设置为DRP扫描,通过I2C中断引脚输出低电平来通知TCPM,底层状态发生了改变。TCPM读取TCPCI中规定的ALERT寄存器来获取当前的状态信息。
如果LDR6280检测到USB Type-C上的CC引脚有Source建立连接,通过I2C中断引脚报告给TCPM,TCPM读取ALERT寄存器获取CC锁定状态,紧接着收到Source端发送的Source_Capabilities,用同样的方式报告给TCPM,然后TCPM通过数据缓存区获取Source_Capabilities数据包,得到Source端的功率信息。然后TCPM根据功率需求,发送Request数据包给LDR6280,由LDR6280发送给对方Request数据包,从而请求出需要的功率。
如果LDR6280检测到USB Type-C上的CC引脚有Sink建立连接,通过I2C中断引脚报告给TCPM,TCPM读取ALERT寄存器获取CC锁定状态。紧接着,TCPM控制LDR6280,向Sink端发送Source_Capabilities数据包。对方的Sink通过获取的Source_Capabilities数据包,得到TCPM设定的功率信息。然后Sink根据功率需求,发送Request数据包给LDR6280,由LDR6280报告并上传数据包给TCPM,TCPM评估请求。如果同意,就先后控制LDR6280发送Accept和PS_RDY信息,如果拒绝,就控制LDR6280发送Reject信息。
LDR6280内部集成了VCONN_SRC,适用于需要使用USB Type-C插座的VCONN引脚为附件和电缆供电的应用。还连接了分压电阻用于过压检测,以及采样电阻用于过流检测。

2、双角色端口(DRP)应用-带有Type-C端口的笔记本电脑

嵌入式控制器管理电池充电器控制器(BCC),控制电池的充电和放电。它作为USB Type-C端口管理器(USB Type-C Port Manager,TCPM),通过I2C/SMbus的方式与LDR6280(USB Type-C Port Controller,TCPC)通信,实现功率的配置,以及通过VDM信息的协商等,控制USB芯片组 、DisplayPort芯片组分别输出USB信号和DisplayPort信号。

以笔记本为例,LDR6280设置为DRP扫描,通过I2C中断引脚输出低电平来通知TCPM,底层状态发生了改变。TCPM读取TCPCI中规定的ALERT寄存器来获取当前的状态信息。快充的实现参照前面的多USB Type-C端口的移动电源的介绍,这里介绍高清音视频部分。

功率配置完成后,主机的嵌入式控制器(TCPM)控制LDR6280进行VDM信息的协商,包括DP Alt Mode的配置等,LDR6280如果收到Attention信息,报告给TCPM。TCPM通知DisplayPort芯片组进行AUX通路的通信,读取显示设备的EDID信息,确认支持后,输出DisplayPort高清视频信号给显示设备。其中DisplayPort信号中还包含音频信号。TCPM还通知USB芯片组输出USB数据。其中USB 2.0也可以输出音频
信号,属于数字音频信号。还有模拟音频信号,传输方式和数字音频信号有很大不同,通过USB Type-C的A8(SBU1)或B8(SBU2)引脚传输MIC信号,A6和B6(都是D+)引脚传输右声道,A6和B6(都是D-)引脚传输左声道。A5和B5引脚用于检测是否有模拟音频插入,一定检测到连接,LDR6280会通知TCPM有模拟音频设备接入,然后TCPM通知模拟音频模块进行模拟音频信号传输。

使用特权

评论回复

相关帖子

卢锡荣213|  楼主 | 2021-6-15 09:26 | 显示全部楼层
有没有学霸一起来学习一下TCPC编程呀,有师傅带噢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

53

帖子

1

粉丝