基本概念

存储卡有很多种类,CF卡、记忆棒、SD卡、XD卡、MMC卡、MS卡、TF卡、MicroSD卡等。平时最常见的有SD卡和MicroSD卡两种, SD卡和MicroSD只是两张卡的大小不同,规格版本是完全相同的,均由SD卡协会推出。

SD卡有不少规范,常用包含存储空间和存储速度两种,厂商会把满足的规范的图标印在卡面上,所以通过卡上有的规格,就能很快判断出这张卡的容量、类型和最低速度,甚至适用场景。

容量

SD

早期版本现在已经基本停用,最高容量2GB,分区格式为FAT12(FAT)或FAT16

DHC

SDHC:技术很成熟的种类,容量为4GB-32GB,分区格式为FAT32。

SDXC

SDXC:目前市场存储卡的主流,容量为64GB-2TB,分区格式为exFAT。

SDUC

新推出的版本,容量为2TB-128TB,分区格式为exFAT。

速度分级

Class 2 大于等于2MB/s

Class 4 大于等于4MB/s

Class 6 大于等于6MB/s

Class 10 大于等于10MB/s

UHS总线模式

UHS-I

最大读取速度104MB/s

UHS-II

最大读取速度312MB/s

UHS-III

最大读取速度624MB/s

SD Express I

最大读取速度985MB/s

UHS速度等级

U1

最低写入速度10M/S

U3

最低写入速度30M/S

举例

总线模式

SD模式

SPI模式

引脚对应

SD卡寄存器

上电时序要求

SD卡在上电要求250ms内电压必须要达到要求的最小电压值,并且至少需要保持74个SD卡时钟周期以保证CMD线变为高电平,SPI模式下则要求CS信号线在至少74个CLK时钟保持高电平

控制协议(以SD模式举例)

command

command共包含6个字节

Response

Response 包含不同的种类,不同种类的长度不一样

SD卡协议规定了不同的Command对应的Response

Data

命令控制时序

块读取时序

块写入时序

工作模式

SD卡根据上电后默认为SD卡模式,后所接收的指令来决定是否切换为SPI模式,SPI模式属于SD卡控制的附加模式

切换方式:在CS引脚为低电平条件下向SD卡发送CMD0 (复位指令),返回R1寄存器状态OK表示切换完成

退出方式:一旦切换为SPI模式,无法退回至SD模式,除非重新上电

两种工作模式各有优劣

SD模式: 速率更高,线路多,通信较为复杂

SPI模式:速率相对较低,更加通用,线路少,控制简单

SD模式

SD模式下的SD卡初始化流程

最重要的是ACMD41和CMD8命令及其结果返回

注意事项:初始化前应当考虑将SD卡的时钟线频率配置在400kHz以下,初始化完成后再恢复时钟频率

SPI模式

SPI模式下的初始化与SD模式相差无几,

1、SPI模式下需要先控制SD卡进入到SPI模式

2、SPI模式下的命令/返回/时序等要求与SD模式都存在区别,需要区别对待

3、初始化流程中ACMD41/CMD8命令最为重要

ACMD41返回

CMD8返回

SPI模式驱动举例

SPI时序要求

发送命令时序

时序中存在不确定的等待周期,如NCS NEC等,因此包含NCR在内的等待过程都需要设置重试等待机制,推荐使用

do while方式进行编程实现

块读取

对于读到的数据而言,其包含以下结构,首字节为0xFE, 中间数据为块大小数据,最后为2byte的CRC校验值

块写入时序

参考资料:home - SD Association

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/91527.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/91527.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/91527.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据平台数仓数湖hive之拉链表高效实现

对于缓慢变化的维度表,如客户表,员工表,为了不丢失历史数据,又不至于太浪费存储空间,我们采用拉链表实现。 实现过程如下: 1、采集初始数据: 1.1 从mysql导出数据到hdfs /data/dolphinschedu…

【VSCode】常用插件推荐(持续更新~)

以下的这些插件都有使用过,可取对自己编码有用的选择安装。🧠 智能补全 / 提示类插件 1. Auto Import在编码时选择有对应导入包的选项,自动为 JS/TS 文件中的使用项补全并添加 import 声明,极大提高开发效率。2. Iconify IntelliS…

ICML 2025 | 深度剖析时序 Transformer:为何有效,瓶颈何在?

本文介绍帝国理工学院等机构在 ICML 2025 发表的最新研究成果。该研究并未提出新模型,而是对现有时间序列 Transformer 模型进行了一次深刻的拷问——为何结构更简单的 Transformer( PatchTST, iTransformer)在各大基准测试中,反而…

AIBOX内置5G天线设计

AIBOX内置5G天线设计AIBOX的天线种类天线种类及数量:运营商5G天线*4,1.4G天线*2、wifi天线*1天线形式:内置PCB天线。天线安装方式:卡扣固定,安装至设备外壳内壁。RG-178同轴线或UFL1.37mm同轴线连接至主板,…

低通滤波器的原理以及作用

低通滤波器(Low-Pass Filter, LPF)是一种允许低频信号通过,同时衰减或阻止高频信号的电子电路或数字信号处理算法。其核心原理和作用如下:一、工作原理 1. 频率选择性- 低通滤波器基于频率对信号进行筛选,其传递函数在…

[AI Coding] 一.腾讯CodeBuddy IDE内测、安装及基本用法(国产AI IDE启航)

在人工智能迅猛发展的今天,AI Coding 正逐步改变传统编程范式。广义上,AI Coding 是指以大语言模型(LLMs)为核心驱动,借助自然语言理解能力,自动生成、补全、调试与解释代码的智能编程方式。它不仅显著降低…

《网安处罚裁量基准》码农合规指北 v1.0——if (违规) { 罚金++ } else { 合规运行 }

尊敬的审核: 本人文章《〈网安处罚裁量基准〉码农合规指北 v1.0——if (违规) { 罚金 } else { 合规运行 }》 1. 纯属技术交流,无任何违法内容 2. 所有法律引用均来自公开条文 3. 请依据《网络安全法》第12条“不得无故删除合法内容”处理 附&#xff1a…

机器学习——逻辑回归(LogisticRegression)实战案例:信用卡欺诈检测数据集

使用逻辑回归识别 信用卡欺诈行为:基于creditcard.csv的实战与评估分析 项目背景 在金融行业中,信用卡欺诈检测是一项关键任务。欺诈交易在整个交易中占比极低,导致数据极度不平衡。本案例通过经典数据集 creditcard.csv,构建逻辑…

Helm在Kubernetes中的应用部署指南与案例解析

在上一章节中,我们已经介绍了Helm的部署和基本使用方法。本章将通过实际案例,详细演示如何使用Helm在Kubernetes集群中部署应用。一、Helm 核心价值解析优势解决的问题类比传统方式应用模板化重复编写 YAML 文件手动编写 20 资源清单文件版本控制缺乏部署…

如何最简单、通俗地理解线性回归算法? 线性回归模型在非线性数据上拟合效果不佳,如何在保持模型简单性的同时改进拟合能力?

线性回归作为统计学与机器学习领域中最基础且最重要的算法之一,其应用广泛且深远。它不仅是回归分析的入门方法,更是后续复杂模型构建的重要理论基础。理解线性回归算法的本质,既有助于提升数据分析的能力,也能为掌握更复杂的机器…

蓝桥杯----超声波

(一)、超声波1、原理(图 一)发送信号阶段:单片机通过翻转发送的引脚P1^0,发送8个40MHZ的方波,此时开始计时。等待接收信号:通过单片机的接收引脚P1^1检测,未接收到信号时…

Java学习-运算符

1.在代码中,如果有小数参与计算,结果有可能不精确。2.整数参与计算,结果只能是整数。3.数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算。(1)隐式转换(自…

一句话指令实现“2D转3D”、“图片提取线稿”

你是否曾为一张2D图片无法完美展示3D效果而遗憾?是否曾因需要将手绘草图转为清晰线稿而耗时费力?这些曾让设计师、电商卖家、内容创作者头疼的难题,如今只需一句话指令,即可迎刃而解。一、案例一:2D图片→3D模型痛点场…

层次聚类:无需“猜”K值,如何让数据自己画出“家族图谱”?

层次聚类:无需“猜”K值,如何让数据自己画出“家族图谱”?👋 大家好,我是小瑞瑞!欢迎回到我的专栏! 在上一期,我们学会了强大的K-Means算法,但它也给我们留下了一个“灵魂…

数据结构:链表(Linked List)

目录 结构推导 回到最原始的问题 —— 我们如何存数据? 第二步:我们来看看数组的限制 第三步:那我们该怎么做呢? 第四步:我们推导链表的数据结构 结构讲解 什么是链表? 什么是节点? …

[RK3566-Android11] U盘频繁快速插拔识别问题

问题描述 做老化测试时,在使用U盘频繁快速插拔的情况下,SDCard目录会突然被Kill掉,然后又重新挂载上,这会导致系统及APP的数据因为读写异常,从而界面卡死正常U盘插拔不应该导致内部存储卸载解决方案: SDK根…

【Golang】Go语言Map数据类型

Go语言Map数据类型 文章目录Go语言Map数据类型一、Map1.1.1、map定义1.1.2、map的基本使用1.1.3、判断某个键是否存在1.1.4、map的遍历1.1.5、使用delete()函数删除键值对1.1.6、按照指定顺序遍历map1.1.7、元素为map类型的切片1.1.8、值为切片类型的map一、Map map是一种无序…

Orange的运维学习日记--23.Linux计划任务详解

Orange的运维学习日记–23.Linux计划任务详解 文章目录Orange的运维学习日记--23.Linux计划任务详解一次性计划任务atd 服务at 命令基本语法交互式示例脚本文件示例timespec 格式示例查看与管理任务查看当前队列查看任务详细内容删除任务用户权限控制用户周期性计划任务查看任务…

Ubuntu 24.04.2 LTS 安装mysql8.0.36保姆级教程(从安装到远程连接)

目录 前言 一、系统准备 二、安装 MySQL 8.0.36 1. 查看可用版本 2.如果没有对应版本则需要手动下载mysql-apt-config(有则跳过) 2.1下图是mysql-apt-config各版本对应的mysql版本 2.2下载mysql apt repository 2.3安装 MySQL APT Repository 包 …

【LLM】讲清楚MLA原理

需要你对MHA、MQA、GQA有足够了解,相信本文能帮助你对MLA有新的认识。 本文内容都来自https://www.youtube.com/watch?v0VLAoVGf_74,如果阅读本文出现问题,建议直接去看一遍。 按照Deepseek设定一些参数值:输入token长度n10&…