CF卡存储系统设计说明书

CF卡存储系统设计说明书

一、概述

本项目设计实现了基于STM32的CF卡的文件存储系统。CF卡使用TrueIDE 模式,文件系统为FAT32。本系统的设计及参考了广州周立功单片机发展有限公司的源代码。

二、系统指标

文件系统:FAT32

写入速度:2.731Mb/s

读取速度:8.192Mb/s

三、系统测试

测试条件:

CF卡型号:Kingston/4GB/133X/compact FALSH

MCU型号:STM32F103VBT6

MCU时钟:72MHz(8M外部晶体)

Keil版本:4.12

STM32固件库版本:V3.5.0

系统供电电压:5V

示波器:Tektronix TDS220100M1GS/s

测试过程:

1.读写速度测试:

运行测试程序中的RW_test()函数,用示波器测试MCU探测PA组任一引脚,正脉宽为写一个扇区的时间,负脉宽为读一个扇区的时间。注意该函数会对同一扇区反复读写,为保护CF卡请不要长时间使用该函数,重复测试时请修改扇区号。

2.功能测试:先将CF卡在PC上格式化为FAT32格式,再将本文档所在的子目录中的“功能测试所需的文件”中的所有文件直接复制到CF卡根目录下。屏蔽掉用于读写速度测试的函数,调用fat32_test()函数,重新编译下载,断电,插入CF卡测试。

测试结果:

1.读写速度测:写扇区时间:1500us

读扇区时间:500us

写入速度:2.731Mb/s

读取速度:8.192Mb/s

2.功能测试:

创建目录:成功

创建文件:成功

删除目录:成功

删除文件:成功

读取文件:成功

写文件:成功

四、注意事项

1.本系统不支持对CF卡进行热插拔操作。

2.速度测试函数可能会对CF卡造成伤害,请问长时间处于速度测试状态。

3.本设计使用CF的TrueIDE模式,官网资料说明CF的Pin36应当接VCC,设计所使用的CF转IDE模块中的Pin36却是GND的,但也能正常工作,请硬件设计人员核实。

4.FAT32文件系统提供的接口函数与window下的接口函数功能相同,但是需要AllCacheWriteBack()函数才能将数据真正写入到硬盘中。

5.本设计只对周立功公司的源代码的底层和应用层做了简单的修改。所参考的源代码放置在“.\参考资料\周立功的CF卡的读写程序”目录下。

6.请使用Winhex等工具查看“CF卡启始扇区数据.txt”,否则为乱码。

相关推荐
相关主题
热门推荐