基于ARM9的简易数码相框
尽管数码相框已经出现几年了,但它对很多人来说还是个新概念。数码相框通过液晶的屏幕来显示数字相片,可以通过读卡器接口从SD 卡获取数字相片信息,并可设置循环显示方式,比普通相框更灵活多变,也给日益增多的数码相片提供了一个新的展示空间。本文介绍一款基于mini2440 型ARM9 开发系统做的嵌入式简易数码相框。其硬件包括键盘,IO 口,显示器软件包括LINUX 操作系统都是mini2440 的资源,这里不再详述。
一、主要功能
开机后,显示开机图片。点击触摸屏上的图标,可以进入设置界面或点播界面。在设置界面可完成背景音乐的音量调节和设置播放幻灯片时的切换时间。点击播放界面,进入播放USB 中的图片。
二、开发环境及硬件电路
1. 主机环境
虚拟机下Fedora9, 开通smaba 服务。
Windows 下使用Source Insight 编辑查看代码,linux 环境下编译。
2. 开发板环境
Linux 系统采用2.6.26 内核。内核包含关键的底层驱动,如液晶,声卡,网卡等。设计者应有一定的linux 操作系统的基础知识。
3. 硬件
选用的mini2440 是一款低价实用的ARM9开发板,是一款性价比很高的学习板。它采用Samsung S3C2440 为微处理器,采用专业稳定的CPU 内核电源芯片和复位芯片来保证系统运行的稳定性。开发板提供对声卡,网卡,USB等的支持,很方便数码相框的制作。
其主要技术参数如下:
(1)CPU 处理器: Samsung S3C2440A,主频400MHz,最高533Mhz ;
(2)SDRAM 内存:在板64M SDRAM ;32bit 数据总线;SDRAM 时钟频率高达100MHz ;
(3)FLASH 存储:在板 64M Nand Flash ;
(4)主要接口和资源:
- 1 个100M 以太网RJ-45 接口( 采用DM9000 网络芯片) ;
- 3 个串行口;- 1 个USB Host ;
- 1 个USB Slave B 型接口;
- 1 个SD 卡存储接口;
- 1 路立体声音频输出接口,一路麦克风接口;
(5)LCD 显示:选用320×240 的32 位彩色液晶,带触摸屏;板上集成4 线电阻式触摸屏接口,可以直接连接四线电阻触摸屏;支持黑白、4 级灰度、16 级灰度、256 色、4096 色STN液晶屏,尺寸从3.5 英寸到12.1 英寸,屏幕分辨率可以达到1024×768 像素;
(6)带音频输出,用来播放音乐。
三、开发及制作过程
1. 移植QT( 版本为qt-embeddedfree-3.3.7)
QT 是一个跨平台的 C++ 图形用户界面库,是专为小型设备提供图形用户界面的应用框架和窗口系统。它提供丰富的窗口小部件(Widgets),支持窗口部件的定制,可以为用户提供漂亮的图形界面。QT 是开源的图形界面软件,也是最流行的图形界面之一。具体移植步骤如下:
(1) 在ftp://ftp.trolltech.com/qt/source/ 下载QT 源代码qt-embedded-free-3.3.7.tar.gz和qt-x11- free- 3.3.7.tar.gz .
(2) 编译qt-x11-free-3.3.7
① tar zxvf qt-x11-free-3.3.7
② cd qt-x11-free-3.3.7
③ ./configure
④ /usr/bin/gmake
(3) 交叉编译:编译qt-embedded-free-3.3.7
① tar zxvf qt-embedded-free-3.3.7
② c p q t - x 1 1 - f r e e - 3 . 3 . 7 / b i n / u i c q t -embedded-free-3.3.7/bin
③ c p q t - x 1 1 - f r e e - 3 . 3 . 7 / b i n / m o c q t -embedded-free-3.3.7/bin
④ cd qt-embedded-free-3.3.7
⑤ . / c o n f i g u r e - s h a r e d - t h r e a d-embedded arm -qvfb -freetype -depths4 , 8 , 1 6 , 2 4 , 3 2 - q t - g i f - q t - l i b p n g - q t -libmng -qt-libjpeg -qtopia-sqlite -no-qvfb/usr/bin/gmake
(4) 运行qt-embedded-free-3.3.7/example/hello/hello :
#cd qt-embedded-free-3.3.7/example/hello./hello –qws
如果屏幕显示hello,就说明移植成功。
2.移植音频播放器
播放器采用Madplay.Madplay 是开源播放器,使用方法简单。
管理Madplay 的主程序,包括播放、暂停播放、恢复播放、停止播放。
system(madplay north.mp3 );
// 利用system 函数调用madplay 播放器播放*.mp3 音乐
system(madplay north.mp3 -r ); //循环播放:参数-r
system(killall -9 madplay);
// 利用system 函数调用killall 命令将madplay 终止掉
system(killall -STOP madplay );
// 利用system 函数调用killall 命令将madplay 暂停
system(killall -CONT madplay );
// 利用system 函数调用killall 命令恢复madplay 的播放
具体步骤为:
(1) Madplay 的官方网站是http://www.
underbit.com/products/mad/.通过该网站的介绍可以得知, 它还需要libmad 和libid3tag两个库, 从该网站找到下载连接 http://sourceforge.net /project/ showfiles .php?
group_id=1
- 基于Linux NFS的Web数码相框设计 (08-27)
- UCOS-II 操作系统在数码相框中的应用(03-02)
- 基于Nios II 的多功能数码相框的设计与实现(06-05)
- 简易数码相框与电子书阅读器的设计(10-10)
- 基于RT-Thread和STM32的数码相框的设计方案(12-28)
- 基于Blackfin处理器的嵌入式数码相框设计[图](02-15)