USBPD2文档格式.docx

上传人:b****6 文档编号:19537348 上传时间:2023-01-07 格式:DOCX 页数:11 大小:629.62KB
下载 相关 举报
USBPD2文档格式.docx_第1页
第1页 / 共11页
USBPD2文档格式.docx_第2页
第2页 / 共11页
USBPD2文档格式.docx_第3页
第3页 / 共11页
USBPD2文档格式.docx_第4页
第4页 / 共11页
USBPD2文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

USBPD2文档格式.docx

《USBPD2文档格式.docx》由会员分享,可在线阅读,更多相关《USBPD2文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

USBPD2文档格式.docx

自供电设备在硬重置后不断开USB连接但没法执行全部功能,总线供电设备在硬重置后会与USB断掉连接。

一旦连接建立起来,如果出现警告信息则source会硬重置。

在source检测到电流不存在问题后,会启动恢复操作。

如果恢复默认状态后过流保护措施仍热执行,那么关闭端口或系统是应对的一种恰当的响应。

过温保护也是如此。

Source作为备用电源时释放bulkcapacitance上的电量,使得Vbus下降为0,于是source发生了powerroleswap。

在swapstandby过程中,双角色电源交换端口应配置成sink。

在Vbus驱动被移除后,与source切换为备用电源相关的PS_RDY信息被发送出去。

Source被切换为备用电源后,不再作为源的角色,而是准备成为新的sink。

这个新的sink在新的source发送PS_RDY信息后使用电源。

在与sink交涉后发生过载操作,source发送新的sourcecapabilities(固定电压的PDO的峰值比特位设为00b)以阻止其发生。

Source有更大的能力去获取峰值电流,而不是使用固定电源PDO中的峰值区域,这时要使用到sourcecapabilities_extendmessage的峰值域。

当Vbus超过5V时,HubDRP发送fastroleswap给HostDRP。

当在HubDRP端连接器的Vbus下降到vsafe5v以下时,PS_RDY信息发送给hostDRP去进行角色交换。

在交换过程中,新的source检测到Vbus低于vsafe5V(max)时,会阻止其低于vsafe5v(min),当然这需要一定时延。

(注:

角色交换后,作为newsink的hostDRP优先级高于fastroleswap)。

7.2sink的配置

Sink设备在一开始加载时会瞬间有一个较大电流,需要控制Vbus,防止浪涌电流破坏电路。

在电源角色交换过程中,sink在变成新的source之前切换成备用。

Source同时控制电压和电流转换去主导PD操作。

在折返电流中操作PPS时,注意调节功率防止浪涌电流。

在powerroleswap协商过程中sink从Vbus中吸收电流,source放电到0V,就算Vbus不是5v,sink的USB连接端也不会复位。

当source与sink分离时,Vbus被放电低于5V,sink从输入电容吸收功率。

为了安全可靠的sink设备,放电电路需具备以下特点:

协商的Vbus=20V,允许的最大供应电压Vbus=21.5V,最大bulk电容=30uf,分离时的电源功耗=12.5mW。

在大多数场合,安全的sink端需限制sinkbulk的容值。

过压保护的端口在source的Vbus重新建立vsafe5V时,恢复默认操作。

在恢复默认操作后,如果过压保护继续执行,sink会关闭系统或端口。

稳定的连接建立起来后,如果出现alert信息,sink端会硬置位。

7.3转化过程

电压和电流的变化过程,首先source端的policyengine发送accept信息给sink,sink端的policyengine接收accept信息后开始计时;

sink端的协议层发送GOODCRC信息回source并让sink端的policyengine评估accept信息;

source端的协议层接收GOODCRC信息,让source端的policyengine去更新电源输出;

sink端的policyengine让devicepolicymanger调整sink的电压值。

Source的devicepolicymanger传送电源供应信息给policyengine,让它调整source端的输出电源电压。

Source端的policyengine发送PS_RDY信息给sink,sink端的policyengine接收PS_RDY信息;

sink端的协议层发送GOODCRC信息给source,并让sink端的policyengine评估PS_RDY信息;

source端的协议层接收GOODCRC信息;

sink端在评估完PS_RDY信息,开始调节端口的电量供应。

Powerroleswap过程中,policyengine收发accept信息,协议层收发GOODCRC信息,sink的policyengine告诉devicepolicymanager去swapstandby;

source接收GOODCRC后,通知devicepolicymanager去swapstandby,将CC线上的Rp变为Rd。

policyengine收发PS_RDY信息。

Protocollayer收发GOODCRC。

Sink的policyengine告诉devicepolicymanager让端口角色变为source,将CC线上的Rd变为Rp。

devicepolicy告诉policyengine准备好,收发PS_RDY。

Source端评估PS_RDY,swapstandby给sink,协议层收发GOODCRC信息。

Fastroleswap中sink在CC线上检测到FR_SWAP,再发回FR_swap信息给source。

协议层收发GOODCRC。

Policyengine收发accept信息,协议层收发GOODCRC信息。

source的policyengine检查到Vbus<

5V,其CC线的Rp变为Rd,source将PS_RDY信息发送出去,sink接收到PS_RDY信息并policyengine检查到Vbus<

5V,newsource供电给Vbus使变为5V。

协议层收发GOODCRC信息,sink端的Rd变为Rp,policyengine收发PS_RDY信息。

改变PPS、PDO、APDO的电压,首先policyengine收发accept信息,protocollayer收发GOODCRC信息。

Source发送accept后,devicepolicymanger让source端口电压变化并传递信息给policyengine。

Policyengine收发PS_RDY信息,协议层收发GOODCRC。

Sink告诉devicepolicymanger调节输出电压。

 

8、设备策略

设备策略管理器能够管理USBPD端口的电源分配,能根据端口、设备(PD和noPD)的内部电源信息收发供电信息。

Devicepolicymanger根据source和sink的请求和响应去匹配端口的电流电压,还能管理进行电源角色交换。

Devicepolicymanger能主导本地策略制定;

对于source端而言能监视性能和触发变化;

对于sink能响应特定端口的policyengine的请求;

对给定端口的引擎提供接口,并对连接的设备加以控制。

Devicepolicy根据sink的需求去评估它的source端的供能情况。

系统策略管理器可向设备策略管理器请求执行端口的本地策略。

设备策略管理器控制USB-C端口模块进行供电、检测电缆功能和连接状态,控制端口的操作角色并传输电源信息给policyengine。

设备策略管理器在给支持PD设备的供电中起重要作用,还能回收部分电源。

有些产品在不同的功率级别上会发挥不同的作用,而设备策略管理器会提供相应的机制管理。

使用大负载的设备的操作电流使用最大电流(giveflag=0),使用自身电池充电的使用最小电流(giveflag=1)。

如果需求的功率有限,HDD在请求功率之前会使用gotomin信息回收部分功率。

在得到最终的授权之前,HDD继续请求额外的电源。

像gotomin信息是从一个端口回收功率去支持另一个端口的consumer执行短期的操作。

使用gotomin回收的功率算作电力储备的一部分。

Consumer在请求他的电源回流能力时,应该考虑到自身正常工作需求。

如果功率出现不协调,设备策略管理器会通知系统策略管理器,系统策略管理器会通知用户切换到备用端口。

当设置了无约束电源位时,会通知所连的设备去使用能够维持其正常工作的外部电源,该电源既可以是给系统供电,也可以是外部的电池或交流电源或多端口电源接口。

当两个设备连上unconstrained电源,它们会制定策略阻止自己与对方发生持续的能量交换。

设备策略管理器控制每一个端口的策略引擎接口。

Provider/consumer的设备策略管理器通知策略引擎交换角色,收发响应,评估电源性能。

每个端口有策略引擎,与设备策略管理器交互,以实现本地的策略制定。

Source和sink指示AMS在协议层中通过PE_SRC_Ready或PE_SNK_Ready状态开始或结束。

协议层在策略引擎的驱动下形成信息,发送到物理层。

Sender的物理层给信息附上CRC发送,receiver的物理层接收信息并检查CRC,之后物理层移除CRC,并将信息发往协议层。

协议层检测到信息的messageid不同则复制一份存储,再把信息发往策略引擎,同时协议层发CRC信息给物理层。

Recevier的物理层接收并检查后,加上GOODCRC信息发送。

Sender的物理层移除CRC,把GOODCRC信息发给协议层,协议层增加message_id的值,之后通知策略引擎信息成功接收。

当传输过程中有干扰的话就无法正常传输,需要重新传输。

传输干扰或bad的CRC导致信息没传到协议层,GOODCRC没被发送。

如果接收的messageid和之前存储的一样说明是出错重试。

信息不会发给策略引擎。

当策略引擎接收到不识别或错误信息时,协议层会软件重启。

Sender接收到的GOODCRC有错误,可能是CRC接收定时器计数溢出然后重试发送。

Receiver的物理层没接收到信息或信息中附带坏的CRC,发送端的协议层开始重试发送。

AMS在上一个信息被成功发送(GOODCRC已被接收完成)之前是中断的。

电源协商过程中source在sourcecapabilities中发送它的powercapabilities信息,sink从发送过来的性能信息中挑选出合适的功率级别,再向source发送请求信息。

Source接收请求信息后,向sink发送accept信息。

Source切换到新的功率级别后,发送PS_RDY信息通知sink,而后sink使用新的功率级别。

在这过程中sourcecapabilities、accept、PS_RDY、GOODCRC信息在协议层中产生,信息加上CRC后传到物理层中收发,协议层检查messageid的值,协议层评估接收的信息后会通知策略引擎去操作。

在收发PS_RDY之前端口的输出功率更新到新的级别。

只有接收GOODCRC端口的协议层才对messageheader中的messageid产生影响。

Hard/softreset过程中一开始复位messageid,hardreset过程中PHY层发送hardreset后不通行,协议层通知策略引擎hardreset,策略引擎请求设备策略管理器将端口恢复默认状态,sink复位后PHY层通道接通,复位完成后,软复位协议层收发accept信息,硬复位收发sourcecapabilities信息。

电源角色交换过程(不需协议好功率),发送交换指令,再用GOODCRC确认接受成功,然后发送accept信息。

进行交换时,策略引擎请求设备策略管理器变换CC线上的Rp/Rd,再发送PS_RDY命令,其messageheader的端口角色位已改变。

变换后newsink端口输出值降为vSafe0V,newsource输出值为vSafe5V。

发送PS_RDY总是由initialsource开始,即交换过程是由initialsource变为sink开始。

数据角色交换过程中source和sink的角色保持不变,协议层收发交换指令和accept指令后portdatarole角色改变。

Vconn交换过程中发送交换指令和accept指令,Vconn的状态改变,先从Vconnoff的一端开始,经过PS_RDY信息后另一端才失去Vconnsource。

在VDM信息的传送过程中,DFP与UFP、cableplug通信时,要先建立稳定的连接,然后DFP协议层发送discoverid指令给UFP或cableplug。

UFP或cableplug接受信息后,先发送GOODCRC(协议层生成,物理层发送)给DFP,接着在策略引擎的请求下,协议层生成discoverid的响应命令发给DFP,DFP接受后发回GOODCRC信息。

而source端口与cableplig通信时可不用先建立稳定的连接。

在DFP找到合适的SVID和mode后开始进入相应的mode中,如果entermode那先有稳定连接且进入USBsafe;

如果exitmode那要进入USBsafe模式中(适用于DFP与UFP、cableplug之间通信,cable不需要稳定连接)。

UFP发给DFP的attention命令只需要协议层在策略引擎和物理层的作用下收发attention和GOODCRC命令即可完成(attention命令只包括请求但没有响应回来)。

当sink/source获取alert信息后还要获取合作端口的性能状态信息去做相应的改变。

Source/sink向通信的端口发出请求状态信息的命令(policyengine指挥协议层生成,物理层加载CRC后发送出去),合作端口/cableplug接受后,返回GOODCRC,同时在policyengine的指挥下,向DPM请求端口信息状态,再告诉协议层生成相应信息发送出去,对方接受后一样返回GOODCRC以示接受完成。

像在sink、source、cableplug之间交换加密信息或升级固件,发出请求和接受响应和以上过程类似。

自动测试过程,有BIST载波模式和BIST测试数据模式。

载波模式发生在tester和UUT之间,tester发送携带载波模式的BIST信息给UUT,UUT返回GOODCRC信息,UUT的策略引擎告诉协议层进入载波模式,进入载波模式后协议层开始生成载波模型,物理层生成载波数据流,该测试可以用来测试电源的噪声和频率漂移。

Tester发送BIST信息(包含BIST数据对象)给UUT,UUT接受后在policyengine作用下进入BISTTestdata模式,Tester发送BIST信息给UUT,UUT给予GOODCRC响应,以此重复多次,当hardreset后UUT退出该模式。

9、状态和状态报告

章节讲述了数据连接(D+/D-和SSTx/SSRx+/-)设备的机制,也讲述设备转化到相应的USBPD状态的变化过程。

支持PD功能的设备插上电缆插座后要以自供电的方式报告自己。

USB3.0与PD协议有些不同,比如Vbus单独存在不意味着设备从USB连接状态转换到USB供电状态,Vbus移除也不表示从USB状态变为附着状态。

PDUSB设备在成功建立连接后在配置描述符的bMaxPower位域中报告零值,当切换回标准USB操作时重新列举配置描述符。

设备端口之间的连接既是功率电源的流动,也是状态和控制信息组成的通信。

在基础的USB系统中,host管理着策略(不同于USBPD机制,这是管理本地策略),这种系统级别的策略信息是由标准的USB数据线进行通信的,传输着状态信息和控制请求。

SPM接受从主机或从机的状态信息,管理好主机的信息并向用户提供反馈。

SPM协调好系统中provider和consumer的请求的本地策略或功率信息。

本地策略的变动会使用PD协议去在连接的设备之间重新协调。

刚连接上或硬件复位后USB设备默认是sink,当从USB附着转化为USBpower状态时有以下步骤:

USBpower转换为USBattached:

从USB的任何状态转化为USBattach状态

在数据角色交换后PDUSBhost变为PDUSBdevice:

软件操作:

第一PDUSBdevice与供电端的系统策略管理协商好是否能正常使用;

第二建立连接后设备发出信号与xHC连接;

第三、根据设备要求的功能驱动

如果设备不能从系统中获得足够的功率能量去执行相应的功能,那主机会显示相应的供能失败的信息。

PDUSB设备会返回功能描述符,这些二进制的描述符作为存储描述符集的一部分。

PDUSB设备如果有电池,会支持与电池相关的请求。

PDUSB集线器或外围设备有电池的话要在被请求时返回电池的状态信息。

如果相关的设备没配置,那响应无法识别。

如果配置错误,那相应的操作不执行。

设备在BOS描述符中报告PD性能才有效。

10、功率的规律

为了避免适配器的不兼容性,需定制一些通用的功率规则。

Source的功率规则:

适合适配器的电流和电压需求,有大的PDP能够给小的PDP适配器供电,适配器系统与device的系统相互联系匹配。

以下为规范的电流电压值

对于5V@3A的USBTYPE-c的source,功率大于15W是违反规则的;

3A的线缆比较常见,在增加到最大电压20V之前,工作电流不能超过3A。

按照协议最大的是20V@5A。

所以固定的PDO有5V、9V、15V、20V。

不管是source还是sink的rule,FixedsupplyPDO、variablesupplyPDO、batterysupplyPDO的最大电流和电压值不要超过规范的PDP。

可编程的PDO或APDO的PDP要按照下面的规范:

在可编程电源中对于固定的规范电压值,是有一定的电压范围变动的。

在该范围内可看成对应的固定值。

在实际运用中电源适配器会广播多种PDP组合(固定的和可编程的),但不能违反功率规则,广播的PDO/APDO不能超过7个。

一般低的PDP的source要给高PDP的sink供电。

为了优化用户体验source有高的PDP,而sink有低的PDP。

不管source的PDP大于规范值还是等于规范值,sink都为其提供一样的用户体验。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1