国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

CAN與光纖通道網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)

2015-07-18 12:02:43武華石海洋楊媛媛
電腦知識(shí)與技術(shù) 2015年12期
關(guān)鍵詞:網(wǎng)關(guān)

武華 石海洋 楊媛媛

摘要:為了解決采用CAN總線的子系統(tǒng)接入航電主干網(wǎng)FC網(wǎng)絡(luò)的問(wèn)題,提出了一種CAN/FC網(wǎng)關(guān)設(shè)計(jì)方案。通過(guò)對(duì)兩種網(wǎng)絡(luò)的分析和研究,設(shè)計(jì)了兩者協(xié)議轉(zhuǎn)換的方法,描述了網(wǎng)關(guān)模塊的工作流程,討論了實(shí)時(shí)性的設(shè)計(jì)。通過(guò)驗(yàn)證表明,該設(shè)計(jì)能夠完成CAN網(wǎng)絡(luò)和FC網(wǎng)絡(luò)的互聯(lián),滿足系統(tǒng)要求。

關(guān)鍵詞:CAN;FC;網(wǎng)關(guān);協(xié)議轉(zhuǎn)換

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)12-0049-03

Design and Implementation of CAN/FC GateWay

WU Hua, SHI Hai-yang, YANG Yuan-yuan

(Aeronautical Computing Technique Research Institute,Xian 710065,China)

Abstract: In order to solve the problem by using CAN bus subsystem access avionics backbone FC network,the paper proposed a design scheme of CAN/FC gateway. Through the analysis and research on the two kinds of network, designs a methods of protocol conversion based on the them, describes the work flow of gateway module, discusses the design of the real-time. Experiments show that, the proposed design, can complete the interconnection of CAN network and FC network, can meet the system requirements.

Key words: CAN;FC;gateway;protocol conversion

CAN總線最初主要應(yīng)用于汽車內(nèi)部測(cè)量和執(zhí)行部件之間的數(shù)據(jù)通信。隨著CAN總線相關(guān)技術(shù)的日趨成熟,以及車載平臺(tái)與機(jī)載平臺(tái)在某些方面的相似性,其在航空領(lǐng)域的應(yīng)用逐漸得到重視,近年來(lái)已經(jīng)開始把CAN總線應(yīng)用到飛機(jī)上[1]。

光纖通道(Fibre Channel,F(xiàn)C)協(xié)議具有高速率、低延遲、低位錯(cuò)率,能夠很好地滿足新型航空電子互連系統(tǒng)的要求,已成為航空電子統(tǒng)一網(wǎng)絡(luò)的主要候選協(xié)議。

在航電系統(tǒng)中,F(xiàn)C網(wǎng)絡(luò)作為主干通信網(wǎng)絡(luò),用于連接各航電子系統(tǒng),但在某些子系統(tǒng)內(nèi),仍采用CAN總線協(xié)議傳輸,因此需要設(shè)計(jì)一種用于CAN/FC轉(zhuǎn)換的網(wǎng)關(guān),將這些子系統(tǒng)接入到航電主干網(wǎng)絡(luò)。本文通過(guò)對(duì)CAN網(wǎng)絡(luò)和FC網(wǎng)絡(luò)協(xié)議及數(shù)據(jù)幀的分析,提出一種CAN/FC網(wǎng)關(guān)的設(shè)計(jì)方法,討論了轉(zhuǎn)發(fā)的實(shí)時(shí)性設(shè)計(jì),完成了FC與CAN的協(xié)議數(shù)據(jù)轉(zhuǎn)換。

1 CAN與FC協(xié)議分析

1.1 CAN總線

CAN的通訊速率最高可達(dá)1Mbps,傳輸采用幀結(jié)構(gòu)(0-8字節(jié))。在CAN2.0B的版本協(xié)議中,有兩種不同的幀格式,不同之處為標(biāo)識(shí)符域的長(zhǎng)度不同,含有11位標(biāo)識(shí)符的幀稱之為標(biāo)準(zhǔn)幀,而含有29位標(biāo)識(shí)符的幀稱之為擴(kuò)展幀。無(wú)論是哪種幀格式,在報(bào)文傳輸時(shí)都有四種不同類型的幀:數(shù)據(jù)幀、錯(cuò)誤幀、遠(yuǎn)程幀、過(guò)載幀,本文只對(duì)標(biāo)準(zhǔn)數(shù)據(jù)幀的處理進(jìn)行描述。

1.2 光纖通道協(xié)議

針對(duì)FC技術(shù)用于航空電子領(lǐng)域的需求,F(xiàn)C-AE提出一種上層協(xié)議FC-AE-ASM,該協(xié)議用于支持航空電子應(yīng)用的處理器、傳感器和顯示器之間確定、安全、低延遲的通信[2]。本文所描述的FC網(wǎng)絡(luò)即采用FC-AE-ASM進(jìn)行數(shù)據(jù)傳輸。FC協(xié)議共分為5層,具體見表1[3]。

表1 FC協(xié)議分層結(jié)構(gòu)

[FC-4\&定義了光纖通道的應(yīng)用接口,規(guī)定了上層協(xié)議到光纖通道的映射\&FC-3\&對(duì)物理和信號(hào)(FC-PH)層以上的高層協(xié)議提供了一套通用的公共通信服務(wù)\&FC-2\&規(guī)定了節(jié)點(diǎn)間的數(shù)據(jù)傳輸方式,以及幀格式、幀序列、通信協(xié)議和服務(wù)分類\&FC-1\&規(guī)定了傳輸協(xié)議,包括串行編碼和解碼規(guī)則以及差錯(cuò)控制\&FC-0\&規(guī)定了連接的物理特性,如傳輸介質(zhì)、傳輸方式和速率\&]

在光纖通道的FC-2層中,定義了幀的標(biāo)準(zhǔn)格式,每個(gè)幀標(biāo)準(zhǔn)長(zhǎng)度為2148B,其中包括:幀起始標(biāo)志SOF、幀結(jié)束標(biāo)志EOF、CRC校驗(yàn)碼、FC幀頭以及數(shù)據(jù)信息,F(xiàn)C幀的格式定義如圖1所示。

FC-AE-ASM協(xié)議是ASM協(xié)議到FC的映射,要求Tpye字段為0x49,并且將ASM協(xié)議頭映射到FC幀的數(shù)據(jù)字段中。FC-AE-ASM協(xié)議中,每條消息都有唯一的消息ID,根據(jù)消息ID來(lái)標(biāo)識(shí)數(shù)據(jù)的內(nèi)容。FC-AE-ASM的幀格式如圖2所示。

1.2.1 網(wǎng)關(guān)協(xié)議轉(zhuǎn)換分析

為了將CAN網(wǎng)絡(luò)接入FC網(wǎng)絡(luò),順利實(shí)現(xiàn)兩者的信息交流,必須用網(wǎng)關(guān)連接起來(lái),完成兩者協(xié)議或數(shù)據(jù)之間的轉(zhuǎn)換,也就是將傳輸信息重新封裝且滿足目標(biāo)網(wǎng)絡(luò)協(xié)議的要求。CAN與FC網(wǎng)關(guān)必須能夠接收和發(fā)送兩個(gè)網(wǎng)絡(luò)上的數(shù)據(jù)。CAN網(wǎng)絡(luò)參考ISO模型,自上而下分為三層:應(yīng)用層、數(shù)據(jù)鏈路層和物理層,因此針對(duì)兩者網(wǎng)絡(luò)的分層模型,在應(yīng)用層完成CAN網(wǎng)絡(luò)和FC網(wǎng)絡(luò)的數(shù)據(jù)交換即可實(shí)現(xiàn)網(wǎng)關(guān)功能,如圖3所示。

CAN與FC數(shù)據(jù)的轉(zhuǎn)換需要通過(guò)分析各自的幀結(jié)構(gòu),提取重要信息,設(shè)計(jì)轉(zhuǎn)換協(xié)議,實(shí)現(xiàn)兩種網(wǎng)絡(luò)的數(shù)據(jù)交換。包括CAN到FC的轉(zhuǎn)換與FC到CAN的轉(zhuǎn)換。兩者通過(guò)網(wǎng)關(guān)進(jìn)行數(shù)據(jù)傳輸?shù)氖疽鈭D如圖4所示。

首先定義用于CAN和FC進(jìn)行轉(zhuǎn)換的ASM消息ID及其屬性,消息ID作為FC-AE-ASM接收的唯一標(biāo)識(shí),在FC網(wǎng)絡(luò)配置時(shí),確定用于封裝CAN數(shù)據(jù)的消息ID,以便收到該消息的節(jié)點(diǎn)進(jìn)行對(duì)應(yīng)的處理。

由于CAN數(shù)據(jù)載荷最大為8字節(jié),F(xiàn)C-AE-ASM數(shù)據(jù)載荷最大為2096字節(jié)。因此從CAN到FC的數(shù)據(jù)轉(zhuǎn)換相對(duì)簡(jiǎn)單,將CAN信息存放在FC-AE-ASM幀的數(shù)據(jù)字段,定義要轉(zhuǎn)發(fā)的CAN數(shù)據(jù)、標(biāo)識(shí)符、幀格式、保留字等內(nèi)容。當(dāng)網(wǎng)關(guān)接收到CAN數(shù)據(jù)時(shí),將CAN信息按照上述格式填充到FC-AE-ASM幀的數(shù)據(jù)字段,發(fā)送到FC網(wǎng)絡(luò)中。具體定義如圖5所示。

從FC到CAN的轉(zhuǎn)發(fā)相對(duì)復(fù)雜,F(xiàn)C消息的載荷最大為2096字節(jié),可以存放多幀CAN數(shù)據(jù),考慮到CAN的速率和CAN設(shè)備的數(shù)目等因素,設(shè)計(jì)最多轉(zhuǎn)發(fā)256字節(jié)的CAN數(shù)據(jù),并在FC消息中定義CAN數(shù)據(jù)實(shí)際長(zhǎng)度,標(biāo)識(shí)符、幀類型等內(nèi)容,封裝在FC-AE-ASM數(shù)據(jù)字段的CAN信息定義如下。

當(dāng)網(wǎng)關(guān)接收到FC消息時(shí),首先從FC-AE-ASM幀的數(shù)據(jù)字段讀取CAN數(shù)據(jù)的實(shí)際長(zhǎng)度,如果大于8個(gè)字節(jié),按照一幀8個(gè)字節(jié)的方式,計(jì)算CAN的幀數(shù)目,并封裝CAN數(shù)據(jù),分為多次發(fā)送出去,CAN標(biāo)識(shí)符ID按照約定遞增。具體流程如圖7所示。

1.2.2 設(shè)計(jì)與驗(yàn)證

1)CAN/FC網(wǎng)關(guān)模塊設(shè)計(jì)

本文研制的CAN/FC網(wǎng)關(guān)模塊,提供FC光接口及CAN總線接口,實(shí)現(xiàn)FC與CAN總線數(shù)據(jù)的轉(zhuǎn)換工作。模塊采用FPGA設(shè)計(jì),實(shí)現(xiàn)FC協(xié)議處理,F(xiàn)C-MAC、MGT及CAN接口控制等功能,F(xiàn)PGA具備協(xié)處理器硬核,用于完成CAN/FC協(xié)議轉(zhuǎn)換的軟件處理工作,外接光電收發(fā)器實(shí)現(xiàn)FC光電信號(hào)轉(zhuǎn)換。CAN網(wǎng)絡(luò)接口由CAN控制器SJA1000和CAN收發(fā)器SM1050組成。CAN/FC網(wǎng)關(guān)模塊功能框圖如圖8所示。

通過(guò)協(xié)處理器,對(duì)CAN和FC接口進(jìn)行初始化,設(shè)置速率、幀格式、幀類型、校驗(yàn)碼、過(guò)濾碼等參數(shù),設(shè)置FC消息的ASM消息ID、S_ID、D_ID等參數(shù)。

MGT單元和光電收發(fā)器實(shí)現(xiàn)FC-1和FC-0層定義的串并轉(zhuǎn)換、8B/10B編碼和物理層功能[4]。

CAN轉(zhuǎn)FC的過(guò)程中,CAN數(shù)據(jù)從總線上接收上來(lái)后,進(jìn)入CAN控制器的接收緩沖區(qū),協(xié)處理器的軟件通過(guò)查詢,判斷CAN的接收緩沖區(qū)是否有數(shù)據(jù),如果有數(shù)據(jù),讀取CAN數(shù)據(jù)信息,再根據(jù)FC發(fā)送管理邏輯判斷FC緩沖是否有空閑,如果有空閑,將CAN數(shù)據(jù)封裝到FC消息的數(shù)據(jù)中,然后將組織好的FC消息內(nèi)容寫入FC發(fā)送緩沖區(qū),發(fā)送緩沖區(qū)采用環(huán)形緩沖機(jī)制,緩沖區(qū)大小為4K字節(jié);數(shù)據(jù)寫入后,更新FC發(fā)送管理邏輯狀態(tài)。FC發(fā)送控制邏輯響應(yīng)發(fā)送緩沖區(qū)狀態(tài)變化,按照先進(jìn)先出的隊(duì)列讀取方式,將當(dāng)前發(fā)送緩沖區(qū)中的數(shù)據(jù)幀取出提交給FC MAC,并更新發(fā)送緩沖區(qū)狀態(tài)。最終FC數(shù)據(jù)幀由MGT經(jīng)光電轉(zhuǎn)換后發(fā)送至FC網(wǎng)絡(luò)。

FC轉(zhuǎn)CAN的過(guò)程中,F(xiàn)C接收控制邏輯負(fù)責(zé)響應(yīng)并接收FC數(shù)據(jù)幀,將FC幀寫入FC接收緩沖區(qū),接收緩沖區(qū)采用環(huán)形緩沖機(jī)制,緩沖區(qū)大小為4K字節(jié);待FC幀接收完成,將狀態(tài)通知FC接收管理邏輯,并報(bào)中斷給協(xié)處理器,協(xié)處理器收到FC接收中斷,從當(dāng)前FC接收緩沖區(qū)將FC數(shù)據(jù)取出,提取CAN的相關(guān)信息,判斷CAN數(shù)據(jù)實(shí)際長(zhǎng)度,如果需要分幀,按照上一章節(jié)規(guī)則進(jìn)行處理,將組織好的CAN數(shù)據(jù)寫入CAN控制器的發(fā)送緩沖,并通知其發(fā)送到CAN網(wǎng)絡(luò)。

2)實(shí)時(shí)性設(shè)計(jì)

CAN/FC網(wǎng)關(guān)在應(yīng)用環(huán)境中的典型場(chǎng)景為,F(xiàn)C網(wǎng)絡(luò)按照應(yīng)用任務(wù)規(guī)劃,以不同的周期通過(guò)網(wǎng)關(guān)向CAN網(wǎng)絡(luò)發(fā)送數(shù)據(jù),并且CAN網(wǎng)絡(luò)按照最小周期監(jiān)控?cái)?shù)據(jù),對(duì)轉(zhuǎn)發(fā)時(shí)間要求較高。CAN網(wǎng)絡(luò)則是在有數(shù)據(jù)時(shí),通過(guò)網(wǎng)關(guān)向FC網(wǎng)絡(luò)傳遞信息,且時(shí)間要求較低。因此協(xié)處理器軟件在CAN/FC轉(zhuǎn)換時(shí),需要考慮兩者的速率相差較大和封裝數(shù)據(jù)多少的問(wèn)題。FC速率至少為1Gbps,CAN最高為1Mbps,且從FC網(wǎng)絡(luò)轉(zhuǎn)CAN時(shí),最多可以攜帶256字節(jié)的CAN數(shù)據(jù),轉(zhuǎn)發(fā)時(shí),數(shù)據(jù)量不同時(shí)間不同。

從CAN網(wǎng)絡(luò)到FC時(shí),數(shù)據(jù)內(nèi)容長(zhǎng)度固定,轉(zhuǎn)換可以及時(shí)處理。但從FC到CAN的轉(zhuǎn)換時(shí),面臨如下問(wèn)題。為了保證及時(shí)轉(zhuǎn)發(fā)數(shù)據(jù),降低延時(shí),采用中斷接收FC數(shù)據(jù)。當(dāng)任務(wù)周期重合時(shí),會(huì)在短時(shí)間內(nèi)突發(fā)接收到大量FC數(shù)據(jù)幀,可能引起丟失中斷,因此在處理FC接收中斷時(shí),需將FC接收緩沖中的數(shù)據(jù)讀空,將已收到的FC數(shù)據(jù)全部轉(zhuǎn)換為CAN數(shù)據(jù)發(fā)出去,從而保證高的響應(yīng)速度和低延遲的轉(zhuǎn)發(fā)傳輸。

3)驗(yàn)證環(huán)境

模擬實(shí)際應(yīng)用環(huán)境,搭建驗(yàn)證平臺(tái),將CAN測(cè)試設(shè)備的數(shù)據(jù)通過(guò)CAN/FC網(wǎng)關(guān)模塊,基于FC協(xié)議數(shù)據(jù)幀封裝,通過(guò)FC光纖鏈路,經(jīng)過(guò)FC專用測(cè)試設(shè)備,發(fā)送到FC功能節(jié)點(diǎn)。FC功能節(jié)點(diǎn)按照應(yīng)用任務(wù)周期,向CAN/FC網(wǎng)關(guān)模塊發(fā)送FC消息,網(wǎng)關(guān)提取有用信息、重新組織CAN消息,并發(fā)送到CAN總線上,CAN測(cè)試設(shè)備接收。經(jīng)測(cè)試CAN的接收時(shí)間滿足應(yīng)用要求。驗(yàn)證環(huán)境如圖9所示。

2 結(jié)束語(yǔ)

本文在深入分析CAN協(xié)議和FC協(xié)議的基礎(chǔ)上,對(duì)CAN/FC網(wǎng)關(guān)協(xié)議轉(zhuǎn)換的數(shù)據(jù)封裝進(jìn)行設(shè)計(jì),結(jié)合網(wǎng)關(guān)模塊的設(shè)計(jì),描述了網(wǎng)關(guān)工作的流程,并對(duì)實(shí)時(shí)性的設(shè)計(jì)進(jìn)行了探討。將網(wǎng)關(guān)連接到實(shí)際網(wǎng)絡(luò)上,長(zhǎng)時(shí)間連續(xù)工作,數(shù)據(jù)在兩種網(wǎng)絡(luò)中傳遞,沒有出現(xiàn)數(shù)據(jù)丟失,且延時(shí)滿足系統(tǒng)的要求,進(jìn)一步驗(yàn)證了該設(shè)計(jì)的可行性和可靠性。

參考文獻(xiàn):

[1] 馮源,豆海利.CAN總線在航空領(lǐng)域應(yīng)用的探討[J].航空工程進(jìn)展, 2011,2(2):231-235.

[2] 丁凡,宋麗茹,熊華鋼.FC-AE-ASM 網(wǎng)絡(luò)數(shù)據(jù)發(fā)送控制算法研究[J].電子與信息學(xué)報(bào),2009,31(6):1509-1512.

[3] 沙永忠,馮巧寧,劉明,等.光纖通道航電總線數(shù)據(jù)采集器設(shè)計(jì)[J].測(cè)控技術(shù),2014, 33(3):106-109.

[4] 朱志強(qiáng).基于光纖通道的LVDS 圖像傳輸技術(shù)研究[J].光通信技術(shù),2013(6):48-51.

猜你喜歡
網(wǎng)關(guān)
基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
信號(hào)系統(tǒng)網(wǎng)關(guān)設(shè)備的優(yōu)化
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
一種實(shí)時(shí)高效的伺服控制網(wǎng)關(guān)設(shè)計(jì)
基于Zigbee與TCP的物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計(jì)
河南科技(2014年18期)2014-02-27 14:14:43
桐梓县| 常德市| 江北区| 东莞市| 三门县| 乌什县| 北京市| 陆川县| 石河子市| 布拖县| 乌兰察布市| 玉屏| 松滋市| 梁河县| 石河子市| 土默特左旗| 大悟县| 电白县| 广水市| 安溪县| 盱眙县| 锡林浩特市| 辛集市| 南溪县| 亳州市| 南宫市| 二手房| 吴川市| 宣武区| 广丰县| 柏乡县| 田东县| 富川| 古丈县| 甘泉县| 建阳市| 钟山县| 双桥区| 梁平县| 龙南县| 闻喜县|