徐文杰
【摘要】? ? SAE AS5643協議具有確定性、高可靠性的特點,并已成功應用在航空航天等高安全關鍵領域。文中對SAE AS5643協議進行了特征分析。提出一種基于AS 5643協議的1394B總線監(jiān)控設計方法,采用FPGA實現對總線數據的實時監(jiān)控,并通過DMA高效傳輸至CPU模塊中。文中詳細討論了硬件、邏輯和軟件等設計方法與實現,通過不同的場景的測試驗證。結果表明,該監(jiān)控設計方法滿足基于SAE AS5643協議的總線監(jiān)控要求。
【關鍵字】? ? AS5643? ? 總線監(jiān)控? ? 1394B? ? 預分配通道號及帶寬
一、概述
基于SAE AS5643[1]協議的1394B總線通信技術,具有高傳輸帶寬、熱插拔、傳輸距離長等特點[2],文中首先介紹SAE AS5643的技術特點,其次分析了總線監(jiān)控設計的邏輯設計及具體工作流程,然后提出了軟件設計,最后對設計進行功能測試驗證,最后給出了監(jiān)控功能的設計結論。
二、AS5643協議分析
作為一種確定性安全網絡,SAE AS5643采用異步流包[3]進行固定幀速率的傳輸方式,通過靜態(tài)分配通道號及控制傳輸偏移等技術手段實現了確定性傳輸,并通過增加垂直奇偶校驗(VPC)等方式,進一步加強數據完整性,提高安全性,確保其應用在關鍵安全可靠領域。
2.1固定幀速率
SAE AS5643協議中,除物理層包數據意外,其他總線通信均采用異步流包格式。為了確保通信的確定性,協議采用一種固定幀速率的方式來實現各個網絡節(jié)點的時間同步,具體操作為:在每條總線上,CC節(jié)點會以固定的幀率(如:12.5ms)傳輸STOF包(一種特殊的異步流包),用來通知總線上的所有節(jié)點一個新幀周期的起始。依據STOF包的1394總線的時間同步,是SAE AS5643協議通信的基礎。
2.2預分配通道號及帶寬
基于SAE AS5643協議的1394總線采用異步流包在異步周期內發(fā)送的等時包,尋址方式采用通道號。在機載航電等應用領域,采用預先靜態(tài)分配通道號的固定方式進行確定性通信。網絡通信時,不同節(jié)點按照預先定義的通道號進行包數據通信,而接收節(jié)點也會按照預先定義的本通道號進行接收,保證確定性。
系統設計者在網絡拓撲固定之后,在通過預分配通道號和總線帶寬,來確保所有節(jié)點按照確定的發(fā)送、接收偏移時刻進行包數據的分時傳輸,提高了網絡可靠性。
2.3垂直奇偶校驗(VPC)
垂直奇偶校驗是個無符號長整型數,其計算方式為:對包的有效數據的每個32位字按位異或(無進位),其本身除外,最終對異或的結果按位取反得到VPC值,示例如下:
1. VPC=ASM頭的消息標識;
2. VPC=VPC 異或 ASM頭的安全字;
3. VPC=VPC 異或 ASM頭的節(jié)點標識字;
4. VPC=VPC 異或 ASM頭的優(yōu)先級/有效數據長度字;
5. VPC=VPC 異或 有效數據的健康狀態(tài)字;
6. VPC=VPC 異或 有效數據的心跳字;
7. 繼續(xù)與所有的余下的有效數據的字 異或;
8. VPC=VPC 異或 包尾的STOF TX偏移量;
9. VPC=VPC 異或 包尾的STOF RX偏移量;
10. VPC=VPC 異或 包尾的STOF DP偏移量;
11. VPC=VPC 按位取反。
三、監(jiān)控設計
本文設計中,1394總線監(jiān)控設計,主要考慮故障情景再現,及為系統設計者提供有利的網絡規(guī)劃參考依據,主要的設計需求[4],包括:1.監(jiān)控整個網絡包流量情況,主要包括:異步流包和物理包;2.保證包數據的順序完整性;3.標記相對時間戳;4. DMA監(jiān)控數據,上報至CPU模塊;5.特殊包消息的過濾監(jiān)控等。
3.1硬件設計
鑒于上述監(jiān)控需求,設計監(jiān)控模塊的硬件原理,如圖1所示。硬件設計,主要包括:監(jiān)控FPGA、1394鏈路層芯片、1394物理層芯片及1394收發(fā)器等,此外還包括:電源電路、時鐘電路、復位電路等基礎電路。
3.2邏輯設計
如圖1所示,監(jiān)控FPGA為監(jiān)控模塊中的核心設計,主要完成基于SAE AS5643協議的1394總線監(jiān)控功能,其設計框圖,如圖2所示。
如圖2所示,監(jiān)控FPGA完成了監(jiān)控設計的主要功能,其子功能主要包括:支持DMA傳輸的PCIe接口功能[5][6]、時間計時器、調度功能、接收接口功能、DMA輪詢控制功能、全監(jiān)控包緩存及信息FIFO、特色監(jiān)控包緩存及信息FIFO、控制及狀態(tài)寄存器功能、時鐘功能、配置SPI讀寫控制功能等,下面對每一個功能進行詳細描述。
支持DMA傳輸的PCIe接口功能,主要實現PCIe接口功能,包括:空間配置等,其主要采用FPGA的IP核實現;時間計時器,主要功能為:在模塊上電時,同時維護記錄兩個時間計時器,分別為:上電計時器和STOF計時器。在實際捕獲的包數據中,每個捕獲包消息,均要標記上述兩個時間戳,方便后續(xù)重現分析;調度功能,主要作用為:對捕獲到的包數據進行過濾分析,對特殊監(jiān)控的包消息,特別分發(fā)在特殊監(jiān)控包緩存FIFO和特殊監(jiān)控包信息FIFO中;接收接口功能,主要功能為:上電初始化時,完成對LLC鏈路層芯片的配置;對LLC芯片中的包數據進行實時監(jiān)控接收;DMA輪詢控制功能,主要作用為:采用乒乓操作對接收到的全監(jiān)控包消息和特色監(jiān)控包消息,輪詢調度至PCIe接口;全監(jiān)控包緩存及信息FIFO和特色監(jiān)控包緩存及信息FIFO,分別存放兩類包消息,便于邏輯設計的跨時鐘數據傳輸;控制及狀態(tài)寄存器功能,主要作用為:軟硬件接口實現。實現邏輯控制和狀態(tài)上報等內容;時鐘功能,主要實現邏輯內部的時鐘資源生成,采用FPGA內部的時鐘IP核實現;配置SPI讀寫控制功能,主要實現FPGA邏輯配置的在線升級功能。
3.3軟件設計
軟件設計在監(jiān)控設計中相對比較簡單,其主要功能包括:1.實現對監(jiān)控邏輯的配置,包括:速率配置、DMA基址配置、軟復位、監(jiān)控特殊消息ID等;2.獲取監(jiān)控設計的狀態(tài)信息,包括:計數寄存器、中斷狀態(tài)、物理端口狀態(tài)、BIT狀態(tài)等信息,并匯總各種消息之后,上報CPU模塊本節(jié)點狀態(tài);3.數據遷移功能,在監(jiān)控FPGA將監(jiān)控包消息上傳至指定區(qū)間后,軟件將該數據搬移至非易失存儲器上。
四、驗證測試
基于SAE AS5643協議的1394總線監(jiān)控設計的驗證測試,除了基本端口及功能的測試外,還重點在測試場景的合理模擬,主要考慮如下幾點:1.總線復位之后的物理層包監(jiān)控;2.特殊監(jiān)控包消息的監(jiān)控;3.時間戳的合理標記;4.包順序的完整性。綜合上述考慮,搭建1394總線驗證測試環(huán)境如圖3所示,主要包括:基于VMC的CC節(jié)點、節(jié)點1、節(jié)點2及監(jiān)控卡等。
結合監(jiān)控測試場景特點,設置主要測試項目如表1所示
1 特殊監(jiān)控包消息 設置不同的特殊監(jiān)控消息ID,查看特殊監(jiān)控包消息是否正確監(jiān)控
2 DMA傳輸 分別設置特殊監(jiān)控消息和全監(jiān)控消息監(jiān)控,通過PCIe總線查看DMA輪詢控制功能及DMA傳輸功能的正確性
3 時間戳 設置不同的STOF包周期、上電復位等情緒下,兩個計時器是否合理工作,體現了包的先后順序
4 包順序的完整性 設置總線復位場景,監(jiān)控總線復位前后,監(jiān)控設計是否完整展現總線復位前及總線復位后的包消息數據的完整性
通過上述主要用例的功能檢測,結果表明:本監(jiān)控設計適用于不同場景下的包數據捕獲,完整保持了消息的順序完整性,再現了總線通信實情,滿足了基于SAE AS5643協議的1394總線監(jiān)控要求。
五、結束語
本文通過對基于SAE AS5643協議的理解和研究,在原有1394B總線通信基礎上,提出了一種總線監(jiān)控設計方法,實現了總線數據的全消息監(jiān)控、特殊消息監(jiān)控和DMA上傳等功能,經測試驗證,該監(jiān)控模塊具備實現高流量、DMA高效率傳輸、完整再現順序完整性的數據監(jiān)控能力。
參? 考? 文? 獻
[1]SAE-AS 5643:IEEE-1394B interface requirements for military and aerospace vehicle applications[S].2006
[2]李肇慶,朱線峰. IEEE1394接口技術[M]. 北京:國防工業(yè)出版社,2004.
[3]王宣明,田澤,魏艷艷,牛少平,徐文進.SAE AS5643協議分析及設計實現[J].計算機技術與發(fā)展.第25卷第7期,2015年7月.P213~215.
[4]韓一鵬,田澤,牛少平.一種SAE AS5643三節(jié)點仿真設備設計與實現[J].計算機技術與發(fā)展.2016年第26卷第3期. P202~204.
[5]廖寅龍,田澤.FC網絡通信中PCIe的接口的設計與實現[J].航空計算技術.2010,40(4),P127~P130.
[6]馬鳴錦,朱劍冰,何紅旗,等.PCI,PCI-X和PCI Express的原理及體現結構[M].北京:清華大學出版社,2007