基于ARM_DSP的工业视觉检测系统设计_第1页
基于ARM_DSP的工业视觉检测系统设计_第2页
基于ARM_DSP的工业视觉检测系统设计_第3页
基于ARM_DSP的工业视觉检测系统设计_第4页
基于ARM_DSP的工业视觉检测系统设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于ARM/DSP的工业视觉检测系统设计47基于ARM/DSP的工业视觉检测系统设计张旺灵󰀁吴家麒󰀁袁政鹏󰀁陈金波(上海大学机械电子工程,上海200072)*DesignofIndustryVisionInspectionSystemBasedonARM/DSP󰀁󰀁摘󰀁要:针对实时工业视觉检测的要求,介绍了一个以ARM+DSP为核心的实时工业视觉检测系统。介绍了该嵌入式系统的系统组成、硬件结构和软件构成,对实现ARM和DSP通信的HPI接口进行了描述,并给出了接口连接图。从实验所获得的结果来看,该系

2、统检测速度快、精确度高、体积小,可用于多种实时视觉检测场合。关键词:视觉检测󰀁󰀁ARM󰀁󰀁DSP󰀁󰀁HPI接口Abstract:Amiingattherequestofreal󰀁tmieandpreciseindustryvisioninspection,thispaperintro󰀁ducesareal󰀁tmieindustryvisioninspectionsystembasedonARM+DSPembededsystem󰀂Theh

3、ardwarear󰀁chitectureandthesoftwareconfigurationofthisembededsystemareintroducedinthispaper,theHPIinter󰀁facecommunicatingARMtoDSPisalsodescribed󰀂Theinterface󰀂shardwareconnectionchartalsobeprovid󰀁ed󰀂Theresultofexpermientshowsthattheembededindustryvisioni

4、nspectionsystemintroducedinthepaperhasthecharacteristicsofhighspeed,highprecisionandsmallcubage,andcanbeusedinmultiplereal󰀁tmievisioninspectioncases󰀂Keywords:visioninspection󰀁󰀁ARM󰀁󰀁DSP󰀁󰀁HPIinterface0󰀁引󰀁言工业视觉检测是利用计算机视觉原理,

5、综合图像处理、模式识别和人工智能等技术,对物体的运动、形状、姿态进行分析以及对物体相关尺寸等物理参数进行准确的非接触在线检测的过程。以前,通用的视觉检测系统都是用PC机或工控机加图像采集卡的模式,在工业生产中发挥了巨大的作用。但是这样的系统构成体积较大,而它们具备的多种功能也未必能用到。因此,在检测速度、安装条件、成本控制等有特殊要求的场合,需要寻找新的技术来实现视觉检测。DSP技术与视觉检测技术的结合,使视觉检测技术又有了新的进步。用DSP进行图像的处理,不仅可以加快检测速度和精度,而且使在线检测更容易实现。数字信号处理器(DSP)对各种数字信号或数据处理的能力十分强大。基于ARM核的32位

6、RISC微控󰀁1制器在监视控制、人机接口方面的功能非常完善,因此许多嵌入式实时应用系统都采用MCU+DSP的结构组合来充分发挥两种处理器的优势,从每个处理器中获得最大益处,以获得更高性能。在工业视觉检测方面采用ARM+DSP构架,可以兼备两者的长处。以ARM+DSP为核心的嵌入式系统具有很强的控制接口能力和高速数字处理能力,用来代替以PC机或工控机加图像采集卡为核心的实时视觉检测系统,不仅可以达到对图像的实时高速处理,而且可对整个处理过程进行实时调控、管理,并可实现与其他各种设备的连接及上网功能。1󰀁系统的基本框架本系统以DSP和ARM为核心,把ARM作为主处理

7、器,负责任务管理、数据的输入输出、对外部设备的控制和通信,并运行嵌入式操作系统;而DSP作为从处理器,仅仅负责快速的数据运算处理。ARM作为主机*教育部高等学校重点学科建设项目、上海市重点学科建设项目资助(项目编号:Y0102和BB67)。作者简介:张旺灵󰀁硕士生。研究方向为基于DSP的数字图像处理。吴家麒󰀁教授。研究方向为计算机图形学。48通过DSP的HPI接口与DSP进行数据传递。针对图像检测高速实时性的要求,本系统采用了基于ARM920T内核的三星S3C2410ARM芯片,DSP采用TI公司最新推出的一款针对多媒体处理领域应用2的芯片TMS320DM642

8、。S3C2410是一款比较通用的ARM9芯片,它采用五级流水线和哈佛结构。基于PCB制作的可靠性及信号完整性的考虑,系统硬件构架由ARM板和DSP板两部分组成。由于此系列DSP在实时图像处理方面的能力强,但是在内部调度、接口控制等方面的功能一般,为了更好地发挥DSP芯片的处理能力,本系统中DSP只负责进行图像的编解码及图像处理,对外的接口如USB接口、总线接口、以太网口等都通过ARM来扩展,在DSP板上只保留视频流的输入输出(视频处理)接口、音频接口、调试接口及HPI接口。ARM板作为主处理器,扩展了多个接口,可以实现多种功能。在ARM上可以运行各种实时操作系统,通过操作系统实现上网、视频播放

9、、串行交互等功能;与DSP的交互也可以在操作系统下实现,ARM通过DSP的HPI接口对其进行控制。系统组成见图1。2󰀁系统的硬件结构ARM板通过其总线扩展接口与DSP板HPI接口连接,实现整个硬件系统的构架,ARM和DSP之间的数据交互都通过HPI接口实现。作为独立的子板,ARM板和DSP板都有各自独立的电源模块和时钟模块,自带有SDRAM用于存储系统运行时的代码和所需处理的数据。ARM板还带有FLASH及SMC卡和SD机电一体化󰀁Mechatronics󰀁2007年第2期卡接口,可用于多种形式的数据存储。图1󰀁基于ARM/DSP

10、的工业视觉检测系统框架图从DSP角度看,ARM相当于它的外围控制功能处理器,外围电路辅助DSP核心算法进行工作;而从ARM角度看,DSP相当于它的协处理器,主要用于复杂的图像处理算法等。2󰀂1󰀁DSP板硬件结构DSP板作为视频图像处理模块,其主要功能是获取视频图像、实现视频解码、视频图像处理、视频编码、输出DSP处理后的图像,另外还可实现音频的输入输出。DSP板主要由DSP芯片、视频编解码芯片、音频芯片以及2块32位128Mbit的SDRAM组成。视频编解码芯片对视频图像进行编解码,音频芯片对语音进行编解码,SDRAM用于存储视频处理算法程序和其他数据。DSP板

11、硬件电路原理见图2。󰀁󰀁本系统设计中,DSP芯片可处理两路视频,因此DSP板上留有2个视频输入接口(接口0,1)和1个视频输出接口(接口2)。其中,视频口0和1用于视频采4集,视频口2用于视频的输出。我们可以用两个CCD摄像头来获取不同的视频图像,视频图像分别经解码芯片解码后从接口进入DSP,DSP选择并控制输图2󰀁DSP板硬件原理图出其中1个CCD中的视频图像,即实现视频图像的切换播放。视频输入支持的视频标准信号有PAL,NTSC和SECAM制式。视频口2用来驱动视频编码器,视频信号经过编码芯片输出。视频输出信号支持RGB、高清晰度视频、PAL

12、/NTSC复合视频和S端子视频信号。I,用基于ARM/DSP的工业视觉检测系统设计49于实现不同的输入输出。音频信号经由音频芯片进行A/D和D/A变换,信号通过McASP传给DSP进行处理,再由McASP传回。DSP通过IC总线对音频编解码芯片编程,控制采样速率、音频源、音量等参数。音频的输入输出可支持多种音频格式。DSP芯片在片外扩展了2块共32MBytes的SDRAM,位于EMIF的CE0地址空间,用于存放程序和数据。此外,DSP板上还设置1个JTAG接口,用于连接仿真器和对DSP图像处理功能的在线调试。DSP的调试独立进行,不受ARM的控制。2󰀂2󰀁ARM

13、板硬件结构ARM板作为实时控制及传输模块,是建立在操作系统上的一个人机交互界面和外围控制器。它本身不参与图像识别和处理相关的算法实现,只是配合DSP将图像处理的结果显示出来,以及完成人机交互,并在恰当的时机触发外部控制器实现一定的对外控制功能。它可以通过网络、USB等接口将重要数据传输出去。除此之外,ARM板上还有1个JTAG口用于程序调试。ARM板上可以安装各种实时操作系统,操作系统可以下载到SD卡、SMC卡或Flash中。ARM板采用S3C2410芯片作为嵌入式处理器,使用了1块16位16Mbyte的flash、2块16位32Mbyte的SDRAM,还有其他如网络芯片、音频芯片和串口芯片等

14、。为满足系统的高性能、可控性等要求,我们采用CPLD来实现对系统外设的控制和连接。CPLD可实现系统编程技术(insystemprogram),能方便调试,提高设计的效率(见图3)。这样设计的DSP+ARM硬件系统构成结构灵活,适合于模块化设计,从而能够实现高效率的算法和实时控制;其次,有较强的通用性,配上不同的处理软件可适用于不同的视觉检测场合;另外,ARM板和DSP板的开发过程可以并行地独立进行,系统容易维护和扩展。32图3󰀁ARM板硬件原理图3󰀁系统的软件结构本视觉检测系统的软件涉及DSP图像处理和ARM实时控制及传输两个主要的模块。DSP图像处理过程的软

15、件设计主要实现对获得的视频图像进行实时处理并输出;ARM部分软件设计在嵌入式操作系统上完成,启动DSP系统,用中断方式获取DSP上的图像数据进行存储、输出、远程传递等过程。在整个系统启动之前,要把嵌入式操作系统下载到ARM板的NORFlash或NANDFlash中,然后上电复位启动实时操作系统。当ARM板上电启动,操作系统自行运行,嵌入式操作系统的构架与PC下的操作系统的构架相似。DSP上电复位后,通过建立在操作系统上的应用程序对DSP板进行配置,实现DSP的初始化,这样整个系统就完成了初始化。系统初始化以后,在操作系统下把图像处理代码通过HPI口下载到DSP的SDRAM中,连接好CCD和LC

16、D,即可把CCD获得的实时图像经DSP处理后在LCD上输出。ARM可通过中断方式经HPI接口获得未经处理或已处理过的图像,ARM获得的图像可在操作系统下保存并显示。通过应用程序下载到DSP板中的代码,在DSP关闭后,程序自动消失,下次启动时必须再次下载代码。4P50󰀁󰀁当DSP上电或复位,并把启动程序和处理代码下载到DSP板中后,DSP可实现独立的软件流程。DSP图像处理的程序主要包括对图像解码芯片的设置与启动、中断的响应、采集图像的搬移以及处理等。为了程机电一体化󰀁Mechatronics󰀁2007年第2期序实现方便,本系统软件

17、主框架用C实现。具体的算法实现中,对于一些关键代码,用嵌入式汇编来实现,并作相应的软件优化,以提高程序运行效率。图5显示了DSP图像处理的程序流程。图5󰀁DSP图像处理程序流程图󰀁󰀁DSP完成上电启动或复位,DSP程序通过ARM板来加载,完成系统的初始化以及各个参数的设置,即系统自举,随后开始等待外部中断。程序开始时一直等待,直到INT4的到来。一旦接收到INT4中断信号,中断服务程序首先需要对解码芯片作些设置,规定采集的一些参数(这主要通过IC总线对寄存器写入参数实现),然后启动采集。采集到的图像先放在FIFO中,FIFO半满时,接收到来自IN

18、T6的中断信号,通知DSP去FIFO读取图像数据,DSP通过EDMA把图像数据搬运到指定的SDRAM地址;当一帧图像数据采集完毕后,会接收到INT5中断信号,到指定的SDRAM地址读取图像数据并对图像进行处理,同时可将该图像传送到ARM板中存储显示。当一帧图像处理完成后,通过INT7中断来设置编码芯片,输出经过处理后的图像。2经过处理的图像也可经HPI接口送到ARM板中存储或显示。4󰀁ARM和DSP接口设计4󰀂1󰀁HPI接口硬件设计HPI接口是DSP芯片提供的一种并行端口,专门用于DSP和外部主机并行通信。HPI接口有标准HPI接口和增强型HPI

19、接口,传输总线宽度分为8位、16位、32位4。本系统中,ARM通过HPI接口与DSP进行通信,此处的HPI接口为16位增强型接口。见图6。图中,HDx是一个数据/地址复用的双向总线,传送的数据包括控制寄存器的设置值、初始化访问地址以及真正的数据。HCNTL1/0控制数据传送的4种模式 不带地址自增的读操作、带地址自增的读操基于ARM/DSP的工业视觉检测系统设计51传递周期完成。主机不能从中间打断第1个字节和第2个字节,否则,数据将会丢失,产生不可预计的结果。5󰀁实󰀁验为验证本系统的检测速度和精确度,进行了一些基于图像处理的实验 实现对实时视频图像的边缘提取,以

20、及实现对指端实时跟踪等。本系统的硬件实物见图8。图6󰀁ARM与DSP双向通信接口作、不带地址自增的写操作、带地址自增的写操作。HHWIL引脚用于区分第1个/第2个halfword的传输,它仅在HPI16模式下有效。数据选通(HDS1和HDS2)、读/写选通(HR/#W)分别连接不同的ARM信号,控制ARM对DSP的各种操作。ARM和DSP之间可以相互发中断;当ARM向HPIC(控制寄存器)中的DSPINT位写1时可以产生DSP中断;当DSP写入1到HPIC的HINT位时,可以产生ARM中断。HRDY管脚连接主机的nWAIT管脚,它的作用是在接口时序上插入等待。4󰀂

21、;2󰀁HPI接口软件设计本系统的DSP板中没有Flash,DSP的引导模式使用HPIboot模式,由主机通过HPI对DSP进行初始化。在HPIboot模式下,主机通过HPI接口可以访问DSP的整个存储空间(包括片内外设),并对它们进行初始化。主机对DSP的操作包括初始化CPU和EMIF以及向DSP加载程序和数据。见图7。5图8󰀁基于DSP+ARM的工业视觉检测系统实物图图中,1是ARM板,对整个系统进行调度和控制,ARM板上可下载嵌入式操作系统;2是DSP板,主要实现对视频图像的处理,1和2之间通过1根数据线连接;3是一个CCD,用于接收所要处理的视频图像;4是

22、一个LCD,用于显示经DSP处理后的实时视频图像,3和4都与2连接;5也是一个LCD,它与ARM相连,由ARM板供电,用于显示ARM中的操作系统;6是一个稳压电源,用于给DSP的CCD和LCD供电。除了显示器和摄像头,系统的核心部分远小于PC机和工控机。图9是对图像的边缘提取的实验结果,这通过对图像进行二值化和边缘检测来实现。边缘提取是对图像进行各种检测的重要步骤之一。这个实验中要进行的图像处理算法不多,但是数据的运算量比较大。从图中可以看到,经DSP处理后的图像边缘提取的效果可以实现。通过变换CCD的角度,使输入图像发生变化,从显示器能够看到经处理过的实时视频图像,所产生的延时用肉眼几乎看不

23、出来。该实验表明,本系统可以实现对图像检测过程的实时高速处理。图7󰀁ARM主机对DSP进行初始化的过程软件设计中应注意到DSP的HPI口是16位数据总线,而DSP内部最小的存储单元是32bit字,因此HPI与主机通信的数据都是由2个连续的字节组成,要有2个52图10是一个手指跟踪的实验结果,实现对物体前端的精确定位。(a)图是采集的原始图像,(b)图是进行跟踪处理以后的结果。从(b)图中可以看到,红色小框总是跟踪着手的食指,定位在食指的指端。在实验过程中,经DSP处理的视频实现了对手指指端的精确跟踪,而且跟踪延迟不大于40ms。机电一体化󰀁Mechatronic

24、s󰀁2007年第2期确,很好地发挥了各自的长处。它在系统性能、体积、质量、成本上比用PC机实现视觉检测有一定优势;在视觉检测的处理速度比单独使用DSP加快不少。实验表明此平台能够实现高速精确的实时检测。另外,此平台在视觉检测方面具有通用性,对于不同的应用场合、不同的检测对象,可以在此平台上加载相应的图像处理与视觉检测代码,实现相应的检测目标。参考文献1现代自动化生产中的机器视觉测量技术J.电子元器件应用,2005(9):40󰀁42󰀂2一种新的数字信号处理器 媒体处理器DM642J󰀂世界电子元器件,2004(6):28𘀀

25、2;332位嵌入式系统硬件设计和调试M󰀂北京:机械工业出版社󰀂2005:131󰀁138󰀂4李方慧,王󰀁飞,何佩琨,等󰀂TMS320DM642C6000系列DSPs原理与应用M󰀂北京:电子工业出版社,2005.5沈󰀁涛,薛文通,宋建社󰀂HPI接口技术应用J󰀂计算机工程与应用,2005(3):102󰀁104󰀂图10󰀁手指跟踪实验演示6󰀁结束语本文设计的视觉检测平台,采用了ARM+DSP构架,系统中ARM板和DSP板相互独立,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论