面向对象的嵌入式系统开发技术
所有顶层的操作和输入处理都建立在抽象接口之上。这种分层结构实际上就是一种面向对象的程序结构,目的是将底层实际的不同驱动抽象成对上层的统一接口。进程管理、线程管理、内存管理、设备管理等也可以抽象成为统一的接口,方便嵌入式系统的开发。
采用上述分层方法,使用标准C或者标准C++编写上层的应用程序,把与硬件及操作系统相关的接口完全封装起来,对上层应用程序编写着来讲,完全感觉不到底层的变化。硬件变化或操作系统改变只需将硬件依赖型接口内部改变即可,这样就能满足程序运行于不同操作系统上的需要,并且可以是在不同系统下采用统一的接口。
2 面向对象嵌入式设计与模型的实际应用
数字视频监控系统是以计算机为核心,结合视频处理、通信、网络和存储技术的一种监控系统。数字视频监控系统具有以往传统的电视监控系统等所有的功能,并且在远距离、性能方面相比具有很大的优势。它与计算机相结合,使得异地、远距离监控变得非常方便;与网络、通信的结合,形成更有实用价值、功能更加强大的网络通信管理系统。信息化的时代要求信息的处理随时随地,而数字视频监控系统正是这种特点和趋势的具体体现。
已经实现的SuperVisionl.0为了保证具有良好的灵活性和可扩展性,在开发中使用了许多面向对象技术。根据实际生活以及监控系统的需要,分析数字视频监控系统中可能出现的异常情况,重点在于运动检测,异常报警处理方面的设计,以及整个工程的速度性能的考虑。设计静止物体缓慢变化、光线缓慢变化以及消除噪声和干扰等多种具有不同应用需求的动态检测算法,同时提出不同灵敏度的"阶梯思想";设计远程控制与本地控制并行处理的机制算法,构建本地的Web服务器,方便用户快捷方便地控制;设计整个监控系统结构整合的算法,保证视频、图像的捕捉,异常监测,报警机制(包括E-Mail、Ftp、电话、纪录备份、Web访问)与记录回放等的协调工作;在内容存储上,采用高效的MPEG-4的压缩算法,图片采用BMF,JPEG的方式,方便运动检测和网络的传输;友好的人机界面提供便利的操作,满足视频监控系统中实时传输、处理和回放等需求。
2.1 系统实现流程及结构分析
目前,流行的嵌入式软件大都是采取分层结构设计的。SuperVision1.O也采用了这种分层的结构设计,并允许根据需要对不同的层次进行重写和替换,抽象接口是在抽象层定义的,不依赖于任何特殊硬件。所有顶层的操作和处理都建立在抽象接口之上。这种分层结构实际上就是一种面向对象的程序结构,目的是将底层实际的不同驱动或者实现抽象成对上层的统一接口。在实现中底层部分主要针对视频采集和压缩算法的接口统一实现,针对不同的驱动和压缩得到统一的上层接口,方便扩展和修改。上层中的报警机制(包括E-Mail、FTP、电话,纪录备份和Web访问)采用对象的特点,把每个报警方法都抽象成为对象,针对每种不同的程序实现统一使用接口。系统流程如图2所示。
报警机制部分主要实现远程控制和实时数据传输部分功能部分功能。
①远程控制:采用Server/Browser结构,使客户端能够在网上任何节点接入,实现客户端发布的零配置,同时实现用户验证机制,确保安全。实现的主要功能包括:开启/停止监控系统的实时报警,实时更新监控图像,获取系统历史记录。
②实时数据传输:提供可调用并且通用的接口函数,由报警子系统调用。通过多种方式把各种实时数据传送出去,包括http、FTP和E-ail
2.2统一接口实例
试想如果一个城市的消防车去邻近的城市救火,却发现无法和这个城市的消防栓对接,这是多么可怕的灾难?美国人在上个世纪初就有了统一接口的思想,现在再强调这个也不为过。其目的就是实现系统软件中,不修改任何的软件代码,就可以换上其他规格甚至其他厂家的同类型产品。开发人员可以很方便根据统一的接口扩展和移植相关代码。无论如何,美国人的这个近乎异想天开的想法,现在正在慢慢地转变成为现实。没有PC兼容的规范,没有API接口,很难想象微软的软件可以像现在这样大行其道。
该系统的模块设计考虑和采用了统一接口的思想。它接收系统产生的报警消息产生相应的消息队列,对所有的消息进行分类送相应的系统模块进行处理,根据对应的模块类别调用相应的处理方法,并记录处理信息。当工作失败时自动进行相应的事务处理。
视频采集可以基于采集卡的SDK接口函数,也可以基于Microsoft的DirectShow技术开发的音视频讯号捕捉接口,或者基于底层的驱动等方法来实现。采用统一接口的思想可以将各
- 嵌入式系统与FPGA的最新动向(05-18)
- 有效利用巨量资料智慧型嵌入式系统备受瞩目(10-23)
- 意法半导体在ESC 2010上展示最新最强的嵌入式系统技术 (03-28)
- 也许单片机不再需要调试接口引脚(04-11)
- 交流、设计、实现,ADI在线设计峰会半程盘点(10-19)
- 嵌入式系统需求递增 ADI再遇市场良机(03-14)