謝 煒,余躍聽,李小謙,邢賀鵬
(1.武漢第二船舶設(shè)計(jì)研究所,湖北 武漢 430064;2.海軍駐719所軍事代表室,湖北 武漢 430064)
一種CAN網(wǎng)關(guān)的設(shè)計(jì)實(shí)現(xiàn)
謝 煒1,余躍聽2,李小謙1,邢賀鵬1
(1.武漢第二船舶設(shè)計(jì)研究所,湖北 武漢 430064;2.海軍駐719所軍事代表室,湖北 武漢 430064)
針對CAN通訊網(wǎng)絡(luò)的一些特殊應(yīng)用,如網(wǎng)絡(luò)中存在超過CAN通訊網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量上限的節(jié)點(diǎn)、通訊距離過長、不同協(xié)議CAN通訊網(wǎng)絡(luò)互聯(lián)等,設(shè)計(jì)實(shí)現(xiàn)了具有6個(gè)CAN通訊接口的CAN網(wǎng)關(guān),滿足CAN通訊網(wǎng)絡(luò)擴(kuò)展和互聯(lián)的需要。
CAN通訊網(wǎng)絡(luò);網(wǎng)關(guān);LPC2294
隨著艦船自動(dòng)化程度的不斷提高,CAN(Controller Area Network)總線網(wǎng)絡(luò)越來越多地被應(yīng)用于艦船的測控領(lǐng)域,如艦船的導(dǎo)航系統(tǒng)、電力監(jiān)控系統(tǒng)和消防報(bào)警系統(tǒng)等方面。CAN總線網(wǎng)絡(luò)具備速度快、可靠性高、擴(kuò)展性好、成本低等優(yōu)點(diǎn),并較好地解決了艦船設(shè)備級(傳感器、執(zhí)行器、控制模塊)的互連通信問題[1]。與其他通信網(wǎng)絡(luò)一樣,CAN總線網(wǎng)絡(luò)的應(yīng)用對節(jié)點(diǎn)數(shù)量、通信制式(波特率、協(xié)議)和通信距離有一定限制,在某些特定場合,如網(wǎng)絡(luò)中具有超過上限數(shù)量的節(jié)點(diǎn)、過長的通信距離、不同通信波特率的CAN網(wǎng)絡(luò)在數(shù)據(jù)交換時(shí)則需要增加CAN網(wǎng)關(guān)設(shè)備。本文設(shè)計(jì)實(shí)現(xiàn)了一種具有6個(gè)CAN通信子網(wǎng)互聯(lián)功能的CAN網(wǎng)關(guān)設(shè)備,測試證明設(shè)備功能正常,達(dá)到設(shè)計(jì)目的。
CAN網(wǎng)絡(luò)遵從OSI(Open System Interconnect)模型,CAN網(wǎng)絡(luò)的分層結(jié)構(gòu)分為數(shù)據(jù)鏈路層和物理層[2]。在實(shí)際應(yīng)用中,常在CAN的幀數(shù)據(jù)中將CAN的標(biāo)識區(qū)和數(shù)據(jù)區(qū)進(jìn)行2次規(guī)劃,從而產(chǎn)生了事實(shí)上的應(yīng)用層。因此,CAN網(wǎng)絡(luò)分層可以看成如圖1所示的3層結(jié)構(gòu),不同節(jié)點(diǎn)相同層次之間的數(shù)據(jù)交換對下層來說是透明的,可虛擬為相同層次之間數(shù)據(jù)的直接交換。
不同CAN通訊子網(wǎng)之間的數(shù)據(jù)交換分2種情況來處理。基于數(shù)據(jù)鏈路層的CAN通訊子網(wǎng)之間的數(shù)據(jù)交換,可直接進(jìn)行轉(zhuǎn)發(fā)處理;基于應(yīng)用層的CAN通訊子網(wǎng)之間的數(shù)據(jù)交換,需按一定規(guī)則對數(shù)據(jù)進(jìn)行解析和封裝后,再進(jìn)行轉(zhuǎn)發(fā)。因此,需在CAN網(wǎng)關(guān)中設(shè)置路由表,其中包含CAN幀標(biāo)識符信息、協(xié)議轉(zhuǎn)換規(guī)則信息及轉(zhuǎn)發(fā)目的網(wǎng)絡(luò)標(biāo)識信息等[3],以實(shí)現(xiàn)CAN幀信息的路由。
圖1 CAN網(wǎng)絡(luò)分層結(jié)構(gòu)Fig.1 Layer frame of CAN network
以NXP公司的LPC2294芯片為核心,擴(kuò)展出6路CAN接口。LPC2294芯片集成了4個(gè)CAN控制器,通過外接致遠(yuǎn)科技的CAN隔離收發(fā)電路模塊CTM1050T,可實(shí)現(xiàn)4路CAN通信接口。另外,通過具有SPI接口的CAN控制器芯片MCP2515,同樣外接CTM1050T模塊,擴(kuò)展出2路CAN通信接口。具有6路CAN通信接口的CAN網(wǎng)關(guān)硬件框圖如圖2所示。
圖2 CAN網(wǎng)關(guān)硬件框圖Fig.2 Hardware structure of CAN gateway
LPC2294是NXP公司推出的一款功能強(qiáng)大,超低功耗,具有ARM7/TDMI內(nèi)核的32位微控制器。致遠(yuǎn)科技的CAN隔離收發(fā)模塊CTM1050T將CAN接口電路中的隔離電路、收發(fā)電路和隔離電源電路集成到1個(gè)模塊上,并在電磁兼容特性方面作了改進(jìn)。利用 LPC2294內(nèi)部集成的 CAN控制器,外接CTM1050T實(shí)現(xiàn)的CAN接口電路如圖3所示。
MCP2515是MICROCHIP公司推出的一款具有SPI接口的CAN控制器,可通過SPI接口與微控制器單元連接,極大地簡化了硬件設(shè)計(jì)。使用LPC2294的SPI口連接MCP2515后實(shí)現(xiàn)的CAN接口電路如圖4所示。
CAN網(wǎng)關(guān)的軟件由初始配置、中斷處理、協(xié)議解析、數(shù)據(jù)緩存處理、轉(zhuǎn)發(fā)等5個(gè)部分組成,軟件流程如圖5所示。
實(shí)際使用時(shí)的網(wǎng)絡(luò)數(shù)據(jù)流向?yàn)?路CAN接收,2路CAN轉(zhuǎn)發(fā)。使用MCP2515擴(kuò)展的CAN接口受限于SPI的傳輸控制,將其用作轉(zhuǎn)發(fā)口并適當(dāng)設(shè)置數(shù)據(jù)緩存區(qū)可以充分利用CAN網(wǎng)絡(luò)帶寬。
圖5 CAN網(wǎng)關(guān)軟件流程Fig.5 Softeware flow chart of CAN gateway
使用周立功的CAN卡PCI-1680來模擬數(shù)據(jù)發(fā)送端,1塊PCI-1680可模擬2路CAN通訊子網(wǎng),轉(zhuǎn)發(fā)接收端使用Vector公司的CAN開發(fā)套件CANoe。連接如圖6所示。
圖6 CAN網(wǎng)關(guān)測試連接圖Fig.6 Connecting chart of Testing of CAN gateway
結(jié)合實(shí)際工程應(yīng)用經(jīng)驗(yàn)和CAN通訊網(wǎng)絡(luò)特點(diǎn),一般將CAN網(wǎng)絡(luò)的帶寬利用率設(shè)置到50%以下。對本網(wǎng)關(guān)在不同波特率下進(jìn)行測試,當(dāng)每個(gè)CAN通訊子網(wǎng)的帶寬利用率均達(dá)到60%時(shí),通過合理設(shè)置數(shù)據(jù)緩存區(qū)的大小,可達(dá)到無丟幀的效果。
在實(shí)際工程應(yīng)用中,對CAN通訊網(wǎng)絡(luò)上的節(jié)點(diǎn)數(shù)量、通訊波特率、通訊距離及通訊協(xié)議均要進(jìn)行統(tǒng)一合理規(guī)劃,盡量避免網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量過多及帶寬利用率超過50%等情況。但在監(jiān)控節(jié)點(diǎn)實(shí)際數(shù)量較多,具有不同協(xié)議的CAN通訊子網(wǎng)需要交換數(shù)據(jù)等特殊場合,仍需要CAN網(wǎng)關(guān)進(jìn)行中繼和轉(zhuǎn)換。本文提出的具有6個(gè)CAN通訊接口的CAN網(wǎng)關(guān)就可以應(yīng)用在這些較為特殊的場合。
[1]陳永冰,李文魁,劉勇,周永余.CAN總線及其在艦船測量組合系統(tǒng)中的應(yīng)用[J].艦船電子工程,2005,25(3):1-3.CHEN Yong-bing,LI Wen-kui,LIU Yong,ZHOU Yong-yu.CAN bus and it's application on integrated navigation system on geodesic ship[J].Ship Electronic Engineering,2005,25(3):1 -3.
[2]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.
[3]李廣鑫,秦貴和,劉文靜,張晉東.CAN總線網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[J].吉林大學(xué)學(xué)報(bào),2010,28(2):166 -171.LI Guang-xin,QIN Gui-he,LIU Wen-jing,ZHANG Jindong.Design and implementation of vehicle gateway based on CAN bus[J].Journal of Jilin University,2010,28(2):166-171.
The designed and implemented of CAN gateway
XIE Wei1,YU Yue-ting2,LI Xiao-qian1,XING He-peng1
(1.Wuhan Second Ship Design and Research Institute,Wuhan 430064,China;2.Naval Representative Office of 719 Research Institute,Wuhan 430064,China)
Aim at the special application of CAN network,such as the node number in the CAN network exceeding the limit of CAN netwok's rule,the more longer distance,the interconnection needing of two CAN network that they have the not same protocol,the paper describes the designed an implemented of CAN gateway having six CAN interfaces for solving the CAN network's extending and interconneciton.
CAN netwok;gateway;LPC2294
U665.261;TN915.02
A
1672-7649(2012)04-0064-03
10.3404/j.issn.1672-7649.2012.04.014
2012-01-09
謝煒(1975-),男,工程師,研究方向?yàn)榇半姎饧捌渥詣?dòng)化。