FX3/FX3S/CX3常见枚举问题的排查指南 – KBA222372 (ZH)

Version: **

 

1. 用户采用FX3设计的板子并没有枚举为“Cypress FX3 Bootloader Device”。为什么?

当驱动绑定或者硬件设计有问题的时候,这种情况会发生。

  1. 驱动绑定:

1,如果操作系统不能找到设备的驱动,设备就会在设备管理器里的“其他设备”项里呈现为WestBridge

1. FX3在其他设备中枚举为为WestBridge 

 

      1. .在设备名上右键选择“Update Driver Software”,选择“Browse my computer for driver software”。
      2. .定位到<安装目录>\Cypress\EZ-USB FX3 SDK\1.3\driver\bin。默认的安装目录是C:\Program Files (32Windows) 或者C:\Program Files (x86) (64Windows)
      3. 根据Windows的版本选择相应的驱动,之后点击“Next”。例如,Windows 7 64位的驱动位于C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\driver\bin\win7\x64

B. 硬件设计
如果FX3的硬件连接并非Cypress建议的方式,设备可能不能枚举为“Cypress FX3 Bootloader Device”。按照以下的步骤操作确认FX3的硬件连接满足如下建议:

    1. AN76405中列出了可选的FX3启动选项。FX3根据PMODE引脚的设置选择相应的启动源。对于USB启动,请检查PMODE[2:0]是否配置为Z11。如果不是,则设备不能枚举为“Cypress FX3 Bootloader Device”。如果设备枚举为Cypress Benicia USB boot device,请参考此帖寻找解决方案。
    2. 用户确认遵循AN70707中的EZ-USB FX3/FX3S硬件设计指导和原理图检查清单进行设计。
    3. 电源AVDDU3TX_VDDQU3RX_VDDQ上的噪声应小于20 mVVDD上的噪声应小于100 mV
    4. 使用经过USB认证的标准线缆。

 

2. FX3枚举为“Cypres FX3 Bootloader Device”后,如果我重启PC,设备就会变成“unknown device”。为什么?

这是一个已知的问题。由于Bootloader从低功耗的休眠模式唤醒时存在某些缺陷,可能会导致这样的问题。在PC重启的过程中,Bootloader会进入低功耗休眠模式,当主机启动后,设备有可能不能唤醒。\

当用户使用定制的VID/PIDB2镜像时,可能会遇到同样的问题。参考AN76405的第6节获取更多关于B2镜像的详细信息。

参考AN76405了解可能的FX3/FX3S启动选项。

采用如下的解决方法:

 

    1. PC重启后RESET#引脚复位或者板子上电复位。
    2. 加载第二级Bootloader (SDK的安装目录下:C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\boot_fw\src) 代码到I2C EEPROM/SPI FLASH里并设置相应的PMODE模式。

 

3. 当一个USB3.0的设备枚举为USB2.0而不是USB3.0的时候,如何进行调试?

这个问题可能由硬件或者固件导致。按照如下的步骤解决此问题:

检查硬件:

  1. 确保提供给FX3的时钟满足FX3数据手册中表 4的要求。
  2. 确保AVDDU3TX_VDDQU3RX_VDDQ上的电源噪声小于20 mVVDD上的电源噪声小于100 mV
  3. 确保原理图和PCB的设计符合AN70707的检查清单要求。
  4. 使用标准USB连接线。

检查固件:

  1. 使用FX3 DVK (CYUSB3KIT-003) 的固件进行检验。这样可以判断问题是和硬件还是固件相关。
  2. 检查API CyU3PConnectState ( CyBool_t connect, CyBool_t ssEnable ) 中是否使能了SuperSpeed连接。
  3. 在固件中调用CyU3PUsbLPMDisable API禁用LPM。在CyU3PConnectState之后延时10 us调用此函数。