码头岸电的使用对于环境的保护具有重大意义,岸电的普及不仅能大量减少船舶靠港时自身发电所产生的废气,同时也大大的降低了港口的噪声污染。为了普及这一具有重要重要意义的技术,各国都在大力发展船舶靠港岸电供电技术;相应的就需要一个智能的监控网络实现供电的智能化。当前工业级监控领域广泛采用现场总线来作为数据传输的中介。而其中CAN总线以其特有的优点已经广泛应用在各级智能控制领域。
控制器局域网(Controller Area Network)已经广泛应用于机械、纺织、医疗、机器人等领域。CAN已经形成国际标准,并被公认为是几种最为有前途的现场总线之一。CAN总线作为传输信息的中介,其传输实时性一直是CAN系统重要的指标之一,针对其的研究也是当前有关CAN总线的热点研究问题之一。
1 控制器局域网(CAN)实时性问题研究
CAN总线和其他的控制总线相比,具有良好的可靠性、灵活性和实时性。体现在一下几个方面:
1)CAN总线采用多主通信方式,网络上任意一节点均可在总线空闲时刻主动的向其他节点发送信息,而不分主从。
2)CAN总线采用对各节点划分优先级的方法,可协调系统各节点的传送时序。
3)CAN总线采用非破坏性总线仲裁技术,当同时有多个节点向总线发送信息时,优先级较低的节点主动退出发送,而最高优先级的节点不受影响的继续传送数据。
由于篇幅有限,CAN总线的其他特点不在赘述。正是CAN总线具有上述1、2、3的特点。极端情况下,可能出现级别较低的节点需要很长的时间才能发送数据甚至无限期时延。这就要求对CAN总线的通信实时性具体分析,以达到系统设计的要求。
1.1 CAN总线延时分析
CAN总线的网络延时包括:从待发送数据在总线节点A变化开始,直到该数据在另外一个节点B中得到确认,这期间的总延时时间。根据CAN总线的数据流的传播方向可知,CAN的报文信息延时由帧延时、软件延时与CAN控制器延时和媒体访问延时等部分组成。
1.2 帧延时分析
帧延时既报文信息的传输延时,由报文的帧长度和总线的传输速率决定。根据CAN2.0B协议,CAN总线的报文信息共有以下4种帧类型:数据帧、远程帧、错误帧和过载帧。
CAN总线为实现总线空闲的确定、CAN控制器的同步和传输错误的检测,采用位流编码技术,即在帧的帧起始、仲裁场、控制场、数据场以及CRC序列。均通过位填充的方法编码。无论何时,发送器只要检测到位流里有5个连续相同值的位,便自动在位流里插入1位相反极性位;同时报文的位流根据“不归零”(Not Return To Zero,NRZ)的方法来编码,在整个位时间里,位的电平要么为“显性”,要么为“阴性”。位填充机制造成总线上实际传输消息的位数始终大于原始的位数。
CAN总线的传输速率也是影响帧延时的重要因素。由于信息在CAN总线上是串行发送的,因此传输速率由波特率度量。将CAN总线应用于实际工业现场中时,其传输速率随着传输距离(40 m~10 km)而相应的在1 M~5 kbit/s之间变化。
综合上述帧长度、波特率和传输距离对帧延时的影响,针对扩展帧,得到其在最大传输速率条件下对应不同数据字节的延时,如表1所示。
由于CAN总线的报文信息大都采用短帧结构,其传输的数据字节较少,标识符的差异对信息延时有着较大的影响,平均能达到30%~40%左右。
1.3 软件及控制器延时分析
软件及控制器导致的延时主要与系统使用的MCU、CAN控制器及接口芯片有关。本文在码头岸电监控系统的实际应用中采用的是 C8051F040作为MCU(内嵌CAN控制器),CAN收发器是PCA82C250。为了测量方便,采用的是一对CAN的ISA控制通信卡,一个 CAN节点作为发送节点,另一个作为接收节点,排除了总线媒体访问的仲裁冲突延时。
总延时包括从发送进程往CAN控制器的发送缓存器中写第一个数据开始,一直到接收进程中将接收缓存器中的有关数据全部读出的整个阶段。时间的测量可通过主控制器控制面板上的计数芯片的计数通道来获取,精度为1μs,测量获得的数据如表2所示。
从表2分析可知,在固定发送速率条件下,随着发送字节的递增,非帧延时时间也成正比关系递增,这主要归因于CAN控制器和MCU之间的数据交换量的增加。同时,根据实际测量,CAN总线在通信速率较低时,传输延时较高,通信速率对延时影响较大;一旦通信速率达到50 kbit/s之上,发送信息的字节数将成为延时的主要因素,而且CAN网络的软件延时及控制器延时随着信息字节数的递增主要在30~100 μs之间变化。
1.4 基于排队论的媒体访问延时分析
在中大型控制网络中,随着系统中控制节点的增加,控制网络中的信息流也将急剧增加。在这样的多节点、高负荷的网络控制系统中,由报文抢占总线资源而引起的媒体访问延时将越来越凸显出其重要性,对于媒体访问延时的分析将是设计控制系统时的重要参考因素。
排队论主要研究统计平衡下的各项性能指标的概率性质,根据CAN总线协议,可以把CAN总线的网络传输模型可模拟为图1所示。
这样就能建立一个模拟的排队模型,n个待处理的信息相当于顾客,而处理信息节点相当于服务。待处理信息的到达服从泊松分布,呈现出规律性的特点;CAN总线采用位填充的方式进行报文传送,报文的长度不一而使服务时间呈现出一定的概率分布,服务时间服从一般概率分布W;同时只有一个信息可在总线上传输。建立一个基于排队论的非强占优先级的N/W/1模型,如图1所示。
假定系统容量无限;在系统正常连续运行时,CAN总线系统中的消息通常是持续不断发送的,则可以假定顾客来源无限(理想状态分析,误差较小)。设CAN总线的报文优先级分别为从0到λ-1,共λ个等级,这里数字越小,代表的优先级越高;各个等级的报文均以泊松模式进入系统,其平均到达速度分别为 v0v1…vλ-1,系统对各个报文的平均服务速率分别为ω0ω1ωλ-1,服务时间服从指数分布,具备马尔科夫特性。
消息i的消息等待时间Ti包括:
1)当前正在总线上传输的的信息的传送完毕时间To;
2)在等待期间,比i优先级较高的信息j在上一消息息发送完毕后占用总线发送信息的时间Tj,由此可得Ti=Tj+T0,求Ti的数学期望即消息i的平均等待时间
Tξi=E(Ti)=E(T0+Tj) (1)
依据排队论的分析方法,可得到第i级报文的等待时间为
Little定理指出:系统中物体的平均数量等于物体离开系统的平均速率和每个物体在系统中停留的平均时间(这里指单个报文的平均服务时间)的乘积。根据little定理可得出第i级报文的平均等待时间为:
在实验中模拟码头岸电监控系统中的8个下位机智能监控点,设定优先级分别为0到7之间;在系统搭建完成之后,由于系统的晶振频率已经确定,则各个优先级的报文到真实验达速率一定,相应服务速率一定,仿得到的网络性能参数如表3所示。
从上表可看出,网络负载率对报文消息的等待延时有着很大的影响;当网络负载率较小时,消息基本能保证实时发送,但是当负载率极高时,CAN总线的网络延时还是比较严重的。同时优先级对等待时间的影响也是巨大的,当网络负载较高且各优先级的报文分布比较均匀的时候,优先级小于λ-1/2的报文基本能及时的发送,但随着优先级的继续增加,网络延时剧增,将无法满足控制网络的实时性要求。
2 实时性能提升分析
通过以上对CAN网络的实时性能的分析,在设计实际的控制网络中,给予读者一下参考:
1)当标准帧能满足系统对控制容量、传输可靠性等的要求时,尽量避免使用扩展帧。2)在满足控制系统的稳定性的要求前提下,尽量提高系统的传输速率。3)减少控制网络中不必要的节点及报文信息,以达到降低负载率的目的。
针对CAN网络本身的优化研究也很必要,对于CAN网络的优化问题,在协议层上面上目前相对成熟的方法是采用基于时间触发的TTCAN协议,此协议完全兼容于CAN节点,无论是数据链路层还是物理层。TTCAN节点不需要专用的总线防护装置,节点之间总线冲突的防止依靠CAN的无破坏位仲裁机制和CAN故障限制。
文献针对TTCAN提出了基于字母编码的遗传算法,此算法提出了一种采用“权”的动态优先级提升算法,并且引入了字母编码方式对遗传算法进行优化。有效缩短了系统矩
阵中的事件型信息的滞后时间,同时减少了周期性信息的抖动性问题且计算速度快,具有较好的优化效果。
文献针对,TTCAN提出了粒子群优化算法(PSO),PSO算法比遗传算法具有更快的收敛速度、概念简单、易于实现;在处理低维问题时候具有一定的优越性。在固定优先级算法的基础上,采用基于粒子群算法的TTCAN系统调度算法,在减少信息的传输抖动和提高带宽利用率上比传统算法具有一定的优势性。在大型的综合CAN系统中,基于粒子群算法优化的TTCAN矩阵在实时性和提高带宽利用率方面都有很大的研究价值。
3 结论
针对于中小型港口,其靠港船舶相对较少,智能供电终端无需安装太多就能满足靠港船舶的供电需要,因而依靠CAN总线本身的协议就能具有较好的网络实时性。但是对综合的大型港口而言,其智能供电终端一般都有数十乃至上百个,这就存在传输实时性能否满足要求的问题。针对这一问题的研究还是有一定价值的。
在码头岸电监控系统中,由于本课题仅仅采用CAN模块模拟8个岸电供电监控点,因此对于CAN的实时性研究还不够深入,有待进一步的什么学习。但CAN总线作为当前最为广泛应用的现场总线之一,对其实时性的深入分析研究对于系统的优化和信息的实时传送都具有重大的意义,今后将针对算法优化的问题展开进一步的分析研究。