譚群林,張東方,夏 浪,胡 亮,鐘 盛
(株洲時代電子技術(shù)有限公司,湖南 株洲 412001)
FPGA技術(shù)的靈活性使其成為復(fù)雜嵌入式系統(tǒng)設(shè)計、高性能數(shù)據(jù)采集和測試應(yīng)用的首選方案。LabVIEW FPGA是National Instrument(簡稱“NI”)公司的一種嵌入式圖形化開發(fā)環(huán)境,其開發(fā)效率高、代碼可讀性好、庫函數(shù)豐富,適用于測控領(lǐng)域,但主要支持NI公司的FPGA板卡?;贚abVIEW和自主研發(fā)的FPGA目標機來開發(fā)系統(tǒng)是一種新的嘗試,能參考的文獻資料甚少。為打通LabVIEW環(huán)境下開發(fā)自主研發(fā)的FPGA終端的關(guān)鍵環(huán)節(jié),本文以鋼軌超聲波探傷的數(shù)據(jù)系統(tǒng)設(shè)計為載體,參考《鋼軌超聲波探傷的信號處理》[1]的設(shè)計原理,采用FPGA構(gòu)建超聲波探傷數(shù)據(jù)處理系統(tǒng),并使用組件級知識產(chǎn)權(quán)節(jié)點(Socket component-level intellectual property,Socket CLIP)[2]、IP集成節(jié)點[2]、IP核技術(shù)[3]解決FPGA硬件與LabVIEW之間的互聯(lián)互通問題。由于該系統(tǒng)通道多、帶寬高、吞吐量大,很適合FPGA的應(yīng)用場景。與國內(nèi)外同類系統(tǒng)相比:(1)系統(tǒng)集成度更高,其采用更高密度的XILINX 7系列FPGA搭載了DDR3內(nèi)存、雙以太網(wǎng)、16通道集成激勵、串行32通道模數(shù)轉(zhuǎn)換芯片等核心電路;(2)系統(tǒng)開發(fā)效率和性價比更好,傳統(tǒng)FPGA主要使用VHDL、Verilog文本語言進行開發(fā),本系統(tǒng)則采用National instrument公司的LabVIEW FPGA工具包,可高效地開發(fā)基于FPGA的數(shù)字系統(tǒng)。用此技術(shù)構(gòu)建的超聲波數(shù)據(jù)處理系統(tǒng)具備很高的性價比。
鋼軌超聲波探傷檢測系統(tǒng)由多傳感器輪式探頭總成、A型顯示系統(tǒng)、B型顯示系統(tǒng)、超聲波數(shù)據(jù)處理系統(tǒng)及控制顯示計算機等構(gòu)成(圖1)。探輪總成內(nèi)部集成多路水浸式超聲波探頭,能夠發(fā)射和接收超聲波,超聲波通過耦合液傳遞至被測鋼軌,遇傷損或邊界后反射回來,回波信號進入數(shù)據(jù)處理系統(tǒng)進行信號處理。然后分成兩路輸出,一路輸出到示波軟件上,進行A型顯示,顯示聲波幅度與傳輸時間的關(guān)系;另一路傳輸?shù)娇刂骑@示計算機,在上位機完成空間轉(zhuǎn)換及傷損識別,把數(shù)字化的超聲波信息轉(zhuǎn)換成以鋼軌里程及傷損埋藏深度作為參考系的B型顯示。
圖1 檢測系統(tǒng)構(gòu)成Fig.1 Composition of the detection system
本文以超聲波數(shù)據(jù)處理系統(tǒng)為設(shè)計重點,系統(tǒng)框架包含硬件系統(tǒng)和軟件系統(tǒng)兩部分(圖2)。前端超聲波傳感器數(shù)據(jù)進入FPGA的硬件系統(tǒng),F(xiàn)PGA芯片資源豐富,可用于構(gòu)建采集、信號處理、通信及存儲等復(fù)雜功能電路。嵌入式軟件系統(tǒng)采用LabVIEW進行設(shè)計,它運行于底層FPGA硬件終端,實現(xiàn)算法及邏輯控制。
圖2 系統(tǒng)框架設(shè)計Fig.2 System framework design
超聲波數(shù)據(jù)處理系統(tǒng)硬件構(gòu)架[4]如圖3所示,其由輪式探頭、FPGA主控電路、超聲模擬前端電路、雙千兆以太網(wǎng)電路、智能數(shù)據(jù)電路、定位同步電路及調(diào)試電路等組成。
圖3 超聲電子系統(tǒng)硬件架構(gòu)Fig.3 Hardware architecture of ultrasonic electronic system
檢測系統(tǒng)的數(shù)據(jù)傳感裝置采用輪式探頭(圖4),它是一種充滿液體的能承受壓力的軟體橡膠輪,內(nèi)部集成水浸式超聲波傳感器并朝不同方向布置,能探測鋼軌內(nèi)部不同部位和方向的傷損。超聲波傳感器通過高壓脈沖激勵傳感器產(chǎn)生超聲波,經(jīng)過探輪和耦合介質(zhì)進入到被測鋼軌中。遇到鋼軌內(nèi)部的裂紋、空洞等傷損時,部分超聲波能量反射回來,系統(tǒng)接收到反射回波后進行信號處理,以得到傷損回波的位置信息,并通過多個超聲通道的組合信息完成傷損類型識別。輪式探頭可在鋼軌上滾動,實現(xiàn)高速動態(tài)檢測。
圖4 輪式探頭設(shè)計與探測原理Fig.4 Wheel probe design and detection principle
FPGA主控電路是系統(tǒng)控制的核心,由FPGA、DDR3和Flash組成(圖5)。FPGA系統(tǒng)由兩路低電壓差分信號(low voltage differential signaling,LVDS)的差分晶振提供穩(wěn)定的時鐘輸入,其中200 MHz有源差分晶振用于FPGA系統(tǒng)主時鐘的驅(qū)動源,可用于驅(qū)動FPGA內(nèi)部的DDR3內(nèi)存控制器;125 MHz晶振預(yù)留給光纖GTP收發(fā)器使用。DDR3電路采用兩片共1 GB容量的DDR3芯片組成,總線寬度為32bit、最高工作頻率為400 MHz。
圖5 FPGA主控電路Fig.5 Control circuit of FPGAmain
超聲模擬前端電路包含多路超聲激勵電路和多路超聲數(shù)據(jù)采集電路(圖6),超聲激勵接收電路采用TX7316構(gòu)建,其共設(shè)有16個脈沖發(fā)生器電路和16個發(fā)送/接收(T/R)開關(guān),支持片上和片外波束形成器,集成片上浮動電源,可減少所需高壓電源的數(shù)量。
圖6 超聲模擬前端電路Fig.6 Ultrasonic analog front end circuit
超聲數(shù)據(jù)采集電路包括低噪聲放大器(low noise amplifiter,LNA)、壓控增益放大器(VCA)、時間增益放大器(time gain compensation,TGC)、抗混疊濾波器(Anti-Alias Filter,AAF)和8通道模數(shù)轉(zhuǎn)換器(analog to digital converter,ADC)。LNA采用AD810型芯片,其固定增益輸出為17.5 dB。VCA采用AD605型雙運算放大器,兩級串聯(lián),能在0.4~2.4 V的控制電壓下實現(xiàn)-28~68 dB范圍增益控制。AFE5801是8通道、12位、65MSPS串行輸出轉(zhuǎn)換器,其內(nèi)置TGC和AAF,其中TGC可以通過編程獲得-5~31 dB的增益用于距離波幅補償,AAF通過SPI編程選擇7.5 MHz、10 MHz或15 MHz任意一種頻率的低通濾波器用于模擬前端濾波。ADC為LVDS接口輸出,8個通道12位數(shù)據(jù)只需要8對LVDS接口就能實現(xiàn)與FPGA的連接,節(jié)約引腳資源,可實現(xiàn)更多通道、更高密度的應(yīng)用。
千兆以太網(wǎng)通過2片KSZ9031型以太網(wǎng)芯片實現(xiàn)網(wǎng)絡(luò)通信,該芯片支持10、100、1 000 Mb/s網(wǎng)絡(luò)傳輸速率,通過 RGMII(reduced gigabit media independent interface)接口與FPGA(MAC)進行數(shù)據(jù)通信。當網(wǎng)絡(luò)連接到千兆以太網(wǎng)時,F(xiàn)PGA和端口物理層(PHY)芯片KSZ9031的數(shù)據(jù)傳輸通過RGMII總線通信,傳輸時鐘頻率為125 MHz,數(shù)據(jù)在時鐘上升沿和下降沿采樣。千兆以太網(wǎng)電路[5]如圖7所示。媒體訪問控制器(media access control,MAC)的硬件控制器及通信協(xié)議在FPGA中完成。雙路千兆以太網(wǎng)通信獨立并行運行,有效提高了數(shù)據(jù)帶寬且使用靈活。
圖7 千兆以太網(wǎng)電路Fig.7 Gigabit Ethernet circuit
智能傳感器、定位同步、聯(lián)合測試工作組(joint test action group,JTAG)接口調(diào)試電路如圖8所示。
圖8 智能傳感器、定位同步、JTAG調(diào)試電路Fig.8 Intelligent sensor、 positioning synchronization、JTAG debug circuit
智能傳感器由數(shù)字溫度傳感電路和數(shù)字壓力傳感電路組成。LM75是高精度、低功耗數(shù)字溫度傳感器芯片,具備芯片互連(inter-integrated circuit,I2C)數(shù)字接口;數(shù)字壓力芯片[6]是一種壓阻式絕對壓力傳感器,其作為數(shù)字輸出壓力計,通過I2C或者SPI總線訪問通信。FPGA通過I2C通信可以分別獲得溫度和壓力數(shù)據(jù)。
定位同步電路由編碼器、RS232和RS422串口電路組成。編碼器采用增量型光電編碼器,標準輸出3 600 個脈沖,輸出 3相互補信號:A+、A-、B+、B-、Z+、Z-,采用SN75182型微控制器將A+、A-、B+、B-信號轉(zhuǎn)成A、B單極性方波信號后輸入FPGA,A、B相輸出相位差為90°,通過對編碼器A、B相信號的計數(shù)與相位判斷,可以用于里程的定位以及行進方向識別。
MAX232、ADM489分別用于實現(xiàn)RS232、RS422電路的功能。系統(tǒng)可通過串口獲得北斗的經(jīng)緯度信息、運監(jiān)系統(tǒng)的公里標信息、射頻標簽定位信息、鍵盤輸入的路標、路況信息等,實現(xiàn)系統(tǒng)的定位功能。
JTAG調(diào)試電路采用USB-JTAG調(diào)試模塊,并嵌入到FPGA終端中,方便FPGA實現(xiàn)在線調(diào)試、數(shù)據(jù)下載和程序固化等功能。
2.6.1 Socket CLIP與IP Node技術(shù)
Socket CLIP與知識產(chǎn)權(quán)集成節(jié)點(IP Integration Node,IP Node)是解決 LabVIEW FPGA 虛擬儀器(virtual instrument,VI)與底層物理芯片快速互聯(lián)的關(guān)鍵技術(shù),如圖9所示。IP Node技術(shù)允許硬件描述語言 VHDL(very high speed IC hardware description language)代碼直接與FPGAVI通信。Socket CLIP技術(shù)允許VHDL代碼直接與FPGA VI通信及訪問無法通過LabVIEW VI和函數(shù)訪問的FPGA引腳。Socket CLIP與IP Node區(qū)別就是,它可以直接在底層和LabVIEW建立聯(lián)系,直接調(diào)用IP讀寫FPGA的物理IO(輸入輸出)信號。所以根據(jù)芯片控制的復(fù)雜程度,DDR3內(nèi)存芯片、千兆以太網(wǎng)等芯片的驅(qū)動程序采用Socket CLIP技術(shù)進行封裝,CLIP底層可以看成是“先進先出(first in first out,F(xiàn)IFO)存儲器邏輯+存儲信息寄存器(memory-information register,MIG)控制器代碼”。串行通信、A/D(模擬/數(shù)字)、D/A(數(shù)字/模擬)等控制電路相對簡單的芯片采用IP Node技術(shù)進行封裝。
圖9 Socket CLIP與IP集成節(jié)點Fig.9 Socket CLIP and IP node
2.6.2 FPGA終端
本系統(tǒng)結(jié)合Socket CLIP封裝技術(shù),生成驅(qū)動程序包進行安裝,能讓LabVIEW開發(fā)平臺識別到自主研發(fā)的FPGA硬件,并能在FPGA項目中創(chuàng)建FPGA終端。使用Socket CLIP技術(shù)封裝的虛擬外部設(shè)備如圖10(a)所示,其中KSZ_1 Data、KSZ_2 Data表示封裝了雙路千兆以太網(wǎng)外設(shè),DDR Data表示封裝DDR3存儲器外設(shè);它將外設(shè)與FPGA之間的物理引腳和時鐘信號全部封裝到CLIP內(nèi)部,應(yīng)用開發(fā)時,只需要將數(shù)據(jù)傳輸給CLIP或者從CLIP讀取數(shù)據(jù)即可,無需關(guān)注外設(shè)本身的時鐘和物理引腳。使用IP集成節(jié)點來封裝AFE5801、UART、LM75、lPS25等外設(shè)IP核(Intellectual property core),這些封裝好的外設(shè)極大地方便了整個系統(tǒng)的構(gòu)建。它解決了LabVIEW軟件與FPGA硬件間互聯(lián)互通的關(guān)鍵技術(shù)問題,構(gòu)建了LabVIEW與FPGA快速互連的軟件橋梁。
圖10 FPGA終端Fig.10 FPGAterminal
軟件數(shù)據(jù)流模型(圖11)是軟件架構(gòu)設(shè)計的參考依據(jù),其中A、B型顯示、輔助判傷在上位機軟件①中完成,線程②~⑨在下位機中完成。上、下位機之間通過千兆以太網(wǎng)通信,數(shù)據(jù)直達底層硬件,實時性更強。以下數(shù)據(jù)線程都運行在FPGA終端上:以太網(wǎng)通信線程②、DDR3線程③、編碼器線程④、超聲激勵線程⑤、多路數(shù)據(jù)采集線程⑥、數(shù)字信號處理線程⑦、智能數(shù)據(jù)線程⑧、圖像數(shù)據(jù)處理⑨,線程間采用高速且高效的FIFO交換數(shù)據(jù)。各線程的功能如下:以太網(wǎng)通信線程②是超聲數(shù)據(jù)的主通信線程,上位機通過此線程完成數(shù)據(jù)、指令、參數(shù)的上傳和下達,它通過FIFO1將上位機的“仿真數(shù)據(jù)、速度等級、通道參數(shù)、增益曲線、控制參數(shù)”信息傳遞到DDR3及FIFO2中;DDR3線程③、編碼器線程④、激勵線程⑤及數(shù)據(jù)采集線程⑥接受這些參數(shù)進行工作,數(shù)據(jù)采集線程⑥生產(chǎn)的數(shù)據(jù)通過FIFO4傳遞給數(shù)字信號處理線程⑦,經(jīng)過FIR濾波、數(shù)字包絡(luò)檢波、A、B型顯示數(shù)據(jù)處理之后通過FIFO5經(jīng)由以太網(wǎng)線程②回傳到上位機,在上位機進行A型和B型顯示、傷損識別和存儲。
圖11 數(shù)據(jù)流Fig.11 Data flow
以太網(wǎng)線程②是專門處理超聲檢測數(shù)據(jù)的線程,是底層電子系統(tǒng)的網(wǎng)絡(luò)驅(qū)動程序,如圖12所示。它采用Socket CLIP技術(shù)將整個千兆以太網(wǎng)雙向收發(fā)UDP通信過程封裝成CLIP組件,此組件在KSZ9031芯片輸出的125 MHz時鐘頻率下工作,包含一個復(fù)位線程和一個通信線程。工作之前,把“FPGA_IP、PC_IP、FPGA_MAC、PC_Port、FPGA_Port”等參數(shù)傳遞給IP核,在isupdate信號上升沿更新IP核;啟動以太網(wǎng)通信之后,IP核會把指定長度的“FIFO:數(shù)據(jù)上傳”中的數(shù)據(jù)上傳到上位機,并把上位機下達的“速度等級、通道參數(shù)、增益曲線、控制參數(shù)”等數(shù)據(jù)存到“FIFO1:指令參數(shù)”中。通過這兩個FIFO,把數(shù)據(jù)再傳遞到下一級線程④~線程⑥中處理;還有一部分數(shù)據(jù),如仿真數(shù)據(jù),需要通過線程③存入到DDR3中;A、B型顯示數(shù)據(jù)、里程數(shù)據(jù)、脈沖數(shù)據(jù)、智能數(shù)據(jù)等則通過FIFO5上傳到上位機進行處理。所以以太網(wǎng)線程是上、下位機間數(shù)據(jù)的“高速公路”,負責(zé)兩者間數(shù)據(jù)的上傳和下達。
圖12 千兆以太網(wǎng)線程Fig.12 Gigabit Ethernet software thread
封裝后的DDR3內(nèi)存使用非常方便,將DDR3的讀和寫都做成標準的4線握手制的CLIP組件(此組件包含一個復(fù)位線程和一個讀寫線程),DDR3線程的作用是滿足大數(shù)據(jù)量的存儲和緩沖。在寫入指令的作用下,把“FIFO_DDR3_WR_Data”中的數(shù)據(jù)寫入到指定長度、指定地址的DDR3中,如上位機的仿真數(shù)據(jù)存入DDR3中的過程及圖像數(shù)據(jù)暫存DDR3的過程等;同理,在讀取指令的作用下,將指定地址、指定長度的DDR3中的數(shù)據(jù)讀入到FIFO_DDR3_RD_Data中,如仿真數(shù)據(jù)循環(huán)往復(fù)地從DDR3中讀出來的過程。DDR3讀寫線程如圖13所示。
圖13 DDR3讀寫線程Fig.13 DDR3 read/write thread
編碼器脈沖是實現(xiàn)超聲激勵間隔、里程定位、各通道同步的基礎(chǔ)。圖14所示為編碼器信號處理線程,具體如下:
圖14 編碼器線程Fig.14 Encoder thread
(1)通過對編碼器A、B信號的邊緣檢測實現(xiàn)對脈沖計數(shù)和對激勵的觸發(fā)控制;
(2)對編碼器A、B信號的正交特性進行檢測可用于判斷設(shè)備的行進方向;
(3)64位脈沖計數(shù)器用于使系統(tǒng)脈沖同步,通過計算轉(zhuǎn)速、輔以輪徑,可以算出絕對里程L=L0+2πR/3600 × P,其中L為里程,L0為初始里程,R為輪徑,P為脈沖計數(shù)值。
超聲波的產(chǎn)生需要將高壓脈沖[7]作用于壓電晶片上。圖15所示的8通道超聲波激勵線程,其作用是產(chǎn)生合適的激勵脈沖,它通過軟件將“保持時間、激發(fā)頻率、激發(fā)延遲、通道使能信息”傳遞到“激勵延時模塊.ⅵ”和“TX7316脈沖發(fā)生模塊.ⅵ”上,產(chǎn)生的激勵脈沖通過FPGA的IO引腳輸出,以驅(qū)動芯片TX7316產(chǎn)生高壓脈沖。
圖15 超聲波激勵線程Fig.15 Ultrasonic generation thread
圖16所示數(shù)據(jù)采集線程包含壓控型增益控制VCA、時間增益控制TGC、AAF抗混疊濾波處理、模數(shù)轉(zhuǎn)換ADC。模數(shù)轉(zhuǎn)換前需要放大調(diào)理,回波信號經(jīng)過低噪聲運算放大器LNA后進入VCA壓控增益放大。該環(huán)節(jié)通過AD7801控制AD605實現(xiàn),通過軟件控制“VCA”參數(shù)實現(xiàn)控制電壓Vgn=0.0129×VCA的輸出,以此控制兩級串聯(lián)放大器AD605;輸出增益Gdb=40×Vgn-38,理論上可實現(xiàn)-28~68 dB增益范圍輸出。信號放大后進入AFE5801,內(nèi)部完成時間增益補償TGC、抗混疊濾波器AAF和模數(shù)轉(zhuǎn)換器ADC 3大功能。由于此芯片引腳多且功能復(fù)雜,所以直接將底層Verilog驅(qū)動代碼封裝成IP核形式,采用IP集成節(jié)點調(diào)用。TGC、AAF功能通過FPGA的串行外設(shè)接口(serial peripheral interface,SPI)通信進行設(shè)置,用TGC功能進行聲程補償,用AAF功能進行片內(nèi)模擬濾波,最后信號送到ADC進行模數(shù)轉(zhuǎn)換。線程采用40 MHz時鐘信號驅(qū)動;同時作為AD轉(zhuǎn)換時鐘,其最高頻率可到65 MHz。IP核通過芯片的位時鐘和幀時鐘進行數(shù)據(jù)的串并轉(zhuǎn)換,完成8通道串行數(shù)據(jù)的并行輸出,在data_vaid指示有效的情況下輸出8通道(ad_ch1~ad_ch8)的數(shù)據(jù),并緩存到FIFO_CHx_AFE_Filter_16bit中,此8通道的FIFO數(shù)據(jù)又作為數(shù)字信號處理線程的數(shù)據(jù)輸入傳遞到下一個處理線程。
圖16 超聲數(shù)據(jù)采集線程Fig.16 Ultrasonic data acquisition thread
數(shù)字信號處理線程⑦主要對模數(shù)轉(zhuǎn)換后的數(shù)據(jù)進行數(shù)字信號處理,實現(xiàn)以下幾個功能:有限長單位沖激響應(yīng)(finite impulse response,F(xiàn)IR)數(shù)字濾波、包絡(luò)檢波和AB型數(shù)據(jù)處理。其中,F(xiàn)IR數(shù)字濾波器用于濾除超聲波傳感器特征頻率以外的噪聲信號,包絡(luò)檢波用于提取特征頻率的包絡(luò),A、B型數(shù)據(jù)處理是根據(jù)包絡(luò)計算A型顯示的幅頻特性和實現(xiàn)B型顯示的成像。
3.6.1 數(shù)字濾波器設(shè)計[9]
基于“DFDT數(shù)字濾波器工具包”進行數(shù)字濾波器的設(shè)計。目前檢測用的超聲波頻率有2.25 MHz和3.5 MHz兩種。數(shù)字帶通濾波器設(shè)計如圖17所示,其帶通范圍為1.8~4 MHz,信號采樣率40 MS/s,精度為16位,噪聲抑制比為-40 dB。濾波器結(jié)構(gòu)選型和系數(shù)量化見圖18所示:選用FIR濾波器結(jié)構(gòu),16位量化系數(shù),254階系數(shù)生成于Coefficients Report中。對濾波器進行性能仿真(圖19),向濾波器分別輸入頻率為3.5 MHz、2.25 MHz、1 MHz、5 MHz且幅度為±1V的正弦信號??梢钥闯觯簽V波器在頻率為3.5 MHz、2.25 MHz(帶通內(nèi))時幅度衰減很??;在頻率為1 MHz、5 MHz時(通帶外),幅度衰減很大,表明帶通濾波性能良好,符合設(shè)計要求。濾波器代碼輸出如圖20所示,可以看出,它是一種可以在FPGA單周期定時循環(huán)中運行的帶通濾波器IP核,同時可以處理8通道數(shù)據(jù)。把此IP核移植到圖21所示的數(shù)字信號處理線程中,則能同時處理8通道超聲數(shù)據(jù)。
圖17 數(shù)字帶通濾波器設(shè)計Fig.17 Design of digital bandpass filter
圖18 濾波器結(jié)構(gòu)選型和系數(shù)量化Fig.18 Filter structure selection and coefficient quantization
圖19 濾波器性能仿真Fig.19 Filter performance simulation
圖20 LabVIEW FPGA濾波器代碼輸出Fig.20 LabVIEW FPGAfilter code output
圖21 數(shù)字信號處理線程Fig.21 Digital signal processing thread
3.6.2 包絡(luò)檢波設(shè)計[10-11]
在脈沖反射式超聲探傷研究中,常常采用高斯模型來表示回波特征:
式中:α—帶寬因子;τ—到達時間;f—中心頻率;φ—相位;β—幅度因子,βe-a(t-τ)2函數(shù)表征回波的幅度按照指數(shù)衰減規(guī)律進行變化。
超聲回波的A型顯示、時間計算都需用到包絡(luò)信號。希爾伯特變換是信號包絡(luò)提取的一種常用方法,其對超聲回波信號fκ(t)求包絡(luò),首先對其進行Hilbert變換,得到合成信號然后對合成的信號取幅值y()t,此時y(t)就是回波信號的上包絡(luò)。
利用數(shù)學(xué)模型生成超聲回波信號,并進行Hilbert變換,算法如圖22所示,包絡(luò)提取效果如圖23所示,包絡(luò)特征的提取有利于后續(xù)的線程處理。
圖22 超聲波包絡(luò)檢波算法Fig.22 Algorithm of ultrasonic envelope detection
圖23 超聲波包絡(luò)檢波仿真結(jié)果Fig.23 Simulation results of ultrasonic envelope detection
3.6.3 A、B型顯示數(shù)據(jù)處理
超聲回波經(jīng)過包絡(luò)檢波之后,進入“A_B顯示數(shù)據(jù)處理.ⅵ”模塊,經(jīng)處理會得到3種重要數(shù)據(jù):A型顯示數(shù)據(jù)、B型顯示數(shù)據(jù)、0度通道數(shù)據(jù)。如圖24所示,A型顯示數(shù)據(jù)和B型顯示數(shù)據(jù)分別暫存于FIFO_UDP_U8H、FIFO_UDP_U8L中,其打包和上傳任務(wù)在下位機完成,然后通過千兆以太網(wǎng)進行上傳;0度通道的界面波數(shù)據(jù)是各通道回波傳播時間計算的基礎(chǔ),即傷損埋藏深度計算依據(jù)。
圖24 A、B型顯示數(shù)據(jù)處理Fig.24 Processing ofAand B display data
智能數(shù)據(jù)線程1和線程2如圖25所示,線程1是通過LM75型溫度傳感器芯片讀取IP核、LPS25型壓力傳感器芯片讀取IP核獲得溫度與壓力數(shù)據(jù),并存入相應(yīng)的FIFO存儲器中。線程2通過UART串口IP與北斗定位裝置、運行監(jiān)控裝置、射頻標簽和遠程鍵盤等連接,獲得經(jīng)緯度、公里標、路標、路況等數(shù)據(jù)信息并存入相應(yīng)的FIFO6存儲器中,最后通過以太網(wǎng)線程②將數(shù)據(jù)上傳到上位機。這些數(shù)據(jù)可以提升系統(tǒng)的智能化水平和定位精度等。
圖25 智能數(shù)據(jù)處理線程Fig.25 Intelligent data processing thread
線程2采用四線握手方式,其核心思想是將下一級的“輸入就緒”通過反饋節(jié)點連接到前一級的“輸出就緒”,通知前一級已經(jīng)準備好了,可以接收新的數(shù)據(jù);同樣,如果前一級產(chǎn)生了有效數(shù)據(jù),需要將“輸出有效”接到下一級的“輸入有效”,以便將有效數(shù)據(jù)傳遞過去。四線握手方式可以很好處理數(shù)據(jù)生產(chǎn)與數(shù)據(jù)消費之間的速率同步問題,在兩者步調(diào)一致的情況下實現(xiàn)數(shù)據(jù)的最大吞吐率。
輔助判傷是上位機為超聲識別的傷損提供圖像輔證功能,圖像數(shù)據(jù)采用千兆以太網(wǎng)通信。上位機通過以太網(wǎng)供電(power over Ethernet,POE)交換機從左右兩路線掃攝像頭中獲得圖像數(shù)據(jù),跟上位機中的傷損識別數(shù)據(jù)進行同步存儲,可以為用戶提供800×600像素以下的圖像,用于傷損特征的視覺輔助判別。
A型顯示窗口、B型顯示窗口是上位機人機顯示的主要窗口。超聲波A型顯示在檢測過程有著十分重要的作用,其可以提供激勵信號、界面波信號、傷損回波、底面回波、閘門、幅度信息、增益變化及噪聲等信號的觀測窗口,為參數(shù)調(diào)整提供參考依據(jù)。如圖26所示,本系統(tǒng)采用軟件顯示方式實現(xiàn)A型顯示窗口,優(yōu)點是便于A型顯示數(shù)據(jù)的存儲及回放。其實現(xiàn)原理把一幀經(jīng)過包絡(luò)檢波的超聲回波聲程數(shù)據(jù),輔以閘門寬度、延時等信息后,以幅度時間坐標系進行顯示。
圖26 超聲波A型顯示Fig.26 Ultrasonic A-scan
超聲波B型顯示數(shù)據(jù)是在系統(tǒng)空間轉(zhuǎn)換和傷損識別后的圖形數(shù)據(jù),再配上定位公里標、路況及路標等輔助信息,在上位機檢測軟件中顯示。同時,系統(tǒng)根據(jù)多通道超聲傷損特征自動識別傷損類型,以不同的傷損圖標提示,圖27示出B型顯示的主要特征,圖28示出真實檢測的B型數(shù)據(jù),檢測人員從這些多通道組合的圖形數(shù)據(jù)中進行分析、判讀和傷損定位。
圖27 超聲波B型顯示Fig.27 Ultrasonic B-scan
圖28 現(xiàn)場運用中的超聲波B型顯示Fig.28 Ultrasonic B-scan in field application
通過工程應(yīng)用與實驗證明,基于FPGA搭建的系統(tǒng)硬件架構(gòu)不僅能滿足了超聲系統(tǒng)在多通道、并行、高速和大吞吐率應(yīng)用中的要求,還降低了硬件成本和PCB的布線面積?;贚abVIEW完成底層軟件算法設(shè)計,編譯生成目標電路并部署到自主研發(fā)的FPGA硬件構(gòu)架上。兩者的融合為電子系統(tǒng)設(shè)計提供了一套新的開發(fā)方法,其既發(fā)揮了LabVIEW在算法和圖形編程上的優(yōu)勢,又發(fā)揮了自主研發(fā)的FPGA硬件在功能和成本方面的突出特點:
(1)此架構(gòu)能在一塊標準6U插件的PCB板上用“1片F(xiàn)PGA+4片AFE5801”就能實現(xiàn)32通道的超聲波數(shù)據(jù)采集通路,相比之前需要用4塊6U插件才能實現(xiàn)的架構(gòu),可降低硬件成本60%左右,集成度增加50%以上;
(2)基于LabVIEW搭建底層軟件架構(gòu),其在構(gòu)建并行特性、多線程、實時性、圖形編程和FIFO數(shù)據(jù)傳遞方面有先天優(yōu)勢;
(3)結(jié)合“Socket CLIP封裝技術(shù)、IP集成節(jié)點技術(shù)”的靈活運用可實現(xiàn)軟硬件間的互聯(lián)互通;
(4)標準四線握手編程與FIFO應(yīng)用既方便了線程間數(shù)據(jù)的交換,又實現(xiàn)不同時鐘頻率下數(shù)據(jù)速率的同步;
(5)采用定時循環(huán)構(gòu)建的并行線程,程序結(jié)構(gòu)清晰,易讀易懂,既提高了軟件的開發(fā)效率,又能提高軟件后續(xù)的升級及移植的效率,開發(fā)實例表明基于數(shù)據(jù)流的圖形編程和多線程的并行架構(gòu)設(shè)計可以提升固件約60%的開發(fā)效率和約40%的代碼移植效率。
目前,利用此架構(gòu)設(shè)計的超聲波探傷數(shù)據(jù)處理系統(tǒng)具有32個通道的超聲波信號處理能力。隨著探傷技術(shù)的發(fā)展,會出現(xiàn)64通道、128通道、256通道等更多通道的超聲波探傷技術(shù)的應(yīng)用環(huán)境,包括相控陣應(yīng)用領(lǐng)域,因此,需要規(guī)劃更多通道、更寬數(shù)據(jù)帶寬、更大數(shù)據(jù)吞吐率的平臺架構(gòu),以適應(yīng)未來探傷產(chǎn)業(yè)的發(fā)展。