SD卡初始化; acmd41 失败;
SD card initialisation; acmd41 fails;
我正在尝试初始化 SD 卡,但从未准备好卡。
详情:
有带有 SD 主机控制器和微型 SDHC UHS-1 卡的芯片的开发板。
我正在关注的初始化序列:
- cmd0:参数
0x00
。很好
cmd8:arg 0x1AA
。好的,0x1aa 被 return 返回。
acmd41:
-- 第一个 cmd55:arg 0x00
。好的,响应 0x120
表示设置了 'app_cmd' 标志。
-- 第二个 cmd41:arg 0x5100'0000
(HCS:1;XPC:1;S18R:1 - SDHC/SDXC 支持;最大性能;分别切换到 1.8V)
响应是 0xff8000
。所以这似乎是一个有效的 OCR,支持整个电压范围。
一旦知道卡片支持的 OCR,我会再次发送带有设置 OCR 的 ACMD41:
-- cmd55:arg 0x00
。有效 0x120
响应。
-- cmd41:arg 0x51ff'80000
。
在这种情况下,即使 SD 主机控制器没有指示任何错误(如超时或错误的 CRC),我总是从卡中得到 0xffff'ffff
无论如何都不是正确的响应,所以看起来卡确实发送了该值。
重复上述acmd41(cmd55 + cmd41)继续return同样的反应,cmd55可以,cmd41是0xffffffff
有什么想法吗wrong/I不见了?
谢谢。
很快,卡初始化序列就可以了。那是硬件问题。
卡的电源被拧紧了,所以卡没有足够的电量来正常工作,但不知何故有足够的电量来发送响应。
为了让我尝试的几张卡片变得更有趣:
- 一张卡根本没用
- 一个初始化失败(如上所述)
- 一个人做了所有事情,但在尝试写入数据时无限期地停留在 'Programming' 状态。
谢谢大家:)
我正在尝试初始化 SD 卡,但从未准备好卡。
详情:
有带有 SD 主机控制器和微型 SDHC UHS-1 卡的芯片的开发板。
我正在关注的初始化序列:
- cmd0:参数
0x00
。很好 cmd8:arg
0x1AA
。好的,0x1aa 被 return 返回。acmd41:
-- 第一个 cmd55:arg0x00
。好的,响应0x120
表示设置了 'app_cmd' 标志。
-- 第二个 cmd41:arg0x5100'0000
(HCS:1;XPC:1;S18R:1 - SDHC/SDXC 支持;最大性能;分别切换到 1.8V) 响应是0xff8000
。所以这似乎是一个有效的 OCR,支持整个电压范围。
一旦知道卡片支持的 OCR,我会再次发送带有设置 OCR 的 ACMD41:
-- cmd55:arg 0x00
。有效 0x120
响应。
-- cmd41:arg 0x51ff'80000
。
在这种情况下,即使 SD 主机控制器没有指示任何错误(如超时或错误的 CRC),我总是从卡中得到 0xffff'ffff
无论如何都不是正确的响应,所以看起来卡确实发送了该值。
重复上述acmd41(cmd55 + cmd41)继续return同样的反应,cmd55可以,cmd41是0xffffffff
有什么想法吗wrong/I不见了?
谢谢。
很快,卡初始化序列就可以了。那是硬件问题。
卡的电源被拧紧了,所以卡没有足够的电量来正常工作,但不知何故有足够的电量来发送响应。
为了让我尝试的几张卡片变得更有趣:
- 一张卡根本没用
- 一个初始化失败(如上所述)
- 一个人做了所有事情,但在尝试写入数据时无限期地停留在 'Programming' 状态。
谢谢大家:)