基于DM642的多路视频采集系统

文书君 人气:2.59W
基于DM642的多路视频采集系统

引言
  
  随着数字信号处理器 DPS 芯片集成度,运算速度,数据吞吐率等性能的不断提高,己被广泛应用于许多实时视频处理和传输领域。一般图像处理系统由摄像机、图像采集卡、计算机构成,图像理解和处理算法全部以软件方式实现。这是因为实时数字图像处理信息量和计算量大,而大多数图像采集卡基于成本考虑没有处理器和大容量的存储器,绝大部分任务必须依靠计算机才能胜任。这种计算机参与的系统的应用场合受到很大限制,在工业或军事等复杂环境下应用极为不便,因此许多专用图像处理系统应运而生。脱离计算机独立运行的实时专用图像处理系统,由于集图像采集、处理等功能于一体,并易于满足图像处理中数据量大、运算复杂、实时性强等要求而受到众多研究人员的关注。
  TI 公司推出的TMS320DM642 型数字信号处理器可实时处理4 路模拟视频和音频输入、1 路模拟/数字视频和1 路模拟音频信号输出[1-2]。适应PAL/NTSC 标准复合视频CVBS 或分量视频Y/C 格式的模拟信号输入,可适于PAL/NTSC 标准S 端子或数字RGB 模拟/数字信号输出,也可适应标准麦克风或立体声音频模拟输入及标准立体声音频模拟输出,并进采用EDMA 的数字视频图像信号的实时传输,具有对多路采集数据进行实时处理和分析的功能。
  
  1 系统设计
  
  TMS320DM642 是32 位定点高性能处理器,最高工作频率可以达到720MHz,处理能力可以达到5760MIPS,因此可以实现对多路图像的实时处理[3-5]。DM642 在TI 的C64x DSP内核基础上进一步集成了完备的视频接口、音频接口、以太网接口、PCI-66 总线等片上外设。用户可以方便地对音频、视频等各种复杂的运算进行高速处理,因此DM642 已经广泛的应用于数字视频服务器、多通道数字视频录像机、多通道数字视频监控等领域。
  本系统配置了 4M 的Flash 和32M 的SDRAM,可以满足一般应用的需要。DM642 有三个视频口,分别为VP0、VP1 和VP2。其中VP2 为单一功能的视频口。VP0 和VP1 是与McBSP、McASP 复用引脚。DM642 上集成了一条I2C 总线,本系统中一共有4 个视频输入口,而一个I2C 中线能只能接两个SAA7113 视解编码器,因此需要在I2C 总线上做总线切换,分成I2C0 和I2C1,这样就可以接4 个SAA7113 视解编码器。I2C 总线切换电路见图1。
  整个系统是DM642 为核心,主要包括视频模块、存储模块、通信模块以及其他外围电路部分。视频模块由四块编码器芯片和一块解码器芯片组成,采用切换方式以支持四路复合视频输入和一路视频输出显示;以存储模块通过DM642 的EMIF 接口扩展片外存储器SDRAM 和FLASH,并通过CPLD 控制FLASH 片内分页寄存器的读写;通信模块部分利用CPLD 控制并口传输模式,实现时序逻辑以及数据传输,使整个系统作为从设备接受主设备控制以完成特定的图像处理运算等。整个系统的框图。
  
  2 软件设计
  
  本设计的驱动程序是按照TI 公司的DDK 驱动模型设计的,具有很好的复用性、移植性和借鉴性。DDK 是TI 公司为简化驱动开发复杂度,而定义的一个标准的驱动模型和一套API 函数[6-7]。该驱动模型主要分为两层:类驱动和微型驱动。其中类驱动通过每个外部设备独有的微型驱动对设备进行操作。微型驱动通过控制外设的寄存器、内存和中断资源对外部设备实现控制。微型驱动程序必须将特定的外部设备有效地表示给类驱动。
  根据 DDK 驱动模型,本驱动程序设计主要包括三个部分: I2C 总线控制部分,就是I2C总线读写操作的实现部分;类驱动部分,主要是为应用程序提供API 接口,它的设计在DDK模型里是通用的,可以不修改地直接采用,所以这里就不作具体介绍了;微型驱动部分是与硬件有关的,是驱动程序设计的重点。
  
  2.1 I2C 总线控制驱动程序设计
  该部分是实现 DM642 通过I2C 总线对SAA7113H 和SAA7121H 的控制,使用了底层函数。在TI 的CSL(Ship Support Library)中都有,只要包含相应的头文件即可直接调用。如I2C配置结构体(I2C_config)、I2C 写数据函数(I2C_writeByte)、I2C 配置操作函数(I2C_RSETH)等。