微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于ARM9的视频监控终端的设计与实现

基于ARM9的视频监控终端的设计与实现

时间:04-12 来源:中电网 点击:

视频监控系统是安全防范系统的重要组成部分, 它具有直观, 方便, 信息内容丰富而被广泛应用于许多场合。传统的数字视频监控一般采用基于PC机平台+ 视频采集卡的形式, 该方案有系统体积大、成本高、稳定性不够好等缺点。随着嵌入式系统监控和视频压缩技术的日渐成熟, 以及高网络带宽的普及, 通过嵌入式平台, 实现视频信号采集、压缩, 通过网络传输, 进行视频监控已成为可能。 该设计采用的是韩国三星公司的一款基于ARM920T 内核的嵌入式处理器, 并将国际上流行的MPEG4 压缩编码技术和流媒体传输技术相结合,开发出可靠性高、成本低、体积小、功耗低的远程视频监控系统终端。

1 系统开发硬件平台

系统硬件平台如图1 所示。该设计采用的是韩国三星公司的S3C2410 ARM 嵌入式处理器, 主频可以达到203 MHz. 内置有丰富的外设资源, 包括存储器、串口、网口和USB 等接口控制设备,主要面向手持设备以及高性价比、低功耗的应用。 S3C2410 作为系统控制单元,其出色的性能、丰富的片内外资源、对视频处理功能的优化、低功耗等特点成为系统的首选。该核心板内置了64 MK9F1208 的NAND Flash, 2MSST39VF1601 的Nor Flash, 以及以太网控制芯片国三星公司的S3C2410 ARM 嵌入式处理器, 主频可以达到203 MHz. 内置有丰富的外设资源, 包括存储器、串口、网口和USB 等接口控制设备, 主要面向手持设备以及高性价比、低功耗的应用。 S3C2410 作为系统控制单元,其出色的性能、丰富的片内外资源、对视频处理功能的优化、低功耗等特点成为系统的首选。该核心板内置了64 MK9F1208 的NAND Flash, 2MSST39VF1601 的Nor Flash, 以及以太网控制芯片CS8900Q3. 两路UART 串行口支持RS232 协议,用于和PC 通讯和控制摄像头, 波特率高达115 200 bps. 外接USB 摄像头采用的是基于中星微Z301 芯片的极速摄像头。 像素达到130 万, 色彩位数24 位, 最大帧数可以达到30 帧, 画面流畅、清晰, 支持: S3C2410、QQ2440v3 mini2440 等ARM9 开发板, 即插即用, 对嵌入式系统开发是个不错的选择。

图1 系统硬件平台

该系统通过USB 摄像头采集视频原始数据,S3C2410 作为核心的中央控制和数据处理中心,主要完成视频采集终端控制和视频图像压缩, 并将压缩后的视频数据打包形成标准的网络数据流传输到因特网中。

2 系统的软件设计

系统的软件设计主要包括如下几个方面: 交叉编译环境的搭建、USB 视频采集、视频编码压缩, 以及视频流的网络传输。 系统软件架构如图2 所示。

图2 系统软件架构

2. 1 交叉编译环境的搭建

由于嵌入式开发板的资源有限, 不能直接在开发板上进行开发和调试, 需要以交叉编译调试的方式进行开发和调试,鉴于嵌入式Linux 强大的网络支持功能, 源代码完全开放、可移植性强、网络功能强大等特点, 选用它作为系统软件平台。在系统开发前需安装Linux 操作系统, 然后在宿主机即PC 机上建立交叉编译环境。安装对应ARM 开发板的交叉编译器cross- 3. 3. 2. tar. bz2. 这样, 一个嵌入式ARM- LINU X 下的交叉编译环境就搭建成功了。

2. 2 视频采集系统的实现

视频采集是通过嵌入式Linux 操作系统调用V4L( video4linux ) 和影像驱动程序来完成的。

V ideo4linux 是linux 的影像流系统与嵌入式影像系统的基础。它是linux kernel 里支持影像设备的一组API( 应用接口程序) , 若配合适当的视频采集卡与驱动程序, video4linux 就可以实现影像采集、AM/FM 无线广播、影像CODEC、频道切换等功能。 目前, V4L 主要应用在影像串流系统与嵌入式影像系统里, 如: 远程教学、远程医疗、视频会议、视频监控、可视电话等。它分为2 层式构架, 上层为video4linux驱动程序本身,下层为影像设备的驱动程序, 如该设计中的中星微摄像头Z301 芯片的驱动程序。 在Linux 操作系统中, 外部设备都作为设备文件来管理, 因此, 对外部设备的操作就转变成对设备文件的操作。 采集程序调用V4L API 对设备文件进行读操作,即可实现视频数据采集。

由于开发板自带的Linux 内核并不支持中星微的摄像头,所以要在网上下载Z301 驱动芯片的补丁, 对应ARM- Linux 版本号。 利用patch 命令打在内核上。 在编译内核的时候,会在usb- > support 出现SPCCA5XX 选项,以模块的形式加载, 开机的时候顺序加载Video4linux 和Spca5x x 模块, 加载成功后, 会在设备文件里看到/ dev/ video0 文件, 说明USB 摄像头驱动加载成功, 就可以在终端对摄像头操作进行集视频采集了。

2. 3 视频编码压缩

视频监控系统的要求是要做到实

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top