重点推荐省级国家级期刊、北大中文核心、CSSCI、EI、SCI发表,稳妥操作,速度快,包发表。有意向联系客服咨询。
论文代写:十年专业服务品质,全部由期刊编辑、硕士、博士撰写;保证原创、版权归您;保证通过、否则全额退款。
论文发表:与百家优秀期刊合作,代理审核组稿,论文发表涵盖所有专业领域,全部正刊,保证出刊,否则全额退款。
业务合作:因业务发展需要,诚招优秀写手合作,要求硕士以上学历,不限专业,另诚征优秀期刊代理合作,具体详谈。QQ:415835425
基于DM355的网络摄像机设计与实现
基于DM355 的网络摄像机设计与实现
黄艳秋,黄河,衡条条,俞啸,刘晓文**
作者简介:黄艳秋,(1987-),女,硕士研究生,主要研究方向:无线传感器网络,嵌入式系统。
通信联系人:刘晓文,(1964-),女,教授,主要研究方向:电路与系统. E-mail: xwliucumt@126.com
(中国矿业大学信息与电气工程学院,江苏 徐州 221008)
5 摘要:提出一种基于嵌入式Linux 和达芬奇(DaVinci) 系列数字多媒体处理芯片DM355 的网
络摄像机的设计与实现。该系统利用嵌入式Linux 操作系统的V4L2(视频设备的内核驱动),
编写驱动程序实现视频的采集。经DM355 的协处理器对采集到的视频流进行MPEG-4 压缩编
码后,通过嵌入式Web 服务器与流媒体服务器的实时传输协议(RTP)和实时传输控制协议
(RTCP)实现编码的视频数据流在网络的传输。
10 关键词:网络摄像机;DM355;V4L2;RTSP
0 引言
随着多媒体技术和网络通信技术的发展,数字视频技术在越来越多的领域得到应用。并
且人们的安全意识不断提高,使得数字视频监控技术得到广泛的普及。嵌入式网络视频监控
系统具备视频采集、压缩编码处理、网络通信等强大功能,成为现阶段安防系统的发展趋势
30 与研究热点。
国外的数字视频监控技术起步早,技术成熟先进,早已实现多网合并的无线多媒体网络
传输。国内近年来发展迅速,应用领域广泛且日趋成熟。很多研究机构和高校都已开展网络
视频监控系统设计的研究,并取得了一定的成绩。本文采用达芬奇(DaVinci)系列数字多媒体
处理芯片DM355 设计了一个网络摄像机。利用开源的RTSP 流媒体服务器Live555 将编码
35 后的MPEG-4 码流传给客户端,多个客户可在计算机浏览器上通过访问摄像机IP 地址同时
观看和存储网络摄像机所拍摄的视频。
1 芯片选型与方案选择
本方案设计的网络摄像机需要实现视频的采集、压缩、传输等功能,最重要的是选择一
款合适的视频处理芯片。DaVinci 技术是TI(德州仪器)公司针对数字视频图像处理及应用
40 而提供的一套完整解决方,包括处理器、开发工具、软件以及系统专业技术。DaVinci 技术
可利用数字信号处理与集成电路技术提供高度集成的片上系统(SoC),完整的DaVinci 软件
架构涵盖低级的OS 驱动程序和应用程序接口API,便于实现数字视频功能[1-3]。
目前,TI 针对视频处理方面的芯片主要分为3 类:C6000 系列高性能视频图像处理器
DSP;ARM9+DSP 双核处理器;ARM9+VICP(Video Image Co-processors,视频图像协处理
45 器)双核处理器[4]。针对网络摄像机的采集压缩传输应用背景,本设计选用TI 公司针对高
清视频产品市场的达芬奇处理器DM355 作为主控芯片。DM355 能够以30f/s(帧/秒)的速度
对720p 格式的视频进行MPEG-4 硬件编码,功耗约为400mW,且待机时功耗仅lmw。DM355
处理器由集成的视频处理子系统、MPEG/JPEG 协处理器、ARM9EJ-S 内核及多种外设接口
组成。
50 其中ARM9EJ-S 内核负责整个系统的控制,MPEG/JPEG 协处理器用于MPEG/JPEG 算
法的实现,视频处理子系统(VPSS)及其他外设可方便快速地实现视频的采集、网络传输等功
能。高性能、低功耗的DM355 由于内部无DSP 内核的多媒体处理器,采用协处理器MJCP
实现多媒体数据编解码,因此DM355 可实现数码相机、网络摄像机、医学成像及婴儿视频
监护器等低功耗、低成本设计方案[4-6]。
55 软件方面利用嵌入式Linux 操作系统的视频设备内核驱动V4L2,编写驱动程序进行视
频的采集。经协处理器MJCP 对采集到的视频流进行MPEG-4 压缩编码后,通过支持实时
传输协议(RTP)和实时传输控制协议(RTCP)的开源流媒体协议库Live555 实现编码的视频数
据流在网络的传输。
网络上用户可以直接用浏览器观看Web 服务器上的摄像机图像,同时,用户还可以控
60 制摄像机、镜头的动作或对系统配置进行操作。网络摄像机构造的网络视频监控系统示意图
如图1 所示。
图1 网络视频监控系统示意图
65 Fig1 Network video monitoring system schemes
2 系统硬件设计
2.1 硬件总体框架
系统采用高性能多媒体双核处理器DM355 做嵌入式主控芯片,外围电路有音/视频信号
70 采集模块、电源模块、DDR2、NAND Flash、以太网接口、USB、UART、I2C、SPI、SDIO
等接口电路,网络摄像机构造框图如图2 所示。
图2 网络摄像机构造框图
Fig2 Network camera structure diagram
75
2.2 音视频采集模块
作为视频源端的感光元件有CCD 与CMOS 两种,选用CCD 摄像头模块灵敏度、信噪
比高,可在低照度环境下获得较好成像效果。TVP5146 数字视频解码器既支持RGB 和YCbCr
信号的模拟信号到数字信号的转换,也支持NTSC,PAL 和复合视频信号的解码。可将视频
80 信号转换为符合DM355 的视频处理前端支持的BT.601/656 标准的YCbCr 格式[4][5]。
采用TVP5146 视频接口芯片,此芯片是一种高质量的数字视频解码器。TVP5146 包括
四个10bit 30-MSPs A/D 转换器。它支持的输出格式有:20-bit 4:2:2 YCbCr 或10-bit 4:2:2
YCbCr。视频出入模块,也就是模数转换模块如下图3 所示。
85 图3 视频输入模块原理图
Fig3 Video input module circuit diagram
音频采集元件使用小型Mic 驻极体话筒拾音,音频ADC 采用AIC331 立体声芯片,8kHz
到96kHz 采样频率,接收自动增益控制AGC。若需要视频流数据存储,用户可以将视频流
90 文件通过SDIO 存储在本地摄像机的SD 卡,也可通过网络传输保存在远程监控端。
2.3 电源管理模块
由于在整个系统中,各元件是在不同电平环境下才能更好的运行,有的原件因为其内部
结构的原因,一个元件就要用到多个不同的电压,所以电源管理模块在这个系统中起了至关
重要的作用,是这个系统的能量管理器。在DM355 系统中采用电源和休眠控制器PSC 来控
95 制电源和时钟的开/关或重启。本系统采用TPS65021 电源管理模块供电。
2.4 JTAG 调试模块
JTAG 嵌入式调试技术在嵌入式系统中被广泛的应用,它在芯片内部封装了专门的测试
电路TAP(Test Acess Port,测试访问端口),通过专用的JTAG 测试工具对内部节点进行测试。
JTAG(Joint Test Action Group,联合测试行动小组)是1995 年制定的国际标准测试协议,主
100 要用于检测PCB 和IC 芯片,JTAG 电路设计如图4 所示。
图4 JTAG 电路图
Fig4 JTAG circuit diagram
105 以太网接口模块:采用10/100M 高速以太网接口芯片DM9000A。网口模块的功能有:
a)用于NFS 网络文件系统调试程序;b)用于下载Linux 内核和文件系统;c)嵌入式服务器运
行起来后,用户可通过网口接收服务器发送的数据,并且可以对摄像机进行配置。
串口模块:作为处理器运行时的人机交互接口,嵌入式系统在运行时的信息通过串口打
印,可在计算机的超级终端上显示。同时可使用键盘在超级终端中输入信息通过串口传输到
110 嵌入式处理器,以实现uboot 设置、linux 登陆、Ramdisk 和Linux 内核的下载以及驱动和应
用程序的加载运行,完成系统的开发和调试。
2.5 NAND flash 模块
采用了Samsung 的K9K1208Q0C Nand Flash,片内寻址采用26 位地址形式。对NAND
存储芯片进行操作,必须通过设置NAND 专用控制寄存器(NANDFCR)及状态寄存器
115 (NANDFSR)才能完成。所以,不能对NAND Flash 进行总线操作。在对NAND 的基本原理、
存储结构及操作方法等了解以后,在Windows 环境下借助CCS3.3 集成开发环境及XDS560
仿真器实现了将在DDR2 中的一段存储区中的数据(如Bootloader,ulmage)写到NAND Flash
存储空间中,并能够被UBL 读到DDR2 中运行,NAND FLANSH 原理图如图5 所示。
120 图5 NAND FLANSH 原理图
Fig5 FLANSH NAND circuit diagram
系统将压缩后的视频文件通过内置的嵌入式流媒体和Web 服务器发布传输供客户访
问,只需将摄像机接入局域网,即可使用。布控区域广阔且安装方便,无需其他复杂的通信
125 电缆,用户也无需安装任何硬件设备,仅用浏览器即可观看,并达到即插即看。系统具有无
缝扩展能力,方便构成各种环境的监控网络,性能稳定可靠[6][7]。
3 系统软件设计
目前我国常用的嵌入式系统有两种,一种是Wind River System,Inc(WRS)公司推出的
VxWorks 操作系统,另一种是开源的嵌入式Linux 操作系统。其中,嵌入式Linux 操作系统
130 以其优良的性能、源码公开、方便裁减的特性以及对硬件的广泛支持成为了嵌入式开发中的
首选操作系统[8]。
3.1 视频采集编码传输系统
本系统采用MontaVista 嵌入式Linux 操作系统,支持包括DM355 处理器在内的多个体
系结构。本设计的网络摄像机在嵌入式系统平台上构建了一个流媒体服务器,提供视频流
135 RTSP 包括RTCP/RTP 服务,另有一个基于ASP.NET 的Web 发布管理服务器与网络摄像机
在同一网络中,向客户端用户提供HTTP 服务[8][9]。在任意客户端只需使用Web 浏览器通过
访问Web 发布服务器,即可获取到每个网络摄像机采集到的视频图像。用户通过管理服务
器可对每个网络摄像机的IP 地址、视频图像的帧率、分辨率等进行配置。同时,管理服务
器还需要对用户的登录信息、访问权限等功能进行管理。当客户端与网络摄像机之间连接建
140 立起来后,将由网络摄像机中的Live555 流媒体服务器与客户端的流媒体播放器直接RTSP
通信,传输由DM355 硬压缩的MPEG-4 格式视频流,网络摄像机视频监控系统软件框图如
图6 所示。
图6 系统软件整体结构
Fig 6 Overall 145 system software structure
3.2 视频采集编码程序设计
视频采集编码程序采用多线程同步机制,共有5 个线程:Main Thread()主线程、Control
Thread()控制线程、Capture Thread()采集线程、Video Thread()视频编码线程、Send Thread()
150 传输线程。主线程作为程序入口,负责初始化设备文件,开启其他线程,之后便由控制线程
来控制各线程的同步。各线程通过命名管道进行数据传递,并利用管道阻塞机制来实现同步。
在主线程中开启的第一个线程是视频采集线程,视频采集采用Linux 的V4L2
(Video4Linux2)编程接口获取摄像头原始YUV 视频数据流,并将数据流通过管道传给视
频编码线程。V4L2 是Linux 提供的获取音视频频数据的标准接口,在音视频设备驱动程序
155 之上,应用程序可通过V4L2 提供的API 来控制音视频设备[9]。视频采集线程流程图如下图
学术论文网Tag:代写论文 论文发表 计算机论文 代发论文 职称论文发表
|
本站郑重声明:
1、我们与数十所知名高校博士强强联手,保持常年稳定合作关系,论文质量更有保证;;
2、写作领域涉及所有专业,实力操作,出稿更快,质量更高,通过率100%;
3、所有代写文章,全部原创,包检测,保证质量,后续免费修改,保证通过;
4、信誉实力服务,专业代写毕业论文,职称论文,硕博士论文,留学生论文,成熟操作;
------分隔线----------------------------