JJJ:SD 卡中的 OCR(Operating Conditions Register)寄存器

文章目录

1.简介

OCR 是一个 32位(4字节) 的只读寄存器,位于 SD 卡内部。它的主要作用有两个:

1、报告 SD 卡支持的工作电压范围。

2、指示上电初始化过程是否完成。

当主机(例如单片机、树莓派、手机)与 SD 卡通信时,首先需要读取 OCR 寄存器来确认双方是否"兼容",并等待卡准备好接受后续命令。

2.位定义

31:24 只有最高位 位 31 是有意义的,其他位保留。位 31:卡上电状态位。0:卡仍在初始化过程中,繁忙。1:卡初始化过程完成,准备就绪。这是主机在发送 ACMD41(SD Memory Card)或 CMD1(MMC 卡)命令时,需要轮询检查的关键位。只有当此位变为 1 时,主机才能继续进行下一步操作。
23:20 保留
19:16 保留给 SDIO 卡使用
15:8 保留
7:0 常用的电压窗口位,每个位代表一个电压范围。如果该位被置为 1,表示卡支持该电压范围。
7 表示电压范围为2.7-3.6v,标准电压范围。几乎所有 SD 卡都支持这个范围。这是最重要的位。

注意: 对于 UHS-I 等高速度模式,卡支持更宽的电压范围,但标准 SD 卡主要关注位 7。

3.如何读取ocr寄存器

3.1 主机发送 CMD58。

SD 卡响应,并在数据线上返回一个 R3 响应。

R3 响应包含 5 个字节:

c 复制代码
第1个字节:CMD58 的响应字节。
第2-5个字节:就是 32 位的 OCR 寄存器值。

3.2 acmd41指令

4.实际应用示例

4.1 字节粒度

假设你通过 CMD58 读取到一个 OCR 值为:0x80FF8000(这是一个非常典型的返回值)。

我们将其分解为二进制来分析:

0x80FF8000 的二进制是:1000 0000 1111 1111 1000 0000 0000 0000

位 31:是 1。这意味着卡已经上电完成,准备就绪。

位 7:是 1。这意味着卡支持 2.7-3.6V 的标准电压。

所以,这个值告诉主机:

"我已经准备好了(位31=1)。"

"我可以在 2.7V 到 3.6V 的电压下工作(位7=1)。"

主机看到这个响应后,就知道可以开始进行后续的识别、读写等操作了。

4.2 通信流程粒度

OCR 寄存器的读取和检查是 SD 卡初始化流程的核心部分,特别是与 ACMD41 命令配合使用。

简化版的 SD 卡初始化流程:

主机发送 CMD0 使卡进入空闲状态。

主机发送 CMD8 检查卡是否支持 SDHC/SDXC(Ver2.00+)。

主机循环发送 ACMD41,并将主机支持的电压范围(例如,将 OCR 的位7置1)作为命令参数发送给卡。

卡在初始化过程中,会不断返回它的 OCR 寄存器值(通过 ACMD41 的响应)。

主机每次收到响应,都检查:

位31 是否为 1?如果不是,回到步骤3,继续发送 ACMD41。

如果是 1,则初始化完成。同时,主机还可以检查返回的电压窗口,确认卡是否支持主机提供的电压。

相关推荐
weixin_4080996720 小时前
【实战案例】电商自动化:如何用 OCR API 批量识别商品图片文字?(完整方案 + 代码示例)
人工智能·ocr·api·文字识别·电商ocr·商品图片文字识别·ocr 批量识别
新缸中之脑2 天前
用Gemma 4构建自托管OCR
人工智能·ocr
_张一凡2 天前
【文档解析】一文学懂百度千帆OCR模型细节及本地部署
深度学习·ocr·文档解析·千帆ocr·rag文档解析·qianfan-ocr
PieroPc2 天前
销售单据 OCR 处理中心,Fastapi+Html, MiMo-V2-Omni、豆包怎理图片转Json数据
html·ocr·fastapi
weixin_408099672 天前
【实战教程】EasyClick 调用 OCR 文字识别 API(自动识别屏幕文字 + 完整示例代码)
前端·人工智能·后端·ocr·api·安卓·easyclick
weixin_6683 天前
OCR 模型深度对比分析报告 - AI分析
人工智能·ocr
weixin_408099673 天前
【完整教程】天诺脚本如何调用 OCR 文字识别 API?自动识别屏幕文字实战(附代码)
前端·人工智能·后端·ocr·api·天诺脚本·自动识别文字脚本
guslegend3 天前
第6节:OCR文本错漏频发?结合LLM纠错,让图像文本也能精确使用
人工智能·大模型·ocr·rag
weixin_408099674 天前
OCR 识别率提升实战:模糊 / 倾斜 / 反光图片全套优化方案(附 Python / Java / PHP 代码)
图像处理·人工智能·后端·python·ocr·api·抠图
weixin_408099674 天前
【实战教程】懒人精灵如何实现 OCR 文字识别?接口调用完整指南(附可运行示例)
java·前端·人工智能·后端·ocr·api·懒人精灵