打印
[技术问答]

M483 HSUSBD_Mass_Storage_SD 例程主频受限

[复制链接]
1049|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
klshu36|  楼主 | 2020-4-7 20:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 klshu36 于 2020-4-7 20:29 编辑

官方的M480BSP例程中的HSUSBD_Mass_Storage_SD默认主频是50M,最大只能运行在72MHz,调高主频则不能正确枚举,而且只有USB和SD卡功能组合时才会出现这种问题,官方例程中的其它usb例程也都是默认192MHz的,这个问题各位有没有遇到过,有没有什么办法解决这个问题?

使用特权

评论回复
沙发
xixi2017| | 2020-4-7 23:23 | 只看该作者
无法192M?

使用特权

评论回复
板凳
jasontu| | 2020-4-8 08:01 | 只看该作者
參考/SDH_FATFS/main.c

CLK_SetCoreClock(FREQ_192MHZ);
...
CLK_SetModuleClock(SDH0_MODULE, CLK_CLKSEL0_SDH0SEL_PLL, CLK_CLKDIV0_SDH0(10));

使用特权

评论回复
地板
klshu36|  楼主 | 2020-4-8 08:53 | 只看该作者
jasontu 发表于 2020-4-8 08:01
參考/SDH_FATFS/main.c

CLK_SetCoreClock(FREQ_192MHZ);

可以配置成192MHz,但是这个主频下usb枚举失败,PC无法识别到设备。单独的USB功能比如 HUSBD_MSC_SRAM例程或者单独的SD卡功能例程 SDH_FATFS 都可以在192MHz下正常运行,但是组合起来的 HUSBD_MSC_SD就是不行,调试发现USB2.0中断标志和正常的中断标志不太一样,正常的是先 0x100(总线上电标志)->0x08(挂起标志)->0x02(总线复位标志)->0x08(挂起标志)->0x20(DMA结束标志)。。。;而不能枚举时是 0x40(PHYCLKVLDIF标志)->0x08(挂起标志)后面就停止了;PHYCLKVLDIF标志手册上说明只有一句话:usable clock is available from the transceiver.. 检查其它例程:其它SD卡相关例程或者USB相关例程都默认都是192MHz,就这个源码里设置成50M,我去查了下官网的Errata Sheet,也没有相关说明,只有一个关于HUSB端点 word写入的硬件bug。。。

使用特权

评论回复
5
klshu36|  楼主 | 2020-4-8 09:02 | 只看该作者
玩的东西是一个USB转换工具,CAN与USB互转,也可以将can数据记录在tf卡上拷出来查看,还支持SPI、IIC、UART转换,后期还计划支持离线烧录SPI Flash和离线通过CAN烧写我公司的产品。。。现在卡在这个读卡器功能的主频上了。。。

使用特权

评论回复
6
曲水流觞100| | 2020-4-28 16:15 | 只看该作者
楼主,我最近在用新唐的做读卡器,没用过,能否把你的代码发给我学习学习,O(∩_∩)O谢谢!QQ:1006607036

使用特权

评论回复
7
zhuotuzi| | 2020-4-28 21:36 | 只看该作者
PLL可以满足吗

使用特权

评论回复
8
HuangHongLun| | 2020-4-29 17:16 | 只看该作者
usb的主频得降下来吧,192M感觉够呛。

使用特权

评论回复
9
klshu36|  楼主 | 2020-5-11 16:06 | 只看该作者
问题已经解决,结果提交到官方BSP的github issue中了,自行查看,192M时SD主频只能到48M,实测速度在64K缓冲下模拟U盘拷贝速度大约8M~9MB/s,要代码的那个,我就是直接用官方例程。。。

使用特权

评论回复
10
曲水流觞100| | 2020-9-24 19:06 | 只看该作者
klshu36 发表于 2020-5-11 16:06
问题已经解决,结果提交到官方BSP的github issue中了,自行查看,192M时SD主频只能到48M,实测速度在64K缓 ...

时隔半年,重拾新唐读卡器,还是没搞懂,issue没看到啊大佬

使用特权

评论回复
11
klshu36|  楼主 | 2020-11-9 10:48 | 只看该作者
官方开发包已经合并了这个功能了,你重新下载下例程就可以了。。。注意尽量将SD缓冲区搞大点,不然模拟U盘读取写入速度会很慢。。。

使用特权

评论回复
12
发呆二极管| | 2020-11-16 21:35 | 只看该作者
虽然问题解决了,但是还是想问问具体原因,想学习下。这个不是分频的问题吗?分频后分到48M给SD也不行吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

15

帖子

0

粉丝