基于DSP的图像采集系统

时间:2022-10-26 10:49:52

基于DSP的图像采集系统

摘 要:介绍一种基于复杂可编程逻辑器件(CPLD)和数字信号处理器(DSP)的图像采集系统。系统采用增强型视频输入处理芯片SAA7111A完成视频信号的A/D转换,利用CPLD实现对视频前端译码后的视频数据的存储,以及完成前端采集与后端处理协调工作的方案。按照该方法制作的系统,经过实验验证效果良好。

关键词:DSP;CPLD;图像采集;SAA7111A

中图分类号:TN911.73 文献标识码:B 文章编号:1004-373X(2008)02-010-03オ

An Image Collection System Based on DSP

BI Weihong,WANG Juan

(College of Information Science and Engineering,Yanshan University,Qinhuangdao,066004,China)オ

Abstract:This paper introduced an image collection system based on CPLD and DSP.The system uses enhanced video input processor SAA7111A to accomplish A/D conversion of video signal,and uses CPLD to accomplish the video data′s saving and the project which makes the collection part and the processing part work in phase.A system has been made according to this method and the feasibility is demonstrated.

Keywords:DSP;CPLD;image collection;SAA7111Aオ

1 引 言

随着现代电子技术和多媒体技术的发展,图像采集和处理技术得到了广泛的应用。DSP芯片具有体积小,处理速度快,使用灵活方便等特点。基于DSP的图像采集处理系统能较好地满足处理的快速性和小型化便携式的要求。本文设计了一套基于TI公司TMS320VC5416DSP芯片的图像采集系统。

2 TMS320VC5416简介

TMS320VC5416是一款性能优越的定点数字信号处理芯片,他采用改进的哈佛结构,片内共有8条总线(1条程序存储器总线,3条数据存储器总线和4条地址总线);对程序内存和数据存储器使用分离的总线,这样可以同时取指令和操作数,提高运行效率和通用性。运行速度快,指令周期为6.25 ns,运算能力为160 MIPS。片内集成有高达128 k×16 b的片内RAM,并具有8 M的外部存储器寻址能力。除一般的片内外设外,TMS320VC5416还提供6通道DMA控制器,3个多通道缓冲串口(McBSP),8/16 b改进的主机接口和1个16 b定时器。高度专业化的指令系统,提供了快速运算和优化的高级语言操作。低功耗设计,内核电源1.5 V/1.6 V,I/O电源3.3 V,并提供3种省电模式IDLE1,IDLE2和IDLE3。

3 系统结构组成及工作原理

系统硬件构成框图如图1所示。

系统设计包括了图像采集、图像处理以及图像传输3个部分。从CCD摄像头捕捉到的模拟视频信号经过视频A/D芯片SAA7111A的模数转换,由CPLD控制写入片外高速大容量帧存储器中储存,直到一帧图像存储完毕,CPLD交出总线。此时,TMS320VC5416从帧存储器中读取1帧图像,然后应用图像处理算法对整幅图像进行处理。处理完毕后,TMS320VC5416通过HPI接口与PC机连接实现图像数据的传输。DSP程序存储在外部FLASH中,主要包括DSP初始化、启动图像采集、JPEG处理、串行数据和并行数据的传输等代码。系统上电后,以16位并行引导方式将程序导入DSP片内RAM中运行。主程序在DSP中运行,根据不同的任务,可编制相应的程序,完成图像处理的算法。下面重点介绍前端图像采集部分。

4 视频信号的A/D转换

要采集的图像是静态的,要求采集512×512象素的彩色图像。可采用CCD摄像头进行图像采集。CCD的输出为标准PAL制式,因此需要进行A/D转换。图像A/D转换使用Philips公司的单片高集成度视频译码芯SAA7111A。 SAA7111A视频芯片不同于一般的相机芯片(DSC)。一般DSC固定图像大小以及分辨率,而SAA7111A视频芯片则可以对其进行软件编程,控制行象素采集数目,可以根据实际需要配合CPLD进行场延迟,自由获取大小不同、分辨率不同的图像。SAA7111A采用CMOS工艺,包含4路模拟视频输入通道,通过简单的I2C总线可以方便地对该器件实现初始化。SAA7111A内部具有抗混叠滤波器,可进行静态增益控制或自动增益控制;支持Y∶U∶V 4∶2∶2,CCIR656,RGB888等多种图像输出模式;自动检测50 Hz或60 Hz的场频,并且在PAL和NTSC格式之间自动切换;VREF(场同步)信号、HREF(行同步)信号、RTSO(奇偶场)信号和LLC2(象素时钟)信号都有管脚直接引出,省去以往时钟同步电路的设计,简化了接口电路,提高系统可靠性。芯片的最大特点在于仅需一个24.576 MHz的晶振就可满足所有视频标准的应用,片内实现制式的自动检测。该器件可广泛应用于数字电视、图像处理、可视电话及多媒体等领域。

5 逻辑控制部分

CPLD接收SAA7111A输出的图像数据信号和同步时钟信号,在内部编程实现有效图像信号的采集和地址译码以及产生切换选择信号。帧存储器选用高速、低功耗的CY7C1041V33作为外部静态SRAM,CY7C1041V33内存大小为256 k×16 b。

5.1 有效图像信号的采集和地址译码

预先设置SAA7111A输出一帧图像大小为720×572象素。采样时钟LLC2频率为13.5 MHz,每一个时钟周期输出一个采样点的A/D转换值。HREF高电平表示一行有效采样点,为720个LLC2周期,VREF高电平表示一场有效信号,单场为286行,HREF和VREF的低电平分别表示行消隐和场消隐。奇偶场信号RTS0为“1”表示当前为奇数场,为“0”表示偶数场。图像采集处理系统需要对SAA7111A输出的大小为720×572的数字图像斩头去尾,取中间512×512图像数据进行存储,则地址发生器单元主要完成如下功能:在SAA7111A输出中间512×512有效图像数据时产生0~3FFFFH的地址,且与SAA7111A的图像数据信号同步(频率为13.5 MHz)。根据SAA7111A的同步信号时序,地址发生器首先利用SAA7111A输出的象素时钟信号CREF、行同步信号HREF以及场同步信号VREF,产生存储一场大小为256×512的图像数据所需的0~1FFFFH的地址(Q[16..0]),然后利用其奇偶场标识信号RTS0取反,作为地址发生器的最高位地址Q[17],控制将奇场数据存储在帧内存的低128 k空间,偶场数据存储在帧内存的高128 k空间。简化后的CPLD的硬件设计图如图2所示。

从图2可知,系统上电后,DSP的XF引脚为低电平,使HCOUNT模块的EN引脚为低电平,保证输出Q端为低电平,这样ADDBUILD模块的CLR引脚为低电平,无论VREF,HREF,CREF如何改变,输出地址值都是为0。当需要获取1幅图像时,由C5416的XF引脚为高电平,触发HCOUNT模块,这样在VREF,HREF,CREF,RTS0波形的作用下,可以完成完整的1帧图像数字化后存储在SRAM中。其中PCOUNT(象素计数器)、HOUNT(行计数器)、ADDBUILD (SRAM地址生成模块)都是使用VHDL语言实现,各个功能模块的主要功能为:

PCOUNT:在HREF为低电平,输出端Q为0,当HREF高电平时表示1行采集信号的开始;象素时钟CREF作为时钟输入,每输入1个CREF脉冲进行计数加1;根据实际图像尺寸需要,在设定的计数范围内实现输出Q端为1,其他情况下输出Q端为0。例如在本设计中在128~640计数范围内实现输出Q端为1即保证在一行采样512个象素点。其VHDL程序如下:

LIBRARY IEEE;

USE IEEE.STD LOGIC 1164.ALL;

USE IEEE.STD LOGIC UNSIGNED.ALL;

ENTITYPCOUNTis

PORT (CLK,EN:IN STD-LOGIC;

Q:OUT STD-LOGIC);

END PCOUNT;

ARCHITECTURE counter512 ofPCOUNT is

SIGNAL C: STD-LOGIC-VECTOR(9 DOWNTO 0)

BEGIN

PROCESS(CLK,EN)

VARIABLE FLAG: BIT;

BEGIN

IF (EN=′0′)THEN

C

Q

ELSIF( CLK′EVENT and CLK=′1′)THEN

IF (C

C

Q

ELSIF (C

C

Q

ELSE

Q

C

END IF;

END IF;

END PROCESS;

END counter512;

HCOUNT:利用DSP的XF引脚高电平作为启动采集信号,当VREF为低电平,输出Q端清0;当VREF为高电平表示一场采集信号的开始。利用HREF作为时钟输入,一场图像包括286行,即在VREF高电平期间,有286个HREF脉冲信号,每输入一个HREF脉冲计数加1,设计在计数范围(25~281)内输出Q端为1,保证在一场内采集256行。

ADDBUILD:在PCOUNT模块和HCOUNT模块的输出Q端为高电平情况下,每输入一个象素时钟脉冲,输出地址线Q[16..0]计数加1,Addr[16..0]与SRAM的地址总线A16~A0直接相连,SAA7111A奇偶场标识信号RTS0取反,作为地址发生器的最高位地址Q[17],与SRAM最高位地址A17相连,这样在将SAA7111A的数据输出VPO[15..0]的相应内容写入到SRAM相应地址空间中,完成将采集到的数据存储到SRAM中。

5.2 CPLD与DSP通信

CPLD在采样前接收DSP发出的开始采样指令,并把DSP设置工作在HOLD模式。采样结束后,给DSP发送中断信号。

CPLD作为采样的核心控制芯片,根据SAA7111A输出的各个同步信号产生帧缓存的地址(A0~A17)、片选(CS)以及写控制(WE)等逻辑信号。CPLD和其他芯片的连接如图3所示。

6 系统软件流程

系统的软件流程图如图4所示。系统上电初始化,DSP通过软件模拟I2C总线时序,设置SAA7111A的工作方式;之后,DSP即发送开始采集指令给CPLD,双方通过HOLD,HOLDA握手信号,实现总线控制权的交接。此时DSP工作在HOLD模式,CPLD获得总线控制权,并打开SAA7111A的输出,对SAA7111A采集到的视频数据进行写控制。 当一帧数据写入帧缓存后,CPLD关闭SAA7111A的视频输出,放弃总线控制权,并发送中断信号给DSP;DSP重新获得控制权,对采集到的视频数据处理、向PC机串口或并口传输。 DSP处理完毕后重新发开始采集命令,继续采集下一帧。

7 结 语

系统充分利用CPLD的灵活性,实现了图像采集处理系统中的采集控制、总线管理以及视频前端与处理后端的无缝接口。同时由于图像采集系统中采集控制单元CPLD的可在线编程能力,给系统的重构提供了可能。

参 考 文 献

[1]Philips.SAA7111A Data Sheet.Corporation.1998.

[2]阳涛,诸静.CPLD在图像采集卡中的应用[J].电子技术,2004(3):28-31.

[3]徐婉莹,刘建军,黄新生.基于CPLD和DSP的高速图像采集技术研究[J].电子工程师,2004,30(6):48-50.

[4]高育鹏,杨俊,何广军.基于图像识别的自动阅卷系统研究\[J\].现代电子技术,2006,29(22):119-120,127.注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:基于DSP Builder的DDS设计与实现 下一篇:基于北斗的车辆远程监控报警系统