新闻中心

EEPW首页>嵌入式系统>设计应用> 基于DSP的视频采集驱动程序的设计

基于DSP的视频采集驱动程序的设计

作者: 时间:2011-10-09 来源:网络 收藏
3.2 EDMA链表在场合成中的使用

本文引用地址://m.amcfsurvey.com/article/150128.htm

  在隔行扫描模式下,每帧分为两场,两场在时域上是分开的,但在数据处理时需要将两场合成一帧进行处理,因此要进行大量的数据搬移,占用了大量的CPU时间。通过EDMA链表可自动实现场合成,不需占用额外的CPU时间。

  EDMA的参数RAM存放了有关的传输参数,这些参数用于产生EDMA读写操作所需要的地址。如图4所示,在使用EDMA通道传输奇数场与偶数场时,分别使用不同的EDMA参数RAM。两组参数RAM的目的地址分别指向存储图像的第一行与第二行象素的首地址,并且两组参数RAM通过链接地址循环相连。在EDMA通道的传输中,奇数场传输任务的结束会自动地根据当前参数RAM的链接地址装载传输偶数场的参数RAM,又由两组参数RAM的目的地址可知,奇数场与偶数场分别经EDMA通道传输至帧缓冲区后被隔行存储,这样在无需占用额外CPU时间的前提下就实现了场合成。

  4的调用实例

/BIOS应用程序通过GIO类驱动调用微驱动之前,需使用/BIOS配置工具注册微驱动,将其命名为VP_CAPTURE,并启动GIO模块。

  在应用程序中,GIO_create函数使用已注册的微驱动VP_CAPTURE创建GIO通道,通过调用GIO_submit函数完成应用程序对数据的操作。部分源代码如下:

  (1) 创建通道

  GIO_Handle capChan;
  int status;
  capChan = GIO_create('VP_CAPTURE'),
  IOM_INPUT, status, (Ptr)DM642_vCapParams, NULL);
  (2) 发送获取图像的数据包

  GIO_submit(capChan, IOM_READ, bufp, NULL, NULL);其中,DM642_vCapParams包含了的初始化参数,如图像大小、同步方式等;bufp用于指出采集图像的存储地址。不同的视频应用程序在使用类驱动时,可以通过改变这两个变量复用视频设备。这样,极大地提高了的工作效率,对视频外设的控制也大大简化了。

  使用类/微驱动模型开发的视频采集,有效地解决了图像采集和图像实时处理之间的关系,在几乎不需要CPU的干涉下,利用EDMA完成了数字视频图像数据的高速传输;通过使用类驱动复用驱动程序,视频应用程序的开发效率获得了极大的提高。视频采集驱动程序现已在自主开发的视频处理板卡上运行良好,为进一步开发远程视频监控系统、可视电话等视频应用打下了坚实的基础。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭