基于嵌入式Linux的视频采集编码系统实现二

2012-09-18 16:48:43来源: 互联网

Linux 系统通过URB实现USB 传输。为提高有效数据的传输速度可扩大 URB的缓冲来降低每个USB 事务中握手信息所占比例。每次 USB 传输都需要在操作系统中进行URB的建立、发出、回收和数据整理等阶段。可建立两个URB,当等待一个 URB被回收时,也就是图像正在被传感器采集时同时处理、初始化另一个 URB,并在回收后立刻将其发出。两个URB交替使用,大大提高了系统处理的时间效率。

  在编译器部分将 Linux 下的摄像头驱动程序中Makefile 文件中相关行修改为CC=/opt/host/armv4l/bin/armv4l-unknown-gcc-linux,修改 Config.in 文件,这样在配置内核的时候才可以看见驱动程序的名称。同时对下列与处理器相关的部分进行修改,即可实现对S3C2440 的USB 驱动的移植。

  (1)PCI 接口处理

  由于S3C2440 的USB 主机控制器不包含 PCI 接口,因此需要删除 usb-ochi.c中与PCI接口相关的代码。

  (2)寄存器地址设置

  在usb-ochi.c中,使S3C2440 的USB 主机控制器寄存器的起始地址(0x49000000) 初始化ochi->regs。

  (3)主机控制器中断设置

  在usb-ochi.c中,使S3C2440 的USB 主机控制器寄存器的中断向量初始化 ochi->irq 。

  (4)根HUB端口数目设置

  在usb-ochi.c 中,定义根HUB的下行端口数目为 2(#define MAX_ROOT_PORTS

  2),MAX_ ROOT_PORTS 的默认值为150。

  (5)修改 Makefile和Config.in 文件

  修改完成后执行 make命令,即可生成所需要的带有.o 后缀的驱动文件。

  驱动程序设计完成并编译成功后,使用动态加载的方法添加到内核中。首先在宿主机上交叉编译好驱动模块,然后通过串口下载到开发板上,再使用 insmod 命令将驱动挂载,摄像头驱动便可成功添加,通过 lsmod 命令可以查看当前驭动添加的情况。

  4 视频采集

  系统软件基于VFL 开发,基本流程原理如图3。其中最关键的步骤就是视频数据的采集,一般有两种实现方法,一是直接读取,二是内存映射的方法。

  1) 定义数据结构

  程序中需要定义一些数据结构,如:video_capability ,包含摄像头的基本信息;video_picture,包含设备采集图像的各种属性;video_mmap,用于内存映射;video_mbuf ,利用mmap 进行映射的帧信息,实际上是输入到摄像头存储器缓冲中的帧信息;video_Window,包括设备采集窗口的各种参数。

  Linux 系统中把设备看成设备文件,在用户空间可以通过标准的 I/O 系统调用函数操作设备文件,从而达到与设备通信交互的目的。用 ioctl 函数来控制1/O 通道。

  2) 采集程序实现过程

  1. 打开视频设备

  在linux中视频设备对应的设备文件为/dev/video0 ,采用open 函数来打开视频设备。

  2. 获取设备信息和视频信息并进行设置

  开启设备文件后,通过调用 camera_get_capability() 和camera_get_picture() 函数来实现对设备信息以及图像信息的获取。这两个函数均通过调用ioctl() 函数来取得设备和图像的相关信息,并将取得的信息放到 video_capability 结构里。若需对图像信息进行设置时,先给video_picture 数据结构对象中所要修改的变量进行重新赋值,然后通过 ioctl 函数的VIDIOCGPICT来进行设置。通过调用 ioctl VIDIOCGPICT可设置所采集图像的属性。

关键字:嵌入式  Linux  视频采集  编码系统

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2012/0918/article_16833.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
嵌入式
Linux
视频采集
编码系统

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved