新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Windows CE5.0的无线监控系统研究

基于Windows CE5.0的无线监控系统研究

作者:时间:2009-05-05来源:网络收藏

  0 引 言

  传统的系统主要以模拟信号监控系统和基于插卡的数字监控系统为主。其中模拟信号监控系统布线工程量大,要耗费大量的存储介质,查询取证也十分繁琐;基于插卡的数字监控系统是由1台PC机加图像采集卡完成的,系统的成本高,而且PC机需要有人值守,无法在恶劣环境下使用。在领域中,如何使信息传输得更快,更稳定,距离更远,系统的成本、体积、功耗更低等问题是摆在当前技术研发人员面前的首要问题。

  在此提出一种基于嵌入式Windows CE5.O的无线系统。解决了传统视频监控系统成本高、体积大、传输距离有限、功耗大、安装不方便等问题。该系统的设计将为无线视频监控提供一种新的思路、方法和技术路线;在安防、远程教育、远程视频会议、医疗系统等无线视频领域具有广阔的应用前景。

  1 系统的整体硬件框图介绍

  基于嵌入式的无线监控系统的硬件系统主要由嵌入式终端和服务器端的PC机组成。嵌入式终端平台的微处理器选择的是基于ARM9T20内核的S3C2440,S3C2440有丰富的接口,其中接口与CMOS的相连,串口与发射模块相连;服务器端主要是1台PC机和接收模块。整个框图如1所示。

系统的整体硬件框图

  系统首先通过S3C2440微处理器控制CMOS采集图像数据,经过压缩编码后,再通过无线发射模块将压缩后的数据发射出去,在服务器端的PC机通过GPRS接收模块接收数据,并通过相应的应用程序,对视频数据进行解码,并通过屏幕显示出来。其中包含有S3C2440微处理器的嵌入式终端平台的核心控制板如图2所示。

包含有S3C2440微处理器的嵌入式终端平台的核心控制板

  2 系统的扩展接口设计

  2.1 摄像头接口设计

  摄像头中用的图像采集芯片为OV9650图像传感器,该图像传感器具有10位的数据接口和标准的SCCB接口,采用CSP一28封装,体积小。

  该芯片支持RGB(4:2:2),YUV(4:2:2),YCrCb(4:2:2)三种数据输出格式,内置138个设备控制寄存器,地址分别从Ox00~Ox8A,通过SCCB接口可以方便地设置传感器视窗大小、增益、白平衡校正、曝光控制、饱和度、色调等参数。包含有图像传感器OV9650摄像头模块如图3所示。

包含有图像传感器OV9650摄像头模块

  S3C2440有一个专用的摄像头接口,CPU可以直接和CMOS图像传感器连接,当0V9650输出数据格式为8位的YUV时,要用到数据线D2~D9(D9为MSB位,D2为LSB位);当输出的数据格式为10位RGB,用数据线D0~D9(D9为MSB位,D0为LSB位),该系统用YUV格式。该摄像头模块与S3C2440的Camera接口连接,其电路图分别如图4~图6所示。

数据线连接图

像素时钟

摄像头时钟

  其中用到了TI公司的电平转换芯片74LVC4245,是一种双电源的电平移位器,电平移位在其内部进行。5 V端用5 V电源作为VDD_CAM,而3.3 V端则用3.3 V作为VCC33。双电源能保证两边端口的输出摆幅都能达到满电源幅值。

  2.2 GPRS模块的接口设计

  S3C2440有3个UART通道,利用其中一个通道设计串口,使其与GPRS模块连接,由于S3C2440自带的UART控制器,使得硬件开发和软件设计都比较简单。但RS 232标准所定义的高、低电平信号,与一般的微控制器系统的电路所定义的高、低电平信号完全不同,如S3C2440系统的标准逻辑“1”对应电平2~3 V,标准逻辑“O”对应0~4 V电平。显然,与RS 232标准所述的电平信号完全不同。两者之间要进行通信,必须经过信号电平的转换,目前常使用的电平转换芯片有MAX232,MAX3221和MAX324.3,具体设计电路如图7和图8所示。

串口设计电路图

电平转换芯片MAX3232C与S3C2440连接电路图

  3 操作系统平台的定制

  Windows CE是高度模块化的嵌入式操作系统,正因为如此,用户为了满足特定的要求而对操作系统进行定制,如果为自己的嵌入式设备定制Windows CE操作系统,则须进行创建、构建、运行和发布OS等一系列操作。在无线视频监控系统中,根据功能要求,利用Platform Builder5.0定制系统的流程如下:

  (1)导入BSP开发包。由于用的是三星公司的基于ARM920T核的S3C2440,所以在BSP包中找到SMDK2440文件下的SMDK2440.CEC文件将其导入。打开“Platform Builder5.0”,选择“File”菜单下的 “Manage Catalog Features”,如图9所示。在弹出的对 话框中单击“Import”,浏览到SMDK2440文件下的 smdk2440.cec文件,将其导入。

打开组件目录管理窗口

  (2)创建项目。根据WinCE无线监控系统的要求,在定制系统的过程中选择合适的组件来实现。其中包括的组件有:支持应用程序开发的MFC组件和支持网络的相关组件等。

  (3)编译项目:点击菜单“Build OS”→“Sysgen”开始编译项目。

  (4)下载运行时映像,调试成功后启动。编译成功后会在目WinCES00PBWorkspacestestlRelDirsmdk2 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等)也可以以类似的方法实现。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭