首页 资讯 招标 项目 展会 更多

位置:首页 > 新闻频道 > 技术动态


基于Cortex-M3的数码相框设计

2016-04-27 10:44:10 安装信息网

相关链接: 中国安全网 中国质量网 中国论文网 中国资讯网

 吴彤,刘嘉新

 (东北林业大学,黑龙江哈尔滨150040)

摘要:随着人们现代生活水平的日益提高,数码相框已经成为人们存放读取照片的首选工具,它不仅综合了多种功能并且方便实用,使其得到了越来越多人的青睐。该设计采用的是基于ARM Cortex-M3内核的STM32F103ZET6微控制器,以GUI为用户控制界面,利用SD卡进行存储,通过FAT文件系统进行SD卡中的文件读取功能,系统移植成功后加入应用程序实现VS1003播放歌曲以及TFT液晶显示图片的功能。由于采用TFT-LCD触控屏设计,使得整个系统实现了良好的人机交换,不仅符合现代的科技发展,并且适应当代人的生活习惯。

 关键词:数码相框;ARM Cortex-M3;单片机;TFT液晶

 中图分类号:TP202 文章编号:1006 - 2394( 2016) 03 - 0015 - 04

0  引言

 我国于2006年打开数码相框的销售、使用的市场,直到现在才逐渐呈现出较快速度的发展趋势。数码相框由于其方便、实用的特点在广大图片播放器产品中脱颖而出,成为消费者的可选家电产品之一。数码相框是使用液晶屏LCD查看照片并具有一些辅助装饰功能的设备,一般具有照片浏览、选择、放大、缩小等功能,同时可播放音乐,也可以对图像进行简单加工。本文选用的STM32是基于Cortex-M3的ARM系列处理器,速度快,能满足图片显示的需求,也可以外接高分辨率LCD图像显示图片;具有触摸屏接口,实现对图片的触摸选择;同时使用SPI接口外接触摸屏和VS1003模块实现音频播放功能。

1硬件设计

 本系统硬件共有4个主要模块:微控制器STM32F103ZET6控制模块、TFT-LCD触控模块、音频解码模块VS1003、存储模块SD卡。系统硬件总体框架如图1所示。

1.1  电源模块

 本系统可使用开发板电源选择跳线支持外部SV电源供电、USB供电或是由ULINK2 ARM仿真器提供的5V电源供电,其电路图如图2所示。

 (1)5 V DC电源适配器连接到J3,电源选择跳线JP4插到1-2处,选择外部SV电源供电。

 (2)把USB电缆连接到USB口J4,电源选择跳线JP4插到2-3处,选择USB 5 V电源供电。

 (3)把ULINK2 ARM仿真器连接到J5口处,在ULINK COMMANDER中输入Power on perm即可由ULINK2输出SV电源提供给开发板供电。

1.2 TFT液晶及触摸屏模块

 TFT-LCD即薄膜晶体管液晶显示器,其英文全称为:Thin Film Transistor-Liquid Crstal Displayorrvr_LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管( TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。本设计采用的TFT的控制器ID为8989,显示面积为3.2英寸,320×240点阵。要正常使用TFT-LCD.需要初始化一系列寄存器,如显示时钟、扫描方式等。TFT-LCD采用16位并口数据总线,可以把TFT-LCD看成是类似于SRAM的存储器,其硬件电路如图3所示。

 使用PG12连接到TFT-LCD的片选CS,FSMC总线地址连接到TFT的数据引脚RS,TFT的读使能引脚RD连接到FSMC的PD4,写使能引脚WR连接到FSMC的PD5,TFT的16位并口数据引脚分别与FMSC的DO~D15相连。

1.3 SD卡读取模块

 SDIO即安全数字输入/输出卡,是在SD标准上定义的一种外设接口。SD卡即是一种基于半导体快闪记忆器的记忆设备,它被广泛地使用于便携式装置上,例如数码相机、手机和多媒体播放器等。

 本设计所采用的红牛STM32F103ZET开发板自带SD卡接口,使用SPI接口,最大通信速度可达18 M bit/s,传输数据可达2 MB yte/s,其硬件电路图如图4所示。

1.4 VS1003音频模块

 VS1003的芯片内部包含一个高性能的低功耗DSP处理器核,还有一个工作数据存储器。VS1003通过一个串行接口接收比特流,能解码MPEG1和MPEG2音频层Ⅲ、WMA、WAV文件,VS1003具有SPI接口,UART可用于调试。

 本设计使用STM32内部接口SPI与VS1003进行通信。数据流的传输方向是从VS1003传输给STM32:已连接到STM32内部接口SPI的主输出从输入(MO-SI)信号线。

2软件设计

 本系统在软件设计上包括两个部分:用户界面的设计和各功能模块的设计。软件设计平台使用K eil MDK4,软件设计流程如图5所示。

2.1用户界面的设计

 μC/GUI是μC/OS-II的图形界面,用于为使用LCD的应用提供一个有效的、不依赖于处理器和LCD控制器的图形用户接口,工作于单任务或多任务的系统环境下。

 它的设计是模块化的,由在不同模块中的不同的层组成。典型的μC/GUI框架图如图6所示。

2.1.1绘制位图

 基本函数:GUI_ DrawBitmap,绘制位图即在当前屏幕的指定位置绘制一幅图片。

 函数原型:void GUI_DrawBitmap( const GUI_BIT-MAP*Pbm.int x.int y);其参数如表1所示。

 位图数据被定义为像素×像素,其最高有效位定义为第一个像素,图片数据以第一个字节的MSB作为起始,可以在任意一点用户区显示。

2.1.2μC/GUI视窗管理器

 视窗管理器是一个独立的项目,位于子目录“GUI\WM”下,窗口外形是矩形,由它们的原点(左上角的X和Y坐标)及它们的X和Y尺寸所定义。

 基本函数:WM_CreateWindow()

 函数原型:WM_HWIN WM_ CreateWindow(int x0,nt yO,int width,int height,U8 Style,WM_CALLBACK*cb,int NumExtraBytes);

各参数含义见表2。

2.2 FATFS文件目录

 文件系统,指的是整个系统用于管理在狭义上存储的数据,特别是指在FAT文件系统上的数据格式的存储。常用的文件系统有FAT12/16/32等,FAT16可以管理2G的空间,而FAT32能管理到2TB的空间。FAT32较FAT16的优势在于FAT32采用了更小的簇,可以更有效地保存信息,而不会造成多的浪费。因此本文中使用了FAT32作为文件系统。

 在FATFS的API函数,例程中用到的全局变量定义如下:

2.3  图片浏览模块设计

 图片浏览功能的实现在BMP图像中不需要做额外的数据处理,可以把读取的BMP属性的文件数据直接送给TFT显示驱动即可实现相应的功能,而在处理

PG格式的图片时需要进行函数解码。其软件流程图如图7所示。

2.4音频播放模块设计

 要让VS1003实现音乐播放,首先要实现对芯片的写命令功能,然后通过写命令对VS1003进行初始化操作;完成以上步骤之后,将音频数据送人控制器中,即实现对音乐的播放功能。

 在完成VS1003初始化之后就可以对其写入MP3文件数据,该过程主要看DREQ信号,在VS1003的FIFO能够接收数据的时候输出高电平,每次可以写入32个字节的数据;当DREQ变为低电平时,则停止数据的发送。写数据的具体方法是先将XDCS电平拉低,等待DREQ变为高电平时通过SPI写人数据;当所有的数据都发送完后,需要发送2048无效字节以清除VS1003中的数据缓冲区;最后将XDCS置高电平,写数据过程完毕。

3测试

 在软件调试时,采用分步渐进的测试方法。系统用到了多个中断,在设计过程中遇到过中断嵌套而无法退出的问题,因而需要设定中断优先级,其中触摸屏引脚中断优先级最高。

 程序设计中,遇到电阻屏触摸抖动不准确和双击的问题,这时需要利用延迟测量法进行解决,测量完后再次延迟300 ms后打开笔中断,即可改善该问题。

经过调试后,系统的主要功能运行效果如图8所示。

4结论

 本设计采用STM32F103ZET6与TFT液晶触摸触屏、VS1003结合的方案,在实现了基本的数码相框的基础上增添了MP3播放器的功能。STM32F103ZET6具有丰富的硬件外设,在使用过程中有丰富的资料,简单实用的同时节约了设计成本,VS1003提供优秀的音乐处理能力,能够保障高品质的音质。在显示控制方面,本设计采用当前流行的TFT触摸彩屏,使本系统具有更好的人机交换体验。

关键字:

上一篇:基于BP神经网络的天然气脱硫装置异常诊断模型

下一篇:基于三菱FX2n PLC的水果包装生产线控制系统

行业资讯月点击排行

展会信息月点击排行

招商信息月点击排行

首页 资讯 招标 项目 展会
关于我们 | 广告服务 | 友情连接 | 联系我们
触屏版 电脑版
安装信息网 www.36qyk.cn.