(信号与信息处理专业论文)基于uclinux的ipstb嵌入式底层驱动的设计与实现.pdf_第1页
(信号与信息处理专业论文)基于uclinux的ipstb嵌入式底层驱动的设计与实现.pdf_第2页
(信号与信息处理专业论文)基于uclinux的ipstb嵌入式底层驱动的设计与实现.pdf_第3页
(信号与信息处理专业论文)基于uclinux的ipstb嵌入式底层驱动的设计与实现.pdf_第4页
(信号与信息处理专业论文)基于uclinux的ipstb嵌入式底层驱动的设计与实现.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(信号与信息处理专业论文)基于uclinux的ipstb嵌入式底层驱动的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 基于u c | _ r h x 的ip - s t b 嵌入式底层驱动的设计与实现 作者简介:宋文,男,1 9 8 2 年9 月生,2 0 03 年从师于钟本善教授,于2 0 0 6 年6 月毕业于成都理工大学信号与信息处理专业。 摘要 随着宽带网络迅猛发展,i p 多媒体技术日渐成熟,数字技术、计算机技术日 益与消费家电产品相结合,融合多媒体内容、宽带网络、数字电视的全新的宽带 服务模式必将成为一个极具前景的产业。 2 0 0 5 年是i p t v 飞速增长的一年, i p t v 就是在这种背景产生的。 各个设备提供商纷纷推出支持m p g e 2 、 m p e g 4 、h 2 6 4 等各种格式的i p s t b 。本课题就是基于华为技术有限公司某i p s t b 项目,采用t i 的d m 6 4 2 单芯片方案,支持m p e g 2 、h 2 6 4 ,音视频解码全由运 行在d s p 芯片d m 6 4 2 上的应用软件来处理。该i p s t b 系统采用了当前较为流行 的嵌入式u c l i n u x 操作系统。 本人在该项目中主要承担底层驱动软件的设计与实现,包括: ( 1 ) 结合项目的实际需求,在d e m o 板的b o o t l o a d e r 源码的基础上,定制了 我们自己的b o o t l o a d e r ,用于启动操作系统的内核和实现m i n i 备份系统。 ( 2 ) 设计并实现1 2 c 总线驱动程序,用于d m 6 4 2 与视频芯片,e e p r o m ,单 片机进行通信。 ( 3 ) 设计并实现单片机控制的红外i r 和k e ) ,p a d 的接收驱动,用于接受遥控器 的按键与前面板的按键。 ( 4 ) 设计并实现串口驱动程序,用于b o o t l o a d e r 阶段的调试和内核阶段的调试。 所有程序均用c 语言实现,单片机控制i r 部分使用k e i lu v i s i o n 2 软件调试; 其余程序使用t i 的c c s 软件调试。本文写作时,该i p s t b 已经实现了所有要求 的功能,在实验室能稳定运行并多次参加了运营商的对比测试。 在论文的组织上,文章首先介绍一下i p t v 、i p s t b 相关的基础知识,然后叙 述各部分工作的实现原理,接着介绍了底层驱动程序各个部分的需求分析和设计, 再介绍如何具体实现所需要的各个驱动程序模块。通过这种流程,较好的介绍了 本人在该项目中所做的工作。最后,介绍驱动开发中的一些体会和经验。 关键词:i p s t bu c l i n u x 设备驱动程序b o o t l o a d e rd m 6 4 2 作者签名 垒呈! ! 坠竺! d e s i g na n dl m d i e m e n tt h ee m b e d d e dd ri v e t o ft h ei p - s t bb a s e d0 1 3t h eu c ii n u x i n t r o d u c t i o no f t h ea u t h o r :s o n gw e n ,w a sb o r no ns e p ,1 9 8 2 u n d e rt h eg u i d a n c eo f p r o f z h o n gb e n s h a n ,t h ea u t h o rw a sg r a d u a t e df r o mc o l l e g eo fi n f o r m a t i o ne n g i n e e r i n ga t c h e n g d uu n i v e r s i t yo f t e c h n o l o g y a b s t r a c t w i t ht h ef a s td e v e l o p m e n to fb o a r db a n dn e t w o r k t h et e c h n o l o g yo f i pm u l t i m e d i ai s m o r ea n dm o r ea d v a n c e d ;t h ed i g i t a lt e c h n o l o g ya n dc o m p u t e ri sm o r ea n dm o r e c o m b i n e dw i t hc o n s u m e da p p l i a n c e :t h es e r v i c ew i t ht h em e s as e r v i c e ,b o a r db a n d n e t w o r k d i g i t a lt vw i l lb ef o r e g r o u n da n di p t vi sd e v e l o p e d l a s tv e a r ,i p t vi sd e v e l o p e dv e r yf a s t ,t h em a n u f a c t u r e r sd e v e l o p e d s e v e r a li p s t b s s u p p o r t e dm p e g 2 m p e g 4 ,h 2 6 4 t h i sp a p e ri ss t u d i e do i lo n ep r o j e c to fh u a w e i w eu s et h et i sd m 6 4 2s i g l ec h i p s y s t e m t h es y s t e ms u p p o r tm p e g 2 ,h 2 6 4 b o t ha u d i od a t as t r e a ma n d v i d e od a t as t r e a m i sd e c o d e db yt h es o f t w a r er u n n i n go nt b ed m 6 4 2 t h e0 sw eu s e di su c l i n u x d u r i n gt h ed e v e l o p m e n to ft h ep r o j e c t ,w h a t ih a v ed o n ei sd e s i g n i n ga n d i m p l e m e n t i n gt h ed r i v e r ,i n c l u d i n g : n 1b a s e do nt h ed e m os o u r c e ,c u s t o m i z i n go u rb o o t l o a d e rf o rl o a d i n g t h ek e m e la n d d e s i g n i n gt h eb a c k u po f m i n is y s t e m ,a n ds t a r tt h er i g h ts y s t e m ( 2 ) d e s i g n i n ga n di m p l e m e n t i n gt h e1 2 cb u sd r i v e r ,f o rd m 6 4 2 c o m m u n i c a t i n gw i t h c s 4 9 5 5 e e p r o ma n dm c u ( 3 ) d e s i g n i n ga n di m p l e m e n t i n gt h ei ra n dk e y p a dd r i v e rw h i c hc o n t r o l l e db yt h e m c u ,f o rd e a l i n gw i t ht h ei n p u tf r o mi r d e s i g n i n ga n di m p l e m e n t i n gt h ed i r v e ro fu a r t f o rd e b u gd u r i n gb o o t l o a d e ra n d k e m e l 弭西e nw r i t i n gt h ep a p e r w eh a v ei m p l e m e n t e da l lt h en e e d e df u n c t i o n n o w ,出o i p - s t bw a st e s t e db yt h ec u s t o m e r sa n di ti ss t a b 1 e t h eo r g a n i z a f i o no ft h ep a p e ri s :f i r s t ,w ei n t r o d u c et h eb a s i ck n o w l e d g er e l a t e dw i t h i p t v i p s t ba n dt h ei m p l e m e n t i n gt h e o r i e s ,t h e n ,w es h o wt h es r sa n dd e s i g n i n gf l o w o ft h ed r i v e r t h e n w ei m p l e m e n ta l lt h ed r i v e r s ,a tl a s t ,w es h o wt h ee x p e n e n e eo t d e v e l o p i n gd r i v e r k e y w o r d :i p s t b ;u c l i n u x ;d e v i c ed r i v e r ;b o o t l o a d e r ;d m 6 4 2 i i i s i g n a t u r e : 第l 章前言 1 1i p s t b 介绍 第1 章前言 i p s t b 即i p 机顶盒,是一种专用的用户终端设备,放在用户家庭,通过a d s lm o d e m 或以太网交换机与d s l a m 设备连接,充当电视机和宽带网络之间的接口。i p 机顶盒可以提供 包括视频组播( b t v ) 、视频点播( v o d ) 、电子节目指南( e p g ) 、数字权限管理( d r m ) 以及 各种交互式服务和多媒体服务在内的功能。i p 机顶盒支持与用户的交互,比如w e b 浏览、 电子邮件及其附件浏览、高级的多媒体编码解码器、即时信息( i m ) 和实时的v o i c eo v e ri p ( v o l p ) 通讯。这些类型的高级功能将应最终用户的要求而提供,它们扩展了网络运营商的服 务空间。 i p s t b 是与i p t v 系统是紧密结合在一起的,i p s t b 的功能实现必须与运营商整个的 i p t v 运营系统相配套起来才行,所以谈论i p s t b 就必须首先描述相应的i p t v 系统。 1 2i p t v 的产生背景 什么是i p t v ,最简单的说就是基于i p 网络的t v 。目前宽带发展已经进入一个高速增长 时期,宽带用户成倍增长,接入技术也在不断地发展,宽带已经成为一种成熟的产业在各地 推行。在宽带产业化的同时,多媒体技术也在蓬勃发展,数字内容依托宽带平台己形成一个 良性循环。在完成骨干光纤网络的建设以后,如何利用网络开发出更具经济和社会效益的增 值服务是宽带业界的课题。 【因此,随着宽带网络迅猛发展,i p 多媒体技术日渐成熟,数字技术、计算机技术日益与 消费家电产品相结合,融合多媒体内容、宽带网络、数字电视的全新的宽带服务模式必将成 为一个极具前景的产业。i p t v 就是在这种背景产生的。 1 3i p t v 介绍 i p t v 也叫交互式网络电视,是利用宽带网的基础设施,以家用电视机( 或计算机) 作为 主要终端设备,集互联网、多媒体、通信等多种技术于一体,通过互联网络协议( i p ) 向家 庭用户提供包括数字电视在内的多种交互式数字媒体服务的崭新技术。也即以i p 机顶盒为主 要终端,以电视机为主要显示设备,以遥控器为主要输入设备,以宽带i p 为主要传输网络提 供多媒体信息服务。用户在家中可以有两种方式享受i p t v 服务:计算机或者网络机顶盒+ 普 成都理工大学硕士论文 通电视机。这种应用有效地将电视、通信和p c 三个领域结合在一起。 目前i p t v 视频流在终端用户看来有点播( v o d ) 和组播( b t v ) 两种接收方式。点播接收具有 个性化,接收的内容和时间取决于用户喜好,具有实时交互特点;组播接收在用户看来是被 动的,用户对内容选择的余地只限于所提供的频道,是非交互型的。 1 4i p t v 与数字电视的异同 一般所说的i p t v 与数字电视,既有相似点,又有区别。本文从以下方面阐述了二者的异 同。 1 ) 技术体系 i p t v 系统又叫交互电视,它的系统结构主要包括流媒体服务、节目采编、存储及认证计 费等子系统,主要存储及传送的内容是以m p 一4 为编码核心的流媒体文件,基于i p 网络传输, 通常要在边缘设置内容分配服务节点,配置流媒体服务及存储设备,用户终端可以是i p 机顶 盒+ 电视机,也可以是p c 。 有线数字电视的广播网采取的是h f c 网络体系,与传统的模拟有线电视网络体系架构相 同,而开展新型的交互式业务情况下( 如v o d ) ,网络体系会有所不同。有线数字电视v o d 系 统主要包括v o d 服务、节目采编、存储及认证计费系统,主要存储及传送的内容是m p 一2 t s 流, 采用i p 0 v e i d w d m 技术,基于d v d i p 光纤网传输,与i p t v 的分布式架构不同,有线数字电视 v o d 系统采用的是集中式的服务架构,在h f c 分前端并不需要配置用于内容存储及分发的视频 服务器,只需要放置d w d m 接收机及g a m 调制等设备即可,大大降低了系统的运营成本及管理 复杂度,用户终端是数字机顶盒+ 电视机。目前国内已经基本形成数字电视产业链,出现了 众多的数字电视机顶盒制造商、前端设备制造商、系统集成商。 2 ) 业务内容 i p t v 有很灵活的交互特性,因为具有i p 网的对称交互先天优势,其节目在网内,可采用 广播,组播,单播多种发布方式。可以非常灵活地实现电子菜单、节目预约、实时陕进、快 退、终端帐号及计费管理、节目编排等多种功能。另外基于i n t e r 网的其它内容业务也可以 展开,如网络游戏、电子邮件、电子理财等。 有线数字电视采用广播方式,如果耍实现视频点播必须将原来的h f c 广播网络进行双向 改造。一般情况下,只开通有关生活资讯的交互频道。如果数字电视要支持视频点播时,也 是通过c a l b e m o d e m 进入的i p 网络来支持,实际上就是i p t v 。从提供的内容服务上看,有线 数字电视不如i p t v 。 2 第1 章前言 3 ) 各自的主要优势 i p t v 的主要卖点是交互,及i n t e r 网内业务的扩充。i p t v 还可以非常容易地将电视服务和互 联网浏览、电子邮件,以及多种在线信息咨询、娱乐、教育及商务功能结合在一起,在未来 的竞争中处于优势地位。 数字电视的卖点主要为高清的图像质量。 4 ) 用户群 两者的市场用户群都是家庭用户,只是一个依托有线,一个依托宽带,给用户带来的利 益类似。 5 ) 发展前景 在很长一段时间内会出现两者并存的状况。发展数字电视是国家早就计划的政策,i p t v 是在众多的电视节目中增加一个节目频道,并不代替有线数字电视。因为i p t v 的实时性广播 有一定的使用成本,所以完全用i p t v 代替掉有线或卫星电视意义并不大。但是,因为i p t v 的众多吸引人们的功能,它作为一个独立的节目频道还是十分有生命力。从信息产业发展角 度看,i p t v 还是三网合一的最大切入点。 1 5i p t v 国内外现状及发展趋势 i p t v 从上世纪9 0 年代开始面世以来,在很长时间里处于小规模发展阶段,主要是因为外 部条件的不成熟。但现在随着全球宽带产业链的形成以及d s l 技术的不断扩大,i p t v 技术已 日益成熟,其发展也已进入了一个飞速增长阶段。 1 5 1 国内现状及趋势 t v 在国内的发展虽然还处在起步阶段,但发展非常迅速。2 0 0 4 年1 2 月2 3 日,中国电 信和上海文广签约进行深度合作,上海文广由普通的内容提供商变身为“战略合作伙伴”,1 2 月2 8 日,两家合作创办的东方网络电视在上视大厦正式开播。2 0 0 5 年1 月1 0 日,中国电信 与长虹签署了战略合作各忘录,终端层面的合作主要涉及到可视电话终端解决方案及t v 终 端解决方案等。国内另一家主要电信运营商中国网通也2 0 0 4 年迈动了网络电视的步伐。2 0 0 4 年5 月底,网通旗下的“天天在线”获得了国内第一个经营网络视频播放业务的许可证。北 京电信在2 0 0 4 年9 月对网络电视正式标价为3 0 元月,其后杭卅网通宣布开通i p t v 服务, 初期提供9 个频道的节目服务。目前,网通已经与国际数据集团( d g ) 、中视网络和北京电 台合作,启动了三个网络电视台。香港的电信盈科公司也大力发展i p t v 业务,在短短的两年 时间里发展了4 0 万用户,成为全球i p t v 用户最多的运营商。综合起来,国内的现状和趋势 叙述如下: 成都理工大学硕士论文 1 、现状 1 ) 用户方面:i p t v 业务的潜在用户数量大,电信行业宽带用户数就达数千万,这为i p t v 的发展提供了广阔空间。 2 ) 运营市场方面:电信与广电各有优缺点,电信网络资源比较丰富。但由于p 2 p 等业务 的存在,电信企业很难为用户提供足够的带宽资源,缺乏q o s 保证;同时由于用户接入绝大 多数采用的是d s l 技术,还不能很好地适应i p t v 业务开展的需要。而广电网络目前主要是h f c 网络,缺乏交互性。所以,电信、广电内容提供商开始合作。目前,广电运营商已经有部分 获得了i p t v 运营许可,电信行业仍受限制。 2 、发展趋势 1 ) 消费市场方面:用户数快速增长、用户对服务质量要求越来越高、用户消费水平逐 步提高 2 ) 运营市场方面:在我国,i p t v 运营只是刚刚起步,电信、广电两大行业就已经开始了 这块蛋糕的争夺战。具体表现在运营市场上,其发展趋势具有如下特点。 ( 1 ) 电信与广电网络提供商加紧进行网络升级改造 ( 2 ) 电信与广电内容提供商逐渐融合 ( 3 ) 电信与广电服务费用一降一升 1 5 2 国外现状及趋势 自1 9 9 9 年英国v i d e o n e t w o r k s 公司推出t v 业务以来,国外的电信运营商相继进入了 i p t v 市场。在北美y r v 市场中,加拿大传统电信公司走在了前列,曼尼托巴电信( m t s ) 和萨斯喀萨温电信( s a s k t e l ) 已经在v d s l 和a d s l 网络中开通了i p t v 业务,t e l u s 和加拿 大贝尔也计划在2 0 0 5 年进入这一市场。美国1 p t v 市场的发展进程较为稳定,在2 0 0 4 年1 0 月,美国三家主要的地区性贝尔公司( r b o c ) 一- - s b c 、南方贝尔和v e r i z o n 均披露了各自 的i p 视频计划,将在2 0 0 5 年进入i p t v 业务市场:欧洲的许多电信运营商对i p t v 业务的态 度也很积极,特别是意大利的f a s t w e b 公司在i p t v 业务上取得的成功改变了许多运营商原先 持有的观望态度。几乎所有的欧洲传统电信运营商均开展了i p t v 的实验,其中法国电信的态 度最为积极,已经在里昂开通了业务。比利时电信、荷兰电信、奥地利电信和挪威电信都在 进行口t v 实验。 第1 章前言 1 6 课题的研究背景及研究成果 本论文完全基于华为技术有限公司的某i p s t b 项目。该i p s t b 将提供的三网合一,使 得数据、图像、话音真正落地,并提供良好的用户体验;终端是网络的延伸,凭借华为公司 在局端设备的技术积累,华为的伊t v 终端具有良好的网络适应性和可维护管理的问题,同时 配合华为公司y r v q o s 策略,使得网络的服务质量能得到一定的保证,另一方面,与网络配 合解决终端的维护问题,提高用户的满意度;该一s t b 将具有开放的构架,强大的性能,为 网络运营商提供增值业务的平台,同时将具有高的性能价格比,自主的知识产权,具有非常 高的可扩展性,最大限度保护用户的投资。 在该项目中,本人主要承担底层驱动软件的设计与实现,包括: ( 1 ) 结合项目的实际需求,在d e m o 板的b o o t l o a d e r 源码的基础上,定制了我们自己的 b o o t l o a d e r 。用于启动操作系统的内核和实现m i n i 备份系统。 ( 2 ) 设计并实现1 2 c 总线驱动程序,用于d m 6 4 2 与视频芯片,e e p r o m ,单片机进行通信。 ( 3 ) 设计并实现单片机控制的红外i r 和k e y p a d 的接收驱动,用于接受遥控器的按键与 前面板的按键。 ( 4 ) 设计并实现串口驱动程序,用于b o o t l o a d e r 阶段的调试和内核阶段的调试。 第2 章概述 2 1i p t v 系统描述 第2 耄概述 华为i p t v 业务系统是一套开放的多媒体业务平台,包含内容系统( 内容制作和内容分发) 、 娥务系统( 写户簧理、终端警疆、图终管理) 、塞带翅络( 鼹瘫器、交接撬、8 a s 移璐l 舔) 和家庭网络四个组成部分,通过i p 网络传送广播电视、点播电视和赢动娱乐服务。 狰一t v 系统的组网翻如下强所示: 墅2 ,| p w 整鞲解决方案示意辫 下面凰体叙述i p t v 系统中各部分的内容: - 7 - 成都理工大学硕士论文 家庭网络,叫用户网络层,主要包括: 一 s t b ,机顶盒,为用户提供基于t v 的多媒体业务体验。 _ c p e ,网络用户侧设备。 宽带网络,即网络传输层,主要包括: d s l a m ,数字用户线接入复用设备,负责从多种d s l 连接接收信号,将其转换 到一条高速线上,用以支持栅音频、快速因特网接入及其他高价值应用。d s l a m 提供a t m 接口或p 报文转发接口,上联a t m 城域核心网或妒宽带城域网,具各 链路汇聚、流量控制等相应能力。 b a s ,宽带接入系统,实现宽带用户的管理特性和业务发起功能,包括用户识别、 认证、计费、i p 地址管理、安全性管理等内容。b a s 在宽带网络中的功能类似于 p s t n 网络中的s s p ,b a s 在宽带价值链中充当着智能业务触发和执行功能,通过 与业务平台的配合,可提供良好的可扩展性和快速业务生成能力。针对不同的 应用环境需考虑分别采用分布式b a s s i 集中式b a s ,分布式b a s 不仅需要承担用户 管理和业务发起功能,还需要完成网络流量汇聚,而集中式b a s 则强化了用户管 理特性。 内容系统,即内容网络层,主要包括: e s ,边缘服务器,在最临近内容消费用户的地域存储i n t e m e t 内容提供商i c p ( i n t e m e tc o n t e n tp r o v i d e r ) 指定的高访问量、高质量的流媒体文件。e s 就近为 最终用户提供相关内容。 _r r s ,用户调度设各,掌握全网e s 的健康状况和内容分布状况,按预先确定的 策略动态地将用户的消费内容请求定向到最优的e sl - ,为用户提供高质量的下 载或播放服务。 m m ,内容管理器,负责向m d n 2 0 0 0 网络中发布、修改、删除内容,查询m d n 2 0 0 0 网络中已发布的相关内容;同时当m d n 2 0 0 0 网络中的内容分布状态发生改变的 时候,m m 设备将改变信息通知r r s 设备,供r r s 设备对用户的具体请求进 行细致的调度。 c s ,集中备份媒体内容的中心服务器。所有发布到m d n 2 0 0 0 网络中的内容都将 在c s 上备份。当m m 把内容从i c p 的内容服务器上下载后,就在c s 上进行备份。 当相关e s 检测到本地没有用户申请的内容时,就直接从c s 上进行复制。 -a ds e r v e r ,广告服务器,主要功能是处理广告业务,根据e s 发过来的请求,输 出相关广告插播列表给e s ,指示e s 在提供内容服务时插播广告。 第2 章概述 _ u v i 为认证、计费代理,e s 的计费请求通过u m 与第三方的业务管理系统s m s ( s e r v i c em a n a g e m e n ts y s t e m ) 或i c ps m s 进行交互,完成认证与计费的功能。 一p o r t a ls e r v e r 实现m d n 2 0 0 0 网络的门户功能。i c p 相关的内容在p o r t a l 上发布,其 发布策略也在p o r t a l 进行定义:同时i c p 用户可登录在p o r t a l 上进行内容查询、统 计等。 d r m c a ,数字版权管理条件访问系统,实现媒体内容的数字版权管理。其中 c a 方案类似于数字电视条件访问系统,它通过使用智能卡在终端预存储根密钥, 可以对内容数据进行实时的加密;而一般意义上描述的d r m 大多指微软提供的 数字版权管理方案,它通过发放l i c e n s e 的方式分发会话密钥,终端则需要集成 微软提供的客户端库文件才能实现与d r m 服务器之间的通信,微软方案中加密 媒体文件和播放许可证和分开管理的,因此内容数据一般会进行预加密处理。 业务系统,即业务支撑层,主要包括: e p g ,电子节目菜单,用户通过机顶盒收看电视节目和享受信息服务时所使用的 导航菜单,它的作用是方便用户快捷地找到自己关心的节目以及查看节目的附 加信息。通俗地讲,“e p g ”就是机顶盒主机界面以及各业务功能的导航菜单, 直接构成用户体验,它描述了提供给电视观众的所有节目信息,是构成交互电 视的重要基础。 _ s m s ,业务管理系统,通过与u l v l 和e p g 的交互,实现业务认证和计费,是运营 支撑系统的关键部件。 _ b s s o s s ,运营操作支持系统,一般包括计费及结算系统、营业与账务系统、客 户服务系统和决策支持系统等四个部分。 _ 产品管理系统,实现包括机顶盒在内的lp _ 整网关键设备维护和管理。 2 2i ps t b 硬件总体架构概述 2 2 1 硬件基本组成和逻辑结构 硬件架构由主板、按键控制面板、l e d 显示面板、单片机面板、和电源模块组成,各组 件通过内部线缆连接。 主板实现所有的业务处理,系统启动后,接收网络,对音视频流进行解码,通过音视频 芯片输出。主板包括:d s p 子系统模块、以太网接口模块、音频接口模块、视频接口模块、 u s b 接口模块、串口调试模块等。 按键控制面板提供用户6 个控制按钮实现本地控制; 9 一 成都理工大学硕士论文 l e d 显示面板提示当前的工作状态; 单片机面板用来接收取以及按键面板的输入,对输入进行处理,得到正确的键值,再通 过1 2 c 总线将键值上传给d s p ; 音频和视频接口模块分别输出d s p 解码后的音、视频数据; 电源模块则实现a c d c 变换,提供5 v 3 3 v 两路直流电源,主板上各个芯片模块只使用 3 _ 3 v 。 厂、 9 0 - - 一2 6 5 va c 输入 电源模块 5 v 3 3 vd c 输 出 2 2 2 工作原理 图2 2 i ps t b 硬件原理框图 1 ) 上电,s t b 的操作系统启动。 2 ) 通过以太网接e l 模块收发内容数据包,接入网络。 3 ) 根据用户的l r 输入,s t b 接收服务器发送过来的媒体流。 4 ) 由d s p 系统处理网络协议和流媒体协议,并直接对音频和视频内容进行解码处理后, 将数据输出到相应的接口模块。 5 ) 音频和视频数据通过接口模块实现d ,a 转换和格式转换,对外输出电视节目信号。 6 ) d s p 系统实现与e p g 服务器的通讯:处理图形、图像、浏览器等应用业务;管理三块 “控制面板”。 v o l p 或者d e o p h o n e 应用时,通过对应的数据采集配件( 需客户另购) 将采话音和图像 数据数字化后,由u s b 接口传送到主板,由d s p 系统完成语音或者视频的数据压缩处理,呼 叫处理,信令协议处理,网络协议的处理等,最后将数据封装发送到i p 网络上。 1 0 第2 章概述 2 3i ps t b 软件架构概述 一般来说,一个嵌入式l i n u x 系统从软件的角度看通常可以分为四个层次: 1 ) 引导加载程序。包括固化在固件( f i r m w a r e ) 中的b o o t 代码( 可选) 和b o o t l o a d e r 两 大部分。 2 ) l i n u x 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3 ) 文件系统。包括根文件系统和建立于f l a s h 内存设备之上文件系统。 4 ) 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会 包括一个嵌入式图形用户界面。常用的嵌入式g u i 有:m i c r o w i n d o w s 和m i nj g u i 等。 习惯上,前面三部分叫做操作系统。 我们的i p s t b 硬件采用t ic 6 0 0 0 系列d s p ,支持m p e g 2 h 2 6 4 解码,操作系统采用 u c l i n u x 操作系统,是一款定位于中、低端的s t b ,主要满足海外市场对h2 6 4 的需求。 下面先介绍一下u c l i n u x 操作系统。 2 3 1u c l i n u x 操作系统简述 u c l i n u x 是l i n u x 操作系统的一种,是i 扫l i n u x 2 0 内核发展来的,其内核的功能结构与l i n u x 基本相同,不同的只是对内存管理和进程管理进行改写,以满足无m m u 处理器的要求。u c l i n u x 是专为没有m m u 的微处理器( 如a r m 7 t d m i 、c o l d f i r e 等) 设计的嵌入式l i n u x 操作系统。另 外,由于大多数内核源代码都被重写,u c l i n u x 的内核要比原l i n u x2 0 内核小的多,但保留了 l i n u x 操作系统的主要优点:稳定性,优异的网络能力以及优秀的文件系统支持。 我们的u c n u x 采用的是24 2 0 的l n u x 内核,开发环境采用c y g w i n 模拟u n u x 环境,使用 t i 的c c s 中编译连接器来编译、调试程序。 2 3 2s t b 软件架构 结合实际开发需求,我们的需要开发的软件系统主要分三大块:底层驱动层、系统支撑 层、软件应用层,其软件功能框图如图 成都理工大学硕士论文 图2 3i p s t b 软件系统框图 1 ) 底层硬件驱动层 b o o t l o a d e r :负责c p u 最小系统初始化、将程序从f i a s h 中搬移到内存并引导起来; c p u 最小系统驱动:包括c p u 初始化、内存、f l a s h 等最小系统的驱动; 红外遥控驱动:负责接收遥控器的按键扫描码,并将按键值传给上层应用模块: 面板按键驱动:负责接收面板按键并将按键值传给上层应用模块; 串口驱动:供调试应用程序用 音、视频驱动:输出d s p 解码后的音、视频数据 1 2 c 总线驱动:d s p 作为主1 2 c 设备,与各个从1 2 c 设备之间通信 l i n u x 内核定制:采用l i n u x2 4xk e r n e l ,增强实时特性; 2 ) 系统平台支撑层 m i n i d o p r a :采用公司中软一部的m i n i d o p 阳,屏蔽具体o s 底层信息,统一上层接口 a p i ; 设备管理:负责各模块状态、资源分配等管理; 系统管理维护:包括命令行、升级、日志、异常处理及调试等; m i n i g u i :采用m i n i g u l 图形系统,提供丰富的图形接口、字体、多语种支持、输入法 等; 协议栈:包括t c p ,i p 基本协议栈、r t p r t c p r t s p 、i g m p 、h t t p 、f t p 、n t p 等; 1 2 第2 章概述 3 ) 应用软件层 浏览器b r o w s e r :采用茁壮的i p a n e i 浏览器,完成e p g 的浏览: 播放器p l a y e r :根据d s p 提供的a p i 实现播放视频、音频流媒体: 系统参数配置:内置w e b s e r v e r ,以w e b 页面形式提供系统配置参数的修改、查询界面 2 4 底层软件实现原理分析 在上面所叙述的软件架构中,本人的工作主要是完成底层硬件驱动层的设计与实现, 包括:b o o t l o a d e r 程序的定制;1 2 c 总线驱动程序;单片机控s u 红# b i r 和k e y p a d 的接收驱动; m i n i 备份系统的实现;串口驱动的设计与实现等。本节先从两方面来叙述底层软件的实现原理: 一是b o o t l o a d e r 的实现原理、另一个是驱动程序的实现原理。后面再具体展开说明b o o t l o a d e r 和各个驱动的设计及编码实现。 2 4 1b o o t l o a d e r 的实现原理分析 2 4 1 1b o o t l o a d e r 的概念 引导加载程序是系统加电后运行的第一段软件代码,包括固化在固件( f i r m w a r e ) 中的 b o o t 代码( 可选) 和b o o t l o a d e r 两大部分。回忆一下p c 的体系结构我们可以知道,p c 机 中的引导加载程序由b i o s ( 其本质就是一段固件程序) 和位于硬盘船r 中的o sb o o t l o a d e r ( 比如,l i l o 和g r u b 等) 一起组成。b i o s 在完成硬件检测和资源分配后,将硬盘m b r 中 的b o o t l o a d e r 读到系统的r a m 中,然后将控制权交给o sb o o t l o a d e r 。 b o o t l o a d e r 的主要运行任务就是将内核映象从硬盘上读到r a m 中,然后跳转到内核的 入口点去运行,也即开始启动操作系统。 而在嵌入式系统中,通常并没有像b i o s 那样的固件程序,因此整个系统的加载启动任 务就完全由b o o t l o a d e r 来完成。以我们采用的方案为例,系统上电后,d s p 芯片通过e d m a 功能将位于f l a s h 起始地址的1 k 内容拷贝到芯片内部内存( o x o ) ,然后执行该部分程序。 因此,简单地说,b o o t l o a d e r 就是在操作系统内核运行之前运行的一段小程序。通过这 段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带 到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 通常,b o o t l o a d e r 是严重地依赖于硬件而实现的,不同的c f c 体系结构都有不同的 b o o t l o a d e r 。有些b o o t l o a d e r 也支持多种体系结构的c p u ,比如u - b o o t 就同时支持a r m 体系结构和m i p s 体系结构。除了依赖于c p u 的体系结构外,b o o t l o a d e r 实际上也依赖于具 体盼嵌入式板级设备的配置。这也就是说,对于两块不同的嵌入式板而言,即使它们是基于 成都理工大学硕士论文 同一种c p u 而构建的,要想让运行在一块板子上的b o o t l o a d e r 程序也能运行在另一块板子 上,通常也需要修改b o o t l o a d e r 的源程序。 2 4 1 2b o o t l o a d e r 的实现原理 根据嵌入式应用的复杂程度,可以将b o o t l o a d e r 设计成单阶段或多阶段。对没有操作系 统,整个系统就是一个应用程序的简单应用来说,b o o t l o a d e r 只需要设计成单阶段。而多阶 段的b o o t l o a d e r 能提供更为复杂的功能,以及更好的可移植性。从固态存储设备上启动的 b o o t l o a d e r 大多都是2 阶段的启动过程,也即启动过程可以分为s t a g e1 和s t a g e2 两 部分。我们的b o o t l o a d e r 就是2 阶段的。 通常依赖于c p u 体系结构的代码,比如设备初始化代码等,通常都放在s t a g e l 中,而 且一般都用汇编语言来实现,以达到短小精悍的目的。而s t a g e 2 则通常用c 语言来实现,这 样可以实现给复杂的功能,而且代码会具有更好的可读性和可移植性。下面描述一般情况下, b o o t l o a d e r 两个阶段需要实现的功能。 b o o t l o a d e r 的s t a g e l 通常包括以下步骤( 以执行的先后顺序) : - 硬件设备初始化。 为加载b o o t l o a d e r 的s t a g e 2 准备r a m 空间。 拷贝b o o t l o a d e r 的s t a g e 2 到r a m 空间中。 设置好堆栈。 跳转到s t a g e 2 的c 入口点。 下面具体描述一下重要的步骤 1 ) 硬件设备初始化 这是b o o t l o a d e r 一开始就执行的操作,其目的是为s t a g e 2 的执行以及随后的k e r n e l 的 执行准备好一些基本的硬件环境。它通常包括:屏蔽所有的中断、设置c p u 的速度和时钟频 率、r a m 初始化、初始化l e d 、关闭c p u 内部指令数据c a c h e 。 2 ) 设置堆栈 堆栈指针的设置是为了执行c 语言代码作好准备。通常我们可以把s p 的值设置为安排 给s t a g e 2 的r a m 空间的最顶端( 堆栈向下生长) 。此外,在设置堆栈指针s p 之前,也可以 关闭1 e d 灯,以提示用户我们准备跳转到s t a g e 2 。 3 ) 跳转到s t a g e 2 的c 入口点 在上述一切都就绪后,就可以跳转到b o o t l o a d e r 的s t a g e 2 去执行了,这可以通过修改 p c 寄存器为合适的地址来实现。 1 4 第2 章概述 b o o t l o a d e r 的s t a g e 2 通常包括以下步骤( 以执行的先后顺序) : 初始化本阶段要使用到的硬件设备。 检测系统内存 芽j ( m e m o r ym a p ) 。 将k e r n e l 映像和根文件系统映像从f l a s h 上读到r a m 空间中。 为内核设置启动参数。 启动内核。 再具体描述一下重要的步骤 1 ) 初始化本阶段要使用到的硬件设备 包括:初始化至少一个串口,以便和终端用户进行i o 输出信息:初始化计时器:初始 化其他设备。在初始化这些设各之前,也可以重新把l e d 灯点亮,以表明我们已经进入m a i n ( ) 函数执行。 2 ) 为内核设置启动参数 应该说,在将内核映像和根文件系统映像拷贝到r a i v l 空间中后,就可以准备启动l i n u x 内核了。但是在调用内核之前,应该作一步准备工作,即:设置l i n u x 内核的启动参数。在 嵌入式l i n u x 系统中,通常需要由b o o t l o a d e r 设置的常见启动参数有:a t a gc o r e 、 a t a g _ m e m 、a t a g _ c m d l i n e 、a t a g _ r a m d i s k 、a t a g _ i n i t r d 等。 3 ) 启动内核 b o o f l o a d e r 调用l i n u x 内核的方法是直接跳转到内核的第一条指令处,在跳转时,下列 条件要满足: c p u 寄存器的设置:r 0 = 0 ; r 1 = 机器类型i d : r 2 = 启动参数标记列表在r a m 中 起始基地址: c p u 模式:必须禁止中断( i r q s 和f i q s ) ;c p u 必须s v c 模式; c a c h e 和m m u 的设置:m m u 必须关闭:指令c a c h e 必须关闭;数据c a c h e 必须关 闭; 至此,b o o t l o a d e r 运行完毕,内核被启动。 结合硬件实际情况,我们将会定制自己的b o o t l o a d e r ,后面会具体描述我们b o o t l o a d e r 的 设计及实现。 成都理工大学硕士论文 2 4 1 3b o o tl o a d e r 实现需要注意的地方 正如前面所说,s t a g e 2 的代码通常用c 语言来实现,以便于实现更复杂的功能和取得更 好的代码可读性和可移植性。但是与普通c 语言应用程序不同的是,在编译和链接 b o o t l o a d e r 这样的程序时,我们不能使用g l i b c 库中的任何支持函数。其原因是操作系统还没 有起来,无法使用任何系统调用。这就给我们带来一个问题,那就是从那里跳转进m m n 0 函 数呢? 直接把m m

温馨提示

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

评论

0/150

提交评论