ARM的远程视频监控系统的设计_第1页
ARM的远程视频监控系统的设计_第2页
ARM的远程视频监控系统的设计_第3页
ARM的远程视频监控系统的设计_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【Word版本下载可任意编辑】 ARM的远程视频监控系统的设计 0 引言 在国内外市场上,视频监控主要有模拟视频监控和数字视频监控。前者技术发展已经非常成熟,在实际工程应用中得到广泛应用,但只适合于小范围的区域监控,而且系统的扩展能力差,已经不能适应社会发展的需要。后者又可分为基于PC 机的视频监控系统和基于嵌入式的视频监控系统。嵌入式视频监控系统与PC 视频监控系统相比,具有体积小、功耗低、性能稳定的特点,很适合于在银行、学校等公共场所的安全监控。采用USB 摄像头作为视频采集设备的嵌入式视频监控系统,更由于其价格低廉、通用性好且接口标准而备受青睐。 本系统基于 ARM9 处理器和嵌入式Li

2、nux 操作系统,利用USB 接口摄像头实现数字图像采集任务,同时直接将数据以视频服务器方式发送到网络,用户可以直接通过Web 浏览器开展远程实时监控。 1 硬件平台设计 1.1 微处理器模块 平台采用 ATMEL 公司的AT91RM9200 处理器,AT91RM9200 是基于ARM920T 内核的低功耗32 位RISC 微处理器,其主频为180MHz,处理速度快,功能强,性价比高,能很好满足嵌入式Linux 系统的需求,还集成了包括USB2.0 主机端口和设备端口以及10/100MBase-T 以太网接口。在此根底上,配置了64M 的Nand Flash 用作存储设备,232M的32 为S

3、DRAM。处理器通过USB 接口连接摄像头,通过以太网接口连接网络。系统硬件平台功能如图1 所示。 图 1 监控系统硬件 1.2 USB 主设备模块 AT91RM9200 片内集成的USB 主机端口集成一个跟集线器,并在下游端口集成收发器,它提供几个半双工高速串行通信端口,速率为12Mbit/s,多可连接127 个USB 器件。本系统外扩一个USB 主机端口来支持USB 摄像头的访问。 系统采用的是应用广泛的选用罗技快看酷讯版摄像头开展数据采集,这种摄像头可以实现硬件JPEG 编码,视频数据由摄像头采集,一旦主控制器获得视频数据请求,则通过USB接口读取其缓存的数据,并对图像数据开展压缩编码,

4、然后基于socket 编程来发送这些压缩后的数据到服务器。 1.3 以太网接口模块 AT91RM9200 的在片以太网卡端口和网络物理层芯片DM9161E 的MII 接口通信。片内以太网卡通过DMA 通道开展数据的发送,不影响AT91RM9200 的正常运行。首先正确设置传送控制存放器和传送地址存放器的传送数据块字节数、数据块存储首地址等参数,随后依次从指定数据存储区地址读取1024b 数据,送入内部发送缓冲器中,由MAC 对数据开展封装发送,同时记录已传送字节数,直到数据块发送完毕。当发送完一组数据后,发出DMA中断请求,由AT91RM9200 开展相应的处理。整个网络子系统电路由AT91R

5、M9200 控制和调度。 2 嵌入式Linux 开发环境的建立 2.1 交叉编译链的建立 嵌入式开发与普通开发有个显着的不同是,普通开发是在本机开发、调试,本机运行,而嵌入式由于资源有限,不能直接在嵌入式目标机上运行开发工具,因此嵌入式开发一般采用交叉编译方式,即在开发主机上编译目标机上运行的程序。交叉编译链可以自己制作,也可以通过网络别人已制作好的交叉编译链直接使用。本系统所用交叉编译链版本是3.4.3。 2.2 配置并编译内核 系统选用开源的 Linux 2.6.14 版内核作为操作系统,以交叉编译方式编译,即在普通PC机上运行Fedora 8 环境下,用交叉编译链编译在ARM 9 机器上

6、运行的Linux 内核。内核用tftp 方式到开发板,然后解压自引导。具体操作如下: (1) 给内核补丁,Linux2.6.14 内核源码linux-2.6.14.tar.bz2 和AT91RM9200 补丁2.6.14-at91.patch.gz,然后: 3 视频采集的实现 3.1 USB 摄像头驱动 Linux 对于视频采集设备的支持,是通过Video4Linux(V4L)实现的,V4L 为视频应用程序提供了一套统一的API 函数,视频应用程序通过标准的API 接口实现与内核和驱动的通信,实现视频设备的各种功能。对于USB 接口摄像头,驱动程序实现了基本的I/O 接口函数open、clos

7、e、read、write,实现了内存映射功能函数mmap 和控制函数ioctl,并对于中断开展了处理。 Linux 中视频采集的实现,可以用read()函数直接读取数据,也可以用mmap()函数通过内存映射工作。内存映射方式直接将设备地址映射到内存地址空间,使用方便,效率更高,因此本系统采用内存方式获取视频数据。 本系统的设备控制函数ioctl 实现的主要设备控制命令有获得摄像头信息VEDIOCGCAP,判断获取图片是否成功VEDIOSYNC,读取图片相关信息VEDIOCGPIC,以及获取图片VEDIOGETPIC。 3.2 视频数据采集 本系统数据采集程序也是基于 V4l 编写应用程序,其基

8、本流程首先通过open 系统调用打开摄像头设备,如果成功则继续通过ioctl 函数命令(参数VEDIOCGCAP)获取摄像头相关信息,ioctl 函数命令(VEDIOGETPIC)获取图像数据。 4 远程监控的实现 4.1 Boa 服务器的建立 Web 服务器在本方案中采用了Linux 系统中常用的Boa,Boa 是一种非常小巧的Web服务器,其可执行代码只有大约60KB 左右。Boa 支持CGI,速度快和安全性好,很适合嵌入式系统使用。使用时只需用已建好的交叉编译链编译,然后修改配置文件boa.conf,为Boa 创立需要的目录/var/datasheet/AT91RM9200+_143939.html. .PC datasheethttps:/datasheet/PC+_2043275.html. .ARM920T datasheethttps:/datasheet

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论