基于CAN的工业控制网络节点实时性仿真研究.docx
《基于CAN的工业控制网络节点实时性仿真研究.docx》由会员分享,可在线阅读,更多相关《基于CAN的工业控制网络节点实时性仿真研究.docx(34页珍藏版)》请在冰豆网上搜索。
![基于CAN的工业控制网络节点实时性仿真研究.docx](https://file1.bdocx.com/fileroot1/2023-1/9/ec505fb1-122f-42c6-b981-9cb02df46fa1/ec505fb1-122f-42c6-b981-9cb02df46fa11.gif)
基于CAN的工业控制网络节点实时性仿真研究
计算机科学与技术学院
毕业设计(论文)
论文题目
基于CAN的工业控制网络节点实时性仿真研究
指导教师
汪琳霞
职称
副教授
学生姓名
刘强
学号
20104360130
专业
网络工程
班级
本10网络01班
系主任
谢卫星
院长
谭敏生
起止时间
2013年10月11日至2014年5月23日
2014年5月23日
目录
摘要I
Abstract:
II
第一章绪论1
1.1CAN总线的发展及现状1
1.2课题的提出及意义2
1.3CAN总线的研究动态3
第二章CAN总线通信协议4
2.1CAN总线简介4
2.2CAN总线的特点与起源5
2.2.1CAN总线的特点5
2.2.2CAN总线的起源5
2.3CAN总线的主要特性如下6
2.4CAN总线技术的局限性6
2.5CAN总线帧格式7
2.5.1数据帧7
2.5.2错误帧8
2.5.3超载帧8
2.5.4远程帧8
2.5.5帧间空间9
第三章基于CAN总线的实时性分析和改进10
3.1本章概述10
3.2CAN总线MAC层运行机理10
3.3CAN总线的实时性分析11
3.3.1访问方式11
3.3.2CAN总线实时性问题的提出12
3.3.3CAN的实时性问题13
3.3.4提高CAN的实时性的方法15
3.4调度算法15
3.4.1动态优先级晋升算法15
3.4.2时分复用方法17
3.4.3CAN总线通信实时性问题的解决途径19
第四章实验平台的搭建与实时性仿真研究23
4.1实验平台平台的搭建23
4.2MATLAB具有的优势23
4.2.1MATLAB编程环境23
4.2.2MATLAB简单易用24
4.2.3MATLAB强处理能力25
4.2.4MATLAB的图形处理功能25
4.2.5MATLAB模块的集合工具箱25
4.2.6MATLAB程序接口和发布平台26
4.2.7MATLAB应用软件开发26
4.3实验方案的设计与实现26
4.3.1实验方案的设计26
4.3.2实验方案的实现27
4.4实验结果及分析30
4.4.1动态优先级算法与非动态优先计算法仿真实验30
4.5实验结论32
第五章总结与展望33
5.1总结33
5.2展望34
参考文献35
谢辞37
基于CAN的工业控制网络节点实时性仿真研究
摘要:
现场总线系统是工业控制系统的最基本和最重要的子系统,其已经逐渐成为了以计算机为代表的工业控制系统之中的最为重要的技术。
其中以现场总线CAN总线已经成为了工业控制系统中极其关键和重要的技术,由于CAN总线具有区别于其他总线的高度的可靠性、灵活性和实时性,使其已经成为了众多现场总线中的代表,并被大众评为“最具前途的现场总线”。
本论文是以研究CAN总线在通信过程中的实时性问题作为主要的研究对象,通过仿真实验平台对CAN总线的实时性问题进行细致研究与改进。
第一步,在充分的了解了CAN总线协议的相关内容,并且对CAN总线的特性进行了深入的理解之后,对CAN总线在网络通信实时性方面进行了系统的分析之后,总结出CAN总线在高负载的条件下,各个网络节点之间的信息传递的实时性会大大降低。
第二步,再结合CAN总线的主要协议,提出了优先级晋升机制对于CAN总线的实时性的实现具有较为重要的作用。
在理论上分析了CAN总线协议应用优先级晋升机制后将会对CAN总线产生的积极影响,即:
优先级晋升机制能够有效保证网络中初始优先级相对较低的节点即使是在网络高负载的情况下仍然能够占有一定的带宽,能够使初始优先级低的网络节点信息的发送不至于发送失败。
第三步,完成了对于CAN总线实时性方针平台的设计与实现。
通过实验发现了优先级晋升不仅能在实践过程中没有过多的占用网络,而且能够在高负载的条件下使各个优先级不同的网络节点能够有效的发送信息,进一步证明了本论文所提的优先级晋升机制对于CAN总线的实时性具有明显的正面作用,能够在一定的程度上解决信息传递的实时性问题。
关键词:
现场总线;工业控制网络;CAN总线;实时性
Real-timesimulationofCAN-basedindustrialcontrolnetworknodes
Abstract:
Withtherapiddevelopmentofscienceandtechnology,industrialcontrolsystemshavealsomadeprogressbyleapsandbounds,industrialcontrolsysteminformationfastertransferofinformationbetweenthe"realtime"isanurgentneedtoachieve.forexample:
singlehostinformationbetweenfielddevicesandthetransmissionofreal-time,PC'srapidoperationandquicklydisplayofinformationtransmissionofreal-timeputsforwardstricterrequirementthaneverbefore.Fieldbussystemisthemostbasicandmostimportantoftheindustrialcontrolsystemofthesubsystem,ithasgraduallybecometheindustryrepresentedbycomputercontrolsystemwiththemostimportanttechnology.WhichrepresentedbythefieldbusCANindustrialcontrolnetworkisanewgenerationofindustrialcontrolsystemisverycriticalandimportanttechnology,becausetheCANbushasthedifferenceinrealtime,flexibilityandreliabilityoftheheightoftheotherbus,makeitshavebecometherepresentativeofthefieldbus,andthepublictobecomethemostpromisingfieldbus.ThisisbasedontheCANbusinthereal-timeproblemsintheprocessofcommunicationasthemainresearchobject,throughthesimulationexperimentplatformoftherealtimeofCANbusintheoryresearchandimprovement.
Firstofall,inthefullunderstandingoftheCANbusprotocoloftherelatedcontent,andhascarriedonthethoroughunderstandingofthecharacteristicofCANbus,ontheCANbussystemisanalyzedinrealtimenetworkcommunication,CANbusissummarizedinthehighloadconditions,eachoftherealtimeinformationtransmissionbetweennetworknodeswillbegreatlyreduced.
Second,themaincoupledwithCANbusprotocol,proposedtheprioritypromotionmechanismforCANbusreal-timeimplementationplaysamoreimportantrole.TheoreticallyanalysestheCANbusprotocolapplicationpriorityafterthepromotionmechanismwillbepositiveinfluenceonCANbus,namely:
theprioritypromotionmechanismCANeffectivelyguaranteethenetworkinitialpriorityevenrelativelylownodeinthenetworkundertheconditionofhighloadCANstilloccupiesacertainbandwidth,CANmaketheinitiallowprioritynetworknodeinformationsendnotsendfailed.
Finally,doneforCANbusreal-timepolicyplatformdesignandimplementation.PrioritypromotionwasfoundbytheexperimentCANnotonlyinpracticedidnotoccupytoomuchnetwork,butalsoinhighloadconditionsmakethepriorityofdifferentnetworknodesCANsendinformationeffectively,furtherprovesthisthesisproposedthepriorityofpromotionmechanismforCANbusreal-timehaveobviouspositiveeffect,toacertainextent,solvetheproblemofinformationtransmissionofreal-time.
Keywords:
Fieldbus;industrialcontrolnetwork;CAN;real-time.
1.1CAN总线的发展及现状
CAN总线是在上世纪八十年代为了解决汽车的各个控制装置之间实时性的通信问题而由德国的Bosch公司提出来的。
当时,由于电子操作是汽车功能的实现的基础,消费者们对汽车的功能的要求随着科学技术的发展越来越多,所以各种各样的电子控制系统相继被各大厂商和爱好者们开发出来;而每个系统的数据类型以及通信可靠性要求有所不同,这就意味着各个电子控制系统之间通信的复杂度日益增加,与此同时,通信线束的数量也日益增多。
所以,为了解决现代汽车中庞大的电子控制系统之间的数据交换问题、减小通信复杂度以及减少线束的数量,1986年CAN总线诞生了。
1993年,CAN通过ISO11898以及ISO11519进行了标准化,成为一种国际化标准的通信协议。
此后,CAN规范又不断被修订与改善,以减少现有CAN规范中存在的错误以及不完整性。
目前国内外关于CAN(ControllerAreaNetwork)总线的研究主要包含以下几个方面:
(1)对现有协议实时性、可靠性缺陷的分析,提出新的解决方法。
目前,很多科研界对于提高CAN总线的可靠性与实时性都进行了研究,提出了一系列提高实时性与可靠性的算法。
如优先级晋升算法就是为了解决低优先级节点数据传输时延问题、提高系统实时性而提出的;CRC-32四比特纠错算法就是为了提高系统间数据传输的可靠性与实时性而提出的。
(2)对CAN总线芯片的设计与开发。
目前我国市场上销售的CAN总线芯片基本都是进口的,而CAN总线芯片又是CAN网络中的核心,所以对CAN总线芯片的设计与开发,也成了国内科研人员及单位的研究热点。
如对独立的CAN控制器SJA1000、通用CAN收发器PCA82C250、标准LIN收发器TJA1020等等的研究、设计与实现。
(3)关于CAN总线应用的分析与研究。
根据国内外资料报道,目前CAN总线在地铁通信网络、基于ARM的嵌入式数控、风力发电、智能照明等系统中的应用已成为国内外研究热点。
(4)CAN总线与以太网的互联。
随着Internet技术的日益成熟以及不断提高的信息共享技术,测控系统网络和以太网之间相互的逐渐地融合,更加方便的实现了CAN总线与Internet相互之间的通信。
因此,对各种通用性强、安全性好的互联接口的研发已成为当前国内外研究的热门课题。
1.2课题的提出及意义
近年来,随着通信技术、计算机技术、自动化技术等为代表的信息技术的快速发展使得现场总线技术得到了众多厂家的关注和支持,使现场总线的应用范围空前广泛。
现场总线控制系统是一个以计算机、摄像头、传感器等现场设备为基础,以自动控制、实时传感、智能通信等为主要内容的新兴的各个学科交叉的技术。
现场总线技术在交通管理、智能控制、汽车电子、楼盘自动化等领域有着巨大的应用前景。
在工业自动化领域,CAN总线技术已经成为了最受关注的焦点之一,国际上的现场总线相关的开发研究使控制系统走上开放发展的道路。
这对我国的发展既是个严峻的困难的挑战,也是一个绝佳的发展机会。
多机通信调度,多总线通信调度的情况是现场总线控制系统实时通信的研究和发展将面临。
在现场总线中,由于CAN总线的特殊性使其逐渐的形成了国际标准。
CAN总线凭借其独特的设计思路和CAN总线本身所具有的优良的性能和较高的可靠性,自诞生以来备受工业界的关注,得到了十分广泛的应用。
CAN总线虽然已经比其他的现场总线有了很大的改进,但是它仍然不能满足人们对于实时、高效、安全、可靠的通信的要求。
CAN总线在通信的实时性方面存在不足,一旦网络负载增高,通信时延就会增加。
所以,寻找一种能够解决CAN总线的实时性问题的优化方法,对于进一步的推广和发展CAN总线技术在各个领域的应用具有十分重要的意义。
1.3CAN总线的研究动态
CAN总线所具有的较高的性价比和安全的可靠性是CAN总线在工业控制领域相比其他任何现场总线具有的强烈优势。
CAN总线控制系统可以作为从站,用于机器人控制机床的工业控制网络。
通过CAN总线实现与主机之间的通讯,能够连接多达六个字符的伺服电机。
在国外对于CAN总线的研究,一些公司和学者主要是在CAN总线结构的数据链路层上进行一些理论分析和实验研究;在国内,许多科研院所和高校也都对CAN总线的实时性问题做了深入的研究,其中包括东北大学、北京航空航天大学、大连理工、吉林大学、天津大学以及上海自动化研究所等机关单位。
国内外对于CAN总线的研究主要是探索CAN总线的可靠性、安全性、实时性等,其中包括楼宇自动化,汽车电子、机器人等各个领域。
CAN总线协议也是其中主要的研究部分,由于应用层没有同意的标准协议,因此不同的建议被许多机构相继提出并解决,使得CAN总线协议拥有了较好的实时行和开放性。
第2章CAN总线通信协议
2.1CAN总线简介
CAN(ControllerAreaNetwork)控制器局域网络协议为串行通信协议,CAN总线技术被广泛应用于安全级别相对较高的实时性控制系统中。
从类似与高速以太网的高速网络一直到普通的宽带接口,都能被CAN总线支持。
CAN总线技术的具有特别广阔的应用范围。
CAN2.0技术规范包括CAN2.0A和CAN2.0B两部分。
其中2.0A是标准帧,它含有11位标识符;2.0B比2.0A多包涵了一个扩展帧,这个扩展帧包含有29位标识符。
由于2.0B与2.0A完全兼容,本文主要介绍的是2.0B协议。
根据ISO/OSI参考模型,CAN被分为以下几个层次:
1、物理层
物理层的作用是进行信号的发送,其中包含了同步和位编码以及位定时等。
2、数据链路层
数据链路层是由逻辑链路控制子层LLC(LogicalLinkControl)和媒体接入控制子层MAC(MediumAccessControl)组成的。
LLC子层的作用:
确认由媒体接入控制子层接收的报文中哪些已被接收,为数据传送和远程数据请求提供服。
LLC子层的主要功能是提供超载通知、实现报文过滤和提供管理恢复。
MAC子层的作用:
CAN协议的核心是媒体接入控制子层,CAN协议将接收到的报文上交给LLC子层,并接收LLC子层传下来的的报文以便发送。
MAC子层被一个管理实体监控,具有识别故障和扰动的自动检测的机制。
主要功能包含有错误检测、控制成帧、故障界定、执行仲裁以及错误标注。
2.2CAN总线的特点与起源
2.2.1CAN总线的特点
CAN的全称为“ControllerAreaNetwork",是控制器局域网,目前应用最广泛的现场总线之一。
CAN总线协议最初的设计是为了提供汽车的微控制器—车辆电子控制单元ECU之间的相互通信的总线协议。
形成汽车电子控制系统的网络。
例如:
仪器仪表设备,变速箱的控制器、发动机管理系统、电子的主干系统中,都被嵌入CAN控制装置。
许多网络节点能挂载在CAN总线上。
但是在实践中,网络的硬件特性限制了节点的数目。
例如,在使用PhilipP82C250的当CAN收发器在同一网络中挂接100个节点。
这使实时控制变得非常容易并且CAN便可以提供高达1Mbit/s的数据传输速率。
另外,CAN的抗电磁干扰能力增强的原因之一也是由于硬件的错误检定的特性。
CAN总线具有较高的位速率和抗电磁干扰性的特性,信息在传输过程中产生的错误基本上都能被CAN总线侦测出来。
CAN即使是在6Kbit/s的传输速率下,其信号的传输距离也达到了10Km。
2.2.2CAN总线的起源
罗伯特·博世公司于1986年二月的汽车工程的大会上介绍了一种新型的现场总线协议——CAN总线协议,这是CAN总线诞生的标志。
如今,几乎每一辆汽车上都配备了CAN总线。
罗伯特·博世公司的工程师们早在十九世纪八十年代就已经开始论证现场串行总线应用于汽车系统的可能性。
因为没有更加适合的方案满足开发者们对于现场总线功能的严格要求,所以,这种现场总线最初被称作“汽车串行控制器局域网”。
这种基于非破坏性的仲裁机构的网络方案能够保证优先级较高的数据传输的时延最短而且不用设置主控制器。
罗伯特·博世公司相继开发实现了多种在CAN中的错误检测机制。
这些错误检测机制中包括了为了确保剩余的节点能够继续进行通信能够使故障节点自动断开的功能。
传输的报文也不是根据报文发送/接收器的节点地址来识别的,其识别的方式是根据报文的内容。
同时,报文在系统中的优先级是由用于识别报文的标识符规定的。
2.3CAN总线的主要特性如下:
1.在对等的网络结构上。
任何时候网络上的任何节点都可以发送数据,且任意发送,具有灵活的通信方式。
2.CAN总线的数据结构短帧。
每帧有效字节的最大数目是8位。
时间越短帧传输,干扰由概率越低。
由于CRC校验检错措施和其他机制在每一帧都通用,通信误码率显著降低。
3.CAN总线的通信距离最大可达到40m(通信速率最大可以达到1Mbps),节点的数最多能够达到110个。
通信介质可以为电缆、光缆、双绞线。
4.CAN总线采用了非破坏性网络仲裁技术。
网络上的节点被具有不同的初始优先级,当多个节点同时向网络上发送数据时,优先级较高的网络节点能够继续发送数据,不能够发送数据的节点是优先级相对较低的。
按照优先级的高低依次重发数据有效的避免了总线的冲突。
2.4CAN总线技术的局限性
首先是CAN总线没有统一的应用层标准协议。
而且,CAN总线在物理层中数据信息传送的距离有限,这种在传输距离上的限制是因为CAN总线设计之初是为了解决汽车工业中的实时、可靠通信的问题。
最后,在数据链路层中。
数据链路层的MAC子层中又定义了一种静态优先权。
而这个静态优先级为低优先级,以保证实时数据交换。
并优于令牌环网络。
但是,CAN总线在当流量一旦达到系统的额定的带宽,对于某些节点会造成比较大的数据传输延迟的而使CAN的实时性不能确定。
此外,CAN总线对于数据的时间节点没有限制权限,并且通信信道带宽的分配也不能够自主进行。
若某个节点出现总线错误需要重传的话,系统带宽就会被长时间的占用,其它节点的数据传送也会受到一定的影响。
所以需要我们从理论和实践中去解决这些存在的问题。
2.5CAN总线帧格式
CAN总线有4中帧,分别为数据帧、错误帧、超载帧及远程帧以,下面分别介绍这四种帧的结构。
2.5.1数据帧
数据帧可划分为7个位场,从前到后依次是帧起始位、仲裁场、控制场、数据场、帧结束位【13】,其帧结构下图所示。
其中仲裁场、控制场、数据场是由软件编程控制SJA1000生成的,其他场(帧起始、CRC场、应答场、帧结束)是有硬件控制芯片SJA1000自动生成的。
图2.1数据帧结构
(1)帧起始:
由一个“显性”位构成,即逻辑“0”。
(2)仲裁场:
由标识符和RTR位构成。
标准帧的格式为11个标识符(ID0—ID10);扩展帧格式为29个标识符(ID0—ID28)。
数据帧的RTR位为一个“显性”位,即逻辑“0”。
(3)控制场:
控制场包含6个位。
前4位表示数据场的长度,单位为字节;如“1000”表示数据场有8个字节。
后2位为保留位,由两个显性位构成,即“00”。
(4)数据场:
可以由0—8个字节构成,意思为即将发送的数据帧。
(5)CRC场:
CRC场包含了CRC序列和CRC的界定符。
CRC序列则是由帧起始位、控制场、仲裁场、数据场等构成的位流除以接收方和发送方事先约定好的生成多项式之后的余数。
CRC界定符是一个“隐性”位,即逻辑“1”。
(6)应答场:
包括应答间隙和应答界定符两位。
发送器中应答场由两个“隐性”位组成,即“11”。
接收到匹配的CRC序列的接收端在会回送报文的应答间隙位改为“显性”位,即“01”。
由此可知,应答场的应答界定位必须为“隐性”位“1”。
2.5.2错误帧
错误帧由两部分组成,分别是错误标志和错误界定符。
错误帧结构如图2.2所示。
图2.2错误帧结
1、超载标志:
由6个显性位组成,即“000000”。
2、超载界定符:
由8个隐性位组成,即“11111111”。
2.5.3超载帧
超载标志和超载界定符一起组成了超载帧。
超载帧结构如图2.3所示。
图2.3超载帧结构
1、超载标志:
由6个显性位组成,即“000000”。
2、超载界定符:
由8个隐性位组成,即“11111111”。
2.5.4远程帧
远程帧可划分为6个位场,与数据帧相比,除了没有数据场外,其他场都相同。
远程帧结构如图2.4所示。
图2.4远程帧结构