OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7721|回复: 18

STM32H750 USB2.0_HS 经常出现无法识别

[复制链接]

1

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-5-19
在线时间
15 小时
发表于 2019-5-19 18:53:43 | 显示全部楼层 |阅读模式
1金钱
问题描述 : 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
         请问有哪位可以指点一下解决办法吗?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2019-5-20 01:54:52 | 显示全部楼层
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-5-20 23:00:41 | 显示全部楼层
没有用过H7 +USB3300, 倒是前次打板做了H750VB+USB3320, 接法抄F7 Discovery的, 看起来没有什么问题.
用过F405 / F407 / F753 + USB3300, 也都是OK的, 所以不确定H7是否有相容性问题.
如果可以的话, USB_Init()之前, 去拉一下USB3300的Reset让他重置一下, 看看有没有用.
回复

使用道具 举报

1

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-5-19
在线时间
15 小时
 楼主| 发表于 2019-5-22 21:32:25 | 显示全部楼层
sammy902583 发表于 2019-5-20 23:00
没有用过H7 +USB3300, 倒是前次打板做了H750VB+USB3320, 接法抄F7 Discovery的, 看起来没有什么问题.
用过 ...

你好,我实际使用的时候,有拉低 USB3300 的 Reset ,但是仍然出现这个问题。
猜想有可能与PCB的布线有关系(好比说没有等长),由于我是用双面板做的,故信号线可能会有部分比较长(最长29.6mm,最短19.8mm),不知道你的板子怎样?
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-5-23 00:05:28 | 显示全部楼层
静静开发 发表于 2019-5-22 21:32
你好,我实际使用的时候,有拉低 USB3300 的 Reset ,但是仍然出现这个问题。
猜想有可能与PCB的布线有 ...

一样是用最便宜的双面板
没有特别去拉等长, 而且我最短大概25mm, 最长大概70几mm, 差更多.
我是没有long run test, 所以不能保证长时间运行没有问题, 但是没有接上去列举不成功的状况.
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-5-23 00:12:20 | 显示全部楼层
没有做等长
用最便宜的双层板

usb3320_sch.gif
usb3300_sch.gif
回复

使用道具 举报

1

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-5-19
在线时间
15 小时
 楼主| 发表于 2019-5-24 11:23:44 | 显示全部楼层
sammy902583 发表于 2019-5-23 00:12
没有做等长
用最便宜的双层板

请问USB 的 DM,DP 两线需要严格等长吗?(好比说长度差不能超过5mil)
回复

使用道具 举报

1

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-5-19
在线时间
15 小时
 楼主| 发表于 2019-5-24 11:26:55 | 显示全部楼层
sammy902583 发表于 2019-5-23 00:12
没有做等长
用最便宜的双层板

最新的测试还发现一个情况,当出现接入不成功时,监测DM DP时,会发现其处在 USB_FS 的状态,无法切换到 USB_HS
回复

使用道具 举报

1

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-5-19
在线时间
15 小时
 楼主| 发表于 2019-5-24 11:37:13 | 显示全部楼层
sammy902583 发表于 2019-5-23 00:12
没有做等长
用最便宜的双层板

我现在的 DM DP 长度差距是1.38mm
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-5-24 19:43:24 | 显示全部楼层
静静开发 发表于 2019-5-24 11:37
我现在的 DM DP 长度差距是1.38mm

就在隔壁的两根脚, 您再怎么布线, 也不会差到哪里去.
1.38已经算不上差异了.
USB 2.0要求没有很严格.
不管是STM32 ULPI, 或是USB3300, 规格书里面也没有特别的Layout recommendation.
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-6-8 17:42:36 | 显示全部楼层
试做了一片STM32H750VBT6+USB3300. Layout一样很随兴没有在等长.
打板完, 刚刚试了一下, 基本上接上去可以正常识别.
供您参考.
回复

使用道具 举报

6

主题

23

帖子

0

精华

高级会员

Rank: 4

积分
620
金钱
620
注册时间
2017-8-14
在线时间
240 小时
发表于 2019-6-8 22:18:30 | 显示全部楼层
sammy902583 发表于 2019-5-23 00:12
没有做等长
用最便宜的双层板

请教一下,我看了USB3320的规格书,说1.8V要先供电并稳定后,才能接入VDDIO电压。
你的USB3320原理图,是如何来满足1.8V和VDDIO的供电先后要求的?谢谢。

2019-06-08_221647.jpg
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-6-8 23:24:13 | 显示全部楼层
hbdkj 发表于 2019-6-8 22:18
请教一下,我看了USB3320的规格书,说1.8V要先供电并稳定后,才能接入VDDIO电压。
你的USB3320原理图, ...

这个我倒是没有特别注意.
F7Discovery的VDDIO/VDD18都是直接接LDO出来, 我也是跟着照做, 看起来这样做并没有什么问题.
回复

使用道具 举报

6

主题

23

帖子

0

精华

高级会员

Rank: 4

积分
620
金钱
620
注册时间
2017-8-14
在线时间
240 小时
发表于 2019-6-9 08:38:56 | 显示全部楼层
sammy902583 发表于 2019-6-8 23:24
这个我倒是没有特别注意.
F7Discovery的VDDIO/VDD18都是直接接LDO出来, 我也是跟着照做, 看起来这样做并 ...

我看了ST官方STM32H7开发板,USB3320原理图中,1.8V和VDDIO是有上电顺序的:
2019-06-09_083506.jpg

回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-6-9 10:12:44 | 显示全部楼层
hbdkj 发表于 2019-6-9 08:38
我看了ST官方STM32H7开发板,USB3320原理图中,1.8V和VDDIO是有上电顺序的:

那您可以照您觉得OK的做法做板子,问我也没有正确的答案
毕竟我只是当游戏在玩, 并没有很严谨, 抄一抄别人可以运行的线路就没有多去思考了
如果您是要做产品, 要打几千几万片的话, 严谨一点当然是好的, 甚至可以去问SMSC的FAE, 请他们review.
回复

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2019-8-20
在线时间
8 小时
发表于 2019-9-5 10:45:44 | 显示全部楼层
大神能否分享一下代码,之前用407+3300没什么问题。现在h750+3300我用cubemx生成的代码完全没反应,示波器看DP和DM都有波形。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2019-9-20
在线时间
2 小时
发表于 2019-9-20 08:52:37 | 显示全部楼层
静静开发 发表于 2019-5-24 11:23
请问USB 的 DM,DP 两线需要严格等长吗?(好比说长度差不能超过5mil)

不需要
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2017-8-8
在线时间
19 小时
发表于 2020-7-9 10:47:43 | 显示全部楼层
he2002512 发表于 2019-9-5 10:45
大神能否分享一下代码,之前用407+3300没什么问题。现在h750+3300我用cubemx生成的代码完全没反应,示波器 ...

老哥,你的咋样了,问一个问题哈,cube生成的程序里边不加fatFS读写U盘的函数是啥啊,我之前用的都是FS的,里边有readblocks,但是HS里就找不到相关的读写函数了
回复

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2019-8-20
在线时间
8 小时
发表于 2020-7-16 08:51:26 | 显示全部楼层
ElonMask 发表于 2020-7-9 10:47
老哥,你的咋样了,问一个问题哈,cube生成的程序里边不加fatFS读写U盘的函数是啥啊,我之前用的都是FS的 ...

CUBEMX有BUG,建议网上下个别人调好的代码先试试硬件。我忘记改的哪里了,是栈空间还是外部晶振(有源/无源)的选择了。反正就是一个很意外的点。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-1 00:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表