"); //-->
2009年6月4日星期四
花了不到一个月,SD卡的SPI模式读写与FATfs文件系统的移植告一段落了,写下来为大家一个提供参考。
硬件(如图1、2、3):
(1) 新华龙BT F340开发评估板,c8051f340时钟频率最大48MHz,集成SPI、UART控制器,4K+256字节的RAM,64K的FLASH;U-EC5仿真器;
(2) 4片MicroSD卡(又叫TF卡):KingMax-2G,KingSton-2G,SanDisk-2G,SanDisk-Ultra-2G。一片SD卡适配器,一个microSD卡 读卡器;
(3) 一块面包板,一条串口线,电阻、电容、电线若干;
(4) 万用表、示波器、烙铁、PC。。。其他
图1 测试平台
图2 面包板
图3 microSD卡适配器
软件:
(1) Silabs-IDE(需KEILC编译器);
(2) WinHex;
(3) Windows超级终端。
程序:
(1) spi.h,spi.c 包括SPI总线数据发送接收函数;
(2) sd.h,sd.c 包括SD卡初始化、块读写等函数;
(3) uart.h,uart.c 包括括串口发送接收函数;
(4) diskio.h,diskio.c 包括移植FATfs需要的函数;
(5) ff.h,ff.c,integer.h 包括FATfs文件系统;
(6) mcu_init.h,mcu_init.c 包括C8051F340单片机硬件初始化函数;
(7) test1_main.c 包括main函数和一些测试函数;
调试需要注意的问题:
(1) 卡各个引脚电平必须正确:DI,DO,CLK加上拉电阻(也可不加);
(2) 首先应测试卡是否能正确初始化,初始化时SPI时钟为100K~400K;
参考:
(1) SanDisk Secure Digital Card Product Manual Version2.2
(2) Microsoft Extensible Firmware Initiative FAT32 File System Specification
(3) www.dharmanitech.com(主要参考,非常好)
(4) Chan fs: http://elm-chan.org/fsw/ff/00index_e.html
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。