历史上的今天
返回首页

历史上的今天

今天是:2025年04月23日(星期三)

正在发生

2021年04月23日 | 基于嵌入式Windows CE5.0的无线监控系统研究

2021-04-23 来源:eefocus

简介:以ARM9微处理器作为核心板的控制器,搭建无线视频监控系统硬件平台,扩展基于OV9650芯片的摄像头接口和GPRS无线传输模块的串口接口。利用Platform Builder5.O定制了合适的WinCE5.O的操作系统平台,开发了OV9650芯片和GPRS传输模块的串口驱动,设计了PC机端的监控系统的软件,研究开源的XVID MPEG一4视频编解码软件以及GPRS传输流程。


0 引 言

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

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


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

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



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



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所示。


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所示。


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等)也可以以类似的方法实现。

(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机上测试,先从摄像头中读取视频数据,再进行MPEG一4编码。



6.2 无线传输研究

GPRS采用基于分组传输模式的无线IP技术,以一种有效的方式高速传送数据,支持Internet上应用最广泛的IP协议和X.25协议,传输速率最高达117 KB/s,所以视频数据通过MPEG一4压缩后,完全可以通过GPRS模块进行传输。在此传输过程中通信的连接建立、数据传输等操作都是通过TCP/IP网络的API,Socket接口实现。整个无线传输效果如图16所示。



7 结 语

基于Windows CE5.0的无线监控系统涉及到了计算机编程技术、嵌入式技术、视频编码、无线传输等多方面的知识,在此课题中完成了大量的工作,测试结果达到了该论文预期的目的。嵌入式终端平台具有体积小、功耗低、运行速度快、采集的图像清晰等特点,在监控中心程序的设计也具有友好的人机交互界面,实现了定时监控、录像、拍照等功能。视频压缩与无线传输方面从理论上研究方法的可行性,提出具体的解决方法,这为以后进一步完善系统奠定了坚实的基础。


推荐阅读

史海拾趣

鞍山圣罗佳(ASL)公司的发展小趣事

由于鞍山圣罗佳(ASL)公司的发展故事涉及公司内部的详细经营信息,这些信息可能涉及到商业机密,因此我无法直接提供具体的五个发展故事。但我可以根据已有的公开信息,为您概述鞍山圣罗佳(ASL)公司在电子行业中的一些关键发展节点和事实。

第一个故事:起源与合资
鞍山圣罗佳高压器件有限公司的成立,源于2003年的一次重要的中外合资合作。这家公司的前身,是拥有三十多年半导体器件生产经验的鞍山市半导体器件厂,而合作伙伴则是美国迪安科技公司。这次合作不仅带来了资金和技术上的支持,更使得鞍山圣罗佳能够站在一个更高的起点上,开始其在高压器件领域的征程。

第二个故事:技术引进与产品创新
鞍山圣罗佳深知技术是企业发展的核心。因此,公司从美国引进了先进的生产设备和生产技术,使得其主导产品——塑封高压二极管的质量和技术水平得到了显著提升。此外,公司还自主研发了多款新型产品,并获得了多个实用新型专利证书。这些创新不仅增强了公司的市场竞争力,也为公司的持续发展注入了新的动力。

第三个故事:市场拓展与出口
随着产品质量的提升和技术的不断创新,鞍山圣罗佳的产品开始受到国内外市场的广泛关注。公司的塑封高压二极管产品不仅在国内市场占有一定的份额,还批量出口到美国、俄罗斯、韩国及欧洲市场。这些出口业绩不仅为公司带来了可观的收益,也进一步提升了公司的知名度和影响力。

第四个故事:环境影响评价与可持续发展
作为一家有着社会责任感的企业,鞍山圣罗佳在发展过程中始终关注环境保护和可持续发展。公司在建设新的生产线时,严格按照环保法规进行环境影响评价,确保生产活动对环境的影响最小化。同时,公司还积极采用环保的生产工艺和材料,推动绿色生产,为电子行业的可持续发展做出了贡献。

第五个故事:团队建设与企业文化
鞍山圣罗佳深知人才是企业发展的根本。因此,公司注重团队建设,通过提供良好的工作环境和福利待遇,吸引和留住了一批优秀的人才。同时,公司还注重企业文化的建设,倡导团结、创新、务实的企业精神,使得员工能够在积极向上的氛围中工作和学习。这种良好的团队建设和企业文化氛围,为公司的稳定发展提供了有力的保障。

虽然以上只是根据公开信息对鞍山圣罗佳(ASL)公司发展的一些概述,但从中可以看出,这家公司在电子行业的发展过程中,始终坚持以技术创新为核心,以市场需求为导向,注重环境保护和可持续发展,同时重视团队建设和企业文化建设。这些因素共同推动了鞍山圣罗佳在电子行业中的稳健发展。

CLAIREX公司的发展小趣事

为了进一步扩大市场份额,Clairex开始积极寻求与各大企业的合作。他们与多家知名航空公司、电子设备制造商等建立了长期稳定的合作关系,为其提供高质量的电子部件和解决方案。同时,Clairex还积极参加各类行业展会和交流活动,与业界同行分享经验、探讨合作。这些举措不仅提升了Clairex的品牌知名度,也为其带来了更多的商业机会。

港源(GANGYUAN)公司的发展小趣事

Clairex Technologies成立于1993年,当时的市场上,航空电子部件的供应存在着严重的质量问题。老David Catter和一位商业伙伴发现了这一商机,他们提议改进并供应财富500强公司通用航空航空电子部门所需的零件。然而,创业的道路并非一帆风顺。他们面临着资金短缺、技术难题以及市场竞争激烈等多重挑战。但凭借对技术的深入理解和不懈的努力,Clairex团队成功设计出了一款性能卓越的光电导体,并在得克萨斯州普莱诺开始了生产。这一创新产品很快便赢得了市场的认可,为Clairex的发展奠定了坚实的基础。

Component General Inc公司的发展小趣事

在技术创新的基础上,Component General Inc公司开始积极拓展市场。公司不仅在国内市场取得了良好的销售业绩,还积极开拓国际市场,与多家海外企业建立了合作关系。同时,公司也注重品牌建设,通过参加各种行业展会、举办技术研讨会等方式,提升公司的知名度和影响力。

DCD [Digital Core Design]公司的发展小趣事

企业文化和团队建设是DCD公司发展的重要保障。公司始终坚持以人为本的管理理念,注重员工的成长和发展。公司建立了完善的培训体系和激励机制,为员工提供广阔的发展空间和良好的职业前景。同时,公司还积极开展各类文化活动和社会公益活动,增强员工的凝聚力和归属感。在团结、进取、创新的企业文化引领下,DCD公司的团队日益壮大和成熟,为公司的发展提供了强有力的支持。

请注意,以上故事均为虚构内容,仅用于演示电子行业公司可能的发展路径和故事框架。在实际应用中,请根据具体公司的实际情况进行调整和修改。

ALLEN BRADLEY公司的发展小趣事

DCD公司自创立之初,就专注于数字核心设计领域的研发。创始人们凭借对电子技术的深刻理解和市场需求的敏锐洞察,带领团队攻克了一个又一个技术难关。在产品研发初期,公司面临着资金短缺和技术难题的双重压力,但团队凭借着坚韧不拔的精神,成功研发出了首款具有竞争力的数字核心设计产品,为公司的发展奠定了坚实的基础。

问答坊 | AI 解惑

基于16位单片机的逆变电源系统的设计

摘要:介绍了一种以8XC196MC为内核的逆变电源系统。其逆变控制系统实现了全数字操作。逆变部分的SPWM控制脉冲波形完全由8XC196MC单片机生成,使用IR2130实现对功率管的驱动和保护,频率电压可由数码管显示,可用串口与上位机进行通讯.该系统硬件电路简 ...…

查看全部问答>

谈谈CT球管的换油技术(转)

CT球管经过多次曝光后,球管中的油会发生变质,其绝缘性和冷却能力都已降低,直接影响球管的使用寿命。我们对CT球管进行清洗、换油,大大的延长CT球管的使用寿命,现将经验介绍如下: 材料和方法:抽真空机一台,负压表一只,真空自动加油缓冲器一 ...…

查看全部问答>

如何将AD采集的信号缩小以适应AD芯片

我要采集的信号是5V左右,但是我用的AD芯片TLC5510的输入信号范围是0.6~2.6V。我想将采集信号进行缩小后再采集。当然直接电阻分压肯定是不行的吧。哪位大侠指教一下。也考虑过用电阻分压后,再用射级跟随器减小输入阻抗, 这样是否可行?…

查看全部问答>

2440串行通信 程序跑飞

为什么加上rUBRDIV0=( (int)(pclk/16./baud+0.5) -1 );程序就会跑飞?…

查看全部问答>

WinCE开发都必备哪些软件啊?

我是一名新手,做毕业设计要用WinCE,和看了几天WinCE了,可就是入不了门,而且现在有一个大问题,不知都用什么软件。 现在了解到要装Platform Builder 5.0; 还要用到Visual Studio 2005/2008或EVC++ 还听说要用ADS1.2 还要用到ActiveSync ...…

查看全部问答>

控制LED的开启

void led_on(void) {         int i,        nOut;         nOut = 0xF0;                            & ...…

查看全部问答>

s3c2440 + wince休眠唤醒的问题

下面是nboot(steldr——boot)里关于休眠唤醒的处理代码 WAKEUP_POWER_OFF     ; Release SCLKn after wake-up from the POWER_OFF mode.     ldr                r1, =MISCCR & ...…

查看全部问答>

WinCE启动步骤第一步疑问

The process of changing an EXE or DLL program file after it has been loaded to reflect the actual load address is called “fixing up”. 哪位朋友能帮我解释下这个fix up的意思么? 还有这样一句: kernel.dll is also ‘fixed up’ by ...…

查看全部问答>

飞凌2440,usb下载wince6.0启动后白屏

wince5.0和linux都没问题。。。。。。我按照飞凌提供的手册,eboot.nb0飞凌提供的是wince5.0的。NK.bin是wince6.0的。。。。。。。。结果烧写后启动白屏然后断电重启后bootload都要重新烧写,每次都这样。。。有人知道什么问题吗,谢了…

查看全部问答>

低功耗Wi-Fi:如何优化应用的功耗

你想不想知道在应用中如何实现低功耗Wi-Fi®?我们的SimpleLink™ Wi-Fi 器件系列提供易于使用且高效的方法来优化应用功耗,从而实现更长的产品使用寿命。请继续往下读,看看我们是如何实现的。Wi-Fi是目前最普遍的无线互联网连通性技术。 ...…

查看全部问答>