Chinaunix首页 | 论坛 | 博客
  • 博客访问: 337110
  • 博文数量: 83
  • 博客积分: 2363
  • 博客等级: 大尉
  • 技术积分: 655
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-27 11:15
个人简介

博观而约取,厚积而薄发 立场决定观点,眼光决定深度 道不辩不透,理不说不明

文章分类
文章存档

2015年(6)

2014年(7)

2013年(8)

2012年(11)

2011年(7)

2010年(9)

2009年(35)

我的朋友

分类: 嵌入式

2013-05-31 12:22:00


本文介绍了CAN现场总线控制系统中保证数据传输实时性的方法,通过减少信息的传递任务、均衡网络负载等措施,有效的降低了网络的传输延时,提高了节点数据传输的实时性。
关键词:CAN,实时性分析,工程机械,分时复用,均衡网络负载

CAN作为一种新兴的总线技术,具有高性能、高可靠性及独特的设计,以其为基础构成的分布式控制系统中实现了控制的分布化和网络化。
工程机械智能化程度的提高使得控制网络的信息源增多、信息量增大。信息的传递需要分时占用通讯线路,然而通讯速率是有限的,通讯网络中各节点有优先级高低 之分, CAN总线采用了非破坏性总线仲裁技术,可以保证冲突发生的时候,具有较高优先级的节点在竞争中胜出,获得数据发送权,然后发送数据。因为网络信息源较 多,会造成优先级较低的节点在多次发送数据时与优先级高的节点冲突,并且在竞争中失败而不能发送数据。这样就会导致优先级较低站点数据传输延时的不确定 性,时而较大,时而较小,这都将影响控制系统的性能或使系统不稳定。本文从应用角度分析总线通讯系统,对于CAN总线控制系统的实时性设计提出几点改善方 案。

 

   
     
[基于CAN总线的控制网络]
   

随 着控制系统趋于复杂化,控制系统的操纵单元、传感、控制以及被控对象都分布在网络的不同部分,图1为典型的CAN总线控制网络。系统延时包含信号采集及转 换时间、控制器运算时间、信号输出时间、系统通讯时间,除系统通讯时间外,其他均与控制器的CPU运行速度有关系,随着高速芯片的应用,CPU的执行时间 相对于通讯延时可以忽略,故延时焦点是通讯延时。

由图1可知系统通讯的延时T由以下部分构成:
信息在发送缓冲区中的等待时间TDWS;信息在传输过程中时间TDS;信息在接收缓冲区中的等待时间TDWR;
总的延时时间可以用等式表达如下:
T=TDWS+TDS+TDWR=TDW+TDS;
其中TDW为排队等待时间,TDS为传输时间。
由于信息发送时间(TDS)是由协议本身决定的,所以要提高系统的实时性必须减少网络中信息的等待时间(TDW)。因此本文从减少网络的信息量和均衡网络负载两方面来提高系统的实时性。
     

 

[CAN总线实时性优化分析]

   

CAN 总线以报文为单位进行信息交换,报文中含有标示符(ID),它既描述了数据的含义又表明了报文的优先权。CAN总线上的各个节点都可主动发送数据。当同时 有两个或两个以上的节点发送报文时,CAN控制器采用ID进行仲裁,ID控制节点对总线的访问。发送具有最高优先权报文的节点获得总线的使用权,其他节点 自动停止发送,总线空闲后,这些节点将自动重发报文。此外CAN总线是事件触发型总线,信息变化快的也会得到高优先权。由于CAN总线的特点注定了高优先 级的报文信息的传输得到了保证,但对于优先级低的报文信息得不到保证,并且等待时间不确定。
在对CAN总线网络的延时进行分析后,要想减少系统的延时首先要减少网络中的信息传递任务,其次均衡网络负载以提高网络带宽的利用率。

如何减少信息的传递任务

对于一个系统来讲,所要传输的信息都是有用的,从数量上是不可以减少的。但是我们研究一个系统的信息不难发现其信息按种类可以分为控制信息、闭环控制反馈信息、状态监控信息。这里以图2为例说明如何减少信息的传递任务。
图2要求用1#控制器的操作手柄来控制2#控制器控制的比例阀,同时在显示器上显示2#控制器采集的水温、油量等信息。在这个系统中,我们保证操作手柄的 信息到2#控制器是对实时性要求是高的,而对于2#控制器采集的水温、油量等信息到显示器因其变化不频繁对实时性要求是不高的。故将2#控制器采集的水 温、油量等信息共用同一个报文分时发送。例如报 文:18x,8,D0,D1,D2,D3,D4,D5,D6,D7;28x,8,D0,D1,D2,D3,D4,D5,D6,D7。中18x中的 D0,D1 表示水温;28x中的D0,D1 表示油量;两个报文中D2~D7代表其他量。对这两个报文进行整合统一如下:18x,8,D0,D1,D2,D3,D4,D5,D6,D7;以D0作为索 引,在D0为不同数值时D1,D2分别代表水温和油量,其他数据量相应进行调整。通过上述调整后相对减少了信息量,为控制信号的传递留出了更多的时间。同 时也不会影响对水温和油量的监视。

图2中在显示器中需要有监视 1#和2#控制器的IO端口的状态和对其参数的调整功能。首先端口状态监视和参数调整不会在工作过程中,其次这种信息量是巨大的,再次端口监视和参数调整 也不是经常需要的。对于这种情况若采用“SDO”一问一答的形式可以减少很多信息量,并且不会增加系统工作状态的信息量,以此达到减少信息量降低信息传递 任务的目的。


如何均衡网络负载

CAN网络的节点有优先级高低之分这带来一个问题,高优先级的报文信息传递都可以得到保证,然而低优先级的报文信息会不断的被停止和重发。那么有没有一种 方法兼顾CAN总线的优点又能克服上述缺点呢。很多厂家也做了这些方面的研究,比如TTP,FlexRay都是基于时间触发的,同时在通讯速率上有了很大 的提高。但是要么没有适合工程机械的控制器,要么对编程要求太高。若从应用层出发能将时间触发和事件触发兼顾起来,这样既保证了通讯的机会均等性也保证紧 急报文的及时传输。引入一个时间槽T的概念。在一个时间槽内包含两个时间段:异步(AT)和同步(ST)。结构如图3所示。

图3中包含了时间触发系统(异步)和事件触发系统(同步),根据CAN自身的特点,在一个 网络中我们可以设定一个管理节点(主节点),其他的为从节点。根据系统各个节点的信息量来划定时间槽的时长以及异步、同步所占用的时间。主节点根据这些时 间约定进行控制各个时段的起止。这样可以对网络上不同报文信息传输情况进行状态控制,对不同的报文信息设置不同的状态,减少同一时间等待发送的信息,这种 状态控制可以提高网络的利用率。

依上所述,信息按种类可以分为控制信息、闭环控制反馈信息、状态监控信息。依据上述信息对系统框架及网络进行分布可得图4。

目前常用的控制器和显示器都具有两路总线,在图4中 将两路总线都利用起来,并且按照信息所属类别对其进行了分工。在图4中将总线分为两层控制总线和监视总线。控制总线传输的信息均为控制量,监视总线传输的 均为监测和监视量。这样避免了控制和监视信息的冲突,减少了控制总线上的信息传递量保证了控制信息传递的实时性。
系统功能方面,图4中规划了模块化的控制,比如1#控制器所控制的被控对象的反馈直接反馈到1#控制器,这样保证了控制的实时性,而对于控制总线传递的也只是控制命令,这样就更进一步减少了控制总线上的信息数量,提高了控制报文信息传递的实时性以及系统的实时响应性。
   
本文系统的讨论了CAN总线网络系统的特点,分析了其通讯延时情况。结合CAN总线的自身特点提出了分时复用、按需发送、异步同步结合、控制监视分类传输的理念,并基于上述理念设计了系统。并在实际应用中证明具有良好的实时性。
阅读(6689) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~