顧樂(lè)旭
摘要:針對(duì)公共出行過(guò)程中大量行李物品不斷考驗(yàn)安檢設(shè)備效率的現(xiàn)狀,本文設(shè)計(jì)了一套具有多通道采集和網(wǎng)絡(luò)快速傳輸?shù)腦射線安檢儀實(shí)時(shí)檢測(cè)成像系統(tǒng)。該系統(tǒng)使用具有高集成度的ZYNQ芯片進(jìn)行開(kāi)發(fā),利用其PL(Processing Logic)端完成實(shí)時(shí)數(shù)據(jù)多通道采集和數(shù)據(jù)處理,用PS(Processing System)完成系統(tǒng)的控制并利用Lwip(Light Weight IP協(xié)議)進(jìn)行TCP/IP協(xié)議的以太網(wǎng)傳輸,并針對(duì)數(shù)據(jù)特點(diǎn)進(jìn)行圖像處理實(shí)現(xiàn)初步灰度圖成像顯示。
關(guān)鍵詞:ZYNQ;多通道采集;實(shí)時(shí)成像;Lwip;TCP/IP
中圖分類號(hào):TL816.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)07-0160-02
由于X射線安檢設(shè)備使用環(huán)境的不同,所檢測(cè)的物體體積大小各異[1-3],所以其可布置的探測(cè)器序列數(shù)目需求應(yīng)進(jìn)行相應(yīng)調(diào)整,以保證安檢檢測(cè)質(zhì)量。但普遍安檢設(shè)備,因缺少擴(kuò)展接口而無(wú)法增加探測(cè)器序列,或?qū)U(kuò)展后增加的檢測(cè)數(shù)據(jù)不能進(jìn)行實(shí)時(shí)傳輸,所以無(wú)法實(shí)現(xiàn)按需調(diào)整的需求。本設(shè)計(jì)應(yīng)用ZYNQ中的PL端進(jìn)行多通道數(shù)據(jù)采集和時(shí)序控制,其高頻時(shí)鐘工作范圍不僅能提高數(shù)據(jù)采集的速度和精度,而且可以根據(jù)實(shí)際需求增減探測(cè)器序列的數(shù)目,擴(kuò)大檢測(cè)范圍。同時(shí)在PS端嵌入FreeRTOS實(shí)時(shí)操作系統(tǒng)可以對(duì)采集端進(jìn)行指令下達(dá)和實(shí)時(shí)控制調(diào)整,并實(shí)現(xiàn)千兆以太網(wǎng)功能,可以保證數(shù)據(jù)的實(shí)時(shí)傳輸以便上位機(jī)進(jìn)行圖像實(shí)時(shí)顯示。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 線陣列探測(cè)器選取
本次成像系統(tǒng)使用的是線陣列探測(cè)器序列來(lái)檢測(cè)X射線經(jīng)過(guò)物體的透射和衰減程度,根據(jù)實(shí)際性能和應(yīng)用需求,選用日本濱松公司所生產(chǎn)的CF248-1式X射線探測(cè)模塊,此探測(cè)模由多個(gè)PD陣列模塊組成。采集方式是雙能采集方式,每塊CF248-10有4對(duì)PD,每對(duì)PD對(duì)應(yīng)16個(gè)像素、32個(gè)通道,即每塊CF248-10有128個(gè)通道。本次設(shè)計(jì)八串同時(shí)可連接探測(cè)器模塊的接口,每串可串聯(lián)15塊上述探測(cè)器序列,可達(dá)到15360個(gè)通道,帶載120塊CF248-10。可根據(jù)實(shí)際采集狀態(tài)調(diào)節(jié)積分時(shí)間和高低能增益。
1.2 系統(tǒng)總體設(shè)計(jì)方案
本文設(shè)計(jì)所采用的主要芯片是XILINX公司生產(chǎn)的ZYNQ-7000,其PL端的高頻率工作時(shí)鐘和快速處理能力可以滿足160Mbps采集數(shù)據(jù)的速率以及對(duì)數(shù)據(jù)進(jìn)行并行處理的需要,其PS端為成像系統(tǒng)的控制處理單元,不僅可以完成上位機(jī)對(duì)探測(cè)器序列的控制,而且可以運(yùn)行實(shí)時(shí)操作系統(tǒng),構(gòu)建以太網(wǎng)傳輸,實(shí)現(xiàn)上位機(jī)的實(shí)時(shí)成像。系統(tǒng)主體結(jié)構(gòu)框圖如圖1所示,數(shù)據(jù)采集模塊可連接多個(gè)通道的探測(cè)器序列,增加了可檢測(cè)的范圍和精度,并將采集的數(shù)據(jù)經(jīng)過(guò)實(shí)時(shí)操作系統(tǒng)處理,并會(huì)在DDR3進(jìn)行緩存,然后通過(guò)PHY芯片用以太網(wǎng)方式傳輸以便上位機(jī)可以對(duì)檢測(cè)物體進(jìn)行實(shí)時(shí)成像檢測(cè)。并通過(guò)串口功能對(duì)PS端操作系統(tǒng)的運(yùn)行狀態(tài)和數(shù)據(jù)通信進(jìn)行監(jiān)測(cè)。
2 系統(tǒng)軟件程序設(shè)計(jì)
系統(tǒng)的硬件程序設(shè)計(jì)分為數(shù)據(jù)采集模塊和數(shù)據(jù)傳輸模塊兩部分,數(shù)據(jù)采集模塊(PL端)的數(shù)字邏輯將采用VHDL語(yǔ)言進(jìn)行編寫(xiě),數(shù)據(jù)傳輸模塊(PS端)的程序設(shè)計(jì)將采用C語(yǔ)言配合FreeRTOS實(shí)時(shí)操作系統(tǒng)進(jìn)行編寫(xiě)。系統(tǒng)的系統(tǒng)硬件邏輯架構(gòu)圖如圖2所示,系統(tǒng)的實(shí)時(shí)成像將在上位機(jī)搭建顯示平臺(tái),進(jìn)行實(shí)時(shí)顯示。
2.1 數(shù)據(jù)采集模塊邏輯設(shè)計(jì)
數(shù)據(jù)采集模塊的數(shù)字邏輯設(shè)計(jì)是在PL端進(jìn)行的,主要包括參數(shù)設(shè)置單元、控制處理單元、數(shù)據(jù)生成轉(zhuǎn)換單元、差分信號(hào)轉(zhuǎn)換單元四個(gè)部分。參數(shù)設(shè)置單元是數(shù)據(jù)采集模塊(PL端)對(duì)上位機(jī)指令的轉(zhuǎn)換解析模塊,通過(guò)接收PS端發(fā)出的指令,按照相關(guān)報(bào)文協(xié)議對(duì)接收到的數(shù)據(jù)進(jìn)行分配整理,生成可供控制處理單元和數(shù)據(jù)轉(zhuǎn)換生成單元的各類參數(shù)和控制命令。
控制處理單元將作為數(shù)據(jù)采集模塊的核心,對(duì)探測(cè)器序列采集的數(shù)據(jù)和PS端傳遞過(guò)來(lái)的參數(shù)控制信息進(jìn)行主要的整合處理,按照參數(shù)單元解析的指令,對(duì)采集數(shù)據(jù)進(jìn)行數(shù)據(jù)截取,得到滿足一定成像條件的并行數(shù)據(jù)。
數(shù)據(jù)生成轉(zhuǎn)換單元將對(duì)控制單元生成的數(shù)據(jù),按照參數(shù)設(shè)置單元對(duì)采集數(shù)據(jù)的要求,對(duì)數(shù)據(jù)進(jìn)行有效部分的提取,并根據(jù)相應(yīng)報(bào)文對(duì)數(shù)據(jù)打包,形成可供傳輸?shù)絇S端的數(shù)據(jù)包。
差分信號(hào)轉(zhuǎn)換單元是將探測(cè)器序列的差分信號(hào)進(jìn)行轉(zhuǎn)換成可供FPGA端進(jìn)行邏輯設(shè)計(jì)的單端數(shù)字信號(hào)。而采用差分信號(hào)傳輸也是為了保證信號(hào)傳輸?shù)姆€(wěn)定性和完整性。
2.2 數(shù)據(jù)傳輸模塊邏輯設(shè)計(jì)
針對(duì)實(shí)時(shí)成像的系統(tǒng)需求,在PS端設(shè)計(jì)時(shí)需選用合適的實(shí)時(shí)操作系統(tǒng)對(duì)程序進(jìn)行實(shí)現(xiàn),考慮到PS端運(yùn)行空間大小及實(shí)時(shí)性與可靠性等因素,選擇FreeRTOS作為本次設(shè)計(jì)的操作系統(tǒng),并應(yīng)用以太網(wǎng)的方式進(jìn)行數(shù)據(jù)傳輸,采用Lwip堆棧實(shí)現(xiàn)TCP/IP協(xié)議,可以有效減少存儲(chǔ)器利用量和代碼尺寸,并有效的和實(shí)時(shí)操作系統(tǒng)結(jié)合,實(shí)現(xiàn)實(shí)時(shí)傳輸。數(shù)據(jù)傳輸模塊程序運(yùn)行框圖如圖3所示。
移植Lwip堆棧在FreeRTOS中進(jìn)行套接字socket的設(shè)置,完成TCP/IP的握手連接以及IP地址和MAC地址的設(shè)置,再通過(guò)創(chuàng)建相關(guān)數(shù)據(jù)傳輸任務(wù)函數(shù),而任務(wù)運(yùn)行的順序按優(yōu)先級(jí)的設(shè)定進(jìn)行,任務(wù)之間的信息通信經(jīng)過(guò)隊(duì)列進(jìn)行傳遞。在獲得上位機(jī)下達(dá)的指令后,按相關(guān)指令獲取數(shù)據(jù)后將通過(guò)DMA方式進(jìn)行傳輸,減小對(duì)PL端的中央處理單元的占用。上位機(jī)相應(yīng)參數(shù)控制指令也將通過(guò)ARM進(jìn)行相應(yīng)轉(zhuǎn)化后,調(diào)用Bram寄存器傳達(dá)到數(shù)據(jù)采集模塊中,使采集模塊按照上位機(jī)指令進(jìn)行工作。
3 系統(tǒng)實(shí)時(shí)成像設(shè)計(jì)與系統(tǒng)調(diào)試
系統(tǒng)實(shí)時(shí)成像軟件是通過(guò)VisualC++6.0開(kāi)發(fā)環(huán)境,結(jié)合Windows Socket開(kāi)發(fā)方式完成TCP/IP協(xié)議的千兆以太網(wǎng)傳輸,并調(diào)用成像函數(shù)設(shè)定圖像寬度,生成像素為1024*640的灰度圖。通過(guò)將本系統(tǒng)安裝在型號(hào)為T(mén)HSCAN CX6550B的X射線檢測(cè)機(jī)上進(jìn)行性能檢測(cè),對(duì)國(guó)家統(tǒng)一規(guī)定的安檢使用標(biāo)準(zhǔn)體(如圖4)進(jìn)行成像測(cè)試,得到的初步標(biāo)準(zhǔn)體成像(如圖5)。根據(jù)初步實(shí)時(shí)成像灰度圖效果表明,圖像整體邊緣顯示清晰,但實(shí)物細(xì)節(jié)顯示不清楚,因此用邊緣檢測(cè)方法進(jìn)行圖像去躁銳化,經(jīng)過(guò)Roberts算子,Prewitt算子,Sobel算子進(jìn)行圖像銳化后,依然無(wú)法顯示實(shí)物細(xì)節(jié)。經(jīng)分析得知,在灰度值范圍為0到65535范圍內(nèi),像素差值小于30,人類的肉眼將無(wú)法識(shí)別,各算子所計(jì)算的梯度值差別也很小。由Kirsch算法的原理啟發(fā),將單一像素周?chē)藗€(gè)方向的像素值進(jìn)行相減求絕對(duì)值運(yùn)算,根據(jù)絕對(duì)值的大小和絕對(duì)值的范圍,提取像素差值在15范圍的像素,并對(duì)提取像素進(jìn)行雙對(duì)角線與水平垂直四個(gè)方向的中值濾波,進(jìn)行單獨(dú)成像可見(jiàn)原始圖像無(wú)法顯示的細(xì)節(jié),但無(wú)法保證原圖像的完整性。針對(duì)這一現(xiàn)象,通過(guò)計(jì)算提取出的像素中值,利用本系統(tǒng)灰度成像的范圍與計(jì)算所得像素中值進(jìn)行比較,調(diào)整像素值大小,收縮灰度級(jí)范圍,進(jìn)而得到清晰的標(biāo)準(zhǔn)體檢測(cè)圖(如圖6)。并將相應(yīng)圖像處理方法在上位機(jī)中進(jìn)行編程,完成成像系統(tǒng)的設(shè)計(jì)。
參考文獻(xiàn)
[1]楊雷,高富強(qiáng),李嶺,等.高速低能X射線工業(yè)CT數(shù)據(jù)采集與傳輸[J].計(jì)算機(jī)應(yīng)用,2014,34(11):3361-3364.
[2]馬偉.X射線安檢機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].南昌大學(xué),2013.
[3]李紅偉.X 射線圖像采集與處理技術(shù)研究[D].長(zhǎng)春理工大學(xué),2012.endprint
數(shù)字技術(shù)與應(yīng)用2017年7期