0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AUTOSAR架构中CanNm模块的问题解答

832065824 来源:汽车电子嵌入式 作者:汽车电子嵌入式 2022-11-28 10:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

CanNm模块配置完成后,基本不需要和其他非标准AUTOSAR模块进行交互(除了user data数据的使用),但是在深入理解CanNm模块是发现一下几个问题还是比较疑惑:

(1)Dcm通过BswM控制CanNm报文的Enable和Disable后会影响CanNm状态机吗?

(2)谁来触发CanNm状态机跳转,什么条件下怎么触发?

(3)CanNm怎么知道是主动(本地)唤醒还是被动(NM网络)唤醒?

本文就来回答这些问题。

AUTOSAR模式管理-BswM模块详细介绍

AUTOSAR模式管理-EcuM Sleep and UP详解

AUTOSAR 通信服务 - NM概念详解

正文

1.网络管理基本概念

2.CanNm和BswM模块交互

2.1 BswNMControl配置容器

dd96acca-6ea7-11ed-8abf-dac502259ad0.png

ddc78598-6ea7-11ed-8abf-dac502259ad0.png

BswM模块的BswMAction配置容器下的BswNMControl配置容器可以配置enable或者disable一路Can网络管理报文的发送,通常这个功能需求在DCM模块的0x28服务开关应用/网络管理通信中会使用到。

ddeab64e-6ea7-11ed-8abf-dac502259ad0.png

BswMComMNetworkHandleRef参数属于BswNMControl配置容器下的配置项,应用此路网络管理在Com下的通道号。

de1cbd7e-6ea7-11ed-8abf-dac502259ad0.png

de40b9ea-6ea7-11ed-8abf-dac502259ad0.png

CanNm模块提供CanNm_DisableCommunication和CanNm_EnableCommunication两个函数接口用来开关CanNm报文的发送,如果在BswM模块中配置了BswNMControl配置容器,且有对应的LE逻辑表达式能够触发这个Action,那么就会完成BswM和CanN的交互。

2.2 BswMNmIfCarWakeUpIndication

de67283c-6ea7-11ed-8abf-dac502259ad0.png

de9e70a8-6ea7-11ed-8abf-dac502259ad0.png

de9e70a8-6ea7-11ed-8abf-dac502259ad0.png

debe8384-6ea7-11ed-8abf-dac502259ad0.png

BswM的BswMModeRequestPort配置容器中提供了BswMNmIfCarWakeUpIndication模式请求端口来通过NMif --> CanNm来获取网络管理唤醒状态。这个MRP在实际应用中很少用到。

3.ComM模块通过NMIf模块和CanNm模块交互

3.1 本地唤醒源主动唤醒

dedd1574-6ea7-11ed-8abf-dac502259ad0.png

df0368f0-6ea7-11ed-8abf-dac502259ad0.png

主动唤醒:来自模块内部对网络的请求,比如KL15唤醒。主动唤醒节点的网络管理报文必须先于应用报文发送。

ECU上电或唤醒后,如果检测到为本地唤醒或其他条件需要ECU进行主动唤醒时,用户调用ComM接口ComM_RequestComMode()请求ComM COMM_FULL_COMMUNICATION以使能通信,ComM在接收到请求后,调用 CanSM_RequestComMode()请求CanSM将相应的Can通道状态切换为FULLCOM,CanSM再通过CanIf切换控制器收发器状态,调用如果该通道的NMVariant为FULL,调用NM接口 Nm_NetworkRequest(),NM再调用CanNm接口 CanNm_NetworkRequest()请求进入主动唤醒。ComM进入COMM_FULL_COMMUNICATION后,可通过BSWM或手动方式,启动相应通道的Com IPdu Groups,通信开始。

3.2 网络唤醒源被动唤醒

df4c16d6-6ea7-11ed-8abf-dac502259ad0.png

df6a7f5e-6ea7-11ed-8abf-dac502259ad0.png

df8f63be-6ea7-11ed-8abf-dac502259ad0.png

被动唤醒:来自总线上其他模块对该模块的网络请求。被动唤醒的节点,发送网络管理报文和应用报文的先后顺序无特别要求。

ECU上电或唤醒后,如果检测到为远程唤醒或其他添加需要ECU进行passive唤醒时,调用 ComM_EcuM_WakeUpIndication()(如果ECUM中的wakeup source绑定了ComM通道,则在调用EcuM_CheckWakeup()时自动调用),如果通道的NMVariant为FULL或PASSIVE,ComM调用 Nm_PassiveStartUp()请求NM进行passive唤醒,并调用 CanSM_RequestComMode()请求CanSM将相应的Can通道状态切换为FULLCOM。

3.3 网络休眠

dfb63bba-6ea7-11ed-8abf-dac502259ad0.png

dfdaef14-6ea7-11ed-8abf-dac502259ad0.png

当某个网络通道需要休眠时,调用ComM接口ComM_RequestComMode()请求COMM_NO_COMMUNICATION以释放通信请求,COMM在接收到请求后,调用 CanSM_RequestComMode()请求CanSM将相应的Can通道状态切换为NOCOM,如果该通道的NMVariant为FULL,调用NM接口Nm_NetworkRelease()请求NM进入sleep,NM在等待总线同步休眠后(其他节点都停发了网络管理报文准备休眠),进入Bus-Sleep状态,反馈给ComM,ComM进入NOCOM状态,如果BswM中配置了ComM模块状态为NO COMMUNICATION就执行ECUM下电动作时,此时ECUM就可以启动下电流程。

4.问题回答

问题1:Dcm通过BswM控制CanNm报文的Enable和Disable后会影响CanNm状态机吗?

答:AUTOSAR网络管理规范中没有明确说明这个问题。不过在阅读源码后,发现 CanNm_DisableCommunication和 CanNm_EnableCommunication不会影响CanNm状态机,只是设置一个标志用来控制NM报文的发送。

问题2:谁来触发CanNm状态机跳转,什么条件下怎么触发?

答:ComM模块获取到EcuM上报的被动唤醒事件后通过Nm_PassiveStartUp来被动唤醒NM。ComM收到用户的网络通信请求后通过Nm_NetworkRequest来主动唤醒NM。ComM收到用户的网络通信请求后通过Nm_NetworkRelease释放NM。

问题3:CanNm怎么知道是主动(本地)唤醒还是被动(NM网络)唤醒?

答:主动唤醒一般都是本地Local唤醒,来自ComM的用户(User)调用ComM_ModeRequest请求网络唤醒。被动唤醒一般都是NM网络唤醒,来自EcuM调用ComM_EcuM_WakeUpIndication上班的唤醒事件。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    9449

    浏览量

    156153
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66850

原文标题:AUTOSAR架构下关于CanNm的几点思考

文章出处:【微信号:汽车电子嵌入式,微信公众号:汽车电子嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    四探针法测电阻的原理与常见问题解答

    法甚至被用作校正其他方法的基准。下文,Xfilm埃利将系统阐述四探针法的基本原理,并对实际应用遇到的常见问题进行详细解答。四探针法测电阻的基本原理/Xfilm1
    的头像 发表于 12-04 18:08 106次阅读
    四探针法测电阻的原理与常见<b class='flag-5'>问题解答</b>

    特瑞仕电压检测器网络研讨会问题解答

    11月14日举办了电压检测器(复位IC)网络研讨会。现将研讨会答疑环节各位提出的问题及解答内容予以公开。
    的头像 发表于 11-26 09:28 380次阅读

    先收藏系列 工业相机的六问六答!

    工业相机常用问题解答
    的头像 发表于 10-22 09:26 194次阅读
    先收藏系列 工业相机的六问六答!

    晶科能源Tiger Neo 3.0的问题解答(1)

    自晶科Tiger Neo 3.0 产品AI助手上线以来,后台咨询量飙升!看来大家对我们的旗舰产品——Tiger Neo 3.0 充满了好奇与期待。我们认真梳理了大家问得最频繁、最热门的问题,进行解答
    的头像 发表于 08-20 14:09 643次阅读

    从手写代码到AUTOSAR工具链:J1939Tp应用篇

    J1939Tp是我学习AUTOSAR CP诸多BSW模块的起点,其分层架构完美体现了AUTOSAR规范的精髓,掌握J1939Tp有助于深入理解通信(COM)相关
    的头像 发表于 07-10 16:37 4756次阅读
    从手写代码到<b class='flag-5'>AUTOSAR</b>工具链:J1939Tp应用篇

    汽车喇叭气密性检测仪常见问题解答

    在汽车生产和检测环节,汽车喇叭气密性检测仪起着至关重要的作用。以下是一些关于它的常见问题解答。(1)检测仪的精度受哪些因素影响?检测仪的精度主要受环境因素、仪器本身的稳定性以及被测喇叭的特性
    的头像 发表于 06-25 11:52 380次阅读
    汽车喇叭气密性检测仪常见<b class='flag-5'>问题解答</b>

    变频器与传动使用的常见问题解答

    变频器与传动系统作为工业自动化领域的核心设备,其稳定运行直接影响生产效率和设备寿命。以下是针对实际应用中高频问题的系统性解答,结合技术原理与现场经验,为从业者提供实用参考。 一、电机过热问题解析 某
    的头像 发表于 06-10 07:35 434次阅读
    变频器与传动使用的常见<b class='flag-5'>问题解答</b>

    【斯丹麦德电子】常见问题解答:干簧继电器在测试与测量的应用

    电子发烧友网站提供《【斯丹麦德电子】常见问题解答:干簧继电器在测试与测量的应用.pdf》资料免费下载
    发表于 01-20 10:44 0次下载

    SiC模块应用的问题解答

    碳中和背景下,绿色能源市场迎来了诸多机遇。新能源发展已进入全新的阶段,风能、光能作为新能源领域的先锋力量,正在以快速的增长态势推动这场绿色能源革命。
    的头像 发表于 01-16 09:17 1328次阅读

    AUTOSAR通信与网络安全 AUTOSAR通信在车辆的应用

    架构合作伙伴计划,旨在创建并建立一个开放的标准化软件架构,以简化汽车电子控制单元(ECU)的开发和生产。 1. AUTOSAR通信概述 AUTOSAR定义了一个分层的软件
    的头像 发表于 12-17 15:06 1448次阅读

    AUTOSAR通信实现的常见问题

    配置与使用问题 通信协议栈模块理解不足 问题 :开发者可能对AUTOSAR通信协议栈的组成模块(如Com、Dcm、PduR、IpduM、TP、If等)及其功能理解不够深入,导致配置和使用不当。
    的头像 发表于 12-17 15:03 1763次阅读

    AUTOSAR通信堆栈的配置 AUTOSAR通信模块测试方法

    )的开发和生产。通信堆栈是AUTOSAR架构的关键组成部分,负责处理ECU之间的通信。 AUTOSAR通信堆栈的配置 通信模型 :
    的头像 发表于 12-17 15:01 1518次阅读

    AUTOSAR通信框架的优势 AUTOSAR通信实例与应用场景

    AUTOSAR通信框架的优势 AUTOSAR(AUTomotive Open System ARchitecture)是一个全球性的汽车软件架构合作伙伴计划,旨在创建并建立一个开放的标准化软件
    的头像 发表于 12-17 14:58 1721次阅读

    AUTOSAR通信组件介绍 AUTOSAR通信层功能分析

    实现汽车电子控制单元(ECU)的软件设计和开发。这个架构包括多个层,其中通信层是AUTOSAR架构的关键组成部分之一。 1. 通信组件概述 AUT
    的头像 发表于 12-17 14:55 2161次阅读

    AUTOSAR通信协议解析 如何实现AUTOSAR通信

    AUTOSAR(Automotive Open System Architecture)即汽车开放系统架构,该架构支持汽车电子控制单元(ECU)之间的通信,实现了高度模块化和可重用性。
    的头像 发表于 12-17 14:54 3959次阅读