安防人上中安网!

关注我们  

安防网 >> 视频监控 >> 技术趋势

基于Linux与S3C2440双USB接口的视频存储选择

2011-12-05 09:43:48 来源:互联网 责任编辑: luocaocps 收藏本文
本方案主要利用单片机判别模块采集车辆行驶过程中运动状态信息(是否超速,存在急刹车、中途停车超时等),并结合车门在车速为零时的开闭对长途客车在非正常停靠点超载上人进行主动视频监控,便于以后的责任追究和认定,为监控中心的管理提供辅助。
b)容量瓶颈:现有发行的嵌入式Linux2.4.X内核对SD卡标准模式容量的支持绝大数为2 G以下(不包含2 G),要支持到更大容量需要对SD卡驱动程序进行大量修改,并且协议标准推出相对较晚,较新的嵌入式Linux 2.6.24内核通过笔者实际验证可以支持到2 G容量,但要对驱动进行多处修改,后续升级复杂,稳定性也需要进一步验证。


  鉴于以上两点,采用USB接口进行视频数据的采集和存储,两路USB接口部分硬件连接如图3所示。

  2.1.2 Linux内核配置修改


  在Linux下,所有外设都被看成是一种特殊的文件,称为设备文件。设备驱动程序为内核和外设之间提供接口函数,完成设备的初始化与释放、对设备文件的各种操作及中断处理等。这些接口函数为应用程序屏蔽了外设硬件的细节,使程序可以像普通文件一样对外设进行操作。Linux系统中子模块Video4Linux向虚拟文件系统注册视频设备文件,为视频应用程序提供了一套统一的API,视频应用程序通过标准的系统调用即可操纵各种不同的视频捕获设备。


  考虑到更好的推广性,采用市面上常见的中星微301系列zc0301pl芯片摄像头,此摄像头支持JPEG格式的图像采集。模块中分别对USB OV511 Camera support,Device Drivers等菜单选项进行适当配置。除此之外,还需对USB的配置文件进行修改,本文选用Linux 2.6.24内核,主要修改的文件如下:


  linux-2.6.24/driVers/usb/host/Kconfig,linux-2.6.24/drivers/usb/host/ohci-s3c2440.c和linux-2.6.24/drivers/usb/core/hub.c.其中主要涉及对MISCCR寄存器进行正确设置。以修改ohci-s3c2440.c文件为例,部分需添加代码:


  2.2 视频采集存储程序设计


  Vide04Linux设备驱动程序只提供了在系统层面上访问硬件设备的一系列读、写等函数的接口,要实现存储,还需再编写一个对视频流采集的应用程序,总体上创建两个进程:进程一实时扫描串口接收到的信息,通过读取命名管道内容将编码信息发送给进程二;进程二根据接收到的编码做出判断,区别各种不规范驾驶行为,设定定时器不同时长以控制存储时间,并将视频分类存储到不同目录中。


  Video4Linux设备驱动程序支持两种捕获图像的方式:内存影射mmap方式和直接读取read方式。mmap方式采用共享内存方式,数据采集速度快,但这种采集方式需摄像头硬件支持。结合本文中使用的摄像头,在图像采集过程中,采用read方式直接读取设备文件,将获得的一帧数据保存到缓冲区中,通过convertframe()函数将pFramebuffer中的数据转换成完整的JPEG格式的数据存储到ptframe中,然后调用fWrite()函数将缓冲区中的JPEG格式的数据写到指定文件中,从而得到一副JPEG格式原始数据块。部分程序如下:


  对于存储的控制,本文采用“命名管道”方式,这是一种简单的进程间通信机制,在同一计算机的不同进程之间,支持可靠的,单向或双向的数据通信。


  命名管道由视频存储进程利用函数int mkfifo(constchar*pathname,mode_t mode)创建,负责读取由串口扫描接收进程接收到的控制信息。部分程序如下:

  程序总体流程图如图4所示。


  3 试验结果


  嵌入式内核采用较新的Linux2.6.24版本,配置成功后将编译生成的镜像文件下载到目标机。应用程序可执行文件通过宿主机上交叉编译器arm-linux-gcc4.4.1生成,向目标机移植成功后便可以在目标机上运行。本文中摄像头采用中星微301系列zc0301p1芯片,存贮器选用台电存储之星U盘,容量为4 G。


  视频采集存储模块根据接收到的不同违章信息,在执行文件当前所在目录位置分别建立DOCn(n=1,2,…)文件夹,将视频信息分类保存在相应目录下。图5为驾驶员在岔道转弯时刻因超速产生触发条件,进而触发视频采集存储视频中的一副图片。另外,在系统运行时,还可以根据需要设置录制时间的长短,以满足不同的需求和存贮器容量的限制。


  4 结论


  本系统中单片机模块根据运算结果产生触发条件,通过串口发送不同编码信息来区别超速、紧急刹车、超载等情形。实验结果表明整个系统安装简便,成本低廉,工作稳定可靠。另外通过修改单片机模块触发条件,可扩展用于工厂、银行及小区等场合下基于事件触发的智能监控。

【想第一时间了解安防行业的重磅新闻吗?请立即关注中安网官方微信(微信号:cpscomcn)——安防行业第一人气微信,万千精彩,千万不要错过!!!

中安网官方微信

提示:试试"← →"实现快速翻页

网友评论

共有0条评论  点击查看全部>>

所有评论仅代表网友观点,与本站无关。

24小时阅读排行

本周阅读排行

订阅邮件
安防速递

每天三个要闻,知晓行业关键

E 周 刊

一周事,一朝知

Email: