具有远程监控功能的视频服务器设计

发布者:BlissfulMoments最新更新时间:2013-03-13 来源: dzsc关键字:远程监控功能  视频服务器  S3C2410 手机看文章 扫描二维码
随时随地手机看文章
    系统总体设计

  硬件部分以三星公司的ARM9芯片S3C2410和韩国的专用视频芯片AT2042为核心。S3C2410主要实现系统控制功能,例如对AT2042的配置,接收视频流数据并利用USB存储设备进行存储;配置网络接口建立起完善的网络功能,以方便用户通过Internet对其进行远程访问与控制;同时,挂载U盘或硬盘,预留U口或IDE的接口,可供用户选择,实现本地的海量存储功能。

  整个系统软件部分主要分为两部分:服务器端和客户端(C/S模式)。服务器端包括Bootloader的编写,Linux操作系统内核的生成,系统文件的配置以及用户应用软件(实时视频传输、录像、远程回放、抓拍);客户端是通过输入IP地址访问指定的服务器,这时客户端会通过网络从服务器端下载并安装预先设计的ActiveX控件,用户可以通过这个控件实现实时监控、视频回放、图像抓拍等功能。系统总体框图如图1所示。


  2 系统硬件设计

  硬件系统主要由视频编解码部分、网络传输部分、本地存储部分、其他外设和接口部分组成,如图2所示。包括S3C2410和AT2042、NAND Flash和SDRAM、数/模转换芯片TVP5150和模/数转换芯片SAA7112以及网卡芯片LAN91C11。接口包括USB接口、IDE接口、网卡接口、电源接口等。


  2.1 视频编解码部分

  视频编解码电路主要包括模/数转换电路和视频压缩/解压芯片AT2042。其中,AT2042主要负责对经模/数转换芯片TVP5150转换来的数字视频数据进行硬件压缩。压缩编码过程中,摄像头采集的模拟视频信号先经过TVP5150进行前端处理,产生符合AT2042视频接口标准的数字视频信号。在S3C2410的控制下,该数字视频数据由压缩/解压芯片AT2042进行硬件压缩编码,产生的编码数据流通过芯片内部集成的Mux FIFO接口输出。网络视频服务器的解压缩编码是压缩编码的逆过程,需要解压的数据流通过AT2042内部集成的Demux FIFO接口输入,解压缩编码电路基本原理类似于压缩编码,这里不再赘述。视频编码电路框图如图3所示。TVP5150是TI公司生产的一款电视信号解码专用芯片。它对输入的模拟信号进行A/D转换,TVP5105支持NTSC/PAL/SECAM三种制式,实现模拟视频信号转换为数字并行信号ITU-R BT.601或ITU-RBT.656码流格式。由于AT2042视频接口满足ITU.RBT656标准,故TVP5150输出配置为8位的YUV422格式。


  解码芯片TVP5150的AIPIA模拟信号输入口与摄像头的信号输出端相连,并向压缩编码芯片AT2042传送视频信号。由于TVP5150分场同步脉冲和行同步脉冲,分别对应的输出端为VSYNC和HSYNC,AT2042根据与之相连的VSYNCIN和HSYNCIN信号线来实现图像的场同步和行同步操作;AT2042的视频信号输入数据线VIN[7:0]与TVP5150的输出端YOUT[7:0]相连。AT2042将接收到的数据流传送到压缩编码单元,压缩编码后的视频数据存储到外部SDRAM中,同时通过片内的SDRAM控制器来实现对SDRAM的访问,并将数据流通过HPI总线发送到S3C2410以便通过网络传输到PC监控端,用于实现远程的实时监控。[page]

  2.2 网络传输部分

  主控制芯片S3C2410通过地址、数据、控制线以及片选信号线对网络芯片LAN91C11进行控制和通信。主芯片发送信号时首先置发送使能信号,数据发送信号端TXD0~TXD1与LAN91C11的TXD0~TXD1引脚连接,作为数据的发送通道以S3C2410的时钟信号TCK发送数据。数据接收端RXD0~RXD1与LAN91C11的RXD0~RXD1引脚对应连接,为数据接收通道。

  LAN91C11由S3C2410选通信号线AEN来选通,通过对LAN91C11一系列寄存器的设置,可以实现视频流的网络传输。LAN91C11的INTRQ0端用来产生中断信号。以太网控制芯片通过DMA通道进行数据的传输。首先设置好传输控制和传输地址寄存器的参数,依次从指定的数据存储区域读取数据,送入内部发送缓冲器中,用MAC对数据进行封装发送,并同时记录已发送完的字节数,等到整个数据块发送完毕。一组数据发送完后请求DMA中断,由S3C2410进行处理。网络接口框图如图4所示。


  2.3 本地存储部分

  存储接口选用S3C2410自身的LJSB接口功能,该接口可以实现USB1.1协议。随着大容量、小体积U盘的问世,更多的用户都选择使用该存储介质。

  当今的USB技术使得各种能够自行识别的外部设备与设备终端连接,并自行装载驱动程序以运行新的装置。而一般即插即用装置,需要有电源的USB接口进行数据传输并提供电源。当发生短路或连接了受损设备时,如受损的电缆或连接头插入USB接口时,必须对USB集线器及主机装置提供有效保护。USB接口的设计电路如图5所示。


  2.4 其他外设和控制接口

  其他外设包括Flash、SDRAM、以太网接口、串行通信接口RS232。其中,Flash用于存储操作系统内核和系统软件,待系统上电后加载到内存中;以太网接口将压缩编码后的音视频数据传输到网络;RS232接口主要用于基于控制台的配置和管理。另外,在调试过程中,RS232和以太网接口用于连接宿主机和目标系统平台,方便了网络视频服务器系统的开发和调试。

  3 系统软件设计

  整个嵌入式系统的软件部分由4部分组成:Boot-loader代码、Linux操作系统的内核生成和Linux下驱动程序及应用程序的开发、文件系统的生成和配置以及用户应用程序。设备驱动模块向上层软件提供一致的接口,主要包括硬件的初始化、总线内存地址映射、内存分配等,分别被存储在NAND Flash的4个分区模块中。本设计采用的是较节省空间的CRAMFS只读文件系统。

  3.1 MPEG-4压缩编码的实现

  AT2042支持MPEG-1、MPEG-2、MPEG-4、H.263和Motion-JPEG等多种视频压缩标准,以及ADPCM、MPEG-1 Layer-II和Lyer-III(MP3)等音频压缩标准。这些功能是通过配置相应的编码寄存器实现的,例如编码模式、编码像素点、编码帧率及设置编码流格式(PES、PS、TS)等等。本系统中采用MPEG-4模式、720X576、每秒25帧及生成PES流来对视频数据进行编码。

  MPEG-4压缩编码部分完成对AT2042和TVP5150相关寄存器的配置,保证了MPEG-4数据流的正常输出。系统启动后,首先配置AT2042的寄存器,初始化完成后,通过I2C总线对TVP5150进行初始化配置。在压缩编码过程中,MPEG-4数据流接收存储程序由AT2042的数据流缓冲器标志信号来进行控制。当缓冲器满时,RISC_INT0置低,主控制器通过DMA通道把从AT2042的网卡接口接收过来的码流通过网络通道传输到PC端。其压缩编码模块程序流程如图6所示。

[page]


  3.2 远程网络程序模块

  网络控制模块是外部扩展应用程序与视频服务器交互的一个模块。其工作过程是:在监控终端的IE浏览器中输入网络视频服务器的IP地址,嵌入式网络视频服务器根据请求,将相应的控制页面(即ActiveX控件)反馈给IE浏览器,用户下载控件后,根据控件上的指令,进行相应的操作,然后提交。该模块提取操作的信息,根据不同信息通过socket套接口与服务器进行通信来分别处理相应的事件,如调节MPEG-4相关属性、摄像头的相关操作等。该网络控制模块的设计主要包括3部分:本地嵌入式web服务器的配置、ActiveX控件的编写、socket套接字实现服务器与监控端通信。远程网络程序模块框图如图7所示。


  3.3 本地存储部分的实现

  该部分主要实现的三大功能:U盘空间的监测,以系统时间来命名存储文件并将文件保存到U盘上,实现MPEG-4编码。视频编码存储主要是利用Linux系统指令、AT2042芯片的视频编码功能和自动生成传输流功能。

  (1)显示U盘存储空间

  首先,利用Linux系统指令与C语言的接口函数sys-tem(const char*string),执行指令会把U盘空间的容量、可用空间等信息写入设定目录下,然后利用display_string(char*string)函数将该信息显示在显示层面上。这样可以使用户很清楚地了解到可用存储空间的大小。

  (2)以系统时间命名文件名

  调用系统函数time、localtime,这里需要定义相应的结构体tm来获取系统时间,然后将这些信息与建立文件的路径保存在同一个字符串,调用fopen(const char*path,const char*mode)函数。这样就实现了以系统时间来命名文件名,可以方便用户按时间来查看文件。

  3.4 运动图像监测的实现

  该视频监控系统配置AT2042的相关寄存器,可实现运动检测的功能。通过运动检测来控制视频数据的存储和报警。运动检测(报警)算法可以控制存储动作,节省存储空间。例如,开始无运动报警信号,存储模块处于等待状态;运动报警信号到来,启动存储模块,在一定时间内如果没有继续收到运动报警信号,存储模块自动停止工作。这样存储量比连续存盘少得多,大量无运动的视频被剪截掉了,大大提高了存盘效率,有效地节省了存储空间。工作过程是这样的:预先进行检测区域设定,从摄像机来的视频信号一方面进行视频压缩,压缩的码流输出到缓冲区中;另一方面进行运动检测,当运动条件满足时发出报警信号,存储设备开始工作。存储设备一接到启动信号就将缓冲区的压缩码流全部保存下来,接着连续存储视频压缩输出的码流,直到存储控制指示停止存盘为止。运动方向的估计可以实现监控系统中的警戒线报警功能。在图像画面上设定警戒线以及方向,相应地产生一个预警区域。围绕边界线产生边界区域或边缘点集,监测是否有运动越过警戒线进入警戒区。

  结 语

  本视频服务器既有视频远程实时传输,又具有本地存储的功能,再配置AT2042实现多种视频格式的编码和运动检测、报警功能,使用起来方便易行,可以得到广泛的应用。该视频服务器集成普通摄像机和网络转换器,将图像转换为基于TCP/IP网络标准的数据包,使摄像机所摄的画面通过RJ-45以太网接口直接传送到网络上,通过网络即可远程监视画面。该视频服务器采用了最先进的摄像技术和网络技术,具有强大的功能。内置的系统软件能实现真正的即插即用,使用户免去了复杂的网络配置;内置的大容量内存能存储警报触发前的图像;内置的I/O端口和通信口便于扩充外部周边设备,如门禁系统、红外线感应装置、全方位云台。

关键字:远程监控功能  视频服务器  S3C2410 引用地址:具有远程监控功能的视频服务器设计

上一篇:基于双核OMAP5910的嵌入式系统及其应用
下一篇:数据通讯系统在输电线路运检导航中的应用

推荐阅读最新更新时间:2024-03-16 13:20

嵌入式Linux视频采集系统的设计与实现
  1 引言   多媒体通信技术的发展为信息的获取和传输提供了丰富的手段,视频采集是其中不可缺少的重要组成部分。视频采集的手段多种多样,随着人们对降低系统成本和提高可靠性的迫切需求,基于嵌入式的视频采集系统成为新的研发热点。本方案以S3C2410 微控制器作为硬件平台,通过移植具有实现硬件功能的Linux 操作系统,实现了对视频数据的实时采集和存储。   2 系统构成   系统平台采用三星公司的处理器S3C2410,该处理器内部集成了ARM920T 处理器核,为32 位微控制器,带独立的16KB 指令Cache 和16KB 数据Cache,LCD 控制器,RAM 控制器,NAND Flash 控制器,并行I/O 口,8 路1
[单片机]
嵌入式Linux<font color='red'>视频</font>采集系统的设计与实现
S3C2410 MMU技术精解
许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为 单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的 规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称为覆盖块(overlay)的片段。覆盖块0首先运行,结束时他将调用另一个覆盖块。虽然覆盖块的交换是由OS完成的,但是必须先由程序员把程序先进行分割,这是一个费时费力的工作,而且相当枯燥。人们必须找到更好的办法从根本上解决这个问题。不久人们找到了一个办法,这就是虚拟存
[单片机]
<font color='red'>S3C2410</font> MMU技术精解
基于ARM9处理器S3C2410的LCD显示系统设计
  0 引言   Xscale处理器是Intel公司推出的基于ARMv5TE体系结构的ARM处理器。PXA270是该公司于2003年第四季度推出一款全性能、高性价比、低功耗的Xscale处理器,其最高主频可达624MHz。   PXA270拥有的 Quick Capture(快速拍摄)、Wireless MMX(无线MMX指令)和Wireless Speed Step(无线动态节能)技术,大大提升了多媒体处理能力;同时在保证CPU性能的情况下,最大限度地降低移动设备功耗。   嵌入式Linux(Embedded Linux)是指对标准Linux经过小型化裁减处理之后,能够固化在容量只有几KB或者几MB的存储器芯片或者单片
[单片机]
基于ARM9处理器<font color='red'>S3C2410</font>的LCD显示系统设计
基于S3C2410的IP电话设计
  IP电话的发展已经历了三代。第三代IP电话是Internet普及的产物,目前,以太网接口直接入户已经越来越普遍,有必要开发一种带有RJ-45以太网接口、直接连入Internet、使用更加方便的IP电话。用户在打电话时,可以直接拨叫远端的电话号码,通过网闸把所拨的电话号码转换成远端IP电话的IP地址,从而建立起通话连接。与第二代IP电话终端不同的是,第三代IP电话终端直接把输入语音信号数字化,并按照一定的语音压缩编码标准算法(如G.728,G.729等)完成对输入语音信号的实时压缩,使带宽从64kbps降低到8kbps甚至8kbps以下,大大提高了信道的利用率,IP电话终端遵循SIP(或者H.323)协议。第三代IP电话系统通过网
[单片机]
基于<font color='red'>S3C2410</font>的IP电话设计
赛灵思服务器一体机新品 引爆云视频市场
“随着视频流量呈指数级增长,架构优化成为重中之重。在目前的新冠疫情期间,我们每个人都在经历着各种各样的远程办公、学习和娱乐,并发通道占用的大规模增长正在冲击着服务提供商的业务模式,且不断推高带宽成本。采用赛灵思新型 RT Server 参考架构,将使得供应商们可以最大限度地降低成本,同时交付高品质的视频直播服务。”在近日举办的赛灵思实时服务器一体机线上发布会中,钟屹(William Zhong),赛灵思数据中心事业部中国区高级销售总监(图左)与Aaron Behman,赛灵思数据中心事业部视频产品营销总监(图右)接受了EEWorld记者的采访。 视频直播市场迎来飞速增长 视频占网络流量的绝大部分,而且视频直播内容庞大
[嵌入式]
赛灵思<font color='red'>服务器</font>一体机新品 引爆云<font color='red'>视频</font>市场
基于S3C2410的嵌入式图象传输系统设计
1 引言 如何更好的获得监控现场的图象数据一直是棘手的一个问题,传统的方法是采用CCD摄象机获取现场的视频信息,这种方法易于实现,但成本较高。随着 ARM系列处理器应用的越来越广和基于linux的嵌入式技术的迅速发展,利用linux自身带有的TCP/IP协议来实现远程监控、图象传输已成为可能。本文提出的正是一种这样的方法,利用市场上很常见的中星微系列的USB摄象头来得到现场的图象数据,利用linux内核中的Video4Linux编程接口函数采集图象,并把得到的图象通过Internet传输到上位机PC上,在PC上实现图象的保存和显示。 2 硬件系统设计原理 系统的硬件功能框图如图1所示,CPU采用的是三星公司的S3C2410。
[单片机]
基于<font color='red'>S3C2410</font>的嵌入式图象传输系统设计
linux 2.6.24.4在S3C2410上的移植(根文件系统cramfs,ramdisk,jffs2)(基于GEC2410)
内核可以跑起来,接下来就是移植根文件系统了. 我们使用BusyBox-1.10.1来创建根文件系统.下载地址为:http://www.busybox.net/downloads/ 1.设置BusyBox (1)解压 #tar -xvjf BusyBox-1.10.1.tar.bz2 #cd BusyBox-1.10.1 (2)修改Makefile,设置CROSS_COMPILE ARCH ?= arm CROSS_COMPILE ?= /home/GEC2410/toolchain/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu- (根据自己的交叉编译环境路径) (3)配置B
[单片机]
数字电视视频服务器的设计与实现
摘 要:讨论了一种分布式视频服务器的设计与实现。重点从磁盘和文件调度与节目流调度策略两个方面讨论提高数字电视视频服务器整体性能的技术。   关键词:数字电视 视频服务器 节目调度   数字电视是从电视节目录制、播出到发射、接收全部采用数字编码与数字传输技术的新一代电视。它具有可实现双向交互业务、抗干扰能力强、频率资源利用率高等优点。   视频服务器是数字电视的关键技术之一。视频服务器类型可分为基于通用计算机的服务器、基于高级工作站的服务器、基于专用硬件平台的服务器、分布式层次结构服务器等 几类。分布式视频服务器结构对每个播出服务器的性能要求不是很高,因此,可以将大量廉价的服务器结合起来,通过合理的控制和调度达到一个高
[应用]
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved