五、SWM341系列SDIO 应用
5.1、支持TF容量为32G以内。 -- 2022.4.12
5.2、现 象:客户反应反映SD卡初始化刚上电初始化不了,复位后才可以,正常使用。 分析与解决:需要SDIO CR2寄存器配置后延时几us,在继续配置才能解决,目前问题已经在新的函数库解决。
5.3、SWM320/341系列标准外设库内的SDIO驱动识别SD卡异常。 现象:客户反映使用 Lib/SDIO 例程无法识别 SD 卡,具体表现为: 断电状态下将 SD 卡插入板载卡槽,在给板子第一次上电时 MCU 无法识别 SD 卡(SDIO_Init返回失败, 错误值 1 or 2),但按下板载按键进行软复位后可正确识别并读写 SD 卡,断电再上电则不行;并且有另外一个异常现象,当在连续调用两次 SDIO_Init()初始化后,如果全程保持一直不插卡,第二次初始化就会卡在标准库函数 SDIO_SendCmd 中 SDIO_IF_CMDDONE 忙查询的循环内,进入死循环,无法跳出。 问题排查分析如下: 1、仿真全程单步调试,无法复现; 2、断点定位至 SDIO_CR2_CLKRDY_Msk忙查询后进行全速执行可复现,而单步执行无法复现, 尝试插入几个机器周期__NOP()依旧复现,将延时调整加大后,不在复现,此时断电再上电可正确识别 SD卡。 初步评估认为 SDIO硬件 CLKRDY标志位不可靠or不稳定。 解决方法:在 SDIO_Init() 内 等待 SD时钟稳定状态后加上一小段阻塞延时后,异常现象不再复现,在2023.02.15后的Lib中已更新修正此问题,如有用户使用旧版库请让其更新驱动库。
5.4、SD-TF卡的兼容性与识别 现象:客户使用的是SWM34SVE,客户反馈HMI上位机的AVI控件去播放视频,无法正常播放,用的SD卡型号是存储博士; 分析解决:有两种解决方法:①换型号为闪迪或金士顿的SD卡;②用Windows系统格式化SD为FAT格式;
5.5、SDIO速率引起的TF卡识别 现象:Synwit演示箱,综合demo用型号金士顿的SD卡,进行JPEG硬件解码视频播放不会出现卡死的现象,闪迪的SD卡会出现卡死的现象; 分析解决:由于每个型号SD卡的挂载速率不同,需把SDIO_Init(37500000)改成SDIO_Init(18750000);
5.6、SWM341CE与SWM34SCE的SDIO单线通讯接法 SWM341CE与SWM34SCE仅支持SDIO的单线通讯硬件连接如下图,经测试,SDIO单线通讯也能流畅播放视频,需要注意的是SWM341CE在接了I80接口后SDIO的CMD被占用,而SWM34SCE在接了RGB565/I80接口后仍可以用SDIO。
|