主题: AM5718中讨论的其他器件
工具/软件:
USB 主机芯片、我想检查寄存器。 但是、USB 寄存器手册在 AM5716 TRM 中不会退出
您能和我分享吗? 谢谢!
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.
工具/软件:
USB 主机芯片、我想检查寄存器。 但是、USB 寄存器手册在 AM5716 TRM 中不会退出
您能和我分享吗? 谢谢!
Zmg、Zekun、
您能否分享有关此故障的更多信息? 过去、我可以假设使用定制电路板、并且您正确使用 Linux 了吗?
有关 USB 的额外信息只能根据保密协议获得、因此我们可以通过电子邮件解决。
请参阅:
客户需要哪些寄存器? 本章是否没有他们需要的内容?
26.3 USB3 PHY 和 SATA PHY 寄存器手册
-Josue
您好、Ying
您能详细说明一下这个测试程序吗?
是的、我们使用的是定制电路板和 Linux。 我们使用 USB、连接到用作 USB 设备的 MCU 板。 AM5716通过 USB 主机、MCU 升级固件和重新启动将固件发送到 MCU 板。 在 MCU 重新启动时、AM5716 USB 主机检测到断开连接。 重新启动后、USB 主机检测到连接、5716再次发送固件。 我们测试这个循环超过400次。 最后、USB 主机裸片。 日志如下所示:
启动 MCU 需要多长时间? 如何控制 MCU 重新启动?
此致
Zekun
Ying、
经过内部讨论、 V BUS 放电和充电似乎有某些 USB 合规时序。
您能分享以下内容吗
启动 MCU 需要多长时间? 如何控制 MCU 重新启动?
它是什么样的连接? USB A、C?
您能分享该子系统的原理图吗?
使用的是哪个 SDK 版本?
-Josue
AM5716不控制 MCU 重启。 当 MCU 收到来自5716的 firwmare 时、它会重新启动并自行升级。
这需要大约6秒、而 USB 引脚可能会悬空。
AM5716仅通过 USB D+、D-连接到 MCU、无 V BUS、PCB 如下所示:
连接是引脚对引脚的、而不是 USB A 或 C?
SDK 版本为 ti-processor-sdk-linux-am57xx-evm-06.03.00.106
Liying、
[引述 userid="637115" url="~/support/processors-group/processors/f/processors-forum/1481172/am5716-i-need-usb-host-register-manual/5716671 #5716671"]这需要大约6秒、而 USB 引脚可能会悬空。
AM5716仅通过 USB D+、D-连接到 MCU、无 V BUS、PCB 如下所示:
连接是引脚对引脚的、而不是 USB A 或 C?
[/报价]您能详细说明 MCU 和 AM5716的连接方式吗? 我是否正确理解它们是"硬接线"?
正如我的 USB 工程师同事通过电子邮件解释的:
"讨论的一个方面是、如果这种类型的应力测试是有效的用例? 数百次上电/断电会导致 Vbus 通过连接器充电/放电循环。
这些连接器还具有一定数量的连接/断开周期额定值–这些连接器还必须通过 USB 认证、但在许多情况下并非如此。 "
-Josue
Liying
根据我们与 USB 工程师的一些内部讨论、此 USB 场景似乎不符合 USB 规范。 USB 规范要求 USB 器件 DP/DM 线路应在连接到 USB 主机之前通电并处于已知状态。 但在此用例中、MCU USB DP/DM 线路在重新启动期间可能处于悬空状态、这可能会使 USB 主机感到困惑。 由于它似乎不是有效的 USB 用例、因此超出了我们的支持范围。
此致、
Josue
根据与我们的 USB 工程师进行的一些内部讨论、此 USB 场景似乎不符合 USB 规范。 USB 规范要求 USB 器件 DP/DM 线路应在连接到 USB 主机之前通电并处于已知状态。 但在此用例中、MCU USB DP/DM 线路在重新启动期间可能处于悬空状态、这可能会使 USB 主机感到困惑。 由于它似乎不是有效的 USB 用例、因此超出了我们的支持范围。 [/报价]你好、Josue
是否有任何演示要在 TI EVM 中向我们的客户展示以供参考?
谢谢
Semon
Semon、
Liying、
在 AM5718 IDK 上运行测试并在夜间测试 USB 主机。
设置:
步骤:
有关图形详细信息、请参阅上图。
将 MCCI 板球 UI 设置为环路模式、以在占空比为50%时每8000ms (8秒)连接/断开一次。 这实际上使连接/断开每4秒 800 周期。
结果:
MCCI 板球 UI 日志: e2e.ti.com/.../usb_5F00_800_5F00_attach_5F00_detach_5F00_test.txt
Linux 内核日志:e2e.ti.com/.../usb_5F00_test.txt
结语:
没有失败。
主机 USB 驱动程序未损坏。
从此测试可以得出结论、只要 USB 连接符合 USB-IF 规范、AM571x 中的 USB 主机就应该能够通过客户的400周期测试进行压力测试。
此致、
Josue
AM5716不控制 MCU 重启。 当 MCU 收到来自5716的 firwmare 时、它会重新启动并自行升级。
这需要大约6秒、而 USB 引脚可能会悬空。
AM5716仅通过 USB D+、D-连接到 MCU、无 V BUS、PCB 如下所示:
连接是引脚对引脚的、而不是 USB A 或 C?
SDK 版本为 ti-processor-sdk-linux-am57xx-evm-06.03.00.106
[/报价]您好、Liying
请提供 供 TI 审核的完整原理图、
并在 TI 评论后提供有关作品的反馈
谢谢
Semon
通过此测试可以得出结论:只要 USB 连接符合 USB-IF 规范、AM571x 中的 USB 主机就应该能够通过客户的400周期测试进行压力测试。
你好、Josue
请查找 Sungrow 的原理图:
USB 设备端
A15主机结束
Sungrow 有以下疑问:
------------------------------------------------
1.当 Sungrow AM5716 USB 在主机模式下工作时,D+/D-信号连接了下拉电阻,所以 D+/D-信号是稳定的,所以 Sungrow 工程师
无法理解为什么 AM5716主机 USB 无法正常工作、真正的原因是什么?
TI 之前的评论说
"此 USB 场景不符合 USB 规范 USB 规范 要求 USB 设备 DP/DM 线应通电
并处于已知状态、然后再连接到 USB 主机。 但在此用例中、MCU USB DP/DM 线路在重新启动期间可能会悬空、
这可能会混淆 USB 主机。 因为它似乎不是有效的 USB 用例"
如果可以共享此协议规范字?
2.如前所述,远程 USB 设备在 MCU 板重启期间可能处于悬空状态,Sungrow 工程师测量 D+/D-信号,
在持续时间内、它始终处于低电压电平、现在 增加下拉电阻、效果不理想、这个问题发生了
请查看提供的 原理图和来自 Sungrow 的要求、并对 Sungrow 的问题发表评论
谢谢
Semon
Semon、
我已将此主题重新分配给我们的硬件团队以供进一步评论。 以下应用手册记录了 TI 针对 USB 的建议:
除 有关正确 USB 信号连接和布线的建议外、还可参阅 高速接口布局布线指南。
TI 不支持超出我们建议的设计选项。
此致、
Josue
我已将此主题重新分配给我们的硬件团队进行进一步评论。 以下应用手册介绍了 TI 针对 USB 的建议:
您好 Shreyas
对客户 USB 硬件设计有何评论? 请审核客户设计并发表意见、这是一个紧急问题。
客户有以下问题:
1. AM5716是否可以通过 AM5716 PRCM 模块打开/关闭 USB 主机、如何合并以及可使用哪个寄存器来执行此操作?
2.对于 USB 连接、在客户设计中、 DRVVBUS 未连接、但这不会影响任何内容、因为 DRVVBUS 用于控制外部的输出、
即使 DRVVBUS 始终处于启用状态、也应该没有问题、那么客户设计和导致此问题的真正原因是什么?
谢谢
Semon
Semon、
根据 USB 规范、不建议在 DP/DM 线路上添加串联电阻器以及外部上拉或下拉电阻器。
我不知道 PRCM 模块配置、但想知道为什么客户要求提供寄存器来控制 USB 主机。
根据我的理解、主机 VBUS 已通电、当设备连接时、USB 主机将检测并启用 DRVBUS、从而使电源开关能够将 Vbus 连接至设备、并启动 USB 握手协议。
MCU 连接/断开似乎未启用此序列。 即、软件在某个时候无法确定器件存在/或无法确定其主机角色、并启用 DRVBUS/为器件的 VBUS 供电。
作为参考、MCCI 练习器会根据 USB 规范模拟连接/断开连接。 您已执行的 MCU 练习可能无法根据 USB 规范启用此功能。
不建议根据 USB 规范在 DP/DM 线路上添加串联电阻器和外部上拉或下拉电阻器。
ShreyasRao
Sungrow 想要 USB 原理图的审查结果、原理图附在上面、您能帮您得出结论吗?
uusb:
2:
主持人:
客户会议跟进:
Semon、
我们建议客户遵循 TI 的 USB-IF 规范来支持软件行为/错误。
该问题产生的错误与连接的物理设计和主机/器件交互直接相关。 有许多在线资源可以帮助客户实现所需的结果。 会议的要点是:
鉴于 上述实验 未产生任何错误、我们认为不存在软件错误。
考虑到所涉及的依赖性以及由此导致的软件行为不确定、客户正在追逐的 PRCM 重置 WA 也不是可行的选择。
会议备注:
RST 线路也是 MMC 复位
仅在未使用以太网时允许
客户可以使用直接寄存器写入(即使用 omapconf)来尝试写入、但我们不确定这是否可行、也没有方法进行测试。
-Josue
Semon、
请参阅其他答案:
[报价 userid="504839" url="~/support/processors-group/processors/f/processors-forum/1481172/am5716-i-need-usb-host-register-manual/5740705 #5740705"]除 有关正确 USB 信号连接和布线的建议外、还可参阅 高速接口布局布线指南。
[/报价]-Josue
我们建议客户遵循 TI 的 USB-IF 规范来支持软件行为/错误。
该问题产生的错误与连接的物理设计和主机/器件交互直接相关。 有许多在线资源可以帮助客户实现所需的结果。 会议的要点是:
鉴于 上述实验 未产生任何错误、我们认为不存在软件错误。
考虑到所涉及的依赖性以及由此导致的软件行为不确定、客户正在追逐的 PRCM 重置 WA 也不是可行的选择。
[/报价]你好、Josue
客户已按照建议连接 VBUS 和 ID、他们已完成长时间测试、
经过1000多次 MCU 重新启动测试后、再次触发该问题、
请参阅以下日志:
e2e.ti.com/.../PCS_5F00_2025_2D00_04_2D00_08_5F00_17_2D00_29_2D00_39.log
客户将进行更多测试、
有什么建议吗?
谢谢
Semon
* MCU 支持 HS、
*您正在 MCU/SoC 上进行软复位/重新启动、此时电源仍处于开启状态。 (软件与硬件复位)
您能否在问题发生时监控 DP/DM 和 Vbus 线路?
[/报价]您能否确认?
* MCU 支持 HS、
*您正在 MCU/SoC 上进行软复位/重新启动、此时电源仍处于开启状态。 (软件与硬件复位)
您能否在问题发生时监控 DP/DM 和 Vbus 线路?
您能否确认?
[/报价]您好 Shreyas
以下是根据您的建议进行的客户 USB 硬件连接。
1. VBUS2连接到 USB 设备 ARM 5V 电源
2. USB2-ID 接地
3. USB2_DRVVBUS 如果直接连接电源,系统无法启动,
它连接到 USB 设备 ARM IO。
根据上述更改、在一天的测试中、此问题会重新生成一次、但频率较低。
客户正在尝试执行更多测试
此致
Semon
嗨、 Liying
此问题似乎是 Linux 系统中的一个错误、此链接报告了类似的情况。
xHCI 主机控制器没有响应,假定无效/内核和硬件/Arch Linux 论坛
问题发生后、以下操作可以恢复 USB 系统:
--------------------------------------------------------
echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
sleep 5
echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/bind
------------------------------------
also there has suggestion to disable usb autosuspend by following kernel parameter
usbcore.autosuspend=-1
此致
Semon
USB2_DRVVBUS、如果直接连接到电源、系统无法启动、
它连接到 USB 设备 ARM IO。
[/报价]USB_DRVBUS 是一个数字输出信号、用于控制器件在主机模式下的 Vbus 电源。 否则、它将变为低电平。
重启周期的1000倍明显高于正常用例。
1000次重启周期明显超过了正常使用案例。
您好 Shreyas
Sungro 在上周三至周六执行了另一项测试、这一问题在1000次重新引导循环测试后再次发生?
有什么建议吗?
此致
Semon
USB_DRVBUS 是一个数字输出信号、用于控制器件在主机模式下的 Vbus 电源。 否则、它将变为低电平。
重启周期的1000倍明显高于正常用例。
[/报价]你好 Josue/Shreyas
客户最近再次重现此问题两次:
1.在1000次重新启动测试后发生,
2.重新启动测试54次后发生。
因此、这个问题没有得到解决、即使频率更低、也需要进一步调查、客户希望这个问题得到解决、或者至少是一种在问题发生后恢复系统的解决方案、
谢谢
Semon
嗨、 Josue、Shreyas
以下命令列表用于在发生此问题时恢复系统、客户通过手动验证它可以在问题发生后正常工作、
客户将其集成到其代码系统中并再次进行测试、如果正常、则此问题可能已解决
----------------------------------------------------
--------------------------------------------------------------------------------
rmmod UAS
rmmod usb_storage
RMmod FTDI_SIO
rmmod usbserial
rmmod xhci_plat_hcd
rmmod xhci_hcd
rmmod usbcore
---------------------------- 插入--------------------
root@am57xx-EVM:/# insmod /lib/modules/4.19.94-gbe5389fd85/kernel/drivers/usb/host/xhci-plat-hcd.ko
[ 4801.779830] xhci-hcd xhci-hcd.1.auto: xHCI 主机控制器
[ 4801.785620] xhci-hcd xhci-hcd.1.auto:注册了新的 USB 总线、分配了总线编号1
--------------------------------
此致
Semon
Semon、
不错的变通办法、我认为这可以使用 modprobe 简化。
请参见 https://linux.die.net/man/8/modprobe 中的 modprobe -r。
很高兴您能为客户找到此 WA。
-Josue