打印
[其他ST产品]

SDIO读取TF卡,1bit模式正常,4bit模式无法读取

[复制链接]
1873|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerantone|  楼主 | 2024-4-23 14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, TF, 4B, sd, IO, 读取
STM32Cube_FW_F1_V1.8.5

STM32CubeIDE:1.13.2

MCU:STM32F103RCT6

问题描述::::::::SDIO读取TF卡,1bit模式正常,4bit模式无法读取,断点找到的错误如下:::SDMMC_ERROR_REQUEST_NOT_APPLICABLE

f_mkfs((TCHAR const*)SDPath, 0, 0)

或是 f_open(&SDFile, "STM32.TXT", FA_CREATE_ALWAYS | FA_WRITE|FA_READ)

[ff.c 4170] ---->stat = disk_initialize(pdrv);

[diskio.c 99] ---->stat = disk.drv[pdrv]->disk_initialize(disk.lun[pdrv]);

[sd_diskio.c 94]  ---->if (BSP_SD_Init()==MSD_OK)

[bsp_driver_sd.c 62] ----> HAL_SD_ConfigWideBusOperation (&hsd,SDIO_BUS_WIDE_4B)

[stm32faXX_hal_sd.c 2204]---->errorstate = SD_WideBus_Enable(hsd);

[stm32faXX_hal_sd.c 2979]---->return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE;

errorstate = HAL_SD_ERROR_REQUEST_NOT_APPLICABLE

断点信息因为scr[1U]=0x00;

所以[stm32faXX_hal_sd.c 2959]----> if((scr[1U] & SDMMC_WIDE_BUS_SUPPORT) != SDMMC_ALLZERO)这句判断过不去。

使用特权

评论回复
沙发
AIsignel| | 2024-4-23 17:44 | 只看该作者
这种问题还不好找,看看例程怎么配置的吧。

使用特权

评论回复
板凳
laocuo1142| | 2024-4-24 10:00 | 只看该作者
检查硬件连接是否有问题

使用特权

评论回复
地板
flycamelaaa| | 2024-4-24 11:00 | 只看该作者
软件配置问题吧

使用特权

评论回复
5
stormwind123| | 2024-4-24 16:00 | 只看该作者
SD卡不兼容?

使用特权

评论回复
6
probedog| | 2024-4-24 17:00 | 只看该作者
检查SDIO总线的时序参数,包括时钟频率、上升/下降时间等是否符合SD卡规范

使用特权

评论回复
7
夜阑风雨| | 2024-6-20 12:06 | 只看该作者
SDIO接口支持1位(1bit)和4位(4bit)数据传输模式。当您在STM32H7或其他微控制器上使用SDIO接口读取TF卡(通常指MicroSD卡)时,如果1位模式工作正常而4位模式无法读取,可能是SD卡不支持4位模式

使用特权

评论回复
8
光辉梦境| | 2024-6-20 15:00 | 只看该作者
其实并非所有的SD卡都支持4位数据传输模式。确保您的SD卡支持4位模式。通常,SDHC和SDXC卡支持4位模式,而较旧的SD卡可能只支持1位模式。

使用特权

评论回复
9
一秒落纱| | 2024-6-20 17:00 | 只看该作者
在切换到4位模式之前,需要正确初始化SD卡。确保在尝试4位模式之前,SD卡已经通过1位模式正确初始化,并且已经发送了切换到4位模式的命令(例如CMD5)。

使用特权

评论回复
10
远山寻你| | 2024-6-20 19:00 | 只看该作者
在4位模式下,SDIO接口的时钟频率可能需要调整。确保时钟频率在SD卡的规格范围内,并且与1位模式下的时钟频率相匹配。

使用特权

评论回复
11
江河千里| | 2024-6-20 23:00 | 只看该作者
检查固件代码,确保在4位模式下正确配置了SDIO接口,并且正确处理了数据传输。可能需要调整DMA配置或中断处理逻辑。

使用特权

评论回复
12
冰春彩落下| | 2024-6-21 02:00 | 只看该作者
确保SD卡的电源供应稳定,电压符合SD卡的要求。电源不稳定可能会影响4位模式的正常工作。

使用特权

评论回复
13
三生万物| | 2024-6-21 09:00 | 只看该作者
如果使用的是STM32Cube库,确保使用的是最新版本的库,并且正确实现了SDIO驱动。有时候,库的更新可能会解决已知的问题。

使用特权

评论回复
14
暖了夏天蓝了海| | 2024-6-21 12:00 | 只看该作者
尝试对SD卡进行复位和重新初始化,有时候这可以解决通信问题。

使用特权

评论回复
15
别乱了阵脚| | 2024-6-21 15:00 | 只看该作者
在固件中添加调试信息和日志记录,以帮助诊断问题。检查SDIO寄存器的状态,以及在尝试切换到4位模式时SD卡的响应。

使用特权

评论回复
16
小小蚂蚁举千斤| | 2024-6-23 16:44 | 只看该作者
建议还是参照例程进行配置确认

使用特权

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

本版积分规则

558

主题

2423

帖子

4

粉丝