30,664
社区成员
发帖
与我相关
我的任务
分享目录
> 特点: 定周期发往总线, 未被SWC设置前按照默认值发送 ----> 上层SWC应用设置后,按照用户新设置的值发送

> 特点: 被SWC设置后,发往总线, 未被设置总线没有数据 ----> 被SWC
> 设置后,为避免总线数据丢失,一般会设置补发(如下图补发次数4,补发周期50ms)

---》总次数和时间。事件报文如果被下发后,按照第一章所描述的示例事件报文,在第一次被发送后,将以50ms周期被补发4次。即总计发送5次,每次间隔50ms,总计用时200ms。
---》发送期间如果被外部打断,发送期间若被外部打断,则本次发送终止,启动下一次的发送和补发。
比如事件报文总计发送5帧,在发送第2帧后被打断,继续发送新的5帧,所以总计发送7帧。
以下情况发生时,将会发生事件报文冲突
--》DBC定义了事件报文,报文内同一个信号被多个SWC应用模块使用,
导致信号的下发后,被另外一个SWC篡改,引起非预期结果。

--》SWC1和SWC2分别下发信号A和信号B,但是SWC1下发A早于SWC2下发B,
SWC2上电后期待下发Signal B(Value = ON),
但是SWC1的提前下发,导致Signal B(Default =OFF)的值提前带到CAN上,
引发非预期结果。
----》 事件报文在架构设计时候,报文内同一个信号要避免被多个SWC执行逻辑调用,避免引起混乱。
----》 事件报文DBC的定义要特别注意,尽量避免二义型定义,即非此即彼的0/1(off/on)定义;
可以添加预留值定义,off/on/**Reserve** ,Reserve可以作为默认值。
这样即便多个SWC下发同帧不同信号时,因默认值被带到CAN上也不会生效,可以有效避免下发冲突。