历史上的今天
今天是:2026年03月03日(星期二)
2023年03月03日 | STM32G0技术详解 _ Type-C-UCPD
2023-03-03 来源:zhihu
UCPD特性
UCPD支持USB Power Delivery规范的物理层
支持Universal Serial Bus Power Delivery specification: Revision 3.0, V1.2;
支持Universal Serial Bus Type-C™ Cable 和 Connector Specification: Release 1.3;
主要功能是PD标准的物理实现,以CC线信号方式对应到Type-C线。
UCPD复位和时钟
使用了一个复位信号nPReset;
UCPD寄存器的时钟直接由PCIK提供;
主要功能模块的时钟则由UsbpdCIK供应
此时钟可被预分频;
接收器在输入时钟为6~18MHz范围内均可正常工作;
在6~9MHz时性能较低;

引脚

上拉和下拉电阻

UCPD工作在DFP模式,假设没有反插

UCPD工作在UFP模式,假设没有反插

上下拉电阻、死电池
当MCU未上电时,死电池的下拉电阻依然存在

当MCU未上电时,CC1和CC2之间表现为开路

MCU上电并启动后,先配置UCPD_CR寄存器的ANAMODE(SOURCE或者SINK)和ANASUBMODE
位,再使能SYS_CONFIG[USBPDstrobe]来使能CC的下拉电阻。
快速角色互换(FRS)信号及检测

FRS信号:
需要一个外部的N-MOS晶体管来将CC线拉到地,FRSTX控制外部对应的晶体管;
控制信号(FRSTX)表现为一段高电平。
UCPD_CR寄存器的FRSRXEN位用来控制快速角色互换检测。
UCPD数据控制器
数据控制器负责:
USB Type-C插拔检测并去抖,产生中断;
FRS检测,并产生中断;
CRC校验生成/检查;
4b5b编码/解码;
BPM编码/解码;
有序序列集合(在接收端可选择使用哪个序列);
在接收前导码阶段速率检测;
字节级的USB Power Delivery数据传输负载,可产生中断(PD中断或者DMA中断);
USB Power Delivery时钟分频(包含一个预分频器)。

电压监视和去抖
为了使Type-C的状态机实时保持最新状态,采用连续或者轮询的方式监控CC1和CC2上的
重大电压事件。
为了使软件只接收有意义的事件,去抖过滤掉杂波,它与PD数据收发活动一起协同工作。

PD协议


序列集
包含4个K-Codes的序列集合,当接收器检测到4个中的3个或者全部4个K-Codes匹配
时,则认定为合法序列。

PD消息包格式

PD消息包-复位

硬复位是指正在有消息传输的过程中以一种干净利索的方式来中断传输并复位。
线缆复位与硬复位类似,但不同之处在于它不需要以高优先级的方式来对待。
步骤:
等待25µs;
如果CC不是空闲,则等到它为空闲;
发送前导码,后面跟4个K-Codes表示的硬复位信号;
Disable掉通道(如停止发送和接收),复位物理层并通知协议层;
当协议层请求时重新使能通道。
PD消息包-BIST
取决于协议层请求采取何种具体的BIST,下列两种操作将执行:
发送BIST测试,写UCPD_CR寄存器的TXMODE和TXSEND位;
接收BIST测试,写UCPD_CR寄存器的RXMODE位。
UCPD支持两种模式:
BIST测试数据(192-bit模式),适用于发送和接收接收器的握手包,直接抛弃,并没有传递给协议层;
BIST搬运模式,仅适用于发送,CC线上对应的接收端在此状态下将直接忽略掉此消息。

Type-C状态机处理
对于一般的SOURCE和SINK应用场景(也包含DRP应用)。软件必须实现USB Type-C相关的状态机。
UCPD模块只控制CC线。

低功耗下的运行模式
提供低功耗操作接口,兼容stop模式,在低功耗模式下有能力检测USB PD消息和FRS信号,UCPD可以配置成唤醒MCU。

低功耗模式

中断

史海拾趣
|
1.概述 虽然Linux可以在任何一台386以上的PC上运行,目前大多数人使用的都是新型的,带有各种外设的桌面PC或者笔记本电脑,这样,电源管理功能(PM)就逐渐变得越来越重要。在笔记本电脑上电源管理可以节能,延长电池寿命,而在桌面PC上它 ...… 查看全部问答> |
|
整理了一天,打印时记得用双面A4,因为是按照双面排版的! 下载了记得顶一下,本人刚注册的号,积分不多,帮忙挣点积分了好下载资料,在此谢过了!! (本教材中有少部分图片不是很清楚,不过不影响大局 ...… 查看全部问答> |
|
pos端疑问(请有实际开发经验的同仁帮忙解答) (有分连接) 本人目前所在项目是做一个pos对端服务系统,通过socket负责解析pos传送过来的封包数据。现在pos那端提出他们不支持断点续传功能,也就是假设时间段内发送1000个数据包,有任意一条出错就必须从头再传,基于程序设计逻辑考虑这样肯定是不合适的。pos ...… 查看全部问答> |
|
要用C#开发WINDOWS CE的应用程序,学习的资料谁能给点啊? 用VS2005开发WINDOWS CE的资料好少啊,尤其是中文的,谁能给点啊? 原来一直开发桌面程序的,现在单位需要,要开发WINDOWS CE下的应用程序。 谁能给点学习资料啊?最好是中文的。… 查看全部问答> |
|
阿牛哥6月28日去北京国际会议中心参加安富利ARM系统设计策略研讨会。 这是安富利ARM系统设计策略研讨会在亚洲第一站,这个研讨会将持续三个月时间,在大陆8个城市举办,后续还会在台湾,新加坡 ,韩国 ,印度等举行,真是 ...… 查看全部问答> |




