随着汽车电子系统中ECU数量的增加,需要通过CAN总线通信的数据量也急剧增加,根据以往的工程经验,总线负载率超过30%就会造成报文延时的概率增大,不同的总线负载率引起报文延时的概率有多大,能够造成的延时是多少,这些问题采用现有的分析手段和工具都很难回答。同时也引申出两个问题(文中的总线负载率都是指CAN总线):
总线负载率是不是超过了30%就要使用FlexRay总线?
总线负载率在30%以下就不会发生报文响应时间超过Deadline?
菲亚特研发部门使用Symtavision的用户案例可以回答上面两个问题。
总线负载率低于30%会造成报文延时
CAN总线负载率是在一段统计时间内对总线报文占用总线的评估参数,这是一个很宏观参数。如下面的示例CAN总线:有3个ECU,分别按照不同的周期发送不同的CAN报文。
图1:采用SymTA/S建模和分析CAN总线报文延时
在采用SymTA/S分析得到总线负载率是2.85%,这个负载率很小,但是详细分析报文Msg_20ms因为总线仲裁的原因,报文最大响应时间为0.564ms(Deadline是0.5ms); 当优化CAN总线后,响应时间得到有效降低。这只是一个很简单的例子,说明总线负载率低于30%也存在报文延时,工程中需要新的工具来评估总线的有效性和可扩展性,总线负载率是有一定局限性的。
重新认识总线负载率
CAN总线负载率只是一个宏观的参数,已经不能充分的评估总线的有效性和可扩展性。造成这样的原因是一方面以前电子系统都比较简单和总线报文数量少,单纯的限制总线负载率就可以满足报文响应时间的要求,但当参与CAN总线通信的ECU数量或总线报文数量增多了以后,就不能保证较低的总线负载率满足报文响应时间的要求。
另一方面从技术角度分析,以前没有一个工具可以帮助工程师分析CAN负载率背后更为详细的因素,无法具体分析每条报文的延时和该报文对总线的影响。但在工程应用中最终定义或者评估的是某条报文的Deadline,当CAN通信系统复杂了之后,单纯的总线负载率已经不能作为一个完整的技术指标来评估一个CAN总线系统,需要更详细的分析关心的每条报文的最大响应时间(Worst Case Response Time)是否超过了Deadline。
CAN总线负载率可以到70% -Fiat研发工程师
菲亚特研发部门工程师很早就使用德国Symtavision公司的时间建模分析和验证工具SymTA/S来帮助他们开发和验证CAN总线系统,在几个车型中都采用了Symtavision公司的分析工具。工程师在开发下一代车型的时候,在系统ECU数量增多但不采用FlexRay总线的前提下,将CAN总线的通信能力发挥到最大程度,当然这些手段的前提是确保设计的CAN总线是满足对响应时间(Deadline)的要求。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉