USB论坛
直播中

其实znvm

9年用户 1272经验值
擅长:电源/新能源
私信 关注
[问答]

求助,关于FX3 ROM引导加载程序系统重启问题求解

我们正在围绕 FX3 进行设计,在此过程中,我们发现我们的电路板和使用开发板(CYUSB3KIT-003)时都存在问题。 当我们将 FX3 开发板连接到系统并执行系统重启时,就会出现此问题,一旦内核再次启动,我们会看到由于 USB 枚举而导致的额外 60 毫秒延迟,并且 FX3 根本不会显示。 我们必须执行 FX3 板重置或拔下 USB 电缆并将其重新插入我们的系统,才能再次显示 FX3 引导加载程序。

该问题是否与已知勘误表问题(FX3 自供电时,USB 启动模式下 USB 枚举失败)有关,因为 USB 端口/电路板在系统重置期间不会完全断电? 如果是这样,那么就没有办法解决这个问题,让 ROM 引导加载程序在系统重置后正确显示,而无需执行 FX3 重置,对吗?

回帖(1)

张波

2025-5-15 17:32:32

根据描述,您遇到的问题很可能与FX3勘误表中提到的自供电USB启动模式枚举失败问题(Erratum 116)有关。该问题的核心在于:当FX3工作在自供电模式时,若系统重启期间USB VBUS未完全掉电(如热复位、快速重启),FX3的USB PHY可能无法正确复位,导致枚举失败




问题根源分析




  1. 自供电模式下的复位缺陷



    • FX3的USB PHY复位依赖于VBUS的完全掉电。如果系统重启时VBUS未彻底断电(例如主板USB端口保持供电),PHY可能残留错误状态,无法响应主机枚举。

    • 开发板CYUSB3KIT-003默认通过USB VBUS供电,但若您的设计使用外部电源(自供电),则可能触发此问题。




  2. 60ms延迟与枚举失败



    • 系统重启后,操作系统尝试重新枚举USB设备。若FX3未正确复位,主机无法检测到设备,导致超时延迟。手动复位或重新插拔会强制VBUS掉电,恢复PHY状态。






解决方案


1. 硬件修改(推荐)




  • 强制VBUS掉电



    • 在FX3的VBUS线上增加负载开关(Load Switch),由主机的电源控制信号(如USB_VBUS_EN)或GPIO控制。系统重启时,开关断开VBUS,确保PHY完全复位。

    • 电路示例
      Host VBUS ────┬─────> Load Switch (e.g., TPS22902) ────> FX3 VBUS
                │
                └───── Control Signal (来自主机GPIO或电源管理IC)

    • 关键参数:负载开关需支持快速关断(如<1ms),确保系统重启时VBUS迅速掉电。




  • 添加外部复位电路



    • 使用RC电路或复位IC(如TPS3823)监测主机电源。当检测到主机断电时,触发FX3的RESET引脚。

    • 电路示例
      Host 5V ────┬─────> 复位IC的VDD ────> FX3 RESET
              │
              └───── RC网络(10kΩ + 1μF)




2. 固件调整



  • 强制USB Boot模式

    • 在FX3固件中,检测系统重启事件(如监控主机握手信号),主动调用CyU3PDeviceReset()进入USB Boot模式。

    • 注意:此方法依赖固件已正确运行,无法解决首次上电时的枚举问题。



3. 配置启动模式



  • 优先SPI/I2C Boot

    • 将FX3配置为优先从SPI Flash或I2C EEPROM启动(通过CY_FX_BOOT_SOURCE配置)。若引导失败,自动回退到USB Boot模式。

    • 优点:避免依赖USB Boot模式,减少对VBUS掉电的敏感性。





验证步骤




  1. 测试VBUS掉电时序



    • 使用示波器测量系统重启时VBUS的电压波形,确认是否完全掉电(至少持续10ms)。




  2. 模拟手动复位



    • 在系统重启后,短接FX3的RESET引脚到地,观察是否恢复枚举。若能恢复,则确认问题与复位逻辑相关。




  3. 检查启动配置引脚



    • 确认I2C_SCL/SDASPI_CLK/MOSI/MISO等引脚的上拉/下拉电阻符合启动模式要求(参考CYUSB3KIT-003原理图)。






结论


您的问题极大概率由Erratum 116引起。推荐硬件修改方案,通过负载开关强制VBUS掉电,或添加外部复位电路。同时建议优化启动模式配置,减少对USB Boot的依赖。若需进一步调试,可联系Cypress技术支持提供定制化VBUS掉电检测代码(需硬件配合)。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分