硬汉嵌入式论坛

 找回密码
 立即注册
查看: 7009|回复: 5
收起左侧

[客户分享] STM32F4的最高SDIO时钟是50MHz,一般我们都是使用48MHz

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2021-2-18 09:55:49 | 显示全部楼层 |阅读模式
SDIO时钟是和USB,RNG在一起的,由于USB要固定48MHz,所以我们这里固定使用48MHz时钟。

如果没有选择旁路分频器,SDIO外设固定做了2分频,所以实际驱动SD卡的时钟在0-25MHz。如果选择了旁路分频器,SDIO可以以最高的50MHz时钟驱动芯片。

1.png

2.png









回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2021-2-19 08:15:10 | 显示全部楼层
修改楼主位。
如果没有选择旁路分频器,SDIO外设固定做了2分频,所以实际驱动SD卡的时钟在0-25MHz。
如果选择了旁路分频器,SDIO可以以最高的50MHz时钟驱动芯片。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2021-5-21 12:14:32 | 显示全部楼层
在使用USB和SDIO后,
按文档使用旁路SDIO_CLOCK_BYPASS_DISABLE, (CLKDIV =0)SDIO_CK = SDIOCLK / [CLKDIV + 2] = 24MHZ
按文档不使用旁路SDIO_CLOCK_BYPASS_ENABLE, 我测试到还是24MHZ, 理论上应该是48MHZ。
请教怎么能得到48MHZ的时钟输出?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2021-5-22 08:04:38 | 显示全部楼层
pace_xia 发表于 2021-5-21 12:14
在使用USB和SDIO后,
按文档使用旁路SDIO_CLOCK_BYPASS_DISABLE, (CLKDIV =0)SDIO_CK = SDIOCLK / [CLK ...

可以考虑锁定下是哪个寄存器配置的,看看运行起来后,这个寄存器正常不
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2021-6-21 09:28:05 | 显示全部楼层
我在STM32F407测了下,SDIO_ClockBypass_Enable后文件系统就工作不了了,时钟旁路后是不是还有别的地方也要跟着配置...
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2021-6-21 09:32:09 | 显示全部楼层
pace_xia 发表于 2021-5-21 12:14
在使用USB和SDIO后,
按文档使用旁路SDIO_CLOCK_BYPASS_DISABLE, (CLKDIV =0)SDIO_CK = SDIOCLK / [CLK ...

你说反了,SDIO_CLOCK_BYPASS_DISABLE是禁止旁路,在驱动 SDIO_CK 输出信号前,根据 CLKDIV 值对 SDIOCLK 进行分频;SDIO_CLOCK_BYPASS_ENABLE是使能旁路,由SDIOCLK 直接驱动 SDIO_CK 输出信号;
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 04:59 , Processed in 0.193045 second(s), 36 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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