BUSMASTER LDF编辑工具制作LDF文件

article/2025/9/26 9:44:53

本文摘要:本文章介绍如何使用BUSMASTER V3.2.2软件中的LDF编辑工具制作LDF文件

使用软件:BUSMASTER V3.2.2 -> LDF Editor

软件下载地址:

https://download.csdn.net/download/m0_50669075/85190261

以下叙述的步骤只是为了描述清晰,实际开发可以不按照以下步骤进行。

1. 打开LDF Editor

2. 新建LDF文件,选择LDF版本

3. 配置Master(主机参数)

4.  配置Slaves(从机参数)

5. 添加Diagnostic Frames(诊断帧)

6. 添加Signals(信号)

6.1 信号为组成一帧报文的基本单位,注意自身需求添加

6.2 有的需求里带有错误信号,如若没有则自行添加一个1bit的错误信号,然后在从机节点里选中(每个从机节点必须有一个错误帧)

7. 添加Unconditional Frames(无条件帧),或根据自身要求添加Event Triggered(事件帧)或Sporadic Frames(零星帧)

7.1 帧参数配置

7.2 帧包含信号位置配置

7.3  完成帧的添加

8. 添加Schedule Tables(调度表)

9. 至此已完成了LDF文件的制作,保存文件后,以txt打开LDF文件,会发现有很多内容是缺失的,需要我们自行补充

9.1 Nodes(节点)处内容可能缺失

9.2 configurable_frames(配置帧)处可能缺失 

9.3 给一个较为标准的LDF文件以供参考修改

/*---------GLOBAL DEFINITIONS-----------*/
LIN_description_file;
LIN_protocol_version             = "2.1";
LIN_language_version             = "2.1";
LIN_speed                        = 19.2 kbps;
/* ----------NODE DEFINITIONS---------- */
Nodes {Master:HU,                                                    /* Master node name */5 ms,                                                  /* Time base */0.1 ms;                                                /* Jitter */Slaves:PGSSS,                                                 /* Slaves node name */DRSSS,RLSSS,RRSSS;
}
/* ----------SIGNAL DEFINITIONS---------- */
Signals {/* Signal_name                : Size,                              Init,            Publisher, Subscriber(s) */Switch_P_up                   :  3,                                0x00,                   HU, PGSSS;Switch_P_down                 :  3,                                0x00,                   HU, PGSSS;Switch_P_left                 :  3,                                0x00,                   HU, PGSSS;Switch_P_right                :  3,                                0x00,                   HU, PGSSS;Switch_P_ok                   :  3,                                0x00,                   HU, PGSSS;Switch_P_ok_03                :  1,                                0x00,                PGSSS, HU;SWR_Backlight_Sta             :  8,                                0x00,                PGSSS, HU;Switch_D_up                   :  3,                                0x00,                   HU, DRSSS;Switch_D_down                 :  3,                                0x00,                   HU, DRSSS;Switch_D_left                 :  3,                                0x00,                   HU, DRSSS;Switch_D_right                :  3,                                0x00,                   HU, DRSSS;Switch_D_ok                   :  3,                                0x00,                   HU, DRSSS;Switch_D_ok_1d                :  1,                                0x00,                DRSSS, HU;SWCL_Backlight_Sta            :  8,                                0x00,                DRSSS, HU;Switch_RL_ok                  :  3,                                0x00,                   HU, RLSSS;Switch_RL_ok_13               :  1,                                0x00,                RLSSS, HU;SWCL_Backlight_Sta_13         :  8,                                0x00,                RLSSS, HU;Switch_RR_ok                  :  3,                                0x00,                   HU, RRSSS;Switch_RR_ok_19               :  1,                                0x00,                RRSSS, HU;SWCL_Backlight_Sta_19         :  8,                                0x00,                RRSSS, HU;
}
/* ----------DIAGNOSTIC SIGNAL DEFINITIONS---------- */
Diagnostic_signals {/* MasterReq Reserved Signals */MasterReqB0         :    8,   0;MasterReqB1         :    8,   0;MasterReqB2         :    8,   0;MasterReqB3         :    8,   0;MasterReqB4         :    8,   0;MasterReqB5         :    8,   0;MasterReqB6         :    8,   0;MasterReqB7         :    8,   0;/* SlaveResp Reserved Signals */SlaveRespB0         :    8,   0;SlaveRespB1         :    8,   0;SlaveRespB2         :    8,   0;SlaveRespB3         :    8,   0;SlaveRespB4         :    8,   0;SlaveRespB5         :    8,   0;SlaveRespB6         :    8,   0;SlaveRespB7         :    8,   0;
}
/* ----------UNCONDITIONAL FRAME DEFINITIONS---------- */
Frames {SmtSwt_SWC_Switch_Passger: 0x02, HU                  ,    3 {Switch_P_up         , 0;Switch_P_down       , 3;Switch_P_left       , 8;Switch_P_right      , 11;Switch_P_ok         , 16;}SmtSwt_SWC_Switch_Passger_Sta: 0x03, PGSSS               ,    3 {Switch_P_ok_03      , 0;SWR_Backlight_Sta   , 9;}SmtSwt_SWC_Switch_Drive: 0x1C, HU                  ,    3 {Switch_D_up         , 0;Switch_D_down       , 3;Switch_D_left       , 8;Switch_D_right      , 11;Switch_D_ok         , 16;}SmtSwt_SWC_Switch_Drive_Sta: 0x1D, DRSSS               ,    3 {Switch_D_ok_1d      , 0;SWCL_Backlight_Sta  , 9;}SmtSwt_SWC_Switch_RearL: 0x12, HU                  ,    1 {Switch_RL_ok        , 0;}SmtSwt_SWC_Switch_RL_Sta: 0x13, RLSSS               ,    3 {Switch_RL_ok_13     , 0;SWCL_Backlight_Sta_13, 9;}SmtSwt_SWC_Switch_RearR: 0x18, HU                  ,    1 {Switch_RR_ok        , 0;}SmtSwt_SWC_Switch_RR_Sta: 0x19, RRSSS               ,    3 {Switch_RR_ok_19     , 0;SWCL_Backlight_Sta_19, 9;}
}
/* ----------DIAGNOSTIC FRAME DEFINITIONS---------- */
Diagnostic_frames {MasterReq           : 0x3C {MasterReqB0         , 0;MasterReqB1         , 8;MasterReqB2         , 16;MasterReqB3         , 24;MasterReqB4         , 32;MasterReqB5         , 40;MasterReqB6         , 48;MasterReqB7         , 56;}SlaveResp           : 0x3D {SlaveRespB0         , 0;SlaveRespB1         , 8;SlaveRespB2         , 16;SlaveRespB3         , 24;SlaveRespB4         , 32;SlaveRespB5         , 40;SlaveRespB6         , 48;SlaveRespB7         , 56;}
}
/* ----------NODE ATTRIBUTE DEFINITIONS---------- */
Node_attributes {PGSSS {LIN_protocol               = "2.1";                    /* Node protocol version */configured_NAD             = 0x0A;                     /* configured NAD of node */initial_NAD                = 0x0A;                     /* initial NAD of node */product_id                 = 0x0A, 0x0A, 0x0A;         /* Product id */response_error             = Switch_P_ok_03;           /* Response error signal */P2_min                     = 50 ms;                    /* P2_min */ST_min                     = 0 ms;                     /* ST_min */N_As_timeout               = 1000 ms;                  /* N_As_timeout */N_Cr_timeout               = 1000 ms;                  /* N_As_timeout */configurable_frames {SmtSwt_SWC_Switch_Passger;SmtSwt_SWC_Switch_Passger_Sta;}}DRSSS {LIN_protocol               = "2.1";                    /* Node protocol version */configured_NAD             = 0x09;                     /* configured NAD of node */initial_NAD                = 0x09;                     /* initial NAD of node */product_id                 = 0x09, 0x09, 0x09;         /* Product id */response_error             = Switch_D_ok_1d;           /* Response error signal */P2_min                     = 50 ms;                    /* P2_min */ST_min                     = 0 ms;                     /* ST_min */N_As_timeout               = 1000 ms;                  /* N_As_timeout */N_Cr_timeout               = 1000 ms;                  /* N_As_timeout */configurable_frames {SmtSwt_SWC_Switch_Drive;SmtSwt_SWC_Switch_Drive_Sta;}}RLSSS {LIN_protocol               = "2.1";                    /* Node protocol version */configured_NAD             = 0x0B;                     /* configured NAD of node */initial_NAD                = 0x0B;                     /* initial NAD of node */product_id                 = 0x0B, 0x0B, 0x0B;         /* Product id */response_error             = Switch_RL_ok_13;          /* Response error signal */P2_min                     = 50 ms;                    /* P2_min */ST_min                     = 0 ms;                     /* ST_min */N_As_timeout               = 1000 ms;                  /* N_As_timeout */N_Cr_timeout               = 1000 ms;                  /* N_As_timeout */configurable_frames {SmtSwt_SWC_Switch_RearL;SmtSwt_SWC_Switch_RL_Sta;}}RRSSS {LIN_protocol               = "2.1";                    /* Node protocol version */configured_NAD             = 0x0C;                     /* configured NAD of node */initial_NAD                = 0x0C;                     /* initial NAD of node */product_id                 = 0x0C, 0x0C, 0x0C;         /* Product id */response_error             = Switch_RR_ok_19;          /* Response error signal */P2_min                     = 50 ms;                    /* P2_min */ST_min                     = 0 ms;                     /* ST_min */N_As_timeout               = 1000 ms;                  /* N_As_timeout */N_Cr_timeout               = 1000 ms;                  /* N_As_timeout */configurable_frames {SmtSwt_SWC_Switch_RearR;SmtSwt_SWC_Switch_RR_Sta;}}
}
/* ----------SCHEDULE TABLE DEFINITIONS---------- */
Schedule_tables {NormalTable {SmtSwt_SWC_Switch_Passger                          delay 50 ms;SmtSwt_SWC_Switch_Passger_Sta                      delay 50 ms;SmtSwt_SWC_Switch_Drive                            delay 50 ms;SmtSwt_SWC_Switch_Drive_Sta                        delay 50 ms;SmtSwt_SWC_Switch_RearL                            delay 50 ms;SmtSwt_SWC_Switch_RL_Sta                           delay 50 ms;SmtSwt_SWC_Switch_RearR                            delay 50 ms;SmtSwt_SWC_Switch_RR_Sta                           delay 50 ms;}
}

10. 手动补充完成后重新用LDF Editor打开,成功打开即为制作完成

END


http://chatgpt.dhexx.cn/article/mtnG1I7B.shtml

相关文章

mdf ldf 导入 mysql_mdf和ldf导入数据库

Sql Server 错误5123/5120 附加数据库错误 Microsoft Sql Server 在附加数据库时,重装了系统并重命名主机名 或者 使用windows身份登陆 都有可能造成这个结果在Vista 或者Windows7下可能会报这样的错误 原因是对想要附加的数据库文件(.mdf)和日志文件(.ldf) 没有操作…

LDF文件步骤及内容详解

LDF文件第一部分——ldf文件配置 LIN_description_file; //LIN描述文件 LIN_protocol_version 2.1;//LIN协议版本 LIN_language_version 2.1; //LIN语言版本 LIN_speed 19.2 kbps; //LIN的通信速度 第一部分是必不可少的,属于全局定义。我们可以把等号左边…

LDF转Excel;LDF转位定义;Excel转LDF;Excel转位定义;MatrixCreat(二)之LDF文件创建

LDF文件创建 一、摘要1.描述2.关键字 二、什么是LDF文件三、LDF创建环境四、LDF创建过程1.软件运行2.新建LDF文件3.修改主节点信息4.修改从节点信息5.新建描述信号6.新建信号消息7.新建报文信息8.新建调度表9.新建其他信息 五、MatrixCreat工具六、其他七、参考 一、摘要 1.描…

LDF转Excel;LDF转位定义;Excel转LDF;Excel转位定义;MatrixCreat(三)之LDF文件详解

LDF文件详解 一、摘要1.描述2.关键字 二、为什么要了解LDF文件三、LDF文件构成1.版本2.波特率3.节点信息4.信号信息5.诊断信号信息6.报文消息7.诊断报文消息8.从节点信息9.调度表10.描述信息11.信号描述关联 四、LDF文件解析1.解析版本2.解析节点信息3.解析调度表4.解析报文消息…

LIN数据库文件LDF介绍及使用

LIN总线的项目接触的很少,今天结合CANoe官方文档和自己的理解,浅谈下LIN总线的数据库文件LDF LDF文件 LDF,LIN description file,LIN总线描述性文件,使用LIN 规范中定义的LIN配置语言 创建或编辑LDF文件,需要打开Vector LDF Explorer工具,有三种方式: 通过电脑系统找到…

系统级性能分析工具 — Perf详解讲解

从2.6.31内核开始,Linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找。通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (per thread)&…

Perfetto工具集之traced_perf

1.Perf工具概览 linux中包含了众多性能分析工具,perf(特指linux-tools perf)工具是2009年在linux内核2.6.31中引入的一个工具。它的主要功能是可以跟踪hardware performance counter(PMU)、tracepoints、software performance counter(hrtime…

perf工具使用

perf研究总结 最近在天数搞一个性能的工具,需要抓callstack 包括用户态和内核的太调用栈,那么就顺便研究了一下perf工具。做了一个简单的总结。 perf --help 显示具体的命令,每个命令如何使用,再perf cmd --help会显示 参考链…

Linux系统性能监控分析工具perf

文章目录 一、perf 工具下载1.在centos7下离线安装2.安装flex3.安装bison 二、设置环境变量三、用MobaXterm 在linux和windows之间上传/下载文件1.连接服务器2.上传文件3.下载 四、perf原理1.perf的使用2.perf简单介绍3.常用命令格式1.perf list2.perf top3.perf stat4.perf pr…

perf工具简介+火焰图制作与解读

perf工具简介火焰图制作与解读 1、perf工具简单原理 perf是一款Linux性能分析工具。Linux性能计数器是一个新的基于内核的子系统,它提供一个性能分析框架,比如硬件(CPU、PMU(Performance Monitoring Unit))功能和软件(软件计数器…

perf record/report

性能优化 性能优化通常分为两个阶段:性能分析、性能优化 性能分析:查找性能瓶颈、热点代码,分析引发性能问题的原因。性能优化:基于性能分析,进行性能优化。包括:算法优化(空间复杂度和时间复…

perf命令使用

转载申明:本文转载自http://www.brendangregg.com/perf.html 请大家看了之后如果要转载一定要注上这个地址!!! perf Examples The Linux perf_events T-shirt These are some examples of using the perf Linux profiler, which …

Linux perf probe 的使用(三)

文章目录 前言一、Dynamic Tracing二、kprobes2.1 perf kprobe 的使用2.2 kprobe Arguments3.3 tcp_sendmsg()3.3.1 Kernel: tcp_sendmsg()3.3.2 Kernel: tcp_sendmsg() with size3.3.2 Kernel: tcp_sendmsg() line number and local variable 三、uprobes的使用3.1 perf uprob…

linux 性能分析工具perf

perf 性能监控分析工具 perf 工具下载 https://cdn.kernel.org/pub/linux/kernel/tools/perf/v5.9.0/perf-5.9.0.tar.gz 离线安装 tar -xvf perf-5.9.0.tar.gz cd perf-5.9.0 cd tools/perf/ make sudo cp perf /usr/local/bin检查 $ /usr/local/bin/perf --version perf…

linux 性能分析工具——perf

Perf 简介 Perf 是用来进行软件性能分析的工具。 通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (per thread),也可以用来分析内核的性能问题,当然也可以…

专题:性能调优之工具---perf

1. Linux Perf简介 1.1 Perf是什么 Perf 是内置于Linux 内核源码树中的性能剖析(profiling)工具。它基于事件采样原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析。可用于性能瓶颈的查找与热…

perf基本使用与简单介绍

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言perf简单介绍常用命令格式perf listperf record/reportperf topperf statperf pr…

Linux perf 命令的使用(一)

文章目录 前言一、perf简介二、perf子命令简介三、perf工作模式3.1 计数3.2 采样 参考资料 前言 系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。 (1)性能剖析的目标是寻找性能瓶颈&…

手把手教你系统级性能分析工具perf的介绍与使用(超详细)

测试环境:Ubuntu16.04 Kernel:4.4.0-31 系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。 性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。 代码优化的目…

perf介绍

perf学习 什么是perf? linux性能调优工具,32内核以上自带的工具,软件性能分析。在2.6.31及后续版本的Linux内核里,安装perf非常的容易。 几乎能够处理所有与性能相关的事件。perf可以用于查看热点函数,查看cashe miss的比率&am…