STM32
直播中

马占云

7年用户 1591经验值
私信 关注
[问答]

STM32H750VB+USB3300使用USB2.0 HS与PC通信,经常出现连接失败的情况,PC报错\"无法识别\" 怎么解决?

问题描述 : STM32H750VB + USB3300 使用USB2.0 HS与PC通信,经常出现连接失败的情况,PC报错--"无法识别"         
        现象:1,上电前已接入PC,在上电后有30%左右的几率出现无法识别

                    2,若是本次上电后与PC连接正常,则在通信过程中,仍然有极小的几率出现错误,PC同样报错"无法识别"(此错误大约在连续读写30min后发生)

                    补充,上述两种现象中,出现错误后,运行一次以下代码后,一般可以接入成功(当然,也有可能要尝试好几次)
                    //关闭USB
                    USBD_Stop() +  USBD_DeInit()
                    //开启USB
                    USBD_Init() + USBD_RegisterClass() + USBD_CDC_RegisterInterface() + USBD_Start()

         PC平台:win7 64位 @ Intel E3 1220 V2
        请问有哪位可以指点一下解决办法吗?


回帖(1)

陈键

2024-4-19 15:52:21
以下是一些可能导致USB连接失败的原因和解决方法:

1. 电源供应不稳定:确保您的STM32芯片和USB3300芯片都有稳定的电源供应。检查电源线路和电源容量,确保其符合规格。

2. USB物理连接问题:检查USB线缆和连接器,确保它们没有损坏或松动。尝试更换USB线缆。

3. USB接口时序不正确:USB2.0 HS接口的时序要求相对较严格,确保您的设计满足USB2.0 HS的时序要求。检查USB接口电路和信号完整性,确保USB信号线的长度和布线满足规格要求。

4. USB软件协议错误:确保您的软件实现了正确的USB协议栈和驱动程序。建议使用官方提供的USB中间件库(如STM32Cube USB库)进行开发,此库已经经过验证并具有良好的兼容性。

5. USB3300外部晶体振荡器问题:检查您的USB3300芯片是否正确连接到外部晶体振荡器,并确保振荡器的频率和精度满足规格要求。

6. USB3300芯片配置不正确:确保您的USB3300芯片的配置寄存器(如GPIO引脚和I2C地址)正确设置。

7. USB3300芯片驱动程序问题:检查USB3300芯片的驱动程序是否正确安装,并尝试更新到最新版本的驱动程序。

8. 其他硬件问题:进一步检查其他硬件电路,如时钟源和复位电路,以确保它们没有问题。

举报

更多回帖

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