首页 教程 服务器/数据库 CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

本篇是CANoe使用入门的第三篇,在第一篇和第二篇中我们进行了CANoe的CAN工程的创建及DBC文件制作,然而在汽车总线上,光有CAN是不行的,还需要LIN总线与之配合,本篇进行CANoe的LIN工程及LDF创建。

LDF(LIN Description File)LIN描述文件是在进行LIN总线分析,LIN总线开发和测试必备的文件,跟CAN的DBC一样,里面定义了节点,主机和从机,以及LIN帧和LIN信号,调度表等等。

目录

一、新建CANoe LIN工程

二、LDF文件的创建及制作(如已有LDF可跳至后面第5步)

三、单主单从的LIN总线LDF配置

四、单主多从的LIN 节点创建

五、导入LDF文件到CANoe的LIN工程中


一、新建CANoe LIN工程

打开CANoe,在CANoe左侧点击FIle,选择new一个工程。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

将右侧的滚动条向下拉,找到LIN模板,双击打开,创建一个空的LIN总线工程。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

打开后的界面如图所示,与CAN工程需要导入DBC进行使用一样,LIN工程我们也需要导入一个LIN的DataBase文件(LDF)文件才能更好的对LIN报文进行分析,接下来我们去创建一个LDF文件

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

二、LDF文件的创建及制作(如已有LDF可跳至后面第5步)

在CANoe的Tools栏目下,点击LDF Explorer打开LDF编辑器

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

打开后的界面如图所示,点击左上角的File按钮,新建一个LDF文件。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

点击FIle按钮下的New File,并在右侧选择LDF的版本(现在一般都是2.0以上的版本了)

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

在这里我选择LDF2.1,选择完毕后会弹出如下视图

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

针对一个LIN网络,比较重要的几个要素就是主从节点、LIN报文,LIN信号以及LIN的调度表。

CANoe的LDF编辑器,创建LDF文件之后就会自动生成一个主节点以及一个从节点,如果LIN上只有一主一从,我们直接使用默认的配置即可,无需再继续创建节点。

三、单主单从的LIN总线LDF配置

点击上图框中的第二个按钮,创建一个LIN帧(LIN报文)

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

在弹出的界面中,编辑这个LIN报文的ID,长度,以及名称。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

这里我创建一个名称为LIN_MasterFrame  ID为0x20且长度为8字节的LIN报文。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

名称和ID及长度填写完毕后,我们为这个LIN报文创建一个信号,点击上图的Create and Map Signal创建信号

在弹出的界面中,为这个LIN信号赋予名称,长度(单位Bit),初始值等信息

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

以上信息键入成功后,再在下面为这条信号设置接收者发发送者。发送者我们设置为主机Master,接收者设置为从机Slave_1,并且将起始位设置为0。

点击Slave_1,再按向右的箭头,把它移动到接收者里面

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

随后点击OK即可

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

完成后界面如图,我们如法炮制再创建两个主机的信号

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

随后我们可以点击红框中的按钮,切换到layout视图,看到这三个信号在这条LIN报文中的位置。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

可以看到,我创建的这三个信号分别放置在了Byte0(Signal1),Byte1的低四位(Signal2),Byte1的高四位以及Byte2的低四位(Signal3)。

并不是所有的LIN矩阵表都是如此标准的排列,大部分时候我们的字节排列都是有所空缺的,接下来我们修改一下这三个信号在报文中的位置。

点击红框中的按钮,切换回信号视图。然后在我们需要修改的那个信号的StartBit处单击输入即可

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

在这里我将SIgnal2改为由14bit起始,SIgnal3改为46bit起始

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

修改完成之后点击OK。然后我们再次切换到layout界面,即可看到信号放置的地方已经发生了改变,随后点击OK,这条0x20的LIN报文就已创建完成。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

接下来,我们再如法炮制创建一条LIN报文,添加三个LIN信号,并将它的发布者设置为从节点Slave_1,接收者设置为Master。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

然后,我们再创建一下这个从节点的错误响应信号。

错误响应:LIN的从机在LIN通信发生错误时,该信号置位,用来表示内部LIN通信检测到错误了。

通常,这是一个布尔类型的信号,即0和1的值。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

创建完成之后,点击OK,如图所示,再次点击OK,完成这条从节点LIN报文的创建。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

然后,我们可以看到,左上角已经出现了我们刚刚创建的报文。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

现在,LIN信号和报文都有了,节点也有了,我们还需要创建一下LIN的调度表

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

点击红框中的图标创建一个应用调度表,并为这个调度表取一个名字,随后点击OK

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

现在,我们就已经有了一个调度表了,但是这个表里还没有需要调度的LIN帧,我们需要把LIN帧添加进去。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

鼠标按住左边的0x20和0x25两条LIN报文,然后将其拖拉到这个表下面即可。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

这样,我们就得到了一个调度表,这个调度表会按照规定的周期调度LIN帧。

我们再创建一个用于LIN诊断的调度表,用来调度LIN诊断帧3C和3D

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

把LIN诊断帧0x3C和3D再拖进这个诊断调度表即可。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

最后,我们需要把刚刚添加的从节点错误响应信号,绑定给从节点,并且修改节点地址

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

点击红框中的按钮,切换到节点视图。

可以看到,这个从节点的ID默认是0xFF,我们需要把他修改为一个大于0且小于7F的值。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

如果客户有规定,那么按照客户给的定义编写即可。

客户没有规定的话,我一般选择自己定义。现在我定义它的节点ID为0x1

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

最后,我们再给这个节点配置上错误响应就可以了

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

在红框处点击下拉框,把刚刚创建的错误响应信号配置给它

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

选择完毕之后,点击保存即可,LDF文件制作完成。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

四、单主多从的LIN 节点创建

LIN总线上很少会出现单主单从的状态,往往都是有多个从节点,有时候我们还需要创建其他的从节点并为之配置报文。

点击图中的按钮,可以创建一个从节点。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

在弹出的窗口中,为我们新建的从节点命名,随后点击OK

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

可以看到,左侧已经出现了我们刚刚创建的从节点。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

后面,只需要再次创建这个从节点的报文和LIN信号,并为其配置发布者和接收者,修改节点ID和配置错误响应即可。

由于与第三步的步骤几乎相同,我这里快进一下。

只需要注意配置好报文的发送者和接收者就好。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

如图....创建了四个信号给这条报文,最后再点击OK

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

最后,修改一下这个节点的ID和绑定错误响应。并配置它的错误响应就好了。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

五、导入LDF文件到CANoe的LIN工程中

在右侧的DataBase处右击鼠标,选择Import Wizard进行LDF的导入。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

点击Select选择目标LDF文件

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

选择完毕后,选择节点后使用右移符号>>将节点添加至右侧即可

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

点击下一页,随后点击完成。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

完成后的界面如下图所示。现在我们就可以启动这个LIN工程了。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

启动后,即可看到LIN报文在按照LDF调度进行收发了。

CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建

如果需要较为方便的修改某信号的值,可以新建一个Panel面板,并将对应的信号与控件进行关联,随后在Panel面板上改变控件的值即可改变对应的LIN信号。(具体可以查看CANoe入门系列的第一篇文章:创建自己的第一个CANoe测试工程   的第四部分)。

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  2个月前  2.15k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  2个月前  1.21k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  2个月前  1.13k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  2个月前  1.08k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  2个月前  483

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  2个月前  309

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。