陳世利,郭世旭,黃新敬,趙吉波,徐天舒
天津大學(xué)精密測(cè)試技術(shù)及儀器國家重點(diǎn)實(shí)驗(yàn)室,天津300072
海底管道微小泄漏球形內(nèi)檢測(cè)器整體設(shè)計(jì)
陳世利,郭世旭,黃新敬,趙吉波,徐天舒
天津大學(xué)精密測(cè)試技術(shù)及儀器國家重點(diǎn)實(shí)驗(yàn)室,天津300072
針對(duì)海底管道微小泄漏檢測(cè),提出管道球形內(nèi)檢測(cè)器整體設(shè)計(jì)方案。文章從整體平臺(tái)方案、硬件電路設(shè)計(jì)以及下位機(jī)軟件設(shè)計(jì)三方面介紹了球形內(nèi)檢測(cè)器的整體結(jié)構(gòu)。整體平臺(tái)方案闡述了各模塊的作用及相互之間的關(guān)聯(lián)。硬件電路設(shè)計(jì)包括處理器的選取、存儲(chǔ)模塊的選取與設(shè)計(jì)和電源模塊管理等;方案最終選用Samsung公司基于ARM1176架構(gòu)的S3C6410處理器,速度等級(jí)為Class 10的TF卡,采用10節(jié)電池總?cè)萘繛?1 Ah組成的電池組。軟件設(shè)計(jì)包括驅(qū)動(dòng)程序及應(yīng)用程序的設(shè)計(jì),其中后者采用了高效的多線程編程方式。
海底管道;泄漏;檢測(cè);球形內(nèi)檢測(cè)器;硬件設(shè)計(jì)
管道輸送是海洋油氣運(yùn)輸?shù)淖钣行?、最安全的輸送方式,定期?duì)其進(jìn)行檢查和安全評(píng)估,及時(shí)發(fā)現(xiàn)因腐蝕、老化、裂紋、變形引起的微小泄漏,盡早采取補(bǔ)救措施是消除管道運(yùn)行潛在安全隱患的有效手段。
針對(duì)海底管道微小泄漏檢測(cè),天津大學(xué)精密測(cè)試技術(shù)及儀器國家重點(diǎn)實(shí)驗(yàn)室研制了管道球形內(nèi)檢測(cè)器:法蘭式密封球殼內(nèi)裝載水聽器、慣導(dǎo)模塊、磁傳感器、電路板和電源模塊等,隨管內(nèi)液體一起流動(dòng),沿途可采集管內(nèi)泄漏聲音信息、自身運(yùn)動(dòng)信息和管內(nèi)磁場信息等,本文主要介紹其核心設(shè)備數(shù)據(jù)采集平臺(tái)的硬件設(shè)計(jì)以及與硬件系統(tǒng)匹配的下位機(jī)軟件設(shè)計(jì)方案。
圖1所示為數(shù)據(jù)采集平臺(tái)的總體結(jié)構(gòu)框圖,硬件電路部分主要包括:處理器模塊、存儲(chǔ)器模塊、電源模塊、各傳感器的信號(hào)調(diào)理及模數(shù)轉(zhuǎn)換模塊、交互接口模塊。
數(shù)據(jù)采集平臺(tái)以處理器模塊為核心,操控系統(tǒng)自檢、各傳感器數(shù)據(jù)采集和存儲(chǔ)、電源管理、數(shù)據(jù)傳輸、檢測(cè)器與外界通信等任務(wù)。各傳感器采集相應(yīng)的信號(hào),經(jīng)過調(diào)理電路的處理再經(jīng)過模數(shù)轉(zhuǎn)換為數(shù)字量,通過一定的通信協(xié)議傳給處理器,最后存儲(chǔ)在大容量TF卡中。通過與外界的交互接口模塊,可在檢測(cè)器取出后利用USB協(xié)議將TF卡中存儲(chǔ)的數(shù)據(jù)傳輸給PC進(jìn)行后續(xù)的分析處理;檢測(cè)器還可通過串口與上位機(jī)進(jìn)行通訊,方便進(jìn)行人機(jī)交互;檢測(cè)器的電池充電等功能也能通過此接口實(shí)現(xiàn)。鋰電池組為整個(gè)平臺(tái)供電,電源模塊用于電源管理以滿足平臺(tái)多種設(shè)備不同的供電需求。
在軟件設(shè)計(jì)方面,數(shù)據(jù)采集平臺(tái)在處理器上移植嵌入式Linux操作系統(tǒng),作為下位機(jī)軟件的開發(fā)運(yùn)行環(huán)境,進(jìn)行內(nèi)存管理與任務(wù)調(diào)度。在操作系統(tǒng)環(huán)境下,采用多線程設(shè)計(jì)方法,同步采集加姿態(tài)導(dǎo)航模塊、磁力計(jì)、聲音傳感器數(shù)據(jù),并將數(shù)據(jù)實(shí)時(shí)寫入TF卡內(nèi)。軟件設(shè)計(jì)內(nèi)容還包括Linux內(nèi)核的裁剪和移植、多種電子器件的驅(qū)動(dòng)程序開發(fā)、將整個(gè)數(shù)據(jù)采集平臺(tái)虛擬成U盤等。
圖1 數(shù)據(jù)采集平臺(tái)的總體結(jié)構(gòu)框圖
2.1 處理器模塊設(shè)計(jì)
處理器模塊由CPU芯片、內(nèi)存、閃存、晶振和一些基本外圍電路組成,其結(jié)構(gòu)框圖見圖2。
處理器的選擇主要考慮以下幾個(gè)因素:檢測(cè)方案的需求、數(shù)據(jù)采集平臺(tái)的可靠性、穩(wěn)定性、功耗、外觀以及后期的升級(jí)和維護(hù)。
小型儀器設(shè)備常用的處理器有單片機(jī)、DSP、ARM和FPGA四類。在以上四類處理器中,單片機(jī)雖然功耗低、可靠性高、開發(fā)容易,但數(shù)據(jù)處理能力和多任務(wù)的同步性較差;DSP具有強(qiáng)大數(shù)據(jù)處理能力和很高的運(yùn)行速度,但是需要配備很多外圍模塊;ARM與FPGA可以便捷可靠地實(shí)現(xiàn)檢測(cè)系統(tǒng)同步、快速地采集多傳感器數(shù)據(jù),但相對(duì)而言FPGA功耗高、體積大。因此,采用ARM作為核心處理器,ARM具有強(qiáng)大的事務(wù)處理功能,可以配合嵌入式操作系統(tǒng)使用,使用操作系統(tǒng)最大的優(yōu)勢(shì)是并發(fā)處理大量數(shù)據(jù),管理內(nèi)存,進(jìn)行多任務(wù)調(diào)度,契合本檢測(cè)器數(shù)據(jù)采集平臺(tái)的需求。
圖2 處理器模塊結(jié)構(gòu)框圖
本方案選用Samsung公司基于ARM1176架構(gòu)的S3C6410處理器。其主頻高達(dá)800 MHz,且片上集成了豐富的標(biāo)準(zhǔn)接口資源和功能模塊控制器,以下為主要的標(biāo)準(zhǔn)接口資源:
4路UART串口(2路TTL電平,2路帶硬件流控);
1路USB 2.0 OTG接口;
1路USB Host 1.1接口;
2路I2C接口;
1路I2S/AC97音頻接口;
4路PWM輸出;
8路ADC輸入(0~3.3 V,10 bit分辨率);
2路SPI接口(接收和發(fā)送都有64字節(jié)的FIFO);
多達(dá)63個(gè)GPIO(復(fù)用);
8位或16位數(shù)據(jù)總線的SRAM/ROM/NORFlash接口;
8位數(shù)據(jù)總線的NAND Flash接口;
16位或32位數(shù)據(jù)總線的SDRAM接口;
16位或32位數(shù)據(jù)總線(266 Mb/s/引腳DDR)的移動(dòng)DDR接口;
USB控制器,支持高速USB2.0 OTG(480 Mbps,片上收發(fā)器)和USB1.1主設(shè)備全速(12 Mbps,片上收發(fā)器);
MMC控制器,支持高速M(fèi)MC/SD;
RTC實(shí)時(shí)時(shí)鐘,看門狗定時(shí)器。
以上資源使得處理器只需很少的外圍電路就能滿足使用需求。
內(nèi)存選用三星K4X1G163OE DDR333芯片,由2塊芯片組成256 MB 32位帶寬的SDRAM,其外頻可達(dá)333 MHz,能夠完全滿足檢測(cè)過程中的數(shù)據(jù)緩存、運(yùn)算和處理需求。程序存儲(chǔ)器選擇三星標(biāo)配的256 MB NAND Flash,用以存儲(chǔ)Linux系統(tǒng)文件以及應(yīng)用程序。處理器模塊還包括實(shí)現(xiàn)處理器功能的基本外圍電路,包括復(fù)位電路、RTC實(shí)時(shí)時(shí)鐘供電電路、操作系統(tǒng)的啟動(dòng)位置選擇電路等。
2.2 存儲(chǔ)器模塊設(shè)計(jì)
要存儲(chǔ)檢測(cè)過程中采集的大量數(shù)據(jù),應(yīng)選取大容量非易失性存儲(chǔ)設(shè)備,常用的有CF卡、記憶棒、SD卡、片上Flash等。由于SD卡應(yīng)用最為廣泛,且多數(shù)ARM內(nèi)部集成MMC/SD控制器,系統(tǒng)選用SD卡作為數(shù)據(jù)存儲(chǔ)設(shè)備??紤]機(jī)械結(jié)構(gòu)限制,宜選用更小尺寸的micro SD卡,即TF卡作為存儲(chǔ)設(shè)備。初步計(jì)算,檢測(cè)器的數(shù)據(jù)量大約是86 500字節(jié)/s,選取容量為32 G的TF卡,可存儲(chǔ)100 h的數(shù)據(jù)量,能夠滿足檢測(cè)的存儲(chǔ)需求,同時(shí)能為后期改變傳感器的采樣率提供充足的調(diào)整空間。為了保證數(shù)據(jù)的快速寫入,選擇速度等級(jí)為Class 10的TF卡,寫入速度達(dá)10 Mb/s,讀取速度至少為6 Mb/s。其設(shè)計(jì)原理如圖3所示。
圖3 TF卡電路原理圖
2.3 供電模塊管理
檢測(cè)器的電源是保證檢測(cè)順利進(jìn)行的關(guān)鍵。檢測(cè)器內(nèi)部空間狹小,可儲(chǔ)備電池容量有限,設(shè)計(jì)中采用多塊分散在球體內(nèi)部不同位置的可充電鋰電池并聯(lián),為系統(tǒng)供電。這種設(shè)計(jì)的突出優(yōu)勢(shì)在于實(shí)現(xiàn)檢測(cè)器質(zhì)量的平衡分布,保證球形檢測(cè)器圍繞某一軸滾動(dòng)前進(jìn)。電源模塊將電池電壓轉(zhuǎn)換成各模塊合適的工作電壓,并能夠?qū)崟r(shí)監(jiān)測(cè)電池電壓狀況,必要時(shí)可通過CPU控制或改變檢測(cè)器的某些工作參數(shù),或關(guān)閉某些功能,降低檢測(cè)器的功耗,以實(shí)現(xiàn)長時(shí)間安全檢測(cè)。
大容量的可充電鋰電池選用松下NCR18650A,其容量為3.1 Ah,最大輸出電流達(dá)10 A,額定電壓3.7 V,充滿后電壓4.2 V,內(nèi)部帶保護(hù)電路,電壓低于2.7 V自動(dòng)斷電。計(jì)劃采用10節(jié)電池組成的電池組,總?cè)萘繛?1 Ah,檢測(cè)器在檢測(cè)過程中的功耗約518 mA,則理論上電池可供電續(xù)航60 h,滿足檢測(cè)需求。理論上的系統(tǒng)電力耗費(fèi)的分配見圖4。
本設(shè)計(jì)中選用Linux作為軟件開發(fā)的平臺(tái)。軟件設(shè)計(jì)的主要內(nèi)容是在S3C6410上移植Linux操作系統(tǒng),設(shè)計(jì)數(shù)據(jù)采集平臺(tái)專用硬件設(shè)備的驅(qū)動(dòng),利用多線程編程方法,完成多傳感器數(shù)據(jù)的同步采集與存儲(chǔ)的應(yīng)用程序開發(fā)。軟件設(shè)計(jì)的基本架構(gòu)見圖5。
3.1 驅(qū)動(dòng)程序設(shè)計(jì)
在操作系統(tǒng)環(huán)境下,用戶程序不能直接操作硬件設(shè)備,需要使用設(shè)備驅(qū)動(dòng)程序,完成初始化設(shè)備,交換數(shù)據(jù)等功能。由于球形內(nèi)檢測(cè)器使用的很多器件不是通用設(shè)備,原始Linux內(nèi)核中不包含這些器件的驅(qū)動(dòng)程序,因此在完成硬件平臺(tái)的構(gòu)建以及Linux操作系統(tǒng)的裁剪移植后,完成各器件的驅(qū)動(dòng)程序是進(jìn)行最終采集存儲(chǔ)程序設(shè)計(jì)的基礎(chǔ)。
需要設(shè)計(jì)驅(qū)動(dòng)程序的器件包括磁信號(hào)的模數(shù)轉(zhuǎn)換器AD7193、聲音信號(hào)的模數(shù)轉(zhuǎn)換器AD7651以及用于檢測(cè)電池電壓的處理器片上ADC。另外還需要修改內(nèi)核中的USB Gadget驅(qū)動(dòng),以實(shí)現(xiàn)檢測(cè)器通過USB協(xié)議向上位機(jī)傳輸數(shù)據(jù)的功能。
圖4 系統(tǒng)電力耗費(fèi)分配
圖5 軟件設(shè)計(jì)架構(gòu)
3.2 應(yīng)用程序設(shè)計(jì)
驅(qū)動(dòng)成功加載后,應(yīng)用程序就可以按照操作文件的方式,對(duì)設(shè)備進(jìn)行讀寫等操作。應(yīng)用程序?qū)崿F(xiàn)的主要功能有系統(tǒng)的開機(jī)自檢和運(yùn)行過程中對(duì)多種信號(hào)的同步采集和存儲(chǔ)。本方案采用多線程的編程方式,此方式可以采用共享變量的方式完成線程間通信,節(jié)省系統(tǒng)調(diào)用的開銷,執(zhí)行效率更高。應(yīng)用程序方案的流程如圖6所示。
應(yīng)用程序主要包含四種不同功能的線程:主線程、自檢及電量監(jiān)測(cè)線程、各傳感器線程、存儲(chǔ)線程。
主線程在初始化環(huán)境變量后,創(chuàng)建其他線程,并一直查詢系統(tǒng)的工作狀態(tài),控制指示燈的動(dòng)作。
自檢線程是除主線程之外最先開始執(zhí)行的線程,會(huì)對(duì)電池的電量、工作電壓以及各傳感器的功能進(jìn)行檢查,自檢結(jié)束后將自檢結(jié)果以日志形式存儲(chǔ)起來并發(fā)送給上位機(jī)的人機(jī)交互程序,自檢線程可在檢測(cè)器正式工作之前告知用戶檢測(cè)器內(nèi)部功能正常,準(zhǔn)備工作;也可在電量不足時(shí)提醒用戶充電,或某個(gè)功能模塊出現(xiàn)問題時(shí)提醒及時(shí)檢修。自檢結(jié)束后,該線程負(fù)責(zé)監(jiān)測(cè)電池電壓,可設(shè)置閾值與之比較,若電池電壓低于閾值,則降低傳感器采樣率或者關(guān)閉某些功能以降低功耗。
在傳感器線程中,每個(gè)傳感器根據(jù)自身信號(hào)的采樣率申請(qǐng)兩個(gè)全局可見的緩沖區(qū),交替使用,并利用緩沖使用標(biāo)識(shí)符標(biāo)記當(dāng)前使用的緩沖區(qū)。傳感器線程與存儲(chǔ)線程共享緩沖區(qū)及使用標(biāo)識(shí)符。存儲(chǔ)線程中根據(jù)緩沖使用標(biāo)識(shí),以開始采集時(shí)間為文件名,將已滿的緩沖區(qū)中的數(shù)據(jù)保存到相應(yīng)的文件夾中。這種數(shù)據(jù)共享結(jié)構(gòu)優(yōu)勢(shì)在于線程之間數(shù)據(jù)交換方便,資源開銷小,存儲(chǔ)線程可以快速訪問、及時(shí)保存數(shù)據(jù),有效地降低數(shù)據(jù)遺漏的可能。
在上述多線程并發(fā)程序設(shè)計(jì)中,所有線程都能夠訪問其中的全局變量,因此需要保證線程之間的同步,該系統(tǒng)使用互斥量實(shí)現(xiàn)對(duì)共享數(shù)據(jù)進(jìn)行獨(dú)占式訪問。程序設(shè)計(jì)中所有線程在對(duì)工作狀態(tài)、緩沖使用標(biāo)識(shí)符和各傳感器數(shù)據(jù)緩沖區(qū)等全局變量進(jìn)行訪問之前,必須獲取相應(yīng)的互斥量,由此實(shí)現(xiàn)數(shù)據(jù)保護(hù)、線程同步。
圖6 應(yīng)用程序流程圖
針對(duì)海底管道微小泄漏檢測(cè),天津大學(xué)研制了管道球形內(nèi)檢測(cè)器。管道球形內(nèi)檢測(cè)器的核心設(shè)備是具有良好的穩(wěn)定性與可擴(kuò)展性的數(shù)據(jù)采集平臺(tái)。本方案最終選取了Samsung公司基于ARM1176架構(gòu)的S3C6410處理器,其主頻高達(dá)800 MHz,并且片上集成了豐富的標(biāo)準(zhǔn)接口資源和功能模塊控制器。為了保證數(shù)據(jù)的快速寫入,選擇速度等級(jí)為Class 10的TF卡,寫入速度高達(dá)10 Mb/s,讀取速度至少為6 Mb/s。采用10節(jié)可充電鋰電池組成電池組,總?cè)萘繛?1 Ah,理論上可供電續(xù)航60 h,可滿足檢測(cè)需求。最后,給出了與硬件系統(tǒng)匹配的下位機(jī)軟件設(shè)計(jì)方案。
[1]張劍波.水下結(jié)構(gòu)物檢測(cè)與維修技術(shù)概論[M].北京:石油工業(yè)出版社,2005.85-86.
[2]豐士昌.Linux指令與Shell編程范例速查手冊(cè)[M].北京:科學(xué)出版社,2012.
OverallDesign ofSphericalInner Detector for TinyL eakage ofSubsea Pipeline
Chen Shili,Guo Shixu,Huang Xinjing,Zhao Jibo,Xu Tianshu
State Key Laboratory of Precision Measurement Technology and Instrument of Tianjin University,Tianjin 300072,China
For detecting tiny leakage of subsea pipeline,the overall design of the spherical inner detector is proposed,which includes three aspects:the overall platform solution,the hardware circuit design and the software design of lower computer.The overallsolution illustrates the role of each module and their connections.The hardware design includes selection of the processor and storage module,the management of the power supply module,etc.;the S3C6410 processor based on ARM1176 architecture produced by Samsung Co.,the TF card with a speed of Class 10 and the battery pack containing ten 3 100 mAh lithium batteries are chosen.The software design includes drive program and application program,the latter uses effective multi-threaded programming.
subsea pipeline;leakage;detection;sphericalinner detector;hardware design
天津市科技計(jì)劃項(xiàng)目(10JCYBJC07100);中海油合作項(xiàng)目(G1317CS-B12C043)
10.3969/j.issn.1001-2206.2014.04.003
陳世利(1973-),男,湖北鄂州人,副教授,2003年畢業(yè)于天津大學(xué)測(cè)試技術(shù)及儀器專業(yè),博士,現(xiàn)從事油氣儲(chǔ)運(yùn)安全檢測(cè)技術(shù)研究。
2014-01-17;
2014-03-24