引 言
图像处理系统中图像源获取手段有很多种,同样图像的传感器也是多种多样的。现在比较流行的传感器有CCD、CMOS、CIS等等。这些传感器对于图像数据输出的格式各不相同,例如CCD输出的是模拟信号,需要通过A/D的采样才能得到图像处理所需要的数字图像信号;而CMOS传感器则直接输出数字信号。这样必然会对图像处理系统的通用性造成很大的影响。当图像传感器更改或者图像的分辨率发生更改以后,都会导致图像处理系统做出相应的修改,这样在很大程度上限制了专用图像处理板的应用范围以及通用性。
由于电视技术早已得到了广泛的普及,为了保证电视的通用性,世界上早已对其可以使用的模拟视频信号做出了统一的规定。在欧洲以及中国,模拟视频信号主要采取的是PAL制式;而在北美以及日本,模拟视频信号主要采取的是NTSC制式。正是由于模拟视频信号制式的统一,所以导致很多技术成熟的图像获取设备,例如摄像机、照相机等都有模拟视频信号的输出接口。
本设计方案旨在利用上述的有利条件,提出一套基于TMS320C6x11系列DSP的图像获取方案,利用模拟视频信号的统一性,实现随意更换带有标准模拟视频信号输出接口的图像设备而无需在图像处理系统的硬件和软件上作修改。同时,本方案还需提供一个相对通用的数字视频接口,可以适应TMS320C6xll系列DSP的接口。本设计的主要技术要求有:
①支持标准的模拟视频输入接口,可以对标准的模拟视频信号解码得到数字图像数据;
②在不降低图像幅面的前提下,图像采集速度快,满足一定的实时性要求;
③占用CPU时间少,使得图像采集过程在后台自主完成;
④数字图像接口通用性好,可以在TMS320C6u1l系列乎台上通用互换。
1 总体方案设计
1.1 方案的选择
目前,解码模拟视频信号主要的方法有:采用A/D采样模拟视频信号和采用专用的模拟视频信号解码器。对于前一种方案需要的外部芯片较少,只需A/D转换芯片即可;但是需要占用大量的CPU时间,在采集图像的过程中CPU基本没有额外的时间处理图像。这个问题通常会导致图像处理系统处理图像的时间严重不足。后一种方案采用专门的模拟视频信号解码器,需要一些额外的接口芯片,但是可以节约大量的CPU时间,图像采集过程可以全部在后台完成,基本上不需要CPU的干预。这个优点对于图像处理系统,特别是算法比较复杂的处理系统(例如视频监控系统)有着非常大的吸引力,所以本方案决定采用后者。
本方案中一个难点是:由模拟视频信号解码得出的数字视频信号数据量非常大,而且由于是实时视频信号,所以数据输出速率也非常高;但是相反,DSP外部存储器接口的读出速率却比较慢。为了解决这个问题,本方案采取了两种缓冲方式.首先是使用高速FIFO,对数据进行暂存以缓解速度上的差异,但是这样的缓冲还不足以平衡两者之间的速度差异。
于是在本方案中提出了“隔行采样”的思想。通常,隔行采样会使得分辨率下降,例如每四行采样一行数据,会使得图像垂直方向上的行数下降到原来的1/4。这不是设计所希望的,所以为了保证图像的分辨率,设计中在隔行采样的同时,将一整幅图像的行数据交错分多次采样,然后再重新组合成一幅完整的图像。这样既起到了缓冲速度差异的作用,又保证了图像的分辨率。
最后本方案确定的思路是,采用FIFO来暂存一行图像数据,视频解码器直接向FIF0中写入图像数据。当FIFO中写入了有效图像数据后,由CPLD向DSP发出中断请求;同时,DSP接到中断请求后,启动DMA方式将一行图像数据从FIFO中读入到其外部RAM中存放。CPLD主要完成“隔行采样”的实现、控制解码器向FIFO中写入数据以及DSF从FIFO中读出数据。
另外,本方案目前主要是针对PAL制式模拟信号的。PAL制模拟信号传输的图像幅面大小为720×576像素。下面的设计主要针对该格式的视频信号展开。如果需要对NSTC等其他制式视频信号解码,只需要在软件上作一些修改即可。
1.2 系统框图
在本方案中,模拟视频信号解码器采用的是Philips公司的SAA7111A。对于PAL制式模拟视频信号,l行图像数据有720个像素;同时由于YUV分量采用了4:2:2抽样,所以需要1440字节的存储空间存储1行数据。由于本方案中需要用到FIFO对1行数据暂存,所以FIFO的存储深度必须大于1440字节,最后选定高速FIFO采用IDT公司的IDT72V23l,其具有2K×9位的存储深度。同时还使用了Laittice公司的CPLD——LC4128V,作为中间逻辑接口控制“隔行采样”的完成、解码器对FIFO的写操作以及DSP对FIFO的读操作,系统框图如图l所示。
2 硬件方案设计
2.1 芯片介绍
本方案选用SAA7111A作为前端视频解码器。SAA71llA视频解码器是双通道模拟预处理电路、自动钳位和增益控制电路、时钟产生电路、数字多标准解码器、亮度/对比度/饱和度控制电路、彩色空间矩阵的组合,是一款功能完善的视频处理器。SAA711lA只需要单一的3.3V电源供电,与C6x11的I/O电压一致。SAA7111A接收CVBS(复合视频)或S-video模拟视频输入,可以将PAL、SECAM、NTSC模式的彩色视频信号解码为CCIR-60l/656兼容的彩色数字分量值,器件功能通过I2C接口控制。
SAA7111A的主要性能特点如下:
◆4路模拟输入一一4路CVBS或2路Y/C或1路Y/C和2路CVBS;
◆主通道静态增益可编程,自动增益控制选择的CVBS或Y/C通道;
◆2个8位视频CMOS模数转换器;
◆片上时钟产生器,只需要24.576 MHz单一时钟输入;
◆自动探测50 Hz和60 Hz场频,自动在PAL和NTSC标准间切换;
◆可以处理PALBGHI、PALN、PAL M、NTSC M、NTSC N、NTSC 4.43、NTSC-Japan和SECAM信号。从以上特点可以看出,SAA7111A功能强大,性能全面,可以满足各种视频转换处理的需要,完全符合本系统的要求。SAA7111A已经在各种视频处理系统中得到广泛的应用,技术性能已得到充分的证明。采用SAA7111A具有很高的性价比。
2.2 DSP与FOFO接口技术
TMS320C6xll的外部存储器接口(EMIF)提供了功能十分强大的外部接口,可以实现与诸多种类的存储器的无缝接口,如SBSRAM、SDRAM、SRAM、ROM等等。但是其对FIFO的接口并不能做到真正的无缝接口,需要增加一些外部逻辑来调整它们之间的时序。
本方案中采用的FIFO一一IDT72V23,是标准的同步FIFO,具有两个独立的读写时钟——RCLK、WCLK;同时还具有读写控制信号WENl、WEN2、REN1和REN2。
对于本设计而言,要求DSP从FIFO中将数据读出,故关键考虑DSP对IDT72V23l的读时序。图2是IDT72V31数据读出的时序。
图2中,tENS为REN1(REN2)的最短建立时间(SETUP),tDS为数据的最短建立时间(SETUP)。由图2可以看出IDT72V231与一般SRAM读时序的一个很大区别是:当RCLK上升沿到来以后,需要有一个比较长的延时tA才会有有效数据出现在总线上。此前一段时间内总线上的数据是不稳定的,并且该延时最长可达到12ns。
但是对于TMS320C6x11而言,数据的读入是在ARE信号的上升沿完成的,故这里设计的主要问題是FIFO的RCLK时钟怎样提供。本设计中采用的解决办法如下:
RCLK=!(ARE)
REN1&REN2=CEx+AOE+Address
也就是说,RCLK是由DSP的ARE信号取反得到的,而REN1和REN2信号是由DSP的AOE信号经过地址译码后提供。这样设计的TMS320C6xll与FIFO接口为了配合FIFO读出时序的要求,还必须要求DSP的读时序(主要是Setup/Strobe/Hold三个时序段)满足以下要求:
Setup≥(tENS+tSKEW)/tcyc
Strobe≥(tA+tDS)/tcyc
Strobe≥(tCLKH(min)/tcyc
Hold+Setup≥(tCLKL(min)/tcyc
Setup+Strobe+Setup≥(trc(min)/tcyc
从时序图上的数据可以看出,tENS≥5ns,tA≤12 ns,tDS≥5 ns;同时,由于IDT72V23l的要求,RCLK高电平时间(tCLKH(min)大于等于8ns、RCLK低电平时间(tCLKL(min)大于等于8 ns以及读写周期(trc(min)必须大于等于20ns。加上一定的冗余,最后计算可以得到:
Setup≥20ns
Strobe≥30 ns
Hold≥l0ns
在本设计的TMS320C6211的系统板上,EMIF的外部时钟频率是100 MHz,所以tcyc=10ns。这样可以得出DSP中CExCTL寄存器中Setup值设置为2,Strobe值设置为3,Hold值设置为1。
实际系统实现证明。通过这样的硬件接口设计后,TMS320C621l可以很稳定地从FIF0中读出数据。
|