异步FIFO在DSP图像采集系统中的应用
引言
基于DSP的图像采集与处理系统与传统的PC端的系统相比,具有功耗低、携带方便、处理速度快的特点,被广泛使用在图像采集与处理领域。DSP(Digital Signal Process or)芯片也称数字信号处理器,是TI公司推出的专用于数字信号处理系统中进行算法处理的微处理器器件。DSP采用哈佛结构总线设计,程序存储器和数据存储器分开,取值和数据访问可以同时进行。DSP还使用流水线操作,使得多条指令重叠进行操作,可以有效地提高指令执行效率。此外,DSP还拥有独立的硬件乘法器,在处理滤波、卷积等运算时具有很快的速度,因此,DSP特别适合在图像采集与处理系统中作为核心器件。视频采集端的视频解码芯片使用TVP5150,将采集到的模拟图像信号转换成数字图像信号。
1 系统设计整体架构
本系统是基于DSP的数字图像处理系统,总体结构设计如图1所示。首先CCD摄像机拍摄视频图像,输出标准PAL制式视频信号,输入到视频解码芯片TVP5150中,TVP5150将模拟图像信号转换为数字图像信号送入FIFO中,本系统采用AL422B。DSP通过EMIF接口从FIFO中读取图像数据并存入存储器,图像数据经过DSP中算法处理后,通过仿真器传输到PC机上进行显示。其中,CPLD负责FIFO的读写指针复位和读写使能控制等工作。
(First In First Out)是一种先进先出的数据缓存器。FIFO与其他存储器的区别是没有读写地址线,操作可以变得很简单,而且,它只能将数据顺序写入,并且顺序读出。此外,FIFO还具有以下一些特点:
①对连续的数据进行缓存,防止数据的丢失。
②可以对数据进行集中存储,使CPU总线避免频繁的操作。
③允许系统进行高速的DMA操作,即可以不通过CPU的干预,直接进行数据存储,节约了使用CPU的时间,使系统的效率大大提高。
FIFO分为同步FIFO和异步FIFO。同步FIFO是指读写时钟必须是同一个时钟,而异步FIFO可以接受一种时钟写入数据,另一种时钟读出数据,也就是读写时钟可以不一致,能够相互独立。
由于本系统中TVP5150送数据到DSP时,TVP5150的写时钟和DSP的读时钟是不一样的。TVP5150的输出时钟是27 MHz,数据位为8位宽度,那么每秒的数据量就是216 Mbps,而DSP的输出时钟很难匹配27 MHz的时钟频率,设置为33 MHz,8位数据宽度,那么最大传输速率为264 Mbps。显然,两者的数据传输量在单位时间内是不一样的,如果这时不经过任何缓存就进行数据间的相互传输,系统无法同步操作,并且会进入一种亚稳定状态,从而整个系统功能失常。为了避免亚稳定状态以实现系统数据的高速稳定的传输,本系统使用了异步FIFO作为解决方案,且采用AL422B作为异步FIFO存储器,容量为3MB(393 216字节×8位),可以存储PAL制式一帧图形的信息。它的一些技术指标如下:
①支持VGA、CCIR、NTSC、PAL和HDTV制式的视频信号;
②独立的读写操作,可以接受不同的I/O速率;
③读或写周期为20 ns;
④访问时间为15 ns;
⑤输出使能控制;
⑥具有DRAM自刷新功能;
⑦3.3 V或5.0 V供电。
AL422B的读写过程分为4个步骤:写复位,写使能,读复位,读使能。首先复位写指针,当写使能为低电平时,在WCK的上升沿将数据写入到写数据寄存器;当
为高电平时,写操作被禁止。然后复位读指针,当都变为低时,在RCK的上升沿将数据写入读数据寄存器;反之,读操作被禁止。
2 系统硬件设计
2.1 TVP5150与AL422B的接口实现
在本系统中,TVP5150的数据输出端要与AL422B的数据写入端相连,AL422B的数据读出端要与DSP的数据输入端相连。首先介绍TVP5150与AL422B之间的硬件连接,TVP5150的数据总线可以与AL422B的写入端的数据总线直接进行连接。
TVP5150的输出时钟需要进行二分频并移相半个时钟周期,然后与AL422B的写时钟WCK连接,因为我们只需要获取灰度图像,这样做可以将彩色部分的图像滤除并且可以减少数据量。
TVP5150端的VSYNC、VBLK、AVID、FID借助CPLD进行逻辑组合后与AL422B的写指针复位WRST和写使能WE连接。具体逻辑组合将在软件设计部分介绍。
TVP5150与AL422B接口如图2所示。
2.2 TMS320VC5509A与AL422B的接口实现
TMS320VC5509A(以下简称5509A)要接收来自AL422B中的数据,需要将AL422B的读数据总线与5509A的EMIF数据总线接口直接连接。5509A的输出时钟CLKOUT给AL422B提供读时钟。AL422B的输出使能和读使能需要借助CPLD将5509A端的外部存储器片选信号、EMIF接口输出使能和EMIF接口读使能进行逻辑组合后进行连接。组合逻辑部分在软件设计部分介绍。TMS320VC5509A与AL422B接口如图3所示。
3 系统软件设计
软件部分分为两部分,分别是DSP内的程序设计和CPLD中
异步FIFO TVP5150 DSP 中断 CPLD 相关文章:
- 异步FIFO在FPGA与DSP通信中的运用 (03-22)
- 基于TSK3000A视频采集系统IP核设计(06-05)
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)