STM32H743驱动SD卡(1)

本文内容参考:

STM32——SDIO的学习(驱动SD卡)(理论篇)-CSDN博客

STM32个人笔记-SDIO接口-CSDN博客

STM32-(40):SD卡与SDIO-CSDN博客

【STM32】使用SDIO进行SD卡读写(一)-初步认识SD卡-布布扣-bubuko.com

SDIO_百度百科

正点原子《手把手教你学STM32》SD卡实验(SDIO方式)

特此致谢!

一、SDIO简介

1. SDIO接口

SD卡(Secure Digital Memory Card,安全数字存储卡)在生活中已经非常普遍了,它是一种基于半导体快闪记忆器的新一代记忆设备,被广泛地于便携式装置上使用,例如数码相加、个人数码助理(PDA)和多媒体播放器等。

而控制器与SD卡进行通信操作一般有两种接口:SPI和SDIO。本文重点讲解SDIO。

SDIO的英文全称为Secure Digital Input and Output,中文译为安全数字输入输出(接口)。SDIO是在SD的基础上发展起来的,在SD标准上定义了一种外设接口。SDIO可以兼容之前的SD卡,并可以连接SDIO接口设备,如蓝牙、WiFi、照相机等。多媒体卡(MMC)、SD卡、SD I/O卡都有SDIO接口。

SDIO和SD卡规范间的一个重要区别是增加了低速标准。SDIO卡只需要SPI和1位SD传输模式。低速卡的目标应用是以最小的硬件开支支持低速I/O能力。低速卡支持类似调制解调器、条码扫描仪和GPS接收器等应用。

SDIO主要有两类应用——可移动和不可移动。可移动设备作为Palm和Windows Mobile的扩展设备,用来增加蓝牙、照相机、GPS和802.11b功能;不可移动设备遵循相同的电气标准,但不要求符合物理标准。某些手机内包含通过SDIO连接CPU的802.11芯片。

  • SD卡常用接口

SD卡常用的接口有SPISDIO

  • SDIO接口常用设备

SDIO接口常用设备如下图所示:

STM32推出的一些系列控制器中带有SD主机、SDIO接口。STM32的SDIO控制器支持多媒体卡(MMC)SD存储卡SD I/O卡CE-ATA设备

2. 参考规范

  • MMC规范

多媒体卡(MMC)协会提供了由MMCA技术委员会发布的多媒体卡系统规范。多媒体卡协会已并入JEDEC(Joint Electron Device Engineering Council,联合电子设备工程委员会,又名固态技术协会),相关标准参阅www.jedec.org。

  • SD卡规范

SD卡协会网站https://www.sdcard.org/中提供了SD存储卡和SDIO卡系统规范。

  • CE-ATA

CE-ATA工作组网站中提供了CE-ATA系统规范。

3. SDIO接口特点

STM32 SDIO接口的特点包括:

  • 多媒体卡(MMC)
    • 与多媒体卡(MMC)系统规格书版本4.2全兼容,支持三种不同的数据总线模式:1位(默认)、4位和8位。
    • 与较早的多媒体卡(MMC)系统规格版本全兼容(向前兼容)。
  • SD存储卡

与SD存储卡规格版本2.0全兼容。

  • SD I/O卡

与SD I/O卡规格版本2.0全兼容,支持两种不同的数据总线模式:1位(默认)和4位。

  • CE-ATA设备

完全支持CE-ATA功能(与CE-ATA数字协议版本1.1全兼容)。8位总线模式下数据传输速率可达48MHz(注意,不是位而是字节)。

  • 数据和命令输出使能信号,用于控制外部双向驱动器。

4. SDIO框架

SDIO框图如下图所示(红色矩形部分):

更多内容请看下回。

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

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

相关文章

使用python-can和cantools实现arxml报文解析、发送和接收的完整指南

文章目录 背景一、硬件支持二、环境准备1、python解释器安装2、python库安装 三、 收发案例四、 方法拓展1、canoe硬件调用2、回调函数介绍 结论 背景 在汽车行业中,CAN (Controller Area Network) 总线是用于车辆内部通信的关键技术。arxml文件是一种用于描述CAN消…

【数据结构】算法效率揭秘:时间与空间复杂度的较量

前言 在计算机科学中,时间复杂度和空间复杂度是衡量算法性能的两个重要指标。它们分别表示算法在执行过程中所需的时间和空间资源。了解这两个概念有助于我们评估和比较不同算法的优劣,从而选择更合适的算法解决问题~ 欢迎关注个人主页:逸狼 …

.github/workflows Actions为项目构建增加手动CI 构建按钮

在Github CI项目的时候, 一般是有push的时候才触发CI构建任务, 今天介绍一种通过 on workflow_dispatch 来增加手动CI构建按钮的方法。 CI构建任务代码示例 .github/workflows/ci.yml name: CIon:push:branches: [develop]pull_request:branches: [dev…

社区论坛小圈子小程序源码系统:自定义小程序管理社区圈子软件圈子系统系统开发-做社区圈子丨圈子论坛社区交友系统开源版小程序源码丨

简述 移动互联网的快速发展,微信小程序作为一种新型的应用形态,已经深入到人们的生活中。特别是对于社区论坛类应用,小程序版本可以更好地满足用户快速、便捷获取信息的需求。下面给大家分享一款社区论坛小圈子小程序源码系统。 在这个信息…

linux中如何挂载yum云仓库进行软件的安装

1.首先在根目录下建立文件,用来挂载镜像文件 [rootclient ~]# mkdir /rhel9 2.挂载镜像文件: [rootclient ~]# mount /dev/cdrom /rhel9 3.切换到 /etc/yum.repos.d 下的目录并查看 ,创建 rhel9.repo文件,并编辑云仓库域名&am…

LeetCode刷题总结 | 图论2—深度优先搜索广度优先搜索较为复杂应用

深搜广搜的标准模版在图论1已经整理过了,也整理了几个标准的套模板的题目,这一小节整理一下较为复杂的DFS&BFS应用类问题。 417 太平洋大西洋水流问题(medium) 有一个 m n 的矩形岛屿,与 太平洋 和 大西洋 相邻…

opencv图像处理

1、图像膨胀腐蚀 图像的膨胀(dilation)和腐蚀(erosion)主要用来寻找图像中的极大区域和极小区域。 膨胀类似于“领域扩张”,将图像的高亮区域或白色部分进行扩张,其运行结果图比原图的高亮区域更大。 腐蚀类似于“领域被蚕食”,将图像中的…

ElasticSearch有账号密码时: kibana配置

上一篇文章我们介绍过ElasticSearch关闭账号密码的的方式: config/elasticsearch.yml文件中 xpack.security.enabled: false 当我们关闭 账号密码,kibana是可以直接访问ElasticSearch的。 真实项目中,我们是不允许数据库裸跑的,所…

【多线程学习】深入探究阻塞队列与生产者消费者模型和线程池常见面试题

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

(2022级)成都工业学院数据库原理及应用实验六: SQL DML(增、删、改)

写在前面 1、基于2022级软件工程/计算机科学与技术实验指导书 2、成品仅提供参考 3、如果成品不满足你的要求,请寻求其他的途径 运行环境 window11家庭版 Navicat Premium 16 Mysql 8.0.36 实验要求 在实验三的基础上完成下列查询: 1、在科室表…

黑色主题个人主页HTML源码

源码介绍 黑色主题个人主页HTML源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面 效果预览 源码下载 黑色主题个人主页HTML源码

clickhouse学习笔记04

ClickHouse高可用之ReplicatedMergeTree引擎介绍 ClickHouse高可用架构准备-环境说明和ZK搭建 RPM安装ClickHouse 上传我们的clickhouse rpm文件。 安装: 中途需要输入用户名和密码 可以不设置 直接回车。 启动: 查看状态: 查看端口是否占用…

【状态压缩 并集查找 图论】2157. 字符串分组

本文涉及知识点 状态压缩 并集查找 图论 LeetCode2157. 字符串分组 给你一个下标从 0 开始的字符串数组 words 。每个字符串都只包含 小写英文字母 。words 中任意一个子串中,每个字母都至多只出现一次。 如果通过以下操作之一,我们可以从 s1 的字母集…

K8S哲学 - Pod、RC、RS、deployment

pod(最小的可部署单元) 容器组(运行一个或多个容器) Pod(容器组)是Kubernetes 中最小的可部署单元。 一个Pod(容器组)包含了一个应用程序容器(某些情况下是多个容器)、存储资源、 一…

C++练级之路——类和对象(中二)

1、运算符重载 C为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也是具有其返回值类型,函数名字以及参数列表,其返回值类型和参数列表与普通的函数类似。 函数名字为:关键字operator后面接需…

【C++初识继承】

博主首页: 有趣的中国人 专栏首页: C进阶 本篇文章主要讲解 继承 的相关内容 目录 1. 继承的概念和定义 1.1 继承的概念 1.2 继承的定义 1.2.1 继承定义格式 1.2.2 继承方式与访问修饰限定符 2. 基类和派生类对象赋值转换 3. 继承中的作用域 …

linux离线安装mysql

一、下载mysql 地址:MySQL 这里选择64为还是32为要根据操作系统来 uname -m 二、上传解压配置mysql 使用root账户登录linux服务器,在opt文件下创建mysql文件夹 cd /opt sudo mkdir mysql 使用Xftp上传mysql压缩包到此文件夹下(自行决定路径) cd mysql/…

基于Kubernetes集群构建MongoDB

基于Kubernetes集群构建MongoDB 作者:行癫(盗版必究) 一:基础环境 1.Kubernetes集群正常运行 2.Harbor私有仓库正常运行 二:MongoDB项目部署 ​ MongoDB项目对应Kubernetes的yaml文件: --- apiVersion: v1 kind: Namespace metadata:name: m

力扣:104. 二叉树的最大深度(Java,DFS,BFS)

目录 题目描述:输入:输出:代码实现:1.深度优先搜索(递归)2.广度优先搜索(队列) 题目描述: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从…

【QT进阶】Qt http编程之后端API测试工具postman使用介绍

往期回顾 【QT进阶】Qt Web混合编程之使用ECharts显示各类折线图等-CSDN博客 【QT进阶】Qt Web混合编程之实现ECharts数据交互动态修改-CSDN博客 【QT进阶】Qt http编程之http与https简单介绍-CSDN博客 【QT进阶】Qt http编程之后端API测试工具postman使用介绍 其实这个工具的…