本文主要是介绍CANoe: IL层的简单理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
问题背景
问题提出
What:IL是什么
How:交互层的作用
推理IL功能:从DBC创建模板
推理IL功能:从DBC配置Node属性
推理IL功能:从CAPL函数
AutoSar中的IL
问题背景
在CAN总线仿真案例中,
- 创建DBC时,使用了模板文件Vector_IL_Basic Template.dbc
- DBC配置节点属性时,NodeLayerModules均采用CANoeILNLVector
- CAPL编程中报文的发送控制使用了ILControlInit、ILControlStart和ILControlStop函数,实现了节点与总线的连接。
问题提出
这三个地方都涉及到一个名词 IL,简单搜索可知IL是指交互层Interation Layer,但
1. 交互层是什么
2. IL的作用什么?
2. 和OSI通信模型有什么关系吗, Autosar模型呢?
What:IL是什么
查看canoe帮助文档我们可以看到 IL 是Bus模型库之一。
CAnoe的标准模型库将BUS
- 在水平方向上,划分成三部分:IL(交互层)、NM(网络管理)、TP(传输协议)。
- 在垂直方向上,划分成了三部分:CAN、FlexRay、Ethernet。
也就是说IL在CAN、FlexRay、Ethernet这三种总线类型上都存在,(?无LIN,不支持LIN总线协议吗)。
帮助文档对IL做的简单说明是属性集合,用于描述报文及信号的发送、接收行为。
How:交互层的作用
下面这三篇文章对IL作用和使用,都做了详尽的说明。
1. CAN Interaction Layer (谈谈我对交互层的理解)_蚂蚁小兵-CSDN博客_interaction layer
2. 深入理解CANoe交互层(Interaction Layer,IL)以及IL CAPL函数简介_汽车网络那些事儿-CSDN博客_interaction layer
3. 总线仿真,还可以这样玩!_怿星科技的博客-CSDN博客
推理IL功能:从DBC创建模板
DBC 创建时,使用命名包含IL的模板,而模板主要用于初始化DBC的属性。DBC属性(CANoe - 数据库常见属性说明_lamanchas的博客-CSDN博客)包括Node属性、Network属性、Message属性、Signal属性。也就是说IL层
- 可能负责这四种对象的中的某一些。
推理IL功能:从DBC配置Node属性
DBC配置时,IL文件绑定在Node上,也就是说IL是从节点侧定义的。IL的DLL文件绑定在节点属性的NodeLayerModules上,意味着,IL
- 无法控制:Network属性功能,Node的其他属性功能;
- 可能控制:可能包含Message属性、Signal属性功能。
推理IL功能:从CAPL函数
从CAPL函数理解IL:CAPL提供的IL相关的函数有
- ILControlInit ():在 on preStart中使用 ,目的是阻止 IL自动启动( IL 是默认生效的)
- ILControlStart() 和 ILControlStop (): IL开始和停止
- >IL关闭时,节点的报文无法发送到总线上,也无法接收来自总线的报文。即IL控制节点与总线的连接。
- ILNodeControl[Start|Stop]:节点开始、停止
- IL可以控制节点开启关闭
- ILSetMsgEvent (dbMessage msg) :直接向总线上发送一帧报文
- IL可以控制node发送报文的内容
- ILFaultInjection[Disable|Enable]Msg、ILFaultInjection[Set|Reset]CycleTime:故障注入
- IL可以控制发送报文的内容,和循环时间
IL层在CANoe仿真中,控制总线的报文发送与否,
- 根据所包含信号的发送类型发送消息(循环、OneEvent、IfActive等)
- 接收消息和信号的超时监测
- 发送和接收信号的通知
AutoSar中的IL
暂时理解到这里,欢迎有其他理解的同志们一起交流~
END
这篇关于CANoe: IL层的简单理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!