基于TMS320DM642的視频采集驱动程序的实现.docxVIP

  • 4
  • 0
  • 约 6页
  • 2016-11-27 发布于重庆
  • 举报

基于TMS320DM642的視频采集驱动程序的实现.docx

基于TMS320DM642的視频采集驱动程序的实现

? 视频终端的核心是图像的数字化处理模块基于PC机的数字视频处理,给出了算法研究的途径,而基于高速DSP的应用模块才提供了实时嵌入式视频处理的可能 ??????? 然而,基于DSP的海量视频数据的实时处理的关键则是实时、合适的视频数据采集本文针对自行研制的基于TMS320DM642(以下简称DM642)DSP的视频处理板卡,使其在C64x系列DSP的实时操作系统DSP/BIOS的环境下运行,实现基于类/微驱动模型的视频采集驱动程序,并进一步描述采用EDMA(增强的直接存储器存取控制器)的数字视频图像信号的实时传输 ?????? 1 类/微驱动程序模型    ??????? C64x系列的DSP系统给出了类/微驱动模型[1] 的驱动程序结构,采用该模型进行驱动程序设计,应用程序可以复用绝大部分相似设备的驱动程序,从而提高驱动程序的开发效率类/微驱动模型结构如图1所示,该模型在功能上将驱动程序分为依赖硬件层(微驱动)和不依赖硬件层(类驱动)两层,并在两层之间给出通用接口上层的应用程序不直接控制微驱动,而是通过类驱动对其进行控制每一个类驱动在应用程序代码中表现为一个API函数,并通过标准微驱动的接口IOM与微驱动进行通信 ?????? 在类/微驱动模型中,类驱动通常用于完成多线程I/O请求的序列化功能和同步功能,同时对设备实例进行管理类驱动通过每个外部设备独有的微驱动对设备进行操作微驱动采用芯片支持库[2]控制外设的寄存器、内存和中断资源微驱动程序必须将特定的外部设备有效地表示给类驱动    ??????? 类驱动使用DSP/BIOS中的API函数[3]实现诸如同步等的系统服务,DSP/BIOS定义了三种类驱动模块:管道管理模块(PIP)、流输入输出管理模块(SIO)和通用输入输出模块(GIO)在PIP和SIO类驱动中,调用的API函数已经存在于DSP/BIOS的PIP和SIO模块中了,这些API函数需将参数传给相应的适配模块,才能与微驱动交换数据而在GIO类驱动中,调用的API函数则直接与微驱动通信 ?????? 2 基于DM642的视频采集驱动 ?????? 2.1 硬件结构    ??????? 笔者利用TI公司的多媒体处理芯片DM642自行研制了嵌入式视频处理板卡卡上的主要组成模块有视频采集模块、视频处理模块以及网络发送模块,其中视频采集模块主要由DSP芯片DM642[4]、视频A/D 转换芯片SAA7115和同步动态存储器芯片SDRAM等组成,如图2所示来自摄像头的视频信号通过SAA7115进行数字化处理,输出的数字视频信号经过视频端口的内部FIFO缓冲后,由DM642通过EDMA将数据传送到片外SDRAM中,以便供视频应用程序使用 ?????? 主芯片DM642的处理能力达到4800MIPS,它的最大特点是芯片内部集成了三个可配置的视频端口[5],这些视频端口提供了与通用视频A/D转换芯片的无缝接口,因而无需外加CPLD(复杂可编程逻辑器件)和FIFO就可以满足系统设计的要求SAA7115支持六路CVBS(复合模拟视频输入)或三路S-VIDEO (S端子信号)输入,支持多种格式的数字RGB和YUV视频信号输出DM642通过IIC总线控制SAA7115的内部寄存器    ?????? 采用类/微驱动模型编写DM642芯片视频端口的视频采集驱动程序,驱动必须满足如下几个基本功能:   · 硬件中断;   · 可同时处理DM642的三个视频端口;   · 支持应用程序配置视频采集的参数,支持获取图像数据;   · 支持场图像的采集,支持对CVBS和S-VIDEO两种模拟信号的采集    ?????? 在视频采集过程中,最重要的是对视频数据进行实时控制和有效的传输,因此需要使用硬件中断,并在中断服务程序中,根据视频端口内部FIFO的状态通过EDMA完成视频数据的读入 ?????? 2.2 视频采集驱动程序的框架构建    ?????? 视频采集驱动程序包括类驱动和微驱动两个模块,视频采集驱动程序的结构框架如图3所示 ? ?????? 类驱动使用GIO模块,GIO模块的传输模式是基于流输入输出模块的同步I/O模式的,更适合文件系统I/O,如视频采集的应用该模块的主要API函数的描述如表1所示    ?????? 在图3中,应用程序使用GIO_create函数创建GIO通道,并通过调用GIO_submit函数直接与微驱动的IOM交换数据,完成视频数据的采集    ??????? 应用程序通过GIO类驱动调用微驱动的标准API函数,这些标准API函数的描述如表2所示这些规定的函数将放入微驱动的函数接口表(IOM_Fxns)中,以供应用程序通过GIO类驱动调用 ?????? 在图3中,微驱动的IOM接口将应用程序获取图像的命令打包生成

文档评论(0)

1亿VIP精品文档

相关文档