哈尔滨理工大学硕士学位论文基于DSP和FPGA的条码识别系统的实现姓名:于勇申请学位级别:硕士专业:@指导教师:武俊峰201103
哈尔滨耻T人学T学预Ij掌化论文基于DSP和FPGA的条码识别系统的实现摘要目前,条码图像识别技术越来越多的应用于信息领域。通过识别条码图像可以迅速的得到商品的相关信息。为了满足条码图像谚{别实时性的要求,本文设计实现了DSP和FPGA相结合的条码识别系统。系统实现了条码图像采集,条码图像处理,条码图像传输和条码图像显示功能。首先采集条码图像然后进行图像识别,最终通过1394接口把识别结果传于PC机进行显示。本文的主要内容如下:1.系统的硬件设计。绘制硬件原理图和PCB,硬件电路板的调试。2.系统的软件设计。设计实现了DSP的各个外设的驱动程序;FPGA图像采集程序;DSP和FPGA的接口程序;PC机的图像显示程序。3.1394通讯的实现。通过查阅1394技术文档,实现了硬件平台与PC机之间的条码图像传输功能。4.条码识别算法的实现。实现了条码识别算法中的各个子算法及整个条码识别的算法,并对代码进行了优化进而移植到DSP中。关键词DSP;FPG後;1394;条码识别
哈尔滨胖T人学T学顶l:学f讧论文RealizationofBarCodeIdentificationSystemBasedonDSPandFPGAAbstractAtpresent,thebarcodeimagerecognitiontechnologyisincreasinglyusedinthefieldofinformation.Theinformationofproductscanbequicklyprovidedbyidentifyingbarcodeimages.Inordertomeettherequirementofreal-time,thepaperfinishesabarcodeidentificationsysteminDSPandFPGA.Thesystemisusedtocapturebarcodeimage,processbarcodeimage,transportbarcodeimageanddisplaybarcodeimage.Firstlycollectbarcodeimage,secondlyprocessbarcodeimage,andfinallytransferidentificationresultstothePCbytheFireWireinterface.Themaincontentsareasfollows:1.Systemhardwaredesign.Finishhardwareschematics,PCBandcircuitboardhardwaredebugging.2.Systemsoftwaredesign.DesignthevariousperipheralsdriverofDSP,FPGAimageacquisitionprogram,theinterfaceprogrambetweenDSPandFPGA,theimagedisplayprogramofPC.3.1394communicationrealization.Byreadingtechnicaldocumentationof1394,weachievebarcodeimagetransmissionbetweenthehardwareplatformandPC.4.Barcodeidentificationalgorithm.Barcodeidentificationalgorithmisfinishedineachsub—algorithmprincipleanddetailsofthebarcoderecognitionprocess,andcodeisoptimizedandtransplantedtoDSEKeywordsDSP,FPGA,1394,barcodeidentification-lI-
哈尔滨胖-12.人学T学颂l:学化论文第1章绪论1.1课题研究的背景本课题是一项应用基础研究课题,属于工程应用范畴,需要嵌入式硬件平台来用于工业视觉条码识别方面。1.2国内外研究现状随着国际经济的快速发展,信息开发和信息服务产业也得到了快速的发展。条码技术作为自动识别技术之一在近几十年间取得了稳定的发展。带条码的产品到处可以看到,其中包括商店,物流中心、书店、超市等。在这些地方条码识别技术应用非常广泛。目前,当今世界正把条码技术的发展重点转向生产自动化、交通运输现代化、金融贸易国际化、票证数据数字化、安全防盗防伪保密化等方面。随着条码技术的发展,推动了条码自动识别技术装备的发展。如今在世界各国从事条码自动识别行业越来越多,技术也越来越先进…。目前,国外把条码识别技术应用在手机等视频设备ml。在超市,通过手机来扫描商品条码可以迅速得到商品的信息;在需要检票的地方,人只需要把扫描好的条码信息通过蓝牙发给门禁系统即可实现检票功能。这些条码识别技术都需要通过图像识别来实现,包括一维条码识别15刁l和二维条码识别【8d¨。国内把条码识别技术用在嵌入式平台中并不多见。1.3课题研究目的及意义在工业视觉领域里,最关键的就是视频处理技术,因为满足实时处理的性能是工业领域的基本要求。实时视频视觉处理对系统级的性能提出了极高的要求,因为实时视频处理要求快速地完成大量的运算,所以必须选择合理的视频处理方式。目前视觉处理领域基本上存在以下几种方式:1.单纯的运用PC机来处理,由于PC机的大量工作花费在操作系统的调度方面,所以实时性不高只能用来仿真;2.用可编程逻辑器件女HFPGA,只用FPGA来实现视频处理算法,虽然可以达到并行性,但开发难度较大;3.运用ASIC(专用数字图像处理芯片),由于这种芯片应用范围比较局限,而且价格也比较贵;4.采用DSP,由于DSP是采用C语言开发,所以设计比较简便、灵活,但由于是串行执行,所以效率没有FPGA
哈尔滨胖T人学T学顾lj学化沦文快,这样的话很难够满足实时性较高的数字视频处理;5.基于DSP与FPGA两者相结合的方式,可以充分发挥各自的优势,缩短丌发时间,提高系统效率。本文中采用的就是第五种方式来实现图像的采集和处理。在视频处理技术中,除了视频数据的采集和处理还涉及视频的传输,由于视频数据都比较大,而且工业视觉对速度要求高,本系统采用IEEE1394实现图像处理板与PC机问的通讯,实现图像数据的传输。FireWirc一开始是由Apple公司提出的,是实时数据传输的一种高速接口。1995年,FireWire被IEEE认可为IEEE1394—1995规范,后来规范经过改进变为了1394a。2001年,1394规范又更新推出了1394b,其带宽、传输速度、距离和成本效率等都有大幅度提高【12l。本文采用1394a,其特点【21如下:1.高速数据传输:包括100Mb/s、200M/s、400M/s的传输速度。2.无主从数据传输。3.一插上就能用。4.在系统不需要断电的情况下可以进行添加和删除设备。5.点与点之间的距离最多4.5m。6.支持等时传输方式和异步传输方式。7.采用树形或菊花链拓扑结构,总线上最多可以连接63台设备,IEEEl394的应用范围并不适合广域网。8.采用公平仲裁的形式:较高优先级的等时数据传输,异步传输也可以对总线进行公平访问。9.可电源提供。IEEE1394是一种高速的串行总线,成本比较低,可以花费很少的费用来实现数据传输的功能。开发1394是在两种环境下进行的,一种是底板环境,另外一种是线缆环境。本文是在线缆环境下开发的,它采用两对低电压差分信号线来进行数据的传输。IEEE1394协议中包括三种,其中包括事务层,链路层和物理层。事务层支持异步传输等服务,链路层服务于事务层来实现校验和分析所要传输的数据。物理层直接服务于链路层,它把链路层的逻辑信号转换为1394线缆总线上传输的电信号,还有仲裁以便使得同一时刻发送数据的只有一个节点。1394的协议包括设备端和PC端,它的一个主要特点就是可以脱机工作来实现节点到节点的传输。往往实际工作中需要有主机PC机的存在,所以IEEEl394还有一种专门针对Pc机开发的协议叫做OHCI(习q:放式主机控制接口.2.
哈尔滨耻T人学T学硕lj学ft论义协议’)。目fj订计算机所采用的都是这种协议,它是需要一个1394PCI主机卡,并且通过OHCI协议来实现PC机与设备卡之间的1394串行通信。PC机和设备端各表示一个节点。所渭节点就是可以用来寻址的实体,它具备自己的节点空间,在这个节点空间中包括自己的配置ROM空问和控制状态寄存器空间,可以单独的进行设置以及初始化。还有一个定义就是模块,它可以包括多个节点,而且往往一个节点又可以包括多个元件。节点,模块与元件之问的关系如下图1—1所示。一霜蘸溺趟麓缓翊’l系统总线一。一L一一一———_。‘。。——。。L‘—。‘‘。。。。。。。。——’——一。1。。。。。。。。。。。‘。J。。1。1L‘。。。‘。L-L。1_dk_-L-。__-‘Jd___q一图1-1模块、节点与兀件的相互关系Fig.1—1Correlationsofmodule,nodeandcomponent元件是具体到节点内部的某项功能,元件内部的寄存器地址是可以映射到节点内部的地址空间的,可以被专门的I/O驱动程序访问;节点属于模块的实体,它具有唯一得CSR和相戍的地址空间,节点还可以实现单独复位的功能;模块是连接到总线上的实实在在的物理设备,这个设备中可能存在不同的单独的节点。IEEEl394的应用很广泛,而且优越性很强,很多产品都采用了1394接口作为它们的标准接口,如数字摄录像机、DV、硬盘、DVD和CD等都采用IEEEl394它们的接口,PC机上现在也广泛的采用IEEEl394接口来接常用的视频设备。Microsoft在DDK当中也提供了通用性比较强的驱动程序只要稍加改动即可为自己所用。IEEE1394是一项与平台无关的技术,既可以用于设备端,也可以用于PC机。正是由于这种与跨平台特点,它在面市以来,得到了许多产商的支持。这都推动IEEE1394技术的快速发展。这个系统最终采用DSP+FPGA+1394来实现最后的硬件系统,这样可以实现视频的实时采集处理显示以便来实现条码识别。1.4本文的主要内容本文作者通过阅读大量文献和手册,设计了一个以DSP+FPGA的视频处理.1.卜凰斛
喻尔滨理1_人学T学顺lj学位论文平台。像这种平台有用于车牌识别【13A41,可知条码识别可行性也可以,彳H是图像传感器采用的是模拟相机和图像解码芯片SAA7113A结合的方式,模拟十H机成本较高,所以本文采用数字相机。图像传输方式可以采用USBI闻,但是由于1394相对于USB来说比较稳定,所以本文采用火线1394。在Ij{『人对1394丌发及应用116,17j的基础上,本文实现了1394通讯,并自己开发1394驱动实现系统平台与PC之间的视频传输,并在这个视频处理平台上实现了条码识别的算法。本文的主要内容如下:1.主要介绍课题的研究背景,条码技术的背景,课题研究的目的及意义并对采用该视频处理平台的原因进行了分析。2.系统的硬件设计,对整个系统的硬件功能进行了阐述,并详细给出了该系统的各部分硬件的特点和实现原理。3.系统的软件设计,详细分析系统各个模块的驱动及软件实现流程,并分析了实现原理。4.条码识别算法的实现,给出了条码识别算法中的各个子算法的原理及整个条码识别的详细流程和代码优化的方法。_4.
喻尔滨理T人学T学硕l‘学位论文第2章系统的硬件设计2.1系统整体硬件框架该系统硬件平台主要有三个模块组成:图像采集模块,图像处理模块,图像显示模块。本系统主处理器是DSP,选用Tl公司的最新推出的TMS320C6713b,主要负责条码识别算法的实现;协处理器是FPGA,选用ALTERA公司的EPIC6Q240C8主要负责图像采集传感器OV7720的驱动和图像的缓冲处理;条码识别结果将通过1394传输到PC机,1394协议芯片选用TSB43AA82A,主要负责1394协议的解析,最终实现1394通讯。系统框架如图2—1所示。sD队Ⅵ!irlasJ!i倒图2.1系统框架图Fig.2—1Systemframework系统的工作流程如下:1.打开PC机软件,硬件系统上电2.DSP初始化各个外设包括OV7720,SDRAM,FLASH,TSB43AA82A3.FPGA的程序自举4.1394强制根节点总线复位,采集图像命令5.摄像头数据采集开启(FPGAIO,上位机控制)6.FPGA把图像数据分配到F.SDRAM缓存7.DSP根据FPGA提供的信息读取F.SDRAM内数据到D.SDRAM8.DSP读取D.SDRAM进行条码识别,并把图像和识别结果经过1394传到]lIlll『『l{11llIIJI-]]l一√一接枞、一一螂u|耋姒一一艇●滑8一一一Ⅱ一船一