AUTOSAR COM 关于事件报文下发的冲突问题

桃源乐游 2023-06-18 12:21:38

传送门  -> 返回-AUTOSAR配置与实践总目录

目录

一、DBC报文分类

1.1 周期报文(cyclic):

1.2 事件报文(Event):

二、事件报文下发规则

三、冲突和预防

 3.1 冲突类型

 3.2  冲突避免


一、DBC报文分类

1.1 周期报文(cyclic):

> 特点:  定周期发往总线, 未被SWC设置前按照默认值发送     ----> 上层SWC应用设置后,按照用户新设置的值发送

 

 

1.2 事件报文(Event):

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

 


二、事件报文下发规则


    ---》总次数和时间。事件报文如果被下发后,按照第一章所描述的示例事件报文,在第一次被发送后,将以50ms周期被补发4次。即总计发送5次,每次间隔50ms,总计用时200ms。
    
    ---》发送期间如果被外部打断,发送期间若被外部打断,则本次发送终止,启动下一次的发送和补发。
    比如事件报文总计发送5帧,在发送第2帧后被打断,继续发送新的5帧,所以总计发送7帧。

三、冲突和预防


 3.1 冲突类型


  以下情况发生时,将会发生事件报文冲突
  
   --》DBC定义了事件报文,报文内同一个信号被多个SWC应用模块使用,
   导致信号的下发后,被另外一个SWC篡改,引起非预期结果。
 

 

   --》SWC1和SWC2分别下发信号A和信号B,但是SWC1下发A早于SWC2下发B,
   SWC2上电后期待下发Signal B(Value = ON),
  但是SWC1的提前下发,导致Signal B(Default =OFF)的值提前带到CAN上,
  引发非预期结果。


    

 

 



 3.2  冲突避免

----》 事件报文在架构设计时候,报文内同一个信号要避免被多个SWC执行逻辑调用,避免引起混乱。

----》 事件报文DBC的定义要特别注意,尽量避免二义型定义,即非此即彼的0/1(off/on)定义;
可以添加预留值定义,off/on/**Reserve**  ,Reserve可以作为默认值。
这样即便多个SWC下发同帧不同信号时,因默认值被带到CAN上也不会生效,可以有效避免下发冲突。

 

传送门  -> 返回-AUTOSAR配置与实践总目录

...全文
1043 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

30,664

社区成员

发帖
与我相关
我的任务
社区描述
就等你来冒个泡~
社区管理员
  • 灌水乐园
  • 社区助手
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

版主:

社区助手

 

试试用AI创作助手写篇文章吧