基于嵌入式系统的数字相框设计-大学课程设计说明书--学位论文.doc
《基于嵌入式系统的数字相框设计-大学课程设计说明书--学位论文.doc》由会员分享,可在线阅读,更多相关《基于嵌入式系统的数字相框设计-大学课程设计说明书--学位论文.doc(30页珍藏版)》请在咨信网上搜索。
1、长 春 大 学课 程 设 计 说 明 书题目名称 基于嵌入式系统的数字相框设计 院(系) 计算机科学技术学院 专业(班级) 软件 10407 学生姓名 王雅楠(03) 刘阳(19) 廖泉亮(15) 李凯(25) 王志廷(28) 刘福强(29) 尹双霞(02) 李铁成(23) 指导教师 李 念 峰 起止日期 2013-6-24至2013-7-14 装订线长 春 大 学 课程设计纸目录目 录错误!未定义书签。一 设计目的错误!未定义书签。二 设计内容错误!未定义书签。三 设计要求错误!未定义书签。四 设计过程错误!未定义书签。1 设计原理错误!未定义书签。2 程序结构分析错误!未定义书签。3 功能
2、实现错误!未定义书签。五 系统测试错误!未定义书签。1 测试目的错误!未定义书签。2 测试条件错误!未定义书签。3 测试方法 错误!未定义书签。六 设计心得错误!未定义书签。参考文献错误!未定义书签。附录错误!未定义书签。一、设计题目 基于嵌入式系统的数字相框设计二、设计目的开设本课程设计的目的是,通过本课程设计,提高学生的分析问题、解决问题的能力,巩固嵌入式系统的基本理论知识,进一步了解和掌握课程中所讲授的概念,方法。同时通过本课程设计,全面综合应用所学过的基础知识,建立一个完整的嵌入式系统的开发过程的概念,并掌握其中的主要原理和方法,对已学过的嵌入式开发知识进行综合运用。本课程设计的目的是
3、通过开发一个消费类电子产品数字相框,了解嵌入式产品开发的主要步骤,包括需求分析、系统结构设计、图形界面设计、驱动程序、功能优化、系统测试等,从而培养学生独立完成比较复杂的实际系统设计的能力。三、设计任务作为一个消费类电子产品,数码相框整个系统要完成的基本功能大致如下:1、用户界面友好,操作简便。由于该产品的使用者大多是非专业人士,用户界面是否清晰明了、操作是否简捷方便成为用户是否能迅速接受此产品的重要因素。2、数字相框的功能应包括以下方面:(1)在LCD屏上全屏循环显示多幅图像文件;(2)人机交互界面设定各个模式的播放形式、输入信息(2)支持触摸屏换页功能;(3)支持在浏览图片的同时播放背景音
4、乐 (4)支持JPEG格式的图片及wav格式的音乐 (5)支持图片特效切换功能四、设计过程1、设计原理数字相框,也称为数码相框,其基本原理:外观采用普通相框的造型,把原来相框中间的照片部分换成液晶显示屏,配上电源,存储介质等,可以直接播放数码照片,使得一个相框内可以循环播放照片,比普通相框的单一功能更有优势。性能方面,由于数字图像的解码算法比较复杂,而且大量图片需要从外部Flash存储器中读取,所以对嵌入式微处理器的性能要求比较高。外部接口方面,该芯片最好能在外围直接支持CF卡的Compact Flash接口,还应提供按钮、LCD显示屏、触摸屏、声音输出通道等。在本课程设计中,采用了Intel
5、的PXA270作为微处理器,完全能满足上述硬件平台的要求。数字相框软件系统功能可以划分为五个模块:(1)图片浏览模块,可以通过按键控制选定某个图像或更新图像页(上一页、下一页)。单击按钮时,主线程接收信号并传递给次线程,次线程根据信号给出相应的动作:显示上一页或下一页的内容。每一页中放置图片。当到达最后一页以后,不能立即返回到首页,在首页中,也不能立即到达最后一页。(2)播放模块,对浏览界面选定的图片进行循环播放。按钮区域创建进程运行预览模块,右击退出返回到主菜单,退出时将进程杀死,释放内存空间。(3)系统设置模块,可设置循环播放更换频率等。(4)音乐模块,播放,关闭,音量大小。右击并不退出音
6、乐,只有单击关闭按钮才会关闭音乐。2程序结构分析(1)整体结构设计:根据以上的功能要求,程序的模块划分和功能分析如下图所示:开始开机界面主菜单图片浏览扩展功能退出模块音乐模块主题更改显示时间 图1总体功能模块图(2) 图片浏览模块:主要有四个部分组成的,浏览上一张图片,下一张图片,扩放图片,以及缩小图片。此模块的功能是图片的显示。在此模块中建立显卡与内存的映射,实现图片显示,在显示的过程中还需要实现图片的预览,这就需要拥有图片的缩放功能。为了加强图片显示的美感,在此模块中,我们还设计了多种图片显示的特效。还要实现进程间的通信,获取其他进程发送来的信号,并执行相应操作。图片浏览模块扩放图片缩小图
7、片下一张图片上一张图片 图2图片浏览模块(3)音乐模块:在浏览优美的图片时,还可以听到动听的音乐。播放,暂停。这个模块的主要功能就是在整个程序运行的过程中进行音乐的播放。此模块对于我们来说比较陌生,具有一定的难度,不过我们会尽最大努力将它设计成功,让数码相框在图片显示的同时配上优美的音乐。音乐模块返回主界面播放列表右击播放所选歌曲选择下一首选择上一首 图3音乐播放流程图3功能实现(1)开发工具的选择:本课程设计采用嵌入式Linux作为软件开发平台。在Linux操作系统平台上有多种嵌入式图形界面开发工具可供使用,主要包括MicroWindows、MuniGUI、TinyX和Qt/Embedded
8、等几种。本课程设计将集中讨论在Qt/Embedded系统上数字相框的实现技术。操作系统:Ubuntu9.10 QT Creator.QT/Embeded界面介绍: 当前嵌入式Linux在手机、PAD等手持信息设备领域的应用十分广泛。各种手持设备是否拥有图形用户办(GUI)已经成为其人机交互技术的关键体现,所以一个十分友好的图形用户界面(GUI)是必不可少的。由于嵌入式系统硬件本身的多样性,嵌入式GUI应具备高度可移植性与可裁减性。(2)文件管理 共使用四个文件夹 image:用于存放所有要演示的图片 freetype-2.3.11:用于存放处理文字所需的工具 jpeg-8:用于存放处理图片所需
9、的工具 src:用于存放我们编写的各种函数。如:特效函数,主函数,Makefile函数等。(3)图片显示:设置图片不透明:effect.cppeffect:effect() setEffectType(opacity); setStartValue(1.0); setEndValue(1.0); setDuration(10); setDirection(QAbstractAnimation:Forward); m_easingCurve=QEasingCurve:Linear;设置图片预览的时间:int sequenceModel:duration()(4)WAV音乐: soundengin
10、e.cppvoid slideShowEngine:startSound() QSound bells(“G:/he.wav”);bells.play(); (5)图片的特效播放:直接画图,Int draw_jpeg0(fb_info fb_inf,u32_t *buf32, char *filename);百叶窗,int draw_jpeg4(fb_info fb_inf,u32_t *buf32, char *filename); 四周到中间,int draw_jpeg8(fb_info fb_inf,u32_t *buf32, char *filename);首先设置第一个图片的Ente
11、r Effect 的属性: rotation Forward OutInquad 开始坐标和结束坐标都为0。Display Effect 的属性: scale Forward OutInQuad Start Val的值为6。Duration的值为3000。Exit Effect的属性为:pos Forward InOutQuad 其中的所有坐标都为0;设置第二个图片的Enter Effect 的属性: rotation Forward OutInquad 开始坐标和结束坐标都为0,Duration 为500。Display Effect 的属性: rotation Forward OutInQ
12、uad End Val的值为360。Duration的值为4000。Exit Effect的属性为:pos Forward InOutQuad 其中的所有坐标都为0;设置第三张图片的属性值:pos Forward OutInQuad .End Point F 为600,600.End Val 值为650 Duration 值为3500。Display Effect 的值为:opacity Forward OutQuad 值都为0.Exit Effect 属性的值为:pos Forward OutQuad 值为0.设置第四张图片的属性值:Enter Effect 属性的值:pos Forward
13、 Linear Duiation的值为500.Display Effect的属性值为:pos Forward InCubic End Val的值为650.Duiation的值为3700.Exit Effect的属性值为:pos Forward OutQuad 值都为0。(6)停止图片的播放:void slideShowEngine:stop() m_currentState=Stopped; endOfSlideShow();(7)设置图片的属性: duration图片显示的时间:int sequenceModel:duration() node itemNode; int totalTime
14、=0; for(int i=0; irowCount();i+) itemNode=m_sequence.at(i); totalTime+=itemNode.enterEffect().duration(); totalTime+=itemNode.displayEffect().duration(); totalTime+=itemNode.exitEffect().duration(); return totalTime;插入图片:insertRowbool sequenceModel:insertRow (int row, const QModelIndex &parent) Q_UN
15、USED(parent); beginInsertRows(QModelIndex(), row, row +1); node item; m_sequence.append(item); setModified(true); endInsertRows(); return true; 图片的保存:void sequenceModel:save(const QString &filename) / queste sono operazioni lunghe. ci vuole una progress bar QFile file(filename); if(!file.open(QIODev
16、ice:WriteOnly) qDebug() tr(cannot open file for writing: ) qPrintable(file.errorString() endl; return;(8)U-boot的移植 建立工作目录 下载源码Uboot的源码:u-boot-2009.11.tar.bz2 #mkdir/root/build_uboot #cd/root/build_uboot把下载的源码拷贝到该目录,解压:并把解压后目录更名为u-boot#tar jxvf u-boot-2009.11.tar.bz2#mv u-boot-2009.11 u-boot创建主代码 复制b
17、oard/Samsung/smdk2410 目录为board/Samsung/gec2440#cp arf board/Samsung/smdk2410 board/Samsung/gec2440并修改目录下的Makefile将COBJS:=smdk2410.o.flash.o 修改为COBJS:=GEC2440.O.flash.o复制include/config/smdk2410.h为include/config/gec2440.h #cp include/config/smdk2410.h include/config/gec2440修改顶层Makefile: 创建目标板信息,在smdk2
18、410_config:unconfig$(MKCONFIG)$(:_config=)arm arm920tSmdk2410 samsung s3c24x0 后面添加gec2440_config:unconfig$(MKCONFIG)$(:_config=)arm arm920t gec2440 samsung s3c24x0 修改Makefile规则,将_LIBS:=$(subst$(obj),$(LIBS)$(subst$(obj),$(LIBBOARD)改为:_LIBS:=$(subst$(obj),$(LIBBOARD)$(subst$(obj),$(LIBS)进入目录配置编译配置#ma
19、ke gec2440_config#make编译结果生成u-boot.bin烧入开发板关于触摸板驱动移植 添加代码:将touchscreen驱动源码gec2440_ts.c(复制drivers/input/touchscreen目录下的s3c2410_ts.c)添加到linux-2.6.30源码目录drivers/input/touchscreen中。将ADC驱动源码gec2410_adc.c(复制drivers/char目录下的adc.c)及头文件s3c24xx-adc.h添加到linux-2.6.30源码目录drivers/char中。修改drivers/input/touchscreen
20、/Makefile文件。#vim drivers/input/touchscreen/MakefileObj-$(CONFIG_TOUCHSCREEN_GEC2440) +=gec2440_ts.修改drivers/input/touchscreen/Kconfig文件#vim drivers/input/touchscreen/Kconfig添加Config TOUCHSCREEN_GEC2440 Tristate”GEC2440 touchscreen input driver” Help Say Y here if you have the s3c2440 touchscreen.修改d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 嵌入式 系统 数字 设计 大学 课程设计 说明书 学位 论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。