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

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

3天内不再提示

AUTOSAR架构下CanNM User Data的概念及配置

832065824 来源:汽车电子嵌入式 作者:汽车电子嵌入式 2022-12-06 10:04 次阅读

前言

CanNm模块配置完成后,基本不需要和其他非标准AUTOSAR模块进行交互,但是User Data的使用可以通过SWC-->RTE-->COM方式使用,也可以通过CDD直接Set/Get User Data的方式使用,在实际配置的时候还是遇到了几个困惑的问题:

(1)CanNm的User Data可以通过CDD和COM模块同时使用吗?

(2)CanNmUserDataTxPdu配置容器里面的CanNmTxUserDataPduRef配置参数引用的PDU和CanNmTxPdu配置容器里面的CanNmTxPduRef配置参数引用的PDU是同一个PDU吗?

(3)DBC文件包含NM Rx PDU和NM Tx PDU时导入AUTOSAR配置工具后会在EcuC模块自动生成全局NM Rx和NM Tx的PDU(Global PDU)应用参数,但是不会生成CanNmTxUserDataPduRef引用的配置参数,也不会生成Com2CanNm的路由表信息,这些该怎么配置?

(4)CanNm User Data数据在SWC-->Rte-->Com-->PduR-->CanNm模块间是怎样完成数据交互的?

本文就先介绍CanNM User Data的概念及配置,然后来回答这些问题。

正文

1.CanNm user data概念

46be8cf8-74f3-11ed-8abf-dac502259ad0.png

CanNm发送(Nm Tx)帧是8字节数据帧,标准AUTOSAR CAN网络管理发送帧只使用了Byte 0和Byte 1,Byte 0-Byte 7用户可以根据需求自定义使用。

Note: 一般用CanNm发送报文的Byte0-Byte7存储和网络管理相关的唤醒源信息(IGn,四门两盖等本地唤醒信号)。

AUTSOSAR规范两种访问CanNm User Data方式:

(1)CDD直接访问。CDD使用标准接口CanNm_SetUserData和CanNm_GetUserData来设置和获取CanNm中User Data数据。

46dc0580-74f3-11ed-8abf-dac502259ad0.png

46f37562-74f3-11ed-8abf-dac502259ad0.png

(2)SWC->RTE->COM访问。Com模块中配置发送CanNm User Data的ComIpdu,IPDU中包含用户自定义的Signal,SWC和Com Signal之间进行Pport-Rport连接产生RTE数据读写接口,SWC通过RTE接口Write Signal,Com模块将Signal组包到CanNm User Data所在的IPDU。PDUR模块的路由表中有Com to CanNm的路由表信息,CanNm_MainFunction会在准备发送CanNm Tx报文的时候调用PduR_CanNmTriggerTransmit-->Com_TriggerTransmit以Trigger方式从Com模块获取到CanNm User Data,然后填充到CanNm Tx报文的byte 0-->Byte 7完成user data的获取与发送。

2.CanNm user data配置

2.1CDD方式访问CanNm user data

CanNmGlobalConfig配置容器里的CanNmComUserDataSupport配置参数需要配置为False,CanNmUserDataEnabled配置参数需要配置为True,不能配置CanNmUserDataTxPdu这个配置容器。

4716745e-74f3-11ed-8abf-dac502259ad0.png

473fea3c-74f3-11ed-8abf-dac502259ad0.png

475cd93a-74f3-11ed-8abf-dac502259ad0.png

NmGlobalConfig配置容器里的NmComUserDataSupport配置参数需要配置为False,NmUserDataEnable配置参数配置为True。

2.2 ASW方式访问CanNm user data

基础知识:数据在CAN通信协议栈各层间都是以PDU(Protocol Data Unit)形式传输的,为了将各层PDU关联起来,则需要定义全局PDU(Global PDU)。由于全局PDU不属于任何一个标准BSW模块,所以AUTOSAR提出了一个EcuC模块来收集一些配置信息。

477a5ba4-74f3-11ed-8abf-dac502259ad0.png

对于一个发送PDU_xxx,路由信息如果是从Com-->PDUR->CanIf的话,在我们导入DBC文件到AUTOSAR配置工具(ISOLAR或Davinci)的时候,配置工具会自动在EcuC产生PDU_xxx_Com2PduR和PDU_xxx_PduR2CanIf的全局PDU引用信息,然后同时产生以下配置信息:

1)在Com模块的ComIPdus配置容器中的具体PDU_xxx这个ComIpdu会引用PDU_xxx_Com2PduR。

2)在PduR模块的路由容器PduRRoutingPaths中会产生一个Dest引用PDU_xxx_PduR2CanIf且Src引用PDU_xxx_Com2PduR的路由信息。

3)在CanIf模块的CanIfTxPduCfg发报文配置容器中PDU_xxx会引用PDU_xxx_PduR2CanIf。

这样就自动完成发送源(Src)Com经过PduR(路由信息,Src to Dest)路由到CanIf(Dest)的报文配置过程。

然后回到今天这个主题的关键问题:对于CanNm Rx PDU和Tx PDU因为没有经过PDUR路由的需求,而是CanNm<-->CanIf经过CanIf收发CanNm报文,这样在EcuC模块只会存在一个xxx_NM_CanNm2CanIf和一个CanIf2CanNm全局PDU的引用信息。但是我们要是使用COM模块来访问CanNm的User Data时必须要要使用PduR进行路由,且在配置CanNmUserDataTxPdu容器时的CanNmTxUserDataPduRef配置参数必须引用一个来自PduR2CanNm的PDU引用,该怎么配置?

所以:需要我们手动配置EcuC,Com,PduR,CanNm,NM模块来实现CanNm User Data从Com到CanNm的路由,然后SWC和COM经过Signal mapping通过RTE完成数据的交互就完成了整个配置过程。

1)第一步我们需要手动在EcuC添加两条关于NM发送报文的PDU的全局引用NM_xxx_Com2PduR,NM_xxx_PduR2CanNm。

2)在在Com模块配置一个ComIpu配置容器并引用EcuC中的NM_xxx_Com2PduR

3)在PduR模块配置一条从Com到CanNm的路由信息,PduRSrcPdu容器引用NM_xxx_Com2PduR,PduRDestPdu容易引用NM_xxx_PduR2CanNm

4)在CanNm模块的CanNmUserDataTxPdu容器中CanNmTxUserDataPduRef参数引用NM_xxx_PduR2CanNm

5)配置CanNm,NM模块支持Com user data support

CanNmGlobalConfig配置容器里的CanNmComUserDataSupport配置参数需要配置为True,CanNmUserDataEnabled配置参数需要配置为True。

NmGlobalConfig配置容器里的NmComUserDataSupport配置参数需要配置为True,NmUserDataEnable配置参数配置为True。

这样就完成了Com通过PduR完成对CanNm中user data的数据访问。

Note: 在手动配置ComIpdu和CanNM模块的时候还会有一些子模块需要添加,这些在具体操作的时候根据报错提示加上即可。

3.问题回答

问题1:CanNm的User Data可以通过CDD和COM模块同时使用吗?

答:不能。配置了CanNmComUserDataSupport后就不能使用CanNm_SetUserData了,也就是说CDD不能再访问CanNm的user data了。

4793bd38-74f3-11ed-8abf-dac502259ad0.png

问题2:CanNmUserDataTxPdu配置容器里面的CanNmTxUserDataPduRef配置参数引用的IPUD和CanNmTxPdu配置容器里面的CanNmTxPduRef配置参数引用的PDU是同一个PDU?

答:不是同一个EcuC模块中的PDU全局引用,EcuC模块只会自动创建NM_xxx_CanNm2CanIf和NM_xxx_CanIf2CanNm的全局PDU引用,NM_xxx_Com2PduR和NM_xxx_PduR2CanNm的PDU全局引用需要手动创建。CanNmUserDataTxPdu配置容器里面的CanNmTxUserDataPduRef配置参数引用的是NM_xxx_PduR2CanNm,CanNmTxPdu配置容器里面的CanNmTxPduRef配置参数引用的是NM_xxx_CanNm2CanIf。

问题3:CCan.DBC文件包含NM Rx PDU和NM Tx PDU时导入AUTOSAR配置工具后会在EcuC模块自动生成义全局NM_Rx和NM_Tx的PDU(Global PDU)应用参数,但是不会生成CanNmTxUserDataPduRef应用的配置参数,已经不会生成ComToCanNm的路由表信息,这些该怎么配置?

答:通过手动配置EcuC,Com,PduR,CanNm,NM模块实现。详见2.2 ASW方式访问CanNm user data。

问题4:CanNm User Data数据在SWC-->Rte-->Com-->PduR-->CanNm模块将是怎样完成数据交互的?

答:Com中包含发送CanNm User Data的IPDU,IPDU中包含用户自定义的Signal,ASW和Com Signal之间进行Pport-Rport连接产生RTE数据读写接口,ASW通过RTE接口Write Signal,Com模块将aSignal组包到CanNm User Data所在的IPDU。PDUR模块的路由表中有Com to CanNm的路由表信息,CanNm_MainFunction会在准备发送CanNm Tx报文的时候调用PduR_CanNmTriggerTransmit-->Com_TriggerTransmit以Trigger方式从Com模块获取到CanNm User Data,然后填充到CanNm Tx报文的byte 0-->Byte 7完成user data的获取与发送。

审核编辑:郭婷

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

    关注

    33

    文章

    7639

    浏览量

    148495
  • PDU
    PDU
    +关注

    关注

    0

    文章

    90

    浏览量

    16822

原文标题:AUTOSAR架构下CanNm User Data详解

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

收藏 人收藏

    评论

    相关推荐

    TC387配置Autosar OS后主核跑飞了怎么解决?

    使用TC387芯片配置Autosar OS发现主核跑飞了,其他核正常运行OS任务切换,PC指针指向_IF_CONST区域,D[4]寄存器为1,D[15]寄存器为4,根据这两个寄存器用计算规则计算出的TCN和TIN好像有问题,在Trap中跑飞,请问一
    发表于 03-06 08:24

    CX3开发平台是否能在SPI FLASH内放入User Data

    您好, 我使用的开发平台是DENEBOLA (See3CAM_CX3RDK) – CX3™ Reference Design Kit, 透过UVC传送影像至PC, 我有User data 想放在
    发表于 02-28 08:13

    相位噪声的概念及其应用

    频率稳定度分短稳和长稳。短稳是指由相噪,电源和负载变化引起的频率波动;长稳是指因老化等引起的频率漂移。相位噪声是晶体振荡器短期稳定度的重要指标。今天凯擎小妹就来讲一下相位噪声的概念及其应用。
    的头像 发表于 12-26 13:28 322次阅读
    相位噪声的<b class='flag-5'>概念及</b>其应用

    AUTOSAR架构中复杂驱动设计

    复杂驱动(Complex Driver,CDD)是一种不受 AUTOSAR 标准化约束的软件实体,它可以通过 AUTOSAR 接口和/或基础软件模块 API 进行访问 AUTOSAR 组件或者被
    的头像 发表于 12-21 10:13 939次阅读
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架构</b>中复杂驱动设计

    分析Autosar架构下的NVM源码

    Autosar(Automotive Open System Architecture)是一种用于汽车电子系统开发的开放式架构标准,旨在提供一种用于构建可靠、安全的分布式系统的框架。其中,NVM
    的头像 发表于 12-08 13:56 522次阅读

    复杂驱动如何将现有的或新的概念引入AUTOSAR软件架构中的?

    复杂驱动(Complex Driver,CDD)是一种不受 AUTOSAR 标准化约束的软件实体,它可以通过 AUTOSAR 接口和/或基础软件模块 API 进行访问 AUTOSAR 组件或者被
    的头像 发表于 11-22 10:57 482次阅读
    复杂驱动如何将现有的或新的<b class='flag-5'>概念</b>引入<b class='flag-5'>AUTOSAR</b>软件<b class='flag-5'>架构</b>中的?

    AUTOSAR架构下的多核通信介绍

    随着汽车ECU迅速的往域控制器方向发展,ECU要处理的任务越来越多,单核CPU的负载越来越大,多核ECU势在必行。AUTOSAR架构下OS支持多核处理,本系列文章将详细介绍AUTOSAR架构
    的头像 发表于 11-13 09:24 787次阅读
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架构</b>下的多核通信介绍

    AUTOSAR架构自适应平台

    AUTOSAR架构 AUTOSAR(AUTomotive Open System ARchitecture)是一种开放的汽车电子系统架构,旨在提供一种标准化的方法来开发和管理汽车电子系
    的头像 发表于 10-27 15:23 841次阅读
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架构</b>自适应平台

    基于Tricore芯片的AUTOSAR架构下的多核启动

    随着汽车ECU迅速的往域控制器方向发展,ECU要出来任务越来越多,单核CPU的负载越来越大,多核ECU势在必行。AUTOSAR架构下OS支持多核处理,本系列文章将详细介绍AUTOSAR架构
    的头像 发表于 10-23 10:15 1218次阅读
    基于Tricore芯片的<b class='flag-5'>AUTOSAR</b><b class='flag-5'>架构</b>下的多核启动

    AUTOSAR配置中的PostBuild、Precompile、Linktime

    AUTOSAR配置软件中,经常可以见到PostBuild、Precompile、Linktime这三个的影子,所以想搞清楚它们的区别,以及知道大概是干什么的。
    的头像 发表于 07-17 14:56 2641次阅读
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>配置</b>中的PostBuild、Precompile、Linktime

    理一理AUTOSAR架构下的唤醒源事件

    最近的项目负责网络管理部分,网路唤醒和ECU系统的休眠关系紧密,对系统的唤醒源事件感觉理解的不是很透彻,今天就来理一理AUTOSAR架构下的唤醒源事件。
    的头像 发表于 07-14 09:11 1612次阅读
    理一理<b class='flag-5'>AUTOSAR</b><b class='flag-5'>架构</b>下的唤醒源事件

    AUTOSAR是什么?AUTOSAR软件架构简介

    AUTOSAR的全称是AUTomotive Open System Architecture,直译为汽车开放系统架构
    的头像 发表于 07-08 17:26 9758次阅读
    <b class='flag-5'>AUTOSAR</b>是什么?<b class='flag-5'>AUTOSAR</b>软件<b class='flag-5'>架构</b>简介

    AUTOSAR Fee模块配置详解

    AUTOSAR Fee的配置跟Ea类似,方法都可以触类旁通。
    的头像 发表于 06-01 10:05 2890次阅读
    <b class='flag-5'>AUTOSAR</b> Fee模块<b class='flag-5'>配置</b>详解

    AUTOSAR ComM功能及配置参数详解

    AUTOSAR ComM模块的分享分为ComM模块概念详解和ComM模块配置及代码分析
    的头像 发表于 06-01 10:00 4086次阅读
    <b class='flag-5'>AUTOSAR</b> ComM功能及<b class='flag-5'>配置</b>参数详解

    AUTOSAR的软件架构

    本文主要内容分为两章节。第一章节简要介绍了AUTOSAR的软件架构,设计理念以及方法论,对Classic Platform和Adaptive Platform做了简单的比较。第二章主要介绍了Adaptive Platform的特性。
    的头像 发表于 05-24 11:01 2689次阅读
    <b class='flag-5'>AUTOSAR</b>的软件<b class='flag-5'>架构</b>