
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于video4linux的摄像头驱动设计随着多媒体技术、网络技术的迅猛进展和后pc机时代的到来,利用嵌人式系统实现远程、可视电话和视频会议等应用已成为可能。为了实现这些应用,实时获得视频数据是一个重要环节。针对这一点本文在系统平台上,基于video4(简称v4l)技术,实现了摄像头驱动开发,具体讲述了v4l技术和摄像头在blackfin536 平台上的linux驱动程序设计。1 video4linuxv4l是linux的影像串流系统与嵌入式影像系统的基础。linux在tv、多媒体上的应用是目前相当热门的讨论领域,而其中最关键的技术则是linux的v4l。v4l是linux kernel里支持
2、影像设备的一组apis,协作适当的摄像头与摄像头驱动程序,可以让我们实现影像采集、amfm无线广播、影像codec、频道切换等功能;而目前最主要的则是应用在影像串流系统与嵌入式影像系统里,其应用范围相当广泛,例如:远距离教学系统、远距离诊断系统、视频会议等。目前,v4l这套接口已进展为v4l 2,前者比后者容易,但存在两个不足之处:驱动程序设计时不能同时打开多个设备;现存的v4l api不能很好地支持带编码能力的设备。本文为便于讨论摄像头驱动开发,还是用法v4l。v4l主要结构体如下:camera_open,camera_close是打开和关闭视频采集设备;camera_read,是读取视频图
3、像;视频驱动主要的控制接口都是通过 ioctl来实现的,像的格式、亮度、色度等信息都是通过ioctl函数猎取和设置的。ioctl指令部分如下:v4l支持两种方式捕捉图像:mmap(却嬗成浞绞?和read(挺直读取方式),本系统采纳mmap。需预先设置好图像的大小和深度,接着用法 vidiocgmbuf指令,它会返回用于mmap的缓存(buffer)的大小以及每帧缓存的偏移地址(offset)。驱动程序里的映射函数为 static intbf536_v411_mmap(struct file*filp,structvm_area_struct*vma);抓帧完成后,在应用程序里通过内存映射,读取
4、图像数据。2 硬件平台本系统采纳模拟,经ti公司的tvp5150a视频解码芯片把模拟信号转成 itu-r bt656视频信号,再送给公司的blackfin536 dsp处理器举行图像处理,1所示。tvp5150向dsp提供采样时钟信号clk(27mhz),8根数据线传输内嵌同步控制码流的itu-r bt656格式的数据,dsp通过i2c接口对视频举行配置。视频数据由dma搬运到sdram。3 驱动程序设计31 驱动程序核心结构体的介绍本系统的软件平台是嵌入式uclinux,因此,摄像头作为一个设备驱动加载到uclinux内核中。普通而言,每个设备驱动都会有它的核心结构体,摄像头驱动的核心结构体
5、设计如下:struct camera device该结构体储存了几乎所有与摄像头视频图像相关的信息。其中的结构体videodev和videov4l1是与v4l相关联的,ppidev是与adsp- bf537处理器硬件配置相关的,而framecamera_numframes则与采集时当前视频帧数据相关联。此外,camera_device 该核心结构体还定义了表示奇偶场的成员变量frame_field,表示当前帧的抓取状态的成员变量grabbing等。32 硬件配置本系统在开发过程中,最主要的难点在于硬件的配置,正确配置tvp5150、ppi、dma需要搞清晰囫囵摄像头的工作原理,以及各种图像格式
6、的基本学问。本文主要给出ppi和dma的几个关键配置选项。321 ppi配置tvp5150a视频解码芯片把模拟信号转换成itu-rbt656视频信号,itu-r bt65*:2:2并行接口的数字演播室标准。对于pal制系统(ntsc系统类似),一帧图像包括两场视频数据(奇偶场),每一场图像由四部分构成:有效视频数据,水平消隐,垂直消隐以及控制字。而ppi接口在itu-656输入模式下可以支持3种数据传输,若挑选有效视频数据,则可以实现ppi 与tvp5150a解码器的无缝衔接。且传输的有效视频数据就是uyvy422格式,所以配置ppi控制寄存器为itu-656输入、传输有效视频数据。 ppi传
7、输的有效视频数据每场都由288行组成,每行有1440个取样字,其中720个亮度y取样字,360个蓝色色差cb,360个红色色差cr,按 cb、y、cr、y的次序罗列。而uyvy422格式数据是:每个像素点都取亮度值,而蓝色色差和红色色差是每两个像素点才各取一个,两者交替取,所以图像像素是720×576。这样可以确定ppi frame=576(整幅图像的行数)。而ppi count不用配置,由于在itu-r bt656视频信号中有h和v信号。322 dma配置本系统采纳二维dma来提高数据的传输速度,采纳16位传输,且传输完一场视频数据后产生中断。dma_x_count=720(相当于
8、每行数据需传输的次数,每行720个像素点,每个像素点2个字节。每行要传720×2个字节,而dma是16位传输,所以x_count=720)。 dma_x_modify=2(相邻两次传输数据的偏移地址,以字节为单位,由于是16位传输,所以为2)。因为pal制视频数据是隔行扫描,每帧分为奇偶两场,两场在时域上是分开的,但是在数据处理时需要将两场合成一帧举行处理,因此为了削减cpu的处理时光,可以利用dma挺直举行场合成。在一场的传输中,dma在传输完一行数据后,预留下一行的存储空间,将数据存放到第三行的地址。在一场数据传输完后,下一场的数据就填充上一场预留的存储空间,也是隔行存储,这样两场数据就合成一帧数据了。所以,dma_y_modify=1442(一行720像素点,占720×2字节。而一行末地址到下一行首地址还需2字节。所以720×2+2=1442)。同时,两场数据存放的起始地址的设置间隔也是1442字节。33 中断服务子程序本系统的中断服务子程序主要是一场数据采集完后,产生中断,并按照数据的奇偶场做出相应的处理。其流程2所示。4 结束语本文介
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河道保洁长效管理办法
- 河南绿化养护管理办法
- 行业行为管理与运营优化
- 来华工作经费管理办法
- 水文自动测报系统的运行机制与质量评价标准研究
- 杭州法院薪酬管理办法
- 前台考勤考核管理办法
- 保健按摩养生管理办法
- 水土保持生态产品价值转化机制研究
- 企业安全生产费用计提标准
- L07G324钢筋混凝土密肋楼板
- 2024年软件测试合同
- 班组长生产管理能力考试题库-上(选择题)
- GB/T 4074.2-2024绕组线试验方法第2部分:尺寸测量
- 欧普照明产品介绍
- 社区工作者考试题库及答案
- 管道系统压力试验和泄漏性试验记录
- 车站与区间信号工技师题库
- 岱山经济开发区新材料产业园污水厂排海管工程环境影响报告
- 社会主义市场经济理论1课件
- 夹滩社区美丽乡村建设工程初步设计说明
评论
0/150
提交评论