最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于STM32F103的电子相框的设计

IT圈 admin 25浏览 0评论

2024年5月3日发(作者:鲍含海)

东莞理工学院学报 

第19卷第1期 

JOURNAL OF DONGGUAN UNIVERSITY OF TECHNOLOGY V n1.19 No.1 

2012年2月 

Feb. 2012 

基于STM32 F1 03的电子相框的设计 

陈雪芳 

(东莞理工学院计算机学院,广东东莞523808) 

摘要:基于STM32F103的电子相框系统读取SD卡中的图像文件通过LCD屏幕将其显示。系统主要由SD 

驱动、LCD驱动和功能控制模块组成。SD驱动主要由SD接口驱动程序、FAT文件操作程序组成;LCD驱动 

主要由LCD屏驱动芯片的驱动程序和图片显示程序组成;功能控制模块包括了系统初始化,显示的时间、显 

示方式的设置,驱动程序调用等功能,功能控制模块是系统的主模块。在介绍了文件系统与图像操作的基础 

上逐步说明了整个系统的实现。文件系统支持FAT16/32,图像系统支持BMP等多种文件格式。整个系统的 

设计以模块化为基础,易于升级。 

关键词:STM32F1Q3;电子相册;SD;LCD;FAT 

中图分类号:TP39 文献标识码:A 文章编号:1009—0312(2012)01—0049—04 

电子相框也叫数码相框,是指能够不借助电脑可以在LCD屏幕上显示数码照片的电子产品。电子 

相框结合了液晶显示技术、电视技术和数字存储技术,Et益成为最受欢迎的新型个性数码产品之一…。 

2002年数码相框在美国诞生,2003年底国内第一款数码相框问世,由于多种原因,当时数码相框在中 

国并未得到很好的发展,导致现在国内相框多以代工为主。2006年随着数码相框平均价格下降,全球 

数码相框的销量同比增长了393%,达到了735万台,2007年全球销量更是达到了1 000万台。IDC预 

测数码相框2011年将达到4 200万台。目前市场上还是以飞利浦、三星等大品牌为主,设计方案多以 

专用芯片为主 。在参考了各种设计方案之后,本文提出了一种基于通用的ARM芯片STM32F103的 

低成本实现方案,方案具有底层软件完全自主开发,外围电路少,易于升级等特点。 

1 系统设计 

STM32F103是ST公司新推出的基于ARM Cortex—M3内核的低功耗高效芯片,工作电压范围是2.0 

3.6 V。Cortex—M3内核基于ARMy7一M指令集,同时支持16一bit和32一bit指令,具有丰富的中断 

资源。STM32F103由Cortex—M3内核、两个DMA、ICode总线、DCode总线、System总线以及大量的 

外设接口组成。ICode指令总线,用来连接Cortex—M3内核的指令总线与Flash存储外设,比如指令预 

取操作就在这个总线当中。DCode是数据总线,同样用于与Cortex—M3内核与Flash存储外设连接。 

System总线是系统总线,主要用于外设与DMA。要注意的是,对于STM32F103通过两个总线桥接将 

AHB与APB1、APB2桥接,在使用外设时,一定要先将用到的总线进行设置,这样外设接口才能启动。 

APB1上的外设接口有TIM(2~7)、USB、DAC等,APB2上的外设接口有GPIO、AFIO、TIM(1、8) 

等。在基于STM32F103的电子相框系统当中使用到了SDIO接口,在STM32F103当中唯有这一个外设 

接口没有通过总线桥接 。 

STM32F103有两个外部时钟(HSE和LSE)。HSE连接到PLL,供系统总线使用,输入范围是4~ 

16MHz。LSE供RTC使用。STM32F103内部还有一个40KHz的时钟振荡器(LSI)。当系统上电后, 

STM32F103首先启动LSI,直到用户程序初始化总线,启动外部时钟,这时,STM32F103跳转使用外部 

时钟。AHB总线频率可以是经过时钟的多次分频得到,一般APB2使用高速时钟,APB1使用低速时 

收稿日期:2011—05—19 

基金项目:东莞市高等院校科研机构科技计划项目(201010814014;200910814002)。 

作者简介:陈雪芳(1978一),女,广东英德人,讲师,工程师,主要从事计算机视觉、语音及多媒体信息处理和嵌入式开发研究。 

50 

~———————

东莞理工学院学报 

———————————

—————~————————————————————————————

2012年 

———————一 

钟。最大的AHB(APB2)频率可达72 MHz。STM32F103内部含有64 KB的SRAM和512 KB的Flash。 

对于基于STM32F103的电子相框系统来说,大量的文件都是存储在sD卡上,512 KB的Flash已经够用 

了。然而,因为读取图像文件需要大量的SRAM,基于STM32F103的电子相框系统外扩了一个8 Mbits 

的SRAM。基于STM32F103的电子相框系统的框图如图l所示。 

图1 基于STM32F103的电子相框的框图 

在系统中,SRAM芯片采用了M5M5W8166TIE',LCD使用了天马微电子的TMrm47DNAFwu。系统 

根据按键输入,选择是自动顺序显示还是固定显示模式。 

2系统控制模块 

系统上电(或重启)后,进入系统控制模块。系统控制模块首先完成系统初始化。包括了FSMC 

总线、SDIO接口、GPIO、系统时钟、定时器和中断。系统选用FSMC的Bank1作为LCD与SRAM的地 

址空间。由图1可知,LCD选用了NE2片选信号,因而它的起始地址是0×64000000,SRAM选用了 

NE3作为片选信号,因而它的起始地址是0x68000000。 

图2系统模块 

系统输入由四个按键完成:In、Out、Up、Down。分别对应GPIO的PG6、PG7、PG8、PC6口。In 

与Out键配置为中断输入。当按下In或者Out键时触发中断,这时调调用Displa2 ̄Item函数,显示控制 

条目供用户使用,up和Down键分别表示光标向上和向下移动,In表示进入下一级目录或者选择(当 

前目录为最低层目录时),Out表示返回上一级目录或者退出。系统模块的流程如图2所示。 

系统起动,初始化完成后,自动进入循环显示状态,间隔时间为30秒。这个时候,系统模块自动 

按顺序读取SD卡上的图像文件,每30秒切换一张图片。通过按键选择,用户可以选择顺序显示,或 

第1期 陈雪芳:基于STM32F103的电子相框的设计 51 

者固定显示。如果选择顺序显示,接下来进入时间设置。用户可以选择一个显示间隔时间。如果是选择 

固定显示,接下来进入图片选择项,用户可以选取某一个图片作为显示的内容。 

3 SD驱动 

sD驱动由两部分组成,sD接口驱动和文件管理。sD接口驱动包括了SD接口的初始化、读、写、 

状态控制等函数。这些底层函数供文件管理函数和系统模块调用。文件管理函数包括了文件读取、写操 

作,支持FAT16/32文件系统。一个FAT文件系统由启动扇区(Boot Sector)、保留扇区、FAT表、FAT 

备份表、根目录(FDT)和数据区组成。因为在这里SD卡只是作为文件存储载体,并不用于系统的操 

作。因而只关心FAT表之后的分区。当读取一个图像文件时,程序首先在FDT区找到该文件的根目录 

项。一个根目录项占据了32个字节,如表1所示 。 

表1 FDT目录项 

找到目录项后,根据起始簇号(NumCluster)在FAT表中找到该文件的起始簇号。对于FAT32,每 

个FAT项占据32位,而FAT16占据16位。以FAT16为例,FAT表的第一项不用,标识为FFF8。如 

果该FAT项的值在0002~FFFEF之问,则FAT项的值就是文件下一个簇号。如果是在FFF8~FFF之 

间,则表示是文件的最后一簇 。依次下去,可以将一个文件完整的读出。在基于电子相册系统当中, 

主要使用了读函数。正确读取了一个图片文件后,需要调用LCD显示函数。 

4 LCD驱动 

LCD驱动包括了LCD接口驱动和图像文件的显示两部分。系统使用了天马微电子的TFT类型LCD 

屏TM 47DNAFwu,其内部是三星的驱动芯片。TMT047DNAFWU内部没有字库,因而对于汉字显示 

需要先生成字模。LCD接El驱动包括了初始化程序、颜色转换程序、显示程序三部分。 

TMT047DNAFWU的操作是先写寄存器,再写数据,用 

同一个总线,总线宽24位。对于屏幕上一个点,用一 

个24位的数表示其RGB色,因而需要颜色转换。 

TMT047DNAFWU可以逐点写入,也可以一次写入一个 

区域 ,非常方便使用。 

LCD驱动的另一个重要部分是图像文件的显示。对 

于不同格式的图像文件,调用不同的显示函数。以BMP 

文件为例。BMP文件结构包括了位图文件头、位图信息 

头、调色板、位图数据 J。BMP文件读取的流程图如图 

3所示。 

程序首先判断是否是BMP文件类型,不是则退出。 

然后分别读取位图文件头与信息头。要注意的是,因为 图3 BMP文件读取流程图 

52 

———————~—————

东莞理工学院学报 

——

—————————————————————————————————————————

————————————————————————————————————————

2012年 

—————一—— 

每个BMP文件的宽和高不一样,而要把它在一个固定宽度和高度的LCD屏幕上显示,所以必须跟据文 

件的宽度和高度对图像文件进行扩展压缩以适合LCD屏幕的大小,以便全屏显示。最后,根据BMP文 

件是否是真彩色(不用调色板)进行文件数据的读取。对于不是真彩色的文件,读调色板,将颜色信 

息读出来。 

5 小结 

基于STM32F103的电子相框系统通过创新使用ARM芯片与少量的外围电路实现了电子相框的功 

能,结合ARM开发,FAT文件系统和图像文件,系统的介绍了一个电子相框完整的设计。系统使用方 

便,图像改换时间可以自行设置。相框实际显示范围为480 272相素点(103.68 58.752 in大小), 

每个相素点可达2 种色彩。电子相框是刚出现的新型数码电子产品,具有广泛的市场前景。本文充分 

利用了ARM芯片的非富资源,开发出了一款使用灵活,具用模块化编程的电子相框。 

参考文献 

[1] 杨建军,高明煜,黄继业.基于PXA310的多功能数码相框硬件平台开发[J].杭州电子科技大学学报,2009,29(1):9—12. 

[2]王伟能,吴烁宇,陈弟虎,等.基于¥3C2410和Qt/Embedded的数码相框设计[J].微计算机信息,2009,17:81—83. 

[3]陈国武.基于ARM的嵌入式流媒体播放器的实现[D].厦门:厦门大学计算机学院,2009. 

[4] STMicroelectronics Ine.STM32F103xx reference manual[K/OL].www.st.con.2008. 

[5] Microsoft Inc.Microsoft Extensible Firmware Initiative FAT32 File System Specification[DB/OL].www.microsoft.eom.2000. 

[6] Samsung Inc.¥6D0164 User manual[K/OL].WWW.samsumg.corn.2002. 

[7] 宋群生,宋亚琼.硬盘扇区读写技术一修复硬盘与恢复文件[M].机械工业出版社,2004. 

[8] Rafael C,Gonzalez,Richard E.Woods Digital Image Processing[M].Beijing:Publishing House of Electronics Industry,2007. 

Design of Digital Photo Frame Based on STM32 F1 03 

CHEN Xue·fang 

(College of Electronic Engineering,Dongguan University of Technology,Dongguan 523808,China) 

Abstract Digital Photo Frame based on STM32F103 reads the digital image files from SD card and displays on LCD 

screen.The digital photo frame includes SD driver,LCD driver and function control module.SD driver consists of SD interface driv— 

er and FAT file operation program.LCD driver consists of LCD screen driver and digital image displays program.Function control 

module includes system initialize,time and mode set,call drive program and SO on.The system realization is introduced after file 

system and image system analysis.File system is based on FAT16 or FAT32,image system based on BMP file and SO on.The de— 

sign of digital photo frame is modularized and easy to upgrade. 

Key words STM32F103;digital photo frame;SD;LCD;FAT 

2024年5月3日发(作者:鲍含海)

东莞理工学院学报 

第19卷第1期 

JOURNAL OF DONGGUAN UNIVERSITY OF TECHNOLOGY V n1.19 No.1 

2012年2月 

Feb. 2012 

基于STM32 F1 03的电子相框的设计 

陈雪芳 

(东莞理工学院计算机学院,广东东莞523808) 

摘要:基于STM32F103的电子相框系统读取SD卡中的图像文件通过LCD屏幕将其显示。系统主要由SD 

驱动、LCD驱动和功能控制模块组成。SD驱动主要由SD接口驱动程序、FAT文件操作程序组成;LCD驱动 

主要由LCD屏驱动芯片的驱动程序和图片显示程序组成;功能控制模块包括了系统初始化,显示的时间、显 

示方式的设置,驱动程序调用等功能,功能控制模块是系统的主模块。在介绍了文件系统与图像操作的基础 

上逐步说明了整个系统的实现。文件系统支持FAT16/32,图像系统支持BMP等多种文件格式。整个系统的 

设计以模块化为基础,易于升级。 

关键词:STM32F1Q3;电子相册;SD;LCD;FAT 

中图分类号:TP39 文献标识码:A 文章编号:1009—0312(2012)01—0049—04 

电子相框也叫数码相框,是指能够不借助电脑可以在LCD屏幕上显示数码照片的电子产品。电子 

相框结合了液晶显示技术、电视技术和数字存储技术,Et益成为最受欢迎的新型个性数码产品之一…。 

2002年数码相框在美国诞生,2003年底国内第一款数码相框问世,由于多种原因,当时数码相框在中 

国并未得到很好的发展,导致现在国内相框多以代工为主。2006年随着数码相框平均价格下降,全球 

数码相框的销量同比增长了393%,达到了735万台,2007年全球销量更是达到了1 000万台。IDC预 

测数码相框2011年将达到4 200万台。目前市场上还是以飞利浦、三星等大品牌为主,设计方案多以 

专用芯片为主 。在参考了各种设计方案之后,本文提出了一种基于通用的ARM芯片STM32F103的 

低成本实现方案,方案具有底层软件完全自主开发,外围电路少,易于升级等特点。 

1 系统设计 

STM32F103是ST公司新推出的基于ARM Cortex—M3内核的低功耗高效芯片,工作电压范围是2.0 

3.6 V。Cortex—M3内核基于ARMy7一M指令集,同时支持16一bit和32一bit指令,具有丰富的中断 

资源。STM32F103由Cortex—M3内核、两个DMA、ICode总线、DCode总线、System总线以及大量的 

外设接口组成。ICode指令总线,用来连接Cortex—M3内核的指令总线与Flash存储外设,比如指令预 

取操作就在这个总线当中。DCode是数据总线,同样用于与Cortex—M3内核与Flash存储外设连接。 

System总线是系统总线,主要用于外设与DMA。要注意的是,对于STM32F103通过两个总线桥接将 

AHB与APB1、APB2桥接,在使用外设时,一定要先将用到的总线进行设置,这样外设接口才能启动。 

APB1上的外设接口有TIM(2~7)、USB、DAC等,APB2上的外设接口有GPIO、AFIO、TIM(1、8) 

等。在基于STM32F103的电子相框系统当中使用到了SDIO接口,在STM32F103当中唯有这一个外设 

接口没有通过总线桥接 。 

STM32F103有两个外部时钟(HSE和LSE)。HSE连接到PLL,供系统总线使用,输入范围是4~ 

16MHz。LSE供RTC使用。STM32F103内部还有一个40KHz的时钟振荡器(LSI)。当系统上电后, 

STM32F103首先启动LSI,直到用户程序初始化总线,启动外部时钟,这时,STM32F103跳转使用外部 

时钟。AHB总线频率可以是经过时钟的多次分频得到,一般APB2使用高速时钟,APB1使用低速时 

收稿日期:2011—05—19 

基金项目:东莞市高等院校科研机构科技计划项目(201010814014;200910814002)。 

作者简介:陈雪芳(1978一),女,广东英德人,讲师,工程师,主要从事计算机视觉、语音及多媒体信息处理和嵌入式开发研究。 

50 

~———————

东莞理工学院学报 

———————————

—————~————————————————————————————

2012年 

———————一 

钟。最大的AHB(APB2)频率可达72 MHz。STM32F103内部含有64 KB的SRAM和512 KB的Flash。 

对于基于STM32F103的电子相框系统来说,大量的文件都是存储在sD卡上,512 KB的Flash已经够用 

了。然而,因为读取图像文件需要大量的SRAM,基于STM32F103的电子相框系统外扩了一个8 Mbits 

的SRAM。基于STM32F103的电子相框系统的框图如图l所示。 

图1 基于STM32F103的电子相框的框图 

在系统中,SRAM芯片采用了M5M5W8166TIE',LCD使用了天马微电子的TMrm47DNAFwu。系统 

根据按键输入,选择是自动顺序显示还是固定显示模式。 

2系统控制模块 

系统上电(或重启)后,进入系统控制模块。系统控制模块首先完成系统初始化。包括了FSMC 

总线、SDIO接口、GPIO、系统时钟、定时器和中断。系统选用FSMC的Bank1作为LCD与SRAM的地 

址空间。由图1可知,LCD选用了NE2片选信号,因而它的起始地址是0×64000000,SRAM选用了 

NE3作为片选信号,因而它的起始地址是0x68000000。 

图2系统模块 

系统输入由四个按键完成:In、Out、Up、Down。分别对应GPIO的PG6、PG7、PG8、PC6口。In 

与Out键配置为中断输入。当按下In或者Out键时触发中断,这时调调用Displa2 ̄Item函数,显示控制 

条目供用户使用,up和Down键分别表示光标向上和向下移动,In表示进入下一级目录或者选择(当 

前目录为最低层目录时),Out表示返回上一级目录或者退出。系统模块的流程如图2所示。 

系统起动,初始化完成后,自动进入循环显示状态,间隔时间为30秒。这个时候,系统模块自动 

按顺序读取SD卡上的图像文件,每30秒切换一张图片。通过按键选择,用户可以选择顺序显示,或 

第1期 陈雪芳:基于STM32F103的电子相框的设计 51 

者固定显示。如果选择顺序显示,接下来进入时间设置。用户可以选择一个显示间隔时间。如果是选择 

固定显示,接下来进入图片选择项,用户可以选取某一个图片作为显示的内容。 

3 SD驱动 

sD驱动由两部分组成,sD接口驱动和文件管理。sD接口驱动包括了SD接口的初始化、读、写、 

状态控制等函数。这些底层函数供文件管理函数和系统模块调用。文件管理函数包括了文件读取、写操 

作,支持FAT16/32文件系统。一个FAT文件系统由启动扇区(Boot Sector)、保留扇区、FAT表、FAT 

备份表、根目录(FDT)和数据区组成。因为在这里SD卡只是作为文件存储载体,并不用于系统的操 

作。因而只关心FAT表之后的分区。当读取一个图像文件时,程序首先在FDT区找到该文件的根目录 

项。一个根目录项占据了32个字节,如表1所示 。 

表1 FDT目录项 

找到目录项后,根据起始簇号(NumCluster)在FAT表中找到该文件的起始簇号。对于FAT32,每 

个FAT项占据32位,而FAT16占据16位。以FAT16为例,FAT表的第一项不用,标识为FFF8。如 

果该FAT项的值在0002~FFFEF之问,则FAT项的值就是文件下一个簇号。如果是在FFF8~FFF之 

间,则表示是文件的最后一簇 。依次下去,可以将一个文件完整的读出。在基于电子相册系统当中, 

主要使用了读函数。正确读取了一个图片文件后,需要调用LCD显示函数。 

4 LCD驱动 

LCD驱动包括了LCD接口驱动和图像文件的显示两部分。系统使用了天马微电子的TFT类型LCD 

屏TM 47DNAFwu,其内部是三星的驱动芯片。TMT047DNAFWU内部没有字库,因而对于汉字显示 

需要先生成字模。LCD接El驱动包括了初始化程序、颜色转换程序、显示程序三部分。 

TMT047DNAFWU的操作是先写寄存器,再写数据,用 

同一个总线,总线宽24位。对于屏幕上一个点,用一 

个24位的数表示其RGB色,因而需要颜色转换。 

TMT047DNAFWU可以逐点写入,也可以一次写入一个 

区域 ,非常方便使用。 

LCD驱动的另一个重要部分是图像文件的显示。对 

于不同格式的图像文件,调用不同的显示函数。以BMP 

文件为例。BMP文件结构包括了位图文件头、位图信息 

头、调色板、位图数据 J。BMP文件读取的流程图如图 

3所示。 

程序首先判断是否是BMP文件类型,不是则退出。 

然后分别读取位图文件头与信息头。要注意的是,因为 图3 BMP文件读取流程图 

52 

———————~—————

东莞理工学院学报 

——

—————————————————————————————————————————

————————————————————————————————————————

2012年 

—————一—— 

每个BMP文件的宽和高不一样,而要把它在一个固定宽度和高度的LCD屏幕上显示,所以必须跟据文 

件的宽度和高度对图像文件进行扩展压缩以适合LCD屏幕的大小,以便全屏显示。最后,根据BMP文 

件是否是真彩色(不用调色板)进行文件数据的读取。对于不是真彩色的文件,读调色板,将颜色信 

息读出来。 

5 小结 

基于STM32F103的电子相框系统通过创新使用ARM芯片与少量的外围电路实现了电子相框的功 

能,结合ARM开发,FAT文件系统和图像文件,系统的介绍了一个电子相框完整的设计。系统使用方 

便,图像改换时间可以自行设置。相框实际显示范围为480 272相素点(103.68 58.752 in大小), 

每个相素点可达2 种色彩。电子相框是刚出现的新型数码电子产品,具有广泛的市场前景。本文充分 

利用了ARM芯片的非富资源,开发出了一款使用灵活,具用模块化编程的电子相框。 

参考文献 

[1] 杨建军,高明煜,黄继业.基于PXA310的多功能数码相框硬件平台开发[J].杭州电子科技大学学报,2009,29(1):9—12. 

[2]王伟能,吴烁宇,陈弟虎,等.基于¥3C2410和Qt/Embedded的数码相框设计[J].微计算机信息,2009,17:81—83. 

[3]陈国武.基于ARM的嵌入式流媒体播放器的实现[D].厦门:厦门大学计算机学院,2009. 

[4] STMicroelectronics Ine.STM32F103xx reference manual[K/OL].www.st.con.2008. 

[5] Microsoft Inc.Microsoft Extensible Firmware Initiative FAT32 File System Specification[DB/OL].www.microsoft.eom.2000. 

[6] Samsung Inc.¥6D0164 User manual[K/OL].WWW.samsumg.corn.2002. 

[7] 宋群生,宋亚琼.硬盘扇区读写技术一修复硬盘与恢复文件[M].机械工业出版社,2004. 

[8] Rafael C,Gonzalez,Richard E.Woods Digital Image Processing[M].Beijing:Publishing House of Electronics Industry,2007. 

Design of Digital Photo Frame Based on STM32 F1 03 

CHEN Xue·fang 

(College of Electronic Engineering,Dongguan University of Technology,Dongguan 523808,China) 

Abstract Digital Photo Frame based on STM32F103 reads the digital image files from SD card and displays on LCD 

screen.The digital photo frame includes SD driver,LCD driver and function control module.SD driver consists of SD interface driv— 

er and FAT file operation program.LCD driver consists of LCD screen driver and digital image displays program.Function control 

module includes system initialize,time and mode set,call drive program and SO on.The system realization is introduced after file 

system and image system analysis.File system is based on FAT16 or FAT32,image system based on BMP file and SO on.The de— 

sign of digital photo frame is modularized and easy to upgrade. 

Key words STM32F103;digital photo frame;SD;LCD;FAT 

发布评论

评论列表 (0)

  1. 暂无评论