你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32H7+USB3300+SD作为U盘速度慢的问题

[复制链接]
STMCU小助手 发布时间:2021-12-30 18:08
如题,在此我使用的是微雪电子的H7开发板(没办法,淘宝上能找到的USB3300模块就这一家,自然就使用了他家的开发板)。烧录了他家自带的USB_HS Device_MSC例程后进行测试,速度慢得离谱,如下图:
# S- S! I* b% ~9 l" I5 U/ m, O7 v( N4 @! j2 H/ }
20210802095247192.png

+ \: w8 l+ u  u$ Q. ?* K& X         这个速度基本和FS差不多,关于这个我也和微雪的技术进行了沟通,他给我的答复是测试环境好的话只能达到24bps。我心里瞬间就卧槽了,这和微雪课堂上所说的加上外部PYH能达到480bps说辞完全不一样啊。问行不通,那就自己调试了。(以下仅作为参考,应用到自己的项目上还是要自己多研究哦,尤其是我开启了Cache,项目中如果使用了DMA就要当心了)  b" h8 O  G* ^

7 S/ k% ~, p# c9 d' H需要配置的东西很简单,首先是USB_OTG_HS,把所需GPIO的速度都设为Very High 4 S6 A: x' Y' B& E' X% R4 D* n% h

1 Q4 }* C, D. U5 T4 d. E( s
20210802100821877.png
/ k1 L' {) [, ^3 t' S# c
然后增大USB_DEVICE的缓存(很重要)
' J1 _4 Q" M( [/ F" k7 Q2 Z, h2 Q& c* g+ L5 {
2021080210115199.png

7 w& {+ N0 [- W, I) L+ b- \ Cache使能(暂时不明白为什么不打开这个,插上电脑就不显示U盘设备)
3 v9 |& T$ t. T; U% n7 X! Q4 \: W. G4 j8 e
20210802101445281.png
7 h4 A$ a* d, [& C# ]* M
代码部分就是把usbd_storage_if里面的几个接口填充一下(若要使用DMA一定要注意内存数据的完整性问题)! E/ O8 x' _1 N2 h  B2 m

, [  Y$ T7 Q, T0 ^( w6 Y0 b
20210802102203233.png

5 u! y" w: U) k- u4 f
20210802102203237.png
; F/ ~$ d7 Y- ~9 g" `0 a  @- ?9 i+ y
  }& ?' H5 H& ?( c  {% j1 G1 R; ?
. M7 ?, b/ D: V
编译,烧录,USB接上电脑,可以发现速度直接起飞!9 y* @, |) v/ x$ T+ e3 L9 Y0 j

/ Z6 h7 \  J' S3 R, P$ u. w! }+ A, u
20210802102450198.png

$ @+ `7 y) G$ |# U
$ O& J: `9 K8 R/ y$ d0 ?' J
( y; `: k) I( D
收藏 评论0 发布时间:2021-12-30 18:08

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版