基于ML86500的网络摄像机方案设计
扫描二维码
随时随地手机看文章
近年来,随着数字图像处理技术、多媒体技术、嵌入式系统软硬件技术的高速发展以及宽带网络的不断普及,视频监控已逐渐走近了人们的生活。与传统的模拟监控相比,IP视频监控克服了模拟闭路电视监控的局限性:首先,数字化视频可以在计算机网络(局域网或广域网)上传输图像数据,基本上不受距离限制,信号不易受干扰,可大幅度提高图像品质和稳定性;其次,数字视频利用现有的计算机互联网络,无须重复布线,安装方便灵活;最后,数字化存储成为可能,经过压缩的视频数据可直接存储,查询简便快捷。
目前,网络摄像机方案多数采用了CPU+DSP的组合,CPU完成控制、通讯等功能,而DSP则主要完成音频、视频信号的编码处理,但此类方案一般成本较高。本文设计的基于ML86500的网络摄像机方案具有高压缩率、低带宽占用、高图像质量以及低成本等优势。
2 系统硬件设计
2.1 硬件总体方案
网络摄像机硬件总体方案如图1所示。
500)this.style.width=500;" border="0" />
网络摄像机的基本原理为:CCD传感器将光线转变成电荷,并输出CVBS模拟视频信号给视频解码芯片(TW9910);视频解码芯片将CVBS模拟视频信号模数转换(A/D)成YUV 4:2:2格式的数字信号,并输出给视频编码芯片——ML86500;ML86500对视频信息进行编码压缩处理,生成MPEG4数据流;MPEG4数据流经RTP协议封装经过网络发送到远程客户机(PC),远程客户机解码还原视频信息进行播放。
2.2 MPEG4实时编码器电路
ML86500是OKI公司开发的实时MPEG4图像压缩(编码)处理单芯片产品,该芯片灵活运用了OKI独创算法及专用加速器,低成本实现了高画质,其设计目标就是面向监视摄像机、网络摄像机等图像监控设备。因此本网络摄像机方案中的视频编码芯片选用ML86500。
ML86500内部的原理见图2。
500)this.style.width=500;" border="0" />
ML86500主要技术指标:
视频编码方式:MPEG4 SP/ASP;
支持的视频方式:NTSC@29.97 f/s,PAL@25 f/s,VGA,QVGA;
数据格式:亮度信号8 b、色度信号8 b(4:2:2);
支持隔行扫描视频(NTSC/PAL);
变换输入帧率;
码流编码模式:CBR/VBR;
外部SDRAM接口;
通用8/16位主机CPU接口;
电源电压:3.3 V±0.3 V(IO),1.5 V±0.15 V(CORE,PLL);
封装:144管脚塑料LQFP。
ML86500的实时编码器电路参见图3。
500)this.style.width=500;" border="0" /> |
ML86500的内棱使用1.5 V电源供电,PLL电路亦使用1.5 V电源供电,考虑到PLL电路可能会干扰内核电路,因此PLL电路通过一个π型低通滤波器供电,消除高频于扰。
ML86500使用27 MHz有源晶振作为时钟,考虑到防止27 MHz有源晶振对系统电源产生干扰,为27 MHz有源晶振的电源供电设计了π型低通滤波器。
ML86500需要外接一块32 b数据总线宽度的SDRAM作为数据缓存。
3 系统软件设计
3.1 软件总体方案
软件总体方案参见图4。
500)this.style.width=500;" border="0" />
在本软件总体设计方案中,采用了分层模块化设计,各层之间是一种弱耦合关系,这样各功能模块独立,便于开发和维护,该系统具有良好的移植性。RTOS操作系统与应用程序之间增加Free OS API层,减少了操作系统变更时软件移植的工作量。
TCP/IP协议栈为双协议栈,不仅支持现有的IPv4协议,而且能够支持下一代的互联网协议IPv6;提供HTTP Server功能,用户可能通过IE访问IP-Camera,进行媒体播放、查看和设置参数;提供FTP功能,便于用户传输文件,进行程序升级;提供SNTP功能,保证IP-Camera的时间能与标准时间服务器同步;提供DDNS功能,能够让用户通过动态域名方式访问IP-Camera;提供SIP功能,使得IP-Camera能够与SIP电话通信,使得视频监控更加便捷灵活;媒体数据传输采用RTP协议,保证图像的实时性;文件系统支持FAT16和FAT32格式。
3.2 MPEG4编码开始及停止流程
MPEG4编码开始的主要作用是按照设定的参数初始化视频解码芯片、视频编码芯片,开始视频编码,同时创建MPEG4 TASK,用于读取视频数据流,发送数据。
MPEG4编码停止的主要作用是停止视频解码芯片、视频编码芯片工作,停止MPEG4 TASK。MPEG4编码开始及停止流程图如图5所示。
500)this.style.width=500;" border="0" />
MPEG4 TASK主要用于读取视频数据流,发送数据,其主要流程图如图6所示。MPEG4 TASK运行后,将等待信号量,将自己挂起。当ML86500产生一帧数据时,会产生中断,在中断服务程序中会发送信号给MPEG4 TASK,MPEG4 TASK重新运行,并且读取MPEG4视频数据流,然后使用RTP协议通过网络发送数据给客户端(PC)。
500)this.style.width=500;" border="0" />
4 结 语
本方案已经过实际测试,能够支持PAL/NTSC制式的视频信号输入,支持D1(N制720*480/P制720*576)、VGA(640*480)、QVGA(320*240)等多种分辨率输出,网络传输带宽支持20 kb/s~6 Mb/s,低成本实现了高画质,并且图像实时性好,可广泛应用于仓库、商场、交通、家庭等多种视频监控场合,非常具有市场竞争力。