基于和网络视频监控器设计

上传人:s9****2 文档编号:487826474 上传时间:2022-08-16 格式:DOC 页数:22 大小:867KB
返回 下载 相关 举报
基于和网络视频监控器设计_第1页
第1页 / 共22页
基于和网络视频监控器设计_第2页
第2页 / 共22页
基于和网络视频监控器设计_第3页
第3页 / 共22页
基于和网络视频监控器设计_第4页
第4页 / 共22页
基于和网络视频监控器设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《基于和网络视频监控器设计》由会员分享,可在线阅读,更多相关《基于和网络视频监控器设计(22页珍藏版)》请在金锄头文库上搜索。

1、信 息 基于linux和S3C2410a网络视频监控器设计信息工程学院 电子信息工程 02531班 吴壮荣【摘 要】 随着网络和多媒体技术的广泛应用,数字网络视频得到了飞速发展。尤其在监控领域,将传统的模拟视频监控信号转换为数字视频信号,利用嵌入式系统实现远程视频监控、可视电话和视频会议等应用已成为可能。并且利用现有IP网络设计一个不受距离限制的廉价通用网络视频监控设备成为了新的热点。本文根据这方面的应用需求提出一种设计方案。本方案的实现平台是基于S3C2410a的嵌入式硬件平台以及基于嵌入式Linux的软件平台,采用JPEG图象编码标准。最终实现一个具有实时视频采集、压缩、传输、可接入以太网

2、的网络视频监控器。 【关键词】 abcARM2410a Linux JPEG 网络视频监控器第一章 绪 论 1.1 监视器发展现状目前,监视器产品可分为模拟视频监控和数字视频监控两大类。因前者技术发展成熟、性能稳定、价格低廉、在实际工程应用中仍有广泛应用,特别是在大、中型视频监控工程中的应用;而后者是新近崛起的以计算机技术及图像视频压缩为核心的新型视频监控系统,该系统解决了模拟系统部分弊端而迅速崛起,虽然仍需进一步完善和发展,但是因为模拟监控系统存在如下主要缺点: 通常只适合于小范围的区域监控 模拟视频信号的传输工具主要是同轴电缆,而同轴电缆传输模拟视频信号的距离不大于1Km,双绞线的距离更短

3、,这就决定了模拟监控只适合于单个大楼、小的居民区以及其它小范围的场所; 系统的扩展能力差 对于已经建好的系统,如要增加新的监控点,往往是牵一发而动全身,新的设备也很难添加到原有的系统之中;无法形成有效的报警联动 在模拟监控系统中,由于各部分独立运作,相互之间的控制协议很难互通,联动只能在有限的范围内进行。而数字化系统恰好能解决了以上问题,因此,视频监控系统从目前数控模拟系统与数字系统混合应用逐渐向数字系统过渡已成为大势所趋。 1.2 嵌入式linux与abcARM2410a开发板功能介绍以应用为中心,以计算机技术为基础,软件、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗要求严格的专

4、用计算机系统,称为嵌入式系统。嵌入式系统应其结构复杂,使用操作系统来管理软硬件资源已是或不可缺。Linux作为一个成熟而稳定的网络操作系统。因其移植入嵌入式设备具有众多的其他操作系统无法比拟的优势,而得到越来越广泛的应用。首先,Linux的源代码是开放的,任何人都可以获取并修改,用之开发自己的产品。其次,Linux是可以定制的,其系统内核最小只有约134kB。一个带有中文系统和图形用户界面的核心程序也可以做到不足1MB,并且同样稳定。另外,它和多数Unix系统兼容,应用程序的开发和移植相当容易。同时,由于具有良好的可移植性,人们已成功使Linux运行于数百种硬件平台之上。为在有限的时间里,开发

5、出此次的应用系统网络视频监控器。我选择了 abcARM2410a开发板作为开发载体。其主要硬件资源描述如下图1.1: 图1.1 abcARM2410a开发板硬件资源描述图开发板软件资源:(1)BIOS启动 bootloader启动系统(可以设置启动时间); Xmodem支持Xmodem传输协议; Set Kernel Parameter 支持设置内核参数(Set Partation支持设置分区,Update Flash支持更新Flash) (2)内核及驱动 Linux kernel 2.4.18 使用2.4.18稳定内核 CRAM/EXT2/FAT32/NFS file system支持CRA

6、M/EXT2/FAT32/NFS/YAFFS等文件系统 System Interrupt & Timer Driver 系统中断和系统时钟驱动 Serial device driver 串口驱动 Block memory device driver 块设备驱动 Flash memory device driver Nand Flash驱动 10Base-T external Ethernet device driver 外接10M以太网卡驱动 RTC (Real Time Clock) Driver 实时时钟驱动 USB Host driver USB Host驱动(USB Slave USB

7、 Slave驱动 ) LEDS跑马灯灯驱动 (Buttons用户按键驱动 ) Many Country Language Support国际化支持 LCD液晶(LCD)驱动Frame Buffer (3)应用系统(网络支持) TCP/IP完整的TCP/IP协议 (Telnet Server Telnet服务器,Remote login (telnet) Telnet远程登录 ,NFS支持NFS Client ) File transfer (FTP client / server) FTP传输服务(包括登录和服务器) 第二章 系统设计本方案设计的是基于网络的实时视频采集、处理及传输系统。整个系

8、统在嵌入式软硬件构架上实现,无需其它设备协助就能独立完成通用目的视频应用,比如视频监控和网络视频会议。2.1 硬件系统概述 对本次设计的整个系统除外接的摄像头部分外,都是在三星S3C2410a板评估平台abcARM2410a(简称abcARM2410a板)上面实现的。只是开发出其中构造远程视频监控器所需要的部分资源:通过在USB HOST接口上外接一个带USB口的摄像头,将采集到的视频图像数据放入输入缓存区中。然后,运行移植到平台上的图像处理程序,对缓冲的图像数据直接进行相关处理,再保存并打成UDP包。最后,通过网络接口将图像发送到Internet上,远程端可通过相应软件,以访问开发板服务器平

9、台形式,采集数据。整个硬件系统如图2.1所示。 图2.1 网络视频监控器硬件系统框图64M SDRAM32M NAND FLASHJTAG调试口10M以太网控制器INTENET PCUART控制口USB HOST控制器摄像头 s3c2410处理器 2.2 软件系统概述 linux 内核 引导程序(vivi bootloader) 应用程序(图像采集、压缩、传输,协议栈)USB摄像头驱动,CS8900以太网芯片驱动图2.2 软件系统结构图 整个系统软件是在嵌入式Linux基础之上构建的。abcARM2410a板使用的嵌入式Linux内核是s3c2410-kernel.tgz(适用于abcarm的

10、内核源代码,内含各种外设驱动)。abcARM2410a板使用的YAFFS文件系统是针对NAND Flash设计的嵌入式文件系统,文件系统中包含应用程序、模块、配置文件、库等。本系统中的视频采集分两步实现:一是为USB口数码摄像头在内核中写入驱动,二是要再写入上层应用程序获取视频数据。整个软件系统如图2.2所示。 系统的设计目标是设计一个工作在abcARM2410a开发板和嵌入式Linux平台上,将从摄像头端口采集的OV511A处理后输出的OV压缩算法数据通过摄像头本身约5:1压缩后,通过USB 1.1端口输入处理器,并将图像压缩,保存为JPEG格式的文件。程序调用Encoder编码器可以将多幅

11、JPEG格式的图像合成一段AVI视频流,实现视频回放。最后,系统还可以通过以太网口将保存的图片和视频流传到服务器上或者开发出一个外接USB硬盘,实现网络监控。系统的设计可以被分为以下几个大部分: (1)嵌入式vivi bootloader与Linux内核的移植和编译,文件系统的安装; (2)基于嵌入式Linux视频采集模块的设计; (3)视频图像压缩模块的设计; (4)基于嵌入式Linux的网络视频流模块的设计。本章小结本章概述实现网络视频监控器硬软件系统总体的设计框架,并对相应部分提出了具体的设计方案。第三章 开发板嵌入式 Linux 系统概述在专用的嵌入式板子运行Linux 系统已经变得越

12、来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。 2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3. 文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。通常用 ram disk 来作为 root fs。 4. 用户应用程序。特定于用户的应用程序。下图3.1就是一个同时装有Boot Loader、内核的启动参数、内核映像和根文件系统映像的固态存储设备的典型空间分配结构图。 图3.1 固态存储设备的典型空间

13、分配结构3.1 Boot Loader 配置 嵌入式系统中Boot Loader的功能如同PC机上的BIOS,同为引导加载程序,是系统加电后运行的第一段软件代码。当系统加电或复位后,所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取指令,并首先执行 Boot Loader 程序,所以它是否正常运行,直接关系到系统能否正常启动。本系统选用vivi作为系统的Bootloader,它是韩国Mizi 公司开发的适用于ARM9 处理器的Bootloader。它具有Bootloader典型的两种工作模式:启动加载模式和下载模式,这种区别仅对于开发人员才有意义。启动加载模式可以在一段时间后(这

14、个时间可更改)自行启动Linux 内核,这是vivi 的默认模式。在下载模式下,vivi 为用户提供一个命令行接口,通过该接口可以使用vivi提供的一些命令,如下表3.1所示:命 令功 能Load把二进制文件载入Flash 或者RAMPart操作MTD 分区信息。显示、增加、删除、复位、保存MTD 分区Param设置参数Boot启动系统F1ash管理Flash,如删除Flash 的数据表3.1 vivi提供的一些命令vivi的实现,与一般BOOTLOADER一样分为2部分:stage1与stage2,因汇编部分执行简单的硬件初始化,C部分负责复制数据,设置启动参数,串口通信等功能,根据用途特征,分别用汇编和c语言来实现,以下简述其实现内容: 3.1.1 Boot Loader 的 stage13.1

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号