嵌入式课程设计报告1.doc
《嵌入式课程设计报告1.doc》由会员分享,可在线阅读,更多相关《嵌入式课程设计报告1.doc(22页珍藏版)》请在咨信网上搜索。
1、湖北汽车工业学院Hubei Automotive Industrise institute课程设计说明书课程名称: 嵌入式系统 设计题目: 数字相框 班号:T623-1 学号:20060230116专业: 计算机科学与技术学生姓名 姜李阳 指导老师(签字)起止日期 2009 年 12 月 28日 2010年 1月 10日一嵌入式课程设计概述1.1 课程设计实验平台简介1、硬件:UP-TECHPXA270-S嵌入式实验平台、PC机Pentiumn500以上, 硬盘10G以上。2、软件:PC机windows平台虚拟机REDHAT LINUX 9.0MINICOMARM-LINUX开发环境3、嵌入式
2、Linux开发平台UP-TECHPXA270-S实验仪器介绍。a、硬件配置UP-TECHPXA270的硬件配置如下表1所示:表1 UP-TECHPXA270-S的硬件配置配置名称型号规格主CPUIntel XScale结构芯片PXA270工作频率520MHz辅CPULPC2119 ARM7TDMI-S扩展AD,CAN功能,扩展IO口以太网DM9000支持IEEE802.3的10M/100bps模式NOR FLASHIntel E28F128J3A16位,16MNAND FLASHK9F120864M内存SDRAMHY56162032x264MLCDSHARP LQ080 TFT8寸真彩液晶屏,
3、640X480分辨率触摸屏GK80Burr Brown ADS7846USB主从接口飞利浦ISP1161四个USB主接口,一个USB从接口串口RS2322个通用串口视频口VGA外接符合VGA标准的视频输出irDA红外线HSDL3600 双向Agilent兼容SIR和FIR协议调试接口JTAGJTAG烧写Flash音频编解码器Cirrus Logic Crystal CS420120位数模转换,18位立体声模数转换32位扩展总线接口GPIO 和UP-TECHARM2410-S平台兼容CF卡接口PCMCIA总线支持SD卡接口MMC控制器支持IDE硬盘接口PCMCIA卡接口 b、UP-TECHPXA
4、270-S开发平台逻辑框图如下图1所示:图1 UP-TECHPXA270-S开发平台逻辑框图二课程设计目的开设本课程设计的目的是,通过本课程设计,提高学生的分析问题、解决问题的能力,巩固嵌入式系统的基本理论知识,进一步了解和掌握课程中所讲授的概念,方法。同时通过本课程设计,全面综合应用所学过的基础知识,建立一个完整的嵌入式系统的开发过程的概念,并掌握其中的主要原理和方法本课程设计的目的是通过开发一个消费类电子产品数字相框,了解嵌入式产品开发的主要步骤,包括需求分析、系统结构设计、图形界面设计、驱动程序、功能优化、系统测试等,从而培养学生独立完成比较复杂的实际系统设计的能力。三课程设计内容和要求
5、3.1设计的内容作为一个消费类电子产品,数码相框整个系统要完成的基本功能大致如下:1、用户界面友好,操作简便。由于该产品的使用者大多是非专业人士,用户界面是否清晰明了、操作是否简捷方便成为用户是否能迅速接受此产品的重要因素。2、数字相框的功能应包括以下方面:(1)在LCD屏上全屏循环显示多幅图像文件;(2)根据设定的时间间隔更新图像;(3)显示时间、日期;(4)通过按钮进行操作;3.2 要求本课程设计要求学生根据实际应用的特点对产品进行完整的需求分析,形成比较完善的总体设计方案。同时,要求学生具备Linux操作系统下简单的设备驱动程序开发、图形用户接口设计的能力。此外,还要求读者掌握基本的系统
6、功能及性能测试技术,从而具备比较全面的嵌入式应用系统开发能力。四总体设计主要步骤和方法根据数字相框的主要特点和设计功能那个要求,我们将课设分为以下几个步骤:4.1、数字相框软硬件平台的选择性能方面,由于数字图像的解码算法比较复杂,而且大量图片需要从外部Flash存储器中读取,所以对嵌入式微处理器的性能要求比较高。外部接口方面,该芯片最好能在外围直接支持CF卡的Compact Flash接口,还应提供按钮、LCD显示屏、触摸屏、声音输出通道等。在本课程设计中,采用了Intel的PXA270作为微处理器,完全能满足上述硬件平台的要求。数字相框属于消费类电子产品,对价格比较敏感,而嵌入式Linux操
7、作系统上有比较丰富的软件资源、驱动程序和开发工具,因此本课程设计采用嵌入式Linux作为软件开发平台。在Linux操作系统平台上有多种嵌入式图形界面开发工具可供使用,主要包括MicroWindows、MuniGUI、TinyX和Qt/Embedded等几种。本课程设计将集中讨论在Qt/Embedded系统上数字相框的实现技术,当然也可以通过其他图形开发界面工具实现数字相框功能。4.2、数字相框的软件总体设计数字相框软件系统功能可以划分为三个模块:1)图片浏览模块,可以通过按键控制选定某个图像或更新图像页(上一页、下一页)。2)播放模块,对浏览界面选定的图片进行循环播放。3)系统设置模块,可设置
8、循环播放更换频率等。4.2.1、功能模块组织架构图功能模块图片浏览模块图片播放模块系统设置模块图片浏览模块上一张图片下一张图片缩 小 图 片扩 放 图 片图片播放模块系统设置模块快速播放图片中速播放图片慢速播放图片4.3、基于Qt的图形界面程序设计本设计中包括了浏览、循环播放和配置三个界面模块。这些模块之间需要进行通信,利用Qt提供的信号/槽机制很好地解决了这几问题,每个模块中都有自己定义的一些信号和槽,已发送给其他模块或者从其他模块接受到对应信号后作出响应。数字相框在初始化时会扫描指定目录下(包括子目录)的所有支持图片文件,并将其存放在列表中,以备之后的浏览界面生成缩略图。本系统使用Qt提供
9、的QDir类实现遍历目录的功能,在遍历目录的同时通过设置文件类型过滤位来获得指定文件,并使用一个双向的字符串指针链表来记录扫描得到的结果。五.详细设计根据以上的分析,将程序分为2个部分:一部分为用户界面层、一部分为功能模块层。5.1用户界面层代码设计如下定义头文件库window.h作用于:该类中的函数、用于实现用户界面层的工作按钮添加信号触发槽#ifndef WINDOW_H#define WINDOW_H#include #include class RenderArea;class Window : public QWidget Q_OBJECTpublic: Window(); Rend
10、erArea *renderArea; / RenderArea对象用于显示图片private:protected: void keyPressEvent(QKeyEvent *event); private slots:void start(); void start1(); void start2(); void predisplay(); void nextdisplay(); void big(); void small();#endif用户层图形界面与按钮信号槽功能实现代码:#include window.h#include #include renderarea.hWindow:W
11、indow() renderArea = new RenderArea; QPushButton *frontbutton=new QPushButton(pre); /“上一张图片”按钮 QPushButton *nextbutton=new QPushButton(next); /“下一张图片”按钮 QPushButton *startbutton=new QPushButton(Fstart); /“快速播放”按钮 QPushButton *startbutton1=new QPushButton(Mstart);/“中速播放”按钮 QPushButton *startbutton2=n
12、ew QPushButton(Sstart);/“慢速播放”按钮 QPushButton *b=new QPushButton(big);/“扩放图片”按钮 QPushButton *s=new QPushButton(small);/“缩小图片”按钮 QPushButton *exitbutton=new QPushButton(exit);/“退出”按钮 QHBoxLayout *belowlayout=new QHBoxLayout;/水平布局 QHBoxLayout *belowlayout1=new QHBoxLayout; QVBoxLayout *mainlayout=new Q
13、VBoxLayout;/垂直布局 belowlayout-addStretch(); belowlayout-addWidget(frontbutton); belowlayout-addWidget(nextbutton); belowlayout-addStretch(); belowlayout-addWidget(startbutton); belowlayout-addWidget(startbutton1); belowlayout-addWidget(startbutton2); belowlayout-addStretch(); belowlayout-addWidget(b)
14、; belowlayout-addWidget(s); belowlayout-addStretch(); belowlayout-addWidget(exitbutton); belowlayout1-addWidget(renderArea); mainlayout-addLayout(belowlayout1); mainlayout-addLayout(belowlayout); this-setFocusPolicy(Qt:ClickFocus); frontbutton-setFocusPolicy(Qt:NoFocus); nextbutton-setFocusPolicy(Qt
15、:NoFocus); startbutton-setFocusPolicy(Qt:NoFocus); startbutton1-setFocusPolicy(Qt:NoFocus); startbutton2-setFocusPolicy(Qt:NoFocus); b-setFocusPolicy(Qt:NoFocus); s-setFocusPolicy(Qt:NoFocus); this-setFocusPolicy(Qt:ClickFocus); exitbutton-setFocusPolicy(Qt:NoFocus); setLayout(mainlayout); setWindow
16、Title(tr(Digital photo frame); connect(frontbutton,SIGNAL(clicked(), this,SLOT( predisplay() ); /单击按钮触发函数 connect(nextbutton,SIGNAL(clicked(), this,SLOT(nextdisplay(); connect(startbutton,SIGNAL(clicked(), this,SLOT(start(); connect(startbutton1,SIGNAL(clicked(), this,SLOT(start1(); connect(startbut
17、ton2,SIGNAL(clicked(), this,SLOT(start2(); connect(b,SIGNAL(clicked(), this,SLOT(big(); connect(s,SIGNAL(clicked(), this,SLOT(small(); connect(exitbutton,SIGNAL(clicked(),this,SLOT(close();void Window:predisplay() renderArea-pre_area();void Window:nextdisplay() renderArea-fun_area();void Window:star
18、t() renderArea-Start(1);void Window:start1() renderArea-Start(2);void Window:start2() renderArea-Start(3);void Window:big() renderArea-Big();void Window:small() renderArea-Small();void Window:keyPressEvent(QKeyEvent *event) if ( event-key() = Qt:Key_Right) predisplay(); if ( event-key() = Qt:Key_Lef
- 配套讲稿:
如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。