基于FPGA的图像采集与处理电路设计Word文档下载推荐.docx
《基于FPGA的图像采集与处理电路设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于FPGA的图像采集与处理电路设计Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
![基于FPGA的图像采集与处理电路设计Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-2/5/3741011e-d6ff-460b-bb10-8390ae019f8f/3741011e-d6ff-460b-bb10-8390ae019f8f1.gif)
4.1相机触发模块16
4.2数据处理17
4.2.1数据缓存模块17
4.2.2图像显示模块18
参考文献19
总结20
致谢21
第一章绪论
1.1引言
“数字图像采集”是指将目标物体拍摄的模拟图片转换成数字信息后,再由计算机进行存储、处理、显示或打印的过程。
相应的系统称为数字图像采集系统。
较之模拟系统,数字系统的最大优点就在于有良好的稳定性。
数字图像采集系统的任务,具体地说,就是采集传感器输出的模拟信号转换成计算机能识别的数字信号,然后送入计算机或相应的信号处理系统,根据不同需要进行相应的计算和处理,得出所需的数据。
与此同时,将计算机得到的数据进行显示或打印,以便实现对某些物理量的监视,其中一部分数据还将被控制生产过程中的计算机控制系统用来控制某些物理量。
它为我们更好的获取信息提供了良好的基础。
因此,随着自动化控制、通讯及计算机网络技术的飞速发展,以及相机和计算机性价比的日益提高,数字图像信号的采集与处理在科学研究、工农业生产、医疗卫生等部门得到越来越广泛的应用。
然而,在计算机视觉测量技术中,为了对快速运动目标进行实时跟踪和提高测量精度,采用高分辨率、多视点、高帧频图像采集技术是当前一种有效的技术手段。
相机采用高帧频、高分辨率和多视点的技术对提高测量精度起着重要的作用,但是同时也对图像的采集和存储技术提出了较高的要求,高速度、高分辨率都会使用于传输图像数据的带宽提升,用于存储图像的磁盘空间加大,这对图像采集系统的硬件和软件系统的结构设计,特别是在图像数据的实时性采集、传输和提高图像处理速度等方面都提出了较高的要求,快速、灵活、方便及可控性成为图像采集系统发展的方向。
设计能实时处理图像数据,简化存储要求的高速图像采集系统对今后高速图像采集系统的更广泛的应用有着非常重要的意义。
但是,针对本课题所要求的检测要求,视觉检测在数据采集、处理速度上仍有待于大幅提高。
近十年来,微电子技术以及超大规模集成电路有了长足的进步,特别是现场可编程门阵列FPGA(FieldProgrammableGateArray)更是得到了迅猛的发展,为视觉检测系统的数据采集、处理速度提高提供了新的方法和思路[4]。
1.2研究概况
图像采集处理系统是指用设备来捕获客观世界的图像和特征,也就是用设备来实现对客观世界的识别。
视频图像采集处理是视频信号处理系统的前端部分,正在向高速、高分辨率、高集成化、高可靠性方向发展。
图像采集处理系统在当今工业,军事,医学各个领域都有着极其广泛的应用,如使用在远程监控、安防、远程抄表、可视电话、工业控制、图像模式识别、医疗器械等各个领域,而且随着图像采集处理技术的发展,在上述各个领域内的各种应用中,图像采集处理系统中所起到的作用显得越来越重要,而且越来越多的行业和设备开始使用到图像采集处理系统。
当今世界进入数字化信息的时代,各种形式的信息以数字化方式存储于各种媒质中,而且越来越多的信息开始由传统的模拟存储和处理方式向数字化存储和处理方式转变。
图像信息作为人类最重要的信息源之一,图像采集技术和改善图像质量的图像处理技术也开始向数字化方向转变。
在数字计算机问世之前,图像处理的共同特点是把图像信息用传统的模拟方式来处理。
从第一台数字计算机问世以来,随着计算机技术的发展与成熟,数字图像采集处理成为一个迅速发展的学科。
在进入二十一世纪前,国内的图像采集和处理系统大多随着国外跨国企业的生产线进入中国。
随着中国科技的迅速发展以及工业自动化要求的不断提高,经过数年的发展,现在国内许多自动化设备制造商正将图像采集和处理技术用于视觉检测、视觉控制机器人、确定和定位零件等领域的产品设计以提高功能及性能档次,改善产品及加工质量。
虽然市场上涌现出了各种图像采集处理卡或采集处理系统,但若需要将图像采集和处理系统广泛应用到各个行业的实际应用中,还存在较大的困难,主要有以下几个方面的原因:
首先是图像采集处理系统很难有重复精度,分割过程是非一致的,提取的特征如物体表面属性和照明环境是变化的;
其次是处理时间太长,处理阶段边缘的软件检测要求几个模板与所在的二维图像数据进行卷积,解释阶段非完美的分割场景数据到模型的匹配的复杂度可能是特征数量几何级函数;
再次绝大多数图像采集和处理系统的功能有限,不能很好的应用到各个领域当中;
另外是采集处理系统仍然是相当昂贵的,尽管回收期通常比较短,这仍然阻碍新技术被广泛接收;
最后购买一个现成系统是困难的,大多数应用要求高应用程度的专门软件开发和环境工程[6]。
1.3研究意义
随着计算机、多媒体和数据通信技术的高速发展,数字图像采集与处理在科学研究、工农业生产、医疗卫生等部门得到越来越广泛的应用。
同时,具有图像功能的嵌入式应用也随之增多,从数码相机、可视电话、多功能移动电话等消费产品到门禁、数字视频监视等工业控制及安防产品。
图像采集需要进行同步信号的处理,比通常意义上的数据采集过程复杂,电路的设计也较为困难。
传统PC上的图像采集卡都是在PhiliPs、Broo扮ee等半导体公司提供的接口芯片基础上,由专业公司开发生产。
近几年来,随着图像视频传输协议的不断开放,开发研究人员针对特殊应用领域的定制开发图像采集卡已变得可行【8】。
基于FPGA可编程器件的可编程特性,利用硬件逻辑电路实现图像识别的软件算法,极大地提高了图像识别速度,可以使图像识别速度达到ms级(受限于摄像头的视频数据采集速度及图像大小),从而满足高速装配线或是其它场合高速图像识别的需求。
本文要讨论的内容就是将数字图像采集与处理等功能集成在一块电路板上。
此电路板的设计目的是对数字图像做采集、显示、存储以及简单的图像处理,应用在不需要很高图像质量但需要实时性很高的环境下。
设计中在板上提供了VGA接口,应用的时候只需要将带有VGA接口的显示器或视频监视器直接接到单板上即可,并且单板的功耗很小,系统有很广阔的应用环境,对于图像系统的普及应用也有极大的帮助。
第二章系统原理介绍
2.1系统原理
图2.1系统结构框图
图像采集系统的基本框图如图2.1所示。
FPGA发出TTL控制信号,经LVDS/TTL转换发给相机。
相机接收到外部触发信号后数据通过CameraLink接口输出,DS90CR288解码数字相机输出信号,输出24位数字图像信号、行场信号、像素时钟;
数据由FPGA读入,缓存在SRAM中,两片SRAM采用乒乓操作方式传送到数字采集卡。
在FPGA中实现高速图像处理,根据图像处理的结果可以由FPGA完成所需的控制。
图像采集卡通过PCI接口和计算机相连接,通过计算机可以配置图像采集卡和相机,计算机也可以从采集卡中获得图像处理数据,完成数字图像的采集与处理功能。
2.2FPGA简介
FPGA作为系统的核心器件,外围器件的电路和功能已经得到尽可能的简化,许多外围的功能器件的接口都不需要单独的接口芯片来完成,均由FPGA来实现。
整个系统中仅仅需要FPGA以及视频采集输出芯片,整体上看提高了电路的稳定性,而且其先进的开发工具使整个系统的设计调试周期大大缩短。
因此FPGA内部逻辑设计就成为图像采集与显示系统设计的核心和关键。
现场可编程逻辑门阵列(FPGA)和高性能数字信号处理器(DSP)是高速信号处理领域两大关键器件。
在现代数字通信系统中,FPGA的应用相当广泛,FPGA不但能大大缩减电路的体积,提高电路的稳定性,而且先进的开发工具使整个系统的设计调试周期大大缩短。
本系统采用ALTERA公司推出的CYCLONE系列芯片EPIC3T144是一款性价比很高的FPGA芯片。
2.3数字相机
数码相机(又名:
数字式相机英文全称:
DigitalCamera 简称DC),是一种利用电子传感器把光学影像转换成电子数据的照相机。
它是一种真正意义上的非胶片新型相机。
数字相机与普通模拟相机在胶卷上靠溴化银的化学变化来记录图像的原理所不同,数字相机的传感器是一种光感应式的电荷耦合(CCD)或互补金属氧化物半导体(CMOS)。
对于数字相机来说,视频信号在到达输出设备时与离开相机时几乎一样。
相对于模拟相机来说,数字相机可以提供更高的分辨率,更快的帧速,更小的噪声和更多的功能,当然这些是有代价的:
数字相机通常比模拟相机要贵很多。
数字相机包括更多复杂的设置,哪怕是对于只需要基本功能的视频体系。
在很多种情况下,数字相机要受到电缆长度的限制。
所以要通过图像采集卡再连接到电脑上。
以CCD图像传感器作为光电转换器件的相机,称为CCD相机,以CMOS图像传感器作为光电转换器件的相机,称为CMOS相机。
鉴于多方面考虑,本系统使用CCD图像传感器。
CCD图像传感器可直接将光学信号转换为数字电信号,实现图像的获取、存储、传输、处理和复现。
CCD图像传感器的显著特点:
1.体积小,重量轻;
2.功耗小,工作电压低,抗冲击与震动,性能稳定,寿命长;
3.灵敏度高,噪声低,动态范围大;
4.响应速度快,有自扫描功能,图像畸变小,无残像;
5.应用超大规模集成电路工艺技术生产,像素集成度高,尺寸精确,商品化生产成本低。
因此,许多采用光学方法测量外径的仪器,把CCD器件作为光电接收器。
CCD从功能上可分为线阵CCD和面阵CCD两大类。
线阵CCD通常将CCD内部电极分成数组,每组称为一相,并施加同样的时钟脉冲。
所需相数由CCD芯片内部结构决定,结构相异的CCD可满足不同场合的使用要求。
线阵CCD有单沟道和双沟道之分,其光敏区是MOS电容或光敏二极管结构,生产工艺相对较简单。
它由光敏区阵列与移位寄存器扫描电路组成,特点是处理信息速度快,外围电路简单,易实现实时控制,但获取信息量小,不能处理复杂的图像。
面阵CCD的结构要复杂得多,它由很多光敏区排列成一个方阵,并以一定的形式连接成一个器件,获取信息量大,能处理复杂的图像。
本系统采用的是CameraLink接口工业数字相机STC-CL202A/CLC202A,以下为此相机的主要参数:
顺序扫描相机
10bit Camera Link输出(mini接口);
实现业界最小尺寸;
高分辨率(UXGA);
可选扫描模式(全扫描,部分扫描);
可选各种触发模式(脉冲宽,边缘预置)。
特性:
RS-232外部控制各种功能设置;
Bayer方式图像数据输出;
百万像素CL202系列可达15fps。
电源:
输入电压:
12VDC+/-10%
消耗:
小于1.8W的
环境条件:
性能温度:
0℃〜+40℃,相对湿度:
0至85%(无凝结)
工作温度:
-5℃〜50℃,相对湿度:
存储温度:
-30℃〜60℃,相对湿度:
0至85%(无凝结)
2.4CameraLink介绍
CameraLink是一种基于视频应用发展而来的通信接口,是在ChannelLink技术基础上发展出来的.过去,在科学和工业视频市场缺少一种标准的通信方式,相机制造商和图像采集卡制造商使用不同的连接器发展各自的产品,这使得线缆很难整合生产,也给用户带来了很多麻烦.同时,随着数据传输速率和复杂性的不断提高,原有的通信方式已无法满足需求,对一种通用的传输标准的需求就变得非常重要了.因此,NI(NationalInstruments)、摄像头供应商和其他图像采集公司在2000年10月联合推出了CameraLink协议,旨在简化摄像头和采集卡之间的连接.CameraLink可为高速、高精度的数字摄像头提供简单、灵活的连接.CameraLink协议是各公司间达成的一种协议,它不是一种行业标准【1】.
图2.2Cameralink接口电路
CameraLink的信号包括视频、相机控制、串行通信三个部分。
视频部分是CameraLink的核心,主要包括5对差分信号,即X0-~X0+、X1-~X1+、X2-~X2+、X3-~X3+、Xclk-~Xclk+;
串行通信部分包括2对差分信号,即SerTC-~SerTC+和SerTFG-~SerTFG+。
FVAL帧有效时为高电平或1。
在行扫描相机中接高电平或留作它用。
LVAL行有效时为高电平或1。
DVAL当相机数据率低时使用,数据率高时直接接高电平。
SP无定义。
SerTFG从相机串行输出端至采集卡串行输入端的差分线对。
SerTC从采集卡串行输出端至相机串行输入端的差分线对【13】。
CameraLink接口的优点:
传输速率高、带宽高、结构简单易于实现不需要复杂的通信协议【2】。
由于CameraLink是基于ChannelLink技术发展而来的,所以Cameralink包含了channellink的所有优点【3】。
ChannelLink技术有很多优点。
它是建立在现有的,容易理解和学习的技术(例如TTL和LVDS)之上的一种数据传输技术,所以很容易学习和应用。
ChannelLink芯片不但价格便宜而且易于使用。
同时,既然它使用低摆幅差分电流模式驱动,那么ChannelLink就降低了电磁干扰。
ChannelLink技术的主要优势在于它的数据线多路技术,这种技术使线缆使用量大大缩减。
如果使用传统的RS-644技术高速传输28位数据,那么在传输线缆上就需要56只终端电阻;
而使用ChalmelLink技术只需要11只终端电阻(4对数据线,1对时钟线和至少一个地线),所以不但线缆外形较小而且降低了屏蔽要求,这也意味着可以在线缆上使用较小的连接器。
基于CameraLink的图像采集卡主要有两种方式来实现:
一种是基于DSP方式,另一种是基于FPGA方式。
两种方式各有优缺点,本系统采用基于FPGA的方式,因为FPGA具有更强的灵活性,能够实现组合逻辑和时序逻辑功能。
采用FPGA设计人员可以将更多的精力放在系统设计上,而主要的功能可以通过VHDL语言较为轻松地实现。
2.5视频转换芯片
本系统所应用的转换芯片,有DS90CR288,DS90LV047,DS90LV048.这三个芯片在整个系统设计中起着很重要的作用。
本系统使用DS90CR288作为CameraLink协议的解码芯片。
具体使用中,在板级布线时,尤其应注意差分走线等长、平行、结成对偶等原则,这样会使信号的高频特性达到最好。
DS90CR288来接收数据,将数据恢复成并行TTL信号,同时分离出8位图像数据和3个控制信号。
芯片DS90LV047和DS90LV048将信号CC1,SerTC和SerTFG做电平转换,实现相机的外部触发控制和串口通信[8]。
第三章硬件设计
3.1硬件设计方案
图3.1图像采集与处理系统的硬件结构
图像采集处理系统的硬件结构如图3.1所示。
FPGA作为系统的核心器件,完成对图像传感器、VGA显示器、SDRAM存储器等的控制,并完成NiosII软件的嵌入,完成图像的处理分析。
●图像采集模块主要完成对目标图像的采集,采用CCD数字图像传感器可以将目标图像转换成数字图像信号输出。
●图像存储电路用作对采集图像的帧缓存、中间数据的存储和图像处理程序的存储。
●图像显示电路通过视频图像D/A转换器完成图像数据从数字到模拟的转换,再通过VGA接口输出到显示器。
●串行配置器件EPCS用于保存FPGA的配置数据,在FPGA系统每次上电初始化时,从串行配置器件快速重新装载。
●JTAG接口是FPGA调试程序下载的专用接口。
●电源模块产生系统需要的+5V、+3.3V、+2.5V、+1.2V电压。
此系统的目标定位值输出给电机控制模块,控制薄膜打眼机运转。
图3.2Cameralink与DS90CR288连接图
CameraLink总线标准规定,使用的连接器是26个引脚的MDR26,连接线使用的型号是14X26-SZLB-XXX-0LC。
CameraLink总线接收器选用NationalSemiconduc-tor公司的CameraLink总线接收器芯片DS90LV048。
该芯片输入时钟范围为20~85MHz,3.3V电源电压。
DS90LV048芯片将相机输出的5对差分信号(X0+,X0-)、(X1+,X1-)、(X2+,X2-)、(X3+,X3-)、(Xclk+,Xclk-),转换为24位图像数据(DATA0~DATA23)、FVAL信号、LVAL信号、DVAL信号、Spare信号,以及相机图像数据输出时钟信号(CLKOUT信号)。
这些信号输入到FPGA中,在SDRAM中进行数据缓存。
在FPGA中可以设计图像处理算法对图像进行实时处理。
为了对相机进行外部触发方式控制以及向相机发送命令,用四通道CMOS信号转换为LVDS差分信号的芯片DS90LV047作为图像采集卡,向相机发送外同步触发信号和转换命令。
为了接收相机向图像处理系统发送的应答字符串,选用DS90LV048芯片作为图像处理系统接收器。
DS90LV048芯片是四通道LVDS差分信号转换为CMOS信号的驱动器。
VGA显示接口是视频图形阵列(vidcoGraphicsArray)接口的简称。
原来是微机系统使用的显示接口,因为使用广泛,现在绝大部分的显示设备都带有VGA显示接口。
因此,对于图像处理系统来说,采用VGA显示输出接口具有结构简单,性能可靠,兼容性强,时序容易由微处理器实现的特点。
VGA显示接口总共有巧根线,分为三组:
一是RGB三色模拟信号输入线,输入信号为0~0.7V;
二是RGB三色地线,接地处理;
三是时序信号线,分别是行同步信号线(Horizonssynchronizing,Hs),场同步信号线(vertiealsynchronizing,vs),这两条线控制了VGA的显示时序。
对于普通的VGA显示器,其引出线共含5个信号:
R、G、B、HS、VS【13】。
3.2FPGA芯片选择
AlteraCyclone系列FPGA是Altera公司2003年9月份推出的,基于1.5V,0.13μm工艺,Cyclone是一个性价比14图2一l电路结构帷图很高的FPGA系列。
其中EPIC3T144是Cyclone系列中的一员,共有2910逻辑单元,59904RAMbits,I+PLLs,最多有104个用户I/O,可以说这款FPGA的资源非常丰富,足够满足大型设计的需要。
本设计选用Altera公司的Cyclone系列芯片,芯片型号为EPlC3T144C8,因为该芯片是Altera公司推出的低价格、高容量的FPGA,其以较低的价格、优良的特性及丰富的片上资源在实际应用中被广泛的采用,这些都是其他同类产品无法相比的。
EPlC3T144C8芯片采用1.5V内核电压,O.33μmSRAM工艺,与其他同类产品相比具有以下特点:
(1)逻辑资源丰富,逻辑单元(LE)数量为2910个。
(2)有104个可用I/O引脚,I/O输出可以根据需要调整驱动能力,并具有压摆率控制、三态缓冲、总线保持等功能:
整个器件的I/OY引脚分为四个区,每个区可以独立采用不同的输入电压,并可提供不同电压等级的I/O输出。
(3)多电压接口,支持LVTTL,LVCMOS,LVDS等I/O标准。
(4)灵活的时钟管理,片内配有一个锁相环(PLL)电路,可以提供输入时钟的1~32倍频或分频、156~417ps相移和可变占空比的时钟输出,输出时钟的特性可直接在开发软件QuartosII里设定。
经锁相环输出的时钟信号既可以作为内部的全局时钟,也可以输出到片外供其它电路使用。
(5)内有SignalTap嵌入式逻辑分析器,极大地方便了设计者对芯片内部逻辑进行检查,而不需要将内部信号输出到I/O管脚上。
3.3存储器选择
随着数据处理技术的进一步发展,对于存储器的容量和性能提出了越来越多的要求。
同步动态随机存储器SDRAM(SynchronoDynamicRandomAccessMemory)因其容量大、读写速度快、支持突发模式读写以及相对于SRAM低廉的价格等一系列优势而得到了广泛的应用。
SDRAM的控制比较复杂,其接口电路设计是关键。
在本电路中SDRAM是作为图像数据缓存的,需要其存储量大的特点来解决图像处理过程对存储空间的需求问题。
SDRAM(SynchronoDynamicRandomAccessMemory)是高速CMOS同步动态随机存储器。
同步是指时钟频率与CPU前端总线的系统时钟频率相同,并且内部的命令的发送与数据的传输都以它为基准;
动态是指存储阵列需要不断的刷新来保存数据不丢失;
随机是指数据不是按线性依次存储,而是自由指定地址进行数据的读写。
SDRAM的内部结构,主要概念是逻辑Bank,简单说,SDRAM的内部是一个存储阵列,因为如果是管道式存储(就如排队买票),很难做到随机访问,阵列如同表格,将数据“填”进去,你可以把它想象成一张表格,同表格检索原理一样,先指定一个行(Row),再指定一个列(Column),就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。
对于内存,这个单元格可称为存储单元,这个表格(存储阵列)就是逻辑Bank(LogicalBank,简称L-Bank)由于技术、成本原因,不可能只做一个全容量的L-Bank,而且最重要的是,由于SDRAM的工作原理限制,单一的L-Bank将会造成非常严重的寻址冲突,大幅降低内存效率,所以人们在SDRAM内部分割成多个L-Bank,较早以前是两个,目前基本都是四个,这也是SDRAM规范中的最高L-Bank数量。
这样,在寻址时要先确定是哪个L-Bank,然后再在这个选定的L-Bank中选择相应的行与列进行寻址。
这样对内存的访问,一次只能是一个L-Bank工作,而每次与北桥交换的数据就是L-Bank存储阵列中的一个“存储单元”的容量。
SDRAM内存芯片一次传输率的数据量就是芯片位宽,存储单元的容量就是芯片的位宽(也是L-Bank的位宽)。
图3.4SDRAM的存储原理示意图
图3.4为SDRAM的存储原理示意图:
行选与列选信号将存储电容与外界间的传输电路导通,从而可进行放电(读取)与充电(写入)。
另外,途中刷新放大器的设计并不固定目前这一功能被并入独处放大器(SenceAmPlifier,简称S-AMP)。
乒乓操作是一种用于数据流控制的处理技巧。
典型的乒乓操作方法如图3.5所示。
数据缓模块可以为任何存储模块。
乒乓操作的最大特点是,通过输入数据选择单元和输出数据选择单元按节拍、相互配合的切换,将经过处理的数据流没有时间停顿的输出。
把乒乓操作模块当做一个整体,站在这个模块的两端看数据,流入数据流和输出数据流都是连续不断的,这样非常适合