首页 > 其他分享 >Autosar-CanNm、Nm配置详解(免费)-1

Autosar-CanNm、Nm配置详解(免费)-1

时间:2024-03-27 17:59:50浏览次数:99  
标签:Autosar Nm COMMUNICATION DBC CanNm 导入 ComM COMM

3.1由DBC创建Nm、CanNM
ETAS工具可根据DBC文件,自动配置生成Nm、CanNm模块。但是关键的一点是要生成NM、CanNM模块DBC文件中必须有NM类型的报文。
还有一点,即使DBC文件中有Nm的报文,但是因为报文的类型在导入时没有设置成Nm,那也不会生成Nm模块。
最后一点,如果已经导入过DBC文件,要再次导入的话,最好把之前导入后生成的DBC_SysDesc.arxml文件先删除掉。否则会经常出现新的内容导入后不正常的情况。

3.2重新导入DBC文件
重新导入DBC文件前,记得要先删除之前生成的DBC*.arxml文件。
在这里插入图片描述
按以下步骤导入DBC文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
导入DBC在AR Explorer选项下生成如下的元素:在这里插入图片描述
3.3自动生成Com Stack配置
有一点非常重要,要使用自动生成配置前,需要先完成SWC的创建,SWC到ECU的mapping等基础工作。否则是无法自动生成ComStack的。这一部分的内容可参考这个文档:http://10.8.9.137/svn/dilink/Dept_Doc/MCU组/04_Tech Doc/autosar培训资料/ETAS Autosar最小系统配置
上一步骤已经导入DBC文件,ETAS工具可以根据DBC文件自动生成Com stack配置。按如下步骤操作,完成Com Stack配置。
在这里插入图片描述
点击完成后,生成如下的Com Stack配置:
在这里插入图片描述
3.4ComM、Nm、CanNm、CanSM的关系
3.4.1 ComM
3.4.1.1ComM的状态
对于SWC层面,它直接访问的模块是ComM。Nm、CanNm、CanSM对于SWC是不可见的,它们是为了配合ComM的工作而存在。
SWC对于通信关注的是能不能通信的问题,因此ComM有两个状态来表示能否通信:COMM_FULL_COMMUNICATION,COMM_NO_COMMUNICATION。SWC通过Request FullCommnunication, 或者Request NoCommunication来使能和关闭通信。
其实ComM还有另一个状态:COMM_SILENT_COMMUNICATION,这个状态由ComM内部来控制。它会获取Nm的状态,如果NM处于PrepareBusSleep, 则ComM会切换到COMM_SILENT_COMMUNICATION状态。
处于COMM_FULL_COMMUNICATION状态时,ComM模块允许数据的发送与接收;处于COMM_NO_COMMUNICATION状态时,ComM要阻止数据发送与接收。
当有用户有多个请求时,如同时有切换到COMM_FULL_COMMUNICATION和COMM_NO_COMMUNICATION时,优先级高的获胜,即最终切换到COMM_FULL_COMMUNICATION模式。
在这里插入图片描述
3.4.1.2关机同步变量ComMNmVariant
ComMNmVariant有4种设置:LIGHT, LINSLAVE, PASSIVE and FULL。
只有FULL和PASSIVE才能保证关机时所有网络是同步关闭的。
在这里插入图片描述
3.4.1.3ComM与其他模块的关系图在这里插入图片描述
3.4.2 NM、CanNM
一个系统中可能存在着多种NM设备,比如Can、Lin、Ethnet, ComM模块需要与这些设备进行通信,但是它不能与具体的设备通信,比如它不能直接调用CanNm的API,因为直接调用的话就与CanNm耦合在一起了。ComM模块是适配所有NM的,也就是说不管系统用的是CanNm还是UDP Nm, ComM都不受影响。
为了实现这个目的,系统在ComM与各种Nm设备之间插入层。因此NM层就是为了适配ComM与各种设备的Nm而存在的。
那NM是如何实现适配的呢?

更多详细信息,请查看下面的文章。
在这里插入图片描述

标签:Autosar,Nm,COMMUNICATION,DBC,CanNm,导入,ComM,COMM
From: https://blog.csdn.net/easybook_zhu/article/details/137084068

相关文章

  • Autosar-CanNm、Nm配置详解(免费)-2
    3.5NM配置项3.5.1NmGlobalConstantsNmNumberOfChannelsNm管理几个Can通信,通信我们只有智能进入网需要网络管理,因此一般这里只需要填1。NmNumberOfClusters如果NM需要与几个CanNm进行协同处理的话,那需要把这些配置为Cluster,即组合在一起。到时就可以同时休眠,同时唤醒......
  • SNMP
    SNMPv1SNMP为应用层协议,通过UDP承载,端口号161不可靠,但效率高,网络管理不会太多增加网络负担每个代理进程管理若干被管理对象,并且与某些管理站建立团体管理(明文传输,不安全) SNMP双端口:客户端用端口161接收get/set服务器端口162接收trap 操作编号......
  • Docker搭建LNMP环境实战(05):CentOS环境安装Docker-CE
    前面几篇文章讲了那么多似乎和Docker无关的实战操作,本篇总算开始说到Docker了。1、关于Docker1.1、什么是DockerDocker概念就是大概了解一下就可以,还是引用一下百度百科吧:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然......
  • 非极大值抑制篇 | YOLOv8更换NMS之DIoU-NMS / CIoU-NMS / EIoU-NMS / GIoU-NMS / GIoU
    前言:Hello大家好,我是小哥谈。YOLOv8中的NMS指非极大值抑制(Non-MaximumSuppression),它是一种用于目标检测算法中的后处理技术。在检测到多个重叠的边界框时,NMS可以帮助选择最佳的边界框。NMS的工作原理是首先根据预测边界框的置信度对它们进行排序,然后从置信度最高的边界框开......
  • lnmp集群拆分
    集群拆分数据库拆分+php远程访问实践1,拆分数据库1.拆分背景,单机的各个组件,容易抢夺资源,导致服务器压力较大,拆的第一步,吧数据库拆出去测试ab命令,对网站的整体压力具体的拆分步骤1.基于以有数据的web-7开始操作导出当前数据库的数据(还得数据库锁表,防止数据写入,备份时候,......
  • ISOLAR Autosar BSW 配置 之 SoAd
    6.SoAd6.1SoAdGeneralSoAdBestMatchRxHeaderldCheck  RX头最佳匹配算法使能SoAdChangeParameterEnabled  SoAd是否可以修改连接参数,函数调用:SoAd_ChangeParameterSoAdDHCPFQDNEnabled  FQDN(完全限定域名)SoAdDevErrorDetect  开发错误检测和通知......
  • ISOLAR Autosar BSW 配置 之 TcpIp
    5.TcpIp5.1TcpIpGeneralTcplpDevErrorDetect  开发错误检测和通知;TcplpGetAndResetMeasurementDataApi  允许应用程序获取以太网接口当前的测量数据,并将这些数据重置为初始值。TcplpMainFunctionPeriod  任务调度周期TcplpScalabilityClass  协议栈......
  • 【lnmp一键安装】--php环境
    1.官网:lnmp.org 一、一键安装wgethttps://soft.lnmp.com/lnmp/lnmp2.0.tar.gz-Olnmp2.0.tar.gz&&tarzxflnmp2.0.tar.gz&&cdlnmp2.0&&./install.sh lnmp 二、若是已经安装过,如何新增PHP版本呢?1.执行命令:wgethttps://soft.lnmp.com/lnmp/lnmp2.0.tar.gz-Ol......
  • Autosar Application设计
    设计需求用个实例来讲解会比较好理解,我们要设计这个车灯控制部件,需求是这样的,靠两个门和一个开关控制最后的灯,左门右门当中只要有一个门打开,DoorContact就会把信号传给Dimmer,同时根据开关的状态控制灯光的开关和亮度。关上所有的门,灯就会灭。需求分析下图每一个灰色的框就......
  • 简单介绍NMS的实现方法
    https://www.jb51.net/article/229498.htm #!/usr/bin/envpython3#-*-coding:utf-8-*-"""CreatedonMonMay721:45:372018@author:lps"""importnumpyasnpboxes=np.array([[100,100,210,210,0.72],[250,250......