基于FPGA的便携式电路板缺陷快速检测装置转让专利

申请号 : CN201110460296.1

文献号 : CN102565073B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑红李钊李振

申请人 : 北京航空航天大学

摘要 :

本发明公开了一种基于FPGA的便携式电路板缺陷快速检测装置,该装置包括有FPGA控制器、分辨率处理器、CMOS成像单元、数据保存单元、显示屏和拨码开关;FPGA控制器分别与CMOS成像单元、分辨率处理器、数据保存单元、显示屏和拨码开关连接;FPGA控制器借助Veri1og HDL语言实现标准电路板与被测电路板的并行检测,采用模式识别方式得到检测结果;本发明检测方式能够检测出电路板上如焊点缺焊、元器件虚焊、错件、元器件极性焊反和IC芯片反向等缺陷。

权利要求 :

1.一种基于FPGA的便携式电路板缺陷快速检测装置,其特征在于:该装置包括有FPGA控制器(1)、分辨率处理器(3)、CMOS成像单元(4)、数据保存单元(2)、显示屏(5)和拨码开关(6);所述数据保存单元(2)包括有双端口存储器(21)和非易失性存储器(22);

FPGA控制器(1)与CMOS成像单元(4)之间连接有分辨率处理器(3),所述分辨率处理器(3)依据FPGA控制器(1)下发的分辨率设置指令来调节CMOS成像单元(4)的分辨率;

FPGA控制器(1)通过图像接收接口(12)接收CMOS成像单元(4)输出的数字图像信息;

FPGA控制器(1)通过非易失性存储器接口(13)与非易失性存储器(22)连接;

FPGA控制器(1)通过DPRAM接口(15)与双端口存储器(21)连接;

FPGA控制器(1)通过LCD接口(14)与显示屏(5)连接;

FPGA控制器(1)上连接有拨码开关(6);

所述FPGA控制器(1)包括电路板并行检测子系统(11),该电路板并行检测子系统(11)包括有图像数据缓冲模块(100)、标准图像预处理模块(101)、标准电路板图像定位并行处理模块(102)、标准图像数据写入模块(103)、被测图像预处理模块(201)、被测电路板图像定位并行处理模块(202)、被测图像数据写入模块(203)、被测图像数据读取模块(204)、标准图像数据读取模块(205)和被测与标准比对检测模块(206);

当调节拨码开关(6)至标准电路板状态时;

图像数据缓冲模块(100)用于存储和缓冲两个异步时钟之间的图像数据;

标准图像预处理模块(101)对图像数据缓冲模块(100)输出的所述图像数据,采用平滑线性滤波方法进行处理得到第一滤波后图像,所述第一滤波后图像采用灰度直方图处理,得到第一滤波后图像中像素点的灰度值的变换函数为标准电路板图像定位并行处理模块(102)对标准图像预处理模块(101)输出的第一滤波后图像中像素点的灰度值的变换函数 采用Hough变换的圆检测,来获得标准电路板上定位圆的圆心坐标S(a,b),a表示在X轴上的值,b表示在Y轴上的值;所述的多个定位圆的圆心坐标S(a,b)构成了标准电路板的标准图像数据;

标准图像数据写入模块(103)用于对接收到的标准图像数据信息写入到非易失性存储器(22);

当调节拨码开关(6)至被测电路板状态时;

图像数据缓冲模块(100)用于存储和缓冲两个异步时钟之间的被测图像数据;

被测图像预处理模块(201)对图像数据缓冲模块(100)输出的所述被测图像数据,采用平滑线性滤波方法进行处理得到第二滤波后图像,所述第二滤波后图像采用灰度直方图处理,得到第二滤波后图像中像素点的灰度值的变换函数为被测电路板图像定位并行处理模块(202)对被测图像预处理模块(201)输出的第二滤波后图像中像素点的灰度值的变换函数 采用Hough变换的圆检测,来获得被测电路板上定位圆的圆心坐标A(a,b),a表示在X轴上的值,b表示在Y轴上的值;所述的多个定位圆的圆心坐标A(a,b)构成了被测电路板的被测图像数据;

被测图像数据写入模块(203)用于对接收到的被测图像数据信息写入到双端口存储器(DPRAM)(21);

被测图像数据写入模块(203)设置DPRAM的写使能信号有效,将被测图像数据缓存到DPRAM中,为后继的图像预处理操作做准备;

被测图像数据读取模块(204)用于读取双端口存储器(21)中的被测图像数据;

标准图像数据读取模块(205)用于读取非易失性存储器(22)中的标准图像数据;

被测与标准比对检测模块(206)第一方面接收被测图像数据读取模块(204)输出的被测图像数据;第二方面接收标准图像数据读取模块(205)输出的标准图像数据;第三方面将被测图像数据与标准图像数据进行重叠配准;然后对配准后采用模式识别方式对被测图像数据与标准图像数据进行并行缺陷检测,得到检测结果;第四方面控制LCD显示屏(5)上显示的被测电路板的缺陷位置及缺陷类型。

2.根据权利要求1所述的基于FPGA的便携式电路板缺陷快速检测装置,其特征在于:图像数据缓冲模块(100)采用两个FIFO构成的乒乓结构,当写满第一个FIFO时,通过FIFO满标志触发数据预处理模块,从第一个FIFO中读取数据进行预处理操作,同时往第二个FIFO中写数,当第二个FIFO写满后,同样通过第二个FIFO满标志触发数据预处理模块,从第二个FIFO中读取数据进行预处理操作,而又往第一个FIFO写数;采用两个FIFO的乒乓结构既保证了数据传输的完整性,又保证了数据传输的速度。

3.根据权利要求1所述的基于FPGA的便携式电路板缺陷快速检测装置,其特征在于:由于非易失性存储器(22)是以字节为存储单位的,而二值化后的像素数据是1bit,因此标准图像数据写入模块(103)将经过二值化后的8个像素的图像数据组合成一个字节,然后写入到非易失性存储器(22)中;标准图像数据写入模块(103)向非易失性存储器(22)写入信息的时钟为图像数据缓冲模块(100)中图像预处理时钟的8分频。

4.根据权利要求1所述的基于FPGA的便携式电路板缺陷快速检测装置,其特征在于:所述定位圆是指标准电路板或者被测电路板上用于确定电路板位置的已知半径的圆。

说明书 :

基于FPGA的便携式电路板缺陷快速检测装置

技术领域

[0001] 本发明涉及一种电路板缺陷快速检测装置,更特别地说,是指一种由FPGA处理器与高速多分辨率图像采集单元为核心的用于电路板缺陷的快速检测装置,在FPGA内部采用数据并行和流水线技术将缺陷检测算法并行化,实现了电路板缺陷的非接触式快速、无损检测。

背景技术

[0002] 随着电子产品生产水平的提高,人们对电子产品微型化的需求也日益提高。伴随着人们对电子产品微型化的需求,电路板设计要求也逐步趋于高精度化、超细微化和多层化。在电路板焊接过程中,可能会出现焊点漏焊、极性焊反和错件等问题,严重影响产品的质量。
[0003] 目前常用的检测方法包括人工检测、机械检测、射线检测以及机器视觉检测等。其中,人工检测效率低、质量差、工人劳动强度大,检测可靠性取决于许多主观因素;机械检测通常是接触式检测,有可能对电路板造成额外的损坏,因而检测效率低;射线检测可以实现较高分辨率,但是结构复杂、造价高;机器视觉检测,具有自动化、客观、非接触、高精度和快速等特点,可极大提高检测效率。
[0004] 传统的基于机器视觉的电路板缺陷检测系统存在以下缺点和不足:
[0005] (1)缺陷检测算法是在PC机上实现并进行检测结果显示的,PC机的操作不可避免的存在着诸如成本高、体积大和便携性差的缺点。
[0006] (2)由于电路板缺陷检测算法具有算法复杂、计算复杂度高的特点,是制约电路板缺陷检测速度的瓶颈,而PC机上只能采用串行处理来实现缺陷检测算法,因此算法的实时性较差。
[0007] 针对以上问题,本发明提出一种基于FPGA的电路板缺陷检测装置,利用电路板定位圆提取算法和缺陷检测算法中潜在的并行和流水线特性结合FPGA的并行和流水线结构设计电路板缺陷检测的并行算法,实现了检测算法的实时性。该装置通过FPGA控制LCD显示缺陷检测的结果,从而实现了系统的便携性。

发明内容

[0008] 本发明的目的是提供一种能大幅提升电路板缺陷检测速度的快速检测装置,该装置能够对电路板缺陷进行实时检测,并通过LCD显示屏对缺陷位置进行标记并显示缺陷类型。为达到上述目的,本发明将机器视觉技术和FPGA并行处理技术相结合,通过数据并行和流水线技术实现缺陷检测算法的并行化,实现了缺陷检测的实时性。并采用Verilog HDL硬件描述语言实现FPGA对图像采集及控制。
[0009] 本发明的基于FPGA的便携式电路板缺陷快速检测装置,采用FPGA控制器(1)作为硬件平台实现缺陷的检测,FPGA控制器(1)中的电路板并行检测子系统(11)包括有图像数据缓冲模块(100)、标准图像预处理模块(101)、标准电路板图像定位并行处理模块(102)、标准图像数据写入模块(103)、被测图像预处理模块(201)、被测电路板图像定位并行处理模块(202)、被测图像数据写入模块(203)、被测图像数据读取模块(204)、标准图像数据读取模块(205)和被测与标准比对检测模块(206);
[0010] 调节拨码开关(6)至标准电路板状态;
[0011] 图像数据缓冲模块(100)用于存储和缓冲两个异步时钟之间的图像数据;
[0012] 标准图像预处理模块(101)对图像数据缓冲模块(100)输出的所述图像数据,采用平滑线性滤波方法进行处理得到第一滤波后图像,所述第一滤波后图像采用灰度直方图处理,得到第一滤波后图像中像素点的灰度值的变换函数为
[0013] 标准电路板图像定位并行处理模块(102)对标准图像预处理模块(101)输出的第一滤波后图像中像素点的灰度值的变换函数 采用Hough变换的圆检测,来获得标准电路板上定位圆的圆心坐标S(a,b),a表示在X轴上的值,b表示在Y轴上的值;所述的多个定位圆的圆心坐标S(a,b)构成了标准电路板的标准图像数据;
[0014] 标准图像数据写入模块(103)用于对接收到的标准图像数据信息写入到非易失性存储器(22);
[0015] 调节拨码开关(6)至被测电路板状态;
[0016] 图像数据缓冲模块(100)用于存储和缓冲两个异步时钟之间的被测图像数据;
[0017] 被测图像预处理模块(201)对图像数据缓冲模块(100)输出的所述被测图像数据,采用平滑线性滤波方法进行处理得到第二滤波后图像,所述第二滤波后图像采用灰度直方图处理,得到第二滤波后图像中像素点的灰度值的变换函数为
[0018] 被测电路板图像定位并行处理模块(202)对被测图像预处理模块(201)输出的第二滤波后图像中像素点的灰度值的变换函数 采用Hough变换的圆检测,来获得被测电路板上定位圆的圆心坐标A(a,b),a表示在X轴上的值,b表示在Y轴上的值;所述的多个定位圆的圆心坐标A(a,b)构成了被测电路板的被测图像数据;
[0019] 被测图像数据写入模块(203)用于对接收到的被测图像数据信息写入到双端口存储器(DPRAM)(21);
[0020] 被测图像数据写入模块(203)设置DPRAM的写使能信号有效,将被测图像数据缓存到DPRAM中,为后继的图像预处理操作做准备;
[0021] 被测图像数据读取模块(204)用于读取双端口存储器(21)中的被测图像数据;
[0022] 标准图像数据读取模块(205)用于读取非易失性存储器(22)中的标准图像数据;
[0023] 被测与标准比对检测模块(206)第一方面接收被测图像数据读取模块(204)输出的被测图像数据;第二方面接收标准图像数据读取模块(205)输出的标准图像数据;第三方面将被测图像数据与标准图像数据进行重叠配准;然后对配准后采用模式识别方式对被测图像数据与标准图像数据进行并行缺陷检测,得到检测结果;第四方面控制LCD显示屏(5)上显示的被测电路板的缺陷位置及缺陷类型。
[0024] 本发明是基于FPGA的电路板缺陷快速检测装置,该装置的优点在于:
[0025] (1)根据目标尺寸和在图像中所占的比例,FPGA通过模拟IIC总线时序配置CMOS的相应配置寄存器实现对分辨率的快速切换,保证电路板图像信息比例大于80%。
[0026] (2)利用电路板定位圆心坐标提取算法和缺陷检测算法的并行性结合FPGA的并行和流水线结构,设计电路板定位圆提取和缺陷检测的并行算法,可有效提升电路板的在线检测速度,提高检测效率,实现电路板缺陷的快速检测。
[0027] (3)本发明是快速自调节非接触式自动无损电路板缺陷检测装置,以FPGA处理器为核心,通过硬件控制策略和软件并行化方法,实现对电路板的在线非接触缺陷检测,并通过LCD显示屏直接对缺陷位置进行标记和显示缺陷类型,具有快速性、通用性和便捷性的特点。

附图说明

[0028] 图1是本发明测试装置的硬件连接示意图。
[0029] 图2是标准电路板采用本发明电路板并行检测子系统进行检测的结构框图。
[0030] 图3是被测电路板采用本发明电路板并行检测子系统进行检测的结构框图。
[0031] 图4是传统电路板与定位圆的示意图。

具体实施方式

[0032] 下面将结合附图对本发明作进一步的详细说明。
[0033] 参见图1所示,本发明的一种基于FPGA的便携式电路板缺陷快速检测装置,该装置包括有FPGA控制器1、分辨率处理器3、CMOS成像单元4、数据保存单元2、显示屏5和拨码开关6;所述数据保存单元2包括有双端口存储器21(DPRAM)和非易失性存储器22;
[0034] FPGA控制器1与CMOS成像单元4之间连接有分辨率处理器3,所述分辨率处理器3依据FPGA控制器1下发的分辨率设置指令来调节CMOS成像单元4的分辨率;
[0035] FPGA控制器1通过图像接收接口12接收CMOS成像单元4输出的数字图像信息;
[0036] FPGA控制器1通过非易失性存储器接口13与非易失性存储器22连接;
[0037] FPGA控制器1通过DPRAM接口15与双端口存储器21连接;
[0038] FPGA控制器1通过LCD接口14与显示屏5连接;
[0039] FPGA控制器1上连接有拨码开关6。
[0040] 在本发明中,标准电路板是指能够正常工作的电路板。被测电路板是指设计完成的且工作状态待定的电路板。
[0041] 下面将对各个模块实现的功能进行详细说明:
[0042] (一)CMOS成像单元4
[0043] CMOS成像单元4用于完成标准电路板或者被测电路板的图像信息采集。
[0044] 在本发明中,CMOS成像单元4采用Micron公司的MT9P401,MT9P401的图像分辨率最高可达2592H×1944V,输出帧频率最高为15帧/秒。
[0045] (二)分辨率处理器3
[0046] 分辨率处理器3依据FPGA控制器1通过模拟IIC总线时序下发的分辨率设置指令来调节CMOS成像单元4的分辨率。使得采集到的电路板图像信息比例足够大(电路板图像信息比例大于80%)。
[0047] 在本发明中,MSP430采用Texas Instruments公司的MSP430F 1121A芯片,该芯片内部有4KB+256B Flash Memory,足以完成对CMOS成像单元4的CMOS寄存器设置的编程需求。
[0048] (三)数据保存单元2
[0049] DPRAM(双端口存储器)21用于缓存待测电路板的图像数据。FPGA控制器1首先读取DPRAM(双端口存储器)21中的图像数据进行图像预处理操作,然后将预处理后的灰度图像数据缓存到DPRAM(双端口存储器)21中,FPGA控制器1再次读取DPRAM(双端口存储器)21中的数据完成缺陷检测。DPRAM(双端口存储器)21采用IDT公司的70T653Mx36,该DPRAM的最大存储空间为1536K×12bit,而采集的图像最大为4920K×12bit,因此需要四片70T653Mx36才能存放一幅完整的图像数据。
[0050] 非易失性存储器22用于存储标准电路图经过二值化后的图像数据(如标准电路图中定位圆的坐标位置等)。FPGA控制器1将采集到的标准电路图进行二值化和定位圆心坐标提取后,通过非易失性存储器22控制模块将二值化后的图像数据和定位圆心坐标等信息存储到非易失性存储器中。非易失性存储器采用Everspin半导体公司的MR4A08B,该芯片的存储空间大小为2M×8bit,具有25ns的快速读写周期。
[0051] (四)显示屏5
[0052] LCD显示屏5用于显示被测电路板上的缺陷位置及缺陷类型。本发明采用奇美公司的LQ035NC1113.5寸数字显示屏,该显示屏可显示320×240的RGB图像。
[0053] 在本发明中,能够检测电路板缺陷类型包括有焊点缺焊、元器件虚焊、错件、元器件极性焊反和IC芯片反向等缺陷。
[0054] (五)拨码开关6
[0055] 拨码开关6用于对FPGA控制器1进行电路板缺陷检测时状态的选择进行调节。一般拨码开关6设有两种状态,一种为标准电路板检测状态,另一种为被测电路板检测状态。
[0056] (六)FPGA控制器1
[0057] 在本发明中,FPGA控制器选用Spartan 6系列的XC6SLX45T-FGG484,该芯片内部有43661个Logic Cells、116个Block Ram和58个DSP48 Slices。
[0058] 为了实现电路板上图像信息的快速检测采用Verilog HDL(HDL:Hardware Discription Language)在ISE 12.3软件平台上实现FPGA处理器对各个接口(图像接收接口12、非易失性存储器接口13、LCD接口14、DPRAM接口15,参见图1所示)的设置。参见图2、图3所示,另外,为了实现电路板并行检测子系统11的各项功能,采用Verilog HDL在ISE12.3软件平台上进行了多个模块的设置及控制处理;所述电路板并行检测子系统11包括有图像数据缓冲模块100、标准图像预处理模块101、标准电路板图像定位并行处理模块102、标准图像数据写入模块103、被测图像预处理模块201、被测电路板图像定位并行处理模块202、被测图像数据写入模块203、被测图像数据读取模块204、标准图像数据读取模块205和被测与标准比对检测模块206。
[0059] 在本发明中,经图像接收接口12传输来的是具有帧同步和行同步信号同时有效的有效图像数据。帧同步信号上升沿表示一帧图像的开始,行同步信号上升沿表示一行图像的开始,当检测到帧同步和行同步信号同时有效时,数据线上的数据才为有效数据,此时将数据线上的数据存入到双端口存储器21(DPRAM)中;当检测到行同步下降沿后,若此时帧同步信号仍为高电平则等待下一次行同步信号的上升沿,接收下一行数据,若检测到帧同步信号也为低电平时表示一帧数据接收完成,等待下一帧信号的上升沿,准备接收下一帧数据。
[0060] (1)图像数据缓冲模块100
[0061] 图像数据缓冲模块100用于存储和缓冲两个异步时钟之间的数据传输。图像数据缓冲模块100采用两个FIFO构成的乒乓结构,当写满第一个FIFO时,通过FIFO满标志触发数据预处理模块,从第一个FIFO中读取数据进行预处理操作,同时往第二个FIFO中写数,当第二个FIFO写满后,同样通过第二个FIFO满标志触发数据预处理模块,从第二个FIFO中读取数据进行预处理操作,而又往第一个FIFO写数。采用两个FIFO的乒乓结构既保证了数据传输的完整性,又保证了数据传输的速度。
[0062] 在本发明中,对所述有效图像数据是否为标准电路板图像的判断:若拨码开关6为标准电路板状态时,图像数据缓冲模块100输出数据给标准图像预处理模块101;若拨码开关6为被测电路板状态时,图像数据缓冲模块100输出数据给被测图像预处理模块201。
[0063] (2)标准图像预处理模块101
[0064] 标准图像预处理模块101对所述有效图像数据进行第一图像滤波和第一灰度阈值分割处理。
[0065] 所述有效图像数据在第一图像滤波单元中采用平滑线性滤波方法(参见阮秋琦编译的《数字图像处理》第二版,第94、95、96页)处理,得到第一滤波后图像;所述第一滤波后图像为灰度图;
[0066] 所述第一滤波后图像在第一灰度阈值分割单元中采用灰度直方图处理,得到第一灰度图像中像素点的灰度值的变换函数为
[0067] 在本发明中,灰度阈值MS是根据灰度直方图进行设置,将所述第一滤波后图像的灰度值大于阈值MS的像素f[iS,jS]设为1,相反,所述第一滤波后图像的灰度值小于阈值MS的像素f[iS,jS]则将其值设置为0。则灰度图像中像素点的灰度值的变换函数为[0068] (3)标准电路板图像定位并行处理模块102
[0069] 标准电路板图像定位并行处理模块102采用Hough变换的圆检测(参见艾海舟编译的《图像处理、分析与机器视觉》第3版,第149-155页)来获得定位圆的圆心坐标S(a,b),a表示在X轴上的值,b表示在Y轴上的值;所述定位圆是指电路板上用于确定电路板位置的已知半径的圆,参见图4所示。
[0070] 在本发明中,一块标准电路板或者被测电路板上将均设置有多个定位圆,每一个定位圆将有自己的圆心坐标。若一块标准电路板上的定位圆个数记为n,则有每一个定位圆的圆心坐标记为Sn(a,b),一块标准电路板上所有的定位圆的圆心坐标记为WS={S1,S2,…,Sn}。
[0071] 在本发明中,采用Hough变换的基于梯度信息的圆检测Hough变换,参见图3所示,本发明提出一种基于按行划分的空间并行运算方法,通过把被检测圆所占的行数均匀的分成n个区域,使得每个区域中对圆心坐标(a,b)的计算在空间中并行处理。在每个区域中,本发明借助FPGA处理器平台,设计一种基于流水线结构的圆心坐标(a,b)生成器,从而实现Hough变换在时间上的并行处理即流水线操作。
[0072] 基于梯度信息的圆检测Hough变换的特点是逐行完成对所有像素点的梯度运算,并逐行计算所有非零像素点的梯度方向角,以此计算圆心坐标(a,b)。本发明利用FPGA空间并行工作的特点结合基于梯度信息的圆检测Hough变换行与行之间的离散性的特点,把被检测圆所占的行均匀的分成四个区域,每个区域分别计算自己区域内的圆心坐标,并且每个区域在空间上是同时工作,因此Hough变换的运算时间被降低为原来的 基于梯度信息的圆检测Hough变换中,最关键的运算是根据圆的极坐标方程对每一非零点坐标计其梯度方向角θ和定位圆
的圆心坐标(a,b),r表示定位圆的半径,x表示定位圆上在X轴上的值,y表示定位圆上在Y轴上的值,Gx表示在X轴方向上的梯度值,Gy表示在Y轴方向上的梯度值,Gx、Gy可由Sobel算子(参见阮秋奇编译的《数字图像处理》第二版,第467、468页)计算得到。
[0073] (4)标准图像数据写入模块103
[0074] 标准图像数据写入模块103用于对接收到的标准图像数据信息写入到非易失性存储器22。
[0075] 由于非易失性存储器MR4A08B是以字节为存储单位的,而二值化后的像素数据是1bit,因此标准图像数据写入模块103将经过二值化后的8个像素的图像数据组合成一个字节,然后写入到MR4A08B中。标准图像数据写入模块103向MR4A08B写入信息的时钟为图像数据缓冲模块100中图像预处理时钟的8分频。
[0076] (5)被测图像预处理模块201
[0077] 被测图像预处理模块201对所述有效图像数据进行第二图像滤波和第二灰度阈值分割处理。
[0078] 所述有效图像数据在第二图像滤波单元中采用平滑线性滤波方法(参见阮秋琦编译的《数字图像处理》第二版,第94、95、96页)处理,得到第二滤波后图像;所述第二滤波后图像为灰度图;
[0079] 所述第二滤波后图像在第二灰度阈值分割单元中采用灰度直方图算法()处理,得到第二灰度图像中像素点的灰度值的变换函数为
[0080] 在本发明中,灰度阈值MA是根据灰度直方图进行设置,将所述第二滤波后图像的灰度值大于阈值MA的像素f[iA,jA]设为1,相反,所述第二滤波后图像的灰度值小于阈值MA的像素f[iA,jA]则将其值设置为0。则灰度图像中像素点的灰度值的变换函数为[0081] (6)被测电路板图像定位并行处理模块202
[0082] 被测电路板图像定位并行处理模块202采用Hough变换的圆检测(参见艾海舟编译的《图像处理、分析与机器视觉》第3版,第149-155页)来获得定位圆的圆心坐标A(a,b),a表示在X轴上的值,b表示在Y轴上的值;所述定位圆是指电路板上用于确定电路板位置的已知半径的圆。
[0083] 在本发明中,若一块被测电路板上的定位圆个数记为m,则有每一个定位圆的圆心坐标记为Am(a,b),一块被测电路板上所有的定位圆的圆心坐标记为WA={A1,A2,…,Am}。
[0084] 在本发明中,采用Hough变换的基于梯度信息的圆检测Hough变换,参见图3所示,本发明提出一种基于按行划分的空间并行运算方法,通过把被检测圆所占的行数均匀的分成n个区域,使得每个区域中对圆心坐标(a,b)的计算在空间中并行处理。在每个区域中,本发明借助FPGA处理器平台,设计一种基于流水线结构的圆心坐标(a,b)生成器,从而实现Hough变换在时间上的并行处理即流水线操作。
[0085] 基于梯度信息的圆检测Hough变换的特点是逐行完成对所有像素点的梯度运算,并逐行计算所有非零像素点的梯度方向角,以此计算圆心坐标(a,b)。本发明利用FPGA空间并行工作的特点结合基于梯度信息的圆检测Hough变换行与行之间的离散性的特点,把被检测圆所占的行均匀的分成四个区域,每个区域分别计算自己区域内的圆心坐标,并且每个区域在空间上是同时工作,因此Hough变换的运算时间被降低为原来的 基于梯度信息的圆检测Hough变换中,最关键的运算是根据圆的极坐标方程对每一非零点坐标计其梯度方向角θ和定位圆
的圆心坐标(a,b),r表示定位圆的半径,x表示定位圆上在X轴上的值,y表示定位圆上在Y轴上的值,Gx表示在X轴方向上的梯度值,Gy表示在Y轴方向上的梯度值,Gx、Gy可由Sobel算子(参见阮秋奇编译的《数字图像处理》第二版,第467、468页)计算得到。
[0086] (7)被测图像数据写入模块203
[0087] 被测图像数据写入模块203用于对接收到的被测图像数据信息写入到双端口存储器21(DPRAM)。
[0088] 被测图像数据写入模块203设置DPRAM的写使能信号有效,将被测图像数据缓存到DPRAM中,为后继的图像预处理操作做准备。
[0089] (8)被测图像数据读取模块204
[0090] 被测图像数据读取模块204用于读取双端口存储器21(DPRAM)中的被测图像数据。
[0091] (9)标准图像数据读取模块205
[0092] 标准图像数据读取模块205用于读取非易失性存储器22中的标准图像数据。
[0093] (10)被测与标准比对检测模块206
[0094] 被测与标准比对检测模块206第一方面接收被测图像数据读取模块204输出的被测图像数据;第二方面接收标准图像数据读取模块205输出的标准图像数据;第三方面将被测图像数据与标准图像数据进行重叠配准;然后对配准后采用模式识别方式对被测图像数据与标准图像数据进行并行缺陷检测,得到检测结果;第四方面控制LCD显示屏5上显示的被测电路板的缺陷位置及缺陷类型。在本发明中,被测与标准比对检测模块206模拟产生LCD显示屏5所需的帧同步和行同步信号,当电路板缺陷检测完成后,若电路板检测到缺陷,则记录缺陷的位置坐标,并将存在缺陷的坐标位置的数据设为255,而不存在缺陷的位置的数据值设为0,则存在缺陷的位置会高亮显示,同时根据缺陷检测算法判定的缺陷类型。
[0095] 在本发明中,模式识别方式是指在被测电路板图像与标准电路板图像已经实现了配准,即所有的点都是一一对应的,所以考虑采用逻辑异或运算,若两幅图像存在值不一致的情况则相应坐标位置的值为1,这样经过异或运算后得到一幅二值图像,若待检测板无缺陷,那么结果图像只是含有一些面积很小的白色干扰点,若存在缺陷,那么结果图像会有相对面积很大的白斑。然后运用形态学运算去掉干扰点,并使用四连接标记,如果标记数为0则待检测板无缺陷,如果标记数大于0则存在缺陷。利用该缺陷检测算法可以完成焊点缺焊、元器件虚焊、错件、元器件极性焊反和IC芯片反向等缺陷。
[0096] 在本发明中,电路板缺陷检测的特点是逐行完成对所有像素点的异或运算。本发明利用FPGA空间并行工作的特点结合电路板缺陷检测算法行与行之间的离散性的特点,把标准电路板或者被检测电路板的采集图像的行均匀的分成n个区域,n个区域分别计算自己区域内的异或运算,并且n个区域在空间上同时工作,因此电路板缺陷检测算法的运算时间被降低为原来的1/n。