劉 臺,尤詠國,陳 波,朱 超,高 超
(武漢中原電子集團有限公司,湖北 武漢 430205)
近年來,國際形勢復雜多變,國家更加重視通信網絡設備的國產化,關鍵領域的通信網絡設備國產化設計已成為必然趨勢[1]。本文結合通信系統應用的功能需求和性能指標需求,調研國內相關的嵌入式平臺,選用國產處理器芯片設計開發了一款自主可控的網絡控制或網絡交換的嵌入式核心模塊,并結合網絡控制的實際應用對嵌入式核心模塊的性能進行測試驗證。
目前,國產嵌入式處理器的研究已經發展到局部批量裝備的應用階段,部分芯片實現量產并在各類電子設備中成功應用,主流國產嵌入式處理器主要包括基于X86的兆芯、基于MIPS內核的龍芯系列和基于ARMv8內核的飛騰、全志、瑞芯微等[2]。
其中,龍芯是我國最早研制的高性能通用CPU系列。龍芯堅持走自主創新與生態建設之路,通過體制內市場引導帶動技術進步,再參與體制外市場競爭。龍芯不支持移動生態,在移動生態方面劣勢相對較大。從龍芯國產生態體系分析,支持龍芯的整機相對較少,其芯片虛擬化能力相對不足。兆芯系列CPU是基于X86架構成功研發并量產的多代通用CPU,在實現技術創新與產品進步的同時始終保持開放合作,廣泛應用于電腦整機、筆記本、一體機、服務器以及嵌入式計算平臺等。飛騰CPU獲得了ARM指令集授權,集成全自主處理器內核,形成了覆蓋桌面、服務器以及嵌入式等領域的完整產品線。在生態建設上,飛騰作為獨立的芯片供應商,只提供芯片,與所有整機廠商都是對等的開放合作關系。此外,全志、瑞芯微等廠家都是通過ARM指令集授權開發設計CPU。他們是領先的智能應用處理器SoC、高性能模擬器件和無線互聯芯片設計廠商,在超高清視頻編解碼、高性能CPU/GPU/AI多核整合、先進工藝的高集成度、超低功耗、全棧集成平臺等方面提供具有突出市場競爭力的系統解決方案,產品廣泛應用于智能硬件、平板電腦、智能家電、車聯網、機器人、虛擬現實、網絡機頂盒與電源模擬器件、無線通信模組以及智能物聯網等多個產品領域。
綜合各廠家處理性能、CPU可靠性、功耗以及市場推廣應用情況,網絡控制或網絡交換的嵌入式核心模塊選擇珠海全志的一款CPU處理器進行設計。該處理器擁有工業級低功耗指標,能夠滿足網絡控制的應用需求。
主CPU是全志在智能工控領域的一款高性能、超高效處理器,采用ARM Cortex-A7內核,運行頻率高達1.2 GHz,配備Mali400 MP2圖形處理器及多種顯示接口,并具有豐富的行業應用接口,主要應用于各種具有視頻輸出的工控行業[3]。配套使用的電源管理集成電路(Power Management IC,PMIC)支持外部電源、USB、鋰電池3種供電方式,并集成了供電路徑選擇和鋰電池充放電管理等功能,降低了終端產品的設計難度。處理器資源如表1所示。

表1 處理器主要接口資源
根據網絡控制的應用需求與平臺所支持的接口對硬件實現進行細化,嵌入式核心模塊原理框架如圖1所示。

圖1 嵌入式處理器原理框架
嵌入式核心模塊的最小系統滿足網絡控制系統的數據路由計算、數據處理、通信控制以及接口管理等處理要求[4]。最小系統處理器通過PMIC模塊進行電源供電,外擴兩片共1 GB的DDR3內存和1片8 GB的嵌入式多媒體卡(embedded Multi Media Card,eMMC)存儲器,同時提供Micro USB接口進行boot程序加載,設計串口和百兆以太網接口進行外部調試。對外接口包括與現場可編程邏輯門陣列(Field-Programmable Gate Array,FPGA)或者交換芯片互聯的RGMII接口、用于參數配置的串行外設接口(Serial Peripheral Interface,SPI)等。
處理器支持OTG和SD卡兩種燒寫方式,本設計使用OTG燒寫。打開FEL的撥碼配置,此時網絡控制核心模塊進入OTG燒寫模式,然后將FEL撥碼開關斷開進行燒寫,燒寫完成后自動從eMMC啟動。
最小系統的操作系統采用嵌入式實時操作系統,由中間層軟件和底層軟件組成,其分層軟件結構如圖2所示。

圖2 平臺軟件體系結構
底層軟件為最小系統軟件所依賴的操作系統與硬件資源設備相關的匹配部分,主要完成與硬件設備的信息交互,為中間層提供數據輸入輸出。中間層軟件為最小系統所運行的操作系統和與設備驅動層進行交互的部分,可以實現與操作系統和設備驅動層的信息交互,同時為應用層提供數據輸入輸出接口,讓應用層完全脫離軟硬件平臺。其中,虛擬以太網驅動實現了與物理信道一一映射的網絡邏輯接口。基于Linux原有以太網驅動,虛擬以太網驅動增加了通過IEEE 802.1Q VLAN標簽區分并分流不同信道數據的機制。此外,最小系統采用的操作系統基于Linux。Linux系統由用戶態與內核態組成,用戶態與內核態模塊相隔離的設計保證了內核的穩定,同時也導致虛擬以太網驅動模塊等內核態模塊無法直接與用戶態交互控制信令、數據報文。為了解決這個問題,引入Netlink通信機制。Netlink本質上是基于socket的一種通信方法,可以滿足系統實時性、吞吐量方面的要求[5]。
最小系統模塊的初始化流程按時間順序分為硬件復位、預初始化、內核初始化以及應用初始化4個階段,如圖3所示。

圖3 上電初始化流程
第1階段:電源加電,電源芯片、時鐘芯片和復位芯片分別向主要芯片輸出正常工作所需的電源、時鐘信號以及復位信號,微處理器依據初始硬件配置從指定外部Boot Rom讀取BootLoader鏡像并開始執行。
第2階段:BootLoader初始化RAM、ROM等,為操作系統(內核)正常工作創建必要的硬件環境,然后依據用戶固化的配置從ROM指定分區加載操作系統(內核)鏡像,跳轉并開始執行。
第3階段:操作系統(內核)接管微處理器,初始化進程管理、內存管理、網絡協議棧以及文件系統等核心模塊,同時初始化板卡正常工作所需的所有硬件。依據用戶固化的配置,在ROM指定分區掛載根文件系統,解析啟動文件并開始加載應用程序。
第4階段:各應用程序依次被初始化,待最小系統初始化完畢后開始接收和處理來自各個接口的控制信令、業務數據。
為驗證自主可控嵌入式核心模塊的性能指標,配合業務處理底板和交換底板搭建了如圖4所示的網口測試環境,主要測試自主可控嵌入式核心模塊的相關性能指標。

圖4 自主可控嵌入式核心測試環境
自主可控嵌入式核心模塊的主要數據口為網口,網口的轉發能力可以通過網絡測試儀CMA3000進行測試。將兩個網口通過交換底板連接,再經過自主可控嵌入式核心模塊。設置交換機trunk口自適應,CMA3000測試儀器端口設置為以太網口自適應。測試指標包括網口的吞吐量、網口的丟包率以及網口的時延,測試結果如表2所示[6]。

表2 自主可控嵌入式核心模塊測試結果
網口64字節和1 518字節測試結果如圖5和圖6所示。

圖5 網口64字節測試結果

圖6 網口1518字節測試結果
自主可控嵌入式核心模塊使用國產化嵌入式CPU和國產外圍器件,在保證性能指標的前提下,能夠很好地適配網絡控制和網絡交換[7]。該模塊配合其他板卡可以在安全級別較高的網絡系統中搭建自主可控的通信網絡,較好地提高通信網絡信息安全性[8]。
當前國際形勢日趨緊張,特別是芯片半導體技術方面。通過逐步開發自主可控技術,設計自主可控通信設備并搭建自主可控通信系統是國家信息網絡安全和國防安全的重要保障。針對網絡交換設備的自主可控需求,在綜合分析多種技術方案的基礎上應用全志低功耗處理器,設計了一款低功耗的全國產化的嵌入式核心模塊。該模塊實現了所有元器件100%國產化,保證了網絡通信設備核心處理器的自主可控,能有效提升通信網絡系統的安全性,對我國網絡設備的自主可控開發和設計起到了有力的推動作用。