admin管理员组

文章数量:1536023


2024年6月1日发(作者:)

龙源期刊网

基于stm32单片机的电子相册

作者:张志成 王鹏飞

来源:《电子技术与软件工程》2016年第04期

摘 要 电子相册是结合了液晶显示技术、电视技术和数字存储技术的电子产品。它彻底改

变了传统纸质静态照片的单一显示方式,成为一款很受欢迎的新型个性电子产品。本论文设计

了一款电子相册,STM32控制模块用来操作SD卡的读写,驱动LCD液晶屏的显示;SD卡用

做图片资料的储存;LCD 液晶屏进行图片的显示。该设计通过CPU对SD卡中BMP、GIF、

JPG格式的图片进行处理,实现了由按键控制图片的切换,并以幻灯片形式在液晶屏上播放图

片的效果。

【关键词】电子相册 STM32单片机 液晶显示

1 引言

电子相册也叫做数码相框,是指可以不借助计算机能在LCD 液晶屏上显示图片的一种电

子产品。电子相册结合了数字电视技术、数字信号存储技术和LCD液晶显示技术,即将成为

最受欢迎的个性化数码产品之一。电子相册继承了相框的温情和数码的时尚,给人类的生活带

来了无穷的乐趣。鉴于电子相册广泛的用途,电子相册的开发具有重要的意义和市场价值。虽

然目前电子相册还没能普及,但随着数码照相机的普及,电子相册将成为必不可少的配套产

品,它也将会成为继电视机、计算机之后人们生活中不可或缺的第三类显示器件!本文提出了

一种基于STM32系列单片机 STM32F103RCT6的低功耗、低成本设计方案,该方案外围电路

简单,主要依靠软件实现各项功能。而STM32 更是具有价格低、自身外设丰富、实时性能

强、功耗低等特点。因此,进行基于STM32平台的电子相册的设计具有重要的实用价值和理

论意义。

2 硬件电路

本系统采用基于ARM Cortex-M3内核的STM32作为主控制器,外扩SD卡、TFT彩屏以

及按键。STM32主控模块:主要用来读取存储模块中的数据,并且驱动LCD显示。液晶显示

模块:主要用来显示BMP、JPG等格式的图片。存储模块:主要用来存放BMP、JPG等格式

的图片。按键模块:主要用来对图片进行翻页。

2.1 STM32主控模块

本设计选用的STM32系列单片机 STM32F103RCT6 ,该芯片具有256KB闪存、48KB

RAM、8个定时器、3个SPI、5个串口、1个FSMC接口以及64个通用IO口。该芯片是基于

龙源期刊网

ARM Cortex-M3内核的嵌入式处理器,其特点是高性能、低功耗、低成本。基于以上优点,

该设计采用此单片机作为主控芯片。

2.2 显示模块

本设计采用2.8英寸TFT-LCD屏作为显示模块,TFT-LCD即薄膜晶体管液晶显示器,该

显示屏具有亮度好、层次感强、颜色鲜艳、对比度高等特点,在手机、MP4等产品中得到了

广泛的应用。该显示屏采用ILI9341作为控制器,采用16位80并口与外部连接,选用触摸屏

专用芯片XPT2046,可实现触摸操作。

2.3 存储模块

SD卡(Secure Digital Memory Card)是一种基于半导体快闪记忆器的新一代记忆设备,已

经被广泛应用于许多电子产品中。例如数码相机、PDA和多媒体播放器等。SD卡体积小、重

量轻,但却有容量大、数据传输率快、移动灵活以及安全性高等特点。SD卡只能使用3.3V的

输入输出电平,故控制器一定要能够支持3.3V电压。设计中使用SPI模式,在SD卡收到复位

信号,同时CS为低电平时启用SPI模式。在SD卡初始化的时候,时钟周期最大不能超过

400KHZ。

3 系统的软件设计

该设计通过CPU对SD卡中的BMP、JPG等格式图片进行处理、读取,然后以幻灯片的

形式在TFT彩屏上显示出来,并通过按键控制图片的切换。该设计的总体流程图如图1所

示。

3.1 SD卡的读取

常用的文件系统有FAT12/16/32等,FAT12管理8M左右的空间, FAT16管理2G的空

间, FAT32管理2TB的空间。由于FAT32采用了更小的簇,这样就可以更有效的保存数据,

不会造成浪费。通常SD卡上的数据信息由MBR(有的也没有MBR)、DBR、FAT、FDT和

数据区5个部分组成。MBR称为主引导记录区, DBR为操作系统引导记录区,FAT称为文件

分配表,FDT称为文件根目录表。

SD卡在进行读写操作之前都必须首先对SD卡进行的初始化。初始化SD卡时,SPI的时

钟不能太快。在初始化之后,再提高SPI的速率。刚开始要先发送至少74个时钟信号,随后

就是写入两个命令CMD0与CMD1,使SD卡进入SPI模式。SD卡的读写操作是通过发送SD

卡命令完成的。SPI总线模式支持单块(CMD24)和多块(CMD25)写操作,在需要读取SD

卡中的数据时,执行命令字CMD17,首先接收到第一个响应命令字节(0xFE),接着接收到

512个字节的SD卡数据,最后接收到2个字节的CRC验证码。

龙源期刊网

3.2 液晶显示屏的控制

ILI9341液晶控制器的主要使用6个重要的命令:0XD3,是读ID4指令,用于读取LCD

控制器的ID;0X36,是存储访问控制指令,可以控制ILI9341存储器的读写方向;0X2A,是

列地址设置指令,在从左到右,从上到下的扫描方式(默认),该指令用于设置横坐标;

0X2B,是页地址设置指令,在从左到右,从上到下的扫描方式(默认),该指令用于设置纵

坐标;0X2C,是写GRAM指令,在发送该指令之后,便可以往LCD的GRAM里面写入颜色

数据了,该指令支持连续写;0X2E,是读GRAM指令,用于读取ILI9341的显存

(GRAM)。

3.3 图片解码

我们常用的图片格式有很多,最常用的有三种:JPEG(或JPG)、BMP和GIF。其中

JPEG(或JPG)和BMP是静态图片,而GIF则是可以实现动态图片。

BMP(全称Bitmap)是Window操作系统中的标准图像文件格式。它采用位映射存储格

式,除了图像深度可选以外,不采用其他任何压缩,故此,BMP图片文件占用的空间较大,

但是没有失真。BMP格式文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺

序。对于BMP格式的图片,我们采取从SD卡中边读取边解码显示的方式进行解码,一般

FAT32文件簇的大小都是512字节,所以我们以簇为单位读取图片信息,之后解码显示,接着

读取下一簇信息并在液晶上显示,直到读完最后一簇,我们的图片也就解码显示完毕

JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写,同BMP格式不同,

JPEG是一种有损压缩格式,能够将图像压缩在很小的储存空间。JPEG压缩技术非常先进,它

使用有损压缩方式除去多余的数据。而且JPEG是一种灵活的图像格式,可以调节图像的质

量,压缩比率通常可以处于在10∶1到40∶1之间,压缩率越高,图像的品质越差,反之,图

像品质就越高。JPEG格式主要压缩高频信息,同时较好的保留了色彩的信息,它可以支持

24bit真彩色,主要适用于互联网和连续色调的图像。JPEG的解码是一个很复杂的过程,该设

计中用到了FATFS的作者提供的一个的JPG/JPEG解码库:TjpgDec,只需3.5KB的FLASH

和3KB的RAM即可实现JPG/JPEG解码。JPEG/JPEG图像文件解码过程如下:首先从文件头

开始读出文件的相关信息;接着从图像数据流中读取一个编码单元(MCU) ,并提取里边的

各个颜色分量;将颜色分量从数据流恢复成矩阵数据;接下来对8×8 的数据矩阵进一步解码;

最后颜色系统YCrCb 向RGB 转换,排列整合各个MCU 的解码数据。

4 结论

本论文设计了一款基于STM32单片机的电子相册,该设计的主控芯片具有256KB闪存和

48KB RAM,时钟频率可达72MHz,并且集成了丰富的片内外设,功耗低,价格便宜。TFT

液晶触摸屏具有亮度好、对比度高、层次感强、颜色鲜艳等特点。该系统的硬件电路很简单,

龙源期刊网

主要通过软件来实现具体的功能,最终设计了一款具有价格便宜,功能齐全,显示效果良好,

模块化结构的电子相册。

参考文献

[1]张洋,严汉宇,刘军.原子教你玩STM32[M].北京:北京航空航天大学出版社,2013.

[2]梁明亮,齐公博.基于ARM9的简易数码相框[J].电子制作,2010(10).

[3]丁鑫蕾.一种简易数码相框的设计[J].微型机与应用,2010(31).

[4]任松岩.基于ARM的数码相框的设计[J].电子制作,2010(03).

[5]刘军.例说STM32[J].北京:北京航空航天大学,2011(10).

[6]谭浩强.C程序设计[M].北京:清华大学出版社,2008.

作者单位

河西学院物理与机电工程学院 甘肃省张掖市 734000

龙源期刊网


本文标签: 图片显示设计