徐義忠,曾艷麗,孫 超,蘇 鑫,宋云鵬
(1.國機傳感科技有限公司,遼寧沈陽 110043;2.遼河油田油氣集輸公司,遼寧盤錦 124010)
管道運輸作為一種安全、經濟的運輸方式,被廣泛應用于天然氣、石油等能源的運輸。但由于長時間的介質腐蝕和磨損,管道會出現一定程度的損傷,甚至可能發生重大泄漏爆炸事故,因此管道的安全關系著國家經濟發展及人民生命財產的安全。隨著油氣管道完整性理念的興起[1],管道內檢測技術迅速發展,當前國內所應用的智能內檢測器以漏磁檢測技術(MFL)為典型代表,經過40 多年的發展,得到了廣泛應用,為管道安全運行和科學管理提供了重要決策依據[2]。其中,軸向漏磁檢測技術發明最早并最為成熟,繼之又出現了橫向漏磁檢測技術、三維探頭檢測技術、超高清晰度的全斷面漏磁檢測技術[3-4]。檢測技術的快速發展和檢測需求的提出,需要采集大量電磁信號數據來支撐,導致大量的數據需要存儲,對采集系統的速度及兼容性要求極高。因此,設計一套高水平、高標準、高效率的智能化管道數據采集系統尤為重要[5]。
發揮ARM+Linux 高速多任務及FPGA 高速并行優勢,設計實現管道內檢測數據的高速并行采集、存儲和顯示,多次成功應用在長距離管道內檢測中[6]。
在該系統中,FPGA 主要負責數據采集和數據傳輸[7],ARM 主要負責數據接收、數據存儲和數據上傳以及和上位機通信。通過例化的多路SPI 和I2C 接口FPGA 實時采集探頭傳感器和外設數據,按一定的數據格式緩存于SDRAM 中,然后通過USB FIFO將數據傳遞給ARM,ARM 再通過FatFS 文件系統按一定的文件名稱和格式將采集數據存儲到TF 卡組。串口用于編程調試,USB3.0 既可用于下載移植Linux 系統,也可用于上傳模式下將TF 掛載到PC端,進行數據高速上傳。網口用于調試模式下連接上位機軟件,可以實時顯示探頭傳感器和外設的狀態[8-9]。系統總體框圖如圖1 所示。

圖1 系統總體框圖
FPGA 芯片選用Intel Altera 公司Cyclone 系列的EP4CE15F23(15,408LEs,504 kbit RAM,56 Embedded 18×18 multipliers,20 Global Clock Networks,343 user I/O,4PLLs),支持各種高速外接存儲器接口,支持各種標準的I/O,高速差分I/O,具有豐富的外部資源以及支持多種高性能標準。外部時鐘源頻率為50 MHz,外接一片HY57V2562GTR(16M×16Bit)SDRAM,能夠滿足速度和數據緩存的需求。
ARM 芯片選用NXP 公司的i.MX6ULL,其是一款高性能、超高效的處理器,采用恩智浦先進的單ARM Cortex-A7 內核實現,運行速度高達792 MHz。i.MX6ULL 包含集成電源管理模塊,可降低外部電源的復雜性并簡化電源排序。該系列中的每個處理器都提供各種內存接口,包括LPDDR2、DDR3、DDR3L、原始的和管理的NAND Flash、NOR Flash、eMMC、Quad SPI,以及用于連接外圍設備的各種其他接口,例如WLAN、藍牙?、GPS、顯示器和相機傳感器。i.MX6ULL 功能框圖如圖2 所示。

圖2 NXP i.MX6ULL功能框圖
i.MX6ULL 處理器的特性包括[10]:
1)單核ARM Cortex-A7——單核A7 提供了一種經濟高效的解決方案。
2)多級存儲系統——處理器的多級存儲系統基于L1 指令和數據緩存、L2 緩存以及內部和外部存儲器。該處理器支持多種類型的外部存儲設備,包括DDR3、低壓DDR3、LPDDR2、NOR 閃存、NAND 閃存(MLC 和SLC)、OneNAND ?、Quad SPI 和管理的NAND,包括最高4.4/4.41/4.5 版的eMMC。
3)智能速度技術——在整個IC 中實施的電源管理,使多媒體功能和外圍設備在活動和各種低功耗模式下都消耗最少的功率。
4)動態電壓和頻率縮放——通過縮放電壓和頻率來優化設備的電源效率以優化性能。
5)多媒體動力源——多級緩存系統、NEON?MPE(媒體處理器引擎)協處理器、可編程智能DMA(SDMA)控制器、異步音頻采樣率轉換器、電泳顯示器(EPD)控制器和像素處理流水線(PXP)增強了處理器的多媒體性能,以支持2D 圖像處理,包括顏色空間轉換、縮放、alpha 混合和旋轉。
6)2 個以太網接口——2 個10/100 MB/s 以太網控制器。
7)人機界面——每個處理器支持一個數字并行顯示界面。
8)接口靈活——每個處理器都支持連接到各種接口:兩個帶PHY 的高速USB OTG、多個擴展卡端口(高速MMC/SDIO 主機和其他)、兩個帶PHY 的12位ADC 模塊多達10 個輸入通道和兩個CAN 端口。
9)高級安全性——處理器提供支持硬件的安全功能,可實現安全電子商務、數字版權管理(DRM)、信息加密、安全啟動、AES-128 加密、SHA-1、SHA-256硬件加速引擎和安全軟件下載。
10)集成電源管理——處理器集成線性穩壓器并在內部為不同域生成電壓電平,這顯著簡化了系統電源管理結構。
在該系統中,i.MX6ULL 配置了512 MB DDR3 作為內存,512 MB NAND 作為系統和用戶程序存儲,同時移植了Linux 操作系統[10]。
FIFO 轉USB 電路的芯片選用飛特帝亞公司(FTDI)的FT232H,FT232H 高速單通道橋接芯片以USB 高速(60 MB/s)運行,具有靈活的串行接口或并行FIFO 接口,數據傳輸速率高達40 MB/s。使用串行EEPROM 接口,該設備可以被配置為各種異步和同步串行標準,例如JTAG、SPI、I2C 和UART 以及同步和異步并行FIFO 接口。該設備還具有新的同步、半雙工FT1248 總線,它允許利用1、2、4 或8 條數據線以達到30 MB/s。I/O 結構端口電壓為3.3 V,具有5 V 耐壓,與FPGA 接口相連時具有更大的靈活性。FIFO 轉USB 電路如圖3 所示。

圖3 FIFO轉USB電路
FT232H 將FPGA 采集的暫存在SDRAM 里的信息通過FIFO 取出轉成USB 格式發送給ARM,完成FPGA 和ARM 之間的數據傳遞[11]。
網口轉USB 電路的芯片選用亞信公司(AXIS)的AX88179。AX88179 是一款低價、小封裝、高性能、高集成度、即插即用的USB 3.0 轉千兆以太網單芯片,支持超節能以太網(EEE)標準及低功耗的數字信號處理(DSP)技術,可應用于任何具備標準USB 端口的嵌入式系統,僅需單25 MHz 時鐘即可正常工作。網口轉USB 電路如圖4 所示。

圖4 網口轉USB電路
AX88179 用于連接ARM 和上位機軟件,調試時可以將來自上位機軟件的命令傳送給ARM,對系統進行設置,也可以將ARM 接收的數據傳送到上位機進行解析,以便實時了解探頭傳感器和外設的狀態[12-13]。
USB HUB 電路的芯片選用臺灣湯銘的FE8.1。FE8.1 是一款高度集成、高質量、極小體積、極低功耗的高速四口USB HUB 集線器控制器,是USB 兩端口集線器高性能的解決方案,是嵌入式的最佳選擇。USB HUB 電路如圖5 所示。

圖5 USB HUB電路
FE8.1 整合下游網口轉USB 電路和FIFO 轉USB電路的數據與上游的ARM 進行交換。
數據的寫入和讀取切換電路的芯片選用德州儀器(TI)的HD3SS6126。HD3SS6126 器件是一款針對USB 應用而設計的高速無源開關,用于將超高速USB RX 和TX 以及USB 2.0 DP 和DM 信號從源位置路由到目標位置,反之亦然。寫入和讀取切換電路如圖6 所示。

圖6 寫入和讀取切換電路
數據采集時,ARM 通過SEL 切換到存儲模塊,將數據存儲到TF 卡中;數據上傳時,切換到USB3.0,將TF 卡掛載到電腦,就可以將存儲的數據拷貝出來進行分析。
該系統的軟件主要包括三大部分:FPGA 程序主要用于數據的采集和傳送,定時采集探頭傳感器的數據,按一定的幀格式傳遞給ARM;ARM 程序主要用于數據的接收和存儲,接收到FPGA 發送的數據后,一方面將數據存儲在TF 卡組,另一方面可以和上位機軟件通信,接收上位機的命令和將采集數據傳送給上位機;上位機軟件主要用于采集數據的顯示,將ARM 發送的數據解析后顯示,操作者可以實時查看系統參數和探頭傳感器的狀態,也可以將對系統參數的設置指令傳送給ARM。具體的系統軟件結構框圖如圖7 所示。

圖7 系統軟件結構框圖
上電復位后,FPGA 通過SPI 接口接收ARM 的指令,解析后按照相應的指令執行;當收到開始采集信號后,按照設定的頻率發送采集使能信號,啟動探頭傳感器的信號采集,將采集到的數據按照一定的幀格式存入SDRAM,一幀結束后通過FT232H 傳遞給ARM。當收到停止采集信號后,停止發送采集使能信號,再次進入等待狀態[14-16]。FPGA 程序框圖如圖8 所示。FPGA 程序流程圖如圖9 所示。

圖8 FPGA程序框圖

圖9 FPGA程序流程圖
上電后,裁剪適配的Linux 系統[17-19]啟動,完成各項基本配置后自動執行用戶程序,判別是調試模式還是存儲模式。如果是調試模式,則通過網口連接到上位機,啟動采集后將各探頭傳感器的信息顯示在上位機上,從而可以實時檢查各探頭傳感器的狀況;如果是存儲模式,則一直監測里程信息,如果符合采集條件,就會啟動采集,將接收到的USB FIFO 數據按一定格式存入TF卡組。ARM程序流程圖如圖10所示。

圖10 ARM程序流程圖
上位機軟件采用Python 編寫[20],用以太網和ARM 連接,連接成功后可以對系統的一些參數如電池使用時間和系統時間等進行設置,參數回傳到ARM,保存到Flash 里;可以點擊采集按鈕,通過ARM 向FPGA 發送采集使能,將探頭和傳感器采集的數據進行解析后[21-24]實時顯示在上位機上,便于對整個系統進行調試;系統數據采集完畢后,也可以利用上位機軟件發送命令,讓ARM 通過USB 將TF 卡組掛載到電腦,以便將采集的數據拷貝出來進行分析。上位機程序流程圖如圖11 所示。

圖11 上位機程序流程圖
該系統已經在40 吋及以下漏磁管道檢測器中成功應用,采樣頻率可達4 kHz,存儲空間可達8 TB,存儲時間可達100 h,可搭接至多120 個三軸周向全覆蓋漏磁探頭,120 個測徑探頭,改變了以往MCU 控制器系統采樣率不高、接口不夠豐富的弊端,應對40吋及以下尺寸檢測器的超高清檢測數據量完全沒有問題。
為了適應更大尺寸內檢測器需要,主要在ARM的主頻和內核數量以及存儲容量和存取速度上加以改進,可以選用更為高級的內嵌ARM 硬核的FPGA芯片作為主控芯片,其本身具有豐富的接口資源,主頻高,還可多核操作,可以簡化設計,提高可靠性;以硬盤作為存儲介質,以千兆網口作為讀取接口,既能提高系統的存儲可靠性,增大存儲容量,又能提高數據的存取速度。