打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
AUTOSAR CAN网络管理
userphoto

2023.11.18 安徽

关注

本篇文章转自知乎的Pete白世达,作者利用学生宿舍作息模型类比到AutoSAR CAN网络管理,生动形象而准确,非常精彩的一篇文章。

原文链接:从零学懂CAN总线(5)- CAN网络管理


1 前言

网络管理是整车控制很重要的功能,使网络中的ECU节点有序地睡眠和唤醒。为了比较形象的说明汽车CAN网络管理状态机,本文以学生宿舍作息管理为例做简要说明。

2 学生宿舍作息模型

设某学生宿舍有N个同学,作息规定:
1)大家同时醒来;2)大家同时睡着;
3宿舍里新搬来一人或搬走一人后,也不影响其他人按规定1)和2)作息。
那么有什么方法能实现该作息规定呢?最基础的思路是:
  • 管理员模型
  1. 选举一个同学当寝室长;
  2. 寝室长负责控制寝室中的灯;
  3. 寝室长一关灯,大家一起开始睡觉,大概10分钟后一起睡着;
  4. 寝室长一开灯,大家一起醒来。
这个方法挺简单,但是有约束:
  1. 寝室长必须永远在,因为只有他才能开关灯。他不在就没人开关灯,那么其他人就不能正常作息;
  2. 寝室长必须第一个醒来,他不醒来就没人开灯;
  3. 寝室长必须最后一个睡着,否则关灯后有一个人迟迟不入睡,他不知道。
可见,管理员模型存在 风险集中(i)伪同步(ii,iii)两个缺点。     
另外一种模型,采用与AutoSAR CAN网络管理一样的思路,称为独立模型
  • 独立模型,即
  1. 各人床头放一盏床头灯。
  2. 各人只能控制自己床头灯“开”和“关”。
  3. 各人能看到其他人床头灯“开”和“关”的状态。
  4. 只要1个人的床头灯是开的,房间就是亮的。
  5. 只有所有人的床头灯是关的,房间才变黑暗。
  6. 当房间黑暗时,只要有1个人的床头灯亮,所有人都要醒来。
  7. 当1个人准备睡觉时他就关掉自己的床头灯。
  8. 只要房间是亮的,所有人都不会睡着,即使他已经躺在床上。
  9. 只要房间变黑暗,10分钟后所有人都会睡着。
其中,第f条保证同时醒来,同时也是对管理员模型舍长风险的分解。即任何人都能叫醒其它人。第g~i条保证同时睡着。
关于同步睡眠,其方法如下图示意:假设有三个同学A,B,C,他们按顺序关灯。关灯后,他们只是躺下,眼睛还是睁开的。这时就一直看房间还是不是亮着。只要亮着,就说明有人还没睡,那就等待。直到C关灯躺下后,房间变黑。大家才集体闭眼睡觉,10分钟后一起睡着。

我们发现从最后一个人关灯到集体睡着的时间是固定的,而第一个人关灯到最后一个人关灯的时间是不固定的,该时间就是网络休眠的最大延迟时间。    

关于同步唤醒,其方法如下图示意:任意一个同学(假设同学B)开灯,大家就同时起床。但每个人起床时间或许不一样,有的快有的慢。所以是要规定一个最快时间,比如5分钟。在这5分钟内,必须要让床头灯开着,目的是让其他同学有时间看到自己的确被叫起来了。因为起床后就是自由活动了,或去教室,或呆在宿舍,或把灯一关坐在床上睁大眼睛看天花板,反正至少同学B的灯一直开着你就不能闭眼,哪怕今天你在床上干坐一天。

因此我们可以总结出作息管理状态机,如下图。

该状态机和AutoSAR CAN网络管理状态机基本一致,接下来再看AutoSAR CAN网络管理。

3 AUTOSAR CAN网络管理  

AUTOSAR CAN网络管理与上面的寝室作息管理的独立模型一样,是一种无中心式的网络管理,网络中的每个节点都依赖于自己和别人的网络管理报文(NM PDU)来实现通信的睡眠和唤醒。
CAN NM为ECU的网络管理定义了三种模式:
1. Bus-Sleep Mode
2. Prepare Bus-Sleep Mode    
3. Network Mode
最后的Network Mode又分为三个状态:
1. Repeat Message State
2. Normal Operation State
3. Ready Sleep State
常规CAN网络管理状态机如下图,对应寝室作息状态机的状态也标注了。
   
CAN网络管理的必要性:
1.在没有通信需求的时候睡眠,节约电池的能量。
2.排除集中式管理员模型的风险。
3.保证所有节点同步进入BusSleep模式。
上面1、2两点很好理解,第3点稍微解释下:
通常情况下异步休眠也没什么问题,但特殊情况下,会存在隐患。比如节点A已经休眠了,节点B还没有休眠,在这个短时间内钥匙又打开了,那对于节点A是一个新的循环,对节点B还处于原来的循环,这样ECU故障管理的驾驶循环计数值就不一致了。   
综上所述,ECU网络管理的实现的核心就是实现这个状态机,在AUTOSAR中,这些状态之间的跳变就是由AUTOSAR定义的各种接口函数实现的。

4 参考文献

  • 《AUTOSAR_SWS_CANNetworkManagement.pdf》
  • 《AutoSar CAN网络管理状态机理解》


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Autosar网络管理:节点外发第一帧网络管理报文处理策略,再说一次
学校宿舍管理制度
AUTOSAR网络管理 【转自smartsar】
我用一晚上时间给女朋友讲懂CAN总线的AUTOSAR网络管理
AUTOSAR CanNm介绍
科普系列:AUTOSAR与OSEK网络管理比较(上)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服