梦应逍遥 发表于 2024-8-10 14:18:00

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一个工程。
https://i-blog.csdnimg.cn/direct/97cc5417ab0848d28a7a2f91d5559182.png
将右侧的滚动条向下拉,找到LIN模板,双击打开,创建一个空的LIN总线工程。
https://i-blog.csdnimg.cn/direct/33f5328bdec8442395d1eca60d45bee1.png

打开后的界面如图所示,与CAN工程需要导入DBC进利用用一样,LIN工程我们也需要导入一个LIN的DataBase文件(LDF)文件才能更好的对LIN报文进行分析,接下来我们去创建一个LDF文件
https://i-blog.csdnimg.cn/direct/f852e42996de4e89b92cb26769208da0.png

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


在CANoe的Tools栏目下,点击LDF Explorer打开LDF编辑器
https://i-blog.csdnimg.cn/direct/5541cdb718b34faa8fb8017864d1daa2.png
打开后的界面如图所示,点击左上角的File按钮,新建一个LDF文件。
https://i-blog.csdnimg.cn/direct/f9502f9e2eb542dfac6eab221508e641.png
点击FIle按钮下的New File,并在右侧选择LDF的版本(如今一般都是2.0以上的版本了)
https://i-blog.csdnimg.cn/direct/eb2b5deab9d94c7ebbcb2e3b2bbb3d04.png

在这里我选择LDF2.1,选择完毕后会弹出如下视图
https://i-blog.csdnimg.cn/direct/6e9625802c994cb9817f4a6fd6c07192.png
针对一个LIN网络,比较重要的几个要素就是主从节点、LIN报文,LIN信号以及LIN的调理表。
CANoe的LDF编辑器,创建LDF文件之后就会主动天生一个主节点以及一个从节点,如果LIN上只有一主一从,我们直接利用默认的配置即可,无需再继续创建节点。

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

点击上图框中的第二个按钮,创建一个LIN帧(LIN报文)
https://i-blog.csdnimg.cn/direct/3866a66f7bd04ecb84b99575a4495909.png
在弹出的界面中,编辑这个LIN报文的ID,长度,以及名称。
https://i-blog.csdnimg.cn/direct/86fa5964d047498a9863e8a21a3b1033.png
这里我创建一个名称为LIN_MasterFrame  ID为0x20且长度为8字节的LIN报文。
https://i-blog.csdnimg.cn/direct/b5c51166c1c3406e90b5ec1c5ce4f65b.png
名称和ID及长度填写完毕后,我们为这个LIN报文创建一个信号,点击上图的Create and Map Signal创建信号
在弹出的界面中,为这个LIN信号赋予名称,长度(单元Bit),初始值等信息
https://i-blog.csdnimg.cn/direct/68d10b2b5bf3427c80eb8f686f6c9b34.png

以上信息键入成功后,再在下面为这条信号设置接收者发发送者。发送者我们设置为主机Master,接收者设置为从机Slave_1,并且将起始位设置为0。
点击Slave_1,再按向右的箭头,把它移动到接收者里面
https://i-blog.csdnimg.cn/direct/4f5278edd98f4931b41af8e2269beb4b.png
随后点击OK即可
https://i-blog.csdnimg.cn/direct/40a49485db574664800bfba9f18cc1cf.png
完成后界面如图,我们如法炮制再创建两个主机的信号
https://i-blog.csdnimg.cn/direct/2aeb9afbc4ad48c68e043c8cc3f4d905.png
https://i-blog.csdnimg.cn/direct/b5f735943379437791029963b5e44345.png
随后我们可以点击红框中的按钮,切换到layout视图,看到这三个信号在这条LIN报文中的位置。

https://i-blog.csdnimg.cn/direct/b68be169432d46108b54ff902ecb8232.png
可以看到,我创建的这三个信号分别放置在了Byte0(Signal1),Byte1的低四位(Signal2),Byte1的高四位以及Byte2的低四位(Signal3)。

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

点击红框中的按钮,切换回信号视图。然后在我们需要修改的谁人信号的StartBit处单击输入即可
https://i-blog.csdnimg.cn/direct/1fcdeeb3cd144c22abcbf6d22ccb5315.png

在这里我将SIgnal2改为由14bit起始,SIgnal3改为46bit起始
https://i-blog.csdnimg.cn/direct/99e7dd60dde74f738ce593ffb4ae68d1.png


https://i-blog.csdnimg.cn/direct/395c55a4a1bb400bbf01d1420744d457.png

修改完成之后点击OK。然后我们再次切换到layout界面,即可看到信号放置的地方已经发生了改变,随后点击OK,这条0x20的LIN报文就已创建完成。
https://i-blog.csdnimg.cn/direct/6b7b4379fb4f4c8a8560806f60d3d1fe.png

接下来,我们再如法炮制创建一条LIN报文,添加三个LIN信号,并将它的发布者设置为从节点Slave_1,接收者设置为Master。
https://i-blog.csdnimg.cn/direct/0f761a21fe4742e9aeedac9399476a27.png
然后,我们再创建一下这个从节点的错误响应信号。

错误响应:LIN的从机在LIN通讯发生错误时,该信号置位,用来表示内部LIN通讯检测到错误了。
通常,这是一个布尔范例的信号,即0和1的值。
https://i-blog.csdnimg.cn/direct/86823c33347d45e9805c95e918538533.png
创建完成之后,点击OK,如图所示,再次点击OK,完成这条从节点LIN报文的创建。
https://i-blog.csdnimg.cn/direct/504d41b9870a40da9d2befad9929fb5b.png

然后,我们可以看到,左上角已经出现了我们刚刚创建的报文。
https://i-blog.csdnimg.cn/direct/7b9b83ee0270483aa75c79789913f931.png

如今,LIN信号和报文都有了,节点也有了,我们还需要创建一下LIN的调理表
https://i-blog.csdnimg.cn/direct/ba8e822502c449459a4b41f9a8aa2f5b.png
点击红框中的图标创建一个应用调理表,并为这个调理表取一个名字,随后点击OK
https://i-blog.csdnimg.cn/direct/0ea01b3d42284de4b8e519ac8b3d479e.png
如今,我们就已经有了一个调理表了,但是这个表里还没有需要调理的LIN帧,我们需要把LIN帧添加进去。
https://i-blog.csdnimg.cn/direct/e07af067538f4a5b808bc8d56bc512ed.png

鼠标按住左边的0x20和0x25两条LIN报文,然后将其拖沓到这个表下面即可。
https://i-blog.csdnimg.cn/direct/6c175e1fb5d74024838aabb7db0c2a15.png

这样,我们就得到了一个调理表,这个调理表会按照规定的周期调理LIN帧。
我们再创建一个用于LIN诊断的调理表,用来调理LIN诊断帧3C和3D
https://i-blog.csdnimg.cn/direct/5d3a91ea12bf405da55dd0de13e974e2.png

把LIN诊断帧0x3C和3D再拖进这个诊断调理表即可。
https://i-blog.csdnimg.cn/direct/d1593b93e47b44ed9ac12722eb1f8858.png

最后,我们需要把刚刚添加的从节点错误响应信号,绑定给从节点,并且修改节点地址
https://i-blog.csdnimg.cn/direct/75f7e7c64c2b45b09310027326a1aea7.png
点击红框中的按钮,切换到节点视图。
可以看到,这个从节点的ID默认是0xFF,我们需要把他修改为一个大于0且小于7F的值。
https://i-blog.csdnimg.cn/direct/4547737a3a8645008e9cac8b807bd467.png
如果客户有规定,那么按照客户给的定义编写即可。

客户没有规定的话,我一般选择自己定义。如今我定义它的节点ID为0x1
https://i-blog.csdnimg.cn/direct/89bdff651f2c4974b2d764e29863cc03.png

最后,我们再给这个节点配置上错误响应就可以了
https://i-blog.csdnimg.cn/direct/19af6bafd36642dea43d7ebe32b4493e.png
在红框处点击下拉框,把刚刚创建的错误响应信号配置给它
https://i-blog.csdnimg.cn/direct/1484150663294b1ea343f0e300d8e3f9.png
选择完毕之后,点击保存即可,LDF文件制作完成。
https://i-blog.csdnimg.cn/direct/5970b73c8e994d46a66dc683ed1b639f.png
https://i-blog.csdnimg.cn/direct/590bc0670ad0489c8808dbd6d02ad42c.png
四、单主多从的LIN 节点创建

LIN总线上很少会出现单主单从的状态,往往都是有多个从节点,有时间我们还需要创建其他的从节点并为之配置报文。
点击图中的按钮,可以创建一个从节点。
https://i-blog.csdnimg.cn/direct/0c334f5297a542bb86982bf2a36afc61.png

在弹出的窗口中,为我们新建的从节点命名,随后点击OK
https://i-blog.csdnimg.cn/direct/c3a082a1a43e4b08b967f161919d4691.png

可以看到,左侧已经出现了我们刚刚创建的从节点。
https://i-blog.csdnimg.cn/direct/d352cddcfaef489ea277964d9b5c8eac.png
后面,只需要再次创建这个从节点的报文和LIN信号,并为其配置发布者和接收者,修改节点ID和配置错误响应即可。
由于与第三步的步调几乎雷同,我这里快进一下。
只需要注意配置好报文的发送者和接收者就好。
https://i-blog.csdnimg.cn/direct/40a51411f273479ab61094b309c9b823.png
如图....创建了四个信号给这条报文,最后再点击OK
https://i-blog.csdnimg.cn/direct/f6bc032ed7c2458cad247f15e827bf22.png

最后,修改一下这个节点的ID和绑定错误响应。并配置它的错误响应就好了。
https://i-blog.csdnimg.cn/direct/a8cd931c33a0463e8f08358b5f8b2d02.png

https://i-blog.csdnimg.cn/direct/a34c7ab65dda422fa3e7ae51719f4171.png

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


在右侧的DataBase处右击鼠标,选择Import Wizard进行LDF的导入。
https://i-blog.csdnimg.cn/direct/c801724c345b4354837f9397be7d7343.png
点击Select选择目标LDF文件
https://i-blog.csdnimg.cn/direct/64ecf752b90b4a588c12b34343ca2722.png

选择完毕后,选择节点后利用右移符号>>将节点添加至右侧即可
https://i-blog.csdnimg.cn/direct/a8003f1d032d483aad57d9732760335b.png
点击下一页,随后点击完成。
https://i-blog.csdnimg.cn/direct/7ab397bc230949e6864019e1080b47bf.png
https://i-blog.csdnimg.cn/direct/e721f10bcd1840f9ba2cf3fcc28b809a.png
完成后的界面如下图所示。如今我们就可以启动这个LIN工程了。
https://i-blog.csdnimg.cn/direct/0b00edd7977843baad02195dedf0c68d.png

启动后,即可看到LIN报文在按照LDF调理进行收发了。
https://i-blog.csdnimg.cn/direct/297b584f4a384e0faa72debce9d8008a.png

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



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建