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