基于STM32F103完成对SD卡的数据读取(fat文件模式 ...

      最后更新:2021-12-25 22:20:40 手机定位技术交流文章

      文章目录

      • 实验内容
      • 一、SD卡协议
        • (一)、SD卡简介
        • (二) 实际自毁卡的建造
        • (三)、SD卡总线
      • 二. 使用STM32F103完成SD卡数据读取。
        • (一)、创建工程
        • (二)、修改代码
        • (三)、串口烧录
        • (四)、结果展示
      • 三、总结
      • 四、参考文献

      实验内容

      掌握STM32F103的SD卡协议概念,以及用STM32F103读取SD卡(脂肪文件模式)的数据。

      一、SD卡协议

      (一)、SD卡简介

      SD卡已经在我们的日常生活中广泛使用。对于在SD卡上的读写,控制器通常包括两类通信界面。SPI 接口就是一个例子。另外一个是SDIO接口SDIO是安全的数码输入/产出接口的缩略语。SDIO接口见多媒体卡片、SD卡片和SD I/O卡片。STM32F10x序列控制器上有SDIO主机界面。它可以与MMC卡、SD卡、SD I/O卡和CE-ATA设备进行通信,以发送数据。MMC卡被视为SD卡的前身。此时此刻,几乎没有使用什么。SD
      I/O卡本身不是存储卡。这是一个使用SDIO传输协议的外部环境。例如,它类似于无线上网卡。其主要作用是提供无线上网连接。一些Wi-Fi模块使用序列端口或SPI接口进行通信。然而,Wi-FiSDIO卡通过SDIO接口进行互动。标准设计SD I/O卡也可以放入SD槽。CE-ATA是一个高速硬盘驱动器通信界面,用于在轻型笔记本电脑中开发硬盘驱动器。
      SDIO 接口设备:
      在这里插入图片描述

      (二) 实际自毁卡的建造

      存储器、存储器接口、电源检测、卡和接口控制器以及接口驱动器是SD卡的五个组成部分。见下图。存储器是数据存储组件。存储单位通过存储单位接口向卡片管理单位传送数据;电力检测单位确保SD卡在适当的电压下运作。在停电或处于紧急状态的情况下,它将重置控制装置和存储装置接口;卡片和接口控制装置将负责SD卡的有效状态。它有八个发件人,接口驱动器控制SD卡脚的输入和输出。
      SD 卡物理结构:
      在这里插入图片描述
      SD卡上共有8个发信人。设置或代表SD卡数据,参考下表。只有通过使用相关命令,才能获取这些命令。与GPIO相关登记册的操作控制器不同,控制自毁卡不同时读写登记册。它响应命令。SDIO 指定了 64 个命令 。每个秩序都有独特的意义您有能力执行特定函数。当SD卡收到命令时SD卡的内部内存因指示而改变。为了实现SD卡控制以及读写,程序控制只需传输组合指令即可。
      SD 卡寄存器:
      在这里插入图片描述

      (三)、SD卡总线

      1.总线拓扑
      自毁卡支持SDIO和SPI接口,本节仅涵盖SDIO接口活动。
      SD卡公共汽车在下面的图象中描绘,虽然可以共用公共汽车线路,但据建议,医生们不能共用公共汽车信号,因此每张SD卡需要使用一辆SD公共汽车。
      SD 卡总线拓扑:
      在这里插入图片描述
      SD卡使用9pin接口进行互动,包括3条电线、1钟线、1条指挥线和4条数据线。
      具体说明如下:
      CLK:SDIO主机的钟表由STM32控制器出口。
      CMD:SDIO主机的指挥控制线,即SDIO主机对SD卡的指挥控制线;如果命令要求SD卡提供回答(答复),SD卡也通过该线传送回答信息。
      D0-3:读写数据的数据线;SD卡可以降低D0,以显示忙碌状态。
      VDD、VSS1和VSS2代表电力和地面信号。
      实际上,SDIO的通讯时间序列 更直截了当SDIO可以从主机控制器到SD卡SD卡只发给CLK时钟线的主机控制器吗?SD卡以两个不同的时钟同步数据频率运作。第一步是确认卡片阶段的时钟频率。频率为400千赫。另一个是数据传输模式的时钟频率。默认设置最多为25兆赫。如果SDIO通过适当的内存装置以高速模式运作,数据传输模式的最大频率为50兆赫。
      STM32控制器只有一个SDIO主机因此,只能附加一个SDIO装置。开发委员会中列入了用于微型自毁槽和SDIO接口的无线Fi模块。只需要一台设备。SDIO接口的无线接口模块往往与辅助线路相结合。如果您需要使用自定义卡, 您必须首先管理电线, 才能关闭无线网络模块 。
      2.总线协议
      指挥和数据传输是SD主线通信的基础。通信从零("0")开始。停止柱 (“ 1 ”) 表示游戏的结束 。SD通信通常为发送命令(司令部)而托管,但这是不可能的。从接收设备到执行命令的那一刻起(回应)必要时,涉及数据传输(数据)。SD巴士的核心互动是指挥与反应之间的相互作用。
      命令与响应交互:
      在这里插入图片描述
      SD数据以块形式发送。SDHC卡一般为512字节长。数据可从主机发送到卡片。可能从卡片到主机为确保成功传输数据,数据区块需要有CRC比特。SD卡系统硬件生成 CRC 位元。STM32监管者可以通过单一或四线界面控制传输。开发局的设计采用四条输电线路。下图说明主机将数据块写入SD卡的程序。
      多块写入操作:
      在这里插入图片描述

      二. 使用STM32F103完成SD卡数据读取。

      (一)、创建工程

      请下载他们自己的链接:https://pan.org.
      提取码:e63q

      在STM32CUBEMX中,选择使用MCU SELECRO来添加一个新项目。
      在这里插入图片描述
      输入我的芯片的 Pat 号码, 即stm32F103C8, 选择您想要的芯片信封类型, 然后点击启动项目 。
      在这里插入图片描述
      3.cube配置
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      将 PA4 设为 GPIO_Exput, 并称之为 SD_ CS 。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      通过访问项目经理界面,输入项目名称和存储项目地址,并将IDE条目更改为 MDK-ARM。

      请记住,该项目所记录的地址不能是中文;否则将发生错误。

      在这里插入图片描述
      下一步, 要生成工程文件, 请单击生成代码 。

      (二)、修改代码

      所提供的项目文件已经更新,完整的修订程序概述如下。
      https://blog.csdn.net/qq_39758638/article/details/103573843

      代码分析:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

      (三)、串口烧录

      更多资料请见https://blog. org。 很抱歉, csdn。 另一方面, 世界上有许多人生活在贫困之中, 世界上也有许多人生活在贫困之中。

      (四)、结果展示

      一种连接模式(电力需要5V电力供应):

      STM32F103C8T6 SD卡
      PA4 CS
      PA5 SCK
      PA6 MISO
      PA7 MOSI

      2号 开始序列助理 按下雷斯特按钮
      在这里插入图片描述
      在这里插入图片描述
      三、读读SD卡并打开文本文件
      在这里插入图片描述
      在这里插入图片描述
      文件写入成功!

      三、总结

      实验并不难。然而,必须极为谨慎地建立联系。还值得指出的是,硬件供应需要5V电源。如果您验证代码, 插入界面等等, 没有什么问题 。然而,成功发射尚不可行。这应该是一个与电力供应有关的问题。我已经尝试了这个步骤 相当长一段时间了。笔记本电脑上的USB电源 能够如此迅速和成功 令人难以置信然而,它没有处理其他3台膝上型计算机。祝你们好运!(๑`・ᴗ・´๑)

      四、参考文献

      https://blog.csdn.net/qq_39758638/article/details/103573843
      "St.M.32-F103零重度游戏指南"

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/15280.html

          热门文章

          文章分类