从整车层级到零部件层级的网络管理开发

原创 汽车电子与软件 2024-08-26 07:57



作者 | 窦明佳

出品 | 汽车电子与软件




#01
前  言
  
对于网络管理(Network Management)特别是AUTOSAR 网络管理在行业内大家已经熟知,对于其状态跳转逻辑及睡眠唤醒策略多少都有所了解,但是回到最初的目的,为什么需要网络管理,怎么从整车层级定义那些ECU要做网络管理,AUTOSAR NM协议栈如何实现ECU的休眠/唤醒,以及如何协调域控ECU多路网络管理总线的休眠和唤醒, 希望借助于本文阐述下个人的理解。



#02
什么是AUTOSAR NM  
  

2.1 网络管理状态机  


网络管理即协调网络中的ECU唤醒和睡眠的机制,如下为《AUTOSAR_SWS_CANNetworkManagement》定义的CANNM状态机,其包含如下几种工作模式:

1)Bus Sleep Mode(睡眠模式BSM)

在该模式下ECU通常进入深度睡眠,MCU的供电被断开,只保留唤醒源监测能力;

2)Prepare Bus-Sleep Mode(预睡眠模式-PBM)

节点从网络模式的准备睡眠阶段进入预睡眠模式,将缓存中未发送的应用报文发送,同时进行MCU下电前的准备,从而为进入深度睡眠预留时间;

3)Ready Sleep State(准备睡眠模式-RSS)

当节点不需要再请求网络(Network Request)时,需要进入RSS状态等待网络中其他网络管理节点也进入RSS状态,同时在该状态保持应用报文的收发状态; 
 
4)Normal Operation State(常规运行状态-NOS)

当节点从Repeat Message State超时跳出时,如果需要工作并主动维持网络,则进入NOS状态,并发送网络管理报文进行网路请求;

5)Repeat Message State(重复报文状态-RMS)

当节点从其他模式进入Network Mode时,默认先进入Repeat Message State,同时如果是自己主动唤醒则需要进入网络管理报文快发模式(NM Immediate Transmit State),从而能够快速启动网络,如果ECU是被动唤醒,则需要Repeat Message State中的正常周期发送模式(NM Normal Transmit State)。

                  
图1:AUTOSAR网络管理状态机    

2.2 网络管理报文  


上述网络管理状态机中各状态的切换需要以总线上的网络管理报文为依据,各节点通过发送及接收网络管理报文进行唤醒及网络维持,在《AUTOSAR_SWS_CANNetworkManagement》中网络管理报文的基本格式进行了规定,如下Byte0定义网络管理节点的源地址,在J1939网络中可以和ECU的源地址SA一致,Byte1定义为控制位向量CBV,来表征发送节点的状态,Byte2-Byte7预留给OEM进行自定义,OEM可定义ECU的唤醒原因、保持唤醒原因等,从而便于网络管理异常问题的排查等。


图2:网络管理PDU帧格式示意

                               
图3:控制比特向量

控制比特向量CBV定义

Bit0:Repeat Message Request

  • 0x0:Repeat message state no request

  • 0x1:Repeat message state requested

Bit3: NM Coordinator Sleep Ready Bit

  • 0x0:Start of synchronized shutdown is not requested by main
coordinator    

  • 0x1:Start of synchronized shutdown is requested by main coordinator

Bit4:Active Wakeup Bit(该Bit位的作用我们在下面介绍)  

  • 0x0:Node has not woken up the network(Passive wakeup)

  • 0x1:Node has woken up the network(active wakeup)

Bit6:Partial Network Information(PNI)(局部网络管理使用)

  • 0x0:NM PDU Contains no Partial Network Request Information

  • 0x1:NM PDU contains Partial Network Request Information
         

 



#03
为什么需要网络管理
  
车辆在使用过程中,需要进行上电及下电,下电后车上大部分的部件及ECU电源会通过继电器或MOS等从蓄电池断开(通常由BCM来控制),从而降低整车静态放置的功耗。


图4:整车用电器供电方式

然而随着目前车辆功能的不断增多,比如PEPS、蓝牙钥匙、远程APP控车、迎宾等功能,通常是在车辆下电静态放置时使用,那这些功能相关的控制器是否都应该一直供电呢?通常这些控制器会连接蓄电池常电,但是在车辆下电静态放置时(KL15断开)其进入深度睡眠的低功耗状态,MCU的外设会关闭,MCU也会停止工作,只有SBC/CAN收发器监控车辆的唤醒行为并为MCU供电。 
 
在下电KL15断开ECU已经睡眠后,如果车辆有功能需求,比如驾驶员携带蓝牙钥匙靠近车辆,蓝牙模块在监测到合法钥匙靠近后会激活迎宾灯光,那参与这个功能的BLE(蓝牙主模块)、BCM(车身控制器)、HCM(灯光控制器)等都需要正常工作,那这些ECU如何才能从睡眠状态唤醒并工作呢,有两种方式:

  • 方式1:激活线

用户在携带蓝牙钥匙靠近车辆后,BLE主模块在监测到合法钥匙后,通过激活线将BCM和HCM唤醒,从而让ECU从睡眠状态进入正常工作状态

  • 方式2:通过网络管理

用户携带钥匙靠近车辆后,BLE主模块监测到合法钥匙后,通过发送网络管理报文唤醒BCM、HCM,BCM/HCM识别到网络管理报文后从睡眠状态进入正常工作状态。

虽然上述方式都可以唤醒ECU,但是方式1存在一个重要的问题,上面只是迎宾灯光一个功能,但是车辆在下电后需要激活的功能还有很多,比如远控车窗、远程空调、车辆充电、远程查看车辆状态(胎压、电量)、靠近解锁、远离闭锁、智能补电等,如果都通过激活线来控制ECU休眠和唤醒,那整车的激活线将是错综复杂的(如图5),因此需要在不同的功能场景主动唤醒ECU通过发送网络管理报文把相关的ECU唤醒,从而参与到功能实现活动中,并在无网络需求时释放网络,通过网络管理的机制协调整车各ECU的唤醒及睡眠,只需要通过连接各ECU的总线网路可实现,而无需增加纷繁复杂的激活线。   

                
图5:通过激活线唤醒方式示意
         

 

         

 


#04
如何确定整车那些ECU要做网络管理
  

4.1 第一步:设计整车的电源模式PowerMode  


根据用户使用使用车辆的不同阶段,定义车辆的电源模式,在不同的电源模式下通过控制继电器或者eFuse(采用智能配电)给不同的设备供电,从而保证不同模式下功能的可用。
         

 

   
                      
图6:整车电源模式PowerMode示意

4.2 第二步:制定功能到电源模式的Mapping表  


如下表,定义不同电源模式下功能的可用性


图7:功能到电源模式的Mapping

4.3 第三步:制定功能到ECU的Mapping表  


这一步即在项目的前期制定功能打点表,依据功能逻辑架构及功能分配方案进行功能到ECU的打点: 
   

图8:功能打点表示意

4.4 第四步:进行ECU 到电源模式的打点  


有了第2步功能到电源模式的Mapping表,以及第3步功能到ECU的Mapping表,即可制定ECU到电源模式的Mapping表,此表可基于ECU List添加电源模式相关的列即可实现。

                      
图9:ECU到电源模式PowerMode的Mapping

4.5 第五步:为不同的ECU分配不同的供电终端及唤醒终端  


为ECU分配蓄电池常电终端时主要考虑两类ECU:

  • 第一类:需要在Abandoned模式(车辆)下工作的ECU(如BCM、PEPS等);

  • 第二类:因为工作电流太大不能放在其他供电终端下(如EPS、FAN等),此时其主供电可以接KL30,但是其唤醒终端仍要与Mapping的电源模式相对应;
   
除了上面第二类ECU,第一类接蓄电池常电的ECU通常的唤醒方式即通过网络管理唤醒,由此可确定整车网络拓扑中需要参与网络管理的节点。

                     
图10:自上而下梳理的网络管理ECU示意



#05
AUTOSAR协议栈如何实现ECU休眠唤醒  
  

5.1 唤醒源设置  


首先要根据4.2章节整车Abandoned模式下不同功能场景,梳理ECU的唤醒源,例如对于某ECU节点,从功能场景触发分析其主要的唤醒源有KL15、RTC唤醒及网络管理报文唤醒等;在硬件设计上通常会将ECU自身的本地唤醒源接SBC,当有唤醒输入时SBC即可通过SW等输出MCU需要的VDD及其他如ADC_Ref电源。

    
图11:ECU唤醒硬件架构示意
         

 

对于网络管理报文唤醒,需要CAN的收发器支持报文唤醒功能,常见的带唤醒的收发器有TJA1043 、TJA1145,而TJA1043不支持特定帧唤醒,而TJA1145则可以通过SPI配置特定帧唤醒和PNC功能;因而对于CAN唤醒而言也分为两种:一种是经过收发器验证后就是给定的ID和数据唤醒的(validated),一种是不确定的待确认是不是接收到唤醒帧从而导致唤醒的(pending)。
         

 


图12:ECU唤醒类型

对于CAN Trcv而言,不管是TJA1145 还是TJA1043都需要支持唤醒源设置,并配置唤醒源,如下图所示为TJA1145的CANTrcv配置界面

   

图13:CANTrcv配置界面示意

5.2 AUTOSAR NM协议栈如何实现唤醒和休眠  


如下为AUTOSAR协议栈中NM相关模块,包括CANTrcv、CANIf、CANNM、NM、ComM等。


图14:AUTOSAR协议栈中NM相关模块
   

5.2.1 上电过程  



图15:ECU上电过程

上电后CanTrcv初始化时判断之前使能了CAN唤醒且此时收发器的寄存器中的CAN唤醒位是置位的,则调用EcuM_SetEvent通知到EcuM此时有唤醒信号,EcuM模块调用ComM_EcuM_WakeUpIndication通知到ComM模块,随后ComM将对应通道置为COMM_FULL_COMMUNICATION模式,并协调Nm和CanNm模块进入对应模式。

5.2.2 下电过程  


下电条件的判断可以通过BswM模块或者手写代码当满足一定条件时调用EcuM提供的函数(如EcuM_GoDown),再通过EcuM模块完成下电流程。

  • Full模式:   

对于Full模式而言,当控制器需要下电时,就调用ComM的ComM_RequestComMode函数将其置为COMM_NO_COMMUNICATION模式即可,随后ComM会调用Nm模块、CanSM模块和Dcm模块,分别实现Nm进入Sleep、整个通道的通信关闭及关闭Dcm的接收功能.另外,在下电前EcuM模块需要调用EcuM_EnableWakeupSources(需要用户实现,可以调用CanIf_SetTrcvWakeupMode实现休眠前的CAN唤醒报文的一些设置)。

  • Passive模式

对于Passive模式而言,当接收不到网络管理报文时(timeout),CanNm首先进入Prepare Bus-Sleep Mode状态,此时CanNm通过Nm模块的用户回调(NmStateChangeIndCallback)告知到用户,可在用户函数中调用CanSM_RequestComMode函数设置相应通道的模式为NO_COMMUNICATION。和Full模式一样,下电前需要设置唤醒源。


图16:Passive模式下电流程    



#06
域控多路网络管理总线的协调
  

图17:多路网络管理总线连接示意

如上图所示的拓扑具有以下协调方法。GW 1已经将网络1和网络2上的信道配置为主动协调信道,GW 2连接网络2的信道配置为被动协调信道,但是连接网络3的信道配置为主动协调信道,GW 3连接网络3的信道被配置为被动协调信道,其连接到网络4的信道,是主动协调信道。当参数NmCoordinatorSyncSupport设置为TRUE时,协调嵌套自总线的功能可用。参数NmActiveCoordinator表明NM协调器是否在此通道上以主动方式协调器(主动协调通道)NmActiveCoordinator = TRUE,或以被动方式协调(被动通道)NmActiveCoordinator = FALSE。在其被动协调的信道上,仅当节点具有未决的网络管理请求或者由Nm协调器主动协调连接的网络没有准备好睡眠时,NM协调器才发送NM消息。这防止了在同一信道的2个NM协调器在它们准备睡眠时发送NM消息,并因此保持总线唤醒。如果没有这种机制,就不可能检测是否有至少一个其他节点是活动的。NM协调器在其主动协调通道上,应通过Nm_SetSleepReadyBit将NM消息中的NMcoordinatorSleepReady位设置为值1,当NM协调集群的所有节点准备睡眠(RemoteSleepIndication),且当NmSynchronizingNetwork使能,相应通道上收到一个Nm_SynchronizationPoint()调用,NM协调集群的所有通道配置为NmActiveCoordinator == TRUE,且NmBusType配置不为NM_BUSNM_LOCALNM。包含被动协调信道的节点不需要同步点,因为它们已经被它们的主动协调器的睡眠就绪位同步。如果被动协调通道上接收到Nm_CoordReadyToSleepIndication,则NmCoordinator应在其所有主动协调通道上通过API调用Nm_SetSleepReadyBit,将NMCoordinatorSleepReady位设置为SET(1)。 
   
如果被动协调通道上接收到Nm_CoordReadyToSleepCancellation,则NmCoordinator应在其所有主动协调通道上通过API调用Nm_SetSleepReadyBit,将NMCoordinatorSleepReady位设置为UNSET(0)。即NM协调器在其被动协调通道上不设置睡眠就绪位,但转发其从被动协调通道上收到的睡眠就绪位的状态的改变到它的主动协调通道上。在NM协调器的主动协调信道上,不调用Nm_CoordReadyToSleepIndication和NM_CoordReadyToSleepCancellation。

在睡眠就绪位被请求SET(1)后,NM协调器应开始协调关机。

NmGlobalCoordinatorTime应至少设置为关闭所有协调网络所需的最大时间。这包括所有嵌套连接。如下图所示:   

                
图18:NM协调器协调多路睡眠

当协调关闭因任何原因被中断,NM协调器应在其主动协调通道上通过API调用Nm_SetSleepReadyBit将NMCoordinatorSleepReady设置位UNSET(0)。



#07
总  结

AUTOSAR网络管理通过成熟的机制协调网络上ECU的睡眠和唤醒,对于OEM来说需要从整车层级功能出发制定网络拓扑中参与网络管理的节点,同时制定网络管理的规范,明确状态机中各时间参数以及通信矩阵中NM报文从而输入给Tier1进行开发,在零部件开发层级供应商可通过AUOTSAR工具配置网络管理相关模块,如CANNM、NM等,并通过集成编译实现网络管理的功能。以上是我对AUTOSAR NM的浅显理解,不免会有错误,请各位同行指正。   



添加微信,加入作者交流群

备注公司+姓名(仅限技术专业人士)


/ END /


       

 

  

汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论
  • 故障现象一辆2017款东风风神AX7车,搭载DFMA14T发动机,累计行驶里程约为13.7万km。该车冷起动后怠速运转正常,热机后怠速运转不稳,组合仪表上的发动机转速表指针上下轻微抖动。 故障诊断 用故障检测仪检测,发动机控制单元中无故障代码存储;读取发动机数据流,发现进气歧管绝对压力波动明显,有时能达到69 kPa,明显偏高,推断可能的原因有:进气系统漏气;进气歧管绝对压力传感器信号失真;发动机机械故障。首先从节气门处打烟雾,没有发现进气管周围有漏气的地方;接着拔下进气管上的两个真空
    虹科Pico汽车示波器 2025-01-08 16:51 107浏览
  • 1月7日-10日,2025年国际消费电子产品展览会(CES 2025)盛大举行,广和通发布Fibocom AI Stack,赋智千行百业端侧应用。Fibocom AI Stack提供集高性能模组、AI工具链、高性能推理引擎、海量模型、支持与服务一体化的端侧AI解决方案,帮助智能设备快速实现AI能力商用。为适应不同端侧场景的应用,AI Stack具备海量端侧AI模型及行业端侧模型,基于不同等级算力的芯片平台或模组,Fibocom AI Stack可将TensorFlow、PyTorch、ONNX、
    物吾悟小通 2025-01-08 18:17 53浏览
  •  在全球能源结构加速向清洁、可再生方向转型的今天,风力发电作为一种绿色能源,已成为各国新能源发展的重要组成部分。然而,风力发电系统在复杂的环境中长时间运行,对系统的安全性、稳定性和抗干扰能力提出了极高要求。光耦(光电耦合器)作为一种电气隔离与信号传输器件,凭借其优秀的隔离保护性能和信号传输能力,已成为风力发电系统中不可或缺的关键组件。 风力发电系统对隔离与控制的需求风力发电系统中,包括发电机、变流器、变压器和控制系统等多个部分,通常工作在高压、大功率的环境中。光耦在这里扮演了
    晶台光耦 2025-01-08 16:03 84浏览
  • 职场是人生的重要战场,既是谋生之地,也是实现个人价值的平台。然而,有些思维方式却会悄无声息地拖住你的后腿,让你原地踏步甚至退步。今天,我们就来聊聊职场中最忌讳的五种思维方式,看看自己有没有中招。1. 固步自封的思维在职场中,最可怕的事情莫过于自满于现状,拒绝学习和改变。世界在不断变化,行业的趋势、技术的革新都在要求我们与时俱进。如果你总觉得自己的方法最优,或者害怕尝试新事物,那就很容易被淘汰。与其等待机会找上门,不如主动出击,保持学习和探索的心态。加入优思学院,可以帮助你快速提升自己,与行业前沿
    优思学院 2025-01-09 15:48 47浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2025-01-09 09:58 43浏览
  • 在过去十年中,自动驾驶和高级驾驶辅助系统(AD/ADAS)软件与硬件的快速发展对多传感器数据采集的设计需求提出了更高的要求。然而,目前仍缺乏能够高质量集成多传感器数据采集的解决方案。康谋ADTF正是应运而生,它提供了一个广受认可和广泛引用的软件框架,包含模块化的标准化应用程序和工具,旨在为ADAS功能的开发提供一站式体验。一、ADTF的关键之处!无论是奥迪、大众、宝马还是梅赛德斯-奔驰:他们都依赖我们不断发展的ADTF来开发智能驾驶辅助解决方案,直至实现自动驾驶的目标。从新功能的最初构思到批量生
    康谋 2025-01-09 10:04 55浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球中空长航时无人机产值达到9009百万美元,2024-2030年期间年复合增长率CAGR为8.0%。 环洋市场咨询机构出版了的【全球中空长航时无人机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球中空长航时无人机总体规模,包括产量、产值、消费量、主要生产地区、主要生产商及市场份额,同时分析中空长航时无人机市场主要驱动因素、阻碍因素、市场机遇、挑战、新产品发布等。报告从中空长航时
    GIRtina 2025-01-09 10:35 58浏览
  • 在当前人工智能(AI)与物联网(IoT)的快速发展趋势下,各行各业的数字转型与自动化进程正以惊人的速度持续进行。如今企业在设计与营运技术系统时所面临的挑战不仅是技术本身,更包含硬件设施、第三方软件及配件等复杂的外部因素。然而这些系统往往讲究更精密的设计与高稳定性,哪怕是任何一个小小的问题,都可能对整体业务运作造成严重影响。 POS应用环境与客户需求以本次分享的客户个案为例,该客户是一家全球领先的信息技术服务与数字解决方案提供商,遭遇到一个由他们所开发的POS机(Point of Sal
    百佳泰测试实验室 2025-01-09 17:35 54浏览
  • 在智能网联汽车中,各种通信技术如2G/3G/4G/5G、GNSS(全球导航卫星系统)、V2X(车联网通信)等在行业内被广泛使用。这些技术让汽车能够实现紧急呼叫、在线娱乐、导航等多种功能。EMC测试就是为了确保在复杂电磁环境下,汽车的通信系统仍然可以正常工作,保护驾乘者的安全。参考《QCT-基于LTE-V2X直连通信的车载信息交互系统技术要求及试验方法-1》标准10.5电磁兼容试验方法,下面将会从整车功能层面为大家解读V2X整车电磁兼容试验的过程。测试过程揭秘1. 设备准备为了进行电磁兼容试验,技
    北汇信息 2025-01-09 11:24 65浏览
  • 一个真正的质量工程师(QE)必须将一件产品设计的“意图”与系统的可制造性、可服务性以及资源在现实中实现设计和产品的能力结合起来。所以,可以说,这确实是一种工程学科。我们常开玩笑说,质量工程师是工程领域里的「侦探」、「警察」或「律师」,守护神是"墨菲”,信奉的哲学就是「墨菲定律」。(注:墨菲定律是一种启发性原则,常被表述为:任何可能出错的事情最终都会出错。)做质量工程师的,有时会不受欢迎,也会被忽视,甚至可能遭遇主动或被动的阻碍,而一旦出了问题,责任往往就落在质量工程师的头上。虽然质量工程师并不负
    优思学院 2025-01-09 11:48 79浏览
  • HDMI 2.2 规格将至,开启视听新境界2025年1月6日,HDMI Forum, Inc. 宣布即将发布HDMI规范2.2版本。新HDMI规范为规模庞大的 HDMI 生态系统带来更多选择,为创建、分发和体验理想的终端用户效果提供更先进的解决方案。新技术为电视、电影和游戏工作室等内容制作商在当前和未来提供更高质量的选择,同时实现多种分发平台。96Gbps的更高带宽和新一代 HDMI 固定比率速率传输(Fixed Rate Link)技术为各种设备应用提供更优质的音频和视频。终端用户显示器能以最
    百佳泰测试实验室 2025-01-09 17:33 55浏览
  • 「他明明跟我同梯进来,为什么就是升得比我快?」许多人都有这样的疑问:明明就战绩也不比隔壁同事差,升迁之路却比别人苦。其实,之间的差异就在于「领导力」。並非必须当管理者才需要「领导力」,而是散发领导力特质的人,才更容易被晓明。许多领导力和特质,都可以通过努力和学习获得,因此就算不是天生的领导者,也能成为一个具备领导魅力的人,进而被老板看见,向你伸出升迁的橘子枝。领导力是什么?领导力是一种能力或特质,甚至可以说是一种「影响力」。好的领导者通常具备影响和鼓励他人的能力,并导引他们朝着共同的目标和愿景前
    优思学院 2025-01-08 14:54 93浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦