伍儒彬,張雅楠,孫 濤,李宏宏,劉長(zhǎng)遠(yuǎn)
(1.昆侖數(shù)智科技有限責(zé)任公司,北京 100007;2.中國(guó)石油新疆油田公司 采油二廠,新疆維吾爾自治區(qū) 克拉瑪依 834011)
隨著人工智能、大數(shù)據(jù)、云計(jì)算等新技術(shù)和新概念的不斷涌現(xiàn),以及在各行業(yè)的成功應(yīng)用案例,邊緣計(jì)算作為近十年提出的新技術(shù)和新概念,也不例外。邊緣計(jì)算技術(shù)在多個(gè)行業(yè)都有研究和應(yīng)用。如李彬等提出的邊緣計(jì)算在電力領(lǐng)域的應(yīng)用[1];李子姝等對(duì)邊緣計(jì)算在移動(dòng)領(lǐng)域做了較為全面的綜述[2];在智能汽車(chē)領(lǐng)域,李智勇等對(duì)邊緣計(jì)算在汽車(chē)的關(guān)鍵任務(wù)計(jì)算進(jìn)行了綜述。通過(guò)上述文獻(xiàn)可知,邊緣計(jì)算的主要目的是為了減輕數(shù)據(jù)中心或者控制中心的數(shù)據(jù)計(jì)算(或處理)負(fù)擔(dān),讓具備一定計(jì)算能力的設(shè)備在現(xiàn)場(chǎng)對(duì)數(shù)據(jù)進(jìn)行處理,將結(jié)果(或關(guān)鍵信息)傳輸?shù)娇刂浦行?,以減輕鏈路和控制中心的負(fù)擔(dān)。
在油氣田領(lǐng)域,隨著油田生產(chǎn)不斷向信息化、智能化發(fā)展,需要處理的數(shù)據(jù)和信息在不斷增加,對(duì)通信鏈路和控制中心的計(jì)算能力提出了極高的要求和挑戰(zhàn)。為減輕控制中心的計(jì)算和通信鏈路的通信負(fù)擔(dān),本文以JETSONNANO為核心計(jì)算組件,提出并設(shè)計(jì)一種具備邊緣計(jì)算的控制器設(shè)備,使其具備邊緣計(jì)算功能,同時(shí)又具備現(xiàn)場(chǎng)邏輯控制功能。
當(dāng)前,提供邊緣計(jì)算解決方案的主流廠商有英特爾、英偉達(dá)、華為、比特大陸等國(guó)內(nèi)外商業(yè)公司,根據(jù)其特點(diǎn),本文將各廠商提供的解決方案或者平臺(tái)進(jìn)行總結(jié),詳見(jiàn)表1。
表1 邊緣計(jì)算控制器簡(jiǎn)要一覽表Table 1 Brief list of edge computing controllers
由表1可知,不同的廠商側(cè)重于不同的應(yīng)用場(chǎng)景。英特爾提供的產(chǎn)品側(cè)重于移動(dòng)邊緣計(jì)算;英偉達(dá)側(cè)重于單通道或雙通道模式的視頻采集初步計(jì)算;瑞芯微更偏重于全功能的現(xiàn)場(chǎng)應(yīng)用;比特大陸的算力更高,能量消耗,適合大流量,高算力需求的應(yīng)用場(chǎng)景。
根據(jù)業(yè)務(wù)特點(diǎn)并結(jié)合應(yīng)用的需求,初步選定英偉達(dá)的JETSON NANO平臺(tái)進(jìn)行研究和設(shè)計(jì),該平臺(tái)具有以下功能:
1)四核ARM Cortex-A57
2)支持Linux操作系統(tǒng)
3)128-Core 英偉達(dá)MAXWELL GPU
4)4G 64-bit LPDDR
5)支持千兆以太網(wǎng)
6)支持HDMI&USB3.0
7)支持PCIe總線擴(kuò)展功能
8)豐富的串口和SPI&IIC總線接口功能
根據(jù)油田應(yīng)用需求以及升級(jí)改造需要,提出兩種解決方案。一是以人工智能處理為主要功能的解決方案,側(cè)重于現(xiàn)場(chǎng)智能計(jì)算和數(shù)據(jù)處理,具有以下基本功能:高速通信總線功能接口(千兆以太網(wǎng),HDMI,USB3.0)和低速通信總線接口(串口,CAN,無(wú)線通信等),具體實(shí)現(xiàn)架構(gòu)可參考圖1。此方案主要應(yīng)用于已有場(chǎng)站的信息化升級(jí)和改造工作,在原有的信息化基礎(chǔ)上,配備智能計(jì)算處理設(shè)備即可。第二種解決方案是以人工智能處理和現(xiàn)場(chǎng)工業(yè)控制于一體的邊緣控制器,該解決方案可以實(shí)現(xiàn)現(xiàn)場(chǎng)的智能計(jì)算(數(shù)據(jù)處理)與工業(yè)控制同步進(jìn)行的功能,即不但是一個(gè)邊緣控制器,同時(shí)也具備RTU(遠(yuǎn)程單元控制終端)的功能,其實(shí)現(xiàn)框架圖如圖2所示。智能計(jì)算部分由NANO核心板的資源進(jìn)行計(jì)算和處理,而RTU控制器部分則由ARM核心資源進(jìn)行命令控制和數(shù)據(jù)采集,兩者之間的通信可以根據(jù)業(yè)務(wù)需求通過(guò)以太網(wǎng)或者串口實(shí)現(xiàn),以實(shí)現(xiàn)數(shù)據(jù)傳遞和命令控制,其主從關(guān)系也可以通過(guò)軟件進(jìn)行設(shè)定和控制,該解決方案可應(yīng)用于新開(kāi)發(fā)井口和場(chǎng)站的智能化建設(shè)。
圖1 智能計(jì)算設(shè)備硬件實(shí)現(xiàn)框架圖Fig.1 Framework diagram of hardware implementation of smart computing equipment
圖2 邊緣計(jì)算及遠(yuǎn)程控制設(shè)備硬件實(shí)現(xiàn)框架圖Fig.2 Hardware implementation framework diagram of edge computing and remote control equipment
硬件設(shè)計(jì)的一些具體細(xì)節(jié)部分可參考文獻(xiàn)[4]和文獻(xiàn)[5]。針對(duì)NANO核心板的設(shè)計(jì),需要注意以下設(shè)計(jì)要素:
1)HDMI顯示設(shè)計(jì)。標(biāo)準(zhǔn)的HDMI顯示,屬于高速總線類(lèi)型,在設(shè)計(jì)時(shí)需要遵循對(duì)應(yīng)的協(xié)議標(biāo)準(zhǔn),項(xiàng)目對(duì)此功能進(jìn)行分類(lèi),其信號(hào)可分為差分對(duì)信號(hào)、檢測(cè)保護(hù)信號(hào)、簡(jiǎn)單通信信號(hào)、電源供電信號(hào)。
其中,差分對(duì)信號(hào)需要對(duì)應(yīng)的交流電容進(jìn)行信號(hào)耦合,并提供ESD保護(hù);檢測(cè)信號(hào)需要與電源供電信號(hào)進(jìn)行聯(lián)動(dòng)處理;電源供電部分最好進(jìn)行單獨(dú)處理。
2)USB設(shè)計(jì)與實(shí)現(xiàn)。NANO的USB設(shè)計(jì)部分分為3個(gè)層面,分別是USB2.0USB3.0USB下載專(zhuān)用接口。USB2.0與USB3.0需要注意端口供電的控制,即電流超出時(shí),系統(tǒng)需要對(duì)外部端口供電進(jìn)行斷電處理,不要影響系統(tǒng)其他功能的使用。USB3.0也有交流耦合電容,需要注意與ESD器件的連接處理,而USB內(nèi)部下載專(zhuān)用接口則需要注意電源準(zhǔn)備好的PG信號(hào)告知核心板,否則該功能無(wú)法實(shí)現(xiàn)。
3)電平轉(zhuǎn)換設(shè)計(jì)與實(shí)現(xiàn)。因NANO核心板提供的IO接口或通信功能接口多數(shù)為1.8V,需要對(duì)端口電平進(jìn)行必要的轉(zhuǎn)換才能使用,外部功能端口多數(shù)是3.3V TTL電平或5V TTL電平。采用TI公司SN74AVC4T245芯片進(jìn)行實(shí)現(xiàn),具體如圖3所示。
圖3 電平高低轉(zhuǎn)換電路圖Fig.3 Circuit diagram of level high-low conversion
圖3中通過(guò)DIR的高低來(lái)實(shí)現(xiàn)數(shù)據(jù)流的傳輸方向,具體方向設(shè)計(jì)定義可參考對(duì)應(yīng)的芯片手冊(cè)。
4)電源供電設(shè)計(jì)與實(shí)現(xiàn)。電源是整個(gè)產(chǎn)品成敗的關(guān)鍵,擬定電源功耗為15W,同時(shí)根據(jù)業(yè)務(wù)需要,可無(wú)縫切換到20W(電源模塊PIN腳兼容,只需要更換電源模塊即可);支持隔離功能,并對(duì)框架中的各級(jí)供電進(jìn)行必要的分級(jí)處理設(shè)計(jì),即5V,3.3V,1.8V,通過(guò)逐級(jí)降壓實(shí)現(xiàn)功能,24V轉(zhuǎn)換為5V,5V轉(zhuǎn)換為3.3V,3.3V轉(zhuǎn)換為1.8V,確保電壓整體的平穩(wěn)和參考地平面的一致性。
另外,核心板供電電路的核心要素是當(dāng)核心板沒(méi)有連接在主板上,整個(gè)系統(tǒng)的電源不能工作,利用核心板提供的電源控制功能和系統(tǒng)復(fù)位信號(hào)來(lái)控制電源芯片的工作,確保整個(gè)硬件的供電穩(wěn)定性。
基于前文提出的兩個(gè)方案,均采用Linux系統(tǒng)進(jìn)行軟件設(shè)計(jì)和實(shí)現(xiàn)。因方案二相對(duì)于方案一是一種包含關(guān)系,軟件設(shè)計(jì)側(cè)重于按方案二的硬件架構(gòu)進(jìn)行整體的設(shè)計(jì)和規(guī)劃。其設(shè)計(jì)可以通過(guò)兩種方式實(shí)現(xiàn),一種是基于英偉達(dá)官方提供的原生態(tài)系統(tǒng)(提供的也是Linux系統(tǒng))下進(jìn)行修改和軟件功能實(shí)現(xiàn),其好處是開(kāi)發(fā)周期較短,但弊端也顯而易見(jiàn),需要按照其官方的文檔、架構(gòu)和開(kāi)發(fā)格式進(jìn)行功能實(shí)現(xiàn)和設(shè)計(jì);另一種是基于某個(gè)穩(wěn)定版本的Linux系統(tǒng)進(jìn)行架構(gòu)重整和軟件功能實(shí)現(xiàn),其好處是系統(tǒng)可以按照實(shí)現(xiàn)的功能進(jìn)行架構(gòu)重整,整個(gè)代碼量可控,設(shè)計(jì)無(wú)需遵循官方的格式和規(guī)范進(jìn)行,不足之處是需要投入更多的時(shí)間和精力對(duì)底層驅(qū)動(dòng)進(jìn)行調(diào)試和實(shí)現(xiàn)。
邊緣控制器的軟件功能實(shí)現(xiàn)是指將硬件的功能端口通過(guò)對(duì)應(yīng)的驅(qū)動(dòng)或API應(yīng)用映射到操作系統(tǒng)中,其簡(jiǎn)要框架如圖4所示。軟件實(shí)現(xiàn)的主要工作在于協(xié)調(diào)應(yīng)用接口,內(nèi)核接口以及LIB庫(kù)之間的調(diào)度、數(shù)據(jù)傳輸、命令下達(dá)傳遞工作。
圖4 軟件整體結(jié)構(gòu)框架Fig.4 The overall structure of the software framework
英偉達(dá)官方提供了HDMI以及千兆網(wǎng)絡(luò)、USB功能為系統(tǒng)原生的驅(qū)動(dòng),不需要進(jìn)行開(kāi)發(fā),對(duì)系統(tǒng)進(jìn)行裁剪和檢測(cè)信號(hào)功能處理即可,而ZIGBEE與485功能處理需要建立好對(duì)應(yīng)的LIB文件及通信協(xié)議即可實(shí)現(xiàn)。
1)人工智能功能開(kāi)發(fā)與實(shí)現(xiàn)
系統(tǒng)可采用Kubernetes、Nginx、postgres等大數(shù)據(jù)平臺(tái)和容器化技術(shù),結(jié)合集群及數(shù)據(jù)庫(kù)技術(shù),使用分布式技術(shù)對(duì)深度學(xué)習(xí)任務(wù)進(jìn)行調(diào)度,同時(shí)可對(duì)算法、模型進(jìn)行管理,并具有部署、分發(fā)、監(jiān)控等功能。
AI管理系統(tǒng)可提供可視化的AI訓(xùn)練、業(yè)務(wù)應(yīng)用開(kāi)發(fā)、數(shù)據(jù)接入、算法管理等功能,同時(shí)提供展示界面,用于展示實(shí)時(shí)視頻和報(bào)警信息。
2)Docker功能
為便于現(xiàn)有已開(kāi)發(fā)好的功能快速轉(zhuǎn)移到新平臺(tái)或新產(chǎn)品中,在NANO核心資源充足的情況下,可以加載Docker功能。Docker提供了簡(jiǎn)單的建模方式以及邏輯上的分離,可以做到單個(gè)容器運(yùn)行單個(gè)應(yīng)用,如此可節(jié)省軟件的開(kāi)發(fā)周期。
當(dāng)NANO核心處理器資源足夠,又需要將原來(lái)開(kāi)發(fā)的應(yīng)用移植到NANO邊緣計(jì)算設(shè)備中,此時(shí)采用Docker為最佳選擇,其實(shí)現(xiàn)過(guò)程如下:
第一步:Docker安裝。
第二步:確定主從關(guān)系(即客戶(hù)端和服務(wù)器)。
第三步:確定依賴(lài)關(guān)系,掛載點(diǎn),優(yōu)先級(jí),資源度量等參數(shù)。
第四步:?jiǎn)?dòng)Docker,并進(jìn)行相關(guān)應(yīng)用掛載。
3)處理器之間的協(xié)同處理
當(dāng)NANO處理器與ARM處理器存在協(xié)同處理時(shí),需要確定一個(gè)主從關(guān)系。確定主從關(guān)系的原則是:智能計(jì)算為主要任務(wù)的時(shí)候,由NANO處理器作為主處理器,ARM處理器為協(xié)助處理器;而現(xiàn)場(chǎng)控制為主要任務(wù)的時(shí)候,由ARM處理器作為主處理器,NANO處理器為協(xié)助處理器。其協(xié)同處理過(guò)程如下:
第一步:?jiǎn)?dòng)協(xié)同處理。
第二步:確定主處理器與協(xié)助處理器。
第三步:開(kāi)啟協(xié)同處理程序。
第四步:開(kāi)啟心跳互相監(jiān)控程序。
第五步:是否結(jié)束協(xié)同處理,是,跳轉(zhuǎn)第六步;否,繼續(xù)現(xiàn)有程序和進(jìn)程。
第六步:結(jié)束協(xié)同處理,結(jié)束相關(guān)程序和進(jìn)程。
基于本文提出的解決方案而實(shí)現(xiàn)的邊緣計(jì)算控制器在油田現(xiàn)場(chǎng)已成功應(yīng)用,其基本目標(biāo)也得到實(shí)現(xiàn),減少數(shù)據(jù)中心或中央控制中心計(jì)算負(fù)擔(dān),減輕通信鏈路的數(shù)據(jù)傳輸負(fù)擔(dān)效果得以體現(xiàn),為未來(lái)的應(yīng)用場(chǎng)景提供了硬件基礎(chǔ)和技術(shù)積累。下一步,基于人工智能技術(shù)在油田的應(yīng)用還有待繼續(xù)研究和挖掘。一是智慧化程度的功能提升,比如產(chǎn)量預(yù)估、自然災(zāi)害預(yù)警等;二是智能算法的魯棒性有待繼續(xù)提高,智能算法對(duì)不同區(qū)域不同場(chǎng)景的應(yīng)用需要進(jìn)行重新調(diào)整和布置。