徐玉杰 朱志強 孟博
摘要:隨著FC網絡的發展及大量部署,FC節點機的需求越來越大。為了滿足用戶對嵌入式FC節點機主機接口多樣化要求,文章提出了一種基于SRIO總線FC節點機的設計與實現方案,主要采用FPGA作為邏輯設計芯片,實現接口數據收發、協議轉換等功能,滿足了對嵌入式FC節點機功能、功耗和重量等要求,達到了設計的預期目標。
關鍵詞:SRIO接口;FC節點機;軟核
中圖分類號:TP336;V243? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)08-0112-02
1 引言
機載網絡逐漸成為機載系統乃至飛機的核心部件,已涉及航電、機電、飛控等安全關鍵系統。隨著軍用飛機綜合化程度的不斷深入、綜合化范圍的不斷擴大,在同一個機載網絡平臺上兼容不同安全關鍵等級、傳輸帶寬的通信傳輸,以同時滿足航電、機電和飛控系統的通信要求,已是大勢所趨。光纖通道(FC)的高帶寬、低延遲、低誤碼率、靈活的拓撲結構和服務類型、支持多種上層協議和底層傳輸介質以及具有流量控制功能,使得它能很好地滿足綜合模塊化航空電子系統的互連要求[1]。
高速串行輸入輸出(SRIO:Serial Rapid Input and Output)是航電系統中板級互聯和芯片級互聯的佼佼者,具有高帶寬、低延遲、高可靠性等優點。SRIO總線作為一種高速串行總線,因其支持點到點通信,也可通過交換實現星型及網型拓撲結構,大系統可最多互聯65536個節點,滿足嵌入式領域所需的靈活性、可擴展性等要求[2]。
SRIO接口FC節點機作為一種嵌入式多功能接口單元,嵌入各分系統功能模塊中,實現各分系統的FC網絡通信處理及接口功能。目前PCIE接口的FC節點機已大量使用,但隨著各分系統中越來越多地使用SRIO總線作為分系統內部總線,SRIO接口的FC節點機正成為用戶的選擇。
2 節點機設計
本文所設計的SRIO接口FC節點機以FPGA為核心處理器完成協議處理,實現SRIO與FC之間的協議轉換。邏輯設計過程中對于處理時效要求高的MAC層、FC-ASM消息等功能由可編程邏輯完成,處理復雜的FC-ELS消息、主機接口控制指令等功能由軟核實現。
2.1 硬件設計
FC節點機硬件主要包含FPGA、存儲器電路、電源電路、時鐘電路及復位電路等,其原理設計如圖1所示。
FPGA選用某公司生產的K系列可編程邏輯器件,該器件內部集成了BRAM、邏輯單元、CMT及GTX等資源,支持各種高速接口。
SRIO接口節點機以FPGA為核心處理單元,外圍電路主要提供電源、時鐘、復位及存儲功能,用于FPGA工作所需的各檔電壓、時鐘、復位和數據存儲功能。
2.2 邏輯設計
SRIO接口FC節點機邏輯基于可編程邏輯器件進行設計,實現外部SRIO接口及FC接口的高速數據收發、協議轉換等功能。內部集成軟核,構建嵌入式片上系統,用于實現控制及用戶指令解析等對數據處理能力要求不高的業務。節點機邏輯功能框架如圖2所示。
基于軟核的片上可編程系統通過AXI總線將各個功能組件或外設進行交聯。通過編寫相應的執行固件,用于實現SRIO接口配置、FC節點機管理、協議轉換控制、存儲器管理等。以軟核為處理器的片內控制系統連接見圖3所示。
SRIO接口至FC網絡接口數據傳輸示意圖如圖4所示,節點機通過SRIO主機接口獲取用戶指令,由節點機DMA控制器在主機數據準備就緒后發起DMA讀操作,將待發送數據搬移至FPGA片內緩沖區。
協議轉換實現SRIO數據與FC協議數據的轉化及轉發,FC端口數據傳輸協議采用FC-AE-ASM,主機發送的SRIO數據按照ASM消息封裝規則轉換為ASM單幀消息或流消息,發送至FC發送端口實施發送。
FC數據發送支持ASM消息發送以及FC-ELS消息發送,其中ASM消息來源于SRIO發送的數據,ELS消息來源于軟核發送的協議控制類數據。
FC網絡接口至SRIO接口數據傳輸示意圖如圖5所示,FC接口各通道MAC支持ASM及FC-ELS消息接收。FC接口組件依據輸入FC幀類型區分ASM消息及FC-ELS消息實施數據分流,其中ASM消息經片內緩沖處理后發送至協議轉換單元實施協議轉換,FC-ELS消息則發送至軟核進行分析處理。
FC-MAC接收后的數據交由協議轉換單元處理,在協議轉換控制單元干預下,將ASM消息單幀數據以流水方式轉換為SRIO數據塊,節點機向主機發起DMA請求前,將數據放置在指定的緩沖區中,SRIO接口的數據接收對象以單個ASM消息為單位進行搬移和重組,數據搬移后,向主機發出門鈴,完成數據轉換及傳輸。
2.3 軟件設計
基于軟核及邏輯設計實現的FC節點機,軟件主要分兩部分:駐留在節點機中的固件及駐留在主機處理器的驅動軟件。固件通過SRIO和FC接口接收命令和數據,執行相應命令,協助FPGA完成SRIO及FC接口配置、協議轉換控制及存儲資源訪問等功能。
3 FC節點機的驗證
為驗證FC節點機的各項功能,構建兩種典型的驗證環境:FC節點機對傳通信和分系統環境下通信。對節點機進行了主機接口命令解析、協議轉換、數據通信等功能的測試。在節點機中設計兩種業務流的數據,同時進行通信,監控設備捕獲節點機發送到網絡中的各種數據幀,查看FC消息,根據數據解析出的目的MAC地址、源MAC地址、負載數據等信息,驗證了FC節點機依據配置進行正確協議轉換及數據收發。通過檢查接收節點機收到的數據內容以及其處理過程,驗證了節點機的功能。
4 結論
本文主要研究了SRIO接口的FC節點機的設計和實現,提出了使用軟核和可編程邏輯結合的節點機設計方案實現SRIO接口FC節點機,搭建了點到點拓撲的機載網絡驗證環境,對節點機的接口指令、協議轉換及高速數據收發進行了驗證。結果顯示,該方案設計實現的SRIO接口FC節點機能夠很好地滿足設計目標和用戶應用需求。
參考文獻:
[1] 李攀,田澤,蔡葉芳,等.FC-AE-ASM協議優化設計[J].計算機工程與科學,2017,39(2):280-284.
[2] 張健,林錫龍,謝江波.CPS1432交換芯片的串行RapidIO互連技術[J].單片機與嵌入式系統應用,2014,14(12):31-34.
【通聯編輯:代影】