專利名稱:Fc總線與can總線間數(shù)據(jù)的轉換及傳輸方法
技術領域:
本發(fā)明屬于計算機通信技術,涉及通信網(wǎng)絡中一種FC與CAN兩種總線之間基于 FC-AE-ASM與CAN的協(xié)議轉換及數(shù)據(jù)相互轉發(fā)的實現(xiàn)技術。
背景技術:
由于光纖通信總線(以下簡稱“FC總線”)具備高帶寬、低延遲、高可靠和支持交換 網(wǎng)絡架構等特性,適合于構建大規(guī)模分布式實時系統(tǒng)并滿足其對網(wǎng)絡帶寬和數(shù)據(jù)傳輸實時 性的較高要求。目前符合FC-AE-ASM協(xié)議的FC網(wǎng)絡已作為主干網(wǎng)絡應用于航空產(chǎn)品的通 信網(wǎng)絡系統(tǒng),為新一代飛機上各子系統(tǒng)之間的互聯(lián)提供通信支持。
在系統(tǒng)整體設計過程中,雖然采用FC網(wǎng)絡作為主干網(wǎng)絡,但是一些子系統(tǒng)內部的 各功能模塊之間基于通信要求、有效數(shù)據(jù)量及技術成熟度等因素考慮,會選用CAN總線作 為子系統(tǒng)內部的局部總線使用;而子系統(tǒng)又需要與FC主干網(wǎng)絡進行互聯(lián)和通信,因此需要 提供一種FC總線與CAN總線之間數(shù)據(jù)相互轉發(fā)的實現(xiàn)技術。
發(fā)明內容
本發(fā)明的目的是,提供一種FC總線與CAN總線間數(shù)據(jù)的轉換及傳輸方法,解決以 CAN總線作為局部總線的子系統(tǒng)與FC主干網(wǎng)絡之間數(shù)據(jù)相互通信的問題。
本發(fā)明的技術解決方案如下
FC總線與CAN總線間數(shù)據(jù)的轉換及傳輸方法,
其中,F(xiàn)C至CAN總線數(shù)據(jù)轉發(fā)及傳輸包括以下步驟
I)對FC總線接口和CAN總線接口進行配置和初始化操作;
2) FC接收狀態(tài)機響應FC MAC狀態(tài);
3)若FC端口接收到消息,則FC接收控制邏輯將接收到的FC數(shù)據(jù)幀信息寫入FC 接收緩沖區(qū),更新接收緩沖區(qū)尾指針,將FC消息接收中斷上報PPC處理器;若無接收消息, 則重復步驟2);
4)PPC處理器收到FC接收消息中斷后,進入中斷服務程序,讀取FC接收緩沖區(qū)中 的數(shù)據(jù)并寫入環(huán)形緩沖區(qū),更新接收緩沖區(qū)頭指針和環(huán)形緩沖區(qū)指針,清除中斷;
5) PPC處理器查詢CAN總線端口狀態(tài),判斷CAN接口是否具備發(fā)送條件;
6)若CAN總線接口具備發(fā)送條件,則轉步驟7);若CAN總線不具備發(fā)送條件,則重 復步驟5 );
7) PPC處理器查詢環(huán)形緩沖區(qū)狀態(tài);
8)若環(huán)形緩沖區(qū)中有待向CAN總線發(fā)送的數(shù)據(jù),則轉步驟9);若無待向CAN總線 發(fā)送的數(shù)據(jù),則重復步驟7);
9) PPC處理器將環(huán)形緩沖區(qū)中的數(shù)據(jù)取出,根據(jù)設置的CAN報文參數(shù)進行CAN報 文信息的組織,并將組織好的CAN報文寫入CAN發(fā)送FIFO ;
10) CAN控制邏輯和CAN協(xié)議處理邏輯將CAN報文信息進行封裝并由CAN驅動器發(fā)送至CAN總線;
CAN至FC總線數(shù)據(jù)轉發(fā)及傳輸包括以下步驟
11)對FC和CAN總線接口進行配置和初始化操作;
12) CAN協(xié)議處理邏輯解析接收到的CAN報文信息,CAN總線控制邏輯將接收到的數(shù)據(jù)寫入CAN消息接收緩沖區(qū),向PPC處理器上報CAN接收中斷;
13)PPC處理器響應CAN接收中斷,從CAN接收FIFO讀取有效數(shù)據(jù),根據(jù)設置的FC 參數(shù)對數(shù)據(jù)進行FC幀格式的組織,并將組幀完成的FC數(shù)據(jù)寫入FC發(fā)送緩沖區(qū),更新FC發(fā)送緩沖區(qū)尾指針;
14) FC發(fā)送控制邏輯檢測發(fā)送緩沖區(qū)狀態(tài);
15)若FC發(fā)送緩沖區(qū)有待發(fā)送的數(shù)據(jù),則FC發(fā)送控制邏輯將發(fā)送緩沖區(qū)中的FC 數(shù)據(jù)幀送至FC MAC,更新發(fā)送緩沖區(qū)頭指針;若發(fā)送緩沖區(qū)無數(shù)據(jù),則重復步驟4);
16) FC數(shù)據(jù)幀發(fā)送至FC網(wǎng)絡。
本發(fā)明的優(yōu)點是
專用接口轉換功能本設計為一種全新的接口轉換技術,提供了一種專用的FC總線接口與CAN總線接口之間基于FC-AE-ASM與CAN的協(xié)議轉換及數(shù)據(jù)相互轉發(fā)的實現(xiàn)技術,可實時完成FC總線數(shù)據(jù)與CAN總線數(shù)據(jù)的接收、緩存、格式轉換與數(shù)據(jù)轉發(fā)功能;
適應性強接口基于標準協(xié)議進行開發(fā),可滿足與網(wǎng)絡中各種符合FC-AE-ASM協(xié)議的FC節(jié)點機、FC交換機以及各種CAN節(jié)點機進行通信;
使用方便將接口轉換模塊的FC光接口與系統(tǒng)FC網(wǎng)絡相連,CAN總線接口與子系統(tǒng)CAN總線相連,模塊上電即可自動加載邏輯和相應程序,實現(xiàn)FC與CAN接口數(shù)據(jù)的轉發(fā)功能;
功耗低、體積小、易于維護由于基于FPGA設計實現(xiàn),因此轉換接口模塊具有功耗低、體積小等特點,設計提供串行接口,易于實現(xiàn)調試、測試及通信配置等功能。
圖1是FC與CAN總線轉 換接口邏輯結構圖2是FC至CAN總線數(shù)據(jù)轉發(fā)流程圖3是CAN至FC總線數(shù)據(jù)轉發(fā)流程圖。
具體實施例方式
本發(fā)明的方案中,接口轉換基于內嵌PPC處理器硬核的FPGA設計實現(xiàn),F(xiàn)PGA周邊配置CAN總線接口電路、光電收發(fā)器及其他相應外設電路。通過FPGA邏輯實現(xiàn)FC MAC接口功能、CAN接口控制功能和CAN協(xié)議處理功能。FPGA內部PPC處理器運行Vxworks操作系統(tǒng),對FC總線和CAN總線接口進行初始化、收發(fā)控制、數(shù)據(jù)管理和中斷處理等操作,完成 FC-AE-ASM協(xié)議下的FC數(shù)據(jù)幀信息與CAN報文信息的解析和幀格式轉換工作,同時FPGA內部設計環(huán)形緩沖區(qū),解決FC與CAN兩種不同總線帶寬數(shù)據(jù)轉發(fā)過程中的速率不匹配問題。
下面結合附圖對實施方式進行具體說明。
首先對FC與CAN總線數(shù)據(jù)轉發(fā)的邏輯架構及設計實現(xiàn)進行介紹,如圖1所示 轉換接口基于內嵌PPC處理器的FPGA進行設計,配合相應外設實現(xiàn)接口轉換及程序運行與調試等功能。
FPGA外部配置MAX3232串口驅動器、FLASH和DDR2存儲器以實現(xiàn)PPC處理器的程 序運行與調試維護等功能,邏輯內部通過接口控制器、存儲器管理器和DDR2控制器IP核實 現(xiàn)對串行接口和存儲器的管理。PPC處理器運行Vxworks操作系統(tǒng),負責完成FC和CAN總 線的接口控制及初始化、中斷處理、數(shù)據(jù)轉換與組幀和傳輸管理等工作??赏ㄟ^串行接口實 現(xiàn)對相關接口參數(shù)的配置,參數(shù)包括FC_PortID、FC_MsgID、FC_D_ID、CAN總線速率、CAN消 息號等。
FC接口采用FC MAC協(xié)議IP核處理FC鏈路原語信號及原語序列,實現(xiàn)對FC數(shù)據(jù) 幀的解析和封裝;Serde s基于FPGA的MGT實現(xiàn)FC信號的串/并轉換、8B/10B編碼、時鐘 恢復以及CRC校驗等工作;FC電信號與光信號的轉換通過光電收發(fā)器件實現(xiàn)。
FC接收控制邏輯負責響應FC接口狀態(tài)機并判斷FC接收緩沖區(qū)狀態(tài),從FC MAC接 收FC數(shù)據(jù)幀并將信息寫入FC接收緩沖區(qū),完成對接收緩沖區(qū)指針的維護,最后對PPC處理 器上報FC接收中斷。FC發(fā)送控制邏輯負責維護發(fā)送緩沖區(qū)狀態(tài),判斷FC鏈路狀態(tài),進行發(fā) 送狀態(tài)機管理,將當前發(fā)送緩沖區(qū)的數(shù)據(jù)提交FC MAC。PPC處理器通過一系列FC管理寄存 器實現(xiàn)FC鏈路初始化、狀態(tài)控制以及對FC接收、發(fā)緩沖區(qū)的管理。FC接收及發(fā)送緩沖區(qū)采 用4緩機制,每個緩沖區(qū)的大小為最大幀長。
CAN總線接口通過CAN驅動器對外提供電信號,F(xiàn)PGA內部CAN協(xié)議處理單元實現(xiàn) 對CAN報文信息的解析和封裝。CAN控制邏輯負責維護CAN總線狀態(tài)機,將13Byte寬度發(fā)送 FIFO內的報文信息發(fā)送至CAN總線,同時負責將從CAN總線接收到的報文信息寫入64Byte 深度的CAN接收緩沖區(qū),并將CAN接收中斷上報處理器。PPC處理器從13Byte寬度的接收 FIFO讀取CAN接收消息,并通過一系列CAN管理寄存器實現(xiàn)對CAN總線鏈路控制及CAN報 文信息收/發(fā)管理的操作。
由于FC總線接口與CAN總線接口是相互獨立的,處理器可以同時進行2種總線上 數(shù)據(jù)的接收與發(fā)送操作,并完成轉發(fā)過程中的數(shù)據(jù)管理與幀格式轉換工作。PPC處理器收到 CAN接收中斷,從CAN接收FIFO讀取CAN報文信息,將有效數(shù)據(jù)取出,并根據(jù)設置的FC相關 參數(shù)(若未設置則采用默認值)進行FC消息的組幀工作,最后將組織好的數(shù)據(jù)幀寫入FC發(fā) 送緩沖區(qū),更新發(fā)送緩沖區(qū)指針。由于FC總線帶寬為2. 125Gbps,CAN總線帶寬為1Mbps, 因此邏輯內部建立數(shù)據(jù)緩沖機制,設計128個幀長的環(huán)形緩沖區(qū)以及相應管理寄存器以解 決FC總線帶寬與CAN總線帶寬不匹配的問題。PPC處理器收到FC接收中斷,將FC接收緩 沖內的有效數(shù)據(jù)取出并寫入環(huán)形緩沖區(qū),更新FC接收緩沖和環(huán)形緩沖區(qū)指針,同時PPC處 理器查詢CAN總線端口狀態(tài),待CAN接口具備發(fā)送條件,PPC處理器從當前環(huán)形緩沖區(qū)將數(shù) 據(jù)取出,根據(jù)設置的CAN報文參數(shù)(若未設置則采用默認值)進行CAN報文信息的組織,最后 將組織好的CAN報文寫入CAN發(fā)送FIFO。
下面對FC至CAN總線數(shù)據(jù)轉發(fā)流程進行介紹,如圖2所示
I)對FC總線接口和CAN總線接口進行配置和初始化操作;
2) FC接收狀態(tài)機響應FC MAC狀態(tài);
3)若FC端口接收到消息,則FC接收控制邏輯將接收到的FC數(shù)據(jù)幀信息寫入FC 接收緩沖區(qū),更新接收緩沖區(qū)尾指針,將FC消息接收中斷上報PPC處理器;若無接收消息, 則重復步驟2);
4)PPC處理器收到FC接收消息中斷后,進入中斷服務程序,讀取FC接收緩沖區(qū)中 的數(shù)據(jù)并寫入環(huán)形緩沖區(qū),更新接收緩沖區(qū)頭指針和環(huán)形緩沖區(qū)指針,清除中斷;
5) PPC處理器查詢CAN總線端口狀態(tài),判斷CAN接口是否具備發(fā)送條件;
6)若CAN總線接口具備發(fā)送條件,則轉步驟7);若CAN總線不具備發(fā)送條件,則重 復步驟5 );
7) PPC處理器查詢環(huán)形緩沖區(qū)狀態(tài);
8)若環(huán)形緩沖區(qū)中有待向CAN總線發(fā)送的數(shù)據(jù),則轉步驟9);若無待向CAN總線 發(fā)送的數(shù)據(jù),則重復步驟7);
9)PPC處理器將環(huán)形緩沖區(qū)中的數(shù)據(jù)取出,根據(jù)設置的CAN報文參數(shù)(若未設置則 采用默認參數(shù))進行CAN報文信息的組織,并將組織好的CAN報文寫入CAN發(fā)送FIFO ;
10) CAN控制邏輯和CAN協(xié)議處理邏輯將CAN報文信息進行封裝并由CAN驅動器 發(fā)送至CAN總線。
下面對CAN至FC總線數(shù)據(jù)轉發(fā)流程進行介紹,如圖3所示
I)對FC和CAN總線接口進行配置和初始化操作;
2) CAN協(xié)議處理邏輯解析接收到的CAN報文信息,CAN總線控制邏輯將接收到的數(shù) 據(jù)寫入CAN消息接收緩沖區(qū),向PPC處理器上報CAN接收中斷;
3)PPC處理器響應CAN接收中斷,從CAN接收FI FO讀取有效數(shù)據(jù),根據(jù)設置的FC 參數(shù)(若未設置則采用默認參數(shù))對數(shù)據(jù)進行FC幀格式的組織,并將組幀完成的FC數(shù)據(jù)寫 入FC發(fā)送緩沖區(qū),更新FC發(fā)送緩沖區(qū)尾指針;
4) FC發(fā)送控制邏輯檢測發(fā)送緩沖區(qū)狀態(tài);
5)若FC發(fā)送緩沖區(qū)有待發(fā)送的數(shù)據(jù),則FC發(fā)送控制邏輯將發(fā)送緩沖區(qū)中的FC數(shù) 據(jù)幀送至FC MAC,更新發(fā)送緩沖區(qū)頭指針;若發(fā)送緩沖區(qū)無數(shù)據(jù),則重復步驟4);
6)FC數(shù)據(jù)幀發(fā)送至FC網(wǎng)絡。
權利要求
1.FC總線與CAN總線間數(shù)據(jù)的轉換及傳輸方法,其中,F(xiàn)C至CAN總線數(shù)據(jù)轉發(fā)及傳輸包括以下步驟1)對FC總線接口和CAN總線接口進行配置和初始化操作;2)FC接收狀態(tài)機響應FC MAC狀態(tài);3)若FC端口接收到消息,則FC接收控制邏輯將接收到的FC數(shù)據(jù)幀信息寫入FC接收緩沖區(qū),更新接收緩沖區(qū)尾指針,將FC消息接收中斷上報PPC處理器;若無接收消息,則重復步驟2);4)PPC處理器收到FC接收消息中斷后,進入中斷服務程序,讀取FC接收緩沖區(qū)中的數(shù)據(jù)并寫入環(huán)形緩沖區(qū),更新接收緩沖區(qū)頭指針和環(huán)形緩沖區(qū)指針,清除中斷;5)PPC處理器查詢CAN總線端口狀態(tài),判斷CAN接口是否具備發(fā)送條件;6)若CAN總線接口具備發(fā)送條件,則轉步驟7);若CAN總線不具備發(fā)送條件,則重復步驟5);7)PPC處理器查詢環(huán)形緩沖區(qū)狀態(tài);8)若環(huán)形緩沖區(qū)中有待向CAN總線發(fā)送的數(shù)據(jù),則轉步驟9);若無待向CAN總線發(fā)送的數(shù)據(jù),則重復步驟7);9)PPC處理器將環(huán)形緩沖區(qū)中的數(shù)據(jù)取出,根據(jù)設置的CAN報文參數(shù)進行CAN報文信息的組織,并將組織好的CAN報文寫入CAN發(fā)送FIFO ;10)CAN控制邏輯和CAN協(xié)議處理邏輯將CAN報文信息進行封裝并由CAN驅動器發(fā)送至CAN總線;CAN至FC總線數(shù)據(jù)轉發(fā)及傳輸包括以下步驟11)對FC和CAN總線接口進行配置和初始化操作;12)CAN協(xié)議處理邏輯解析接收到的CAN報文信息,CAN總線控制邏輯將接收到的數(shù)據(jù)寫入CAN消息接收緩沖區(qū),向PPC處理器上報CAN接收中斷;13)PPC處理器響應CAN接收中斷,從CAN接收FIFO讀取有效數(shù)據(jù),根據(jù)設置的FC參數(shù)對數(shù)據(jù)進行FC幀格式的組織,并將組幀完成的FC數(shù)據(jù)寫入FC發(fā)送緩沖區(qū),更新FC發(fā)送緩沖區(qū)尾指針;14)FC發(fā)送控制邏輯檢測發(fā)送緩沖區(qū)狀態(tài);15)若FC發(fā)送緩沖區(qū)有待發(fā)送的數(shù)據(jù),則FC發(fā)送控制邏輯將發(fā)送緩沖區(qū)中的FC數(shù)據(jù)幀送至FC MAC,更新發(fā)送緩沖區(qū)頭指針;若發(fā)送緩沖區(qū)無數(shù)據(jù),則重復步驟4);16)FC數(shù)據(jù)幀發(fā)送至FC網(wǎng)絡。
全文摘要
本發(fā)明提供一種FC總線與CAN總線間數(shù)據(jù)的轉換及傳輸方法,解決以CAN總線作為局部總線的子系統(tǒng)與FC主干網(wǎng)絡之間數(shù)據(jù)相互通信的問題。本發(fā)明的方案中,F(xiàn)PGA內部PPC處理器對FC總線和CAN總線接口進行初始化、收發(fā)控制、數(shù)據(jù)管理和中斷處理等操作,完成FC-AE-ASM協(xié)議下的FC數(shù)據(jù)幀信息與CAN報文信息的解析和幀格式轉換工作,同時FPGA內部設計環(huán)形緩沖區(qū),解決FC與CAN兩種不同總線帶寬數(shù)據(jù)轉發(fā)過程中的速率不匹配問題。
文檔編號G06F13/38GK103049414SQ20121059113
公開日2013年4月17日 申請日期2012年12月28日 優(yōu)先權日2012年12月28日
發(fā)明者朱志強, 黃韜, 王曉華, 張利洲 申請人:中國航空工業(yè)集團公司第六三一研究所