为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于Quick Capture技术的摄像头驱动方案

2017-09-02 6页 doc 20KB 13阅读

用户头像

is_562397

暂无简介

举报
基于Quick Capture技术的摄像头驱动方案基于Quick Capture技术的摄像头驱动方案 摘要:介绍一种高速高质量的嵌入式摄像头传输技术——Quick Capture技术;详细叙述其设计思想和工作流程,并用可编程逻辑器件Bulverde板卡予以实现。 关键词:嵌入式系统 驱动程序 快速捕捉 摄像头 随着嵌入式处理器的普及和硬件成本的不断降低,具有拍照和摄像功能的手机逐步走进 了人们的生活。但由于嵌入式处理器的速度有限,在处理图形和多媒体数据方面显得力不从 心,导致嵌入式系统的摄像头分辨率低、色深低、数据传送速度慢,无法满足人们即时捕捉 高质量图片和视频的需求。...
基于Quick Capture技术的摄像头驱动方案
基于Quick Capture技术的摄像头驱动 摘要:介绍一种高速高质量的嵌入式摄像头传输技术——Quick Capture技术;详细叙述其设计思想和工作,并用可编程逻辑器件Bulverde板卡予以实现。 关键词:嵌入式系统 驱动程序 快速捕捉 摄像头 随着嵌入式处理器的普及和硬件成本的不断降低,具有拍照和摄像功能的手机逐步走进 了人们的生活。但由于嵌入式处理器的速度有限,在处理图形和多媒体数据方面显得力不从 心,导致嵌入式系统的摄像头分辨率低、色深低、数据传送速度慢,无法满足人们即时捕捉 高质量图片和视频的需求。Quick Capture技术是一种专为手持设备设计,用来改进图像质 量和传输速度的技术。本文基于Quick Capture技术,就摄像头驱动程序和图片信息传输问 题,提供一种解决方案。 1 硬件介绍 本人选择的嵌入式微处理器是2003年底Intel公司刚刚推出的一款专门面向移动电话和 掌上电脑的专用处理器,PXA27x系列,代号为Bulverde。该处理器采用了Quick Capture技术。Quick Capture为成像设备与无线设备提供接口,有助于改进图像质量以及降低产品 整体成本。该项技术包括快速浏览、快速拍照和快速视频拍摄三种操作模式。该技术使得 Bulverde可以支持400万像素数码镜头,并能提供最大416Mbps的数据传输速率。 集成在该开发板上的是Agilent公司的型号为ADCM-2650-0001的摄像头感应器。在VGA(480×640)分辨率下,每秒传输的图片能达到15帧,具备自动曝光和白平衡功能,并且针 对嵌入式应用做了很多优化处理,所以非常适合嵌入式领域的应用。ADCM-2650-0001内含3个独立的FIFO条目,存储从感应器捕捉到的视频或者图片数据信息。连接处理器和摄像头感 应器的是Quick Capture Interface(快速捕捉接口),它提供了以下几种类型的寄存器: ?QCI(Quick Capture Interface)控制寄存器0~4; ?QCI时间间隔寄存器; ?QCI状态寄存器; ?QCI FIFO控制寄存器; ?QCI接收缓冲区寄存器。 通过这些寄存器,可以控制整个处理器与感应器之间的工作流程。 摄像头感应器与Intel XScale处理器之间的连接,如图1所示。 2 接口的实现 本人采用的是ElaME1。0(“和欣”手机操作系统)作为嵌入式操作系统。这是一款由我 国自主开发的智能手机操作系统,基于微内核,具有多进程、多线程、抢占式、基于线程的 多优先级任务调度等特性。和欣操作系统体积小,速度快,适合网络时代的绝大部分嵌入式 信息设备;除了支持摄像头感应器外,还支持彩色LCD、触摸屏、USB等多种嵌入式设备。 2。1 ElaME下的摄像头驱动模型 ElaME的驱动模块如图2所示。 ElaME的驱动模型与Unix、Windows操作系统的不一样。它把驱动程序构件化了,使得 驱动程序具备了构件的灵活等多种特性。例如:当操作系统启动时并不用加载所有的驱动程 序,而是当用户需要用到该设备时才加载。这样的设计使得在手机硬件资源比较紧张的环境 中比传统的嵌入式操作性系统具有更强的竞争力。设备管理器(device manager)是一个内核对象,管理系统中所有的设备与驱动对象,负责设备信息的搜集、驱动构件对象的创建和 删除、设备硬件资源的冲突检测等。 摄像头感应器驱动就是一个构件对象,它的主要工作有以下几点: ?负责通过I2C总线查询摄像头感应器信息,调节摄像头感应器的设置; ?建立和控制DMA传输通道,通过DMA方式将3个FIFO里的数据信息传送到的内存中; ?提供可以给用户态程序使用的接口。 2.2 摄像头感应器驱动的关键技术实现 下面从驱动设计上,具体说明如何基于Quick Capture技术,通过DMA方式在感应器的FIFO与内存之间建立最快速最高质量的数据传送。 在PXA27x型号的处理器中,有两种内部外围器件:外部总线的外围器件(PBP)和内部 总线的外围器件(IBP)。快速捕捉接口(Quick Capture Interface)属于IBP。内 总线的外围器件通过外围总线连接至DMAC,使用流数据传送。DMAC有两种工作方式:描述器取入方式和非描述器取入方式。因为当前手机上捕捉到的图片 大小分别是从QQVGA(160×120)、QCIF(176×144)、QVGA(320×240)、VGA(480×640)不等,最小QQVGA的每张图片大小也有37。5KB,而每个描述器一次最大能传送(8K-1)B, 所以选择多描述器链的方式。描述器链就是将该描述器的特定寄存器内存放的是下一个描述 器的地址,当该描述器传送完自身的数据后,能获得下一描述器的地址,读取描述器内的信 息,然后继续下一轮的数据传送。每个FIFO都有自己的一串描述器链。如果是捕捉图片,采 用一个FIFO即可,如果捕捉视频,要用到三个FIFO。 以下是建立多描述器链的步骤。 ?根据图片的格式来确定每帧的大小,如为RGB565格式。 frame_size=camera_infocapture_width* camera_context-capture_height*2; camera_info-fifo0_transfer_size=frame_size; //以下为捕捉视频 //camera_info-fifo1_transfer_size=0; //camera_info-fifo2_transfer_size=0; ?根据每帧的大小和描述器一次能传送的大小确定描述器的个数。 camera_info-fifo0_num_descriptors= (camera_info-fifo0_transfer_size SINGLE_DESCRIPTOR_TRANSFER_MAX-1) /SINGLE_DESCRIPTOR_TRANSFER_MAX; camera_info-fifo1_num_descriptors=„; camera_info-fifo1_num_descriptors=„; ?判断是否超过DMA规定的描述器的大小限制。 ?分配DMA描述器的地址,并赋给FIFO0。 camera_context-fifo0_descriptors_physical= (unsigned)camera_context-dma_descriptors_physical; cur_des_physical=(DMAC_DESCRIPTOR_T*) camera_context-fifo0_descriptors_physical ?将每个描述器与1帧图片的每个数据块建立一一对应的关系。 for(j=0;jcamera_context-fifo0_num_descriptors;j ){ //建立描述符 cur_des_virtual-DDADR= (unsigned)cur_des_physical sizeof(DMAC_DESCRIPTOR_T); //FIFO0物理地址z cur_des_virtual-DSADR=CI_REGBASE_PHY CIBR0; cur_des_virtual-DTADR=darget_physical; cur_des_virtual-DCMD=des_rtansfer_size |DMAC_DCMD_FLOW_SRC |DMAC_DCMD_INC_TRG_ADDR |(DMAC_BURSTSIZE_1616); //向前移动指针 remain_size-=des_transfer_size; cur_des_virtual ; cur_des_physical ; target_physical =des_transfer_size; } //停止DMA传送捕捉的帧 last_des_virtual=cur_des_virtual-1; last_des_virtual-DDADR=(unsigned)camera_context-fifo0_descriptors_physical; 将每个描述器的DDADR(DMA描述器地址寄存器)指向下一个描述器的地址,将最后一 个DDADR指向第一个描述器的地址,这样形成一个环路的描述器链。另外,还要设置DSADR(DMA源地址寄存器)。由于是从摄像头感应器到内存,所以FIFO的地址是源地址,DTADR(DMA目标地址寄存器)为内存,DCMD(DMA命令寄存器)设置传输大小和源流控制。 以上都建立好以后,DMA就可以传送数据了。传送数据的流程如图3所示。 结语 目前的嵌入式开发板对于摄像头感应器的数据传送方式各不相同。如NeoMagic公司开发的Mimagic5传送图片采用的是独立的DMA功能,而传送视频采用的是特定的内存访问通道, Video Capture Interface不通过DMA方式;而Intel公司的PXA27x采用Quick Captre技术,从官方发布数据表明,明显地提高了视频信息的传送速度。 随着嵌入式设备不断的发展更新,将会有更多、更先进、更高速的数据传输技术被应用 到嵌入式开发的各个领域。
/
本文档为【基于Quick Capture技术的摄像头驱动方案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索