粤嵌开发板电子相册嵌入式课程设计.doc

上传人:xin****828 文档编号:6700985 上传时间:2020-03-02 格式:DOC 页数:29 大小:1.65MB
返回 下载 相关 举报
粤嵌开发板电子相册嵌入式课程设计.doc_第1页
第1页 / 共29页
粤嵌开发板电子相册嵌入式课程设计.doc_第2页
第2页 / 共29页
粤嵌开发板电子相册嵌入式课程设计.doc_第3页
第3页 / 共29页
点击查看更多>>
资源描述
课程设计说明书 题 目 电子相册 课程名称 嵌入式系统 学 院 专 业 学 号 姓 名 指导教师 完成日期 2017 年 6 月 10 日 目 录 1 设计的工程背景 2 1 1 任务阐述 2 1 2 任务分析 2 1 3 课题项目管理计划进度表 3 2 工程设计方案 3 2 1 系统方案设计 3 2 2 硬件电路设计 5 2 3 软件程序设计 5 3 方案实施 6 3 1 软件程序调试过程 6 4 结果与结论 12 4 1 设计结果 12 4 2 结论 13 5 收获与致谢 14 6 参考文献 15 7 附件 16 附件 1 答辩问题回答记录表 27 1 设计的工程背景 1 1 任务阐述 设计任务 制作一个电子相册 要求每个人一种特效 结果显示在 ARM 开发板上 开发 平台为 LINUX 电子相册简介 以数字照片的存储和浏览为主要功能 具有内置数据存储器 USB 等卡接口 强大的文件管理等特征 背景 在市场需求上 随着数码相机的普及 作为一种以数字照片的保存 回放和浏 览为核心的功能产品迎合了消费者需求 嵌入式 linux 的电子相册比一般电子相册更 具优越性和实用性 目前市场 目前主流电子相册软件普遍体积庞大 占用内存多 硬件要求高 所以开发一个运行速度快 占用空间小 对硬件要求较低的功能实用 的嵌入式 Linux 电子相册很有意义 Linux 开发优势 Linux 是一种自由和开放源码的类 Unix 操作系统 目前存在着许多不同的 Linux 但它们都使用了 Linux 内核 Linux 可安装在各种计算机硬件设备中 从手机 平板电脑 路由器和视频游戏控制台 到台式计算机 大型机和超级计算机 Linux 是一个领先的操作系统 世界上运算最快的 10 台超级计算机运行的都是 Linux 操作 系统 严格来讲 Linux 这个词本身只表示 Linux 内核 但实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核 并且使用 GNU 工程各种工具和数据库的操作系 统 Linux 是我国软件的国策 尤其是在 IT 行业 庞大的使用群体 开放的体系 和丰富资源使得 Linux 将是日后普及和推广的重点 Linux 的优越性日益凸显 Linux 将是我们学习和工作实用的首选 目前 很多网络技术 服务器 网络设备都是基 于 Linux 操作系统 并且在不少时尚的手机 PDA 媒体播放器等消费类电子产品 中已经广泛使用 Linux 作为操作系统 在 Linux 软件国策的指引下 Linux 已经得到很大的普及 很多学生已经自发地 通过书籍 互联网等资源学习 Linux 综上所述 提高技术水平就是以市场流行 需求为导向进行研发 特别是像嵌入式种工程类的技术 在条件允许的情况下 我 们甚至应该时刻与国际接轨 掌握当前最领先的技术 1 2 任务分析 设计的目标是制作 5 种电子相册特效 每个人负责制作一种 在制作前期 首 先要查阅资料 了解电子相册的背景和制作原理 对其形成大致的设计方案 然后 根据资料安装 linux 和虚拟机软件 搭建开发环境 安装交叉编译 最后 根据自己 设计的方案进行尝试 不断修改错误 直到达到目标 1 3 课题项目管理计划进度表 序 号 各阶段完成的内容 完成时间 1 查阅相关文献资料 课题调研 2017 5 20 2017 5 23 2 掌握设计软件 制订进度计划 2017 5 23 2017 5 27 3 系统方案的比较和选定 2017 5 27 2017 5 28 4 编写实现特效的代码 2017 5 29 2017 6 5 5 编译 运行目标文件 查看结果 根 据结果进行代码的修改 2017 6 05 2017 6 08 6 制作答辩 PPT 2017 6 08 2017 6 09 7 撰写课程设计说明书 2017 6 09 2017 6 11 8 答辩 2017 6 12 2 工程设计方案 2 1 系统方案设计 目前市场上的主要设计方案 单芯片解决方案 以单芯片的解决方案 以 ESS AMLOGIC MPX 等芯片设计为代表 PHILIP Sony 等品牌厂商也以该方式为主 该方案的优点 1 结构简单 成本低 芯片功能强大 2 多媒体的编解码速度快 该方案的缺点 1 可扩展的余地不足 2 对读卡部分 某些方案使用硬件实现 不能支持新类型的卡 3 应客户要求的二次开发比较不方便 以 DSP FPGA 等硬件为基础 用软件算法实现功能 这种方案 是以 DSP 来实现多媒体部分的编解码算法 再由 FPGA 实现显示输 出格式的算法转化 读卡部分 文件系统部分由 DSP 软件处理 外围设备大的驱动 由 DSP 的软件算法实现 这种方案的优点 功能扩展升级性强 软件实现读卡部分 新的类型卡 外围设备可以通过升级 方式实现 这种方案的缺点 1 整体成本比较大 2 客户二次开发难度大 DSP 和 FPGA 的算法实现需要专业人员 3 显示输出由 FPGA 实现 该类输出大部分是数字的输出 模拟输出支持比 较弱 ARM 核心方案 以 ARM 等强大的 CPU 为核心 以 WINCE LINUX 等操作系统为软件核心架 构系统 此方案以 ARM 如 S3C2410 Intel xscale 等强大的嵌入式 CPU 为架构 速 度在 200M 300MHZ 嵌入 WINCE LINUX 等操作系统 实现多媒体的编解码 该方案的优点 1 系统芯片功能强大 实现的功能多 对于新的多媒体格式支持好 只需要 安装更新的软件 2 硬件电路简单 3 二次开发容易实现 该方案的缺点 1 成本较大 该类强大的 CPU 一般使用在 PDA 等嵌入式领域 2 比较 耗电 使用软件解码功耗与频率相关性很大 本设计选用的是第三种方案 以 Cortex A8 为核心 以 Linux 操作系统为软件核 心架构 基于 Cortex A8 的微处理器具有低功耗 低成本 高性能等特点 GEC210 开发板简介 GEC210 是一款高性能的 Cortex A8 核心板 它由广州粤嵌股份设计 生产和发 行销售 它采用三星 S5PV210 作为主处理器 运行主频可高 1GHz S5PV210 内部 集成了 PowerVR SGX540 高性能图形引擎 支持 3D 图形流畅运行 并可流畅播放 1080P 大尺寸视频 GEC210 主要采用了 2 0mm 间距的双排针 引出 CPU 大部分常用功能引脚 另外还根据 S5PV210 芯片的特性 分别引出了标准的 miniHDMI 接口 如图所示 GEC210 板载 512M DDR2 内存 可流畅运行 Android Linux 和 WinCE6 等高级 操作系统 它非常适合开发高端物联网终端 广告多媒体终端 智能家居 高端监 控系统 游戏机控制板等设备 图 2 1 GEC210 开发板 a 图 2 2 GEC210 开发板 b 2 2 硬件电路设计 粤嵌 GEC210 开发板为硬件平台 Ubuntu 为开发环境 通过串口进行文件的传 输 在工程师给定的项目基础函数上 通过修改和运用 void lcd draw bmp char name int x0 int y0 int w int h 函数实现图片位置 大小的改变 再加上延时函数 的运用 实现五种图片特效 图 2 3 硬件总框图 2 3 软件程序设计 总设计方案 ARM 芯片 Cortex A8 时钟电路 LCD 显示 USB 接口 电路 3 方案实施 3 1 软件程序调试过程 安装虚拟机和 linux 软件 搭建环境和安装交叉编译 1 找到 ubuntu 系统工作目录 大 层叠 图形浮现大小及位置 小 反转 反转函数 大 图 3 1 2 在 windos 系统下找到该工作目录并创建一个文件夹 将 arm 2009q3 tar bz2 复 制过去 图 3 2 3 启用共享文件夹 图 3 3 4 主机路径为 windos 系统下 arm 2009q3 tar bz2 的目录 名称自动生成 图 3 4 图 3 5 5 可以在文件系统中 mnt hgfs share 目录下看到这些 图 3 6 6 为了可以将 arm 2009q3 tar bz2 复制到 opt 目录下 opt 默认所有者为 root 所以要更改 opt 的所有者为我登陆的账户 图 3 7 7 将文件复制到 opt 目录下 图 3 8 8 执行如下解压命令 聚焦逐现特效部分调试 原本打算做图片翻转的特效 在网上查到图片翻转特效的算法并经过修改如下 24bit to 32bit for x 0 y 800 480 4 1 x 800 480 3 x 3 pic mem y 3 bmp mem x pic mem y 2 bmp mem x 1 pic mem y 1 bmp mem x 2 y 4 但是在调试时总是出错 寻找最终的原因 应该是图片转换为矩阵时和图片翻 转之间的步骤有误 导致调试时一直报错 因此转变设计方案 先确定所要出现图 片的位置 再通过在不同位置处显示不同图片的大小依次出现达到一个三维视觉动 态效果 最后经过反转函数实现图片的反转 在制作过程中想要加入音乐 但是由 于时间有限就未能实现 图片显示函数如下 显示一张 24 位的 bmp 图片 图片的宽度必须为 4 的倍数 void lcd draw bmp char name int x0 int y0 int w int h int fd fd open name O RDWR if 1 fd printf open s error n name return 图片反转函数如下 位运算 int x y k i 0 for y 0 y 0 x b ch i g ch i 1 r ch i 2 i 3 color r 16 g 8 b lcd draw point x x0 h y y0 color 显示界面调用函数如下 显示 BMP 图片 lcd draw bmp zs bmp 1 1 796 477 delayms 3000000 lcd draw bmp zsone bmp 100 60 600 360 delayms 3000000 lcd draw bmp zstwo bmp 200 120 400 240 delayms 3000000 lcd draw bmp zsthree bmp 300 140 200 200 delayms 3000000 lcd draw bmpop zs bmp 1 1 796 477 图片效果的速度可通过改变延时函数的时间来改变 4 结果与结论 4 1 设计结果 设计结果实现了以下 4 点 1 在 LCD 上显示图片 文字 2 关于 GEC210 芯片的使用 Ubuntu 环境下的操作 3 可随时更换图片 具有串行通信功能 4 聚焦逐现图片特效 效果分布展示如下 图 4 1 开始界面 图 4 2 逐步缩小界面 图 4 3 放大反转界面 4 2 结论 设计优缺点 1 实现了多种不同的图片播放特效 2 二次开发容易实现 3 图片的自动播放 4 未实现手动播放和音乐功能 设计的核心及工程实用价值 随着数码相机的大量普及和人们对多媒体播放的需求 不同用户的计算机中存 满各种照片 连桌上相框中照片的更换频率也提高了 对数码相片进行便捷的显示 分享 编辑 删除 打印等操作逐渐成为市场的需求 电子相框 数码伴侣等概念 型产品逐渐出现在数码市场 电子相册也由概念型产品进入市场已有六 七年 目 前 电子相册产品主要应用于礼品市场 其真正的目标用户却是非常广的 并且它 的最终消费人群应该是以家庭为主的普通消费者 其应用的领域将更广阔 改进意见 1 实现通过触屏实现图片特效间的切换 2 音乐播放功能的增加 3 多张图片合成一张图片播放功能的实现 展望 电子相框结合液晶显示技术 电视技术 数字存储技术 日益成为面向时尚个 性的数码相机 数码摄像的最佳伴侣 随着核心器件 NandFlash 和 LCD 屏的降价 必将进一步刺激电子相框的市场需求 多功能电子相册方便携带 重量轻 样式丰富 在今后必定有更大发展空间 5 收获与致谢 在本次设计开始前 我们最先开始的是查资料 通过查找资料了解图片显示和 各种特效的实现原理 然后再自己尝试设计特效 一开始我们想的特效都很复杂 想要一步实现 尝试了很多方法 都没能成功 最后 我们改变了思路 用图片逐 层显示来实现动态过程 这个特效虽然简单 但它是复杂特效的一个基础 让我明 白了复杂的设计要从简单开始 不能想着一口吃个大胖子 到答辩前一天我们各自 设计的特效才有了一点自己想要的效果 当时还很想实现触屏和音乐播放功能 但 前期尝试时一直调试不成功所以就没有来得及实现 这是本次设计中的一个遗憾 通过本次设计也更加熟悉了 linux 的操作流程 熟悉了做实验中的搭建环境和交 叉编译 开始时很多步骤都记不太清楚了 所以又复习了一遍以前的实验 在这里 我体会到了平时的学习都是为了以后的复杂工程做铺垫 让我们能更好的解决一些 设计工程 理论是基础 只有基础打好了 上层建筑才会更加稳和顺利 同时完成 了图片在 LED 屏上的显示和聚焦逐现特效 在显示图片的操作上 开始屏幕总是会 花 显示的图片不理想 后来仔细看了工程师给的显示图片代码和清屏代码 通过 和同学商量最终完成了图片的显示 在特效的实现过程中 一开始很想做一个立体 的炫酷的特效 也通过查找资料理解了其原理和算法实现流程 但在调试时总是不 成功 在这里用了很长时间 最后 改变了设计思路 觉得应该从简单的开始做 再一步步增加功能 通过和同学的商量与摸索 终于实现了简单的特效 虽然从设 计到实现的过程有很多困难 但是体会到了和同学一起完成同一个任务的快了 也 收获了很多课本上没有的知识 体会到了实践的乐趣 在此 感谢我的队友给予的帮助 老师和粤嵌工程师给的平台和机会 尤其是 粤嵌工程师给我的学习指导 6 参考文献 1 童凯 基于Linux以及Qt的网络电子相框设计与实现 D 电子科技大学 2014 2 林锋 基于ARM7TDMI 芯片的嵌入式LINUX 交叉调试器的设计和实现 D 四川大学 2002 3 王浩 陈邦琼 嵌入式Qt开发项目教程 M 中国水利水电出版社 2014 4 梁融凌 余昌嵩 基于嵌入式 Linux 电子书的设计与实现 J 牡丹江师范学院学报 自然科学 版 2014 4 12 14 5 Yan H Liu L Xue T SPLIT SCREEN PROCESSING METHOD AND DEVICE AND COMPUTER STORAGE MEDIUM WO 2015 123937 P 2015 6 燕丽红 林志雄 杨星 基于Windows 7操作系统和Qt技术的电子相册设计Design of electronic photo album based on Windows 7 operating system and QT J 现代电子技术 2013 7 范定焓 基于ARM9 平台的便携式媒体播放器的设计与开发 D 复旦大学 2009 8 朱涛 一种基于互联网络的电子相册 CN CN 201846349 U P 2011 9 范定焓 基于ARM9 平台的便携式媒体播放器的设计与开发 D 复旦大学 2009 10 Zhu M CATERING INFORMATION SYSTEM BASED ON DIGITAL MENU SUPPORTING CARD SWIPING WO 2013152620 A1 P 2013 11 杨燕 陈祝 一种基于Cortex内核的家用电子相册设计 C 2014 全国半导体器件产业发展 创新产品和新技术研讨会暨第七届中国微纳电子技术交流与学术研讨会 2014 7 附件 1 答辩问题回答记录 必需 问 有没有实现手动播放功能 答 没有 目前我们完成的只有自动播放和图片替换功能 2 元器件清单 粤嵌 GEC210 开发板 安装有虚拟机和 LINUX 的电脑 3 设计代码 NAME open and possibly create a file or device SYNOPSIS include include include int open const char pathname int flags int open const char pathname int flags mode t mode file descriptor 文件描述符 include include include include include include for open include include include include for close int plcd NULL char wo 0 x04 0 x40 0 x0E 0 x50 0 x78 0 x48 0 x08 0 x48 0 x08 0 x40 0 xFF 0 xFE 0 x08 0 x40 0 x 08 0 x44 0 x0A 0 x44 0 x0C 0 x48 0 x18 0 x30 0 x68 0 x22 0 x08 0 x52 0 x08 0 x8A 0 x2B 0 x06 0 x10 0 x02 void lcd draw point int x0 int y0 int color plcd y0 800 x0 color 在顶点为 x0 y0 的位置开始显示一个颜色矩形 矩形的宽 度为 w 高度为 h 颜 色为 color void lcd draw rect int x0 int y0 int w int h int color int x y for y y0 y y0 h y for x x0 x x0 w x lcd draw point x y color 把 lcd 清成 color 颜色 void lcd clean screen int color int x y for y 0 y 480 y for x 0 x 800 x lcd draw point x y color void delayms int xms int i j for i 0 i 0 j 显示一张 24 位的 bmp 图片 图片的宽度必须为 4 的倍数 void lcd draw bmp char name int x0 int y0 int w int h int fd fd open name O RDWR if 1 fd printf open s error n name return 1 跳过前 54 个 byte lseek fd 54 SEEK SET char ch w h 3 read fd ch sizeof ch close fd lcd 的像素点占 4byte 24 位 bmp 3byte int color char r g b 位运算 int x y i 0 for y 0 y h y for x 0 x w x b ch i g ch i 1 r ch i 2 i 3 color r 16 g 8 b lcd draw point x x0 h y y0 color delayms 1 显示一张 24 位的 bmp 图片 图片的宽度必须为 4 的倍数 左右颠倒 void lcd draw bmpop char name int x0 int y0 int w int h int fd fd open name O RDWR if 1 fd printf open s error n name return 1 跳过前 54 个 byte lseek fd 54 SEEK SET char ch w h 3 read fd ch sizeof ch close fd lcd 的像素点占 4byte 24 位 bmp 3byte int color char r g b 位运算 int x y k i 0 for y 0 y 0 x b ch i g ch i 1 r ch i 2 i 3 color r 16 g 像素点的个数 len 8 已知 字的宽度 高度 len 8 w high len 8 w 64 int flag flag w 8 4 for i 0 i 0 j if ch i j else lcd draw point 8 i flag 7 j x i flag y color int main int argc char argv int fd O RDWR 可读可写 fd open dev fb0 O RDWR if fd 1 if fd 1 if 1 fd printf open dev fb0 error n return 0 内存映射 吧一个文件或者设备映射到一个进程的 地址空间中 内存 在进程中操作这块映射的内 存就相当于操作 被映射的文件 plcd 存储了映射的地址空间的首地址 plcd mmap NULL 800 480 4 PROT READ PROT WRITE MAP SHARED fd 0 如何把 lcd 上的第 n 个像素点 显示成红色 plcd n 0 x00ff0000 如何把坐标为 x y 的像素点 显示成红色 plcd y 800 x 0 x00ff0000 如何把整个屏幕全部显示白色 循环 lcd clean screen 0 xFFFFFFFF 如何显示一个矩形 lcd draw rect 50 50 100 100 0 x00ff0000 显示 BMP 图片 lcd draw bmp zs bmp 1 1 796 477 delayms 3000000 lcd draw bmp zsone bmp 100 60 600 360 delayms 3000000 lcd draw bmp zstwo bmp 200 120 400 240 delayms 3000000 lcd draw bmp zsthree bmp 300 140 200 200 delayms 3000000 lcd draw bmpop zs bmp 1 1 796 477 初始化串口 int com fd init serial dev s3c2410 serial3 9600 lcd draw word wo 0 x00ff0000 32 16 100 100 monitor touch close fd return 0 5 实物上电效果图 图 7 1 效果图 1 图 7 1 效果图 2 图 7 1 效果图 3 附件 1 答辩问题回答记录表 学号 2014550808 姓名 陈茜茜 专业 班级 14 电子信息工程 4 班 老师所提问题 能不能手动播放 实现上一张下一张和暂停 学生回答问题 还未实现 我们只实现了图片显示 每人一种特效和自动播放以及照片替换 有尝试过实现手动播放和音乐播放 但是调试还没有成功 设计成绩评定 序 号 考核内容 评定权重 系数 评分 1 设计方案是否正确 是否有创新之处 0 2 3 硬件制作 软件程序设计是否规范 0 2 4 硬件运行结果是否正确 0 2 5 答辩成绩 0 1 6 设计报告是否规范 组织表述是否准确 清晰 0 3 加权总分 百分制成绩与等级制成绩对应关系如下 90 分 含 以上 优秀 80 含 90 之间 良好 70 含 80 之间 中等 60 含 70 之间 及格 60 分 以下 不及格 总 成 绩 指导教师 年 月 日
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!