使用 USB Type-C 等高速接口设计稳健的系统需要格外小心。当接口涉及 USB 供电等功能时,调试设计变得更加复杂。虽然可以通过确认消息是否准确发送和接收来验证系统,但可能会出现许多使验证复杂化的问题。
例如,使用 USB 供电时,两个设备必须完成电源合同协商以确定设备之间将传输多少功率。但是,如果在协商过程中出现错误,则调试过程可能会非常困难,除非您实际上可以实时捕获信号数据并在 USB 协议的上下文中查看它们。
在与其他制造商的设备通信时,信号的可见性也很重要。由于 USB Type-C 在一个连接器中结合了数据、电源和视频,识别 Type-C 端口的实际功能可能具有挑战性,例如它是电源还是接收器,它提供或需要什么电源功能, 以及它是否支持交替模式。通过信号可见性,查看设备的实际行为是一个简单的过程。开发人员还可以在电气和消息级别验证配置通道 (CC) 上的通信。
为帮助开发人员,可以使用 USB Type-C/PD 分析器,例如赛普拉斯的CY4500 EZ-PD 协议分析器。协议分析器可以在配置通道(CC 线路)上以非侵入式方式探测和捕获 USB-PD 协议消息。本文介绍了使用协议分析器的调试技术,可以加速基于 USB-PD 的设计的开发。除了设计和调试之外,分析器还有助于帮助开发人员理解 USB-PD 协议。有关 USB Type-C 和电力传输协议的基础信息,请参阅USB Type-C 和电力传输:101。
Cypress 的 CY4500 EZ-PD TM协议分析器套件(见图 1)等协议分析器支持对USB-PD和USB Type-C规范的分析。它们以不会对实时通信产生负面影响的非侵入方式捕获 CC 线路上的 USB-PD 消息。该分析仪由赛普拉斯的可编程 MCU ( PSoC 5LP),它监视 CC 线路(USB Type-C 连接器)上的数据,并通过 USB 接口将此数据发送到主机应用程序 EZ-PD Analyzer Utility。此分析仪上的 USB Type-C 插头和插座为在每个 USB-PD 连接之间传输的 CC 消息提供直通。可编程 MCU 在不干扰系统的情况下获取这些 CC 消息,并通过 USB 接口将它们传输到运行 CY4500 EZ-PD 协议分析器的 PC ,CY4500 EZ-PD 协议分析器是一种捕获 USB-PD 跟踪和显示的工具(见图 2)。
点击查看大图
图 1:USB-PD Type-C 协议分析器套件 (CY4500 EZ-PD)
点击查看大图
图 2. EZ-PD Analyzer Utility 用户界面
协议分析仪可轻松对任何 USB Type-C 和 USB PD 系统进行电气级和协议级调试和分析。该分析仪通过连接到 PC 的 USB 接口供电,包括用于探测 USB Type-C 信号(CC 线、VBUS 和 SBU 线)的连接器接头。分析仪可以触发 GPIO 集,用于特定(或组合)USB PD 事件的定时测量。分析仪对 CC 端接的支持允许模拟 USB Type-C 源/接收器/电缆进行测试,而无需连接到另一个 USB Type-C 设备。
在 PC 端,图形用户界面 (GUI) 可以在任何 USB Type-C 系统的协议级别轻松捕获、离线分析和调试 USB PD 消息。GUI 简化了 CY4500 板上 GPIO 的触发集,用于特定(或组合)USB PD 事件的定时测量。开发人员还可以轻松启用和禁用 CY4500 板上的 CC 终端,以模拟 USB Type-C 源/接收器/电缆,以便于测试。开发人员还可以轻松搜索和过滤消息,以加快问题识别和解决速度。
使用 USB-PD 协议分析仪进行调试
要探测未连接的 USB Type-C 端口的 USB Type-C 信号,协议分析仪的 USB Type-C 插座(或 Type-C 插头)必须连接到 USB Type-C 插头(或 USB Type-C被测设备 (DUT) 的插座),如图 3 所示。USB Type-C 信号被带到可用于探测示波器信号的接头上。
点击查看大图
图 3. 用于调试处于分离状态的 USB Type-C 端口的协议分析器设置
为了探测 USB Type-C 信号或捕获配置通道上的 USB PD 消息(Type-C 端口上的 CC 线),协议分析仪必须连接在两个 USB Type-C 端口之间,如图 4 所示。分析仪向 PC 上运行的协议分析器实用程序发送信号,以捕获和解码来自 USB Type-C 端口的 USB PD 消息。
点击查看大图
图 4. 用于调试处于连接状态的 USB Type-C 端口的协议分析器设置
了解 USB Type-C 信号
USB Type-C DFP – 未连接状态
在默认状态下,下游端口 (DFP) 是电源,因此应该在其 CC 线上暴露 R p终端(上拉)。如果 DFP 设备有一个 Type-C 插座,那么它的两条 CC 线都应该暴露 R p终端,如图 5 所示。有关 R p要求的更多详细信息,请参阅USB-PD 规范。
点击查看大图
图 5. 带有 USB Type-C 插座的独立 USB Type-C DFP
如果 DFP 设备具有 USB Type-C 插头,则 Rp 终端应暴露在其 CC 线上,而 VCONN 应接地(参见)。
点击查看大图
图 6. 带有 USB Type-C 插头的独立 USB Type-C DFP
USB Type-C UFP – 未连接状态
在默认状态下,带有 USB Type-C 插座或 USB Type-C 插头的上游面向端口 (UFP) 是电源吸收器,因此应该在其 CC 线上暴露 R d 终端(下拉),如所示. 有关 R d要求的更多详细信息,请参阅USB-PD 规范。
点击查看大图
图 7. 未连接的 USB Type-C UFP
USB Type-C DRP – 未连接状态
双角色端口 (DRP) 设备初将在 DFP(通过连接 R p并断开 R d)和 UFP(通过断开 R p和连接 R d )操作之间切换其状态,如图 8 和图 9 所示。
点击查看大图
图 8. 带有 Type-C 插座的独立 Type-C DRP
点击查看大图
图 9. 带 Type-C 插头的独立 Type-C DRP
USB Type-C 连接状态
当一个 DFP 和一个 UFP 或两个 DRP 连接在一起时,它们接受由此产生的 DFP 到 UFP 关系(在 DRP 的情况下随机实现),并在其中一条CC 线上形成成功的 R p -R d分压器. 这表明 Type-C 连接已建立(参见图 10 和图 11)。例如,此处形成的 CC 值是由于DFP 侧的 R p = 12k分压器被拉至 3.3V 而UFP 侧的R d = 5.1k 的分压器形成的,从而产生大约 900 mV 的电压。
点击查看大图
图 10. USB 设备和主机之间的直接 USB Type-C 连接(无 EMCA 电缆)
点击查看大图
图 11. USB Type-C 连接(无 EMCA)——翻转
CC 线的状态取决于连接到 USB Type-C 插座的 USB Type-C 插头的方向。另一条 CC 线(或 V CONN信号)的状态取决于分析仪连接到哪一端以及是否使用 EMCA [1] 进行连接。图 10 和图 11 显示了没有 EMCA 时的波形捕获。图 12 是在 DFP 和 UFP 之间使用 EMCA 的 USB Type-C 连接的波形捕获(如图 13 所示)。
点击查看大图
图 12. USB Type-C 连接(带 EMCA)
点击查看大图
图 13. USB Type-C 与 EMCA 的连接
了解 USB-PD 协议
观察基本 USB-PD 契约
作为 USB 电力传输协商过程的结果,端口合作伙伴之间达成了明确的电力合同或协议。供电协商是使用 PD 消息执行的,如USB-PD规范所定义,通过 USB Type-C 连接中的 CC 线。
图 14 显示了在 USB 供电协商过程中通过 CC 线在 DFP 和 UFP 之间传输的 USB PD 消息。USB PD 使用 BMC(双相标记编码)信号进行 PD 通信。有关 BMC 的更多详细信息,请参阅USB-PD规范。
点击查看大图
图 14. USB PD BMC 信号
图 15 显示了作为 DFP(电源/电源供应商)的 29W USB-C 电源适配器与锁定为一个 UFP(接收器/功耗器)。
点击查看大图
图 15. USB-C 电源适配器的电源数据对象 (PDO)
在电源协商阶段,USB Type-C 源(此处为 29W Type-C 电源适配器)向连接的 USB Type-C 接收器发送“Source Capability”消息。图 15 中的 Source Capabilities 消息显示了 Type-C 电源适配器支持的自定义电源数据对象 [2](PDO——在图 15 中突出显示为 Power Data Obj Source 1 和 Power Data Obj Source 2):
“Source Capabilities”消息之后的“Request”消息,由 sink 发送,根据所需的 Sink PDO 请求功率。从可以看出,sink在object位置2请求Source PDO,即SRC PDO2。
USB Type-C 源随后接受(使用接受消息)并发送 PS_RDY 消息作为源已准备好开始在 V BUS 上提供新功率电平的指示。因此,与向消费设备的 Type-C 端口提供 14.8 V 的 USB Type-C 电源适配器建立 14.8 V 的电源合同。
点击查看大图
图 16. 电力消费者基于其接收器 PDO 发送的请求消息
电力合同建立时的电压也可以通过Vbus列针对实用程序中显示的PS_RDY 消息和Vbus Volt文本框的值进行验证(如中突出显示的那样)。
USB PD 规范极大地改善了 USB 生态系统并定义了独立于数据角色(USB 主机和 USB 设备)的电源角色(VBUS Source 和 Sink)。这包括独立交换电源和数据角色的能力。有关角色交换(数据角色和电源角色)概念的更多详细信息,请参阅文章USB Type-C 和供电:101 。
图 17 显示了一个成功的 PR_SWAP 消息序列。可以看出,在 PR_SWAP 之后,重新协商发生在新源发出源能力的情况下。可以看出,在 PR_SWAP 成功之后,USB Type-C 端口只会更改其电源角色,而不会更改其数据角色。
点击查看大图
图 17. PR_SWAP 消息序列
图 18 显示了一个成功的 DR_SWAP 消息序列,之后没有发生电源重新协商。可以看出,USB Type-C 端口只会更改其数据角色,而不会更改其电源角色。还可以注意到,即使在 DR_SWAP 之后,在 DR_SWAP 之前协商的电力合同(在本例中为 14.8V 合同)仍然保持不变。
点击查看大图
图 18. DR_SWAP 消息序列
交替模式是一种功能,可实现 USB Type-C 信号的多用途,以供交替使用,例如 DisplayPort (DP)、HDMI 和 Thunderbolt。有关 DP over USB Type-C 的协议方面的更多详细信息超出了本文的范围。有关详细信息,请参阅 VESA DisplayPort (DP) 标准和 USB Type-C 标准上的 VESA DisplayPort Alt 模式。
图 19 显示了支持 DP 的 USB Type-C 显示器 (UFP) 和 USB Type-C 笔记本电脑 (DFP) 之间成功的替代模式(显示端口 – DP)协商。DFP 支持查询 UFP 以了解其备用模式功能。随后,DFP 发出“进入模式”消息,指示 UFP 进入显示端口模式(显示数据将通过 Type-C 连接器的超高速线路传输)。图 19 仅突出显示一条消息,其中 UFP 将支持的替代模式为显示端口。
点击查看大图
图 19. 显示端口(备用模式)协商
识别 EMCA 的存在
图 20 显示的迹线有助于识别标记芯片(表示 EMCA)是否存在于连接在 DFP 和 UFP 之间的 USB Type-C 电缆上(如图 13 所示)。如果存在 EMCA,则电缆标记芯片会响应来自 DFP 的 SOP' (SOP_PRIME) 消息,提供电缆功能。有关 SOP 通信和 EMCA 的更多详细信息,请参阅文章:设计 Type-C 电子标记电缆和设计 USB 3.1 Type-C 电缆。
点击查看大图
图 20. 显示端口(备用模式)协商
使用 CY4500 解决问题 – 示例
CRC 错误或其他数据包字段错误,如 EOP(数据包结束),可以在捕获的轨迹上轻松识别,因为这些消息以红色突出显示,如图 21 所示。
点击查看大图
图 21. 错误的数据包传送
如果在 USB Type-C 连接上发现许多此类 CRC 错误,则问题可能出在 CC 线路的信号质量上,然后可以使用示波器在接头上进行探测。
图 22 显示了一个示例场景,其中未看到 UFP/Sink 响应 DFP/Source 发送的 Source_Capabilities 消息。根据 PD 协议,源 (DFP) 重试 Source_Capabilities 消息,当超时(由 USB-PD 规范定义)到期时,总线上会出现硬重置(由 DFP 或 UFP 发送)。协议分析器实用程序显示与计时相关的信息,这有助于分析哪个设备在指定的超时方面违反了 USB PD 规范。超时到期可能是由于 USB PD 消息由于信号质量差或没有 USB Type-C 连接而实际上未到达 USB Type-C 接收器 (UFP)。
点击查看大图
图 22. 无响应的接收器
图 23 和图 24 显示了一个示例场景,其中建立了较低电压(在本例中为 5V)的电力合同,尽管电源有能力提供更多电力。在图 23 中,source 宣传支持 5V 和 14.8V PDO,其中 Sink 在图 24 中仅选择 5V,因为 sink 不支持 14.8V 的 Sink PDO。
点击查看大图
图 23. 支持更高 PDO 的源的 5V 合约 – 1
点击查看大图
图 24. 支持更高 PDO 的源的 5V 合约 – 2
显示器 (DP) 无法通过 USB Type-C 工作
有时,能够提供电源的 USB Type-C 显示器(即 DRP)可能会在连接到 USB Type-C 笔记本电脑时初锁定为 DFP/源。对于通过 USB Type-C 工作的显示器(USB Type-C 笔记本作为 DP 源,USB Type-C 显示器作为 DP Sink),显示器应该作为 UFP,为此它需要一个成功的 DR_SWAP。图 25 显示了电力合同成功的一个示例场景。然而,DR_SWAP 被初锁定为 UFP/接收器的 USB Type-C 设备拒绝(在我们的示例中为 Type-C 笔记本电脑。如果 Type-C 笔记本电脑未成功实现 DR_SWAP 序列(如图 25 所示) ),则 DP 将不起作用。
点击查看大图
图 25. DR SWAP 被拒绝
随着 USB Type-C 和 USB 供电规范的不断发展,市场上可能会出现许多过早(或不完全兼容)的设备,这些设备会表现出此处和其他地方所述的错误行为。在这种情况下,协议分析器可以作为快速调试和分析的便捷工具。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。