1 引言
数字图像处理技术是计算机图形深入应用和高层应用的一个极其广泛的领域,它把来自照相机、摄像机或者传真扫描装置、医用CT机、x光机等的图像,经过数学变换后得到数字图像信息,再由计算机进行编码、滤波、增强、复原、压缩、存储等处理,产生可视图像,这种技术称为图像处理(Image Processing)。图像处理技术在通信科学、生产与管理、多媒体技术、高清晰度电视、医用图像处理、商品电子化、目标跟踪等领域得到了广泛的应用。在通信事业上,传统的图像信息传输是以模拟图像信号形式出现的。为了提高信息传输的质量和速度,近来数字图像信号处理与传输技术正在迅猛发展,并逐步取代传统的模拟信号处理与传输技术。目前,“信息高速公路”成了发达国家的热门课题,其中数字图像处理技术则成为它的极其重要的部分。而且,数字图像处理技术还与当前乃至21世纪的一些关键电子技术及电子产品密切相关。针对这种发展的趋势,本文设计了一种基于CPLD和DSP器件的多分辨率图像采集处理系统,重点介绍了CPLD在采集过程中逻辑控制的灵活应用。
2 系统方案设计
根据系统要求,采取了独立采集法,采用专用图像采集芯片自动完成图像的采集,除了对采集模式进行设定外,处理器不参与采集过程,这种方法的特点是不占用CPU的时间、实时性好、适合活动图像的采集。系统设计流程如下:DSP发开始采集指令,A./D开始采集,将A/D输出的控制、状态信号接入CPLD,由CPLD控制将转换后的数字信号存储到高速大容量SRAM(ODD和EVEN)中,直到一帧图像数据存储完毕后,其间CPLD产生SRAM地址、SRAM读写信号、中断信号、总线切换信号等等;CPLD交出总线控制权,DSP占用总线从SRAM中读出图像数据进行处理。限于篇幅,本文重点介绍CPLD在数据采集中的灵活设计。系统结构如下图所示:
图1 系统结构框图
3 系统硬件设计
本系统DSP采用TI公司生产的54x系列中的TMS320VC5416,CPLD是ALTERA公司MAX7000系列中的EPM7128A。A/D芯片选用飞利浦公司出品的SAA7111A视频A/D转换芯片,这里利用DSP多通道缓冲串行口McBSP来模拟I2C总线时序对SAA7111A进行初始化。
3.1 数据采集的逻辑功能设计
本设计方案通过利用CPLD控制视频采集芯片SAA7111A实现行、场数据延时,并分奇、偶场数据分离存放,DSP选择读取采集到的奇、偶场数据统一或分别进行处理,从而得到多分辨率图像数据。垂直同步信号VREF的两个正脉冲之间为扫描一帧(帧扫描方式)或一场(场扫描方式)的定时,即完整的一帧或一场图像在两个正脉冲之间扫描完。水平同步信号HREF为扫描该帧或该场图像中各行象素的定时,即高电平时为扫描一行象素的有效时间。若当前图像窗口大小为640×480,则在VREF两个正脉冲之间有480个HREF的正脉冲,即480行;在每个HREF正脉冲期间有640个LLC2正脉冲,即每行640个象素,即VREF、HREF、LLC2这三个同步信号之间的关系。
逻辑功能设计大体分为以下几个部分:DSP与CPLD的总线切换逻辑;场延迟部分(HREF的下降沿进行计数器设计);LLC2控制的SRAM地址产生部分;SRAM片选信号、写信号以及同步时钟选择时序控制部分。其中CPLD和DSP之间的总线管理是设计中的难点。图像采集时序如下图所示。
图2 图像采集时序图
具体描述如下:置低DSP的XF引脚产生START采集启动信号,它向CPLD发出图像采集命令,当VS上升沿来临时,如果RTS0为低电平,则表明是奇场即将到来,产生ODD高电平信号,对ODD取反再与DSP输出的nPS相或后用作SRAM (ODD)的片选信号CS_ODD。如果RTS0为高电平,则表明偶场即将到来,产生EVEN高电平信号,对EVEN取反再与DSP输出的nPS相或后用作SRAM (EVEN)的片选信号CS_EVEN,场延迟仍然利用行同步参考信号HREF进行计数器设计(HREF<240)来实现,场延迟结束时,置高HREF145信号,有效图像数据采集开始接受。奇、偶场图像存储器采用了ISSI公司的l0ns级256K×16高速SRAM,LLC2时钟为13. 5MHz,即每个像素时钟大约为74.1ns,每一个LLC2脉冲产生SRAM地址,相对于SRAM的10ns级的读写周期来说完全可以满足要求。利用LLC2(约13.5MHz)时钟进行写逻辑时序控制设计如下图所示:
图3 RAM(ODD,EVEN)写信号时序图
如果在处理完一帧图像后再采集下一帧时,图像数据已经进入了偶场或奇场,此时若开放图像采集,由于不是从图像头开始采集,所采图像将不完全,因此需要确定图像采集开始的基准。这里设计只在RTS0的上升沿才检测图像采集开始信号是否产生,这样每帧图像只在RTS0的上升沿才开始采集,即每次都从偶场开始,这样就避免了图像数据的混乱,保证图像的开始基准。因此,考虑将SAA7111A输出的VPO[15:0]也作为CPLD的输入信号,在CPLD里通过延时作同步处理后再连接到SRAM的数据线上,这样就可以满足时序要求使数据写入正确的地址。
3.2 总线逻辑切换设计
在前面提到了CPLD和DSP之间的总线切换管理是设计中的难点,在数据采集过程CPLD必须掌握总线控制权,切换到数据处理过程DSP必须掌握总线控制权。为了解决这个无缝切换问题,这里充分利用DSP的保持请求信号nHOLD和保持响应信号nHOLDA来协调总线切换。
通过置DSP的XF引脚为低电平,告诉CPLD开始控制SAA7111A进行图像采集。在DSP_XF连接到CPLD为高电平(DSP_XF初始状态应该为低电平)时,CPLD产生DSP_ HOLD总线请求切换信号,该信号连接到DSP的nHOLD引脚请求DSP进入保持状态,在3个机器周期后DSP做出响应:产生nHOLDA低电平信号到CPLD,而且外部数据总线、外部地址总线和控制总线都变成高阻态。当DSP将处理后的一帧数据传输到上位机完成后,再次置低XF脚告诉CPLD可以开始采集下一帧了,CPLD产生DSP_ HOLD使DSP进入保持状态,外部数据总线、外部地址总线和控制总线又都变成高阻态,CPLD掌握总线控制权。如此往复下去即可以解决DSP与图像采集模块的总线冲突问题,正确的切换总线逻辑保证了可以循环采集图像进行处理。
3.3 CPLD逻辑功能仿真验证
通过利用CPLD控制视频A/D芯片SAA7111A的图像采集过程,并利用SAA7111A的输出状态信号来控制CPLD实现图像数据储存、时序控制、地址译码等功能。这样很好地协调了行、场参考及同步信号、像素时钟、SRAM读写信号和DSP控制信号之间的时序关系,保证了对SRAM读写操作时各信号的时序配合,很好的解决了行、场延时问题,使图像分辨率从720×625过渡到640×480,并且正确生成SRAM写地址,DSP中断信号以及总线切换信号的产生。
仿真结果如下所示:
图4 循环采集处理仿真图
上面的循环采集处理仿真图就是实际系统工作时采集模块中各个信号的时序逻辑关系。从仿真图可以看出通过对CPLD的编程实现了多点的行、场延时,奇偶场分离存放,得到多分辨率的图像数据,及DSP中断产生、逻辑总线切换信号、下一帧的开始触发信号、奇偶场对齐信号等都能满足系统时序要求。采集一帧640×480的图像约需22.75ms,可以满足实时性的要求。
4 结语
本文设计了一种基于CPLD的多分辨率图像采集系统,经过大量仿真和电路板调试,证明该方案灵活有效,能够在工业监测、医疗诊断等图像实时采集领域得到广泛应用。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。