武堅 朱志強 馮思桐
摘要:現(xiàn)有的機載單總線接口模塊當網(wǎng)絡(luò)總線通信故障時,主機系統(tǒng)無法獲取模塊及交聯(lián)電路的狀態(tài)信息,模塊表面上看起來就像黑匣子一樣無法訪問,給主機系統(tǒng)帶來了潛在的安全隱患,因此雙網(wǎng)絡(luò)總線接口模塊的設(shè)計對于機載產(chǎn)品的故障檢測具有重要的意義。該文設(shè)計了一種基于FC(Fibre Channel,光纖通道)和CAN的雙網(wǎng)絡(luò)總線接口模塊,能夠有效地完成接口模塊的故障實時檢測,提升了系統(tǒng)的測試性和維修性。
關(guān)鍵詞:FC總線;CAN總線;故障檢測
中圖分類號:TP393? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)07-0052-02
1 介紹
基于FPGA的嵌入式接口模塊具有靈活度高、集成性高等優(yōu)點,可以支持150Mbps至6.5Gbps多種通信速率[1],實現(xiàn)不同的接口功能。但當硬件功能電路出現(xiàn)異常時,故障往往難以進行迅速定位和排查。尤其在接口模塊通信功能故障時,上層主機系統(tǒng)此時完全無法訪問接口模塊,無法精準定位故障位置,對于故障排查和設(shè)備維修造成了極大不便。本文提出的雙網(wǎng)絡(luò)總線接口模塊圍繞FPGA設(shè)計實現(xiàn),采用雙路網(wǎng)絡(luò)總線設(shè)計,通過FC總線及CAN總線同時將產(chǎn)品狀態(tài)進行上報,能夠?qū)δK自身硬件狀態(tài)進行有效的實時檢測。模塊中雙路網(wǎng)絡(luò)總線的設(shè)計可以確保在FC總線或CAN總線通信失效時,上層主機仍能通過另一路總線獲取當前的狀態(tài)信息,極大提升了產(chǎn)品的測試性和維修性。
2 故障實時檢測機制
本文設(shè)計的故障實時檢測機制,檢測的主要對象為接口模塊自身硬件的狀態(tài)信息,包括FPGA內(nèi)CPU的運行情況,SRAM、NVRAM和FLASH的寫讀狀態(tài),以及FC總線的鏈路狀態(tài)信息。CPU每兩秒進行一次自檢測,檢測后在NVRAM讀寫正常的前提下將結(jié)果記錄在NVRAM中,并將表示狀態(tài)信息的8字節(jié)狀態(tài)碼,通過FC總線上報至主機后端的中央維護系統(tǒng),同時通過CAN總線上報至主機前端的傳感器系統(tǒng)。部分關(guān)鍵字節(jié)狀態(tài)碼見表1。
接口模塊使用FPGA提供的高速串行I/O,能夠滿足FC網(wǎng)絡(luò)總線要求的2.125Gbps的速率要求,通過FPGA內(nèi)嵌的PowerPC處理器硬核及FLASH存儲器完成維護軟件及應(yīng)用處理軟件的執(zhí)行,模塊的邏輯內(nèi)部通過接口控制器、存儲器管理器實現(xiàn)對串行接口和存儲器的管理,PowerPC處理器運行Vxworks操作系統(tǒng),負責完成雙路網(wǎng)絡(luò)總線的接口控制及初始化、中斷處理、數(shù)據(jù)轉(zhuǎn)換與組幀和傳輸管理等工作。通過串行接口實現(xiàn)對相關(guān)接口參數(shù)的配置,包括FC的端口ID配置,F(xiàn)C消息ID配置、CAN總線速率、CAN消息號等。最終軟硬件組合共同工作完成FC-ASM[2]協(xié)議處理及CAN接口通信管理,實現(xiàn)雙網(wǎng)絡(luò)總線的對外通信及故障檢測功能。
3 雙網(wǎng)絡(luò)總線接口硬件設(shè)計實現(xiàn)
在接口模塊硬件設(shè)計中,圍繞FPGA,搭建電源、時鐘、存儲和光電轉(zhuǎn)換等功能電路,總體結(jié)構(gòu)框圖見圖1。
模塊使用Master SelectMAP模式對FPGA進行配置,并對FPGA內(nèi)部高速串行I/O管腳的供電進行了濾波設(shè)計,每路都增加了一個指定的電容和磁珠以確保良好的紋波特性。為了確保FC及CAN雙路總線的正常通信,產(chǎn)品使用40MHz、212.5MHz以及16MHz三種時鐘,分別為系統(tǒng)時鐘、FC工作時鐘以及CAN接口工作時鐘,由三個晶體振蕩器提供,所有晶體振蕩器布局均靠近所用芯片,并采用LC電路進行供電設(shè)計,以提高時鐘品質(zhì)。在FPGA外圍搭建了存儲電路,包括SRAM等FLASH芯片存儲維護程序、應(yīng)用固件等信息,NVRAM用于存儲故障信息或其他系統(tǒng)要求的關(guān)鍵信息,便于系統(tǒng)綜合過程中的故障排查。產(chǎn)品配置硬件離散量1個,為地面調(diào)試使能信號,用于切換模塊運行模式。該信號經(jīng)過驅(qū)動器隔離后引入FPGA,PowerPC啟動對應(yīng)的應(yīng)用程序前讀取該信號狀態(tài),以確定工作模式,并啟動相應(yīng)的應(yīng)用程序。GSE為低時,為維護測試狀態(tài);GSE為高時,運行應(yīng)用程序。FC電信號與光信號的轉(zhuǎn)換則通過光電收發(fā)器件實現(xiàn),通過FPGA的高速串行接口,使用交流耦合方式,連接到光電收發(fā)器,轉(zhuǎn)換為光信號之后,通過MT接口形式引出到接口模塊外。
其中FC總線接口的MAC部分功能使用自研的IP核實現(xiàn),支持FC-1和FC-2部分功能,支持點到點和交換結(jié)構(gòu)[3],包括FC端口狀態(tài)機、可選的緩沖區(qū)到緩沖區(qū)信用管理。對上提供應(yīng)用邏輯的數(shù)據(jù)收發(fā)接口,對下提供用于連接光電收發(fā)器或電連接器的高速差分信號,可提供線速的數(shù)據(jù)發(fā)送能力。基于FPGA外圍電路中MGT實現(xiàn)FC接口信號的串/并轉(zhuǎn)換、8B/10B編碼、時鐘恢復(fù)以及CRC校驗等工作。FC網(wǎng)絡(luò)總線對外通信的具體流程如圖2。
接口模塊的CAN接口用于和傳感器控制模塊之間進行數(shù)據(jù)交互,通信速率1Mbps,兼容ISO 11898標準,使用CAN協(xié)議芯片以及收發(fā)器芯片實現(xiàn)該接口[4],數(shù)據(jù)幀格式采用CAN2.0B標準幀格式,具備高層協(xié)議標識和數(shù)據(jù)校驗?zāi)芰Γ⑶夷軌驅(qū)?shù)據(jù)進行分段傳輸。接口電路使用專用光電耦合器件進行隔離保護,在實現(xiàn)可靠數(shù)據(jù)通信的前提下,對電路進行有效保護,硬件設(shè)計框圖如圖3所示。
CAN總線接口通過CAN驅(qū)動器對外提供電信號,CAN協(xié)議處理單元實現(xiàn)對CAN報文信息的解析和封裝。CAN控制邏輯負責維護CAN總線狀態(tài)機,將報文信息發(fā)送至CAN總線,同時將從CAN總線接收到的報文信息寫入CAN的接收緩沖區(qū),并將CAN接收中斷上報處理器。PowerPC處理器通過一系列CAN管理寄存器實現(xiàn)對CAN總線鏈路控制及CAN報文信息收/發(fā)管理的操作,最終實現(xiàn)CAN總線的對外通信及故障實時檢測。
4 結(jié)束語
本文提出了一種雙網(wǎng)絡(luò)總線接口模塊故障實時檢測的硬件設(shè)計和實現(xiàn)方法,通過圍繞FPGA搭建硬件電路,實現(xiàn)了FC和CAN的雙路網(wǎng)絡(luò)總線通信功能,能夠?qū)δK自身的CPU、SRAM、NVRAM、FC鏈路等硬件信息進行實時檢測和獲取,并能通過雙路網(wǎng)絡(luò)總線進行實時上報。對于上級主機系統(tǒng)而言,一旦發(fā)現(xiàn)故障,能夠迅速定位并進行故障排查,大大提升了系統(tǒng)的測試性、安全性和維修性。
參考文獻:
[1] 劉召慶,康婷颋,惠進,等.基于FPGA的FC總線通訊板的設(shè)計與驗證[J].電子設(shè)計工程,2018,26(8):97-101.
[2] INCITS TR 31-20020, Information Technology-Fibre Channel Avionics Environment-Anonymous Subscriber Messaging (FC-AE-ASM)[S].2008.
[3] 武華,石海洋,楊媛媛.CAN與光纖通道網(wǎng)關(guān)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2015,11(12):49-51.
[4] 馮源,豆海利,閆海明.基于CPLD的DSP與CAN控制器的接口設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2015,38(8):66-69.
【通聯(lián)編輯:代影】