[技术问答] M487 SDH 官方例程有人调试过吗? 碰到寄存器执行操作卡死..

[复制链接]
384|6
 楼主 | 2018-6-25 21:17 | 显示全部楼层 |阅读模式
测试 M480_BSP_CMSIS_V3.03.000 里的
M480_BSP_CMSIS_V3.03.000\SampleCode\StdDriver\SDH_FATFS\
例程.

卡初始化时已经成功, 信息都正确. TF 高速卡, 8G/32G 都正常识别.

但输入命令后, 每次都卡在
M480_BSP_CMSIS_V3.03.000\Library\StdDriver\src\sdh.c
第130行:
        while ((sdh->CTL & SDH_CTL_RIEN_Msk) == SDH_CTL_RIEN_Msk)
        {
            if (pSD->IsCardInsert == FALSE)
            {
                return SDH_NO_SD_CARD;
            }
        }

手册上描述该位的说明:

RIEN  响应输入使能位
0 = 没效果 (请通过 DMARST (SDH_CTL [0]) 清这一位)
1 = 使能, SD 主机等待从SD卡接收响应
注意: 操作结束后,此位自动清0,不要写0到这个寄存器,否则控制器会工作不正常



折腾一天都没整明白怎么回事, 觉得是SD时钟太高, SDHC 卡最终给出的频率是 50MHz, 这是SD控制器跟TF卡通讯后根据卡类型自动配置的. 后改为20MHz/10MHz/5MHz 都不行.

有人测试通过了吗? 能不能分享下经验.
| 2018-6-25 22:27 | 显示全部楼层
这个不是刚出的芯片吗,还没用过。
 楼主 | 2018-6-25 23:14 | 显示全部楼层
zhuomuniao110 发表于 2018-6-25 22:27
这个不是刚出的芯片吗,还没用过。

端午前厂家在淘宝有卖,收到后发现已下架。
 楼主 | 2018-6-26 10:25 | 显示全部楼层
在新唐官网上下载
EC_M480_Play_Music_from_SD_Card_V1.0.zip

然后调试. 可以正常工作, 音频文件正常读取, 能出声音. 与 M480_BSP_CMSIS_V3.03.000 对比了下驱动, 除了 sdh.c, 其它一样包括中断处理程序也一样. 把 M480_BSP_CMSIS_V3.03.000 下的 sdh.c 拷贝到本工程, 一样没问题.

但是 M480_BSP_CMSIS_V3.03.000\SampleCode\StdDriver\SDH_FATFS\ 问题照旧.

fs fl 等都卡死.

使用的TF卡是8G的SanDisk UHS-1 microSDHC 卡. 几乎是最常见的卡了. 家里设备上还有东芝 三星卡, 觉得没有拆下来测试的必要, 毕竟是不稳定.

不知道是MCU本身问题, 还是驱动时序没做好. 没空继续深入查找问题原因.

望厂家能对该部分问题进行改善.
 楼主 | 2018-6-26 10:25 | 显示全部楼层
本帖最后由 gydgds963 于 2018-6-26 10:30 编辑

还有 M480_BSP_CMSIS_V3.03.000\SampleCode\StdDriver\SDH_FATFS\

例程, 下面有简单的说明, 只能说太简单了. 很多测试命令无法确定该如何使用. 既然已经给出说明, 觉得后面再加上简单例子说明, 会让人一看就明白, 而不是现在云里雾里.
 楼主 | 2018-7-12 16:49 | 显示全部楼层
这两天重新捡起该程序.

开始按sd卡协议 SCR 内容, SD_BUS_WIDTHS 部分描述发现TF卡这部分返回的内容 不是期望的 0x5, 而是 0x0.
所以关闭 SD 控制器对 TF 卡初始化时 1 DAT 到 4 DAT 的切换操作. TF 可正常使用了.

但是想来想去, 觉得不太可能, 什么年代, 不可能 TF 卡不支持4线操作.

打开评估板原理图, 对照 M480_BSP_CMSIS_V3.03.000\SampleCode\StdDriver\SDH_FATFS\ 里 IO部分的初始化代码.

发现例程里对 IO口的初始化有问题. 评估板使用的 IO 口是 PE.2 PE.3 PB.4 PB.5 PE.6 PE.7 作为SD控制器.
而例程里是初始化 PE.2 PE.3 PE.4 PE.5 PE.6 PE.7 作为 SD 控制器.

然后忽略 SCR 里的标准规定, 还是进行强制 1线转4线操作. 终于可以4线正常访问 TF 卡.

再重新打开
EC_M480_Play_Music_from_SD_Card_V1.0.zip

例程, 发现这个程序里的 IO 口是按评估板正常配置的.

破问题终于解决.
| 2018-8-2 12:08 | 显示全部楼层
gydgds963 发表于 2018-7-12 16:49
这两天重新捡起该程序.

开始按sd卡协议 SCR 内容, SD_BUS_WIDTHS 部分描述发现TF卡这部分返回的内容 不是 ...

请教是IO配置方面的问题吗?
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

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