微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于嵌入式Windows CE5.O的无线视频监控系统

基于嵌入式Windows CE5.O的无线视频监控系统

时间:09-10 来源:互联网 点击:

\PBWorkspaces\testl\RelDir\smdk2 440_ARMV4I_Release下生成nk.bin和nk.nb0等文件,将nk.nb0下载到硬件平台上运行。

4 驱动程序的开发

4.1 摄像头驱动的开发

摄像头驱动开发是设计中的一个难点,也是一个关键部分。由于摄像头采集的视频数据可以当作数据流来处理,所以对于摄像头的驱动将采用流式接口的方法来开发。

(1)在Platform Builder中打开前面定制的操作系统工程,然后在新建一个WIN32 DLL项目,添加2个C++的源文件,即:camera.cpp和IIc.cpp,其中camer—a.cpp包含驱动的入口函数DLLMain();驱动的前缀为“CIS”,IIc.cpp包含通过ICC接口对摄像头相关寄存器进行配置的函数。

(2)根据前面的硬件电路和OV9650芯片的工作时序,通过编写流接口的CIS_Init函数实现OV9650初始化。主要包括以下3步:调用InterruptInitialize(SYSINTR_CAM,CameraEvent,NULL,0)函数通知系统注册中断;调用 CreateEvent()函数创建一个CameraEvent事件;调用CreateThread()函数创建CameraThread线程。在 Camera Capture Thread服务函数中调用WaitForSingleObject(CameraEvent,Dis—play Time)函数等待Camera Event事件的发生。此事件由与其关联的SYSINTR_CAM中断来触发。此外还有其它流接口函数(CIS_IOControl等)也可以以类似的方法实现。

(3)编写DLL的导出函数定义文件.DEF。.DEF文件定义了DLL的导出函数类表。.DEF文件可以就用一般的记事本编辑,保存时后缀名改为.DEF即可,关于本摄像头驱动的.DEF文件内容如下:

(4)为驱动程序配置注册表。在platform.reg中添加以下注册项即可:

在摄像头驱动开发完成后,通过编写应用程序在嵌入式终端的触摸屏上显示出来,如图10所示。首先通过CreateWindow这个API函数创建一个用来显示图像的窗体,然后创建回调函数CaptureThreadProc的线程,在回调函数中根据不同的操作向操作系统发送不同的消息值,处理图像的读取、显示等。测试结果如图11所示。

4.2 串口驱动开发

在Windows CE中串口的驱动实现是有固定模型的,基于流驱动模型,采用分层结构。串口驱动的开发的步骤和上面摄像头驱动开发的步骤一样,关键是实现流接口函数,由于这里采用了分层的结构,MDD层的代码可以参考微软提供的源代码在%WINCEROOT%\PUBUC\COMMON\OAK\DRIVERS\SERIAL\COMMDD2目录下,PDD层中的代码是与硬件相关的代码,需要针对不同的设备来编写。MDD层中的代码调用PDD层中的代码来实现具体的硬件操作。串口驱动的结构如图12所示。

5 PC机端监控中心程序的开发

监控中心是无线视频监控系统的核心部分,它负责管理整个系统并显示监控的图像。在该论文中,监控中心的应用程序实现了实时监控、定时录像、抓拍等功能。在系统中监控程序的开发,同时使用了C#语言和WIN32 API,利用C#语言基于事件的编程方法,设计了程序图形界面,利用VFW接口中的API函数基于消息机制设计了底层图像数据的读取和显示。该系统中 API函数主要来自于VFW软件工具包。VFW(Video forWindows)提供了一系列应用程序编程接口(API),用户可以通过它们很方便地实现视频捕获、视频编辑及视频播放等通用功能,还可利用回调函数开发更复杂的视频应用程序。其特点是播放视频时,不需要专用的硬件设备,而且应用灵活,可以满足视频应用程序开发的需要。监控中心的程序调试运行效果如图13所示。

6 视频压缩编码和传输理论研究

6.1 视频压缩编码研究

图像和视频包含巨大数量的信息,其传输和存储需要很宽的带宽,多媒体视频数据在无线传输之前,必须进行压缩。常用的数字压缩技术主要包括用于会议电视系统的H.261压缩编码,用于计算机静止图像压缩的JPEG和用于活动图像压缩的MPEG数字压缩技术和近年来比较热点的H.263和H.264 压缩编码技术。MPEG一4采用新一代视频编码技术,它在视频编码发展史上第一次把编码对象从图像帧拓展到具有实际意义的任意形状视频对象,从而实现了从基于像素的传统编码向基于对象和内容的现代编码的转变,因而引领着新一代智能图像编码的发展潮流。

由于MPEG一4压缩编码系统比较复杂,在论文中将重点对MPEG一4压缩编码技术进行研究,分析其在PC机上的压缩编码的源码,为以后在ARM等嵌入式设备上的移植奠定基础。对一帧图像进行MlPEG一4编码的流程如图14所示。

编译开源的MPEG一4 XVID模型的源代码,将生成一个xvidcore.dIl文件,在应用程序开发中调用库中的相关函数,程序执行过程如图15所示。其中程序在PC机上测试,先从摄像头中读取视频数据,再进行MPE

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top