当前位置:首页 > 显示光电 > 显示光电
[导读]摘要 为满足高清视频监控的需求,针对目前raw格式传感器的驱动支持尚不完善的问题。文中基于TI公司的DM6467T芯片硬件平台,利用芯片提供的VPIF接口,对高清摄像头进行驱动程序的设计。分析了V4L2驱动结构,并分别对V

摘要 为满足高清视频监控的需求,针对目前raw格式传感器的驱动支持尚不完善的问题。文中基于TI公司的DM6467T芯片硬件平台,利用芯片提供的VPIF接口,对高清摄像头进行驱动程序的设计。分析了V4L2驱动结构,并分别对V4L2核心驱动、VPIF接口驱动以及传感器驱动进行修改及设计。编写了驱动测试程序,实验结果表明,该设计能成功采集到raw格式的图像数据,对同类传感器驱动设计具有一定参考价值。

随着数字视频技术成为安防监控与视频会议不可缺少的一部分,人们对视频稳定性、图像清晰度以及数据实时性的要求也逐步提高。为得到更清晰的图像,TI(德州仪器)推出了达芬奇系列芯片。该系列芯片善于处理多媒体数据,支持多种视频格式的输入和高清视频的输入。对于YUV格式的视频图像输入,目前已有较为成熟的驱动可直接使用,然而常见的传感器通常输出raw格式的视频数据,raw格式的是最原始的视频数据,其信息量最大,现阶段对传感器的驱动支持尚不完善。本文基于Linux环境,介绍了V4L2、VPIF和传感器驱动之间的关系,完成视频采集设备驱动的设计及简单测试程序的编写。

1 硬件平台架构介绍

在进行驱动程序设计之前,首先要了解相关硬件设备的信息。

1.1 DM6467T介绍

DM6467T是TI公司推出的一款达芬奇系列的双核芯片。达芬奇技术的基础是集成了DSP与ARM双内核的片上系统,ARM内核可加载操作系统,主要起控制和管理作用,DSP内核相当于一个只负责处理编解码算法的协处理器。DM6467T拥有1 GHz主频的DSP内核,500 MHz主频的ARM926E—JS内核以及2个HDVICP硬件协处理器。基于多媒体背景提出的DM646 7T,不仅运算能力高,且具有较强的控制能力。

DM6467T拥有VPIF(Video Port Interface)视频接口功能模块,VPIF模块管理着视频数据的输入输出功能,可满足各种视频输入输出设备的格式。该模块有4路可配置的数据通道,每路为8 bit的数据宽度,其中两路用于视频输出,另两路用于视频输入。VPIF支持ITU—BT.656、ITU—BT.1120格式的视频,也可支持数据宽度为8/10/12 bit的raw格式图像数据。

1.2 MT9P031传感器

MT9P031传感器是Aptina公司推出的一款高清传感器,最高可支持2 592×1 944像素的视频采集。在720p的视频格式下,每秒可采集60帧视频图像。MT9P031利用I2C(Inter-Integrated Circuit)总线进行通信,通过I2C设置传感器内部寄存器,即可控制传感器的工作模式及工作参数。I2C总线是由Philips公司开发的两线式串行总线,用于连接微控制器及其外围设备。

传感器端连接示意图如图1所示。传感器的数据接口与DM6467T的VPIF接口相连接。MT9P031传感器采集输出的是12位宽度的原始数据,需要占用VPIF接口中两路8 bit的数据通道,传感器利用行同步信号与帧同步信号进行同步,其同步信号与VPIF接口相连接。

 

 

2 视频驱动设计

2.1 V4L2驱动

V4L2(Video for Linux two)是Linux下开发视频采集设备驱动程序的一套规范,这套规范使用分层的方法为驱动程序的开发提供了清晰的模型和一致的接口。V4L2本身是一个字符设备,具有字符设备的所有特性,直接将接口暴露给用户。当视频设备连接到主机后,驱动程序会首先注册一个主设备号为81的字符设备,其是硬件唯一的身份标识。

图2展示了V4L2的驱动结构。驱动正常加载完毕后,会在/dev目录下产生/dev/videoX设备节点。图中的V4L2驱动核心构建一个内核中标准视频设备驱动的框架,为视频操作提供统一的接口函数。平台V4L2驱动部分,根据平台自身的特性实现与平台相关的驱动,平台驱动用于控制视频接收端的相关操作。本文采用DM6467T处理器,使用DM6467T的VPIF接口,该平台驱动即VPIF驱动。用户在利用接口进行操作时,V4L2调用平台驱动所提供的功能对DM6467T进行操作。用户需要采集传感器数据时,利用V4L2驱动核心提供的接口进行操作,驱动核心将负责下层驱动的调用,完成数据采集工作。

 

 

2.2 VPIF接口驱动

VPIF(Video Port Interface)是DM6467视频接口功能模块,VPIF接口共4路数据通道,两路8位视频输入通道,两路输出通道,其4路通道拥有相同的硬件结构。DM6467T通过VPIF接口接收传感器采集的视频数据,并将所有输入数据都缓存在片内Flash中。

首先需设计驱动初始化程序,在加载驱动过程中,VPIF需要进行初始化工作,主要包括分配缓冲,检测设备类型,分配内存给通道对象,将设备注册为V4l2_dev,申请视频数据接收时的中断,该中断表示一帧视频数据接收完成。注册相关的控制类函数,该类函数将实现用户层接口的控制操作。

余下的VPIF驱动函数设计可分为3部分:(1)用户控制相关的操作函数,该类函数实现V4L2中ioctl函数的具体操作。用户可通过V4L2对VPIF进行查询设备能力、设置像素、设置标准格式、申请缓冲区、对缓冲区进行操作和开启或停止视频采集等操作。(2)字符设备操作相关的函数,包括设备打开的实现,设备被关闭时资源释放以及内存映射的实现。(3)实现中断服务程序。采集视频数据阶段,每接收到一帧完整数据后,系统会产生一个中断,跳转到中断服务程序。产生中断表示缓存区域已被接收到的图像数据填满,中断服务程序中需要实现缓存轮换的操作,即将缓存指针指向下一个空白区域。

2.3 MT9P031驱动

MT9P031传感器驱动首先需要实现初始化功能。传感器驱动需要作为v4l2_subdev进行注册,注册完成后可在VPIF驱动中利用v4l2_subdev_call函数对其进行操作。MT9P031的内部控制寄存器由I2C总线进行控制,传感器驱动在初始化时还需注册为I2C设备,并利用I2C总线进行探测,读取传感器的设备号,检测传感器芯片是否正常。

由于MT9P031是V4L2子设备,驱动需要实现供上层平台驱动调用的控制函数,包括设置及获取当前视频格式,设置及获取视频参数以及实现传感器数据采集与停止功能的函数。

最后需要在芯片相关的设置文件中,加入VPIF与传感器的文件的配置,配置基本参数,如I2C地址、VPIF通道的连接情况等信息。

3 驱动测试程序

3.1 驱动程序编写

本文编写的驱动程序直接编译在内核中,在Linux内核启动的过程中,视频驱动进行初始化。内核加载完毕后,在/dev目录下产生/dev/vide0设备节点,用户空间通过调用Open函数即可打开设备,进行视频采集操作。具体流程如图3所示。

 

 

用户打开设备后,利用Ioctrl函数进行操作,通过VIDIOC_QUERTCAP控制命令可查询驱动支持格式,并利用其他控制命令进行相应设置。Linux操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能直接使用指针传递数据,需通过VIDIOC_REQBUFS命令和Malloc函数分别在内核空间和用户空间分配内存缓冲区,最后通过Mmap函数进行内存映射。利用VIDIOC_QBUF命令将分配到的缓冲加入缓冲队列,该队列将用于存放接收到的视频数据。利用VIDIOC_STREAMON命令开始视频采集,从缓冲队列中取到视频数据,并保存在SDRAM中,保存完毕后将缓冲区放回队列。采集完毕后需先停止视频采集,调用Close函数关闭视频设备,并且释放申请的内存空间。

3.2 测试结果

最终采集到的视频数据存放在SDRAM中,传感器采集到的视频图像是raw格式的数据,其数据格式为红绿/绿蓝交错的值,需要利用差值算法将其转换成RGB图像再进行显示,最终呈现了较为清晰的图像,验证了驱动程序的正确性。

由于raw格式的数据量较大,在实际应用中并不适合将该数据直接存储至存储器中,需要对数据进行转码压缩,随后再存储或通过网络进行传输。利用该驱动程序进行网络摄像头的设计,由于转码运算量大,在720P的格式下,目前实时的采集播放速率可达到10 fip·s-1。虽未达到传感器的标准,但验证了驱动的正确性,且基本满足使用需求。对DSP算法进行优化后,视频每秒的帧数将可进一步提升。

4 结束语

本文介绍了V4L2驱动的设计架构,利用DM6467T的VPIF接口,设计了基于DM6467T的高清摄像头驱动。现有基于VPIF接口设计的驱动仅支持YUV分量格式的视频数据,本文实现了在VPIF下针对raw格式视频数据采集的驱动,采集数据也达到了预期的效果。raw格式图像数据量大,根据需求进行处理后,用途广泛。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭