APP下载

异步FIFO在DSP图像采集系统中的应用

2015-07-03卢博王军

单片机与嵌入式系统应用 2015年1期
关键词:存储器寄存器时钟

卢博,王军

(重庆邮电大学 信号与信息处理重庆市重点实验室,重庆 400065)



异步FIFO在DSP图像采集系统中的应用

卢博,王军

(重庆邮电大学 信号与信息处理重庆市重点实验室,重庆 400065)

本文利用异步FIFO芯片作为TVP5150与DSP之间的缓冲,可以进行稳定的数据传输,并且简化了设计难度。以TI公司的TMS320VC5509A作为DSP图像处理器件,FIFO芯片采用可以存储一帧图像的AL422B。TVP5150作为视频解码芯片,利用CPLD完成逻辑控制功能。给出了系统的整体架构,重点介绍了FIFO的特点,FIFO与TVP5150之间的硬件接口电路,FIFO与DSP之间的硬件接口电路,以及FIFO的读写指针复位和读写使能的控制。软件采用C语言对DSP进行编程,在CCS中进行在线仿真,完成对整个系统的采集与处理控制,不仅增强了程序的易读性,而且增强了系统的可移植性。

异步FIFO;TVP5150;DSP;中断;CPLD

引 言

基于DSP的图像采集与处理系统与传统的PC端的系统相比,具有功耗低、携带方便、处理速度快的特点,被广泛使用在图像采集与处理领域。DSP(Digital Signal Processor)芯片也称数字信号处理器,是TI公司推出的专用于数字信号处理系统中进行算法处理的微处理器器件。DSP采用哈佛结构总线设计,程序存储器和数据存储器分开,取值和数据访问可以同时进行。DSP还使用流水线操作,使得多条指令重叠进行操作,可以有效地提高指令执行效率。此外,DSP还拥有独立的硬件乘法器,在处理滤波、卷积等运算时具有很快的速度,因此,DSP特别适合在图像采集与处理系统中作为核心器件[1]。视频采集端的视频解码芯片使用TVP5150,将采集到的模拟图像信号转换成数字图像信号。

1 系统设计整体架构

图1 系统整体架构

本系统是基于DSP的数字图像处理系统,总体结构设计如图1所示。首先CCD摄像机拍摄视频图像,输出标准PAL制式视频信号,输入到视频解码芯片TVP5150中,TVP5150将模拟图像信号转换为数字图像信号送入FIFO中,本系统采用AL422B。DSP通过EMIF接口从FIFO中读取图像数据并存入存储器,图像数据经过DSP中算法处理后,通过仿真器传输到PC机上进行显示。其中,CPLD负责FIFO的读写指针复位和读写使能控制等工作。

FIFO(First In First Out)是一种先进先出的数据缓存器。FIFO与其他存储器的区别是没有读写地址线,操作可以变得很简单,而且,它只能将数据顺序写入,并且顺序读出[2]。此外,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供电。

2 系统硬件设计

2.1 TVP5150与AL422B的接口实现

在本系统中,TVP5150的数据输出端要与AL422B的数据写入端相连,AL422B的数据读出端要与DSP的数据输入端相连。首先介绍TVP5150与AL422B之间的硬件连接,TVP5150的数据总线可以与AL422B的写入端的数据总线直接进行连接。

TVP5150的输出时钟需要进行二分频并移相半个时钟周期,然后与AL422B的写时钟WCK连接,因为我们只需要获取灰度图像,这样做可以将彩色部分的图像滤除并且可以减少数据量。

TVP5150与AL422B接口如图2所示。

图2 TVP5150与AL422B硬件接口

2.2 TMS320VC5509A与AL422B的接口实现

图3 TMS320VC5509A与AL422B硬件接口

3 系统软件设计

软件部分分为两部分,分别是DSP内的程序设计和CPLD中的组合逻辑。

3.1 DSP主程序

程序流程图如图4所示。

图4 程序流程图

3.1.1 主函数初始化

主函数需要对时钟频率、中断函数、EMIF外部存储器接口、I2C总线、TVP5150视频配置、AL422B的写指针复位进行初始化。

其中,AL422B的初始化采用TMS320VC5509A的GPIO口GPIO0、GPIO1、GPIO2发送逻辑电平到CPLD,然后由CPLD发送命令控制 AL422B的读写指针复位与读写使能。

3.1.2 初始化TVP5150

TVP5150是视频解码芯片,要求其模拟输入是PAL制信号,转换为8位的YUV4:2:2格式的数字输出信号。DSP需要通过GPIO口对TVP5150进行复位,方法类似于AL422B的写指针复位控制。DSP还需要通过I2C总线控制TVP5150的寄存器,TVP5150寄存器的配置如下:

① 杂项控制寄存器:地址0x03,设置为0x0f。

② 输出和数据比率选择寄存器:地址0x0d,设置为0x40。

③ 配置复用引脚寄存器:地址0x0f,设置为0x0a。

④ 有效像素开始高位寄存器:地址0x11,设置为0x4d。

⑤ 有效像素开始低位寄存器:地址0x12,设置为0x02。

⑥ 有效像素结束低位寄存器:地址0x13,设置为0xe4。

⑦ 有效像素结束低位寄存器:地址0x14,设置为0x02。

经过寄存器配置,使得场消隐信号VBLK、像素有效信号AVID、场同步信号VSYNC、奇偶场标志位信号FID、输出时钟SCLK输出有效,数据总线激活,并将采集到的图像裁剪成150×300的图像。

在初始化程序后,执行while死循环,等待中断的到来。

3.1.3 中断函数

这里,我们使用的处理算法为图像的边缘检测法,处理完成后在CCS中进行显示,并观察算法处理结果。

最后,进行写指针复位,准备下一次的图像采集。需要注意的是,由于图像在传输过程中奇偶场是分开传输的,FIFO中只存储奇场的一部分图像,而完整的图像是由奇场和偶场共同组成的,所以获得的图像显示的是一帧图像压缩一半的结果,图像是失真的。但是,我们只观察算法的处理结果,因此没有进行图像的完整显示。

3.2 CPLD程序

当VSYNC由高电平变为低电平时,输出的是有效视频信号,同时当VBLK为低电平、AVID为高电平时,TVP5150输出有效视频数据。

因为偶数场是从一行的中间开始扫描的,如果不设置FID信号,最后采集到的图像可能是偶场信号,也可能是奇场信号,那么,在CCS中显示的图像有可能是完整的,也可能显示的是左右颠倒的图像,刚好错开半行的图像。所以,设置FID信号为0,采集奇场的信号。

因为要采集一幅150×300的图像,需要在CPLD中设置一个计数器对采集到的像素进行计数,由AL422B的写时钟WCK作为计数器的时钟信号,当计数到45 000后触发DSP外部中断2,同时将计数器清零。

4 实验结果

利用设计的系统进行实物图像的采集,图5(a)为采集的实验室的办公座椅场景,图5(b)为使用边缘检测算法来对采集到的图像进行的边缘处理[6]。

边缘检测能够突出图像的边缘特征,使观察者一目了然,并且蕴含了丰富的内在信息(方向、阶跃性质和形状等)。

图5 边缘检测对比图

结 语

[1] 代少升,黄俊.TMS320C55x DSP原理及其应用[M].北京:高等教育出版社,2010.

[2] 肖静娴,戴亚文.基于FPGA的异步FIFO缓存设计[J].电子测量技术,2009,32(11):92-94.

[3] 黄再银.视频帧存储器AL422B及其应用[J].中国有线电视,2003(1):59-60.

[4] 王凯.基于TVP5150的视频LCD显示设计[J].电子设计工程,2011,19(1):178-181.

[5] 周委,陈思平,赵文龙,等.FPGA设计并实现多DSP嵌入式系统[J].电子技术应用,2008(6):39-42.

[6] 段瑞玲,李庆祥,李玉和.图像边缘检测方法研究综述[J].光学技术,2005,31(3):415-419.

卢博(硕士研究生),主要研究方向为图像处理、嵌入式技术等。

Application of Asynchronous FIFO in DSP Image Acquisition System

Lu Bo, Wang Jun

(Chongqing Key Laboratory of Signal and Information Processing,Chongqing University of Posts and Telecommunications, Chongqing 400065,China)

In order to make the date transmission stable and simplify the design difficulty,the paper uses an asynchronous FIFO chip as a buffer between TVP5150 and DSP.The system takes TMS320VC5509A as the image processing device, and adopts AL422B which can store one frame image as the FIFO chip.The design uses TVP5150 as a video decoder chip,and completes the logic control function by CPLD.This paper introduces the following contents such as the overall architecture of the system, the characteristics of FIFO,the hardware interface circuit between FIFO and TVP5150 as well as FIFO and DSP,the reset of read/write pointer and the enable control of read/write of the FIFO. The software adopts C language programming for DSP and makes the online simulation in CCS to complete the control of the entire system acquiring and processing.Using C language not only enhances the readability of the program but also strengthens the portability of the system.

asynchronous FIFO;TVP5150;DSP;interrupt;CPLD

TP316

A

迪娜

2014-07-21)

猜你喜欢

存储器寄存器时钟
STM32和51单片机寄存器映射原理异同分析
别样的“时钟”
静态随机存储器在轨自检算法
古代的时钟
Lite寄存器模型的设计与实现
有趣的时钟
时钟会开“花”
Altera演示FPGA中高性能DDR4存储器数据速率
存储器——安格尔(墨西哥)▲
高速数模转换器AD9779/AD9788的应用