[其他ST产品] SDIO读取TF卡,1bit模式正常,4bit模式无法读取

[复制链接]
3248|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 | 显示全部楼层
软件配置问题吧
stormwind123 发表于 2024-4-24 16:00 | 显示全部楼层
SD卡不兼容?
probedog 发表于 2024-4-24 17:00 | 显示全部楼层
检查SDIO总线的时序参数,包括时钟频率、上升/下降时间等是否符合SD卡规范
夜阑风雨 发表于 2024-6-20 12:06 | 显示全部楼层
SDIO接口支持1位(1bit)和4位(4bit)数据传输模式。当您在STM32H7或其他微控制器上使用SDIO接口读取TF卡(通常指MicroSD卡)时,如果1位模式工作正常而4位模式无法读取,可能是SD卡不支持4位模式
光辉梦境 发表于 2024-6-20 15:00 | 显示全部楼层
其实并非所有的SD卡都支持4位数据传输模式。确保您的SD卡支持4位模式。通常,SDHC和SDXC卡支持4位模式,而较旧的SD卡可能只支持1位模式。
一秒落纱 发表于 2024-6-20 17:00 | 显示全部楼层
在切换到4位模式之前,需要正确初始化SD卡。确保在尝试4位模式之前,SD卡已经通过1位模式正确初始化,并且已经发送了切换到4位模式的命令(例如CMD5)。
远山寻你 发表于 2024-6-20 19:00 | 显示全部楼层
在4位模式下,SDIO接口的时钟频率可能需要调整。确保时钟频率在SD卡的规格范围内,并且与1位模式下的时钟频率相匹配。
江河千里 发表于 2024-6-20 23:00 | 显示全部楼层
检查固件代码,确保在4位模式下正确配置了SDIO接口,并且正确处理了数据传输。可能需要调整DMA配置或中断处理逻辑。
冰春彩落下 发表于 2024-6-21 02:00 | 显示全部楼层
确保SD卡的电源供应稳定,电压符合SD卡的要求。电源不稳定可能会影响4位模式的正常工作。
三生万物 发表于 2024-6-21 09:00 | 显示全部楼层
如果使用的是STM32Cube库,确保使用的是最新版本的库,并且正确实现了SDIO驱动。有时候,库的更新可能会解决已知的问题。
暖了夏天蓝了海 发表于 2024-6-21 12:00 | 显示全部楼层
尝试对SD卡进行复位和重新初始化,有时候这可以解决通信问题。
别乱了阵脚 发表于 2024-6-21 15:00 | 显示全部楼层
在固件中添加调试信息和日志记录,以帮助诊断问题。检查SDIO寄存器的状态,以及在尝试切换到4位模式时SD卡的响应。
小小蚂蚁举千斤 发表于 2024-6-23 16:44 | 显示全部楼层
建议还是参照例程进行配置确认
您需要登录后才可以回帖 登录 | 注册

本版积分规则

679

主题

4005

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部