发布日期:2024-11-12 14:55 点击次数:81
咱们在用CANoe进行CAN总线的测试时,会发现CAN报文的发送类型有好多种,有些类型不太容易连气儿,有些类型之间又容易污染,一不堤防就会用错,今天咱们就来先容下CAN报文的发送类型。
CAN报文的发送类型分为基本发送类型和搀杂发送类型两大类。
基本发送类型包括Cyclic周期发送、OnChange变化时发送、OnWrite写入时发送和IfActive有用时发送。
基本发送类型中的Cyclic称为周期型,而其他3个类型称为事件型(event)。
搀杂发送类型等于指基本类型中的周期型与事件型的组合,包括Cyclic and OnChange、Cyclic and OnWrite、Cyclic and IfActive。
1.基本发送类型
1.1 Cyclic周期发送
周期发送是指报文零丁于信号,按照固定的周期发送,也等于报文的发送与报文中的信号变化没联系系。
周期性发送报文是咱们最常用的报文,这类报文中包含的普通王人是需要普通使用不祥变化频率较高的信号,比如车速、转速等信号。
图片
Cyclic周期性发送报文示例如上图示例所示,ID为201的报文按照200ms的固定周期发送车速信号,车速信号在这个手艺会有些变化,从52->51->52->53>,然而岂论信号怎样变化,报文周期王人是6.8-6.6=7.0-6.8=7.2-7.0=200ms。
周期型报文就像大城市的公交汽车,报文中的信号就像是搭车的东谈主员,一朝公交汽车发车周期细目了,比如10分钟,则每断绝10分钟王人会有一辆车从始发站启动后发出,岂论车上有几个东谈主,王人会依期发送。
图片
周期型报文(公交车)按固定时间发送,即使信号为0(空车)也要发送
1.2 OnChange变化时发送
变化时发送是指当报文中的信号变化时,报文才会发送。
这类报文中包含的普通王人是变化频率不高的信号,比如通过中控屏进行的按键治愈信号,OnChange报文的蓄意是为了直快总线资源。
图片
OnChange变化时发送报文示例
如上图示例所示,ID为368的报文为OnChange变化时发送的报文,假如面前的背光亮度为30,此时总线上莫得368报文;
此时通过中控屏的触摸按键将背光劝诱改为32,则中控屏会发出一帧ID为368,背光信号为32的报文。
1.3 OnWrite写入时发送
写入时发送是指当报文中的信号被再行写入时,报文才会发送。这里的再行写入主如若指在测试软件中对信号的再行劝诱写入,在ECU中也不错合计是期骗层对底层通讯信号的写入。
OnWrite与OnChange的主要区别是OnWrite再行写入不一定等于数值的改换,也不错保执不变。
照旧以中控屏的背光劝诱为例,比如背光底本为30,不错再次劝诱为32,劝诱后又陆续劝诱了两次,但王人是32,并莫得改换这个值。
图片
OnWrite写入时发送报文示例
以上示例中,临了两帧的背光信号王人是32,对比第2帧并莫得改换,然而中控屏依然会发出这两帧,因为王人是写入的操作。
这里要守护的是发送时间王人是及时立地的时间(中控按键说明的时间),并莫得固定发送周期。
1.4 IfActive有用时发送
有用时发送是指当报文中的信号为有用值时,报文会以一个快速的周期(cycle time fast)发送,当信号变为无效时,报文就不再发送。
无效值Inactive Value也等于默许值,比如BCM的报文ID是380,其中的DoorOpen门开信号的无效值是0,暗示门关,有用值是1暗示门开,快速周期为100ms。
开动景象为门关,总线上莫得报文,当门开有用,即门开信号为1时,380报文立即以100ms为周期发送报文;当门关后,即门开信号为0时,报文立即停发。
图片
IfActive有用时发送报文示例
以上示例中,报文是以快速周期100ms发送的,不发送时就暗示门开信号为0(无效)。
OnChange、OnWrite和IfActive王人属于事件型报文,这类报文就像在出租车站点恭候的出租车,没东谈主打车的时候不需要出发,只须乘客打车时才会出发,不然巨额的空载出租车在谈路上行驶,不仅莫得作用,反而容易挤占谈路资源,变成谈路拥堵。
图片
事件型报文(出租车)莫得信号触发(无东谈主打车)时不需要发出
1.5 Repetitions叠加发送参数
关于基本型中的OnChange、OnWrite来说,它们天然不是周期发送,然而并不是说只可发一次,也不错发送屡次。关于IfActive来说,也不错按快速周期发送的同期截至发送次数。而发送次数是通过界说Repetitions叠加次数来兑现的。
是以基本型中又繁衍出3个子类型OnChangeWithRepetition、OnWriteWithRepetition和IfActiveWithRepetition。
比如在OnChangeWithRepetition子类型中,如果劝诱了Repetitions=3,则报文会连气儿发送三次,三次之间的时间不小于最小报文发送的蔓延时间Delay time。
图片
OnChangeWithRepetition示例守护连气儿发送报文的时手艺隔王人比拟短,然而也不行小于最小报文发送的蔓延时间Delay time,示例中的断绝为100ms。
再比如在IfActiveWithRepetition子类型中,Repetitions=2,快速发送周期cycle time fast=100ms,则报文只发送两帧。
图片
IfActiveWithRepetition示例
守护此时报文的发送周期是按照cycle time fast快速周期时间100ms发送,天然与上头的断绝时间100ms很是,然而含义不同。
2.搀杂型
2.1 Cyclic and OnChange
周期和变化时发送是指报文平时是周期性发送,当报文中的信号变化时,此报文会出奇的发送一次,底本的周期不变。
图片
Cyclic and OnChange示例
如上图示例所示,其中的第3帧等于出奇发送的帧,它的发送时间为6.920s,是个及时的立地时间,不是按照周期发送的。
2.2 Cyclic and OnWrite
周期和写入时发送是指报文平时是周期性发送,当报文中的信号被再行写入时,此报文会出奇的发送一次,底本的周期不变。
图片
Cyclic and OnWrite示例如上图示例所示,其中的第3帧和第5帧等于写入时出奇发送的帧,它们的发送时间永诀为6.920s和7.110s,王人是及时的立地时间,不是按照周期发送的。
守护第5帧的再行写入数据仍然是32,莫得改换,这亦然OnWrite与OnChange的主要区别。
2.3 Cyclic and IfActive
周期和有用时发送是指报文平时是按正常周期cyclic time发送,当报文中的信号为有用值时,报文会按IfActive报文的快速周期cyclic time fast发送,比及信号变为无效值时,报文又会还原到底本的正常周期发送。
图片
Cyclic and IfActive示例如上图示例所示,其中前4帧是按正常周期1s发送,信号为无效值0;从第5帧开动,当信号变为有用值1时,则按照快速周期100ms发送,是以中间4帧是快速发送。背面4帧,信号又还原为无效值0,周期也还原为正常周期1s。
快速周期时间 cycle time fast这个参数仅在IfActive偏执组合的类型中使用。
搀杂型的报文就像旅游景点的接驳班车,平时东谈主少时(基本不变),不错慢周期发车;比及节沐日乘客转眼好多(变化)时就临时改为快速发车。这么平时不错较少的占用谈路资源,沐日历间又不错搞定临时客流量大的问题。
图片
搀杂型的报文(接驳班车)发送周期平时慢,迫切时快
图片
信号触发(东谈主流量变化)时需要快速的把音尘发送出去
3期骗实例
在施行使用时,有些信号波及到相互同步的问题,比如面貌和中控的背光劝诱。
传统居品中,面貌的按键不错劝诱面貌屏的背光亮度,中控按键不错劝诱中控屏的背光亮度。在智能座舱的架构中,但愿面貌和中控的背光能一体化联动,同步变化。也等于通过面貌或中控王人不错劝诱车内屏幕的合伙亮度,这时就需要面貌和中控信号同步,相互发送背光亮度信息。
如果面貌和中控王人按周期报文发送,两者是不错及时同步,一方发现对方的需求与我方不同期,与对方同步即可。
但这种神色也有舛错,等于对软件处理的时序条目很高,比如在中控系统上进行手动劝诱后,在中控发出新的报文给面貌时,面貌在未收到新报文前依然将包含旧数值的报文发给中控系统,而中控系统误以为这个旧报文是面貌的新劝诱,就会导致面貌和中控两者不断地向对方同步,堕入死轮回,背光一直在跳变,无法达成贯通景象。
这种情况条目软件上必须在数据变化发送时作念对方报文的延时处理,也等于短时间内不接纳对方的报文,以退缩被对方旧的数据烦躁。
还有一种简化的圭臬等于一方为周期型发送,另一方为事件型发送。比如面貌(假定ID=350)为周期发送,发送周期为500ms;中控为OnChange有变化时发送,变化时叠加发送3帧,则报文如下:
图片
面貌中控背光同步发送由上图示例可知:
1-4帧为面貌发送的周期帧,周期为500ms,背光为30;
5、6、7三帧为中控发送的事件帧,连气儿发了三帧,断绝为100ms,背光改为32;
8、9帧为面貌收到中控发来的事件型报文后,同步更新自己的背光亮度值后发出的周期帧,周期仍然是500ms。
这种神色将面貌的背光信号定为周期型发送,不错保证较好的同步及时性,将中控定为事件型神色发送,不错幸免两者参加死轮回的可能。然而中控会有被面貌的旧信号阴私的可能,是以中控中仍需要作念报文的延时处理,然而全体上来看,这种神色风险更低、处理更简短。
小结:
CAN总线的报文发送类型主要包括周期型和事件型,周期型等于按照固定周期发送,与具体发送的信号无关。事件型不按周期发送,是按照信号的特色发送,具体分为信号变化时发送、信号写入时发送和信号有用时发送。周期型与事件型还不错永诀组合成搀杂型。
周期型的特色是贯通、可靠,及时同步成果好,但占用总线资源多;事件型的同步成果没那么好,然而占用总线资源少!
本站仅提供存储处事,整个内容均由用户发布,如发现存害或侵权内容,请点击举报。