This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好!
我基于通过 I2Cs 线路连接到 MCU 的 TPS25750D 开发了我自己的硬件。
我不使用 EEPROM、补丁捆绑包已通过 MCU 的 I2C 损坏。
按照《主机接口技术参考手册》中介绍的状态机、我成功更新了补丁捆绑包、以便为智能手机供电。
详细信息:
-我有一个电池,从 TPS25750D 为 VIN_3V3和 PP5V 供电。
-我将 ADCINx 引脚配置为用作安全模式和0x20地址。
-由于我的目的是为智能手机供电,并通过 USB 线从 MCU 与其通信,我将低区二进制(在应用工具中)配置为5V/3A 纯源和 DRP 数据角色。
成功完成 PBMc 任务后、PD 进入 APP 模式、并且智能手机开始充电。
但此时 USB 连接已断开。 所以、我不能同时接通电源和进行通信。
除此之外、我尝试使用4CC 任务命令将数据角色交换为 DFP、但该任务被拒绝、返回0x03。
所有命令和数据均使用 Saelae 分析仪进行验证。
对于如何进行沟通、您有什么建议吗? 我是否使用正确的配置?
提前感谢、
尊敬的 Pedro:
您希望 PD 控制器充当什么数据角色来与手机通信? 我们需要是 DFP 还是 UFP? 什么是器件
[quote userid="61091" url="~/support/power-management-group/power-management/f/power-management-forum/1376944/tps25750-usb-data-communication-lost-after-app-mode-and-power-source-sucessfully-configured 成功完成 PBMc 任务后、PD 进入应用模式、智能手机开始充电。 [报价]如果输入为来源、则也会输入为 DFP。 您是否有解码后的 CC 线路消息的 PD 日志可供我们查看以帮助调试? 它会告诉我们是否存在任何权力或数据角色交换。 如果您已经是 DFP、则可能会拒绝角色交换。
您是否已将 D+/D- USB2.0线路连接到 PD 控制器?
谢谢。此致、
Chris
Christopher、您好!
感谢您的快速响应。
如果我想对、我期望 PD 控制器充当 DFP 数据角色和供电方电源角色。
(我希望为智能手机供电、并从中接收 USB 数据命令/请求)
我在 链接中附上了 系统连接的方框图、以便更易于理解。
D+/D- USB2.0线路连接在 MCU 和 PD 控制器/ PD 控制器和 USB-C 连接器之间。
我在安全模式(配置有 ADCINx 引脚)下进行了一些测试、一个测试连接了智能手机、另一个测试连接了笔记本电脑。 我在以下 链接中附加了.sal 和.csv 原始数据。 中都可以看到 I2C 和 CC 行。 使用智能手机或笔记本电脑时的行为有所不同。
我在执行 PBMc 命令之后读取一些寄存器、以帮助了解会发生什么情况:
器件功能: 0xF8 0x19 0x00 0x00
引导状态: 0x30 0x03 0xF0 0xC2 0xA1
状态: 0x20 0x00 0x00 0x00 0x00
电源路径状态: 0x00 0x00 0x00 0x00 0x40
电源状态: 0x00 0x00
PD 状态: 0x20 0x00 0x00 0x00
模式: 0x41 0x50 0x50 0x20
如果您需要其他信息、请告诉我。
谢谢。此致、
佩德罗
尊敬的 Pedro:
如果这是新设计或当前正在开发、我们强烈建议切换到 TPS25751。 它是 P2P 和特性兼容部件、是 TPS25750的后继产品。 TPS25750将变为 NRND。
我们仍将支持 TPS25750、但对错误修复和新功能的大部分支持正转移到 TPS25751。
您能否共享您正在使用的.json? 这将有助于进行调试。
如果您希望从智能手机接收 USB 数据命令/请求、则可能需要是 UFP、而不是 DFP。 当 PD 控制器协商新合约时、它只会进入"Power Source"(电源)、"Data DFP"(数据 DFP)或"Power Sink"(电源)、"Data UFP"(数据 UFP")。 一旦输入为两者之一、您就可以执行电源或数据角色交换以进行组合。
如果您以电源(Data DFP)身份输入、则可能需要向 UFP 进行数据交换。 请检查调查问卷、确认您选择了 DRP 配置(供电方和受电方)。 您是否也能尝试将首选数据角色设置为器件或 DRP?
您的状态寄存器似乎指示该端口已禁用?
D+/D- USB2.0线连接到 MCU 和 PD 控制器/ PD 控制器和 USB-C 连接器之间。
是否需要对传统充电方案提供支持? (BC1.2)? 到 TPS25750的 USB D+/-连接仅用于支持该功能、因此如果不需要、建议从数据线上断开 PD 控制器。
在两个文件中均可查看 I2C 和 CC 行
您是否有专门用于解码 CC 线路的 PD 分析仪工具? 我会尝试使用内置的 Saleae 工具、但不确定它有多精确。
谢谢。此致、
Chris
Christopher、您好!
我非常感谢有关 TPS25751的建议、并且我会在生产更多硬件时考虑这一点。
关于当前的 json 配置作为电源和 UFP 数据角色、我在以下 链接中共享了该文件。
同时、我试图执行一条命令来切换到 UFP、而不是 DFP、但此任务也被拒绝。
我还尝试了将 PD 控制器与 USB 数据线断开、该行为仍然相同。
我没有任何 PD 分析器工具来解码 CC 线,我只能用 Saelae 来做。
谢谢!
佩德罗
尊敬的 Pedro:
让我看看你的 json ,我会在本周晚些时候回到你。
令人奇怪的是、您共享的寄存器信息表明端口已禁用或断开连接。
连接后/连接期间、VBUS 上的电压是否为5V?
谢谢。此致、
Chris
Christopher、您好!
我可以看到、将智能手机连接到 USB-C 后、VBUS 上的5V 电压会出现、并在连接期间持续供电。
您是否知道如何在 PD 上禁用该端口?
感谢您的帮助、
佩德罗
尊敬的 Pedro:
我看到、在.json 调查问卷中、您设置了受电方首选角色。 您是否可以将其更改为 Source 并重新测试?
类似于以下内容: e2e.ti.com/.../Config_5F00_Source_5F00_Preferred.json
您是否已为 PP5V 和 Vin3V3供电?
谢谢。此致、
Chris
Christopher、您好!
我不在办公室里,一个星期内我没有机会回答你,所以我对此道歉。
同时、我使用您提到的配置重新测试了系统。
不过、系统会继续供电、但没有 USB 数据通信。
这次、我在 saelae 仿真中添加了 PP5V、VBUS 和3V3信号。 首先、在 USB-C 电缆之后连接外部电源、最后更新补丁捆绑包。
您可以在以下 链接中找到、saelae、json 和 csv 文件。
感谢您的帮助、
尊敬的 Pedro:
感谢您提供的数据。 因为即将到来的美国假期、我会在下周早些时候与您联系。
谢谢。此致、
Chris
克里斯托弗、您好!
您是否有机会了解此主题?
如果你有任何想法,可以帮助进一步的诊断,我会非常感激。
感谢您的关注、
佩德罗
尊敬的 Pedro:
您是否也能在模拟通道上捕获 CC 线? CC 线路似乎没有任何通信功能。 我们可能签订了非 PD 源合同。
连接智能手机时、是否可以读取状态寄存器并报告 ConnState?
"你在担心我吗?" LSB 在第一个还是最后一个? 从该捕获可以看出、状态寄存器似乎指示任一方向上都没有连接。
您能否分享最新原理图以便我们检查连接?
谢谢。此致、
Chris
Christopher、您好!
我 在此处分享了最新的原理图。 我们考虑了电源和 TPS25750电路的文件。 文件夹中有一个便笺文件、其中包括关于当前实现电路的一些注意事项。
与此同时,我继续运行系统,并发生了一个模糊的行为。 当智能手机保持连接到 USB-C 时、3V3电源电路会周期性地关闭、重启系统。 此3V3电源由稳压器提供、稳压器的输入连接到5V 和 PP5V。 原理图中是否存在问题?
为了观察这种行为、我 在此处共享了.sal 和.csv 文件。
关于寄存器、报告的数据是 LSB 在前、因此在写入时应考虑数据来自 TPS25750的顺序。
连接智能手机时、状态寄存器报告 ConnState 中未建立连接。
关于 CC 线路、抱歉、我没有模拟通道来获取与其他信号同步的信号。 您是否对导致非 PD 源合同的原因有任何想法?
非常感谢您的帮助、
佩德罗
尊敬的 Pedro:
即使我们与非 PD 合约连接、如果我们在5V 充电、我们也应该会看到 connectionState 位被置位。
如果任一侧不支持 PD、或者 CC 线路上存在妨碍正常通信的问题、则会发生非 PD 源合约。
请给我几天时间复查原理图。 您使用哪种 ADCIN 配置。
谢谢。此致、
Chris
Christopher、您好!
谢谢您的解释、我会同时进行一些测试。
我正在使用以下 ADCIN 配置:
ADCIN1= 7
ADCIN2= 0
因此、使用0x20 I2C 地址的安全模式。
我期待您的原理图审阅。
谢谢!
佩德罗
尊敬的 Pedro:
我注意到在 json 中、您将数据速度设置为 USB2、手机是否未连接 USB3?
谢谢。此致、
Chris
Christopher、您好!
感谢您的观察。
我现在尝试了 USB 3.2第1代、甚至 STATUS 寄存器报告 ConnState 中未建立连接。
但是、该行为看起来有所不同、CC 线在补丁加载期间更改了其值、并且 VIN_3V3 在整个过程中和之后都保持高电平。
谢谢。此致、
佩德罗
尊敬的 Pedro:
您仍然主要使用手机作为连接的器件进行测试吗? 您正在使用哪款手机?
谢谢。此致、
Chris
Christopher、您好!
是的、我仍在使用连接到 USB-C 的手机进行测试
我使用的是 Redmi 注释12 5G: 链接。
谢谢!
佩德罗
尊敬的 Pedro:
在 CC 线路上似乎仍然没有任何 PD 通信。 您是否能够与 CC 线、VIN3V3和 VBUS 共享类似的 CC 线作为模拟布线?
对于初始连接、我们期望 CC 线在0到3.3的电压下稳定、并且不应处于0V
初始连接完成并且 PD 控制器就绪后、我们应该会在 CC 线上看到一些通信
您可以像以前那样重新读取寄存器吗? 您报告的引导状态寄存器似乎表明未加载任何 CONFIG、并且存在标头问题。 是否确定正确加载了配置?
您可以尝试加载此配置吗? 我禁用了 BC1.2 GPIO (尽管我认为您已经断开了 PD 控制器和连接器之间的 USB D+/D-线路)。
e2e.ti.com/.../Continuous_5F00_DRP_5F00_source_5F00_USB32_5F00_0807.json
我对数据连接的期望是我们需要稳定的电源连接、并且不会干扰 D+/D- USB2线路。
谢谢。此致、
Chris
Christopher、您好!
由于我只能使用一个示波器、我尝试编译主要模拟信号行为并将它们与数字.Sal 信号同步。 您可以在以下图像中观察该过程。
图3 -补丁捆绑后的行为秒数
实际上、CC 信号电压电平介于0和3.3V 之间(不是我们在.Sal 文件中看到的0)。 但是、连接后无法在 CC 线路中看到通信。
除此之外、VBUS 模拟行为似乎不稳定、并导致3V3暂时下降。
重新读取寄存器和获得的值为:
器件功能(0x0D): 0x04 0xF8 0x19 0x00 0x00
启动状态(0x2D): 0x05 0x30 0x03 0xF0 0xC2 0xA1
状态(0x1A): 0x05 0x20 0x00 0x00 0x00 0x00
电源路径状态(0x26): 0x05 0x00 0x00 0x00 0x00 0x40
电源状态(0x3F): 0x02 0x00 0x00
PD 状态(0x40): 0x04 0x20 0x00 0x00 0x00
MODE (0x03): 0x04 0x41 0x50 0x50 0x20
可能、我在之前关于字节顺序的信息中没有明确说明。 我说过、报告的数据是 LSB 在前。 我想认为数据表协议表中的字节1是首次写入的数据。 因此、当我考虑使用值0x30 0x03 0xF0 0xC2 0xA1读取0x0D 寄存器时、字节1为0x30、这会导致:
-补丁捆绑包标头中无错误
-已从 I2C 加载配置
加载的配置文件与您提到的配置文件相同。
我仍然不存在 R20和 R21、并且禁用了 GPIO。
在 CC 线路上、仅存在330pF 电容器。
谢谢。此致、
尊敬的 Pedro:
感谢您的更新。
是的、模拟 CC 电压确实表明 Type-C 隐式合约看起来正确、我们仍然没有看到 USB-C PD 通信(预计会在 CC 线路上切换)。
灌电流似乎断开连接(CC2电压达到3.3V)、导致我们失去 VBUS。
其余的信息。
谢谢。此致、
Chris
尊敬的 Pedro:
查看您共享的信息、似乎引导过程工作正常。 连接电话时缺少连接仍是问题。 令人惊讶的是、即使该器件报告没有插头、仍然有5V 的电源。
请尝试使用随附的配置。 我进行了一些小改动并使用 EVM 进行了测试、它应该能够抵消5V 电源合约并显示在状态寄存器中连接的插头。 您可以测试配置并报告寄存器信息。
e2e.ti.com/.../Continuous-DRP-Prefer-UFP.bine2e.ti.com/.../Continuous-DRP-Prefer-UFP.json
谢谢。此致、
Chris
Christopher、您好!
我对您的新配置和之前的配置进行了一些测试、并且我意识到状态寄存器在进入应用模式几秒后会改变其值。 这样、如果我连续读取状态寄存器、PD 会返回:
状态(0x1A): 0x05 0x27 0x00 0x10 0x00 0x00
这意味着、它识别出存在插头、并且 PD 用作供电方和 UFP。
但是、它会继续为智能手机供电、但不传输数据、因此我无法通过 USB 在微控制器和智能手机之间进行通信。 除此之外、该行为仍然存在:VBUS 会周期性地关闭并重新启动整个过程。 您是否认为这可能与原理图相关?
非常感谢您的努力为您提供帮助。
佩德罗
尊敬的 Pedro:
位3:1似乎表明远端器件是调试器件? 这意味着 TPS25750在 CC 线路上会出现双 Rd、出现的原因有多种。
如果器件卡在调试模式、我不知道 USB 操作是否能正常工作。
利用 DFP 项目、您可以再次重新捕获 CC 线吗? 我想看看从电压/通信的角度来看是否有任何变化。
现在我们看到了一个连接、请尝试这个.json。 它应使手机输入为供电方/DFP、然后应尝试进行电源角色交换、从而使 TPS25750成为供电方。 我们主要寻找数据连接。
e2e.ti.com/.../ENTER_5F00_UFP_5F00_SourceSwap.json
谢谢。此致、
Chris
Christopher、您好!
感谢您的讲解。 目前,我尝试移除电缆(USB-C 插头插座延长电缆),并直接将 USB-C 连接器连接到智能手机。 这两种情况下的行为保持不变。
我还尝试了您建议的.json 配置、现在它发生了一些不同的事情。 PD 和智能手机之间存在数据通信、但 PD 不充当供电方、因此智能手机未充电。 这样、如果我连续读取状态寄存器、PD 会返回:
状态(0x1A): 0x05 0x0B 0x00 0x10 0x40 0x00
更新补丁捆绑包后、我曾尝试将电源角色交换为供电方、但任务代码返回的结果是电源角色被拒绝。
________________________________________________________________
关于您想查看 CC 线的 DFP 项目、我应该使用简单配置(选择 DFP 和电源)还是应该使用上一个测试中使用的相同高级配置(通过 DFP 更改 DRP)?
谢谢!
佩德罗
尊敬的 Pedro:
感谢您的讲解。 目前,我尝试移除电缆(USB-C 插头插座延长电缆),并直接将 USB-C 连接器连接到智能手机。 这两种情况下的行为都是相同的。
您能分享一下自己在做什么吗? 我对您的描述有点困惑。 是否有连接的电缆?
状态(0x1A): 0x05 0x0B 0x00 0x10 0x40 0x00
更新补丁捆绑包后、我曾尝试将电源角色交换为供电方、但任务代码返回的结果是电源角色被拒绝。
[报价]新的补丁捆绑包试图强制端口进入 UFP 状态、看起来连接类型很奇怪、因为它现在给了我们一个保留的连接状态。
[报价 userid="61091" url="~/support/power-management-group/power-management/f/power-management-forum/1376944/tps25750-usb-data-communication-lost-after-app-mode-and-power-source-sucessfully-configured/5382732 #5382732"]关于您要查看 CC 线路的 DFP 项目、我应该使用简单配置(选择 DFP 和电源)还是应该使用上次测试中使用的相同高级配置(通过 DFP 更改 DRP)?[/QUOT]使用与最新测试相同的高级配置。 主要寻找模拟电压。
谢谢。此致、
Chris