程序员社区

AUTOSAR网络管理

了解如何测试AutoSar网络管理之前,先要了解什么是AutoSar网络管理

AutoSar网络管理

什么是AutoSar

Automotive Open System Architecture,汽车开放系统架构,由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,致力于制定汽车电子软件标准的联盟

AutoSar定义真实ECU里的软件组件里有一个模块是网络管理模块Network Management

AUTOSAR网络管理插图

这个网络管理模块控制着网络状态迁移,那网络状态有哪些,如何迁移呢?

AutoSar网络管理状态图

名词解释

  • HVI/LVI

高/低电压

  • communication request

通信请求,指的是KL15 on,或者是active diagnostic session

  • NM/Application

NM是网络管理消息,Application是应用消息

ECU是面向信号的,当信号值发生改变,或者信号循环时间到达时,就会把信号所在的消息发出去

ECU向外发出去的消息有两种:

一种是网络管理消息,用来承载网络管理状态信息,只有一条

另一种是应用消息,用来承载ECU的其他状态,比如正在播放的FM/AM频道、屏幕亮度等,有多条

AutoSar网络管理有三种模式

  • Bus Sleep Mode
  • Network Mode
  • Prepare Bus Sleep Mode

而Network Mode又分为

  • Repeat Message
  • Normal Operation
  • Ready Sleep

Bus Sleep Mode

  • 睡眠模式
  • 此状态下,ECU不会接收到来自其他ECU的任何一条消息,包括应用消息,它也不会发送任何一条消息
  • 高/低电压回来后,ECU一定是从Bus Sleep Mode开始的

Bus Sleep Mode -> Repeat Message

ECU接收到任何一条message,都会唤醒网络到Repeat Message状态,从Bus Sleep Mode到Repeat Message的时间为Tbegin

Repeat Message

  • 重复报文状态
  • 此状态下,ECU会周期性循环发送网络管理消息N次,时间间隔为Tnm-cycle,那么ECU待在Repeat Message的时间为Tnm-cycle x N,也就是Tactive_min
  • 此状态下,也会发送应用消息

Repeat Message -> Normal Operation

当N条NM message发完,也就是Tactive_min时间到达时,如果此时ECU接收到communication request(kl15on or active diagnostic session),就会进入Normal Operation,这里有个注意点,在Tactvie_min时间内,即使收到了kl15 on,也不会立刻进入Normal Operation,而是要等待Tactive_min时间到达时,再来看kl15是否on

Normal Operation

  • 常规操作状态
  • 此状态下,ECU会周期性循环发送网络管理消息,间隔时间Tnm-cycle,也会循环发送应用消息
  • 此状态下,ECU一直处于communication request,即kl15 on or active diag session

Repeat Message -> Ready Sleep

当Repeat Message的Tactive_min结束时,如果ECU不是处于communication request,那么ECU的网络状态会迁移到Ready Sleep Mode,Repeat Message必须发完N条NM message才会根据communication request的状态来决定是切到Normal Operation还是Ready Sleep Mode

Ready Sleep Mode

  • 准备睡眠状态
  • 此状态下,ECU不会发出NM message,但是会发送应用消息,此状态的维持时间为Ttimeout

Ready Sleep Mode -> Ready Sleep Mode

在Ready Sleep Mode状态下,如果ECU接收到来自其他ECU的网络管理消息,那么ECU会重置Ttimeout,Ready Sleep Mode会一直循环,如果接收到应用消息,则不会

Ready Sleep Mode -> Normal Operation

在Ready Sleep Mode状态下,如果ECU接收到communication request,网络状态会立刻切到Normal Operation

Normal Operation -> Ready Sleep Mode

Normal Operation状态下,如果ECU不再有communication request,会立刻迁移到Ready Sleep Mode

Ready Sleep Mode -> Prepare Bus Sleep Mode

ECU进入Ready Sleep Mode后会维持Ttimeout,在此期间只要没有接收到外部的网络管理消息和communication request,则Ttimeout后就会进入Prepare Bus Sleep Mode

Prepare Bus Sleep Mode

  • 预睡眠模式
  • 此状态下,ECU不会发送任何消息包括网络管理消息,持续时间TwaitBusSleep

Prepare Bus Sleep Mode -> Repeat Message

在TwaitBusSleep时间内,如果ECU接收到外部的网络管理消息或communication request,就会立刻从Prepare Bus Sleep Mode迁移到Repeat Message,应用消息并不能让ECU从Prepare Bus Sleep Mode切换到Repeat Message

Prepare Bus Sleep Mode -> Bus Sleep Mode

在TwaitBusSleep时间内,ECU没有接收到外部的NM message和communication request,那么即使有收到应用消息,ECU还是会进入Bus Sleep Mode

网络管理消息

NM message,网络管理消息,是ECU在Repeat Message和Normal Operation状态会发出的一条报文,用来记录ECU的网络状态

网络管理消息,会记录网络状态迁移、唤醒方式、激活条件、ECU状态等

网络状态迁移

  • Bus Sleep Mode -> Repeat Message
  • Prepare Bus Sleep Mode -> Repeat Message
  • Repeat Message -> Normal Operation
  • Ready Sleep -> Normal Operation

为什么NM message只能记录这四种状态迁移?

因为只有Repeat Message和Normal Operation这两个状态有NM message发出,而进入这两个状态总共有四个迁移方式

唤醒方式

有硬线唤醒和总线唤醒,一般都是总线唤醒,Bus-wakeup

激活条件

kl15 on,active diagnostic session,Tactive_min

ECU状态

包括屏幕on/off、SWDL升级、Dimming屏幕亮度、power状态等


赞(0) 打赏
未经允许不得转载:IDEA激活码 » AUTOSAR网络管理

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区