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所示。
本文关键字:技术 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术