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