(微电子学与固体电子学专业论文)数码相框图片浏览器设计与实现.pdf_第1页
(微电子学与固体电子学专业论文)数码相框图片浏览器设计与实现.pdf_第2页
(微电子学与固体电子学专业论文)数码相框图片浏览器设计与实现.pdf_第3页
(微电子学与固体电子学专业论文)数码相框图片浏览器设计与实现.pdf_第4页
(微电子学与固体电子学专业论文)数码相框图片浏览器设计与实现.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(微电子学与固体电子学专业论文)数码相框图片浏览器设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 当前,随着数码相机和具有高像素拍照手机的普及和大众化,一种以数码照 片的保存、回放和浏览为核心功能的产品,数码相框应运而生。通过数码相框的 图片浏览器直接浏览存储卡内的相片,并可以选择相片进行幻灯片模式播放,解 决了需要使用电脑才能查看数码照片的缺陷。 本课题来源于深圳海泰康微电子公司一款数码相框研发项目,该公司负责整 个软硬件开发工作。本设计的图片浏览器的软件结构由两个模块组成:图片预览 模块和幻灯片浏览模块。图片预览模块实现在同一屏幕上显示多张不同图片文件 的缩略图:幻灯片浏览模块由自动播放时的特效显示,手动播放时对图像进行旋 转、放大、平移变换处理等功能组成。从图片预览模块到幻灯片浏览模块的切换, 采用动态加载机制实现,其原理是当程序运行时,系统需要执行某部分功能代码 时,通过动态加载程序把这部分功能代码从外存空间加载到片内程序执行空间的 相应位置,这种机制有效地节约了系统片内存储器的资源。本图片浏览器在系统 运行1 6 0 m 环境下,通过实际调试、运行目标代码,表明总体上达到了项目预期的 设计指标,系统运行稳定、可靠。 本文首先介绍了本设计的项目背景及其发展情况;其次分析项目的软硬架构 及提出本图片浏览器的设计指标;接着构建图片浏览器的结构并给出了详细的设 计过程:然后分析图像处理理论基础,研究了图像的特效显示和图像变换在本浏 览器中的实现方法;最后提出了本图片浏览器还存在的不足、以及今后的改进方 向。 关键词:数码相框图片浏览器动态加载图像变换 a b s t r a c t a bs t r a c t n o w a d a y s ,w i t ht h em a s sp o p u l a r i t yo fd i g i t a lc a m e r a sa n dh i 曲- p i x e lc a m e r a p h o n e s ,o n ek i n d o fd i g i t a lp h o t of r a m ec a m ei n t ob e i n g ,w h o s ec o r ef u n c t i o ni s p r e s e r v a t i o n ,p l a y b a c ka n db r o w s i n go fd i g i t a lp i c t u r e s p i c t u r ev i e w e ro fd i g i t a lp h o t o f r a m ec a l lb r o w s ep i c t u r e si nm e m o r yc a r dd i r e c t l ya n dp l a ys l i d e sw i t ht h ec h o s e n p i c t u r e s t h i sp r o d u c ts o l v ed e f e c t sw h i c hd i g i t a lp h o t o sn e e dt ob ev i e w e db y c o m p u t e r s t h ei s s u es t e m sf r o mo n er & d p r o j e c to fd i g i t a lp h o t of r a m ei nh i - t e c hc o n s u m e r c h i ps o l u t i o ni n c ,s h e n z h e n t h es o f t w a r es t r u c t u r eo ft h i sp i c t u r ev i e w e rc o n s i s t so f t w om o d u l e s ,w h i c ha r ep i c t u r ep r e v i e w sm o d u l ea n ds l i d eb r o w s e r sm o d u l e p i c t u r e p r e v i e w sm o d u l ei m p l e m e n tt os h o wt h u m b n a i l so fd i f f e r e n tp i c t u r ef i l e si no n e s c r e e n ;s l i d eb r o w s e r sm o d u l ei sm a d eo fe f f e c t sd i s p l a yd u r i n gp l a y i n gp i c t u r e a u t o m a t i c a l l y , a n di m a g et r a n s f o r mp r o c e s s i n gd u r i n gp l a y i n gp i c t u r em a n u a l l yw h i c h i n c l u d e s i m a g er e v o l v i n g ,i m a g em a g n i f y i n g ,i m a g es h i r i n g d y n a m i cl o a d i n g m e c h a n i s mi sa d o p t e dt oa c h i e v es w i t c hf r o mp i c t u r ep r e v i e w sm o d u l et os l i d e b r o w s e r sm o d u l e p r i n c i p l ei sa sf o l l o w s :w h e nt h ep r o g r a mr u n s ,c e r t a i np a r t so ft h e f u n c t i o n a lc o d en e e dt ob ei m p l e m e n t e dt ol o a di n t oc o r r e s p o n d i n gl o c a t i o nf r o m e x t e r n a lr a m t op r o g r a ms p a c et h r o u g hd y n a m i cl o a d e r t h i sm e c h a n i s mc a ns a v et h e s y s t e mi n t e r n a lr a m r e s o u r c e se f f e c t i v e l y t h i sp i c t u r ev i e w e ra c h i e v e dt h ee x p e c t a b l e d e s i g ns p e c i f i c a t i o n si nt h es y s t e me n v i r o n m e n to f16 0 mt h r o u g hp r a c t i c a ld e b u g g i n g a n dr u n n i n gt h eo b je c tc o d e ,a n ds y s t e mw o r k ss t a b l ya n dr e l i a b l y i nt h i st h e s i s ,t h ep r o j e c tb a c k g r o u n d sa n dd e v e l o p m e n t so ft h i sd e s i g na r e i n t r o d u c e d s e c o n d l y , t h ep r o j e c th a r d w a r ea n ds o f t w a r ea r c h i t e c t u r ea r ea n a l y z e da n d d e s i g ns p e c i f i c a t i o n so fp i c t u r ev i e w e ri sp r o p o s e d t h i r d l y ,t h es t r u c t u r eo fp i c t u r e v i e w e ri se s t a b l i s h e d ,a n dt h ep r o c e s so fs o f t w a r es t r u c t u r ei sd e s i g n e dd e t a i l e d l y t h e n , t h e o r e t i c a lf o u n d a t i o n so ft h ei m a g ep r o c e s s i n ga r ea n a l y z e d ,r e a l i z a t i o nm e t h o do f i m a g ee f f e c t ss h o wa n di m a g et r a n s i t i o ni sr e s e a r c h e di nt h i sp i c t u r ev i e w e r l a s t l y , t h e s h o r t a g eo ft h i sp i c t u r ev i e w e ri sp o i n t e do u t ,a n dt h ed i r e c t i o no fi m p r o v i n g k e y w o r d :d i g i t a lp h o t of r a m e p i c t u r ev i e w e r d y n a m i cl o a d i n g i m a g et r a n s f o r m a t i o n 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名: 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 本人签名: 导师签名: 日期迎2 :2 = :埠 b 期幽! :! ; 第一章绪论 第一章绪论 1 1 论文背景与意义 随着照相机的普及,人们就开始面临着如何更有效的来储藏和分享越来越多 的照片的问题,特别是伴随着数码相机、拍照手机的问世和流行,人们获得影像 的能力得到了极大的拓展,几乎是随手可得。这么多的照片,再用传统的相册和 相框来保存、分享和欣赏,就成了很麻烦的事情。从应用的角度,人们迫切需要 一种能够查看、翻阅很多张照片而同时并不占据大量空间的图片浏览器来管理和 欣赏数码照片,于是数码相框应运而生,无须开启个人电脑就能通过数码相框的 图片浏览器直接浏览存储卡内的相片,并可以选择相片进行幻灯片模式播放。 在数码相框产生之初的目的,就是一个专用的图片浏览器设备,随着技术的 发展和市场需求,现在的数码相框越来越多功能化,成为一个多媒体播放器,但 在数码相框的开发中,图片浏览器的功能仍然是数码相框的重要指标。 1 2 数码相框和图片浏览器 1 数码相框 数码相框是展示数码相片而非传统纸质相片的相框,数码摄影必然推动数码 相框的发展,因为全世界打印的数码相片不到3 5 。数码相框通常直接插上相 机的存储卡展示照片,当然更多的数码相框会提供内部存储空间直接外接存储卡 功能。简而言之,数码相框是观看和分享数码照片的专用设备。 ( 1 ) 数码相框的种类 数码相框总体上可以分三类: ( a ) 简单功能数码相框( 只能展示j p e g 格式的图片) ; ( b ) 简单多媒体数码相框( 还能播放音乐和视频) ; ( c ) 高级多媒体数码相框( 通常支持无线8 0 2 1 1 连接,还能从网站甚至电子邮 件下载图片) 。 现阶段大多数数码相框以幻灯片( 一般有调整时间间隔的功能) 的形式展示 照片,同时还支持播放相机视频格式如m p g 的电影片段或m p 3 音频文件。 ( 2 ) 数码相框的主要部件 数码相框由三大部件组成:l c d 液晶屏、p c b 电路板和外框。液晶屏可以是模 拟的也可以是数字的,它们通过尺寸来区分。p c b 电路板是数码相框的核心,因为 2 数码相框图片浏览器设计与实现 它包含必须的软件。对于最终用户而言,外框是一个重要的标准。外框的材质通 常是塑料或木头的,有一些数码相框提供可更换的外框。 2 图片浏览器 图片浏览器,我们并不陌生,在我们的p c 机中,可以看到各式各样的图片浏 览应用程序。伴随着越来越多的数码相片,用电脑浏览越来越不方便,而通过数 码相框的图片浏览器无需电脑就可以用绚丽的画质显示数码照片,且很方便的携 带与随地进行照片浏览。 1 3 数码相框发展现状 数码相框由概念型产品进入市场至今,已经经历了7 、8 个年头。作为数码相机 及互联网不断飞速发展的衍生产物,今天已经被越来越多的普通消费者所接受。 1 数码相框市场成长的必然性 ( 1 ) 市场需求的必然性: 在上世纪末本世纪初,数码相机有了迅速的发展,普及型数码相机的分辨率 由2 0 0 万像素增长到现在的5 0 0 8 0 0 万像素,价格也由3 0 0 美元左右下降到了现在的 1 2 0 美元左右。 传统的便携和单反3 5 c m 相机已基本被数码相机替代基本退出市场。消费者拍 摄一冲洗胶卷一扩印照片的消费习惯已基本放弃。取而代之的是:数码相机的大 量使用,用各种存储器( 电脑硬盘、半导体存储器及可刻录光盘) 保存照片成为 大家习惯的做法,即使重印照片,其来源也大多来自数码相机。 因此,以各种电子显示器件如c r t l c d 等,用各种平台如t v p c d v d 等, 去做数字照片的回放和浏览,成为芯片方案厂商和消费者共同的方向。作为一种 以数字照片的保存、回放和浏览为核心功能的产品,数码相框自然迎合了消费者 的这一需求。 ( 2 ) 核心器件性能和价格的合理化刺激了市场的发展: 数码相框有三大核心器件:处理器,半导体存储器和l c d 显示屏。 随着基于a r m 的s o c 不断发展,数码相框所需要的创瑚+ j p e g 处理器技术已 为许多厂商所拥有,集成了u s bh o s t 及卡接口单元的产品也不鲜见;n a n d f l a s h 技术飞速发展,单位容量的价格在过去的6 年中约下跌了4 0 一5 0 倍;中小尺 寸的l c d 显示屏由于各种应用的市场需求成熟,在过去的2 年中,价格也下跌1 2 倍。 2 数码相框的市场正处在导入期和成熟期的交汇点 ( 1 ) l c d 显示屏的瓶颈 作为高分辨率数字相片的还原,要求l c d 显示屏有较高的分辨率以及采用逐 第一章绪论 行的显示模式,p h l i l i p s 的数码相框采用了7 2 0 x 4 8 0 的数字屏,而现在大多数厂商采 用的还是大量在传统视听设备上使用的模拟7 英寸屏,其分辨率等效为4 8 0 x 2 3 4 , 而且由于隔行扫描造成的帧抖动大大影响了静止图像的重现效果。 ( 2 ) 解决方案和产品正在成熟 目前市面上的解决方案,有沿用d v d 的处理器以软解码方式处理数字照片的, 也有s o c 的应用于相框产品的,高集成度的s o c 平台和方案成为主流。目前数码相 框主流方案主要归为三类: 第一类中高端解决方案,以三星、飞利浦,s o n y 、a t m e l ,a m l o g i c ( 晶晨半 导体) ,m x i c ( 旺宏电子) 代表的产品,性能普遍比较全面,在静态图片处理, 动态影像处理,音频处理,存储卡的支持,u s b 以及扩展功能上基本都做到了全 覆盖。a t m e l 的解决方案在功耗上做得很好,其功耗超低,且支持i d e 硬盘,可以 作为t vr e c o r d e r 成为一个亮点;a m l o g i c 的解决方案在音频处理上很出色,并且 其u s b 接口资源最为丰富,它也是高端方案中唯一能做蓝牙功能的;m x i c 的解 决方案在图片显示上最为出众,其6 4 0 0 万像素的图片解码非常适合大尺寸屏幕的 应用。 第二类中低端解决方案,以s u n p l u s ( 凌阳科技) ,e s s ( 亿世) ,z o r a n ( 卓然) , m t k ( 联发科) ,c h e e r t e k ( 其乐达) 代表的产品,这一类在图片显示效果上 存在共同的问题是对高像素图片的不支持,因而对于显示要求很高的大屏幕客户, 可能不太适合。这一类方案,在其他性能上的微小差异,因为有些客户可能会有 一些性能方面的硬性指标。尤其是在存储卡的支持方面,根据方案供应商的不同, 其存储卡的支持差别可能比较大。 第三类功能单一的一类,以s i g m a t e l ( 矽码特) ,w i n b o n d ( 华邦) 为代表的 产品,并不是指其性能不好。这类解决方案基本都是用嵌入式的构架来做数码相 框,其硬件图片解码性能十分出色,图片效果也比较好,可以与第一类相比,但 其他功能比较单一,比如都不能看任何格式的电影。对于某些市场定位,不能播 放电影可能是不被允许的。 另外,对于w i f i ( 无线上网) 和蓝牙的兴起,很多方案商开始开发支持这两 种功能的产品。a m l o g i c 和三星的产品中都支持蓝牙;而s i g m a t e l 支持w i f i 的。 ( 3 ) 今后几年将为处在数码相框产品链各段的企业带来巨大的商机未来几年, 数码相框的市场将处在逐渐走向成熟期的阶段,其产销量和市场需求依然将保持 大幅度的增长。 1 4 本论文工作 本论文是款数码相框的图片浏览器的软件设计实现,其主要工作是: 4 数码相框图片浏览器设计与实现 1 了解数码相框的硬件平台特性,掌握软件开发环境。 2 根据图片浏览器硬件平台特性和设计要求,构建图片浏览器的结构并进行 软件设计实现。 3 研究b m p 文件格式,图像变换及特效显示原理,完成图片浏览器支持b m p 文件的浏览以及图像的旋转、放大、平移、特效显示在本图片浏览器中的应用实 瑚。 本论文结构如下: 第一章介绍了项目的研发背景,阐述了开发图片浏览器的重要性。具体说明 了图片浏览器所存在的数码相框的市场需求。 第二章研究了本图片浏览器所在数码相框的硬件开发平台,详细分析了该平 台的硬件架构和软件架构,构建图片浏览器的开发基础,以及提出图片浏览器的 总体设计目标。 第三章主要提出图片浏览器的设计目标,根据硬件特性、软件架构,规划图 片浏览器的结构,并进行详细的设计实现。 第四章主要分析b m p 文件格式和y u v 图像格式和图像处理理论基础,实现 了b m p 文件的显示,以及图片浏览器的图像旋转、放大、平移、特效显示基本功 能的实现。 第五章在对所做工作总结的基础上,对今后的工作做了展望。 第二章数码相框系统架构 第二章数码相框系统架构 本章系统的介绍数码相框硬件开发平台,详细的分析该平台的硬件架构和软 件架构,以及提出图片浏览器的主要功能。下面对其整体架构、内部各模块及主 要功能进行阐述。 2 1 数码相框硬件架构 本设计整个硬件平台包括处理内核、存储器、l c d 以及一些可扩展的外围电 路。对此平台调试完毕后,可以在其上进行软件层的开发。整个硬件总体结构如 图2 1 所示。其中处理模块采用海泰康电子的高集成度多媒体主控芯片h t 3 0 0 1 , 以及外围的片外存储器f l a s h 和s d r a m 、按键k e y 、液晶显示器l c d ,音频c o d e c , r s 2 3 2 、j t a g 、u s b 传输接口等等。 图2 1 平台硬件结构图 下面就各个模块功能做简单的介绍。 1 主芯片结构与特性 h t 3 0 0 1 是高度集成的单芯片多媒体处理s o c 系统,支持音频解码,图片浏 览和视频解码引擎,并外挂一个1 6 位d s p 和一个8 位m c u ,通过两个c p u 的协 作处理,在低功耗平台上可以达到较高的性能,同时h t 3 0 0 1 提供支持h i g h s p e e d 的u s b 2 0 主从接口。图2 2 是该芯片的架构: 6 数码相框图片浏览器设计与实现 图2 2 主芯片内部结构图 可以看到整个芯片内部通过a h b 、a h b a p b 桥、以及a p b 片上系统总线将 各个硬件模块连接,能有效地提高数据的传输速度和处理的性能。 其特征如下所示: z 8 0 5 1 内核m c u , 1 6 位的片上高速d s p ,高达1 8 0 m h z 主频 支持u s bh o s t d e v i c e 功能,h i g hs p e e d f u l ls p e e d 2 0 高速存储设备 支持t f t l c d 接口 4 通道的d m a 控制器 一个1 2 c 接口和一个1 2 s 接口 立体声1 6 b i t ss i g m a _ d e l t ad a c 和数字输出 支持n a n df l a s h 最大可达3 2 g 支持串行n o rf l a s h 接口 支持多媒体卡接口 支持s d m m c 卡,最高支持3 2 g 实时时钟、看门狗 硬件电源管理单元 s p i 儿j a r t 接口 第二章数码相框系统架构 支持1 6 位的片外s d 删接口 支持数字拍照功能 l q f p - 1 7 6 脚封装 ( 1 ) m c uc o r e 和d s pc o r e h t 3 0 0 1 集成了8 位的精简指令系统z 8 0 5 1 ,处理能力最高可以达到9 0 m h z , 主要负责完成整个应用层系统控制( 如人机交互界面) ,控制外围电路( 键盘、显 示器等) 连接,电源管理等。片内包括4 k w o r d s 的b o o t r o m 和4 8 k b y t e s r a m , 片内存储器的大小对系统的性能影响很大。 d s p 系统采用v c r i s i l i c o n 的z s p 5 0 0 高性能数字信号处理内核,工作在内存字 节长度是1 6 位,最大工作频率1 8 0 m h z ,主要负责是图片、音视频文件的解码。 该芯片集成m c u + d s p 双核结构,可以避免传统的单内核设计功耗太大的缺点, 对于一些运算量大的实时处理,例如图像、视频、音频数据,采用d s p 进行,实 现运行速度和低功耗,对于外设控制等功能,则使用m c u 实现,从而在应用的复 杂度之间建立了良好的平衡。 ( 2 ) i 汀c 仃i i i l e 棚a t i c hd o g r t c 时钟是一个带有以下功能的3 2 位计数器:定时、告警、事件。 看门狗能设置主要用以调试程序的循环状态,以免程序进入死循环。 ( 3 ) d m a h t 3 0 0 1 支持4 个传输通道,在软件开发应用中,通道o 和通道1 用于对z s p 总线请求控制传输,而通道2 和通道3 用于m c u 总线请求控制传输。用于处理器、 外设、存储器之间的高速数据传输。 2 f l a s h 存储器 系统包含1 g bn a n df l a s h 存储器,内部存放启动代码、应用程序代码映像、字 库、u i 界面图片资源。剩余的存储空间可存放用户数据。当系统启动后,b o o t 程序从f l a s h 中读取启动部分的代码,将后续应用程序加载到片内r a m 中运行。 3 s d r a m 存储器 平台包括6 4 m bs d r a m ,用于在绘制界面时所用到的u i ( 用户接口) 图片数据, 图片文件解码和音视频文件解码后的数据及大的缓存数据都存放在片外的 s d r a m 。 4 输入输出接口 根据系统设计需求,需要外部命令控制操作,同时将完成解码后的信号最终进行 显示和输出。输入接口主要为按键和红外接收部分。输出部分为l c d 显示输出接 口和音频输出接口。 5 传输接口 传输接口包括j t a g ,r s 2 3 2 ,u s b 等。j t a g 接口主要是在项目开发软件在线调 数码相框图片浏览器设计与实现 试z s p 部分的程序。r s 2 3 2 接口部分可以作为目标机与p c 进行u a r t 的通信,主要 用于测试。u s bh o s t 模块使得系统可以作为u s b :j c 机,连接其他u s b 设备比如u 盘。u s bd o v i c e 模块使得系统可以作为一个u s b 设备与其他u s b 主机连接,也就 是说该系统可以作为存储器应用。 6 系统工作模式 整个系统可以支持三种工作模式: ( 1 ) 多媒体功能模式 ( 2 ) u s b 主机功能模式 ( 3 ) u s b 设备功能模式 多媒体工作模式指的是对于存储卡或n a n d h a s h 中多媒体文件进行播放,浏览 等操作的模式。u s b 主机功能模式指的是该系统可以插a u s b 设备。比如u 盘,读 取u 盎中的资料,进行播放,浏览的操作播放模式。u s b 设备模式,指的是系统可 以作为u s b 从机连接到p c ,此时系统就类似于存储器的功能的模式。 7 开发环境平台搭建 开发环境通常采用宿主机一目标机的主从开发模式。宿主机指开发主机,由 一台通用p c 机构成;目标机指嵌入式设备,即目标开发板。本设计环境所采用的 宿主机使用的是w i n d o w s 操作系统宿主机与开发板之间使用三条线来进行连接, 一条为串口线,用于控制开发板,一端接宿主机的u a r t 串口,另一端接开发板的 d e b u gs 既i a l 接口;另一条为u s b 线,用于下载开发完成的程序到开发板上和为系 统平台供电,一端接入主机u s b 接口,一端接开发板的u s b 接口。本数码相框硬件 的开发样机如图2 3 所示。 圈23 主机和目标机的连接图 2 2 数码相框软件架构 选定数码相框硬件平台后,下面的工作就是数码相框软件的开发。数码相框 第二章数码相框系统架构 9 硬件要求精简省电性能强,而数码相框软件则要求稳定有效率,程序代码小且实 现的功能强大。这里所说的软件开发,包括嵌入式操作系统与架构在其上的应用 软件。 软件的开发一般遵循以下流程: 1 选择合适的实时操作系统,某些情况下,精简起见,可以不要操作系统。 本项目的软件设计采用的是无操作系统架构。 2 安装开发环境。 3 开发应用程序。 4 配置实时操作系统并构造整个系统 5 调试 6 优化 7 测试 根据硬件平台资源的特性,能够在满足系统功能的需求下,设计出适合该硬 件平台的软件系统架构方案。数码相框整个软件系统结构如图2 4 所示。 图2 4 软件系统结构图 上图列出了数码相框软件系统结构图,由于芯片采用的是双核处理器系统, 所以整个软件系统由m c u 应用程序和z s p 应用程序两个大模块组成,它们之间 的协同工作实现整个系统功能的实现。 2 2 1 系统软件功能 软件主要包含如下功能模块,图2 5 虚线以下部分为通用的接口层,在此称之 为系统层,虚线以上部分为系统需要完成的功能任务,称之为应用层。 1 0 数码相框图片浏览器设计与实现 i苎奎望量堡至 l r 。 至至习 臣巫回 匪匦回 臣回区至固囤 二二】受亟三二 图2 5m c u 应用软件模块结构 下面简单描述各个功能模块需要完成的功能: 底层设备驱动:驱动程序是上层软件与底层硬件联系的纽带,驱动程序的目 的在于对上提供相应调用接口,对下进行硬件设备的控制。在本系统中,主要涉 及到的驱动程序包含如下设备d m a c 驱动、1 2 c 驱动、1 2 s 驱动、l c d 驱动、s d 驱动、u s b 驱动等。 任务调度切换:可以参考o c o s - i i 源码进行剪裁做移植,主要是提供任务调 度管理,时间管理,但是加入操作系统会导致c o d e 空间和r a m 空间开销的加 大,所以在本软件开发中采用了一种简易的方法一一动态加载技术实现各个应用 任务的调度切换功能。 文件系统接口:需要提供文件的相关操作接口,完成文件的相关操作,如创 建文件、删除文件、选中文件等。 o s d 库接口:该模块主要完成图片、文本的相关操作,应用程序都会调用这 个模块的接口来实现相应功能,该模块提供给应用程序相关接口来实现位图的输 出和字符的输出。 键盘扫描任务:监控用户的输入,根据用户的不同输入来进行工作模式的切 换,以及在不同的工作模式下,进行工作状态的切换。 文本阅读任务:实现文本文件( t x t ) 的阅读功能,内部实现调用g u i 提供的 字符显示功能。 系统设置任务:主要包括如下一些功能设置项,显示设置( 亮度、对比度、饱 和度、色度的调节以及背光时间的设定) 、图片浏览速度、音量、音效、播放模式、 语言选择、时钟、闹铃时间等设置。 图片浏览任务:j p e g 、b m p 、g i f 等图片浏览任务由z s p 和m c u 软件共同完 成,图片的解码、l c d 输出由z s p 来控制,m c u 侧软件只是对z s p 侧软件进行 控制,如选定浏览的图片文件,图片浏览的手动和自动模式,图片轮换时间等等。 第二章数码相框系统架构 媒体播放任务:媒体播放包括音频播放和视频播放功能,同图片浏览任务类 似,媒体播放任务也由z s p 和m c u 软件共同协助完成,z s p 侧负责文件的解析、 音视频解码以及音视频的同步输出,m c u 侧软件负责对z s p 侧软件的播放控制。 2 2 2 系统软件设计流程 根据设计需求,系统要完成从多种卡或f l a s h 中读取多媒体文件,进行播放的 要求,要能够显示需要的内容。系统工作流程如图2 6 所示: 图2 6 系统流程图 图2 6 描述了整个应用系统的软件流程,系统初始化后,开始运行,通常状态, 系统运行在空闲( i d e l ) 省电任务模式下,一旦有用户按键产生,任务切换到键盘 扫描任务,在键盘扫描任务处理中,根据用户输入的键值,通过任务调度程序来 进行任务的切换或者任务的状态的改变。 在硬件完成的基础上,软件部分的程序要完成,启动、界面显示,外界命令 输入,命令处理,任务上下文切换等要求。下面分别介绍每个部分设计过程。 ( 1 ) 启动流程( b o o t 流程) a b o o t 功能描述: 支持自身的初始化( 即调入r a m 中运行) 支持从n a n d f l a s h 中加载芯片所需的代码 生产媒体播放器时,可以通过u s b 接口完成n a n d f l a s h 的烧写( 无硬跳 线) 通过检测特定管脚电平决定是否进入调试模式 支持强制烧写n a n d f l a s h 支持终端用户升级n a n d f l a s h 支持串口d e b u g 模式( 供开发使用) 1 2 数码相框图片浏览器设计与实现 b b o o tr o m 中的内容 b o o tr o m 中的b o o tm a n a g e r 代码用于控制整个b o o t 过程,根据外部p i n 脚 或其他输入决定b o o t 的执行步骤。为了在d p f 量产时可以通过u s b 口下载程序 到n a n d f l a s h 中,b o o tr o m 需要包含精简的u s bd e v i c e 驱动和n a n df l a s h 驱动。 串口调试s e r v e r 为开发平台提供调试手段。 图2 7b o o t 过程流程图 c b o o t 过程 b o o t 过程如图2 7 所示。 芯片上电后,首先b o o tm a n a g e r 把自身调入8 0 5 1 的r a m 中运行后,检查 d e b u g 引脚,如果d e b u g 有效,执行r o m 中的串口调试s e r v e r ,芯片进入调试状 态,否则读取n a n d f l a s h 第一块第一页到r a m 中,检查其中的签名判断n a n d f l a s h 是否烧录有固件,如果没有合法签名,则8 0 5 1 运行烧写程序( 初始化前保存在r o m 第二章数码相框系统架构 1 3 中,初始化后调入到r a m 中) ,等待p c 机通过u s b 口下发数据。通常在烧录 f i r m w a r e 前,擦除掉签名区,当f i r m w a r e 烧录完成,再在签名区写入约定的签名。 在量产时可能出现烧写完毕、签名也写入n a n d f l a s h 了,但是由于n a n d f l a s h 损坏,或者烧写过程出现不正常因素,导致写入的数据不正确,此时上述检查签 名是否合法,然后决定是否进行烧写的做法将失效,因为n a n d f l a s h 中的签名是合 法的。这时就需要有强制烧写模式,方法是用电阻短路n a n d f l a s h 的数据线,这样 读写n a n d f l a s h 时,就会多次发生e c c 错误,程序由此判断并进入强制烧写状态, 通过u s b 下载数据到n a n d f l a s h 中。 ( 2 ) 主程序的结构流程图如图2 8 所示: 首先进行了系统初始化,包括系统一级初始化和二级初始化。然后进入主循 环,每个应用都是一个主循环,它们的结构是相类似的,主要有这样几个部分, 事件接收,事件检查与处理。 图2 8 主程序的结构流程图 a 系统初始化 系统初始化部分,主要完成从h a r d w a r e 层,d r i v e r 层到应用层部分的参数初 始化,模块的初始化。时钟频率倍频到1 6 0 m 运行。系统复位、上电后,b o o t r o m 首先从f l a s h 加载一级初始化程序模块到z 8 0 5 1 程序空间执行。 一 初始化分为h a r d w a r e 层初始化,该部分包括了硬件,寄存器地址配置、寄存 器初始化参数部分。 d r i v e r 层初始化,这部分包括了时钟初始化l c d 显示屏,s d r a m 存储器, 1 4 数码相框图片浏览器设计与实现 d m a c 控制器,初始化n a n d 磁盘,g p i o 接口,键盘,s d 卡控制器,外设等各种 硬件模块的初始化和参数配置。同时在时钟初始化完成后,频率升到1 6 0 m 运行。 a p p l i c a t i o n 层初始化包括了应用部分函数的参数初始化设置。 系统初始化其流程如图2 9 所示。 上 d r i v e r 层初始化 上 a p p l i c a t i o n 层初始化 图2 9 系统初始化沉程图 按照上述流程完成系统初始化,下面介绍主循环部分流程。 b 事件接收 在软件中,“事件”的观念比较重要,“事件 可以是系统自己产生,比如图 片浏览结束后,就会有图片浏览结束的事件产生。也可以是外界产生,比如按键 输入命令。在主程序事件接收部分主要指的是第二部分外界产生的事件。 一般根据硬件,常见的外界产生的事件由按键,红外线遥控等途径,主循环 中采用轮询的方式扫描按键出入命令,得到按键的码值,根据码值得到相应的命 令。然后产生相应的事件,比如图片浏览的时候,在主循环运行到键值扫描时, 接收到“k e y _ d o w n ”( 浏览下一张图片) 命令时,等待判别作出进一步处理。 c 事件检查与处理 该部分是所有功能的核心部分,主要是判断事件的类型进入事件处理过程中。 如果事件检测到的是任务业务的切换即切换到另一个应用任务时,会给出需要切 换任务的应用模块的类型i d ,然后根据这个i d 加载应用程序并跳转到另一个任务 运行。比如当前图片浏览时,检测到按键值为“k e y e s c ”事件时,会给出退出 图片浏览任务到另一个任务的i d 号z 5 1b i n _ d e s k t o p ,然后加载桌面应用程序 运行。 ( 3 ) 任务切换原理与实现 嵌入式实时操作系统在提供强大功能的同时,也带来了代码量大、结构复杂、 对硬件要求较高、开发难度大且成本高等问题,再加上片内程序存储器容量的限 制,由于在无需多任务并行时,单任务机制就可以满足系统的功能需求,但各个 第二章数码相框系统架构 任务之间仍然需要切换,还是需要有操作系统特性的任务上下文切换的机制。本 系统中的软件采用了动态加载技术1 2 】,这种技术的基本原理是当我们需要执行某部 分应用模块代码的时候,通过动态加载技术把这部分应用代码加载到程序空间中。 如图2 1 0 所示,m c u 子系统中的软件分为三个部分: 第一部分是常驻内存区,这部分包括m c u 的系统参数、动态加载器,一旦 m c u 上电启动系统初始化完毕后,这部分程序就会常驻m c u 的内存区。 第二部分就是交换区,这部分内存区域中的内容是随着应用场景的变化而变 化着的,如当系统处于视频播放业务模式的时候,交换区中的内容就是视频播放 功能模块,而当业务模式切换到音频播放模式的时候,交换区中的内容就是音频 播放功能模块。 第三部分是处于外存空间中的功能模块,这部分内容随着业务系统业务状态 的变化会随时被动态加载器加载到内存交换区中。 图2 1 0 动态加载示意图 动态加载是由两个环节来实现的,第一个环节是链接的过程,这个过程需要 指定内存空间的使用分配。第二个环节是动态加载器代码的实现,这部分代码实 现从外存中把功能代码加载到交换区中。 我们分别来描述上述两个环节,我们把m c u 中的程序分成两个部分,第一个 部分是内核区,这部分代码是常驻内存的,主要包括动态加载器代码、所有的系 统参数、各个模块的需要的大块的b u f f e r 都在该区域分配。另外一部分就是交 换区,交换区的空间不得小于最大的应用程序的代码空间。m c u4 8 k 的内存空间 在程序设计中,除去必要的系统全局参数,全局变量,模块的应用的缓冲区,和 加载器代码内核区的代码空间大小,所剩还有3 9 5 k b y t e 可供应用程序所用。如 图2 1 1 所示,m c u 程序空间分配结构图。 1 6 数码相框图片浏览器设计与实现 图2 1 1m c u 程序空间分配结构图 在0 x 0 0 0 0 a a 0 0 0 x 0 0 0 0 c 0 0 0 这部分地址空间存放的内容实现应用程序任务切 换功能的动态加载器,一旦系统上电,该部分程序常驻这部分地址空间,完成从 外存f l a s h 中把可执行程序代码搬移到m c u 应用程序区中执行,同时程序加载 器程序还需要完成把f l a s h 中的z s p 可执行代码搬移到z s p 的m e m 中执行。 图2 1 2 是m c u 上电启动任务加载流程: 图2 1 2m c u 程序加载器执行流程 ( 虚线框表示程序加载区、实线框表示应用程序区) 程序加载器是如何从外存中定位的相应功能程序代码的内部存储区执行的 呢,在系统中要实现动态加载,首先需要一种模块定位机制,使得调用者能够在 系统中动态定位需要的模块,其次是要能让模块与目标程序动态的关联在一起, 协调工作。为了解决这些问题,需要一系列相关的设计:规定模块的声明方式; 简化目标机端模块地址空间定位的工作。这部分是在主机端完成的,在开发完每 第二章数码相框系统架构 1 7 个应用程序的代码后都转换成一个b i n 文件,把所有的b i n 文件打包成一个程序包 并在最后这个程序包前建立一张映射表,下图是程序包的结构。 图2 1 3 系统程序包的组织结构 图2 1 3 描述了应用程序在f l a s h 系统程序区中的组织结构,f l a s h 系统程 序区包含了映射表以及应用程序的b i n 文件,其中映射表由总表和应用描述表组 成,映射表总表描述了f l a s h 系统程序区中包含的应用程序的个数,而应用描述 表则描述了每个应用的名称、运行地址、偏移地址等信息,映射表中总表只有一 个,而应用描述表则根据具体应用的个数来定,下面详细说明总表和应用描述表 各个字段的意义,如表2 1 ,表2 2 所示。 表2 1 映射表总表 字段名称字段长度字段含义备注, 表名称1 2 b y t e总表名称 应用个数 2b y t e 应用b i n 的个数 保留 4b y t e 保留 保留4b y t e保留 校验码 2b y t e 校验码 表2 2 映射表应用描述表 字段名称字段长度。,字段含义各注? 应用i d 4b y t e 标志一个应用b i n 运行地址4b y t e b i n 文件的执行地址 偏移地址 4b y t e b i n 文件在f l a s h 地址 长度 4b y t e b i n 文件的长度 检验码 4b y t e b i n 文件检验码 保留 1 2b y t e 保留 数码相框图片浏览器设计与实现 应用程序映射表数据结构定义: t y p e d e f s t r u c t u 3 2 - tb i n i d ; b i ni d u 3 2to t i s e t :该b i ni d 对应的b i n 文件在打包文件中的偏移,相 对于文件头 u 3 2 _ ts e c t l e n g t h ;该b i ni d 对应的b i n 文件的大小 u 3 2tr u n a d d r ;该b i ni d 对应的b i n 文件的运行地址 u 3 2tc h k s u m ;该b i ni d 对应的b i n 文件的校验码 u 3 2 j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论