基于STCl2C5A60S2单片机的SD卡读写
摘要:分析了基于STC单片机的SD卡的读写操作,给出了一种基于高速、低功耗、超强抗干扰的新一代STCl2C5A60S2系列IT单片机的SD卡读写方法。该方法利用串行外围接口总线与SD卡相连,从而实现了对SD卡的数据读写。
关键词:SD卡读写;STCl2C5A613S2;单片机;串行接口总线;外围设备
O 引言
SD卡是一种微型、低功耗、可移动的Flash多功能存储卡,该卡向上兼容MMC卡,并增加了智能保护机制,以有效地防止盗版,同时具有更快的传输速率及更高的存储容量,可广泛用于便携式消费类电子产品中。本文首先介绍了STC12C5A60S2单片机在SPI协议下与SD卡的硬件接口电路,然后简要阐述了SPI总线模式以及软件模拟的SPI总线数据通讯,最后给出了实现SD卡的初始化和读写操作的软件流程。
1 STC单片机
STCl2C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(IT)的单片机,这是一种高速、低功耗、超强抗干扰的新一代805l单片机,它的指令代码完全兼容传统8051,但速度比8051快8~12倍.工作电压为5.5~3.3 V (5 V单片机),工作频率范围为O~35 MHz。该单片机内部集成有MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250 K/S),片上还集成有1280字节RAM,I/O口驱动能力均可达到20 mA,无需专用编程器和仿真器数秒内即可通过串口(P3.0/P3.1)下载用户程序,由于其带有通用全双工异步串行口(UART),因此,特别适合电机控制,而且干扰较强的场合。
2 硬件电路设计
本SD卡读写系统中的接口电路采用的STCl2C5A60S2单片机控制,并通过软件编程实现SPI模式的数据传输(包括串行时钟、数据的输入和输出)。在SPI模式下。单片机与SD卡的连接主要有四根线(包括时钟线,两根数据传输线和一根片选线),其接口硬件连接电路如图1所示。
图2所示是基于STCl2C5A60S2单片机的SD卡读写电路设计原理图,其中包括STC12C5A60S2单片机的晶振电路和复位电路SD卡连接电路、和SD卡套插座连接电路。
3 通讯模式的选择
通常,SD卡有两种总线模式,即SD总线模式和SPI总线模式。其中SD总线模式采用四条数据线并行传输数据,数据传输速率高,但是传输协议复杂,只有少数单片机才提供有此接口,而用软件方法模拟SD总线又比较繁琐,会降低SD卡的数据传输速率;而SPI总线模式只有一条数据传输线。传输协议简单,易于实现,虽然数据传输速率较低,但绝大多数中高档单片机都提供有SPI总线,同时由于其易于用软件方法来模拟。因此,本设计采用SPI总线模式。
SPI总线技术是MOTOROIA公司推出的一种同步串行总线接口,是目前单片机应用系统中最常用的几种串行扩展接口之一。 SPI总线主要通过三根线进行数据传输,包括同步时钟线SCK、主机输入/从机输出数据线MISO、主机输出/从机输人数据线MOSI。另外,它还有一条低电平有效的从机片选线CS,片选信号以及同步时钟脉冲由主机提供。SPI总线模式的数据是以字节为单位进行传输的,主机与SD卡的各种通信都由主机控制。
评论