一、概述

LIN总线开发流程:
图片.png
图1 LIN总线开发流程图
Step 1:
用Node Capability Files通过LIN cluster design tool来生成LDF文件,由于小编在开发过程中没有用过这个文件及LIN cluster design tool,就不展开讲了;
Step 2:
用LDF进行LIN Stack配置,在开发过程中用的是Vector公司的GENy工具;
Step 3:
用GENy工具可以配置一些LIN 2.1/2.2里面TP层的时间参数,Network Management等,还可以自选需要的UDS诊断服务来生成诊断服务函数接口。到这一步LIN Stack的底层代码基本可以配置好,和应用层代码调试一下就可以用了。
其实LIN Stack的配置非常简单,读者以后要是碰到尝试一下就可以大概知道是一个怎样的配置方法。本文的目的主要是介绍配置过程中需要的核心文件LDF,做过CAN Stack配置的话,可以将LDF当成是CAN DBC即可。
注:本文中涉及到的工具均为busmaster LDF Editor,读者可以下载busmaster自己学习一下。

二、LDF文件介绍

先来看一个例子(举例):
LIN总线开发LDF文件介绍 - 图2图2 LDF文件示例

1、LDF文件的主要内容

如上图所示,LDF主要有两个部分:

  • 展示了主节点和从节点,及其各自的报文;
  • 是调度表,展示了不同报文切换的顺序及时间。

在之前的文章中我们知道,LIN网络是一种主从结构,只有主节点的主任务发送了报文请求,LIN网络中才会进行报文的传输。

(1)报文传输方向

主节点发送报文传输请求后,数据就可以进行传输了,而这里的报文传输方向就是通过LDF文件来描述的,如下图所示:
LIN总线开发LDF文件介绍 - 图3
图3 报文发送方向示例
Published XXX:发送方
Subscribed XXX:接收方
在LDF文件中可以逐个帧去配置它的接收及发送方向,这里这个方向是根据项目需求自定义,可以是主节点发给从节点,也可以是从节点发给主节点,还可以是从节点之间互相发送。

(2)帧或信号的定义

选中帧或者信号可以自定义长度初始值信号在帧中的位置等,如下图所示:
LIN总线开发LDF文件介绍 - 图4
图4 帧定义
LIN总线开发LDF文件介绍 - 图5
图5 信号定义

(3)调度表

调度表是由主节点运行的,一般在仿真中用CANoe即可模拟。这里举例的图2中,都是无条件帧,也就是说报文的发送不需要有条件,只要调度表激活了,这些帧就会按顺序依次发送,发送完之后再从头开始,这样一直循环直到切换到其他调度表。
Flame Slot:即一个完整的帧发送完所需的时间,一般是时间基数的整数倍。
LIN总线开发LDF文件介绍 - 图6
jitter:从计时开始起到真正接收到报文的一个延时。
LIN总线开发LDF文件介绍 - 图7LIN总线开发LDF文件介绍 - 图8图6 Flame Slot示意
调度表执行:
LIN总线开发LDF文件介绍 - 图9
图7 调度表执行示意
**图片.png