Image Segmentation of Inductors Laser Thermal Imaging Based on Watershed Algorithm
-
摘要: 激光热成像是一种检测电感微裂纹的新方法,但批量自动检测时电感彼此靠近易导致定位错误和误检。根据激光扫描和热成像检测过程分析图像特征,提出求取温度梯度图并利用次大值滤波消除其激励非均匀性,采用形态学操作断开样品粘连处并去除干扰噪声点;通过距离变换结合分水岭算法得到电感图像分割结果。实验结果表明:该方法实现了对批量铁氧体电感图像的自动分割提取,为后续铁氧体电感试样的分选打下良好基础。Abstract: Laser thermography is a new method to detect micro cracks in inductors, but the proximity of inductors in batch automatic detection made it easy to cause positioning errors and false detection results. According to the analysis of image features in the process of laser scanning and thermal imaging detection, a new method was proposed to obtain the temperature gradient map and eliminate its excitation nonuniformity by using the sub maximum filter, and to disconnect the adhesion of samples and remove the interference noise points by using morphological operation. The inductance images were segmented combining distance transformation with watershed algorithm. The experimental results show that the method realizes the automatic separation and extraction of ferrite inductor from image, which lays a good foundation for the separation of ferrite inductors.
-
0. 引言
对于一些复杂的系统,由于功能或机构的限制,单片FPGA难以实现全部功能[1]。在多片FPGA协同工作情况下,如何提高FPGA片间高速通信的稳定性逐渐成为这一领域的研究热点。传统的并行总线因占用资源多,噪声高等缺点,在高速数据传输领域已逐渐被淘汰。目前对于Xilinx 7系列FPGA而言,片间高速通信主要有两种方案。一种是通过GT系列串行高速收发器来实现,根据FPGA种类不同分为GTP、GTX、GTH、GTZ。其中线速率最低的GTP可以支持6.6 Gb/s。虽然此方案传输速率高,但由于每片FPGA的串行高速收发器数量有限,且高速传输对于PCB布局布线提出了很高的要求,因此存在一定的局限性。另一种方案是通过LVDS技术来实现[2]。该技术具有线速率高、抑制共模噪声、低功耗、抗干扰能力强等优点[3]。且通过配置BANK电压,可使FPGA提供大量支持LVDS标准的接口,吞吐率可达Gb/s级,因此该方案具有更加广阔的应用前景[4]。
本文提出了一种提高LVDS通信稳定性的校验协议,基于两片Xilinx FPGA平台搭建多路LVDS通信测试系统,并在不同温度条件下测试系统的误码率[5]。
1. FPGA片间通信系统搭建
本文分别利用两片Xilinx公司的Kintex-7和Artix-7 FPGA作为数据处理中心,通过9对LVDS信号线进行片间通信,如图 1所示。
程序测试主要分3步。第一步通过图 1中的Clock Channel进行同步时钟,其中涉及到差分信号和单端信号的转换以及时钟分频倍频;第二步通过Data Channel进行双向数据校验,其中涉及到串并转换、bit位对齐、Byte位对齐、通道对齐。因为每个通道经过串并转换都可以收发8 bit数据,共有8个数据通道,所以Data Channel是64 bit;最后进行单向数据传输,测试系统误码率。
系统硬件包括3部分,分别是K7 FPGA核心板、通信底板、A7 FPGA核心板。硬件测试平台实物如图 2所示。为了保证片间通信的稳定性,在绘制PCB时,布线方面要保证9组数据通道等长,且使用圆弧走线;在布局方面,要避开电源等强电磁干扰,且保证对应IO口间距尽量短。
2. 数据校验协议设计与试验
2.1 同步时钟
两片FPGA的主时钟属于非同源时钟,存在一定的相位差,因此在数据校验和通信之前,必须先进行同步时钟。
同步时钟包括发送和接受两部分。首先要通过K7的MMCM(mixed-mod clock manager)IP核分频生成20 MHz的同步时钟,然后经过OBUFDS转换成差分时钟输出[6]。同步时钟的作用只是对齐两片FPGA时钟的相位,因此频率无需过高,这有利于提高片间传输的稳定性。
如图 3所示,LVDS信号电平标准为2.5 V,周期T为50 ns[7]。因此在硬件方面,需要在试验开始前更改FPGA对应BANK的供电电压,以改变FPGA IO口的电平标准;在程序方面,需要通过XDC文件配置输出IO口模式为LVDS_25模式。
该差分信号需经过电磁环境复杂的底板传输后才能到达A7,如果时钟频率过高,PCB的布局布线不能满足高速信号的严格要求,就会导致误码。这也说明了采用多路LVDS信号传输比少量GT高速串行收发器传输的可靠性和适应性更好。
A7 FPGA接收到差分时钟后,首先利用IBUFDS对输入信号进行输入缓冲和差分转单端处理,以去除共模噪声的影响[8]。该时钟将作为接收端的系统主时钟使用,因此还需进入BUFG进行全局缓冲。然后利用MMCM对20 MHz的同步时钟进行倍频,得到600 MHz的串行时钟SCLK和150 MHz的并行时钟PCLK,完成同步时钟。这里需要注意的是FPGA接收时钟信号时,必须将引脚分配到MRCC(区域时钟的BUFIO,能驱动相邻BANK/时钟域的IO)或SRCC(区域时钟的BUFIO,能驱动所属BANK/时钟域的IO)的I/O口上才可以作为接收端主时钟使用[9]。
2.2 数据校验
2.2.1 通信原理
两片FPGA之间通信是双向的,各通道数据收发原理相同,如图 4所示。
首先由发送端生成8 bit测试数据,然后经过DDR(Double Data Rate)模式的OSERDESE2(并串转换器)把并行数据转成串行数据,最后用OBUFDS把单端信号转成差分信号输出[10]。这里需要给OSERDESE2提供并行时钟PCLK_TX和串行时钟SCLK_TX,这两个时钟分别接CLKDIV和CLK端口[11]。
差分信号经过底板传输后,由另一片FPGA的IBUFDS接收,并把差分信号转成单端信号。数据经过转换后需要进行三步对齐,如图 5所示。
首先通过IDELAYE2进行bit位对齐,然后通过ISERDESE2进行串并转换和Byte位对齐,最后进行通道对齐,直至还原出各通道的8 bit测试数据。在LVDS信号传输过程中,虽然可以消除共模噪声,但数字信号的抖动无法避免,如图 6所示。
从频域的角度分析,抖动频谱的中心就是信号的工作频率,其符合高斯分布。不是中心频率的信号,被称为相位噪声。抖动和相位噪声本质相同,分别是时域和频域分析的结果。
正弦波输出信号可以用如下公式表示:
$$ V(t) = [{A_0} + \varepsilon (t)\left] {{\rm{sin}}} \right[2{\rm{ \mathsf{ π} }}{f_0}t + \varphi (t)] $$ (1) 式中:A0为电压最大值;ε(t)为振幅噪声;f0为工作频率;φ(t)为相位噪声。在理想情况下,ε(t)和φ(t)均为0。但振荡器并不理想,相位噪声不能忽略。因此得到下面公式:
$$ V\left( t \right) = {A_0}\sin \left[ {\frac{{2{\rm{ \mathsf{ π} }}}}{{{T_0}}}\left( {t + \frac{{\varphi \left( t \right)}}{{2{\rm{ \mathsf{ π} }}{f_0}}}} \right)} \right] $$ (2) 当x=2π,则sin(x)=0,此时公式(2)可以表示为:
$$t = {T_0} + \Delta T = {T_0}\left( {1 - \frac{{\varphi \left( t \right)}}{{2{\rm{ \mathsf{ π} }}}}} \right)$$ (3) 所以抖动与周期的关系可以通过如下公式表示:
$$J\left( t \right) = \frac{{\Delta T}}{{{T_0}}} = \frac{{\varphi \left( t \right)}}{{2{\rm{ \mathsf{ π} }}}}$$ (4) 因此频率越高,抖动越大。当利用时钟信号采集串行数据时,就可能出现亚稳态。所以对串行数据进行相位调节是必要的。
另外在PCB布线时会出现数据线之间不等长的情况,或受外界温度变化的影响,从而在接收端产生相位差。因此无法准确地根据接收端的时钟沿采集到正确的串行数据。
本文采用IDELAYE2对串行数据进行相位调节,实现bit位对齐,以防止亚稳态的发生,保证采集到正确的bit,如图 7所示。
图 7中DDR Clock为接收端倍频后的串行时钟。因为采用DDR模式,因此串行时钟的每个跳边沿都应该和一个串行数据对齐。IDELAYE2可以不断调整串行数据的相位,最终使时钟跳变沿刚好对齐数据中心。
调整过程主要包括两个环节。首先向右不断调整IDELAYE2的tap值,使其出现tap1的情况。一旦出现此情况,则说明发生了亚稳态,这将导致后续Byte位对齐失败,记录此时的延迟值tap1;然后向左对数据通道不断调整,直至出现tap5的情况,此时再次出现Byte位对齐失败,记录此时的延时值tap5。最后取tap1和tap5的中值,即tap3作为该数据通道的最理想延时值,进而完成bit位对齐。时钟沿和数据通道中心对齐将会保证采集到最稳定的数据。
此处注意IDELAYE2需要IDELAYCTRL提供延时分辨率[12]。因为给IDELAYCTRL的参考时钟REFCLK是200MHz,根据如下公式可得IDELAYE2的延时分辨率为78.125 ps:
$${\rm{tap}} = \frac{1}{{{F_{\left( {{\rm{REFCLK}}} \right)}} \times 2 \times 32}}$$ (5) 式中:F(REFCLK)为参考时钟的频率;tap为调节延迟分辨率。其中参考时钟需要由同步时钟倍频而来,以保证时钟同源。一共有32个调节梯度可以选择,所以通过IDELAYE2最多可以将bit位延迟2.5 ns。另外,IDELAYE2一旦使用,将引入固定的基础延迟0.6 ns。
上述方法是通过调节数据通道的相位关系来解决信号抖动问题的。但在实际应用中,在保证硬件各信号通道严格等长的情况下,各数据通道相位相差不大,此时可调节串行时钟相位。因为发送端的时钟和数据相位关系如图 7中的tap1,而在接收端需要调节成tap3。那么此时只需要将接收端的串行时钟通过MMCM延迟90°,使跳边沿能采集到正确稳定的数据,避免亚稳态的产生。
进行Byte位对齐,首先需通过ISERDESE2(专用解串器)把串行信号转成并行信号,重新组成8 bit的并行数据。
图 8为DDR模式下的Byte位对齐过程。只要采集到的并行数据和测试数据不同,则继续拉高Bitslip,并进行对齐失败计数。每次Bitslip拉高,都会对并行数据的bit顺序进行调整[13]。如果连续7次对齐失败,则说明bit位对齐失败,返回IDELAYE2。基于此原理,需经过多次调整,最终完成字节对齐。另外还需要为ISERDESE2提供并行时钟PCLK_RX和串行时钟SCLK_RX。
待各通道Byte位均对齐成功后,将得到4路并行数据。最后进行通道对齐,不断调整4路8bit的数据顺序,将其拼接成32 bit的并行数据。如果此数据和测试数据相同,则说明数据对齐成功。
2.2.2 校验协议
基于上述原理,在常规的LVDS通信之前,需进行片间双向校验。校验流程如图 9所示。
同步时钟后,两片FPGA的8个数据通道进行数据对齐。首先K7 FPGA的前4路会发送32 bit的Test Data 1,A7 FPGA的前4路接收并进行对齐。如果对齐失败,将继续进行数据对齐;如果对齐成功,则说明A7前4路接收数据正常,将前4路的rx_locked拉高。然后通过后4路发送Test Data 2,K7的后4路接收并对齐。
如果K7的后4路对齐失败,将继续进行数据对齐;如果对齐成功,则说明K7的前4路发送正常,后4路接收正常,将前4路的tx_ready和后4路的rx_locked拉高。然后通过前4路发送Test Data 2,A7的前4路接收并对齐。
此时可直接使用第一轮校验的对齐策略来对齐Test Data 2。A7接收到Test Data 2后,则说明其后4路发送正常,将其后4路的tx_ready拉高。校验完成。
通过上述3轮数据对齐,完成一轮闭环校验,如图 10所示。该校验协议保证了K7端前4路发送正常,后4路接收正常,A7端前4路接收正常,后4路发送正常。从而保证两个终端之间双向8路通信正常。进而确保后续稳定的数据通信,以达到降低误码率的目的。
2.3 数据通信测试误码率
经过校验后,K7和A7两片FPGA的tx_ready和rx_locked都会拉高。随后进入数据通信阶段,8路数据通道开始传输数据,误码率测试方案如图 11所示。
PRBS(Pseudorandom binary sequence)被称作伪随机码,常用于高速串行通信的误码率测试。其码型由多项式确定,周期性重复。本文将借助伪随机码来测试误码率。
设计使用K7产生64 bit的伪随机码,然后分成8路通过LVDS的方式发送出去。由A7的8个数据通道接收并拼接数据,把拼接后的64 bit数据输入PRBS检测模块,该模块将输出误码累计个数。为了方便实验统计,还在A7端还加入了计时模块Timer。
因为温度的变化会影响数据传输的稳定性,导致出现亚稳态,使Byte位对齐失败。所以基于此方案,对测试系统进行高低温试验,以检测温度变化对片间通信误码率的影响。
3. 试验结果
本试验基于Vivado平台完成。串行时钟为600 MHz,并行时钟为150 MHz,板间同步时钟为20 MHz[14]。
为了直观地统计测试结果,在A7端利用ChipScope对error_cnt进行实时观察。图 12给出了系统在20℃环境下持续1 h的测试截图。
图 12中rx_locked和tx_ready均已拉高,说明系统已经过校验。prbs_data_r是A7端8个通道拼接而成的64 bit数据,把该数据输入到PRBS校验模块PRBS_CHECK,此模块输出的误码个数为error_cnt_r。hour_r、min_r、sec_r分别为小时、分钟、秒。为利用ChipScope触发hour_r为1的时刻。实验持续测试1 h,在20℃环境下未出现误码。
本试验在-30℃~50℃之间每隔10℃进行一组测试,最终得到9组测试结果,如表 1所示。结果表明,在各温度下测试该通信系统,均未出现误码。
表 1 不同温度下FPGA片间通信误码率测试结果Table 1. Test results of bit error rate of FPGA inter-chip communication at different temperaturesTemperature/℃ -30 -20 -10 0 10 20 30 40 50 Bit error rate 0 0 0 0 0 0 0 0 0 因为并行时钟是150 MHz,每检测一个并行数据需要6.7 ns,所以1 h测试期间共检测5.4×1011个数据。如果出现1个误码,经计算得出误码率为1.9×10-12。因此可以推断,在不同温度条件下,经过校验的FPGA片间通信误码率低于1.9×10-12。
4. 结语
本文基于LVDS技术,设计了一种FPGA片间通信校验协议。在常规的LVDS通信之前,经过多通道多轮校验,完成多通道数据对齐,补偿由于PCB布线和其他外界因素所带来的各路间的延迟。该校验协议有效防止了亚稳态的产生和数据丢失,从而保证后续双向通信稳定进行。试验结果证明,本校验协议可以有效降低误码率,提高通信的稳定性。下一步可以完善校验协议,对影响片间通信稳定性的其他外界因素进行试验,进一步降低误码率。
-
-
[1] 闫会朋, 杨正伟, 田干, 等. 基于涡流热成像的铁磁材料近表面微裂纹检测[J]. 红外与激光工程, 2017, 46(3): 231-236. https://www.cnki.com.cn/Article/CJFDTOTAL-HWYJ201703036.htm YAN Huipeng, YANG Zhengwei, TIAN Gan, et al. Micro crack detection near surface of ferromagnetic materials based on eddy current thermography[J]. Infrared and Laser Engineering, 2017, 46(3): 231-236. https://www.cnki.com.cn/Article/CJFDTOTAL-HWYJ201703036.htm
[2] 王晓宁, 侯德鑫, 叶树亮. 基于激光热成像的铁氧体裂纹检测[J]. 激光与红外, 2015, 45(11): 1298-1303. DOI: 10.3969/j.issn.1001-5078.2015.11.003 WANG Xiaoning, HOU Dexin, YE Shuliang. Crack detection of ferrite based on laser spot thermography[J]. Laser & Infrared, 2015, 45(11): 1298-1303. DOI: 10.3969/j.issn.1001-5078.2015.11.003
[3] 王晓娜, 姚行洲, 侯德鑫, 等. 圆柱铁氧体微裂纹的激光扫描热成像检测[J]. 红外与激光工程, 2018, 47(11): 51. https://www.cnki.com.cn/Article/CJFDTOTAL-HWYJ201811007.htm WANG Xiaona, YAO Xingzhou, HOU Dexin, et al. Detection of microcrack in cylinder ferrite components based on scanning laser thermography[J]. Infrared and Laser Engineering, 2018, 47(11): 51. https://www.cnki.com.cn/Article/CJFDTOTAL-HWYJ201811007.htm
[4] 苑玮琦, 薛丹. 基于机器视觉的隧道衬砌裂缝检测算法综述[J]. 仪器仪表学报, 2017(12): 3100-3111. https://www.cnki.com.cn/Article/CJFDTOTAL-YQXB201712026.htm YUAN Weiqi, XUE Dan. Review of tunnel lining crack detection algorithm based on machine vision[J]. Chinese Journal of Scientific Instrument, 2017(12): 3100-3111. https://www.cnki.com.cn/Article/CJFDTOTAL-YQXB201712026.htm
[5] Burrows S E, Dixon S, Pickering S G, et al. Thermographic detection of surface breaking defects using a scanning laser source[J]. NDT & E International, 2011, 44(7): 589-596. http://www.sciencedirect.com/science/article/pii/S0963869511000740
[6] Schilichting J, Ziegler M, Maierhofer C, et al. Flying laser spot thermography for the fast detection of surface breaking cracks[C]//18th World Conference on Nondestructive Testing, Durban, 2012: 16-20.
[7] 徐佳. 现代医学细胞显微图像分割改进算法[J]. 计算机与现代化, 2014(2): 95-98, 101. https://www.cnki.com.cn/Article/CJFDTOTAL-JYXH201402022.htm XU Jia. Improved algorithm for cell microscopic image segmentation[J]. Computer and Modernization, 2014(2): 95-98, 101. https://www.cnki.com.cn/Article/CJFDTOTAL-JYXH201402022.htm
[8] 漆鹏杰, 刘秀波, 仲兆准, 等. 显微细胞图像有形成分自动识别[J]. 计算机系统应用, 2015, 24(5): 11-18. https://www.cnki.com.cn/Article/CJFDTOTAL-XTYY201505002.htm QI Pengjie, LIU Xiubo, ZHONG Zhaohuai, et al. Visible components automatic recognition of microscopic cell image[J]. Computer Systems & Applications, 2015, 24(5): 11-18. https://www.cnki.com.cn/Article/CJFDTOTAL-XTYY201505002.htm
[9] 张海涛, 李雅男. 阈值标记的分水岭彩色图像分割[J]. 中国图象图形学报, 2019, 20(12): 1602-1611. https://www.cnki.com.cn/Article/CJFDTOTAL-ZGTB201512005.htm ZHANG Haitao, LI Yanan. Watershed algorithm with threshold mark for color image segmentation[J]. Journal of Image and Graphics, 2019, 20(12): 1602-1611. https://www.cnki.com.cn/Article/CJFDTOTAL-ZGTB201512005.htm
[10] 杨小青, 杨秋翔, 杨剑. 基于形态学的显微细胞图像处理与应用[J]. 计算机系统应用, 2016, 25(3): 222-226. https://www.cnki.com.cn/Article/CJFDTOTAL-XTYY201603038.htm YANG Xiaoqing, YANG Qiuxiang, YANG Jian. Microscopic cell image processing and application based on morphology[J]. Computer Systems & Applications, 2016, 25(3): 222-226. https://www.cnki.com.cn/Article/CJFDTOTAL-XTYY201603038.htm
[11] 王鑫, 胡洋洋, 杨慧中. 基于迭代腐蚀的粘连细胞图像分割研究[J]. 南京理工大学学报: 自然科学版, 2016, 40(3): 285-289. https://www.cnki.com.cn/Article/CJFDTOTAL-NJLG201603006.htm WANG Xin, HU Yangyang, YANG Huizhong. Segmentation of adherent cell image based on iterative erosion[J]. Journal of Nanjing University of Science and Technology, 2016, 40(3): 285-289. https://www.cnki.com.cn/Article/CJFDTOTAL-NJLG201603006.htm
[12] LIAO M, ZHAO Y Q, LI X H, et al. Automatic segmentation for cell images based on bottleneck detectionand ellipse fitting[J]. Neurocomputing, 2015, 173(P3): 615-622. DOI: 10.1016/j.neucom.2015.08.006
-
期刊类型引用(3)
1. 贾继鹏,蒋凯丽,于军,韩宁,汪吕喜. 一种数据链FPGA不定长数据处理架构. 应用科技. 2022(05): 63-66 . 百度学术
2. 韩芳,李资,王红梅. 基于正交频分复用的低轨卫星移动通信同步控制系统设计. 计算机测量与控制. 2021(08): 119-124 . 百度学术
3. 李建翔,李北国,杨玉华,刘东海. FPGA跨时钟域的数据传输纠错协议优化方法. 探测与控制学报. 2021(05): 122-127 . 百度学术
其他类型引用(4)