当前位置:首页 > ARM课程设计
成绩
题 目:课程名称:学生姓名:学生学号:系 别:专 业:年 级:任课教师:课程论文
基于STM32的SD卡设计
ARM嵌入式系统 X X
电子工程学院 电子信息科学与技术 2013级
电子工程学院制 2015年10月
淮南师范学院电子工程学院2013级电子信息科学与技术专业《ARM嵌入式系统》课程设计 基于STM32的SD卡设计
学生: 指导教师:
电子工程学院:电子信息科学与技术
1概述
1.1设计背景
21世纪是一信息传递及应用高速的时代,信息在人类社会活动中已经必不可缺,使用嵌入式系统的电子产品已经在人们的日常生活中广泛普及应用。其中人们日常生活中最经常接触使用到的数码相机、手机、MP3、MP4、多媒体播放器等,其信息数据的存储大部分都是使用的SD卡。所以SD卡在嵌入式上应用有着十分大市场空间。
SD卡拥有轻小、高存储容量、高速的传输速率以及很高的安全性,更换和编程也相当方便。根据SD卡胡特性,它已然成为非常多数码产品的外部应用储存的第一选择目标。ALIENTKE MiniSTM32开发板就带有SD卡接口,利用STM32自带的 SPI接口,最大通信速度可达18Mbps,每秒可传输数据 2M 字节以上,对于一般应用足够了。
2硬件设计
2.1硬件读写模块
SD卡存储模式是Flash。SD卡的卡内智能控制模块包含电源和时钟的管理、协议、算法安全、存取数据、ECC算法、处理缺陷和分析数据。FLASH每个扇区的写寿命在10万次左右,读的次数是无限制的。
SD卡一般支持2种操作模式: 1、SD卡模式; 2、PI模式; SD卡的引脚排序如下图所示:
- 1 -
淮南师范学院电子工程学院2013级电子信息科学与技术专业《ARM嵌入式系统》课程设计
图1 SD卡的引脚排序
SD卡的九个引脚功能:
表1:SD卡引脚功能表
针脚 1 SD卡模式 CD/DAT3 SPI模式 CS 2 CMD MOSI 3 VSS VSS 4 VCC VCC 5 CLK CLK 6 VSS VSS 7 8 DAT0 DAT1 MIS0 NC 9 DAT2 NC SD卡只能使用3.3V的IO电平,所以,MCU一定要能够支持3.3V的IO端口输出。注意:在SPI模式下,CS/MOSI/MISO/CLK都需要加10~100K左右的上拉电阻。
在STM32中,开板使用的是SPI的接口模式来进得读写,所以,主要应用的便是SPI的模式。由于SD卡内部的供电电压上升是需要一段时间,大约是64个时钟,而且需要10个时钟与SD卡同步,所以在发送CMD0之前,要发送>74个时钟。SD卡与STM32 进行数据交换,要将SD卡外部驱动,将外部储存卡与STM32联系起来。开发板对成为外部储存空间的SD卡进行读写,把读写命令解析并传送到SD卡中,从而实现开发板对外部储存卡的操作与控制。 2.2硬件设计模块
所需要的硬件资源如下: 1、SD卡。
2、STM32F103ZET6。 3、DS0(外部 LED0)。 4、串口 1。
SD卡和STM32的连接:SPI1与安全数码卡通信,如下其引脚的连接定义为: PE3:SPI1-SPI2全双工通讯,低电平作用; PA7:通讯结束后跟随一个CRC校验; PA5:SPI1、SPI2的NSS引脚是断开的; PA6:SPI驱动,NSS引脚由软件设置配置;
- 2 -
淮南师范学院电子工程学院2013级电子信息科学与技术专业《ARM嵌入式系统》课程设计 PC12:MOSI输出,与STM32通信; CLK:时钟信号; CMD:双向命令和响应信号; DAT0-3:双向数据信号; VDD,VSS:电源和地信号; 原理图如下:
图2 SD卡接口与STM32连接原理图
在SPI模式下,引脚1(DAT3)作为SPI片选线CS用,引脚2(CMD)用作SPI总线的数据输出线MOSI,而引脚7(DAT0)为数据输入线MISO ,NSS由硬件配置, SPI2为主机, SPI1为从机,使 SS输出(置位 SPI_ CR2 SSOE位),SPI2 NSS引脚复位 SPI1的 NSS引脚并配置 SPI1为从机。在通讯中使用DMA可以减少代码密度和执行时间,容易接收和发送数据。利用各种硬件设备自身的特点来减小其运转开销,例如减小中断次数、利用DMA传输方式等。安全数码卡传输给STM32,STM32和SD卡进行数据间的互换。
3软件设计
3.1SD卡初始化
SD卡的典型初始化过程如下:
(1) 初始化与SD卡连接的硬件条件(MCU的SPI配置,I/O口配置)。 (2) 上电延时(>74个CLK)
- 3 -
共分享92篇相关文档