0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32 SDIO 接线

STM32 SDIO 接线

分享:

好的,STM32 的 SDIO (Secure Digital Input Output) 接口用于连接 SD 卡、MMC 卡等存储设备。其接线相对标准,但需要注意电平匹配和信号完整性。以下是关键接线要点(中文):

核心信号线 (必须连接):

  1. SDIO_CK (SDIO Clock - 时钟信号):

    • 连接到 SD 卡的 CLK 引脚。
    • 这是主控制器(STM32)提供给 SD 卡的同步时钟信号。STM32 可以产生高达 48MHz 的时钟(具体取决于型号和配置)。
    • 注意: 这条线通常不需要上拉电阻。
  2. SDIO_CMD (SDIO Command - 命令信号):

    • 连接到 SD 卡的 CMD 引脚。
    • 用于 STM32 向 SD 卡发送命令和接收 SD 卡的响应(命令响应)。这是一个双向、开漏的信号线。
    • 必须连接一个 4.7kΩ ~ 10kΩ 的上拉电阻到 3.3V
  3. SDIO_D[3:0] (SDIO Data [3:0] - 数据信号):

    • 连接到 SD 卡的 DAT[3:0] 引脚。
    • 用于 STM32 和 SD 卡之间的数据传输。在 1-bit 模式下只使用 SDIO_D0;在 4-bit 模式下使用 SDIO_D[3:0]。这些也都是双向、开漏的信号线。
    • 每条数据线 (SDIO_D0, SDIO_D1, SDIO_D2, SDIO_D3) 必须连接一个 4.7kΩ ~ 10kΩ 的上拉电阻到 3.3VSDIO_D3 在初始化阶段还有特殊作用(检测卡类型)。

电源与地线 (必须连接):

  1. VDD / VCC (电源 - 3.3V):

    • 将 STM32 系统的 3.3V 电源连接到 SD 卡的 VDDVCC 引脚。
    • 关键: SD 卡必须使用 3.3V 供电!绝对不要接 5V!确保你的电源能提供足够的电流(尤其是高速卡或大容量卡初始化时)。
  2. GND (地线):

    • 将 STM32 系统的地 (GND) 连接到 SD 卡的 GND 引脚(通常有 2 个或更多)。至少连接一个,连接多个有助于提高稳定性。
    • 关键: 确保 STM32 的地和 SD 卡的地是共地的,这是信号参考的基础。

可选信号线 (根据需求和卡槽设计连接):

  1. CD / SDIO_CD (Card Detect - 卡检测):

    • 连接到 SD 卡适配器/卡槽的卡检测引脚(如果有)。这个引脚通常在卡插入时被卡槽内部的机械开关拉低(接地)。
    • 在 STM32 端,可以配置为一个 GPIO 输入引脚(带上拉),用于检测 SD 卡是否插入。不是 SDIO 控制器本身的专用信号,需要用普通 GPIO 实现。
    • 接线: STM32 GPIO 输入引脚 -> (可选串联电阻) -> 卡槽 CD 引脚。STM32 GPIO 引脚通常需要配置为内部上拉输入模式,或者外部增加一个上拉电阻(如 10kΩ)到 3.3V。卡槽 CD 引脚另一端接地。当卡插入时,开关闭合,将 GPIO 拉到低电平;拔出时,开关断开,GPIO 被上拉到高电平。
  2. WP (Write Protect - 写保护):

    • 连接到 SD 卡适配器/卡槽的写保护引脚(如果有)。这个引脚通常在写保护开关打开(允许写)时被拉高或悬空,在写保护开关关闭(禁止写)时被拉低(接地)。
    • 在 STM32 端,同样配置为一个 GPIO 输入引脚(带上拉),用于检测 SD 卡的写保护状态。不是 SDIO 控制器本身的专用信号。
    • 接线: 类似于 CD 引脚。STM32 GPIO 输入引脚 -> (可选串联电阻) -> 卡槽 WP 引脚。STM32 GPIO 引脚需要上拉(内部或外部)到 3.3V。卡槽 WP 引脚另一端接地。当写保护关闭(物理开关推到 LOCK 位置)时,开关闭合,将 GPIO 拉到低电平(表示写保护);当写保护打开时,开关断开,GPIO 被上拉到高电平(表示可写)。注意: 很多应用软件层面处理写保护,这个硬件信号可选。

重要注意事项:

  1. 电平匹配:

    • STM32 的 I/O 电压(包括 SDIO 引脚)和 SD 卡的接口电压必须是 3.3V。大多数现代 STM32 和 SD 卡都是原生 3.3V。如果你的 STM32 系统主电源是 5V,必须使用电平转换器(如 TXS0108E 等)将 SDIO_CK, SDIO_CMD, SDIO_D[3:0] 信号线从 5V 转到 3.3V。直接将 5V 连接到 SD 卡会损坏 SD 卡!
    • 上拉电阻也必须接到 3.3V
  2. 上拉电阻:

    • SDIO_CMD, SDIO_D0, SDIO_D1, SDIO_D2, SDIO_D3 都必须有上拉电阻(4.7kΩ ~ 10kΩ 到 3.3V)。这是 SD 规范要求的。
    • SDIO_CK 不需要上拉电阻。
    • CDWP 如果需要,STM32 端的 GPIO 通常需要上拉(可以用内部上拉或外部电阻)。
  3. 布线建议:

    • 保持时钟线 (SDIO_CK) 尽可能短,以减少干扰。
    • 数据线尽量等长,避免过长或绕来绕去。
    • 远离噪声源(如电源、电机、高速数字线)。
    • 在电源引脚附近放置适当的去耦电容(例如 SD 卡 VCC 对 GND 加一个 0.1uF 或 1uF 的陶瓷电容)。
    • 如果走线较长或环境干扰大,可以考虑在信号线上串联小电阻(如 22Ω - 100Ω)靠近 STM32 端,以抑制过冲/振铃。
  4. STM32 引脚复用:

    • SDIO 功能是复用在特定 GPIO 引脚上的。你需要查阅你所使用的 具体 STM32 型号的数据手册 (Datasheet) 和参考手册 (Reference Manual) 中的 “Pinouts and pin description” 以及 “SDIO” 章节,找到 SDIO_CK, SDIO_CMD, SDIO_D[3:0] 对应的具体 GPIO 引脚(如 PC12, PD2, PC8, PC9, PC10, PC11 对于 F4 系列常见)。CubeMX 工具可以非常方便地帮你配置这些复用功能。
  5. 软件库:

    • ST 提供 HAL 库和 LL 库来驱动 SDIO。使用 HAL_SD_Init() 等函数进行初始化和读写操作。确保在 CubeMX 中正确配置了 SDIO 外设(时钟源、总线宽度等)。

总结接线表:

SD 卡引脚 引脚名称 连接到 STM32 必需 上拉电阻 (到 3.3V) 备注
DAT3 SDIO_D3 SDIO_D3 (如 PC11) 4.7kΩ - 10kΩ 4-bit 数据位 3 / 1-bit 模式下初始化检测
CMD SDIO_CMD SDIO_CMD (如 PD2) 4.7kΩ - 10kΩ 命令/响应线
VSS1 GND GND 地线 (连接至少一个)
VDD VCC 3.3V (干净电源) 必须是 3.3V!
CLK SDIO_CK SDIO_CK (如 PC12) 无需 时钟信号
VSS2 GND GND 地线 (连接至少一个)
DAT0 SDIO_D0 SDIO_D0 (如 PC8) 4.7kΩ - 10kΩ 4-bit 数据位 0 / 1-bit 模式数据线
DAT1 SDIO_D1 SDIO_D1 (如 PC9) 4.7kΩ - 10kΩ 4-bit 数据位 1
DAT2 SDIO_D2 SDIO_D2 (如 PC10) 4.7kΩ - 10kΩ 4-bit 数据位 2
CD/DAT3 CD (卡槽) GPIO 输入 (如 PB6) 可选 建议上拉 卡检测信号 (需要卡槽支持)
WP WP (卡槽) GPIO 输入 (如 PB7) 可选 建议上拉 写保护信号 (需要卡槽支持)

调试提示:

  • 首先确保硬件连接无误,特别是电源和地线。
  • 检查所有必需的上拉电阻是否连接且阻值正确。
  • 使用 CubeMX 生成初始化代码,确保时钟和引脚配置正确。
  • 在初始化阶段启用调试信息(或者单步调试),检查 HAL_SD_Init() 的返回值。
  • 如果初始化失败,尝试降低初始时钟频率(在 HAL_SD_ConfigWideBusOperation 之前)。
  • 用示波器观察 SDIO_CKSDIO_CMD 波形,看是否有信号输出以及信号质量如何。
  • 确保文件系统层(如 FATFS)配置正确。

请务必参考你使用的 具体 STM32 型号的官方数据手册和参考手册 以获取最准确的引脚定义和电气特性信息。如果你告诉我具体的型号(例如 STM32F407VET6, STM32F103C8T6 等),我可以提供更具体的引脚例子。

SD NAND 的 SDIOSTM32上的应用详解(中篇)

的寄存器(由STM32控制SDIO外设),并产生中断和DMA请求信号复位后默认情况下SDIO_D0用于数据传输,初始化后主机可以改变数据总线的宽度(SD卡1根或4根数据

2022-11-25 09:44:59

请问SDRAM、SDIO、USB、ULINK这些接线是否有问题?

第一次画的PCB,主要是SDRAM的使用和SDIO wifi的使用,J1、J2还没有想好怎么连线,电源部分也是随便搭的。请大神看看SDRAM、SDIO、USB、ULINK这些接线是否有问题。PCB_Project.rar (588.49 KB )

chm3 2019-07-24 21:40:24

SD NAND 的 SDIOSTM32上的应用详解(下篇)

七.SDIO外设结构体其实前面关于SDIO寄存器的讲解已经比较详细了,这里再借助于关于SDIO结构体再进行总结一遍。标准库函数对SDIO外设建立了三个初始化结构体,分别为SDIO初始化结构体

2022-12-08 16:14:13

STM32CubeMx入门教程(8):SDIO应用

导语“生活中我们经常使用SD卡,一般SD卡有两种接口,SDIO和SPI,SPI接口在前面的教程中已经使用过了。本教程来介绍SDIO接口CubeMx如何配置使用,将以SD卡为例来讲解SDIO接口。”

2023-07-12 11:36:01

STM32外设SDIO应用之SD卡

STM32外设SDIO应用之SD卡

richthoffen 2020-06-01 12:19:51

如何解决STM32 SD卡使用SDIO DMA卡死的问题?

如何解决STM32 SD卡使用SDIO DMA卡死的问题?

ht_liu 2021-11-16 07:03:26

STM32外设SDIO应用之SD卡

STM32外设SDIO应用之SD卡

richthoffen 2021-02-25 15:15:43

SD NAND 的 SDIOSTM32上的应用详解(上篇)

目录上篇:一.SDIO简介二.SD卡简介/内部结构1.SD卡/SDNAND引脚2.SD卡寄存器3.FLASH存储器三.SDIO总线拓扑中篇:四.SDIO功能框图(重点)1.SDIO适配器2.控制

2022-11-15 17:08:31

SDIO是什么?SDIO命令格式有哪些呢

SDIO(Secure Digital Input and Output),即安全数字输入输出接口。它是在SD卡接口的基础上发展而来,它可以兼容之前的SD卡,并可以连接SDIO接口设备,比如:蓝牙、WIFI、GPS等。

2022-08-08 16:04:20

STM32用一线式驱动SD NAND,SDIO的一线式驱动

SDIO(Secure Digital Input/Output)是一种用于在嵌入式系统中连接外部设备的标准接口。在SDIO标准中,一线式和四线式是指SDIO接口的不同工作模式。

2023-12-19 14:14:29

STM32CubeMx入门教程(9):SDIO接口DMA模式应用

导语“我们在前面章节中使用了SDIO接口对SD卡进行读写操作,使用的轮询模式,这种模式效率低下,F103有SDIO接口的DMA模式,DMA模式在不需要CPU操作的情况下,自动的将数据进行读取和写入。”

2023-07-12 11:37:30

如何用STM32G系列做SDIO

尊敬的先生,我们在项目中使用的是 STM32G 系列控制器,但问题是我们还使用了 4GB 的 eMMC 卡,它支持 SDIO 连接。你能告诉我哪个STM32g系列适合它吗?谢谢

sgaasag 2022-12-26 07:09:37

哪个stm32 SDIO/SDMMC接口的MMC规格版本>= 4.4?

你好我想使用带有 STM32F405 SDIO 接口的 EMMC(INSIGNIS NSEC53K)。STM32F405 手册说:“完全符合 MhultiMediaCard 系统规范版本 4.2

kevinvind 2023-02-09 07:58:37

基于SDIO协议的WiFi模块实现指南

WiFi模块可以封装成多种不同的接口,如SDIO、PCIe。SDIO接口的WiFi也是最常见的一种。SDIO接口最先被应用在存储卡上,后来其命令模式衍生到摄像头、WiFi等设备上。   SDIO接口

2022-12-20 09:05:02

STM32H750VBT6芯片的SDIO有何功能

STM32H750VBT6芯片的SDIO是什么?STM32H750VBT6芯片的SDIO有何功能?

鲁林 2021-10-21 07:11:28

技术分享!国产ARM + FPGA的SDIO通信开发介绍!

SDIO总线介绍 SDIO(Secure Digital lnput and Output),即安全数字输入输出接口。SDIO总线协议是由SD协议演化而来,它主要是对SD协议进行了一些扩展

2024-05-14 14:02:35

STM32cube HAL SDIO Fatfs 精选资料分享

本文在STM32F103VET6硬件环境下,通过SDIO总线,实现了对Micro_SD Card的读写实验,并成功移植了Fatfs文件系统。下面开始讲解步骤(代码主要移植自原子系列教程,不做商业用途

pipompipom 2021-08-20 06:09:46

STM32SDIO例程 精选资料分享

移植ST官方demo,做了部分修改#include "stm32f10x.h"#include "sdio_sd.h"/* RCC时钟配置 */void

飘逸的D 2021-08-23 08:07:25

技术分享!国产ARM + FPGA的SDIO通信开发介绍!

SDIO总线介绍SDIO(SecureDigitallnputandOutput),即安全数字输入输出接口。SDIO总线协议是由SD协议演化而来,它主要是对SD协议进行了一些扩展。SDIO总线主要

2024-05-14 08:05:35

SDIO接口简述

实验中使用的Micro SD卡属于SDSC(标准容量,最大两G)卡。介绍卡的种类是因为SD协议中的命令也支持这三种类型的卡,因此对STM32中的SDIO接口进行初始化后,上电后就要对接入...

bleupealike 2021-08-05 06:34:06

SDIO接口的WiFi模块应用选型推荐

目前市面应用较多的是USb接口与SDIO接口。前文我们也有提到一些常用的USB接口WiFi模块,那SDIO WiFi模块具有什么样的特点呢? USB接口也叫通用串行总线,是一种输入输出接口的技术规范

2020-03-27 10:31:01

什么是SDIOSDIO具有哪些特点?

什么是SDIOSDIO具有哪些特点?

Jade799153347 2021-11-23 07:59:49

国产ARM + FPGA的SDIO通信开发介绍!

SDIO(Secure Digital lnput and Output),即安全数字输入输出接口。SDIO总线协议是由SD协议演化而来,它主要是对SD协议进行了一些扩展。

2024-05-17 14:26:11

SDIO轮询方式相关资料分享

二、SDIO轮询方式1、硬件及软件版本MCU型号:STM32F103ZETX软件版本:STM32 Cube MX 5.4.0固件版本:STM32Cube FW_F1 V1.8.0

刀马旦 2022-02-14 07:55:02

请问nbiot怎么接线stm32?

nbiot怎么接线stm32?

夜猫煮茶 2023-10-19 06:00:22

stm32与8266是怎样进行接线

一、stm32与8266接线B0连ENB1连RSTB10连RXB11连TX二、stm32与u***转TTL模块接线通过USB转TTL串口下载stm32程序参考以下.三、下载程序将u***转TTL模块

tulin 2022-01-18 07:08:25

2020 SDIO WiFi模块解析

在讲SDIO WiFi模块之前,我们先快速了解下SDIO,从字面意思来看就是SD的I/O接口。而SD本身是记忆卡的标准,但是现在我们会把SD插在部分外围接口来使用,由此才诞生了我们所说的SDIO

2020-04-17 10:30:28

SD NAND 的 SDIOSTM32上的应用详解(下篇)

:rivencode】全文目录内容分为三篇【上/中/下】原文链接跳转如下:SD NAND 的 SDIOSTM32上的应用详解(上篇):SD NAND 的 SDIOSTM32上的应用详解(中篇):SD NAND 的 SDIOSTM32上的应用详解(下篇):

雷龙发展 2022-12-08 16:00:34

如何使用STM32CubeMX生成MSC与SDIO模版实现以SD卡为载体的U盘?

如何使用STM32CubeMX生成MSC与SDIO模版实现以SD卡为载体的U盘?

kdsnvjsnjk 2022-02-22 06:05:59

是SPI操作还是SDIO的操作

stm32光盘自带的程序代码“【22】NAND(128M)和SD卡(SDIO)模拟U盘程序.rar”对SD卡的操作采用SPI的操作方式还是SDIO的操作方式,怎么我在代码里面没看到呢,请指教。

cmh22 2020-05-29 02:38:34

加载更多
相关标签