林天靜,沈 浩,杭 飛
(中國(guó)電子科技集團(tuán)公司第五十二研究所,杭州 310012)
現(xiàn)代無人機(jī)航空偵察與探測(cè)平臺(tái)會(huì)同時(shí)裝載多種傳感器載荷以適應(yīng)各種任務(wù)需要,可同時(shí)實(shí)現(xiàn)光電偵察、SAR雷達(dá)偵察、高光譜偵察、大氣檢測(cè)、地理測(cè)繪等多種任務(wù)的需求[1]。通過這些載荷采集到的原始數(shù)據(jù)信息需要與飛行姿態(tài)、經(jīng)緯度、飛行高度等多種參數(shù)保持同步才能正確的形成情報(bào);在某些特殊情況下,兩種或多種傳感器信息需要同步合成處理才能準(zhǔn)確描述現(xiàn)場(chǎng)態(tài)勢(shì)。所以,現(xiàn)代偵察系統(tǒng)一般要求裝載的所有傳感器載荷信息同步采集保持,并實(shí)行集中存儲(chǔ)與管理[2-5]。
為適應(yīng)無人機(jī)機(jī)載平臺(tái)任務(wù)載荷綜合化、模塊化、網(wǎng)絡(luò)化的發(fā)展要求,系統(tǒng)性的規(guī)劃研發(fā)一套面向無人機(jī)任務(wù)載荷的高密度、大容量的通用數(shù)據(jù)記錄設(shè)備勢(shì)在必行[6-8]。
常見數(shù)據(jù)記錄設(shè)備包括以下幾種架構(gòu):
圖1(a)(b)所示的兩種常見數(shù)據(jù)記錄設(shè)備架構(gòu)是以高性能CPU為核心,通過PCIe總線前端擴(kuò)展數(shù)據(jù)采集模塊,后端由PCIe Switch或Raid 卡擴(kuò)展PCIe SSD或SATA SSD,該種架構(gòu)為傳統(tǒng)計(jì)算機(jī)架構(gòu),優(yōu)點(diǎn)是擴(kuò)展性、通用性較好,但功耗較大(100W以上),不利于小型化設(shè)計(jì),且由于數(shù)據(jù)總線經(jīng)過了CPU,使得CPU自身的總線交互能力會(huì)成為實(shí)現(xiàn)高速記錄的瓶頸[9-11]。
圖1(c)所示的記錄設(shè)備架構(gòu),是以PCIe交換為核心。外圍擴(kuò)展CPU、FPGA和存儲(chǔ)陣列,其中存儲(chǔ)陣列可以直接是PCIe SSD或通過PCIe轉(zhuǎn)SATA橋連接SATA SSD,該種架構(gòu)是目前構(gòu)建高速數(shù)據(jù)記錄設(shè)備比較主流的一種架構(gòu),具有密度大、速率高等優(yōu)點(diǎn),但由于PCIe SSD以面向商用領(lǐng)域?yàn)橹鳎h(huán)境適應(yīng)性較差,無法滿足機(jī)載產(chǎn)品的高低溫使用要求,在PCIe SSD自身的可靠性未達(dá)到惡劣環(huán)境下的使用要求之前,不適于在機(jī)載環(huán)境下使用。另外,雖然PCIe SSD自身速度優(yōu)勢(shì)較大,但自身功耗偏大,由多塊PCIe SSD構(gòu)建存儲(chǔ)陣列時(shí),整體功耗較大,增加無人機(jī)機(jī)載電源負(fù)荷,不利于無人機(jī)平臺(tái)的持續(xù)長(zhǎng)航時(shí)工作[12,13]。
圖1 數(shù)據(jù)記錄設(shè)備常見架構(gòu)
通用數(shù)據(jù)記錄設(shè)備的工作模式主要包括:記錄模式、回放模式、實(shí)時(shí)轉(zhuǎn)發(fā)模式和卸載模式。其中前3種工作模式為機(jī)載功能(記錄、回放和實(shí)時(shí)轉(zhuǎn)發(fā)可同時(shí)進(jìn)行),卸載模式為地面功能[14,15]。
(1)記錄模式
機(jī)載控制平臺(tái)可以通過RS422向通用數(shù)據(jù)記錄設(shè)備發(fā)送記錄指令,通用數(shù)據(jù)記錄設(shè)備按照控制命令的要求實(shí)時(shí)采集各路載荷(可見光相機(jī)、成像光譜儀、激光雷達(dá)、SAR等高分傳感器)發(fā)送的非格式化流式數(shù)據(jù),進(jìn)行格式化封裝后存入記錄設(shè)備內(nèi)部存儲(chǔ)模塊中,并在記錄過程中建立參數(shù)索引表。
(2)回放模式
機(jī)載控制平臺(tái)可以通過RS422串口查詢已記錄在記錄設(shè)備內(nèi)部各載荷數(shù)據(jù)的任務(wù)信息,并按任務(wù)號(hào)、數(shù)據(jù)類型、時(shí)間、地理位置等索引信息,將記錄數(shù)據(jù)通過光纖回放給指定機(jī)載處理設(shè)備。
(3)實(shí)時(shí)轉(zhuǎn)發(fā)模式
通用數(shù)據(jù)記錄設(shè)備在接收到圖像類數(shù)據(jù)時(shí),可以根據(jù)設(shè)置,將該類數(shù)據(jù)進(jìn)行實(shí)時(shí)壓縮后,通過設(shè)備的同步422接口轉(zhuǎn)發(fā)到機(jī)載鏈路單元中,再由機(jī)載鏈路單元將實(shí)時(shí)壓縮圖像下傳至地面接收站。
(4)卸載模式
飛機(jī)返航后可將通用數(shù)據(jù)記錄設(shè)備上的可插拔存儲(chǔ)體取下,安裝至地面卸載設(shè)備,再由地面卸載設(shè)備將數(shù)據(jù)導(dǎo)入數(shù)據(jù)管理設(shè)備,并進(jìn)行數(shù)據(jù)入庫(kù)管理,提供數(shù)據(jù)應(yīng)用服務(wù)[16,17]。
圖2顯示的是通用數(shù)據(jù)記錄設(shè)備的工作模式及連接關(guān)系。
通過對(duì)傳統(tǒng)架構(gòu)記錄設(shè)備的對(duì)比分析,并結(jié)合無人機(jī)任務(wù)載荷的實(shí)際使用要求,本文提出了一種以低功耗ARM處理器與FPGA相結(jié)合方式構(gòu)建通用數(shù)據(jù)記錄設(shè)備的核心架構(gòu),如圖3所示。
圖2 通用數(shù)據(jù)記錄設(shè)備的應(yīng)用層次關(guān)系及功能組成框圖
借助FPGA靈活的可編程能力,在其內(nèi)部集成RapidIO控制器、DDR控制器、SATA控制器、RAID控制器等邏輯單元,體現(xiàn)硬件集成電路軟件化的設(shè)計(jì)思想,既可最大限度的節(jié)約電路布板面積和整體功耗,又可在不改變硬件設(shè)計(jì)的前提下,通過在線軟件重構(gòu),靈活適應(yīng)前后端的需求變化。前端傳感器輸出無法調(diào)節(jié)為指定接口標(biāo)準(zhǔn)時(shí),可以由記錄設(shè)備主動(dòng)適應(yīng)傳感器接口,后端存儲(chǔ)模塊接口由FPGA的GTX總線構(gòu)建,可以適應(yīng)多種協(xié)議變化、各級(jí)容量(數(shù)量)配置的存儲(chǔ)體。此外,考慮到無人機(jī)系統(tǒng)常見的圖像實(shí)時(shí)壓縮下傳的應(yīng)用要求,主控模塊上預(yù)布圖像處理模塊,最大可支持4K×3K分辨率圖像的壓縮處理。
圖3 通用數(shù)據(jù)記錄設(shè)備新架構(gòu)框圖
在該架構(gòu)中,ARM負(fù)責(zé)命令調(diào)度,可充分發(fā)揮其命令管理性能和低功耗的優(yōu)勢(shì);FPGA負(fù)責(zé)數(shù)據(jù)調(diào)度,可充分發(fā)揮高速管理并行數(shù)據(jù)流的優(yōu)勢(shì),數(shù)據(jù)流程均為高速串行GTX總線(支持RadpidIO、SATA等協(xié)議)和高度DDR4緩沖,確保整體記錄、訪問帶寬滿足指標(biāo)要求;圖像處理模塊可根據(jù)需要完成對(duì)圖像類數(shù)據(jù)的壓縮處理。
以高集成度的FPGA為核心,采用FPGA+低功耗處理器芯片ARM的架構(gòu)通過擴(kuò)展外圍電路來實(shí)現(xiàn)設(shè)備的各項(xiàng)功能。FPGA作為數(shù)據(jù)交互中心,將RapidIO控制器、DDR控制器、SATA控制器、RAID控制器等,由嵌入其內(nèi)的可編程功能模塊來實(shí)現(xiàn),既達(dá)到了簡(jiǎn)化硬件電路設(shè)計(jì)的目的,也顯著降低了電路的整體功耗。集成于主控模塊的圖像壓縮功能由海思專用視頻處理芯片完成,與傳統(tǒng)圖像處理使用的DSP芯片相比,專用視頻處理芯片的外圍電路簡(jiǎn)潔、功耗較低。主控模塊組成圖見圖4。
圖4 低功耗架構(gòu)框圖
針對(duì)通用數(shù)據(jù)記錄設(shè)備的工作運(yùn)行方式,為降低設(shè)備在運(yùn)行中的功耗,優(yōu)化設(shè)備的供電模式。在設(shè)備電源設(shè)計(jì)時(shí)為各個(gè)功能模塊規(guī)劃獨(dú)立的供電開關(guān)電路,在不影響任務(wù)執(zhí)行的前提下,獨(dú)立關(guān)閉不參與當(dāng)前任務(wù)的電路單元。例如,沒有圖像數(shù)據(jù)壓縮處理要求時(shí),可以對(duì)視頻處理模塊的供電采用低功耗休眠模式;當(dāng)數(shù)據(jù)記錄速率和存儲(chǔ)容量需求降低時(shí),可以關(guān)閉部分SSD電源。
多源同步記錄工作原理如圖5所示,多源同步記錄功能由數(shù)據(jù)采集單元、存儲(chǔ)控制單元、存儲(chǔ)單元三部分協(xié)同完成。
數(shù)據(jù)采集單元負(fù)責(zé)對(duì)用戶的各種數(shù)據(jù)進(jìn)行采集和緩存。數(shù)據(jù)采集接口負(fù)責(zé)對(duì)用戶數(shù)據(jù)的直接采集,并按照特定格式對(duì)采集到的數(shù)據(jù)打包后送入數(shù)據(jù)緩沖單元。各個(gè)通路的數(shù)據(jù)采集單元之間一般是相互獨(dú)立、并發(fā)工作的,因此具有靈活性強(qiáng)、總帶寬高等優(yōu)點(diǎn)。
存儲(chǔ)控制單元負(fù)責(zé)收集數(shù)據(jù)采集單元送來的各種數(shù)據(jù),將數(shù)據(jù)和預(yù)分配的暫存地址按類型一一匹配,組成一定數(shù)據(jù)格式并發(fā)往存儲(chǔ)單元。主要由數(shù)據(jù)判斷與分發(fā)單元、數(shù)據(jù)暫存單元和地址暫存單元、地址數(shù)據(jù)匹配與數(shù)據(jù)包生成單元、元數(shù)據(jù)管理以及存儲(chǔ)體接口物理層構(gòu)成。
存儲(chǔ)單元提供海量數(shù)據(jù)存儲(chǔ)空間,可接收外部命令執(zhí)行對(duì)存儲(chǔ)介質(zhì)的讀寫。存儲(chǔ)單元采用輕量級(jí)嵌入式數(shù)據(jù)庫(kù),把各類傳感器產(chǎn)生的文件索引信息存入數(shù)據(jù)庫(kù)。不同類型的數(shù)據(jù)存入不同的文件,多個(gè)文件打包存入一個(gè)文件中,文件系統(tǒng)通過數(shù)據(jù)庫(kù)中的索引快速訪問每一個(gè)文件,用于實(shí)現(xiàn)讀寫刪除等功能。
從現(xiàn)狀及未來幾年的發(fā)展需求來看,選擇SRIO(Serial RapidIO)接口作為機(jī)上傳感器載荷與數(shù)據(jù)記錄設(shè)備之間的傳輸接口,在傳輸率要求、擴(kuò)展性要求及集成設(shè)計(jì)要求等方面都非常合適。
圖5 多源同步記錄工作原理框圖
SRIO是面向嵌入式系統(tǒng)開發(fā)提出的高可靠、高性能、基于包交換的新一代高速互聯(lián)技術(shù),于2004年被國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工協(xié)會(huì)(IEC)批準(zhǔn)為ISO/IECDIS18372標(biāo)準(zhǔn)。SRIO速率高、延時(shí)小,可以實(shí)現(xiàn)最低引腳數(shù)量,采用DMA傳輸,支持復(fù)雜的可拓展拓?fù)?,支?.25Gbps、2.5Gbps、3.125Gbps、5Gbps、6.25Gbps等波特率,適用于嵌入式系統(tǒng)/設(shè)備之間的高速數(shù)據(jù)交互。
SRIO包含三層結(jié)構(gòu)的協(xié)議,物理層、傳輸層、邏輯層。物理層:定義電氣特性、鏈路控制、低級(jí)錯(cuò)誤管理、底層流控制數(shù)據(jù);傳輸層:定義包交換、路由和尋址機(jī)制;邏輯層:定義總體協(xié)議和包格式。其層級(jí)結(jié)構(gòu)見圖6。
圖6 SRIO的層級(jí)結(jié)構(gòu)
它具有以下優(yōu)勢(shì):(1)基于GTX,速度快,引腳少;(2)可交換,擴(kuò)展性強(qiáng);(3)支持事務(wù)多,有SWRITE、NWrite、NRead、Message、DoorBell,能適應(yīng)不同應(yīng)用場(chǎng)景;(4)效率高,基于SWRITE協(xié)議的傳輸效率最高能達(dá)到91%以上。
統(tǒng)一SRIO的三層設(shè)計(jì),是傳感器載荷與通用數(shù)據(jù)記錄設(shè)備建立通訊的基礎(chǔ)。通過FPGA的GTX總線例化SRIO協(xié)議,可靈活編程,實(shí)現(xiàn)X1、X4等各種組合模式。GTX總線自身支持的線速率為12.5Gbps,可以滿足當(dāng)前速率最高6.25Gbps SRIO的例化需要,并具備一定擴(kuò)展使用潛力。
統(tǒng)一SRIO的物理層、傳輸層、邏輯層三層協(xié)議之后,傳感器載荷與通用數(shù)據(jù)記錄設(shè)備就可以建立起正常通訊,但為了便于更好地實(shí)現(xiàn)數(shù)據(jù)管理與后期的數(shù)據(jù)挖掘分析,以及通用數(shù)據(jù)記錄設(shè)備能夠自適應(yīng)各種類型的傳感器載荷接入,需要在SRIO自身的三層協(xié)議之外,綜合考慮各傳感器載荷數(shù)據(jù)特點(diǎn),規(guī)劃一層普遍適用于高分系統(tǒng)各傳感器載荷與通用數(shù)據(jù)記錄設(shè)備互聯(lián)通訊的應(yīng)用層協(xié)議。傳感器載荷向通用數(shù)據(jù)記錄設(shè)備發(fā)送數(shù)據(jù)時(shí),需將自身數(shù)據(jù)按應(yīng)用層協(xié)議進(jìn)行封裝。
表1所示的應(yīng)用層協(xié)議結(jié)構(gòu)是初步推薦的一種比較常見且較為實(shí)用的結(jié)構(gòu),當(dāng)傳感器載荷數(shù)據(jù)由可編程器件輸出時(shí),可以在線編程實(shí)現(xiàn)封裝。結(jié)構(gòu)表中第二部分的參數(shù)區(qū)主要保存后期回放、卸載時(shí)用戶可用其作為特征檢索的參數(shù),該參數(shù)區(qū)盡量簡(jiǎn)潔,只保存檢索參數(shù),以提高通用數(shù)據(jù)記錄設(shè)備提取特征參數(shù),建立索引的效率。對(duì)于部分用于數(shù)據(jù)分析而不用于數(shù)據(jù)檢索的參數(shù),需保留在第三部分的數(shù)據(jù)區(qū)。
表1 應(yīng)用層協(xié)議結(jié)構(gòu)示例
通用數(shù)據(jù)記錄設(shè)備規(guī)劃12路RapidIO光纖接口,可設(shè)置為8路X1或2路X4數(shù)據(jù)采集接口和1路X4 的卸載接口,也可在載荷增加的情況下將1路X4卸載接口配置為4路X1或1路X4數(shù)據(jù)采集接口;對(duì)于低速的載荷數(shù)據(jù),設(shè)備預(yù)留一個(gè)RS422接口作為采集接口;設(shè)備通過一個(gè)RS422接口同機(jī)載控制設(shè)備進(jìn)行命令交互及狀態(tài)上傳;圖像類數(shù)據(jù)經(jīng)通用數(shù)據(jù)記錄設(shè)備內(nèi)嵌的圖像壓縮單元壓縮后可以由同步422接口轉(zhuǎn)發(fā)給機(jī)載鏈路單元;設(shè)備內(nèi)部預(yù)留1路X4 RapidIO電接口,用于擴(kuò)展接口設(shè)計(jì),實(shí)現(xiàn)與無法引出RapidIO光纖接口的傳感器載荷對(duì)接。
通用數(shù)據(jù)記錄設(shè)備重點(diǎn)面向無人機(jī)領(lǐng)域的特定使用要求,建立以ARM+FPGA為核心,擴(kuò)展外圍接口單元和存儲(chǔ)單元的整體架構(gòu),是實(shí)現(xiàn)小型低功耗設(shè)計(jì)的基礎(chǔ)??稍诓桓淖冇布O(shè)計(jì)的前提下,通過在線軟件重構(gòu),靈活適應(yīng)前后端的需求變化。前端傳感器輸出無法調(diào)節(jié)為指定接口標(biāo)準(zhǔn)時(shí),可以由記錄設(shè)備主動(dòng)適應(yīng)傳感器接口,后端存儲(chǔ)單元接口由FPGA的GTX總線構(gòu)建,可定義為SATA2.0、SATA3.0、PCIE2.0、PCIE3.0等多種多個(gè)通用存儲(chǔ)器接口,可以適應(yīng)多種協(xié)議變化、各級(jí)容量(數(shù)量)配置的存儲(chǔ)模塊。
為保證記錄數(shù)據(jù)的可靠性,從多種類型數(shù)據(jù)優(yōu)先管理控制、硬件故障時(shí)RAID冗余、異常斷電時(shí)數(shù)據(jù)保護(hù)等方面入手展開研究。多種類型數(shù)據(jù)共享存儲(chǔ)空間時(shí)可建立優(yōu)先機(jī)制,保證重要等級(jí)較高數(shù)據(jù)優(yōu)先獲得存儲(chǔ)空間。建立基于FPGA的RAID冗余機(jī)制,在存儲(chǔ)顆粒發(fā)生硬件故障時(shí),保證記錄數(shù)據(jù)的延續(xù)性和可恢復(fù)性。實(shí)現(xiàn)緊急情況下數(shù)據(jù)快速銷毀,包括數(shù)據(jù)銷毀(軟銷毀)和介質(zhì)銷毀(硬銷毀)兩種實(shí)現(xiàn)方案。數(shù)據(jù)銷毀采用軟件方式銷毀,實(shí)現(xiàn)對(duì)已記錄數(shù)據(jù)的凈格處理,但不破壞存儲(chǔ)介質(zhì),硬件可復(fù)用;介質(zhì)銷毀采用物理方式銷毀,徹底破壞存儲(chǔ)介質(zhì),硬件不可復(fù)用。在異常斷電時(shí),保證已記錄數(shù)據(jù)不應(yīng)受斷電瞬間影響而被破壞。
本文介紹了一種在無人機(jī)平臺(tái)上具有廣泛應(yīng)用前景的通用數(shù)據(jù)記錄設(shè)備設(shè)計(jì)方案,其采樣速率高達(dá) 2GB/s,可以滿足多種任務(wù)載荷數(shù)據(jù)的連續(xù)采集、實(shí)時(shí)存儲(chǔ)、處理、分析的需求。作為一種設(shè)計(jì)精煉而又實(shí)用的通用數(shù)據(jù)記錄設(shè)備,采用ARM+FPGA的SOPC技術(shù),解決了無人機(jī)載荷中經(jīng)常遇到的高速大容量存儲(chǔ)要求和小型低功耗之間的矛盾,可以與各種偵察/探測(cè)載荷配合使用,實(shí)現(xiàn)情報(bào)數(shù)據(jù)的高速采集、安全存儲(chǔ)、高效管理及有效使用。