东莞市海洋科技有限公司

东莞市海洋科技有限公司

大客户服务中心
在线咨询: 海洋科技-售前咨询 海洋科技-售前咨询
§您现在的位置:首页 > 安防资讯 >

Linux系统在监控系统嵌入式DVR中的应用

发布日期:2013-07-31 21:59:00   共阅:[]次   来源:

以强稳定性的优势,嵌入式DVR越来越被监控安防行业与广大客户所接受。监控系统嵌入式DVR的稳定性优势不光来自于硬件的低故障率,很大因素取决于嵌入式DVR中所采用的操作系统及应用软件的高稳定性,它所选用的软件平台起着至关重要的作用。

  从国内嵌入式DVR的领军人物海康威视公司在嵌入式DVR的开发历程上,可清晰地看出Linux系统在嵌入式DVR中的地位日益凸显出来。海康威视公司第一代嵌入式DVR的研发初期,在确定以Samsung S3C2510加Ti的DM642作为其硬件平台的时候,采用了Linux与VxWorks同时开发,相互参照、评估,最终主要由于基于对WindRiver 的VxWorks商用软件的信赖,选用了VxWorks作为其操作系统及软件开发平台;在第二代嵌入式DVR技术选型时,定下了以Ti的Davinci平台作为硬件平台,由于Linux提供了对该平台的实现,而VxWorks不能提供该硬件平台的支持,海康威视公司选择性地将软件平台转向了Linux系统;而在第三代嵌入式DVR的预言期间,就明确、肯定地将Linux定为海康威视公司下一代嵌入式DVR的系统平台。不难看出,Linux凭着其自身的特点,各方面的优势逐步成为了嵌入式DVR软件平台的主角。

  当今非手机类的嵌入式产品中,主流的操作系统有VxWorks,各种版本的Linux、uCOS-II、uC/OS,Qnx等等。其中最著名的VxWorks是美国Wind River公司推出的一种嵌入式强实时操作系统,自20世纪80年代问世以来,以其高性能、高可靠性、高实时性等特点成为实时操作系统中最具特色的系统。尤其以成功应用于美国军方、国防部、航空航天项目如火星探测车和爱国者导弹等高科技产品而声名鹊起。自1996年登陆中国,短短几年就已成为国防、工业自动化、网络通信、航空航天、医疗仪器、状态监控以及消费电子产品等嵌入式实时领域的首选操作系统。VxWorks 作为商用软件,以其实时性、可靠稳定性著称于世,也因此被广泛用在第一代的嵌入式DVR系统中。 
  但正是它所具有的这些特性也必定限制了其发展,因为是商用软件,所以有专业的、全职的技术人员进行维护,虽然WindRiver是一家非常成功的嵌入式软件公司,也同时可以拥有相当庞大的研发队伍,但针对现代IT迅猛发展所带来的众多的硬件平台、海量的软件、协议而言,那是相当有限的,所以造成VxWorks系统现在所能支持的硬件平台有限,只能支持一些主流厂家的典型平台,完全不能和日新月异的硬件平台所同步,也违背了IT产业著名的摩尔定理。为了保证其可靠性,兼顾实时性的特点,WindRiver在集成软件模块时非常谨慎,发展也就必然缓慢,造成不能对众多的软件协议实现及时地支持。

  而且针对DVR系统,主要实现视音频的编码录制任务,对于VxWorks推崇的实时特性并不能得到有效利用,在DVR系统中,每秒25帧、50场及20毫秒视频编码的实际处理任务都是由DSP或ASIC芯片等专用芯片完成,而CPU上运行的操作系统所负责的仅仅是应用级的程序调度,VxWorks所能达到的微时限(Deadline)特性对于DVR所需的应用任务来说简直是牛刀杀鸡。而uCOS-II、uC/OS,Qnx等操作系统由于其本身产生的目的、设计的特性、维护运营的模式都更适合于纯的工业控制领域。

  Linux自诞生那天开始,就以开源自由的特性吸引了全世界成千上万优秀的技术人员投入到Linux软件的开发中来,使Linux系统得以高速发展,也使得Linux可以支持市场上绝大多数的硬件平台和各式各样的软件协议,保持着高度一致的同步性。在Linux的应用初期,Linux的自由开放特性也使得不少商家对其产生很多的误解,认为Linux就是不需要投入的!“开源意味着自由,但并不是成本上的免费,尽管有时候的确免费。”位于加利福尼亚州San Mateo的开源软件开发公司Untangle 的CTO Dirk Morris所说的话给了Linux应用一个很好的参见。开源软件具有灵活性、可靠性、安全以及易于采用等诸多特点,但免费不能算特点,至少不是主要特点。由于开源软件参与的人员来自于世界各地,不同行业,不同领域,不同目的,开发质量也良莠不齐,获得的技术支持很有限,使得开源产品通常都不是一个完整的产品,也一定程度上造成使用Linux会遇到很多困难。因此我们一定不要把开源简单地看成免费软件,而应该把它视为自由软件,自由软件意味着用户可以自由地运行、拷贝、分发、研究和修改软件。开源的本质是为程序员提供自由地查看和修改代码的能力,让程序员可以学习和借鉴别的程序员的设计思路,然后进一步扩展和完善该产品,正是这个流程让Linux功能越来越强大,性能越来越稳定。

  随着Linux的日益成熟,使用者对其有了进一步深入的了解,它所拥有的自由、开源本性,使得Linux具有广泛的硬件支持特性、不断自我修复的完善性、强大的软件协议特别是网络的支持功能,也必定决定了其将用作各式各样的嵌入式系统中,嵌入式DVR当然也不会例外。而且白热化的DVR市场,使得成本因素、稳定因素、灵活因素越来越被各DVR用户所看重,因此Linux也就自然成为了现代嵌入式DVR中的主角。为了提升嵌入式DVR的竞争力,现在嵌入式DVR产品的比拼已不局限于图像编码的压缩率、清晰度等基本的视频特性上,更关注于嵌入式DVR作为一个系统所能提供的服务,因此而带来了各式各样且非常新颖的需求,这种需求也只有具有灵活特性和广大资源的Linux平台才能完成,对于某个功能,比如客户想要在DVR上加上SIP网关的功能,对于VxWorks这样的封闭系统是很难实现的,而对于Linux来讲,只要在主流的PC平台上实现了,那对于嵌入式DVR平台来讲,仅仅是一个交叉编译的修正实现。若要对某个新颖硬件的支持,比如某款新的CPU推出,或某个WiFi功能的支持,各厂家、协议组织都会推出相应的Linux的示例程序,得到相应的源代码,我们要做的大多数仅仅是个平移实现的工作。

  从应用模式上分,适合于嵌入式系统的Linux主要有三类,支持不含MMU单元CPU平台的uClinux,通用内核加上相应硬件平台补丁的Linux(如Montavista,WindRiver提供的Linux),注重于强实时性的RT-Linux。因DVR自身对实时性要求不高,所以RT-Linux类的linux不太适用于我们的行业,更多地依据所选择的硬件平台特性而选择前两种Linux,如在海康威视公司第一代DVR系统中就采用了uClinux,第二、第三代DVR就采用了通用的Linux系统。

  在嵌入式DVR中实现Linux系统主要分为几个部分:引导装载程序、Linux内核、Linux的根文件系统及相应的应用程序。