USB PD快充协议_pd快充协议文件

2022-11-16 17:48:25 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

1 USB Type-C 1.1 电气参数 Rd: 5.1kΩ Ra: 1.0kΩ Rfrswap: 5Ω,for PD 3.0 FR_Swap 4b5b bit rate: 300kbps BMC bit rate: 600kbps Rp: Reference to the Figure 1-1

Figure 1-1 USB Type-C pull-up resistors

1.2 DELL USB PD DELL笔记本USB PD充电适配器Type-C金属头外壳对地有一只1KΩ的电阻。

2 USB PD基本概念 2.1 4种PDO类型 Fixed Supply: CV(恒压) Battery Supply: CP(恒功率) Variable Supply: CC(恒流) Augmented Programmale Power Supply: PPS (APDO)

APDO: Reference to ‘Table 6-22 Programmable Request Data Object’;电压步长20mV,电流步长50mA。 譬如请求6V @ 2A,那么Request消息的B19…9的值为300,而B6…0的值为40。 PPS模式时,需要Sink每隔10秒左右发送一个Request到Src,重新协商PPS电压电流对(参看Figure 2-3)。

USB PD充电选取不同的电压后,三段式AC充电器会调整开关电源的PWM占空比实现调节变压器次级绕组的输出电压。

Figure 2-1 APDO包格式

2.2 PD SNK RDY状态时,SNK请求改变充电电压电流 Reference to USB_PD_R2_0 V1.3 ‘p358, 8.3.2.8.4.1 Sink Gets Source Capabilities’ 接着双方重新协商发送消息对,如下所示: – Get_Source_Cap – Request(Request对象索引Object Position从1开始,而且该索引位置必定是5V Fixed PDO) – Accept – PS_RDY

PR_Swap时,PD双方的Rp和Rd也要交换,其他message不依赖Rp和Rd。

2.3 FR_Swap消息序列 1) Source (Hub) shorts Rp to ground for ~100 us to signal Sink that is needs to supply power immediately. 2) Sink (Mobile Device) supplies 5V. 3) Rp/Rd are not changed at this stage as in a normal PR_Swap. 4) Mobile device then sends an FR_Swap message to resynchronize the power system. 5) Mobile device renegotiates the power contract as needed.

2.4 USB PD PDO协商流程 Type-C SS MUX切换时间: – 识别到Rp或者Rd连接的时候 – VDM消息进入特定模式时

Figure 2-2 USB PD Message Sequence

Figure 2-3 QC4 充电器

2.5 SOP_P和SOP_PP控制器 远端SOP_PP控制器的存在与否,不是靠检测出来的,而是通过先与SOP_P的通信来获知SOP_PP的控制器是否存在,如果存在,VCONN Source设备才会继续发SOP_PP的报文类型与SOP_PP控制通信。

2.6 iPhone USB PD 使用的芯片是CYPD2104和BQ25890的组合,iPhone X整体PD快充的电源管理策略如下: 1)关机状态下不进行PD沟通,APPLE 2.4A协议生效。非APPLE 2.4A协议开机会慢一点; 2)开机后进行PD协商,依然选取PDO2,前面50%会以较高功率充电(最大不超过15W且视温度及电量自动调控功率); 3)充至50%-55%左右会降至9-11W(视温度及电量自动调控功率); 4)当温度达到一定时,iPhone X会强制降至极低的功率。待手机温度下降后以5W的功率进行后续充电; 5)充电至80%左右,选取PDO1降至5V。请注意此时依然是PD充电,只是选了5V档位减低手机端压降损耗; 6)充电至88%左右,开始进入CV段直到充满。

3 高通平台USB PD 3.1 SDM660的充电器探测流程 – PMIC首先做CC线探测,如果探测到PMIC as UFP,PMIC与此同时再探测CC线是否与VBUS短接,如果VBUS和CC短接,说明插入的是legacy cable(一般指USB-A to USB-C的cable),这个时候直接禁止USB PD和QC(由于CC和VBUS短接,大电流充电会导致电流灌到CC线而可能烧毁PMIC,所以代码默认是禁止QC的); – 上一步成立的情况下(也就是PMIC as UFP)接着做APSD探测,这里充电器类型探测结果有如下2种状况: 1)如果探测到充电器类型是DCP,接着做USB PD(包括QC4 PPS)探测,假如不支持USB PD,接着rerun_apsd()做QC3 & QC2探测,倘若QC3 & QC2探测失败,说明该电源适配器既不支持USB PD (包括QC4 PPS) 也不支持QC3 & QC2,维持在DCP正常充电状态; 2)如果充电器类型不是DCP,直接做USB PD探测。

3.2 驱动代码 高通Type-C、APSD(BC1.2)和QC的驱动代码在drivers/power下;而USB PD的代码在drivers/usb/pd下面,所以你如果把drivers/usb/pd下的代码通过Makefile屏蔽掉,发现Type-C、APSD(BC1.2)和QC3和QC2充电器还是可以工作的;而此时用USB线连接手机和PC,会发现USB不枚举,原因是extcon的代码是集成在drivers/usb/pd下的,所以如果你既要禁止USB PD,又要让USB可以枚举,那么需要把drivers/usb/pd下的extcon代码移植到drivers/power下面。

3.3 PD消息收发何时触发中断 中断机制是Interrupt on GoodCRC(IoG),如Figure 3-1所示。 Figure 3-1 USB PD中断产生

3.4 充电器类型是DCP时代码逻辑 以下是用户外接一个电源适配器到手机后,Type-C、APSD(BC1.2)、USB PD (包括QC4 PPS) 和QC3和QC2的代码逻辑。

一个投票箱有多个投票client,并且对这些client制定规则。 Figure 3-2 Ballot Box Rules

Figure 3-3 USB PD Ballot Box

4 USB PD芯片介绍 4.1 STM32软件实施USB PD协议 USB PD通讯使用的是双相标记码(Bi-phase Mark Code,BMC,300KHz,bit rate 600kbps),此码是一种单线通信编码,数据1的传输需要有一次高/低电平之间的切换过程,数据0的传输则是固定的高电平或低电平。

TX:SPI1从模式MISO当作TX,SPI1 CLK通过配置TIM14产生,工作在600KHz(对应BMC 600kbps),ARR = 72Mhz / 600kbps,PSC = 0,72MHz频率输入,每计数12个(= 72MHz / 600kbps)触发产生一个SPI1从clk时钟。 SPI传输数据过程中总是先发送或接收高字节数据,每个时钟周期接收器或发送器左移一位数据。对于小于16位的数据,在发送前必须左对齐,如果接收的数据小于16位,则采用软件将无效的数据位屏蔽。

RX:TIM1 CH1输入捕获模式并用DMA接收数据。 输入捕获模式下:当捕获单元捕获到外来有效信号边沿事件(通过TIM1 CH1 Capture Compare Enable Register = 0xB设置上升沿和下降沿捕获,STM32库使用宏TIM_ICPolarity_BothEdge = 0x000A配置双边沿触发捕获),将此刻计数器的值锁存到CCR(Capture Compare Register,16bit)影子寄存器并自动将CCR影子寄存器的值拷贝进CCR预装寄存器,以供用户读取。DMA传输方式就是将CCR预装寄存器中的计数值传输到内存中。CCR寄存器中的计数值与上一次的计数值相减 x 计数频率的倒数 = 高电平或者低电平信号宽度。 输入捕获采样的频率就是定时器经过预分配器(PSC)之后的频率,譬如STM32F1 TIM1 CH1的计数器频率等于2.4MHz = 72MHz/(Prescaler 1),那么计数器计数每增加4个就表示BMC(bit rate 600kbps)的一个bit。解码时,如果连续2次计数间隔之差都小于6,那么这2次计数间隔对应的4b5b bit是1,如果1次计数间隔之差大于6,说明这次4b5b bit是0。

https://github.com/alterapraxisptyltd/chromium-ec/blob/master/chip/stm32

MISO (DAT0): mi s əu MOSI (CMD): m əu si QUP:高通平台的SPI总线和I2C共用core和引脚,称为QUP(QCOM Universal Peripheral);而UART和QUP又共用引脚,并且称为BLSP

4.2 FUSB30X Registers.Control.TOGGLE Registers.Status.I_HARDRST void autoVdmDiscovery(void)

4.3 DP Pin assignments TA0356 – USB Type-C and Power Delivery DisplayPort Alternate Mode

USB SSTX – TX1 USB SSRX – RX1 DP0 – RX2 DP1 – TX2

5 Abbreviations AEC-Q100:Automotive Electronics Council-Quality,汽车电子协会,主要规定汽车上IC要遵循的标准,也即是车规认证。汽车级EZ-PD CCG3PA控制器通过了AEC-Q100认证 ARC:Argonant RISC Core CC2530:TI ChipCon2530 CCG2:Type-C Controller Generation 2 CCGP:USB Common Class Generic Parent,Linux内核类似的驱动就是usb_generic_driver DWC2:Design Ware Controller 2,Apple的嵌入式设备,包括iPad和iPhone都是使用的DWC2 EZ-PD PMG1: Power Delivery Microcontroller Gen1 in year 2021 giveback:归还 – ehci_urb_done() -> usb_hcd_giveback_urb()。USB PD中的giveback(= 1)指sink会响应source的GotoMin请求,返还部分电力给source。 GRL:Granite River Labs,GRL东莞实验室 halt:停车或者站住,来自于德语;USB endpoint停止运行,返回stall handshake。recovery方法:control ep接收下一次SETUP PID时,自动清除halt标志;其它ep使用clear_feature复位ep halt。 HX3C:USB Type-C Hub with PD ISP1161:Philips’ Integrated host Solution Pairs 1161,“Firms introduce USB host controllers”,https://www.eetimes.com/document.asp?doc_id=1290054 MPS:Monolithic Power Systems,美国公司 PTN5100:Part Number Quirks:the attributes of a device that are considered to be noncompliant with expected operation RS507L:ASEMI整流桥RS507L,4pin接口;用途有LED,手机充电器整流 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);产品UHC124表示USB Host Controller;收购了ARC USB技术;现已被chipidea收购,chipidea又被mips收购 TLV:TI Low Value,高性价比 TPS:TI Performance Solution USB BH reset:Bigger Hammer or Brad Hosler,表示warm reset;you may be confused why the USB 3.0 spec calls the same type of reset “warm reset” in some places and “BH reset” in other places. “BH” reset is supposed to stand for “Big Hammer” reset, but it also stands for “Brad Hosler”. Brad died shortly after the USB 3.0 bus specification was started, and they decided to name the reset after him. The suggestion was made shortly before the spec was finalized, so the wording is a bit inconsistent. USB PD:USB 电源交付 USB PDT:USB PD Test Instrument

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/215914.html原文链接:https://javaforall.cn

0 人点赞