摘要:1.2设计思想图1显示了本文中所使用的SD卡FAT文件系统通过MC9S12XSl28MAA进行解析的软硬件结构体系。编译链接软件使用CodeWarrior5.O,硬件采用MC9S12XSl28MAA单片机与Kingston公司的MicroSD卡。代码由4部分组成:用户应用部分(由用户编写控制,本文使用MC9S12XS128MAASCI串口模块进行信息调试),FAT文件系统读取解析部分
图1显示了本文中所使用的SD卡FAT文件系统通过MC9S12XSl28MAA进行解析的软硬件结构体系。编译链接软件使用CodeWarrior 5.O,硬件采用MC9S12XSl28MAA单片机与Kingston公司的Micro SD卡。代码由4部分组成:用户应用部分(由用户编写控制,本文使用MC9S12XS128MAA SCI串口模块进行信息调试),FAT文件系统读取解析部分,硬件控制部分(通过单片机SPI模块与SD卡连接),以及单片机CPU的初始化部分。其中,SPI模块与SD卡连接的硬件控制部分,以及FAT文件系统的读取解析部分是本文的重点。
其中,Sd_SPI.h是关于SD卡读取写入部分的一些宏定义、常量和函数的声明;Sd_SPI.c包括了通过SPI模块读写SD卡的代码;Fat.h是关于Fat文件系统解析的全局变量、宏定义以及函数声明;Fat.c包括了Fat文件系统解析的代码;SimpleFat.c是简易读取Fat文件系统信息的代码;SimpleFat.h是其全局变量以及函数的声明。
2 硬件设计
SD卡有2种操作模式:SD卡模式、SPI模式。SD卡模式允许通过4线高速总线传输,但由于大部分单片机无此接口模块,故选择SPI模式。HCSl2X系列单片机内部都带有此同步串行外部设备接口(Serial Peripheral Interface,SPI)。单片机可以通过SPI系统组成一个通信速率比SCI高的同步网络,故使用SPI模式可以把外设减少到最低。SPI模式相对于SD卡模式的缺点是损失了传输速度;但是目前的微处理器的处理速度越来越高,利用SPI模式大都能满足工程需要。
HCSl2X单片机的全双工8位SPI模块有4个引脚,分别为主入从出引脚MISO、主入从出引脚MOSI、串行时钟引脚SCK以及从机片选引脚SS。当CS信号线为低电平时,主机开始所有的总线传输。数据从单片机的MOSI引脚同步输入Micro SD卡的DA引脚,Micro SD卡返回数据由DO线同步输入单片机的MISO引脚,数据在CLK信号的上升沿同步输入和输出。
3 软件设计
3.1 HCSl2X总线时钟超频
MC9S12XSl28MAA默认总线时钟默认同外接晶振相关,但可以通过配置PLL锁相环实现单片机总线超频,从而加快SD卡读取速率。实验中可通过下列代码将单片机总线频率超频到80MHz:
通信工程师备考资料免费领取
去领取