当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]具有远程监控功能的视频服务器设计

系统总体设计
   
硬件部分以三星公司的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监控端,用于实现远程的实时监控。
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所示。

[!--empirenews.page--]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所示。

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端口和通信口便于扩充外部周边设备,如门禁系统、红外线感应装置、全方位云台。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

美国纽约州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)发布 2022 年第三季度业绩报告。 IBM 董事长兼首席执行官 Arvind Kri...

关键字: IBM 软件 BSP 云平台

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

嵌入式软件

15715 篇文章

关注

发布文章

编辑精选

技术子站

关闭