微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于Au1200的无线车载视频监控的实现

基于Au1200的无线车载视频监控的实现

时间:03-07 来源:互联网 点击:
引 言

  随着无线宽带网络的发展、数字移动电视的建设、多媒体技术的应用,集多种功能于一体的无线车载媒体处理系统应运而生,它可广泛地应用于铁路、地铁、客运汽车等交通系统。

  本文简要介绍了基于Au1200处理器,包含无线传输、视频播放、视频监控等多种功能的嵌入式无线车载媒体处理系统的设计方案,详细描述了基于ffmpeg的软压缩方法,设计并实现了车载系统中视频监控部分的视频采集和视频压缩。

  1 无线车载媒体处理系统简介

  基于Au1200的无线车载媒体处理系统网络架构如图1所示。采用客户端/服务器架构,由车载客户端、车站服务器及通信网络三部分组成。其中,客户端选用AlchemyTM Au1200作为主控芯片。该芯片采用了MIPS32核心,是针对数字多媒体播放器、汽车信息娱乐系统等应用领域设计的一款低功耗、高性能的嵌入式处理芯片。利用Au1200在媒体处理方面的优势及其丰富的外围接口,无线车载媒体处理器的系统框图如图2所示。用户可以通过按键控制整个系统无线传输、视频播放、视频监控等多种功能。

  

  服务器端使用通用的PC机服务器,为整个系统提供多媒体资源管理和无线网络服务。

  每个装有无线车载媒体处理器的车辆,可以通过无线网络连接服务器,并按照指定的方式传输媒体资源。

  2 无线车载视频监控的硬件设计

  Au1200嵌入式处理器采用MIPS32核心,能够支持包括MEPG-1,MPEG-2,MPEG-4,WMV9,H.263,MP3,WMA,ASF,AVI和JPEG等多种媒体格式,其内部集成了专门的媒体加速引擎(Media Acceler-ation Engine,MAE),不需要外部DSP,因而可以简化编程环境并减少组件,拥有丰富的片上资源和外部接口,支持USB 2.0,IDE,CCIR656摄像头等接口。无线车载视频监控硬件框图如图3所示。

  

  其中包括:

  (1)视频监控输入部分:采用Omni Vision公司的彩色CMOS图像传感器OV9650作为系统的视频输入设备,利用Au1200自带的CIM(Camera Interface Module)接口,可以方便地控制OV9650。通过I2C方式,配置OV9650摄像头的工作模式,通过CIM接口读入采集到的视频数据,并映射到内存单元中。根据不同流向需求,处理视频数据流,实现系统的录制、存储、播放、传送等功能。

  (2)视频监控数据存放部分:通过ffmpeg软压缩方法,将采集到的视频数据按指定视频格式实时压缩成文件存储于硬盘中。

  (3)视频监控数据的实时播放部分:采集到的视频数据映射到内存后,将RGB视频数据直接输出到LCD缓冲区中,即可实现监控视频在LCD设备中的实时播放。系统也支持视频输出到VGA接口的显示设备中实时播放。此时,需要将数字视频数据转换为模拟视频数据。可采用ADI公司的ADV7123芯片实现三路高速、10位输入的高速视频数/模转换。三路DAC可以分别处理红、绿、蓝视频数据,实现模拟显示终端的高分辨率显示。

  (4)视频监控的远程传输部分:通过客户端系统的无线网卡(支持802.11b/g)连接无线局域网络,将硬盘中的录像文件以无线的方式,上传到服务器中进行保存。

  (5)用户控制部分:系统设计功能按键,分别连接到支持中断的GPIO口上,用户通过按键选择方式,方便地对视频监控进行控制。

3 无线车载视频监控的软件设计

  无线车载视频监控的软件部分主要包括:

  (1)内核及驱动部分

  系统使用Linux 2.6.11内核作为系统的内核,通过make menuconfig命令,根据用户需要配置合适的内核和驱动,生成内核文件镜像。设备驱动程序与系统硬件紧密相关,通过修改和调试后模块化的集成于内核之中。所涉及到的驱动程序包括用户按键驱动、摄像头驱动、LCD/VGA显示驱动、硬盘驱动、播放器相关的MAE驱动和与无线传输相关的无线网卡驱动等。在此着重介绍系统摄像头驱动的关键部分。

  在摄像头驱动中,定义数据结构cim_cmos_cam-era_config对摄像头设备进行描述:

  

  通过上述数据结构,可以有效地描述摄像头设备的各种参数。其中,config_cmd是一个十六进制的数组,对应不同工作模式的摄像头配置摄像头寄存器。

  驱动程序为上层应用提供了API接口,通过对应file_operations数据结构中的各个成员函数进行系统调用,在上层程序中,利用函数调用,读取驱动中fileoperations的相应成员函数指针,完成对应函数功能。

  在系统的CIM接口的驱动程序中做如下定义:

  

  其成员函数分别完成了与Au1200 CIM接口相连摄像头设备的打开、控制、读写、映射以及释放等基本功能。例如通过ioctl操作对摄像头进行配置:

  

  (2)库与协议栈部分

为了支持上层应用程序的运行,软件系统中还必须包含众多与之相关的函数库和协议栈。其中,主要包括了与系统运行相关的基本函数库,与音视频编解码相关的音

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

网站地图

Top