矿井下CAN总线安全监控网络的研究孙继平郭继坤潘涛(中国矿业大学北京校区西信息研究所,北京100083)摘要:本文针对煤矿监控安全现状,提出了以CAN总线为网络总线的矿井监控系统,并对CAN总线的协议进行了修改,在传输的帧中加入体现优先权的仲裁字段,对于煤矿监控节点的多少采用静态或动态优先权分配机制。并对CAN总线延时进行了分析。关键词:DCSCAN静态优先权动态优先权实时传输1矿井监控系统对矿井的安全起到非常重要的作用。近年来我国煤矿井下事故不断发生,使我国安全生产监督管理局对矿井下的安全监控网络系统越来越重视。到目前为止,我国的矿井监控系统一直使用的是分布式控制系统DCS[1](DistributedControllerSystem)。该系统以主从传输方式为主,且传输速率较低,国内最先进的KJ95传输速率最高为2400bps,无法满足矿井监控系统对信号实时传输的要求。CAN[2](ControllerAreaNetwork)总线以其较高的传输速率、无主式的传输特点及低廉的价格成为当今自动化领域技术发展的热点之一。它的传输速率最高为1Mbps,符合矿井实时传输的要求。因此,在2003年的安全生产监督管理局安全会议上把CAN总线定为井下监控系统网络总线,本文仅对CAN总线协议进行了研究,使其适应矿井下的数据传输的要求。2.优先权的分配由于CAN总线采用总线型拓扑结构,就不可避免的产生冲突,为了更好的解决实时传输和因冲突造成的信息破坏,在传输的帧中加入了体现优先权的仲裁字段,由标志字段(Identifier)和远程传输请求位(RTR)组成。发生冲突时优先权高的节点继续发送,其它所有节点停止传送。下面就对优先权的分配进行具体的研究。2.1实时数据传输中的静态优先权的分配静态优先权的分配是网络的设计者事先设定的,每个节点的数据优先权一经设定,不能改变。这种优先权的设计方法简单明了,但有新节点加入时,网络优先权必须重新分配。因此,静态优先权分配方式适合于节点较少,并且节点比较固定的煤矿。2.2实时数据传输中的动态优先权的分配随着矿井下检测节点的增多,静态优先权分配机制已不能满足矿井监控网络的要求。因此,我们采用了动态优先权分配机制,它能够满足多节点和扩容的需要。该数据帧的结构如图1所示。把CAN2.0B的前11位标识符分为PC(PriorityClass)和BI(BaseIndentifier)两部分,PC有2位组成,分别用00,01,10,11对应最高级、高级、低级和最低级队列。BI由8位组成,全部置为“1”。无太多意义,只是为了与以前帧结构兼容。后18个标识符也分为两部分,QP(QueuePosition)由8位组成,它指明了在相同的PC下,本数据在优先级队列中所处的位置。EI(EffectiveIdentifier)由10位组成,表示帧的标识。由此SOFEOFSRRIdentifier11BitIdentifier18BitRTRIDEControlDataCRCACKPCBaseid29QPEffectId810I仲裁场(a)(b)(a)CANV2.0B数据帧的扩展格式(b)动态数据帧格式图1可见在动态分布机制中,优先权取决于PC和QP,即:),(PrQPPCfiority这样就把优先权分成了四个不同的队列,每个队列中又有不同的优先顺序。PC一般根据信息的缓急提前设定,实际上优先权的动态变化取决于QP。上式可改为:)(PrQPfiorityPC动态分布优先权分配机制是在全网上构造一个先进先出的队列,网上的每个节点并不存储全网的队列,而至存储本节点在相应队列中的位置QP,在同一PC下,QP越小越在队列的前部,优先权越高,每一个起始发送的帧开始时都排在对尾,既QP=255。图2表示了QP的动态变化过程。图2动态优先权的变化过程上面是一种优先权的晋升方式,下面考虑一种更一般的形式:)()12(tfQPlll:QP字段的长度;t:正等待的时间。节点优先权晋升函数()f它可以十多项式,也可以使指数函数等其它形式。当t=0时,上式变为:)0()12(llfQP是该节点的起始优先权。下面求帧的排队时间。令QP=0,则上式变为:12)(lltfSTARTWAITTX/RTX3)IF成功1)IF初始化THENQP=2555)IF受到其它帧THENQP--4)IF冲突THENQP--2)IF总线空闲取()lf反函数,则:)12(1llft为改节点的排队等待时间,是一个常数。仅与晋升函数、ID字段的长度有关。对上式求导得:dttdfdtdQPl)(是该节点优先权的晋升速度。由以上研究可见,动态优先权分配机制更具有灵活性和扩展性。适合在较大的煤矿网络监控系统中应用。。3.CAN总线的延迟时间分析延时对矿井监控系统有着非常重要的意义,对矿井延时最大为10秒钟,一次对延时时间的分析非常有价值。用于网络延迟时间分析的主要工具是基于概率论的排队论。用下式表示:A/B/MA:帧产生的概率密度;B:帧被传送的概率密度;M:可以被同时传送的帧的个数。在CAN总线结构中,只能同时传输一个帧,所以M=1。如果产生帧的概率密度A与被传送帧的概率密度B符合指数分布(即如xe的形式用M表示),则CAN总线的排队情况可表示为:M/M/1由于帧的到达和系统的传输规律都是指数分布的,所以只要给出系统的平均到达率何平均发送率就可以完全确定一个M/M/1排队系统了。对于排队系统的性能,帧在该系统的中的平均等待时间T和在系统中的排队的平均帧数N是两个重要的参数。下面推导这两个参数的值。M/M/1排队系统的状态可以用系统中的帧数来描述:系统中的帧数=队列中排队的帧数+正在传送的帧数。一旦M/M/1系统从初始状态开始运行足够长时间后就进入平衡状态,在平衡状态中,系统处于K状态的概率Pk是一个与时间均匀的常数。所谓平衡状态并不是没有状态的转移,而是指系统从一状态转移出去的机会与从其它状态转入该状态的机会相等。如图3所示。因图3M/M/1系统的状态图此得出平衡方程:10upp1kupkup2up1up0upkp0p012kK+11p2p1kp21upp32upp1kkupp设/可以得到021PPpPkkkk可以想象,任何随机传送系统若u,平均到达率大于等于平均传送率,则队列会无限的增长,则网络传输不稳定,应该是u,即1u,因为01kkp有等比数列求和公式得到11000pppkk即10p)1(0kkkppp因为Kp是系统中有K个帧的概率,不难求出系统中的平均帧数。1)1()1()()1(200KkKKkkpN设0p为系统中帧数为0的概率,即系统为空的概率,那末01p就是系统的非空的概率,或者网络忙的概率,从而系统的平均队列长度为12N从上述两式可见,随着的增大,越是趋向于1,则系统中的平均帧数和平均队列长度都会迅速增大,而趋向于无穷。接下来求平均等待时间,假设有一个帧,和它有关的事项都取为平均值,在它刚被传送好要离开系统时,在该系统中的帧数就是系统的平均帧数N,应正好等于该帧在该系统中总的平均等待时间T内到达的帧,即等于T乘上平均到达率,正符合Little定理N=T。由此可得:uuuNT1111排队时间就等于T减去平均传送时间(即平均传送率的倒数u1),即)(111uuuuuT4.结束通过对CAN总线协议的修改和对延时的分析,使CAN总线能够更好的满足矿井监控系统对实时传输的需要,使CAN总线在矿井监控系统中得到更广泛的应用,对煤矿监控系统网络的标准化进一步的完善,有非常重要的意义。