>
首页 » 业界动态 » 图像采集系统中采集控制单元的CPLD 实现

图像采集系统中采集控制单元的CPLD 实现

作者:卿粼波,王姝,王正勇,何小海  时间:2006-12-21 00:10  来源:
摘要:提出了在基于DSP(Digital Signal Processor ,数字信号处理器) 的图像采集处理系统中,利用CPLD(Com
plex Programmable Logic Device ,复杂可编程逻辑器件) 实现对视频前端SAA7111 解码后的视频数据按一定格式进行控制存储,以及完成前端采集与后端处理协调工作的方案。对CPLD 中的各模块进行了详尽说明,给出了仿真波形。

关键词:SAA7111;CPLD;采集控制

引言

现代图像采集处理系统的首要任务就是对摄像头输出的全电视信号数字化成一定的图像数据格式,所用到的图像采集系统的灵活度和稳定度直接影响整个系统的性能和成本。在基于DSP 的嵌入式图像采集处理系统中,前端采集系统中SAA7111 将模拟视频信号转换为Y:U :V = 4 :2 :2 的数字图像数据保存到帧存储器中,由DSP 来完成对数据的处理。根据不同的需求,采集到的图像数据的格式以及图像的大小都不同,这些工作都由采集控制单元完成,如果用一般的分离元件来实现,将使系统硬件电路很复杂,稳定度不高,且调试困难。系统采用CPLD 完成所有的采样控制功能,将SAA7111 输出的Y:U :V = 4 :2 :2 格式的大小为512 ×512 一帧图像数据保存在帧存储器中,供DSP 处理。由于CPLD 的可在线编程功能,给系统的重构提供了很大的灵活性。

采集控制单元综述

图像采集处理系统由视频前端SAA7111 、采集控制单元、DSP 模块以及帧存储器组成。系统启动采集后,从大小为720 ×625 的图像中截取大小为512 ×512 的数字图像,分奇偶场分别存储在帧存储器中,采集完后停止采集,通知DSP ,由DSP 接管总线,对图像进行处理。处理完毕后,根据需要可以再次启动采集,完成下一轮采集处理。SAA7111 输出的是大小为720 ×625 ,格式为Y:U :V = 4 :2 :2 的图像,而系统DSP 所要处理的是大小为512×512 的图像,图像数据容量是256k ×16bit (高16 位为Y分量,低16 位为UV 分量) 。因此,整个采集控制单元需要完成如下功能: (1) 根据所需要的图像大小产生帧存储器的地址; (2) 帧存储器地址、数据总线切换; (3) 采集与处理的配合与协调。

由DSP 发送采集启动信号START ,SAA7111 的输出同步信号组(CB) 以及采样协调单元的输出使能作为控制信号控制地址发生器,产生03FFFFH 的地址。一帧图像数据采集完毕后,发送FRDY信号通知DSP。总线切换单元则完成帧存储器地址和数据总线的控制、切换。采样控制单元框图如图1 所示。

地址发生器 

  图像采集处理系统需要对SAA7111 输出的大小为720 ×625 的数字图像斩头去尾,取中间512 ×512 图像数据进行存储,则地址发生器单元主要完成如下功能:在SAA7111 输出中间512 ×512 有效图像数据时产生0~3FFFFH 的地址,且与SAA7111 的图像数据信号同步(频率为1315MHz) 。SAA7111 地址发生器单元框图如图2所示(核心模块都用VHDL 语言完成) 。

根据SAA7111 的同步信号时序,地址发生器首先利用SAA7111 输出的像素时钟信号CREF、行同步信号HREF 以及场同步信号VREF ,产生存储一场大小为512 ×256 的图像数据所需要的0~1FFFFH 的地址(Q[16..0 ]) ,然后利用其奇偶场标识信号ODD 取反,作为地址发生器的最高位地址Q[ 17..0 ] ,控制将奇场数据存储在帧存储器的低256k 空间,偶场数据存储在帧存储器的高256k 空间。

图3 为地址发生器单元产生奇场地址的仿真波形,在有效的行期间(即VREF 为高电平期间) ,只保存其中间的256 行的图像数据,而每一行为512 个点,即在图中的FIELDOU T 为高电平时完成0~1FFFFH 的地址递增。在完成256 行图像数据的存储后,将地址发生器清零以便为偶场数据计数,同时RDY信号变为高电平,提示已经完成为一场完整的图像存储,同时在下一场数据采集开始时又使RDY无效,表示又开始新的一场数据采集了,此时不能进行数据处理。

行计数器

L INEDELAY计数器主要完成像素计数功能,在每一行的第128~640 点输出高电平,作为地址计数器HCOUNTER 的计数使能的一部分,由此达到只采集每一行中间512 点图像数据的目的。L INEDELAY为上升沿触发计数,由于SAA7111A 的时钟参考信号CREF 的频率和SAA7111A 的VPO 总线数据输出频率一致,且在其为高电平期间,SAA7111A 的A/ D 变换数据出现在数据总线上,所以利用CREF 作为L INEDELAY计数器的时钟信号。同时,为了实现所采集的图像数据为行正程的数据,我们利用HREF 信号作为其使能信号。L INEDELAY计数器的功能波形如图4 所示。


场计数器
FIELD - CNT 计数器主要完成行计数器功能,其在每一场的第25~281 行输出高电平,作为地址计数器HCOUNTER 的计数使能的一部分,由此达到只采集每场中间256 行图像数据的目的;在完成256 计数以后,在CARRY端输出高电平,表示一场数据已经采集完成; EN 为高电平时开始计数,为低电平时计数器清零。根据SAA7111 的时序,HREF 的下降沿为每一行的开始;VREF 在场消隐期间保持低电平,其高电平表示SAA7111A输出有效图像数据。所以定义ODDFIELD 计数器为下降沿计数器,用HREF 作为其时钟信号,利用FIELDEN(采集处理协调单元输出) 与VREF 相与作为其使能信号,以保证所采集保存的数据为所需要采集场的场正程的数据,同时也满足与DSP 的协调工作。ODDFIELD 计数器的功能仿真图如图5 所示。

地址计数器
地址计数器主要完成在所需要采集的一场数据(512 ×256) 的范围内,完成地址自增功能。地址计数器为上升沿计数,利用SAA7111A 的时钟参考信号CREF 作为计数时钟,当使能信号EN 为高电平时,地址计数器开始计数,为低电平时保持计数值不变;当CL EAR 为低电平时,地址计数器清零。由于行计数器在每行的第128~640 点输出高电平,场计数器在每场的第25281 行输出高电平,用这两个信号相与,作为地址计数器的使能信号,同时利用场计数器的Q 端作为地址计数器的清零信号,即能保证在行有效期间并且采样第128~640 点时,奇场有效期间且采样行数为第25~281 时,地址计数器进行计数,从而完成采集保存原图中间部分512 ×256 个点的目的,且在采完一场后利用场计数器的输出Q 将地址计数器清零,为采集保存下一场数据做准备。其功能波形可以通过图3 中的地址发生器单元整体仿真波形看到。

采样协调单元

采样协调单元完成前端采集和后端DSP 处理的协调同步。保证在DSP 发出START 命令后(即让SRART端变为高电平) ,在每帧图像的奇场需要截取的512 ×256 图像的第一行第一个点才启动地址发生器单元从0 开始计数。为此,利用ODD 信号的上升沿来参与使能地址发生器单元,就可保证上面提出的要求。用VHDL 语言来完成对采样协调单元的设计,其原理图与仿真波形如图6 所示。同时利用场准备好信号(如图3 的RDY信号)与ODD 的反相信号相与,作为帧准备好信号FRDY,其高电平表示此时已经有一帧完整的图像保存在帧存储器中,DSP 可以进行处理。
 
总线切换单元

总线切换单元主要完成帧存储器的地址和数据总线管理,其子电路如图7 所示。其中BMUX 单元用VHDL语言设计,其相当于一个多路选择器,AB[17..0 ]为帧存储器的地址总线,DB[ 15..0 ]为帧存储器的数据总线,Q[17..0 ]为前面地址发生器输出地址总线,DAB[17..0 ]为DSP 的地址总线,DDB[15..0 ]为DSP 的数据总线。

当DSP 发出START 命令后,START 变为高电平,开始采集保存图像数据。SAA7111 的数据输出使能FEI变为低电平,SAA7111A 数据总线输出有效,BMUX 将AB[ 17..0 ]与Q[ 17..0 ]接通,输出端QD[ 15..0 ]高阻,SAA7111 的数据总线VPO[15..0 ]向DB[17..0 ]传送数据,完成图像数据在地址发生器控制下保存在帧存储器中。当DSP 准备好处理帧存储器中图像数据时,先查询FRDY,如果为高电平,表示已经完成一帧的图像采集,此时将START 变为低电平,停止采集,那么此时FEI 变为高电平,SAA7111A 的数据总线VPO[ 15..0 ]变为高阻,BMUX 将AB[17..0 ]与DSP - A[17..0 ]接通,同时将DB[15..0]与DDB[ 15..0 ]接通,从而达到DSP 对帧存储器数据的读写处理。处理完毕后,DSP 又使START 变为高电平,启动采集循环执行第一个过程。

结束语

方案充分利用CPLD 的灵活性,实现了图像采集处理系统中的采集控制、总线管理以及视频前端与处理后端的无缝接口。试验结果表明采集控制单元能够很好的实现整个系统的协调工作,具有很高的稳定性,同时由于CPLD 的可在线编程能力,给系统的重构提供了可能。

相关推荐

多元化整合:PCB抄板搭上尧顺科技顺风车

PCB  CPLD  2013-03-12

Altium与Altera发布全新在线元件资源和软件支持

Altium  FPGA  CPLD  2012-02-15

嵌入式系统的实时数据接口扩展

嵌入式系统  CPLD  2011-09-02

基于CPLD的USB总线的隔离接口实现

CPLD  USB总线  2011-08-17

基于MAX6675多路温度采集系统设计与实现

温度采集  MAX6675  CPLD  2011-07-07

基于CPLD和嵌入式系统的高速数据采集系统

数据采集  CPLD  嵌入式系统  2011-02-17
在线研讨会
焦点