随着信息技术的发展,图像传感器越来越多的应用在科学研究和生产生活中,目前使用的主要是CCD图像传感器和CMOS图像传感器。其中以CCD为采集数据源的图像采集技术取得了长足的进步,作为高性能的光电图像传感器以其优良的性能广泛应用于遥感成像、高精测量、景物鉴别、图文传真和工业检测控制等领域。本文提出了一种实时图像采集和处理系统的设计方法,该系统以TMS320DM642[1-2]为核心,结合视频解码芯片SAA7115H和OSD FPGA构成实时图像采集和处理系统电路。
CCD,英文全称:Charge-coupled Device,中文全称:电荷耦合元件。可以称为CCD图像传感器。CCD是一种半导体器件,能够把光学影像转化为数字信号。 CCD上植入的微小光敏物质称作像素(Pixel)。一块CCD上包含的像素数越多,其提供的画面分辨率也就越高。CCD的作用就像胶片一样,但它是把图像像素转换成数字信号。CCD上有许多排列整齐的电容,能感应光线,并将影像转变成数字信号。经由外部电路的控制,每个小电容能将其所带的电荷转给它相邻的电容。
1 系统总体设计
1.1 系统结构
本系统以TMS320DM642为核心,采用模块化设计思想,整个系统主要由视频解码芯片(A/D转换芯片)、可编程逻辑门阵列(OSD FPGA)、TMS320DM642及外围电路组成。外围电路主要包括CCD摄像机、SDRAM图像存储器、FLASH程序存储器及TMS320DM642外围电路(复位、电源连接等)。图1为该系统的结构框图。
1.2 系统工作原理
由CCD摄像头摄入的PAL制图像传送到SAA7115解码器,SAA7115解码?E5%r?99?将信号转变成并行的BT.656图像码流送至TMS320DM642视频口VP0,TMS320DM642将其再解码,得到YUV(4:2:2)格式的图像,并通过EDMA传输到动态存贮器(SDRAM)中存储,图像大小为每场720×288(宽×高),每帧720×576(宽×高)。CPU通过访问SDRAM中的图像数据,依照相应的程序进行相应的图像处理。
在实时图像处理系统中,为了不影响数据处理速度,需要在恒速的CCD图像采集与变速的TMS320DM642图像处理之间加入缓冲电路,缓冲采用TMS320DM642视频口的片内FIFO和片外SDRAM的乒乓缓存结构。"乒乓操作"是一个经常应用于数据流控制的处理方法,如图2所示,其处理流程为:输入数据流通过指针等时地将数据流分配到数据缓冲区1、2和3中,在第1帧的时间,将输入的数据流缓存到1;第2帧将输入的数据流缓存到2,与此同时,将1的数据作运算处理。在下个缓冲周期,再次切换,将输入的数据流缓存到3,与此同时,将2的数据运算处理。如此循环,A、B、C、D、E为其5种状态。
乒乓操作的最大特点是按节拍、相互配合地切换,将经过缓冲的数据流不停顿地进行运算及处理。把乒乓操作模块当作一个整体,此模块两端的输入数据流与输出数据流均是连续不断的,没有任何停顿,因此非常适合进行流水线式处理,完成数据的无缝缓冲与处理。
2 功能模块设计
2.1 视频采集模块
本系统采用Philips公司的SAA7115视频解码芯片将CCD模拟视频进行数字化,然后传给TMS320DM642的视频端口进行处理,同时分离水平同步(XRH)和垂直同步(XRV)等信号。
视频解码芯片采用SAA7115,省去时钟同步电路的设计,简化接口电路,提高系统的可靠性。由摄像机采集到的模拟信号经过视频端子进入到解码器SAA7115的模拟端Al11,经模拟处理和A/D转换后产生数字色度信号和亮度信号,分别对其进行处理。亮度信号处理的结果一路送到信号处理器,进行综合处理,产生Y和UV信号,经格式化后采用4:2:2 YUV格式从IPD[7-0]输出直接连接到TMS320DM642视频口的VP0[9-2]管脚;另一路经过同步分离器,由数字PLL产生相应的同步信号与TMS320DM642的VP0CTL0和VP0CTL1相连,同时PLL驱动时钟发生器,产生27 MHz的时钟同步信号LLC,输出到TMS320DM642的VP0CLK0管脚。解码器SAA7115与TMS320DM642的视频接口的原理如图3所示。
所有这些功能均在I2C总线控制下完成。SCL作为I2C接口的时钟线与TMS320DM642的SCL相连,SDA作为I2C接口的数据地址线与TMS320DM642的SDA相连。通过SCL和SDA的时序配合,可由TMS320DM642向SAA7115的寄存器写入数据或读出数据。
2.2 TMS320DM642图像处理模块
本系统中视频口VP0作为输入,与视频解码器SAA7115的IPD相连。从解码器SAA7115出来的BT.656数据流进入VP0口后,经由BT.656捕获通道,进入到视频口缓冲区中,每个视频口都有1个5 120 B的视频输入/输出缓冲区,视频口输人的数据分别进入捕获FIFO A和FIFO B,其中Y缓存2 560 B,Cb和Cr缓存分别为1 280 B.根据输出的同步脉冲产生帧存储器的地址信号、读写和片选等控制信号,将图像逐帧存入SDRAM存储器中,通过中断通知TMS320DM642读取。TMS320DM642通过EDMA事件实现视频口缓冲区和片内L2存储器之间的数据传递。用户编程设定1个缓冲区阈值用以产生EDMA事件。BT.656格式的数据流经由捕获通道分别进入各自的缓冲区,并打包成64 B的双字。当双字增至缓冲区阈值时触发EDMA事件,存储器映射寄存器即作为EDMA数据传输的源地址。为保证每一场的数据能够全部传完且没有遗漏,每次EDMA传输的数据大小应等于阈值。由于TMS320DM642的强大处理能力,用户算法作为任务线程嵌入TMS320DM642软件系统中。
2.3 外围存储模块
本系统的TMS320DM642在视频图像的处理时,处理过程中会产生大量数据,而其内部最多仅有256 KB的RAM,所以需要扩展大容量的外部存储器才能满足数据处理的需要。本系统选用2片SDRAM用于存储程序、数据和缓存数字视频信息,选用1片FLASH存储器用于固化程序和一些掉电后仍需保存的用户数据。SDRAM芯片和FLASH芯片均通过TMS320DM642的EMIF口实现无缝连接[3].TMS320DM642的EMIF有4个独立的可设定地址的区域,称为芯片使能空间(CE0~CE3),当FLASH和FPGA映射到CE1时,SDRAM占据CE0,CE3的一部分被配置给OSD功能的同步操作和扩展的FPGA中的其他同步寄存器操作。本系统合并形成了一个64 bit长的外部存储器端口,将地址空间分割成了4个芯片使能区,允许对地址空间进行8 bit、16 bit、32 bit和64 bit的同步或不同步的存取,并且使用了芯片使能区CE0、CE1和CE3.CE0被发送给64 bit的SDRAM总线,CE1被8 bit的FLASH和FPGA功能使用,CE3被设置成同步功能。
2.3.1 SDRAM存储器
SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
本系统采用MT48LC4M32B2[4]来构成SDRAM存储器,大小为1 M×32 bit×4 banks, 在CE0空间连接了64 bit的SDRAM总线。总线由外部PLL驱动设备控制,在133MHz的最佳运行状态下运行,SDRAM的刷新由TMS320DM642自动控制。TMS320DM642的EMIF与SDRAM接口图如图4所示。
2.3.2 FLASH存储器
FLASH闪存 闪存的英文名称是"Flash Memory",一般简称为"Flash",它属于内存器件的一种。 不过闪存的物理特性与常见的内存有根本性的差异: 目前各类 DDR 、 SDRAM 或者 RDRAM 都属于挥发性内存,只要停止电流供应内存中的数据便无法保持,因此每次电脑开机都需要把数据重新载入内存。
本系统扩展4 M的FLASH,映射在CE1空间的低位。FLASH寄存器选用4 M×8 bit的AM29LV033C.FLASH寄存器主要用来导入装载和存储FPGA的配置信息。CE1空间被配置成8 bit,FLASH寄存器也是8bit.由于CE1的可利用地址空间小于FLASH的空间,所以利用FPGA可产生3个扩展页。这些扩展的线形地址通过FPGA的FLASH基础寄存器进行定义,复位后的默认值是000.TMS320DM642的EMIF和FLASH的接口图如图5所示。
2.4 OSD FPGA模块
OSD是on-screen display的简称,即屏幕菜单式调节方式。一般是按Menu键后屏幕弹出的显示器各项调节项目信息的矩形菜单,可通过该菜单对显示器各项工作指标包括色彩、模式、几何形状等进行调整,从而达到最佳的使用状态。它通过显示在屏幕上的功能菜单达到调整各项参数的目的,不但调整方便,而且调整的内容也比以上的两种方式多,增加了失真、会聚、色温、消磁等高级调整内容。像以前显示器出现的网纹干扰、屏幕视窗不正、磁化等需要送维修厂商维修的故障,现在举手之间便可解决。
FPGA负责完成所有芯片的接口和控制,其中包括SAA7115与I2C总线的接口、复位控制信号以及与TMS320DM642的EMIF接口和外设接口等,其体系结构图如图6所示。本系统的OSD FPGA功能模块的芯片型号为Xilinx XC2S300E-6PQ208C[5],主要用来完成以下工作:
(1)通过寄存器使用TMS320DM642外部存储器接口(EMIF);
(2)通过可编译寄存器使用TMS320DM642的EMIF接口控制GPIO;
(3)产生EMIF缓冲控制信号(DIR和OE);
(4)提供对于PLL1708的连续控制接口;
(5)为FLASH产生3页bit空间;
(6)使用SAA7115的同步信号。
2.5 电源和复位模块
该系统通过单+5 V供电,在板子内部转换为+1.4 V和+3.3 V,为各器件供电。+3.3 V为TMS320DM642的I/O口、解码器及其他芯片的电源,+1.4 V为TMS320DM642 CPU内核电源。TMS320DM642内核电压+1.4 V,外设I/O电压+3.3 V,降低内核电压主要是降低功耗,外部接口引脚采用+3.3 V电压,便于直接与外部器件接口。由于是2种不同的电压,所以要考虑供电系统的配合问题。在加电过程中,保证CPU内核电源先加电,最晚也应当与外设I/O电源同时加电。关闭电源时,先关闭I/O电源,再关闭内核电源。如果内核加电晚于I/O,则会发生内部总线竞争,从而产生不可预定的结果。因此,选用电源芯片TPS54310[6]获得上述2种电压,并利用其电源输出有效引脚PG和允许电压输人引脚EN保证TMS320DM642的内核和I/O上电掉电顺序。
为防止系统程序进入死循环或因电压波动而产生异常,本系统用看门狗芯片来控制系统复位。这里采用TI的TPS3823-33DBVT[7]看门狗芯片,它由+3.3 V电源供电,能对电源电压进行监控,当电源电压降至2.93 V以下时触发复位信号,使整个系统进入复位状态,直至电源电压复原,复位信号的最小长度为200 ms.同时,还含有一看门狗计时器,用来监测来自处理器芯片的跳变沿触发信号,如果1.6 s内未接收到触发信号,它同样让系统进入复位状态并持续200 ms,这样可在系统程序进入死循环后重新启动系统。TMS320DM642电源与复位电路的连接图如图7所示。
3 抗干扰设计
由于高频脉冲噪声对本系统危害最大,为了提高系统的抗干扰性能,可采取以下措施:
(1)优化PCB印制板的设计。在本系统中应当:
①采用短而宽的导线来抑制干扰。时钟引线、总线驱动器的信号线常有大的瞬变电流,其印制导线要尽可能短。对于分立元件电路,印制导线宽度在1.5 mm左右即可满足要求;对于集成电路,印制导线宽度在0.5 mm~1.0 mm之间选择;
②传输多种电平信号时,尽量把前、后沿时间相近的电平信号划为一组传输;在双面印制板的背面布置较大面积的地线区域,可对部件产生的高频脉冲噪声起到吸收和屏蔽的作用;分开模拟和数字电源层;
(2)增加总线的抗干扰能力。采用三态门形式的总线结构,并给总线接上拉电阻,使总线在瞬间处于稳定的高电平而避免总线出现悬空状态。
本文面向实时图像采集和处理,采用模块化设计思想,以TMS320DM642、SAA7115、OSD FPGA等实现了视频图像采集和处理系统的硬件电路,该系统电路简单、结构紧凑、调节灵活、可靠性高、实时性强的特点,通过验证,满足设计的应用要求,可为今后视频图像采集和处理的进一步研发提供参考。