APP下载

一种CAN网关的设计实现

2012-07-11余跃听李小谦邢贺鹏

舰船科学技术 2012年4期
关键词:波特率子网网关

谢 炜,余跃听,李小谦,邢贺鹏

(1.武汉第二船舶设计研究所,湖北 武汉 430064;2.海军驻719所军事代表室,湖北 武汉 430064)

一种CAN网关的设计实现

谢 炜1,余跃听2,李小谦1,邢贺鹏1

(1.武汉第二船舶设计研究所,湖北 武汉 430064;2.海军驻719所军事代表室,湖北 武汉 430064)

针对CAN通讯网络的一些特殊应用,如网络中存在超过CAN通讯网络节点数量上限的节点、通讯距离过长、不同协议CAN通讯网络互联等,设计实现了具有6个CAN通讯接口的CAN网关,满足CAN通讯网络扩展和互联的需要。

CAN通讯网络;网关;LPC2294

0 引言

随着舰船自动化程度的不断提高,CAN(Controller Area Network)总线网络越来越多地被应用于舰船的测控领域,如舰船的导航系统、电力监控系统和消防报警系统等方面。CAN总线网络具备速度快、可靠性高、扩展性好、成本低等优点,并较好地解决了舰船设备级(传感器、执行器、控制模块)的互连通信问题[1]。与其他通信网络一样,CAN总线网络的应用对节点数量、通信制式(波特率、协议)和通信距离有一定限制,在某些特定场合,如网络中具有超过上限数量的节点、过长的通信距离、不同通信波特率的CAN网络在数据交换时则需要增加CAN网关设备。本文设计实现了一种具有6个CAN通信子网互联功能的CAN网关设备,测试证明设备功能正常,达到设计目的。

1 CAN网关设计

1.1 CAN网络的分层

CAN网络遵从OSI(Open System Interconnect)模型,CAN网络的分层结构分为数据链路层和物理层[2]。在实际应用中,常在CAN的帧数据中将CAN的标识区和数据区进行2次规划,从而产生了事实上的应用层。因此,CAN网络分层可以看成如图1所示的3层结构,不同节点相同层次之间的数据交换对下层来说是透明的,可虚拟为相同层次之间数据的直接交换。

1.2 CAN路由的实现

不同CAN通讯子网之间的数据交换分2种情况来处理。基于数据链路层的CAN通讯子网之间的数据交换,可直接进行转发处理;基于应用层的CAN通讯子网之间的数据交换,需按一定规则对数据进行解析和封装后,再进行转发。因此,需在CAN网关中设置路由表,其中包含CAN帧标识符信息、协议转换规则信息及转发目的网络标识信息等[3],以实现CAN帧信息的路由。

图1 CAN网络分层结构Fig.1 Layer frame of CAN network

2 硬件设计

以NXP公司的LPC2294芯片为核心,扩展出6路CAN接口。LPC2294芯片集成了4个CAN控制器,通过外接致远科技的CAN隔离收发电路模块CTM1050T,可实现4路CAN通信接口。另外,通过具有SPI接口的CAN控制器芯片MCP2515,同样外接CTM1050T模块,扩展出2路CAN通信接口。具有6路CAN通信接口的CAN网关硬件框图如图2所示。

图2 CAN网关硬件框图Fig.2 Hardware structure of CAN gateway

LPC2294是NXP公司推出的一款功能强大,超低功耗,具有ARM7/TDMI内核的32位微控制器。致远科技的CAN隔离收发模块CTM1050T将CAN接口电路中的隔离电路、收发电路和隔离电源电路集成到1个模块上,并在电磁兼容特性方面作了改进。利用 LPC2294内部集成的 CAN控制器,外接CTM1050T实现的CAN接口电路如图3所示。

MCP2515是MICROCHIP公司推出的一款具有SPI接口的CAN控制器,可通过SPI接口与微控制器单元连接,极大地简化了硬件设计。使用LPC2294的SPI口连接MCP2515后实现的CAN接口电路如图4所示。

3 软件流程

CAN网关的软件由初始配置、中断处理、协议解析、数据缓存处理、转发等5个部分组成,软件流程如图5所示。

4 测试

实际使用时的网络数据流向为4路CAN接收,2路CAN转发。使用MCP2515扩展的CAN接口受限于SPI的传输控制,将其用作转发口并适当设置数据缓存区可以充分利用CAN网络带宽。

图5 CAN网关软件流程Fig.5 Softeware flow chart of CAN gateway

4.1 测试连接

使用周立功的CAN卡PCI-1680来模拟数据发送端,1块PCI-1680可模拟2路CAN通讯子网,转发接收端使用Vector公司的CAN开发套件CANoe。连接如图6所示。

图6 CAN网关测试连接图Fig.6 Connecting chart of Testing of CAN gateway

4.2 测试结果

结合实际工程应用经验和CAN通讯网络特点,一般将CAN网络的带宽利用率设置到50%以下。对本网关在不同波特率下进行测试,当每个CAN通讯子网的带宽利用率均达到60%时,通过合理设置数据缓存区的大小,可达到无丢帧的效果。

5 结语

在实际工程应用中,对CAN通讯网络上的节点数量、通讯波特率、通讯距离及通讯协议均要进行统一合理规划,尽量避免网络节点数量过多及带宽利用率超过50%等情况。但在监控节点实际数量较多,具有不同协议的CAN通讯子网需要交换数据等特殊场合,仍需要CAN网关进行中继和转换。本文提出的具有6个CAN通讯接口的CAN网关就可以应用在这些较为特殊的场合。

[1]陈永冰,李文魁,刘勇,周永余.CAN总线及其在舰船测量组合系统中的应用[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总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996.

[3]李广鑫,秦贵和,刘文静,张晋东.CAN总线网关的设计与实现[J].吉林大学学报,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-),男,工程师,研究方向为船舶电气及其自动化。

猜你喜欢

波特率子网网关
一种简单子网划分方法及教学案例*
基于改进RPS技术的IPSEC VPN网关设计
CAN 总线波特率自适应程序设计
子网划分问题研究及应用
基于FPGA的异步串行通信波特率容错设计
子网划分的简易方法
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
基于安全协议的虚拟专用子网研究