基于嵌入式系统的视频监控系统是如何实现的

一、引言

应用嵌入式网络技术的     监控   系统是监控领域最新的发展趋势,嵌入式网络监控系统是电子技术、     计算机   技术、通信技术和自动化技术快速发展并相互结合的高新技术产品,嵌入式网络技术改变以往的监控系统体系结构,满足了现代监控系统的可扩展性、分布式、实时性等,可广泛应用在电信、电力、交通、银行、水利、智能大厦等领域。正是在这一背景下,本文设计了一种嵌入式网络化视频监控系统,该系统在32位高性能     嵌入式处理器   和专用视频压缩芯片的硬件平台上,采用MPEG-4编码技术,嵌入式     Linux   操作系统和流媒体技术进行设计。利用本系统可以进行网络数字化视频监控,具有体积小、图像质量稳定、远距离监控等优点,具有良好的应用与发展前景。 本文从视频监控技术的发展历史和嵌入式系统的现状入手,分析了嵌入式网络视频监控系统相关技术,对通用的嵌入式处理器和专用视频压缩芯片进行了深入的研究,给出了整个系统的设计方案和功能规划。基于上面的背景和对市场进行深入调查取证,研究了目前流行的嵌入式系统和MPEG-4专用视频压缩芯片方案,在嵌入式系统方面确定了在AT91RM9200芯片上构建嵌入式Web服务器的解决方案。

二、系统的总体设计

整个网络视频监控系统采用C/S结构,从主体上分为两部分:服务器端和客户端。服务器端主要包括嵌入式处理器、摄像头及其他外围辅助设备,同时还包含运行在嵌入式平台上的采集、压缩与传输程序;客户端则是普通PC机,通过它进行图像接收与回放。网络视频监控系统的基本处理机理,即前端的视频监控服务器从现场的摄像头捕获实时的视频信息,压缩处理后再通过     以太网   传输到远端的监控终端上。

系统的整体结构如图1所示,视频图像采集和打包发送在服务器端完成,图像的接收与回放将在客户端完成。

 基于嵌入式系统的视频监控系统是如何实现的_设计制作_模拟技术

图1、系统结构图

三、系统的硬件设计

系统采用     模块化   设计方案,主要包括以下几个模块:主控制器模块、     存储       电路   模块、外围     接口   电路模块、电源和复位电路,如图2所示。

 基于嵌入式系统的视频监控系统是如何实现的_设计制作_模拟技术

图2、系统硬件结构图

1、AT91RM9200主控器模块

主控器模块是整个系统的核心,选用的是     ATMEL   公司的AT91RM9200。它是一款基于     ARM   920T 核的32位微控制器。该处理器最高运行频率可达到200     MPS   ,它的低功耗、精简和全静态设计特别适合于对成本和功耗敏感的应用。AT91RM9200提供了丰富的片内资源,支持Linux,是本系统的合适选择。它能完成整个系统的调度工作,在系统上电时配置所有需工作的芯片的功能     寄存器   ,完成视频流的编码,并通过以太网控制器控制物理层芯片发送视频码流。

AT91RM9200微处理器最高主频为180 MHz,其双向、32位外部数据总线支持8/16/32位数据宽度,26位地址总线可以对最大64 MB空间进行寻址。片内集成了非常丰富的外围功能模块,包括内存管理单元(MMU)、内部包含16 KB的S     RAM   和128 KB的     ROM   ,16 KB的数据缓存以及16 KB的指令缓存。其外部总线接口控制器(EBI),支持S     DRAM   ,静态     存储器   ,Bu     rs   t FLASH以及Compact FLASH。为了提高系统性能还扩展了以下外设;增强的     时钟发生器       电源管理   控制器(PMC);系统     定时器   (ST);     实时时钟   (RTC);高级中断控制器(     AI   C);4个32位     PI   O控制器;20通道的外设数据控制器(PDC);10/100兆Base-T型以太网卡接口;4个通用同步/异步串行     收发器   (UASRT)以及JTAG/ICE接口等。

在系统中AT91RM9200需要1.8 V和3.3 V电源,另外,大部分外围器件需要3.3 V电源,小部分外围器件还需要5 V电源,假设输入电压为5 V直流     稳压电源   。为了得到可靠的3.3 V电压,此处选用的电压转换芯片是NCPlll7ST33T3,它的输入电压为5 V,输出电压为3.3 V,最大输出     电流   为0.8 A。同样,为了得到可靠的1.8 V电压,选用NCPlll7STl8T3,它的输入电压为5 V,输出电压为1.8 V,最大输出电流为0.8 A。由于3.3 V和1.8 V属于NCPlll7系列的2个固定输出电压,所以设计比较简单,只需要在电路中与芯片并联2个典型值为10 tlf、的滤波     电容   即可。

2、系统存储电路模块

主控器还需一些外围存储单元如Nor Flash和SDRAM。Nor Flash 中包含Linux 的Bootloader、系统内核、文件系统、应用程序以及环境变量和系统配置文件等等,同时还预留了一部分空间作为用户使用;SDRAM读写速度快,系统运行时把它作为内存单元使用。为充分保证系统的可扩充性,系统设计采用了8M的Nor Flash和64M的SDRAM。

在网络视频监控系统的设计中,Flash用于存放操作系统、文件系统和驱动程序等;SDRAM主要用作运行嵌入式操作系统、应用服务程序和临时存放视     音频   信息。Flash存储器选用的是Spansion的S29AL016D70TF。它是一个16 Mbit的Flash存储器,容量为2,097,152个字节;采用48脚TSOP封装和3.0V电源供电。S29AL016D70TF与Hi3510的接口连接框图如图3所示。其中。CE#管脚为芯片使能输入,由于此Flash用于存储引导程序,故此引脚连接EBICSlN#;OE#管脚为输出使能输入,连接EBIOEN;RY/BY为准备或忙输出管脚,悬空。

 基于嵌入式系统的视频监控系统是如何实现的_设计制作_模拟技术

图3 Flash存储器接口设计框图

SDRDM存储器选用的是Hynix的HY57V281620ET,它的容量位是16MB(4Banks×2M×16bits),单片数据宽度是16位,为了增     大数据   吞吐能力,选取两片SDRAM构成32位地址宽度,存储容量为32MB。HY57V281620ET的工作电压为3.3V,常见封装为54脚TSOP,兼容LVTTL接口。支持自动刷新(Auto-Refresh)和自刷新(Self-Refresh)。HY57V281620ET与Hi3510的接口连接框图如图4所示。

 基于嵌入式系统的视频监控系统是如何实现的_设计制作_模拟技术

图4 SDRDM存储器接口设计框图

3、视频采集模块设计

视频采集芯片选用Philips公司生产的SAA7113H,它是一款功能强大且操作简单的9位视频输入处理芯片,采用CMOS工艺,通过     I2C   总线与处理器或     DSP   连接可方便地构成应用系统。它内部包含四路模拟处理通道,可以选择视频信号源并可抗混叠滤波,同时还可以进行模数转换、自动箝位、自动增益控制(AGC)、     时钟   产生(CGC)、多制式解码,另外还可以对亮度、对比度和饱和度进行控制。设置SAA7113H芯片的工作时钟为24.576MHz,数据输出格式为4:2:2,帧频为25fps。视频采集芯片SAA7113H在上电后,并不是立即采集模拟视频信号进行A/D转换,它必须由Hi3510通过I2C总线对其内部寄存器进行初始化设置后,才能正常工作。视频采集芯片SAA7113H与Hi3510的接口连接框图如图5所示。

 基于嵌入式系统的视频监控系统是如何实现的_设计制作_模拟技术

图5视频采集电路原理框图

4、外围电路模块

本设计用到的外设有     USB   接口,网卡接口,串行接口和JTAG接口。同时为保证系统将来的可扩展性,系统还预留了PC104接口和大量的GPIO接口。AT91RM9200处理器的片内以太网卡端口和网络物理层芯片DM9161E 的     MI   I 接口通信。而且片内以太网卡内置了独立的双缓冲的读写     DMA   通道,这样大大提供了数据的发送速度,同时不影响AT91RM9200 的正常运行。

为保证视频采集质量,监控系统选用了罗技等高端品牌的产品,然后摄像头通过专用的USB集线器与处理器单元的USB接口连接。在实时监控状态下,各个摄像头上捕获的图像数据通过USB集线器传输到视频监控系统的USB主控制器模块上,然后再由USB主控制器模块交由AT91RM9200处理器集中处理。AT91RM9200对采集到的图像进行实时编码压缩,编码之后的码流直接传输到发送缓冲区中,等候发送。最后由上层应用程序将处理后的视频数据通过以太网口进行发送。

四、软件方案

系统的应用软件建立在Linux操作系统之上,嵌入式Linux具有许多优点,如开放源码,功能强大的内核,支持多用户、多线程、多进程、实时性好、功能强大稳定;大小功能可定制等。本系统采用的嵌入式Linux系统是基于2.6.21的内核,支持了内核抢占式调度,同时调度周期为1ms,因此大大保证了系统的实时性。此外,系统内嵌的嵌入式Linux系统实现了对所有硬件设备的驱动支持,如基于Flash的文件系统、网卡驱动程序、USB驱动程序等等,完全保证了系统的可用性。

在本系统中,软件设计可分为3部分:视频图像     数据采集   、图像数据的JPEG压缩以及系统平台的网络通信。

1、视频图像数据采集的实现

首先加载USB摄像头驱动程序,接着就是编写一个对视频流采集的应用程序。摄像头中的各种I/O口的控制主要依靠Vide0     4L   inux提供的应用程序接口函数实现,主要有Open、Read、Wri     te   等。V4L下的视频采集1。在本系统中,将有关摄像头的各种数据和结构封装成了一个类,主要用到的一些系统调用函数定义如下:

open(“/dev/vide00”,O—RDWR):设备的打开。

close(fd):设备的关闭。

mmap(void+addr,size—t len,int prot,int flags,int fd,off__t offset):

设备缓冲区到内存空间的映射。

munmap(void*addr,size t len):采集工作结束后取消mmap和mbuf的绑定。

ioctl(int Rl,jnt cmd...,):控制     I/O   的通道。

2、Linux下图象数据的JPEG压缩

由于视频信息数据量过大,因此必须在视频传输前对图像数据进行压缩处理。在本系统中,摄像头采集过来的图像数据格式为RGB24,通过调用Linux下的Libjpeg库来实现视频数据的编码,把RGB24图像数据转换为JPEG格式。下面简述下整个压缩处理过程:首先初始化JPEG压缩的图片格式,调用jpeg_set—defauhs(&cmjpeg),接着初始化JPEG压缩图片质量,通过jpeg_set—ra     ti   o(&cmjpeg,ra  TI o,7rURE)实现。

开始压缩:jpeg_start—compress(&cmjpeg,TURE);for(i--0,line--buf;ibuf 0。((_dst_ptr)cmjpeg.dest)一》buffer,size);

释放内存并销毁cmjpeg变量:jpeg_destory_compress(&cmjpeg)

jpeg_buff_free(&emjpeg);

最后返回return size;返回值size     标记   了缓冲区中视频数据的实际长度。

3、系统网络通讯的实现

本系统采用B/S(浏览器/服务器)模式的通信构架。用户只需在远程客户机安装一个普通的浏览器软件,其他大部分工作由Web服务器完成。B/S模式开发的监控软件,降低了对系统软件的要求,避免了用户对客户端的安装和设置,实现了软件安装的简单化、自由化。

视频监控系统实现了对USB摄像头的驱动程序,这样上层视频采集程序可以直接通过标准的Video4Linux接口函数访问USB摄像头设备,捕获实时的视频流,放入上层缓冲区,同时通知上层服务器软件处理。

系统中内置了一个完整的基于网络的多用户视频服务器软件,这样当服务器软件监听到有网络客户连接时,立即启动采集进程从缓冲区中把处理后的视频流数据读出,然后发送给相应的客户连接。同时为了保证监控客户端的简单性与统一性,本系统中的客户端可以直接使用IE软件,即用户打开PC端的IE软件后,直接在地址栏内输入需要访问的设备IP地址或者域名,如192.168.0.5,此时就可以在IE浏览器中显示当前的实时采集图像。

五、结论

本系统采用嵌入式Linux,操作系统和ARM核处理器的硬件平台相结合,视频信号从前端图像采集设备输出时即为数字信号,以网络为传输媒介,并基于国际通用的TCP/IP协议,使用流媒体技术实现视频信号在网络上的传输,构成了一个高质量、监控方式灵活、可靠性好和具有易于扩展架构的网络视频监控系统。ARM处理核和Linux。相结合,很好地体现了整个监控小型化、数字化、网络化、低功耗的优点。系统     电路板   现已成功配置和运行,调试结果表明,整个系统具有稳定可靠、安装简便、成本低廉等特点,可广泛使用在家庭、银行、超市、公共场所等

责任编辑:Ct

62
97
0
19

相关资讯

  1. 1、无线充电是一个有用的应用还是无用的小发明1660
  2. 2、晶方科技完成荷兰Anteryon收购,拥有核心半导体制造技术2712
  3. 3、​《家用电器潮流趋势白皮书》发布,海尔智慧场景方案引领国际潮流风向4989
  4. 4、基于AlScN的微机电磁电传感器将具有更好的灵敏度和更低的成本1271
  5. 5、佛罗里达大西洋大学提出运动传感器方案,可更好地管控帕金森病4855
  6. 6、继联电之后,台湾日月光大陆业务拟登陆A股868
  7. 7、中科曙光发布全球首款闭式循环一体液冷八路服务器——I980-G303929
  8. 8、日本机器人酒店开始返聘人类,无人服务全面普及还要多久?1918
  9. 9、密歇根大学成功研发自供电图像传感器1832
  10. 10、​怎么调节LED显示屏的亮度?4675
全部评论(0)
我也有话说
0
收藏
点赞
顶部