劉 臺,尤詠國,陳 波,朱 超,高 超
(武漢中原電子集團(tuán)有限公司,湖北 武漢 430205)
近年來,國際形勢復(fù)雜多變,國家更加重視通信網(wǎng)絡(luò)設(shè)備的國產(chǎn)化,關(guān)鍵領(lǐng)域的通信網(wǎng)絡(luò)設(shè)備國產(chǎn)化設(shè)計已成為必然趨勢[1]。本文結(jié)合通信系統(tǒng)應(yīng)用的功能需求和性能指標(biāo)需求,調(diào)研國內(nèi)相關(guān)的嵌入式平臺,選用國產(chǎn)處理器芯片設(shè)計開發(fā)了一款自主可控的網(wǎng)絡(luò)控制或網(wǎng)絡(luò)交換的嵌入式核心模塊,并結(jié)合網(wǎng)絡(luò)控制的實際應(yīng)用對嵌入式核心模塊的性能進(jìn)行測試驗證。
目前,國產(chǎn)嵌入式處理器的研究已經(jīng)發(fā)展到局部批量裝備的應(yīng)用階段,部分芯片實現(xiàn)量產(chǎn)并在各類電子設(shè)備中成功應(yīng)用,主流國產(chǎn)嵌入式處理器主要包括基于X86的兆芯、基于MIPS內(nèi)核的龍芯系列和基于ARMv8內(nèi)核的飛騰、全志、瑞芯微等[2]。
其中,龍芯是我國最早研制的高性能通用CPU系列。龍芯堅持走自主創(chuàng)新與生態(tài)建設(shè)之路,通過體制內(nèi)市場引導(dǎo)帶動技術(shù)進(jìn)步,再參與體制外市場競爭。龍芯不支持移動生態(tài),在移動生態(tài)方面劣勢相對較大。從龍芯國產(chǎn)生態(tài)體系分析,支持龍芯的整機(jī)相對較少,其芯片虛擬化能力相對不足。兆芯系列CPU是基于X86架構(gòu)成功研發(fā)并量產(chǎn)的多代通用CPU,在實現(xiàn)技術(shù)創(chuàng)新與產(chǎn)品進(jìn)步的同時始終保持開放合作,廣泛應(yīng)用于電腦整機(jī)、筆記本、一體機(jī)、服務(wù)器以及嵌入式計算平臺等。飛騰CPU獲得了ARM指令集授權(quán),集成全自主處理器內(nèi)核,形成了覆蓋桌面、服務(wù)器以及嵌入式等領(lǐng)域的完整產(chǎn)品線。在生態(tài)建設(shè)上,飛騰作為獨立的芯片供應(yīng)商,只提供芯片,與所有整機(jī)廠商都是對等的開放合作關(guān)系。此外,全志、瑞芯微等廠家都是通過ARM指令集授權(quán)開發(fā)設(shè)計CPU。他們是領(lǐng)先的智能應(yīng)用處理器SoC、高性能模擬器件和無線互聯(lián)芯片設(shè)計廠商,在超高清視頻編解碼、高性能CPU/GPU/AI多核整合、先進(jìn)工藝的高集成度、超低功耗、全棧集成平臺等方面提供具有突出市場競爭力的系統(tǒng)解決方案,產(chǎn)品廣泛應(yīng)用于智能硬件、平板電腦、智能家電、車聯(lián)網(wǎng)、機(jī)器人、虛擬現(xiàn)實、網(wǎng)絡(luò)機(jī)頂盒與電源模擬器件、無線通信模組以及智能物聯(lián)網(wǎng)等多個產(chǎn)品領(lǐng)域。
綜合各廠家處理性能、CPU可靠性、功耗以及市場推廣應(yīng)用情況,網(wǎng)絡(luò)控制或網(wǎng)絡(luò)交換的嵌入式核心模塊選擇珠海全志的一款CPU處理器進(jìn)行設(shè)計。該處理器擁有工業(yè)級低功耗指標(biāo),能夠滿足網(wǎng)絡(luò)控制的應(yīng)用需求。
主CPU是全志在智能工控領(lǐng)域的一款高性能、超高效處理器,采用ARM Cortex-A7內(nèi)核,運(yùn)行頻率高達(dá)1.2 GHz,配備Mali400 MP2圖形處理器及多種顯示接口,并具有豐富的行業(yè)應(yīng)用接口,主要應(yīng)用于各種具有視頻輸出的工控行業(yè)[3]。配套使用的電源管理集成電路(Power Management IC,PMIC)支持外部電源、USB、鋰電池3種供電方式,并集成了供電路徑選擇和鋰電池充放電管理等功能,降低了終端產(chǎn)品的設(shè)計難度。處理器資源如表1所示。
表1 處理器主要接口資源
根據(jù)網(wǎng)絡(luò)控制的應(yīng)用需求與平臺所支持的接口對硬件實現(xiàn)進(jìn)行細(xì)化,嵌入式核心模塊原理框架如圖1所示。
圖1 嵌入式處理器原理框架
嵌入式核心模塊的最小系統(tǒng)滿足網(wǎng)絡(luò)控制系統(tǒng)的數(shù)據(jù)路由計算、數(shù)據(jù)處理、通信控制以及接口管理等處理要求[4]。最小系統(tǒng)處理器通過PMIC模塊進(jìn)行電源供電,外擴(kuò)兩片共1 GB的DDR3內(nèi)存和1片8 GB的嵌入式多媒體卡(embedded Multi Media Card,eMMC)存儲器,同時提供Micro USB接口進(jìn)行boot程序加載,設(shè)計串口和百兆以太網(wǎng)接口進(jìn)行外部調(diào)試。對外接口包括與現(xiàn)場可編程邏輯門陣列(Field-Programmable Gate Array,F(xiàn)PGA)或者交換芯片互聯(lián)的RGMII接口、用于參數(shù)配置的串行外設(shè)接口(Serial Peripheral Interface,SPI)等。
處理器支持OTG和SD卡兩種燒寫方式,本設(shè)計使用OTG燒寫。打開FEL的撥碼配置,此時網(wǎng)絡(luò)控制核心模塊進(jìn)入OTG燒寫模式,然后將FEL撥碼開關(guān)斷開進(jìn)行燒寫,燒寫完成后自動從eMMC啟動。
最小系統(tǒng)的操作系統(tǒng)采用嵌入式實時操作系統(tǒng),由中間層軟件和底層軟件組成,其分層軟件結(jié)構(gòu)如圖2所示。
圖2 平臺軟件體系結(jié)構(gòu)
底層軟件為最小系統(tǒng)軟件所依賴的操作系統(tǒng)與硬件資源設(shè)備相關(guān)的匹配部分,主要完成與硬件設(shè)備的信息交互,為中間層提供數(shù)據(jù)輸入輸出。中間層軟件為最小系統(tǒng)所運(yùn)行的操作系統(tǒng)和與設(shè)備驅(qū)動層進(jìn)行交互的部分,可以實現(xiàn)與操作系統(tǒng)和設(shè)備驅(qū)動層的信息交互,同時為應(yīng)用層提供數(shù)據(jù)輸入輸出接口,讓應(yīng)用層完全脫離軟硬件平臺。其中,虛擬以太網(wǎng)驅(qū)動實現(xiàn)了與物理信道一一映射的網(wǎng)絡(luò)邏輯接口?;贚inux原有以太網(wǎng)驅(qū)動,虛擬以太網(wǎng)驅(qū)動增加了通過IEEE 802.1Q VLAN標(biāo)簽區(qū)分并分流不同信道數(shù)據(jù)的機(jī)制。此外,最小系統(tǒng)采用的操作系統(tǒng)基于Linux。Linux系統(tǒng)由用戶態(tài)與內(nèi)核態(tài)組成,用戶態(tài)與內(nèi)核態(tài)模塊相隔離的設(shè)計保證了內(nèi)核的穩(wěn)定,同時也導(dǎo)致虛擬以太網(wǎng)驅(qū)動模塊等內(nèi)核態(tài)模塊無法直接與用戶態(tài)交互控制信令、數(shù)據(jù)報文。為了解決這個問題,引入Netlink通信機(jī)制。Netlink本質(zhì)上是基于socket的一種通信方法,可以滿足系統(tǒng)實時性、吞吐量方面的要求[5]。
最小系統(tǒng)模塊的初始化流程按時間順序分為硬件復(fù)位、預(yù)初始化、內(nèi)核初始化以及應(yīng)用初始化4個階段,如圖3所示。
圖3 上電初始化流程
第1階段:電源加電,電源芯片、時鐘芯片和復(fù)位芯片分別向主要芯片輸出正常工作所需的電源、時鐘信號以及復(fù)位信號,微處理器依據(jù)初始硬件配置從指定外部Boot Rom讀取BootLoader鏡像并開始執(zhí)行。
第2階段:BootLoader初始化RAM、ROM等,為操作系統(tǒng)(內(nèi)核)正常工作創(chuàng)建必要的硬件環(huán)境,然后依據(jù)用戶固化的配置從ROM指定分區(qū)加載操作系統(tǒng)(內(nèi)核)鏡像,跳轉(zhuǎn)并開始執(zhí)行。
第3階段:操作系統(tǒng)(內(nèi)核)接管微處理器,初始化進(jìn)程管理、內(nèi)存管理、網(wǎng)絡(luò)協(xié)議棧以及文件系統(tǒng)等核心模塊,同時初始化板卡正常工作所需的所有硬件。依據(jù)用戶固化的配置,在ROM指定分區(qū)掛載根文件系統(tǒng),解析啟動文件并開始加載應(yīng)用程序。
第4階段:各應(yīng)用程序依次被初始化,待最小系統(tǒng)初始化完畢后開始接收和處理來自各個接口的控制信令、業(yè)務(wù)數(shù)據(jù)。
為驗證自主可控嵌入式核心模塊的性能指標(biāo),配合業(yè)務(wù)處理底板和交換底板搭建了如圖4所示的網(wǎng)口測試環(huán)境,主要測試自主可控嵌入式核心模塊的相關(guān)性能指標(biāo)。
圖4 自主可控嵌入式核心測試環(huán)境
自主可控嵌入式核心模塊的主要數(shù)據(jù)口為網(wǎng)口,網(wǎng)口的轉(zhuǎn)發(fā)能力可以通過網(wǎng)絡(luò)測試儀CMA3000進(jìn)行測試。將兩個網(wǎng)口通過交換底板連接,再經(jīng)過自主可控嵌入式核心模塊。設(shè)置交換機(jī)trunk口自適應(yīng),CMA3000測試儀器端口設(shè)置為以太網(wǎng)口自適應(yīng)。測試指標(biāo)包括網(wǎng)口的吞吐量、網(wǎng)口的丟包率以及網(wǎng)口的時延,測試結(jié)果如表2所示[6]。
表2 自主可控嵌入式核心模塊測試結(jié)果
網(wǎng)口64字節(jié)和1 518字節(jié)測試結(jié)果如圖5和圖6所示。
圖5 網(wǎng)口64字節(jié)測試結(jié)果
圖6 網(wǎng)口1518字節(jié)測試結(jié)果
自主可控嵌入式核心模塊使用國產(chǎn)化嵌入式CPU和國產(chǎn)外圍器件,在保證性能指標(biāo)的前提下,能夠很好地適配網(wǎng)絡(luò)控制和網(wǎng)絡(luò)交換[7]。該模塊配合其他板卡可以在安全級別較高的網(wǎng)絡(luò)系統(tǒng)中搭建自主可控的通信網(wǎng)絡(luò),較好地提高通信網(wǎng)絡(luò)信息安全性[8]。
當(dāng)前國際形勢日趨緊張,特別是芯片半導(dǎo)體技術(shù)方面。通過逐步開發(fā)自主可控技術(shù),設(shè)計自主可控通信設(shè)備并搭建自主可控通信系統(tǒng)是國家信息網(wǎng)絡(luò)安全和國防安全的重要保障。針對網(wǎng)絡(luò)交換設(shè)備的自主可控需求,在綜合分析多種技術(shù)方案的基礎(chǔ)上應(yīng)用全志低功耗處理器,設(shè)計了一款低功耗的全國產(chǎn)化的嵌入式核心模塊。該模塊實現(xiàn)了所有元器件100%國產(chǎn)化,保證了網(wǎng)絡(luò)通信設(shè)備核心處理器的自主可控,能有效提升通信網(wǎng)絡(luò)系統(tǒng)的安全性,對我國網(wǎng)絡(luò)設(shè)備的自主可控開發(fā)和設(shè)計起到了有力的推動作用。