FatFS文件系统在数码相框上的应用

时间:2022-07-11 07:09:25

FatFS文件系统在数码相框上的应用

【 摘 要 】 数码相框是用来显示图片的一种装置,本文描述了如何用意法半导体公司新推出STM32TM F4系列基于最新的ARM?CortexTM-M4内核系列MCU来做为核心,在此控制平台上移植FatFS文件系统系统,设计一款高性能数码相框。

【 关键词 】 数码相框;FatFS;stm32

Applying FatFs on the Digital Photo

Xi Wei-hua

(Wuxi Machinery and Electron Higher Professional and Technical School JiangsuWuXi 214000)

【 Abstract 】 Digital photo is a kind of device to display photo. This application describes the implementation of a kind of digital photo using STMicroelectronics’s STM32TM F4 series MCU with ARM?CortexTM-M4 core ,porting FatFs file system on it ,to design a high performance digital photo.

【 Keywords 】 digital photo;FatFs;stm32

0 引言

数码相框是展示数码照片而非纸质照片的相框。数码摄影必然推动数码相框的发展,因为全世界打印的数码相片不到35%。数码相框通常直接插上相机的存储卡展示照片,当然更多的数码相框会提供内部存储空间以接外接存储卡功能。数码相框就是一个相框,不过它不再用放进相片的方式来展示,而是通过一个液晶的屏幕显示,它可以通过读卡器的接口从SD卡获取相片,并设置循环显示的方式,比普通的相框更灵活多变,也给现在日益使用的数码相片一个新的展示空间。数码相框是时尚的电子消费品、也是家庭必备的装饰品。继承了数码的时尚和相框的温情,用途十分广泛。比如,可以作为商务礼品、节日礼品、纪念品、展览展示、 福利奖品、现代家私、婚纱摄影、车载、数码摄影器材、 随身个性饰品等。随着数码相框的大众化,一定会出现越来越多有意思的创意应用,为我们的平淡的生活带来无穷的乐趣。

1 系统硬件构成

1.1 功能框图

数码相框,其基本原理:外观采用普通相框的造型,把原来相框中间的照片部分换成液晶显示屏,配上电源,存储介质如SD卡,TF卡,CF卡等,可以直接播放数码照片,使得同一个相框内可以循环播放照片,比普通相框的单一功能更有优势。针对本文应用,设计出硬件功能图。

1.2 STM32系列MCU介绍

作为STM32平台的新产品,STM32 F4系列基于最新的ARM Cortex-M4内核,在现有出色的STM32微控制器产品组合中新增了信号处理功能,并提高了运行速度;已上市的新系列产品巩固了意法半导体的市场领导地位,取得了迄今市场上性能最高的Cortex-M微控制器的称号 。STM32 F4的单周期DSP指令将会催生数字信号控制器(DSC)市场,数字信号控制器适用于高端电机控制、医疗设备和安全系统等应用,这些应用在计算能力和DSP指令方面有很高的要求。新的STM32 F4系列的引脚和软件完全兼容 STM32 F2系列,如果STM32 F2系列的用户想要更大的SRAM容量、更高的性能和更快速的外设接口,则可轻松地从F2升级到F4系列,其在一个芯片中整合了传统两个芯片的特性。本文采用了STM32F405VG芯片。对于BMP,JPEG,GIF的数据计算有很强的优势。

2 软件设计

2.1 FatFs文件系统

文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。FatFS是一个通用的文件系统模块,用于在小型嵌入式系统中实现FAT文件系统。 FatFs 的编写遵循ANSI C,因此不依赖于硬件平台。它可以嵌入到便宜的微控制器中,如 8051, PIC, AVR, SH, Z80, H8, ARM 等等,几乎不需要做任何修改。

它的特点:

1)兼容windows FAT 系统;

2)独立于硬件平台,移植方便;

3)非常小的软件封装;

4)支持长文件名SBCS/DBCS 或者 Unicode;

5)支持RTOS实时操作系统;

6)支持多块一起操作;

7)最小的API,I/O缓存。

根据结构图,只要修改Disk IO部分软件接口,连接到底层驱动程序。

2.2 移植FatFs

本文移植R0.08版本,下载下来的FatFs有两个文件夹,一个是 doc ,FatFs的说明,包括特性,系统函数,以及可能的一些问题,另一个就是源代码文件夹src了,总共8个文件,diskio.c和diskio.h是硬件层,ff.c和ff.h是FatFs的文件系统层和文件系统的API层,integer.h是文件系统所用到的数据类型的定义,tff.c和tff.h是Tiny的文件系统层和文件系统的API层,还有一个00readme.txt简要的介绍了FatFSHE FatFs/Tiny,包括他们所支持的API,怎么配置等等。

首先修改diskio.c文件,就是写底层的驱动函数。

2.3 应用层程序开发

用到的应用层函数为:f_mount 注册一个工作区,f_open打开一个文件,f_close关闭一个文件,f_read读文件数据,f_opendir打开一个目录,f_readdir 读一个目录,f_unlink 删除一个文件。

综合应用几个功能函数来设计读写bmp图形函数。

如果为了进一步流畅刷新显示图片,可以考虑优化函数结构,特别是在两张图片切换时候要提高LCD响应速度,采用FSMC接口,DMA传送数据,分担MCU负荷,让MCU大部分时间能够解码图形数据,做到响应快速性,切换图片流畅性的显示效果。

3 结束语

本文通过在意法半导体stm32 MCU 移植了FatFs文件系统,真彩TFT液晶进行图片显示,此方案性价比高,用了工业级控制器作为控制核心,充分用到了此芯片的DSP功能,读写存储卡速度快,图形数据计算响应快,此方案为设计一款稳定性好,性能突出的数码相框提供了一种思路。

参考文献

[1] 022152 Rev 1, www.省略.

[2] ILI9328DS_V0.13.pdf, www.省略.

[3] TFT LCD interfacing with the high-density STM32F10xxx FSMC, www.省略.

[4] ADS7843, www.省略.

作者简介:

席卫华(1974-),男,江苏无锡人,无锡机电高等职业技术学校教师,高校讲师;研究方向:计算机技术、网络安全。

上一篇:基于Wiki的机房运维知识管理 下一篇:三个小店,给你“好赚”