基于OPNET的CAN总线实时性的仿真与分析

2014-02-09 06:12刘明芹付东翔王亚刚
通信技术 2014年3期
关键词:层次化实时性传输速率

刘明芹,付东翔,王亚刚

(上海理工大学光电信息与计算机工程学院,上海200093)

基于OPNET的CAN总线实时性的仿真与分析

刘明芹,付东翔,王亚刚

(上海理工大学光电信息与计算机工程学院,上海200093)

控制器局域网(CAN)的建模与仿真不仅能对CAN总线性能进行评估,而且能优化CAN总线网络的设计。在研究分析CAN总线通信控制协议的基础上,采用OPNET网络仿真工具,运用网络层次化建模方法,建立CAN总线通信网络模型。通过该仿真模型,分析了CAN总线网络中CAN节点优先级、传输速率、帧信息量以及填充位等因素对CAN总线网络实时性的影响,从而为CAN总线网络的设计与优化提供理论参考。

控制器局域网 OPNET 层次化建模 实时性

0 引 言

CAN(Control Area Network)即控制器局域网,是一种高性能、高可靠性、易开发和低成本的现场总线,是80年代初BOSCH公司为了解决现代中总舵的控制与测试仪器之间数据交换而开发的一种串行数据通信协议[1]。CAN总线采用带优先级载波侦听多路访问/冲突避免(CSMA/CA)的通信机制,具有通信速率高,工作可靠,使用灵活和性价比高等优点,目前已广泛应用于汽车、航空航天、航海、工业自动化、医疗器械等众多领域[2]。

通过对复杂的通信系统进行有效的、逼真的建模仿真,才能对网络进行综合分析与评估,从而提出更好更优的解决方案。针对Petri网而设计的仿真工具OPMSE、VPNT有着仿真能力有限,计算力不足的缺点,而OPNET通过自带的Proto-C能完成各种复杂协议算法、排队策略等,能较好模拟CAN通信协议运行机制。目前,针对CAN网络的建模与仿真的研究,已经取得一定的进展,但是缺少基于网络层次化建模的CAN模型以及对整个CAN网络系统的仿真与性能分析[3]。文中采用OPNET网络仿真工具对CAN总线通信网络进行网络层次化模型,通过该仿真模型,主要分析了CAN总线网络中CAN节点优先级、传输速率、帧信息量以及填充位等因素对CAN总线网络实时性这一重要网络性能的影响,从而为CAN总线网络的设计及应用提供参考。

1 CAN总线协议

1.1 CAN总线简介

CAN总线协议遵循OSI标准模型,但从体系结构上只定义了ISO/OSI模型的最低两层:数据链路层和物理层。应用层是通过专门用于特定工业领域的各种协议或CAN用户专用方案与物理媒体相连。在CAN技术规范中,数据链路层又分为逻辑链路层(LLC)子层和媒体访问控制(MAC)子层,其中LLC子层涉及到报文过滤、超载通知以及恢复管理,而MAC子层是CAN协议的核心,MAC子层负责报文分帧、仲裁、应答、错误检测和标定,与CAN通信性能密切相关[4]。

CAN的总线访问控制采用了CSMA/CA的方法,这种方案采用主动避免碰撞而非被动侦测的的方式来解决碰撞问题。其通信流程如图1所示,可简要描述为:总线上任意节点可在任意时刻主动向网络上其它节点发送信息,而不分主从,节点在请求发送信息时,首先侦听总线状态,若总线空闲(或等待至总线空闲)则开始发送。当多个节点同时发送产生冲突时,采用非破坏性位仲裁机制:借助ID标识符及逐位仲裁规则,低优先级主动停止发送,高优先级不受影响继续发送,从而避免总线冲突,避免信息和时间发生损失。在发送过程中,发送节点对发送信息进行校验,完成发送后释放总线[5]。

图1 CAN总线MAC子层协议通信流程Fig.1 Communication mechanism of MAC layer protocol

1.2 CAN实时性分析

通信的实时性是由通信的延迟时间来衡量的,即从报文产生时算起到将报文中的有效数据提供给目标节点所耗费的时间。CAN总线的信息延时主要由四部分组成:帧延时、CAN控制器延时、软件延时、媒体访问延时。文中就主要从信息帧和媒体访问的角度进行了分析。

2 基于OPNET的建模

OPNET建模常采用层次化和模块化的方式,将复杂的系统分解为不同的层次结构,每层完成一定的功能,一层内又由多个模块组成,每个模块完成更小的任务。OPNET所采用的是三层建模机制:最上层为网络域,反映了网络的拓扑结构特点;其次为节点域,由相应的协议模块构成,反映了设备的特性;最底层为进程域,以状态机的形式来描述协议,反映了协议的具体功能是如何实现的[6]。

2.1 网络模型

网络模型通常由子网、通信节点和通信链路三个主要模块组成。子网(Subnetworks)在节点中级别最高,可以封装其它网络层对象。通信节点(Communication Node)对应网络设备,也包括一些业务配置模块。通信链路(Communication Links)对应于现实网络中的链接链路,也包括逻辑链路[7]。CAN总线在OPNET中建立的网络结构如图2所示,这5个节点之间相互独立,代表实际网络中CAN节点。每个CAN节点通过双向的支线(tap)接入总线(bus),可以设定的参数有波特率、信息帧格式以及传输错误模型等。

图2 CAN网络在OPNET中的拓扑结构Fig.2 Network layer model of CAN bus

2.2 节点模型

采用OPNET层次化的建模方法,如图3所示,可将节点模型可分为应用层(Application Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer)三层。其中,RX和TX分别为总线型收发信机,组成物理层,主要负责从CAN总线上接收数据给MAC和把MAC上数据发送给CAN总线。CAN_ LLC模块与MAC模块组成数据链路层,主要负责数据的封装/解封、媒体访问控制以及错误检测处理。消息源(SRC)和接收器(SINK)模块组成最简单的应用层,SRC与SINK分别表示应用层中数据的产生与接收。

图3 CAN节点模型Fig.3 Node model of CAN bus

2.3 节点模型

节点域建模的方法是基于节点模型,每个模型实现节点行为的某一功能,多个节点模型的集合构成功能完整的节点。很多节点采用类似于OSI或TCP/IP参考模型,按协议层次分为不同的模型一个队列或处理器模块模拟每一层协议。模型间用包流线或统计线相连。

MAC子层的通信处理进程模块主要包括数据发送、数据接收以及错误处理。基于CAN总线中MAC通信机制及OPNET仿真方式,MAC模块的仿真模快如图4所示。其中,数据发送过程由idle、FRM_START、DEF_WAIT、TX_START、ARBITRATION、TX、ACK、FRM_END组成;数据接收过程由idle、RX_WAIT、RX、ACK组成。这两个过程以及中间错误处理模块一起构成整个的MAC子层通信模块。

图4 MAC子层模型Fig.4 Model of MAC sub-layer

3 OPNET仿真及结果分析

利用已建立的CAN总线网络模型进行仿真,通过对仿真结果的分析来研究CAN总线网络中CAN节点优先级、传输速率、帧信息量以及填充位等因素对CAN网络实时性的影响。

3.1 仿真环境配置

CAN总线网络中共有5个CAN节点,节点0优先级最高,其余依次降低。网络传输速率可设置为250 kbit/s、500 kbit/s、1 Mbit/s。CAN网络中所有发送、接收的帧信息皆定义为数据帧,所以单帧信息量的大小主要取决于数据域中包含的字节量,其中字节量取值范围为1~8。数据帧发送周期单位为ms,其详细信息如表1所示。

表1 OPNET中CAN总线网络配置Table 1 Network configuration of CAN bus in OPNET

3.2 仿真试验1

仿真试验1用于检验帧信息的优先级对于CAN总线实时性的影响。该试验将波特率设为500 kbit/s,数据域长度设为4个字节,发送周期都设置为5 ms,使其同时发送以产生总线竞争。取Node0、Node2、Node4的帧信息ETE延时观察分析,如图5所示。

图5 优先级与ETE延时的关系Fig.5 Relationship between priority and ETE delay

分析可得:在CAN总线传输速率、传输帧信息量相同的情况下,CAN总线中帧信息的优先级越高,ETE时延越小,而优先级越低,ETE延时就越大。因此,在实际CAN总线网络设计中,可设置较高的帧信息优先级来提高帧信息实时性。

3.3 仿真试验2

该仿真试验将检验CAN总线网络传输速度对其实时性的影响。在自定义的链路模型中将传输速率分别设置为250 kbit/s,500 kbit/s及1 Mbit/s,分别进行仿真,帧信息ETE延时如图6所示。

图6 传输速率与ETE延时的关系Fig.6 Relationship between transmission rate and ETE delay

分析可得:在1 Mbit/s的传输速率下,帧信息ETE延时分别为500 kbit/s条件下和250 kbit/s条件下的54%和28%,说明在CAN总线网络中传输速率越高,ETE时延越小,实时性越高。因此,在CAN总线网络设计中,在适当情况下,可通过提高网络传输速率来减小时延,提高整个网络实时性。

3.4 仿真试验3

该仿真试验将检验CAN总线网络中帧信息量大小对其实时性的影响。该试验将波特率设为500 kbit/s,各节点数据域长度和发送周期如表1中试验3所示。图7、图8分别为字节量、扩展帧及填充位与ETE延时的关系。

图7 字节量与ETE延时的关系Fig.7 Relationship between byte and ETE delay

图8 扩展帧及填充位与ETE延时的关系Fig.8 Relationship between extended frame, bit stuffing and ETE delay

在图7中,节点Node0、Node1、Node2、Node4发送数据的数据域中字节量分别是1、2、4、8。结果表明,随着字节量的增多,帧信息ETE延时也不断增加,并且低优先级的节点ETE延时增加的更多。图8中,4条线分别是含有8个字节量无填充位的标准帧、有填充位标准帧、无填充位扩展帧、有填充位扩展帧。其结果表明,扩展帧信息ETE延时多于标准帧的,有填充位的ETE延时多于无填充位的。这与文献[8]中关于扩展帧及填充位对于CAN总线实时性分析相符合,进一步也说明结论的正确性。因此,在实际CAN总线应用中,尽量使用标准帧及减小数据域中字节量可以适当提高CAN总线的实时性。

4 结 语

文中采用OPNET网络仿真软件,通过层次化和模块化的方式,对CAN总线通信网络进行建模与仿真,研究分析了优先级、传输速率、帧信息量以及填充位等因素对于CAN总线实时性的影响,真是反映了CAN总线的特点,对于CAN总线实际应用提供一定的参考与指导,而且这种层次化与模块化的仿真方式也同样可以应用于其它对象的研究与分析。

[1] 候明,杜奕.基于CAN总线的接口电路设计[J].通信技术,2008,41(07):138-140.

HOU Ming,DU Yi.Interface Circuit Design based on CANBus[J].CommunicationsTechnology,2008, 41(07):138-140.

[2] AUDSLEY N,BURNS A,RICHARDSON M.Applying New Scheduling Theory Static Priority Preemptive Scheduling [J].Software Engineering Journal,1993(09):284-292.

[3] 李晓汀,丁凡,熊华钢.基于OPNET的CAN网络建模与仿真[J].北京航空航天大学学报,2009,35(03): 284-287.

LI Xiao-ting,DING Fan,XIONG Hua-gang.CAN Modeling and Simulation based on OPNET[J].Journal of Beijing University of Aeronautics and Astronautics,2009, 35(03):284-287.

[4] 张凤登.现场总线技术与应用[M].上海:科学出版社,2008:132-140.

ZHANG Feng-deng.Field Bus Technology and Application[M].Shanghai:Science Press,2008:132-140.

[5] 韦雪洁,刘金梅,姚晓琼.CAN总线通信过程实时性能的仿真计算[J].兵工自动化,2008,27(06):40-42.

WEI Xue-jie,LIU Jin-mei,YAO Xiao-qiong.Simulation of Real-Time Communication to CAN[J].Ordnance Industry Automation,2008,27(06):40-42.

[6] 张帅帅,郑龙,王玉文.基于OPNET的Link11数据链仿真设计[J].通信技术,2011,44(02):62-64.

ZHANG Shuai-shuai,ZHENG Long,WANG Yu-wen.Simulation Design of Link-11 based on OPNET[J].Communications Technology,2011,44(02):62-64.

[7] 龙华.OPNET Modeler与计算机网络仿真[M].西安:西安电子科技大学出版社,2006:31-33.

LONG Hua.OPNET Modeler and Computer Network Simulation[M].Xi'an:Xi'an Electronic and Science University Press,2006:31-33.

[8] 陈曦,刘路源,吕伟杰.基于排队论的CAN总线消息响应时间建模与分析[J].天津大学学报,2012,45(03): 228-235.

CHEN Xi,LIU Lu-yuan,LU Wei-jie.Modeling and A-nalysis of Response Time of CAN Bus based on Queueing Theory[J].Journal of Tianjin University,2012,45(03): 228-235.

LIU Ming-qin(1988-),male,graduate student,majoring in embedded system and fieldbus.

付东翔(1971—),男,副教授,主要研究方向为嵌入式系统,现场总线;

FU Dong-xiang(1971-),male,associate professor,mainly engaged in embedded system and detection technology.

王亚刚(1967—),男,教授,主要研究方向为先进过程控制、无线传感器通信网络研究。

WANG Ya-gang(1967-),male,professor,principally working at advanced process control and wireless sensor network.

Simulation and Analysis of CAN Bus Real-time Performance based on OPNET

LIU Ming-qin,FU Dong-xiang,WANG Ya-gang
(School of Optical-Electrical and Computer Engineering,University of Shanghai for Science&Technology,Shanghai200093,China)

Modeling and simulation of a controller area network(CAN)could evaluate and optimize CAN bus network design.Based on research and analysis of CAN communication protocol,CAN communication network model is developed with OPNET network simulation tool and by layered modeling method.This paper mainly analyzes the influence of node priority,transmission rate,information frame and bit stuffing on the real-time performance of CAN bus,thus to provide a theoretical reference for the design and optimization of CAN based network system.

CAN bus;OPNET;layered modeling;real-time performance

TP915

A

1002-0802(2014)03-0281-05

10.3969/j.issn.1002-0802.2014.03.010

刘明芹(1988—),男,硕士研究生,主要研究方向为嵌入式系统、现场总线;

猜你喜欢
层次化实时性传输速率
面向量化分块压缩感知的区域层次化预测编码
三星利用5G毫米波 实现创纪录传输速率
法律德语翻译的层次化策略——以法律判决书的评论性文本翻译为例
航空电子AFDX与AVB传输实时性抗干扰对比
夏季滨海湿地互花米草植物甲烷传输研究
计算机控制系统实时性的提高策略
数据传输速率
舰船系统间电磁兼容性的层次化优化方法
基于层次化分类器的遥感图像飞机目标检测
SPCE061A单片机与USB接口