CAN现场总线通信控制协议的仿真及性能分析
数量的均值。
平均信息时延:从信息发出传输请求到被成功地传输到目的节点所需要的平均时间。
通信冲突率:节点遭受通信冲突的概率。
网络利用率:单位时间内通道传送信息号的时间比率,即是通道处于忙碌状态的概率,它反映了通道被利用的情况。
网络效率:单位时间内通道成功传送的信息与通道发送信息的时间比率,即吞吐量与通道利用率两者间的比率。
负载完成率:所有节点运行完成后成功向总线上发送的报文帧的总个数与所有节点请求发送的报文帧的总个数的比率。
3.2 性能分析
仿真设定CAN总线传输速率为200kbit/s,总的运行时间为T=2s,并假设每一帧报文的数据长度为100bit,可以得知,CAN总线满负载时传输4000帧数据,表示为N=4000帧,即满负载时传输的数据帧的总长度为400kbit,表示为S=400kbit.通过设定各节点的发送周期,来调整负载率的大小。
CAN总线仿真模型中,输出参数含义分别为:u代表通道处于忙碌状态的总时间;thout代表所有节点发送的所有数据帧的总长度;fz代表所有节点产生的所有数据帧的总长度;b1-b16分别代表第1-16个节点每次运行完成后成功向总线上发送的数据帧的个数;p1-p16分别代表第1-16节点每次请求发送的数据帧的个数。
所以,吞吐量的计算公式为:
平均信息时延的计算公式为:
式中i表示节点编号(I=1~16)。
通信冲突率的计算公式为:
网络利用率的计算公式为:
网络效率的计算公式为:
负载完成率的计算公式为:
式中i表示节点编号(1~16)。
经过运行仿真模型,得到系统在负载分别为16%、33%、50%、81.5%、100%、125%、150%、175%、200%、230%、250%、280%、310%时的一系列仿真结果。
依据公式(1)-(6),我们分析了负载率从0.02到3.1的情况下,CAN总线通信系统中负载率的变化对网络吞吐量、平均信息时延、通信冲突率、网络利用率、网络效率以及负载完成率的影响。结果如图3-8中所示。
图3-8的变化趋势都是由CAN总线通信控制协议决定的,即总线空闲时,任一节点都有发起通信的权力,当多个节点同时发送产生冲突时,采用非破坏性位仲裁机制,低优先级节点停止发送,高优先级节点不受影响继续发送,从而可以避免总线冲突。
图3中,由于当负载率较低时,低优先级的信息可以竞争到总线权得以发送,随着负载率的增加,网络利用率提高,所以,吞吐量也随之增加,当负载率增加到一定程度时,只有高优先级的信息得以发送,此时吞吐量趋于饱和。
图3 吞吐量与负载率的关系
图4中,由于随着负载率的增加,信道主要用来发送高优先级的信息,而低优先级的信息却被长时间延迟甚至造成数据丢失,所以平均信息时延随着负载率的增加几乎呈线性增加。
图4 平均信息时延与负载率的关系
图5中,由于随着负载率增加,吞吐量增加,即单位时间内需要处理的信息量增加,信息发生冲突的机会也增加。而且随着负载率的增加,当吞吐量增加到趋于饱和后,信息发生冲突的机会也增加的较为缓和,即通信吞吐率增加的较为缓和。
图5 通信冲突率与负载率的关系
图6中,由于随着负载率增加,吞吐量随之增加,则单位时间内需要处理的信息量增加,从而使得通道的利用率增加。同时,通道由“忙碌”到“空闲”状态所用的帧间隔时间也增加,使得通道不可能连续不断地传输信号,这样随着吞吐量增加并趋于饱和时,网络利用率也随之增加并趋于1,但不会达到1。
图6 网络利用率与负载率的关系
图7中,由于随着负载率的而增加,吞吐量增加,而通道处于“忙碌”状态的总时间也在增加,并且在吞吐量达到饱和时,通道处于“忙碌”状态的时间也趋于稳定,所以,单位时间内通道成功传送的信息与通道发送信息的时间比率几乎不随着负载率变化而变化,基本在一个恒值附近微小变化。
图7 网络效率与负载率的关系
图8中,由于在负载率较低时,各优先级的信息都可以竞争到总线权得以发送,所有节点成功向总线上发送的数据帧的个数与请求发送的数据帧的个数相等或相差很小,但是随着负载率的增加,低优先级信息得不到发送,只有高优先级信息才得以发送,导致所有节点成功向总线上发送的数据帧的个数远小于请求发送的数据帧的个数。所以,负载完成率随着负载率的增加而减小,并且在负载较小时,负载完成率很大,几乎接近于1。
图8 负载完成率与负载率的关系
总之,以上分析结果验证了CAN总线通信控制协议的特点。
4 结束语
运用MATLAB软件中Stateflow工具箱来对CAN总线通信系统建模仿真切实可行,是现场总线协议分析与研究的又一途径。仿真模型能够完全描述协议的复杂逻辑关系,而且
CAN现场总线通信控制协 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)