




已阅读5页,还剩65页未读, 继续免费阅读
(计算机应用技术专业论文)嵌入式家用视频监控服务器的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 近年来,视频监控在各行各业得到了广泛的应用,生活中有小区安全监控, 电讯行业有基站监控,银行系统有柜员机监控,林业部门有火情监控,交通方 面有违章和流量监控等等。从功能上讲,视频监控可用于安全防范、信息获取 和指挥调度等方面。随着我国信息化进程的推进和人民物质生活水平的提高, 视频监控正在进入普通家庭,成为智能家居系统的重要组成部分。而网络技术、 视频处理技术和嵌入式技术的迅速发展,则极大的推动了家庭视频监控技术的 发展进程。 本文在分析了视频监控技术的现状和家庭监控特点的基础上提出了以嵌入 式视频服务器+ 摄像头为主体,以w e b 访问为交互方式的解决方案。该方案采 用三星公司的3 2 位高性能m c u $ 3 c 2 4 1 0 作为主控芯片,采用i jc l i n u x 为操作 系统,采用w l sg 7 0 0 s b 芯片实现视频图像的硬压缩,支持r s 2 3 2 、u s b 和r j 4 5 等接口方式。在视频格式上,我们采用m p e g 一4 压缩技术。m p e g 一4 采用基于对 象的编码和压缩技术,具有低传输码率,高视频质量的优点,非常适合网络视 频传输。我们的设计目标是开发出低成本、高效能、使用方便、配置灵活、交 互友好的嵌入式视频服务器。该视频服务器支持t c p i p 协议,运行w e b 服务程 序,形成一个专用的w e b 服务器,用户可以以w e b 方式利用j a v a a p p l e t 直观的 界面实现对家庭信息的远程监测和控制。 本文从系统的总体规划、模块划分,到软硬件各模块的设计,再到各模块 的具体实现都进行了较为详细的介绍。并在第五章重点阐述了系统主要软件模 块的开发实现过程,并给出了代码实现。在文章最后,指出了在本系统存在的 一些问题,并对下一步的工作提出了建议。 本方案考虑了家庭信息监控的特点,充分利用$ 3 c 2 4 1 0 的先进特性,具有 较强的适用性和较高的性价比。同时,本系统还具有良好的可扩展特性,可以 通过适当的功能扩展,满足用户的更高要求。 关键词;视频监控,嵌入式视频服务器,i ac l i n u x ,w e b 服务器,m p e g 一4 a b s t r a c t i nt h ep a s ty e a r s ,v i d e o s u p e r v i s eh a sb e e nu s e de x t e n s i v e l yi ne v e r yf i e l d , s u c ha s s e c u r i t ys u p e r v i s e i nr e s i d e n t i a l a r e a s ,s u p e r v i s e f o rs t a t i o n si n t e l e c o m m u n i c a t i o n ,s u p e r v i s ei nb a n k s ,f i r es u p e r v i s ei nf o r e s t ,s u p e r v i s ef o rp e c c a n c y a n dt r a f f i ca n ds oo n w i t ht h ep r o m o t i o no ft h ei n f o r m a t i o n - b a s e dp r o c e s so fo u r c o u n t r ya n di m p r o v e m e n to f p e o p l e sl i v i n gs t a n d a r d ,t h ev i d e os u p e r v i s ei se n t e r i n g t h eo r d i n a r yf a m i l y , a n db e c o m et h ei m p o r t a n tc o m p o n e n to ft h ei n t e l l e c t u a lh o u s e s y s t e m r a p i dd e v e l o p m e n to fn e t w o r kt e c h n o l o g y ,t e c h n o l o g yo ft h ev i d e oa n d e m b e d d e dt e c h n o l o g yi sag r e a tp u s hf o rt h ed e v e l o p m e n t p r o c e s so f f a m i l yv i d e o s u p e r v i s et e c h n o l o g y b a s e do nt h e a n a l y s e s o ft h ec u r r e n ts i t u a t i o no fv i d e o s u p e r v i s e a n d c h a r a c t e r i s t i co f f a m i l ys u p e r v i s e ,t h i sp a p e rb r i n gf o r w o r das o l u t i o nw h i c hi sm a d e u do fe m b e d d e dv i d e os e r v e ra n dv i d i c o na n dw ec a r lv i s i ta n dc o n t r o lt h es y s t e m w i t hw e b t h i ss c h e m ea d o p t s3 2b i th i g h - p e r f o r m a n c em c u $ 3 c 2 4 1 0o f s a m s u n g a st o pm a n a g e m e n t c h i p ,a d o p tg c l i n u x a so p e r a t i n g s y s t e m ,a d o p t sw i s g 7 0 0 s b c h i pt or e a l i z et h e h a r d c o m p r e s s i o no f t h e v i d e o p i c t u r e ,a n ds u p p o r t si n t e r f a c ew a y s , s u c ha sr s 2 3 2 ,u s ba n dr j 4 5 ,e t c w es t o r ea n dt r a n s m i tv i d e oi nt h ef o r m a to f m p e g 一4 m p e g - 4i sv e r ys u i t a b l ef o rt h ev i d e ot r a n s m i s s i o ni nt h en e t w o r k ,f o ri t a d o p t sc o d i n ga n dc o m p r e s s i o nt e c h n o l o g yb a s e d o no b j e c ta n dh a sv e r yl o wc o d e r a t ei nt r a n s m i s s i o na n dh i g hv i d e oq u a l i t y i nt h i ss o l u t i o n ,w ed e v e l o pav i d e os e r v e rw h i c hh a sl o w c o s t ,h i g hc a p a c i t ya n d e f f i c i e n c ya n di se a s yt o u s e t h i ss e r v e rs u p p o r t st c p i pp r o c o t o l sa n dr u n sa s p e c i a l - p u r p o s ew e bs e r v e r u s e r sc a l lm a k eu s eo fj a v aa p p l e tt or e a l i z er e m o t e m o n i t o r i n ga n d c o n t r o lo f f a m i l y si n f o r m a i o nb yw a y o f w e b i nt h i s p a p e r , w e d e t a i l e di n t r o d u c et h es o l u t i o nf r o mi t s c o l l e c t i v i t y d e s i g n ,d i v i s i o no fm o d u l e so f s o f t w a r ea n dh a r d w a r e ,t ot h ed e s i g na n dc o d i n go f s o f t w a r em o d u l e s i nc h a r p t e r5 ,w e e s p e c i a l l ye x p a t i a t ed e v e l o p m e n tp r o c e s so f m a i ns o f t w a r em o d u l e s ,a n dp r o v i d ec o d e s a tt h ee n do ft h ep a p e r , w ep o i n to u t s o m ep r o b l e m se x i s t i n gi nt h i ss y s t e ma n dp u tf o r w a r dt h es u g g e s t i o no nt h en e x t w o r k t h i ss o l u t i o n ,c o n s i d e r i n gt h ec h a r a c t e r i s t i co ff a m i l ys u p e r v i s e ,f u l l yu t i l i z i n g t h ea d v a n c e dc h a r a c t e r i s t i co f $ 3 c 2 4 10 , h a sv e r ys t r o n gs u i t a b i l i t ya n dv e r yh i g h i i - c o s tp e r f o r m a n c e m e a n w h i l e ,t h es y s t e mh a v eag o o de x p a n s i o nc h a r a c t e r i s t i c ,a n d w ec a l lm e e t u s e r s h i 曲e rd e m a n d b ye n h a n c i n g i t sf u n c t i o n k e y w o r d s : v i d e o s u p e r v i s e ,e m b e d d e d v i d e o s e r v e r , pc l i n u x ,w e b s e r v e r , m p e g - 4 - i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 立签当整日期:a 。口侔2 月五钼 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) ) 签名:泣导师签名:盈亟! 日期:a 。午年a 月3 0 日 嵌入式家用视频服务器的研究与实现 第一章引言 视频监控系统是安全防范系统的组成部分,它是一种防范能力较强的综合 系统。视频监控以其直观、方便、信息内容丰富而广泛应用于许多场合。近年 来,随着计算机、网络以及图像处理、传输技术的飞速发展,视频监控制技术 也有长足的发展。 1 1 视频监控的现状与发展 1 1 1 视频监控的现状 目前,在国内外市场上,数控模拟系统已发展非常成熟、性能稳定,在实 际工程应用中得到广泛应用,特别是在大、中型视频监控工程中的应用尤为广 泛。但随着计算机技术和图像处理技术的发展,以计算机技术及图像视频压缩 为核心的数字系统正迅速崛起,但尚不完全成熟,仍需进一步完善和发展。视 频监控市场正处在数字和模拟混合应用并将逐渐向数字系统过渡的阶段。 数字信号控制的模拟视频监控系统分为基于微处理器的视频切换控制加 p c 机的多媒体管理和基于p c 机实现对矩阵主机的切换控制及对系统的多媒体 管理两种类型。数控模拟视频监控系统的传输工具主要是同轴电缆,通常只适 合于小范围的区域监控,系统的扩展能力差,新的设备也很难添加到原有的系 统之中。而且在模拟监控系统中,由于各部分独立运作,相互之间的控制协议 很难互通,联动只能在有限的范围内进行,无法形成有效的报警联动。 9 0 年代末,随着微处理器、微机的功能、性能的增强和提高,多媒体技术、 视频压缩编码技术、网络通讯技术的发展,视频监控系统在功能、性能、可靠 性、结构方式等方面的要求都发生了很大的变化。模拟系统已无法满足更高的 要求,数字监控系统应运而生。数字化监控系统的核心技术就是图像压缩存储 技术和网络传输技术。数字监控系统的输入、控制、显示、存储这四大部分均 采用数字化图像压缩处理技术,是经过数字化处理的图像,可利用现有的网络 技术,将现场图像传输到远端监控中心。 1 1 2 视频监控系统的发展方向 前端一体化、视频数字化、监控网络化、系统集成化是视频监控系统公认 的发展方向,而数字化是网络化的前提,网络化又是系统集成化的基础,所以, 视频监控发展的最大两个特点就是数字化和网络化。 l 数字化 嵌入式家用视频服务器的研究与实现 数字化是2 1 世纪的特征,是以信息技术为核心的电子技术发展的必然,数 字化是迈向成长的通行证,随着时代的发展,我们的生存环境将变得越来越数 字化。 视频监控系统的数字化首先应该是系统中信息流( 包括视频、音频、控制 等) 从模拟状态转为数字状态这将彻底打破“经典闭路电视系统是以摄像机 成像技术为中心”的结构,根本上改变视频监控系统从信息采集、数据处理、 传输、系统控制等的方式和结构形式。信息流的数字化、编码压缩、开放式的 协议,使视频监控系统与安防系统中其它各子系统间实现无缝连接,并在统一 的操作平台上实现管理和控制,这也是系统集成化的含义。 2 网络化 视频监控系统的网络化将意味着系统的结构将由集中式向集散式系统过 渡,集散式系统采用多层分级的结构形式,具有微内核技术的实时多任务、多 用户、分布式操作系统以实现抢先任务调度算法的快速响应,组成集散式监控 系统的硬件和软件采用标准化、模块化和系列化的设计,系统设备的配置具有 通用性强、开放性好、系统组态灵活、控制功能完善、数据处理方便、人机界 面友好以及系统安装、调试和维修简单化,系统运行互为热备份,容错可靠等 功能。 系统的网络化在某种程度上打破了布控区域和设备扩展的地域和数量界 限。系统网络化将使整个网络系统硬件和软件资源的共享以及任务和负载的共 享,这也是系统集成的一个重要概念。 1 1 3 视频监控在家庭中的应用 随着经济的快速发展,人们生活节奏的提高,照顾家庭的时间将越来越少。 人们越来越感觉时间的紧张:不但要周旋在繁杂的工作之中,同时也要兼顾自 己的“家”。怎样才能够解决这个矛盾,做到“鱼与熊掌兼得”呢? 现代科技的 高速发展使两者兼顾成为一种可能。网络通讯技术及图像压缩处理技术以及传 输技术的快速发展使得家庭能够采用最新的通讯和图像处理技术,组建家庭 视频监控系统。通过在家中组建远程视频监控系统,人们在可以繁忙工作的同 时,在远程就了解自己家庭概况,及时做出分析与判断。 1 2 课题内容 本课题就是要设计并实现一个w e b 服务器为核心的家用嵌入式视频服务 器。系统嵌入一个内置w e b 服务器,采用嵌入式实时多任务操作系统。摄像机 送来的视频信号数字化后由高效压缩芯片压缩,通过内部总线送到内置的w e b 嵌入式家用视频服务器的研究与实现 服务器,网络上用户可以直接用浏览器观看w e b 服务器上的摄像机图像,授权 用户还可以控制摄像机、云台、镜头的动作或对系统配置进行操作。 由于把视频压缩和w e b 功能集中到一个体积很小的设备内,可以直接连入 局域网,达到即插即看,省掉多种复杂的电缆,安装方便( 仅需设置一个d 地 址) ,远程用户也无需安装任何硬件设备,仅用浏览器即可观看。与其它监控系 统相比,本系统有以下一些优点: 布控区域广阔:系统通过w e b 服务器直接连入网络,没有线缆长度和 信号衰减的限制,同时网络是没有距离概念的,彻底抛弃了地域的概 念,扩展布控区域。 可组成非常复杂的监控网络:采用基于嵌入式w e b 服务器为核一t l , 的监 控系统,在组网方式上与传统的模拟监控和基于p c 平台的监控方式有 极大的不同,由于w e b 服务器输出己完成模拟到数字的转换并压缩, 采用统一的协议在网络上传输,支持跨网关、跨路由器的远程视频传 输。 性能稳定可靠,无需专人管理:嵌入式w e b 服务器实际上基于嵌入式 技术,采用嵌入式实时多任务操作系统,视频压缩和w e b 功能集中到 一个体积很小的设备内,直接连入局域网或广域网,即插即用,系统 的实时性、稳定性、可靠性大大提高,也无需专人管理,非常适合于 无人值守的环境。 但是,当监控中心需要同时观看多个摄像机图像时,对网络带宽会有一定 的要求。 1 3 论文编排 本文主要介绍的是一种基于嵌入式视频服务器的以w e b 作为交互平台的 家庭信息远程监控方案的设计与实现。在行文上,本文首先对系统开发将要用 到的技术作了简要的介绍,然后以较多的篇幅详细地阐述了系统的方案设计和 具体的实现。 全文共分为六章,每章的内容安排如下: 第一章引言 这一章介绍了视频监控技术的现状和发展,分析了其应用于家庭监控的意 义和应用前景,并对本文的编排作了简要的介绍。 第二章嵌入式系统和嵌入式开发 嵌入式家用视频服务器的研究与实现 这一章介绍了嵌入式系统的基本概念,嵌入式系统的硬件环境,嵌入式系 统的体系结构,嵌入式的开发流程和软件开发方法,嵌入式l i n u x 操作系统以 及嵌入式条件下的设备驱动开发技术。 第三章嵌入式w e b 服务器 这一章介绍了w e b 技术在嵌入式系统中的应用情况,并分析与w e b 相关 的h t t p 协议和j a v a a p p l e t 技术。 第四章系统总体设计 这一章对系统整体设计方案作了详细的介绍,对系统的软硬件都做了模块 划分,并介绍各模块的具体设计。 第五章系统重要模块实现 这一章详细地介绍了系统的几个主要软件模块设计和代码实现过程。 第六章结束语 总结全文,并对下一步工作提出了建议。 嵌入式家用视频服务器的研究与实现 第二章嵌入式系统及嵌入式开发 2 1 嵌入式系统基础 随着信息技术的发展和数字化产品的普及,i n t e r n e t 得到了广泛深入的应 用:从消费电器到工业设备,从民用产品到军用器材,嵌入式被应用到手挣通 信设备、国防军事、消费电子和自动化控制等各个领域。嵌入式系统的广泛应 用前景和发展潜力使其成为2 1 世纪的应用热点之一,嵌入式系统通常是面向特 定应用的。然而,嵌入式系统本身不仅与一般的p c 上的应用系统不同,而且针 对不同的具体环境而设计的嵌入式应用之间的差别也很大。 2 1 1 嵌入式系统概念 嵌入式系统一般指非p c 系统,它以应用为中心、以计算机技术为基础,软 硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。它包括硬件和软件两部分。硬件包括处理器微处理器、存储器 及外设器件和i o 端口、图形控制器等。软件部分包括操作系统软件( 要求实 时和多任务操作) 和应用程序。应用程序控制着系统的运行,而操作系统控制 着应用程序编程与硬件的交互作用。有时设计人员把这两种软件组合在一起。 这种系统具有软件代码小,高度智能化,响应速度快等特点,特别适合于要求 实时的和多任务的体系。 2 1 2 嵌入式系统组成 与普通的计算机系统一样,嵌入式系统也是一种软硬件混合系统,整个系 统是由硬件和软件两大部分组成。前者是整个系统的物理基础,它提供软件运 行平台和通信( 包括人一机交互) 接口,后者实际控制系统的运行。硬件部分 又包括嵌入式处理器、外围设备和外围电路三个部分;软件部分分为嵌入式操 作系统和嵌入式应用软件两个层次,如下图所示。 图2 - i 系统层次图 2 1 3 嵌入式系统特点 及时响应:嵌入式系统是某种技术过程的核心处理环节,必须满足技术过 嵌入式家用视频服务器的研究与实现 程的时限要求,自然具有实时处理的特性。 并发处理:实际环境中,嵌入式实时系统处理的外部事件往往不是单一的, 这些事件往往随机发生,可能同时出现。因此,嵌入式处理具有分布和并 发的特点。 专用紧凑:由于嵌入式设备的用途固定、成本敏感,其软硬件够用即可。 因此,它在体积、功耗和配置方面有明显约束。 健壮可靠:嵌入式产品的使用人员多为非计算机专业人士,使用环境不定, 往往条件恶劣,因此其健壮性和可靠性是该类系统的必备条件。 多样性:嵌入式系统应用广泛,品种繁多,形式多样。 技术密集:嵌入式系统是计算机技术、微电子技术和通信技术相结合的产 物,因此,它必然是个技术密集、不断更新的知识集成系统。 开发困难:嵌入式系统本身不具备自举开发能力,即使设计完成以后,用 户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环 境才能进行开发。 2 2 嵌入式系统硬件 嵌入式系统的运行离不开硬件支持。与普通p c 一样,硬件环境可分成三大 部分:嵌入式处理器、外围电路和外围设备。 2 2 1 嵌入式处理器 嵌入式处理器是嵌入式硬件系统的核心,所提供功能的强弱直接决定了嵌 入式应用的适应范围和开发复杂度。根据处理器配嚣情况,嵌入式处理器可以 分为下面几类。 l 嵌入式微处理器( e m p u ) 嵌入式微处理器( e m p u ) 微控制器( m c u ) 的基础上简化而来。在应用中, 将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的功能,以 大幅度减小系统体积和功耗。嵌入式c p u 在功能上和标准c p u 基本一致,具有 体积小、重量轻、成本低、可靠性高的优点。但在电路板上必须包括r o m 、r a m 、 总线接口和相关外设。嵌入式c p u 及其存储器、总线、外设等被安装在一块电 路板上,称为单板计算机。嵌入式c p u 目前主要有x 8 6 、p 0 1 y e r p c 、6 8 0 0 0 、m p s 、 a i w 系列等。 2微控制器( m c u ) 嵌入式家用视频服务器的研究与实现 嵌入式微控制器又称为单片机,顾名思义,就是交整个计算机系统的主要硬 件集成到一块芯片中。m c u 一般以某一种微处理器的c p u 为核心,芯片内集成了 r o m e p r o m 、r a m 、u k x g 、总线逻辑、定时计数器、w a t c h d o g 、i o 、串行口、脉 冲调制输出、f l a s hr a m ( 闪存) 和e e p r o m 等各种必要功能和外设接口,也可以集 成a d 、d a 转换接口。m c u 是目前嵌入式系统工业的主流,占据嵌入式系统约7 0 的市场。与e m p u 相比,它最大特点是单片化,体积大大减小,从而使功耗和成本 下降,可靠性提高。目前主要的m c u 通用系统有5 l 5 2 、9 6 1 9 6 、c l g 1 6 7 、 m i c 6 8 h c 、m 1 6 c ( 三菱) 、x a ( p h i l i p s ) 、a v r ( a t m e l ) 等。 3d s p 处理器 d s p 处理器对系统结构和指令进行了特殊设计,使其适合于执行d s p 算法, 编译效率较高,指令执行速度较快。在数字滤波、f f t 、谱分析等方面,d s p 算 法正在大量进入嵌入式领域。d s p 应用正在从通用单片机中以普通指令实现d s p 功能,过渡到采用嵌入式d s p 处理器处理。推动嵌入式d s p 处理器发展的另一 个因素是嵌入式系统智能化,例如,各种带有智能的消费类产品,生物信息识 别终端,带有加解密算法的键盘,a d s l 接入,实时语音解压系统,虚拟现实等。 这类智能化算法一般是运算量较大,特别是向量运算、指针线性寻址等较多, 而这些正是d s p 处理器的长处所在。目前比较有代表性的d s p 处理器产品有 t e x a si n s t r u m e n t s 公司的t m s 3 2 0 系列和m o t o r o l a 的d s p 5 6 0 0 0 系列。另外, p h i l i p s 公司也推出了基于可重用嵌入式d s p 结构低成本、低功耗的r e a l d s p 处理器。 4片上系统 随着e d i 的推广、v l s l 设计的进步及半导体工艺的迅速发展,将整个嵌入 式系统或其大部分集成到一块或几块芯片中成为现实,这就是片上系统( s y s t e m o nc h i p 。它以通用c p u 内核为标准库,用标准的v h d l 等语言描述,存储在器 件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半 导体工厂制作样品。这样,除个别无法集成的器件以外,整个嵌入式系统大部 分可集成到一块或几块芯片中去,使应用系统电路板变得很简洁,对于减小体 积和功耗,提高可靠性非常有利。目前比较通用的s o c 系列包括 i n f i n e o n ( s i e m e n s ) 公司的t r i c o r e 、m o t o r o l a 公司的m - c o r e 、某些a r m 系列 器件以及e c h e l o n 和m o t o r o l a 联合研制的n e u r o n 芯片等。 2 2 2 外围电路 外围电路包括嵌入式系统的内存、i o 端口、复位和电源等,与c p u c o r e 一起构成一个的嵌入式目标系统。 嵌入式家用视频服务器的研究与实现 2 2 3 外围设备 外围设备嵌入式系统与真实环境交互的各种设备,包括存储设备( f l a s h c a r d ) 、i o 设备( 鼠标、键盘、l c d 等) 和打印设备( 打印机、扫描仪等) 等。 2 3 嵌入式软件体系结构 嵌入式软件系统可以分为三个层次:设备驱动、操作系统和应用软件,如 下图所示。 应用程序接g a p i 幽幽蚓圈日曰 l o s 内核 i| 数据库 l 图2 - 2 嵌入式软件系统结构 2 3 1 设备驱动 设备驱动程序是嵌入式系统中不可缺少的重要部分,为上层软件提供设备 的操作接口。上层软件只需调用驱动程序提供的接口,而不用理会设备的具体 内部操作。这样,上层软件开发人员的工作就集中于自己的功能代码的开发而 不用关心下层硬件的交互。因为上层软件最后都会调用程序的接口来完成最后 的工作,所以驱动程序的性能对整个系统的工作性能影响很大。一个好的驱动 程序和一个差的驱动程序对一个系统的性能测试结果相差很大,在实践中发现 采用两个不同的驱动程序得到的性能测试指标相差几倍。 驱动程序按照工作的层次不同可分为通用驱动程序和b s p 驱动程序两种。 其中,通用驱动程序可以方便地从一个硬件平台移植到另一个硬件平台而不用 做任何修改,工作的层次比较靠上,基本上不体现不同硬件系统的差异:b s p 相关驱动程序则局限于某一特定的硬件平台,工作的层次比较靠下,如果系统 要移植到别的硬件平台,b s p 要发生相应的改变,相应地也要对b s p 相关驱动 程序进行修改。具体的修改体现了所使用的硬件系统的特点。 一个好驱动程序不仅要实现设备的基本功能函数,如初始化、中断响应、 发送、接收等,使设备的基本功能能够实现,而且因为设备在使用中还会出现 嵌入式家用视频服务器的研究与实现 各种各样的差错,所以驱动程序还应该有完备的错误处理函数,以便设备能够 很快从错误中恢复过来继续工作。当设备不能够从工作中的错误中恢复时,设 备将处于死机状态,只有重新启动设备才能再次正常工作。 一个好的嵌入式操作系统中的所有驱动程序都会遵循通用的接口。组织时 采用的是面向对象的方法,一个设备就是个对象( 数据结构) 。而对象内有自 己的数据和方法,每一个设备的方法被调用时的第一个参数都是这个设备对象 本身。从这一点来说,嵌入式系统的驱动程序的组织和面向对象中的对象概念 是一样的。对上层的应用程序来说,设备驱动程序隐藏了设备的具体细节,对 各种不同型号、不同种类的设备提供了简便、高效的接口,应用程序可以如同 调用数据结构一样对此设备进行操作。 通常,一个好的嵌入式操作系统都会提供常用的设备驱动程序,用户只需 在配置文件中指定设备的类型、规格和重要参数即可,不用自己编写驱动程序。 但在以下3 种情况下,用户必须自己编写驱动程序。 用户使用的设备比较新,操作系统不支持。 用户想在底层实现自己的特殊要求,比如双网卡冗余、大容量吞吐、数据 备份等,此时用户必须对驱动程序进行修改,在驱动程序中加上实现所需功能 的函数。 用户的嵌入式系统功能比较简单,不需要嵌入式操作系统,只需一个循环 结构循环执行系统的软件。 虽然各个设备的功能和作用各不相同,但是典型的驱动程序一般都会有以 下几个部分。 初始化:在系统启动或者模块加载时,必须调用驱动程序中的初始化模 块来创建设备对象,而这个设备对象对应的数据结构是一个全局变量。 这个全局变量内包含设备的重要参数和功能函数指针。系统对这个设备 所有操作都用这个数据结构来实现。驱动程序必须有一个初始化函数, 在把驱动程序载入系统的时候会调用这个初始化函数。它检测设备,根 据硬件的特征检查硬件是否存在,配置和初始化硬件,将设备初始化到 相应的数据结构等。 发送和接收:发送和接收是设备最基本的功能,任何设备都会同系统中 的其他部件,比如c p u 、系统总线、设备控制器等,进行数据交流。进 行数据交流其实就是完成数据收发工作,所不同的只是所收发数据类型 和组织形式。在系统要通过设备来发送数据时,驱动程序要告诉系统设 备的发送函数在哪里,系统在有数据要发送时就会调用驱动程序提供的 嵌入式家用视频服务器的研究与实现 发送函数。而且设备也需要能够接收到部件发送来的数据,这时将调用 驱动程序提供的接收函数。驱动程序通过调用接收函数把数据接收进来 进行必要的处理。 中断:中断在设备正常运行中有着重要的地位,驱动程序必须提供中断 响应并进行相应处理。一般处理方法是把个或多个中断处理函数注册 到设备对应的数据结构中去。系统在设备中断发生后,调用驱动程序中 的中断处理程序。有的设备只有一个中断,但是中断处理函数在要根据 设备的状态寄存器的值进行多个事件的处理。 时钟:在实现驱动程序时,很多地方会用到时钟,如某些协议里的超时 处理、硬件的轮询、系统的资源分配算法等。一般先调用一次取时函数 ( 此函数是记录系统启动运行后到当前时刻的间隔) 来记录下一个时间 值;第二次执行到此处时再执行一次取时函数来等到第二次的时间值; 通过计算两个时间的差值来判断是否超时。驱动程序可以调用b s p 提供 的对设备定时器进行操作的接口来完成具体的时钟处理函数。 卸载停止:当在系统运行中因为系统的特殊要求不使用这个设备时, 可以将设备卸载。具体做法是调用驱动程序提供的函数,将设备对应的 数据结构中的一些元素置为空值或收回为设备对象分配的存储区域。 总之,要编写一个驱动程序,必须对设备的工作机制、设备与其他部分的 交互、设备可能遇到的错误情况等各个方面有全面的了解。完成编写工作的驱 动程序还要在设备上进行相应的功能测试,以测试驱动程序在各种情况下工作 是否稳定,性能是否正常。如有缺陷,开发人员还要对驱动程序进行相应的完 善。 2 3 ,2 嵌入式操作系统 嵌入式计算机的操作系统称为嵌入式操作系统。许多简单的嵌入系统,比 如单片机控制系统,并不需要嵌入式操作系统。但是,随着嵌入式系统复杂性 的增加,需要对复杂的嵌入式软件系统进行合理的控制,因此,嵌入式操作系 统显得起来越重要。 1 、嵌入式操作系统的特点 目前,对嵌入式实时操作系统有以下几个方面的要求: 实时性。嵌入式系统通常有实时性要求,因此嵌入式操作系统往往又是 实时操作系统。早期的嵌入式系统几乎都是用于控制目的,从而或多或 少都有些实时要求,所以从前嵌入式操作系统实际上就是实时操作系统 嵌入式家用视频服务器的研究与实现 的代名词。 系统可剪裁。由于嵌入式系统的资源限制,所采用的操作系统应该有极 强的针对性。因此,嵌入式操作系统功能要能够配置,够用即可。 轻量型网络支持。随着网络时代的到来,更多的嵌入式设备需要连接上 网。因此,需要在嵌入式操作系统中提供必要的轻量型协议栈支持。 功能可扩展。由于新型嵌入式设备的功能多样化,要求嵌入式操作系统 除提供基本的内核支持外,还需提供越来越多的可扩展功能模块( 含用 户扩展) ,如功耗控制、动态加载、嵌入式文件系统、嵌入式g u i 系统 和嵌入式数据库系统等 2 、嵌入式操作系统分类 目前,常用的嵌入式实时操作系统可分成三大类:商用系统、专用系统和 开放系统。 商用系统:商品化的嵌入式操作系统功能强大,应用范围相对较广,而 且辅助工具齐全可以用于许多不同的应用领域。现在市面上主要有 w i n d r i v e r 的v x w o r k s 和p s o s ,3 c o m 的p a l mo s ,m i c r o s o f t 的w i n d o w s c e ,e p s o n 的r o s 3 3 ,c o r e t e k 的d e l t a o s 和中科院的h o p e n 等。 专用系统:一些专业厂家为本公司产品特制的嵌入式操作系统,提供给 应用开发者使用。如c i s c o 公司的网络产品所用的i o s , m t a n o k i a e r i s o n 合作研制的e p o c 等。这些操作系统功能相对较弱, 但针对性强,其安全可靠性大都超过普通商用系统。 开放系统:这是近年来发展迅速的一类操作系统,其典型代表是各类嵌 入式l ir l u x ( 如r t l i n u x ) 和美国军方研制的r t e m s 。由于应用系统开 发者可以获得这些系统的源代码,因而降低了开发难度。但其缺点也非 常明显,功能简单,技术支持差,系统稳定性较差。因此,它们对开发 者的要求较高。 3 、嵌入式操作系统的体系结构 操作系统是硬件与用户之间的一层系统软件,负责管理整个系统,同时将 硬件细节与用户隔离开来,为用户提供一个更容易理解和进行程序设计的接口。 操作系统的质量以它的体系结构为基础,确保系统的性能、可靠性、灵活性、 可移植性和可扩展性等达到人们的要求。同时定义了硬件与软件的界限、操作 系统内部各构件( 基本内核、文件、g u i 、浏览器等) 的组织关系以及系统与用 户的接口。一个典型的嵌入式实时操作系统可能包括以下几个部分。 基本内核 嵌入式家用视频服务器的研究与实现 扩展内核 设备驱动程序接口 应用编程接口 2 4 嵌入式应用开发 嵌入式应用软件的开发必须将硬件、软件、人力资源等元素集成起来,并 进行适当的组合以实现目标应用对功能和性能的需求。在嵌入式软件的开发过 程中,实时性能常常与功能一样重要。这就使嵌入式软件开发关注的方面更广 泛,要求的精度更高。 2 4 1 嵌入式应用软件开发流程 嵌入式应用软件的开发流程与通用软件的开发流程大同小异,但开发所使 用的设计方法有一定的差异。整个开发流程可分为需求分析、设计阶段、生成 代码阶段和固化阶段。如下图所示。 i需求分析阶段 、d i设计阶段 气芝土, l生成代码阶段 气之三, 固化阶段 图2 3 嵌入式开发流程 l 、需求分析阶段 嵌入式开发需求分析阶段与普通软件开发的需求分析阶段差异不大,主要 包括对问题的识别和分析、制订规格说明文档和需求评审三个方面的内容。 问题的识别和分析:对用户提出的问题进行抽象识别用以产生功能需求、 性能需求、环境需求、可行性需求和成本需求等用户需求。嵌入式应用软 件的性能需求中对实时性通常有更严格的要求。而对于用户界面和系统升 级的需求相对较少,甚至有些应用场合根本不需要进行人机的交互,软件 可按预定的程序一直运行下去。 嵌入式家用视频服务器的研究与实现 制订规格说明文档:经过对问题的识别,产生了系统各方面的需求。通过 对规格的说明,文档得以清晰、准确地描述。这些说明文档包括需求规格 说明书和初级的用户手册等。 需求评审:需求评审作为系统进行下一阶段前最后需求分析复查手段,在 需求分析的最后阶段对各项需求进行评估,以保证软件需求的质量。需求 评审的内容包括正确性、无歧义性、安全性、一致性、可理解性、可修改 性、可追踪性等多个方面。 2 、设计阶段 系统的设计阶段包括系统设计、任务设计和任务的详细设计。 系统设计和任务设计:嵌入式应用软件是通过并发的任务来运作的,应用 软件开发的系统设计将系统划分为多个并发执行的任务,各个任务允许并 发执行,通过相互间通信建立联系。嵌入式软件开发中引入了d a r t s ( d e s i g n a n da n a l y s i so fr e a l t i m es y s t e m s ) 的设计方法。d a r t s 设计方法是结 构化分析结构化设计的扩展。它给出划分任务的方法,并提供定义任务间 接口的机制。d a r t s 设计方法分为数据流分析、划分任务、定义任务间接口 几个步骤。 任务的详细设计:任务的详细设计的主要工作是确定每个任务的结构。画 出每个任务的数据流图,使用结构化设计方法,从数据流图导出任务的模 块结构图,并定义各模块的接口。然后进行每个模块的详细设计,给出每 个模块的程序流程图。 3 、生成代码阶段 生成代码阶段需要完成的工作包括编码、交叉编译和链接、交叉调试和测 试等。 编码:作好模块的详细设计之后,就要进行代码的编写工作。代码的编写 是严格按照设计文档进行的,因此,规范化的设计文档有助于缩短代码的 开发时间。 交叉编译和链接:代码编写完成之后,就要进行代码的编译和链接以生 成执行代码。由于目标机和宿主机的c p u 通常是不相同的,因此,宿主机 通常要能够支持交叉编译。编译链接生成两种类型的可执行文件:调试用 的可执行文件和固化的可执行文件。 交叉调试:嵌入式软件开发的调试方法不同于通用软件。通用软件开发中 的调试器和被调试程序往往运行在同一台机器上,作为操作系统上的两个 进程,调试进程通过操作系统提供的调试接口控制被调试进程。嵌入式软 嵌入式家用视频服务器的研究与实现 件开发通常采用交叉调试方法,调试器运行于宿主机,而被调试程序则运 行在目标机上。 测试:与通用软件开发的测试一样,嵌入式软件开发过程中的调试也分为 单元测试和系统集成测试两部分。 四固化阶段 固化的工作是把开发完成的软件代码写入到目标环境的非易失性的存储设 备中,以保证每一次都能正确无误地运行。固化用的可执行代码不同于调试用 的可执行代码,它屏蔽了调试信息。固化代码中必须要包含启动模块,以支持 硬件启动和初始化。把代码固化到目标环境中之后,还要进行运行测试,以保 证程序的正确无误。到这里,嵌入式应用软件的开发就基本完成了。 2 4 2 嵌入式系统的硬件软件协同设计技术 传统的嵌入式系统设计方法如图2 4 所示,硬件和软件分为两个独立的部 分,由硬件工程师和软件工程师按照拟定的设计流程分别完成。这种设计方法 只能改善硬件软件各自的性能而有限的设计空间不可能对系统做出较好的性 能综合优化。 图2 4 传统的嵌入式系统的设计方法 虽然在系统设计的初始阶段考虑了软硬件的接口问题,但由于软硬件分别 开发,各自部分的修改和缺陷很容易导致系统集成出现错误。由于设计方法的 限制,这些错误不但难于定位,而且更重要的是,对它们的修改往往会涉及整 个软件结构或硬件配置的改动。显然,这是灾难性的。 一个典型的硬件软件协同设计过程如图2 - 5 所示。首先,应用独立于任何 硬件和软件的功能性规格方法对系统进行描述,采用的方法包括有限态自动机 ( f s m ) 、统一化的规格语言( c s p 、v h d l ) 或其他基于图形的表示工具,其作用 是对硬件软件统一表示,便于功能的划分和综合:然后,在此基础上对硬件 软件进行划分,即对硬软件的功能模块进行分配。但是,这种功能分配不是随 嵌入式家用视频服务器的研究与实现 意的,而是从系统功能要求和限制条件出发,依据算法进行的。完成硬件软件 功能划分之后,需要对划分结果做出评估。方法之一是性能评估,另一种方法 是对硬件、软件综合之后的系统依据指令级评价参数做出评估。如果评估结果 不满足要求,说明划分方案选择不合理,需要重新划分硬软件模块,以上过程 重复直到系统获得一个满意的硬件软件实现为止。 图2 - 5 嵌入式系统的软硬件协同设计 软硬件协同设计过程可归纳为: ( 1 ) 需求分析; ( 2 ) 软硬件协同设计; ( 3 ) 软硬件实现; ( 4 ) 软硬件协同测试和验证。 这种方法的特点是在协同设计( c o d e s i g n ) 、协同测试( c o - t e s t ) 和协同 验证( c o v e r i f i c a t i o n ) 上,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论