首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 电子制作
基于Video4Linux的摄像头驱动设计
来源:本站整理  作者:佚名  2009-09-15 09:55:39




3.2.2 DMA配置
    本系统采用二维DMA来提高数据的传输速度,采用16位传输,且传输完一场视频数据后产生中断。dma_x_count=720(相当于每行数据需传输的次数,每行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字节。
3.3 中断服务子程序
    本系统的中断服务子程序主要是一场数据采集完后,产生中断,并根据数据的奇偶场做出相应的处理。其流程如图2所示。

4 结束语
    本文介绍了在Blackfin DSP和Linux的平台下,摄像头驱动的体系结构和具体实现。此驱动由测试程序测试,可以正常工作。此驱动尚存在不足之处,那就是在驱动的抓帧过程中没有采用乒乓操作,但是采用了两个帧缓存来存取数据,因此乒乓操作可以在上层应用中完成。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:98,105.47000 毫秒