3分钟get同星LIN功能操作流程(推荐收藏)

2023-11-22 10:40

本文主要是介绍3分钟get同星LIN功能操作流程(推荐收藏),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文导读

LIN 是 Local Interconnect Network 的缩写,是基于 UART/SCI(Universal Asynchronous Receiver-Transmitter / Serial Communication Interface,通用异步收发器/串行通信接口)的低成本串行通信协议。可用于汽车、家电、办公设备等多种领域。

本文主要针对同星LIN主、从节点仿真功能以及其他功能的操作流程出一个详细教程。

本文目录:

一、同星LIN主节点仿真功能操作

1. 硬件连接准备

2. TSMaster软件操作流程

3. 【示例一】LIN诊断功能

4. 【示例二】插入报文帧inject_lin_message函数的使用

二、同星LIN从节点/监听节点功能操作

1. 硬件连接准备

2. 仿真从节点发送响应报文

一、同星LIN主节点仿真功能操作

1. 硬件连接准备

使用同星LIN硬件仿真主节点模式下,需要外部电源供电,为了保持LIN总线电平信号跟被测件一致,连接示意图如下:

2.TSMaster软件操作流程

以下操作流程以TSMaster仿真LIN主节点,被测件从节点为LED灯为示例。

2.1 导入LDF文件数据库

通过数据库添加LED灯的LDF文件后,可以查看到LDF文件里的【节点】分别有【master】和【RGB_Slave】, 并包含了主节点调度表信息,报文和信号定义:

2.2 创建LIN发送窗口,进行LIN主节点配置

勾选【主节点模式】,然后选择运行调度表Run_normal,并选择仿真【master主节点】,可以看到调度表的两条报文已勾选。此时可以【部署】运行调度表。

▲【注意】:需要注意调度表中主从节点报文的发送方向。

仿真master主节点的报文方向:【发】

从节点响应的报文方向为:【收】

即:报文0x02为主节点发送给RGB从节点的控制报文,所以方向为发送,而报文0x10为从节点RGB给主节点反馈信息用,所以方向为接收。

2.3 LIN报文信息监测

正常情况下,调度表运行后,可以在LIN报文信息窗口查看到两条报文的数据内容,表明从节点与主节点正常通信并反馈数据。

▲非正常情况:如果出现从节点的报文响应数据为空,可以判断为从节点无响应,此时可以检测LIN总线连接是否正确或者LIN从节点供电是否正常等,下图所示:

2.4  修改LIN主节点控制报文内容

在【LIN发送窗口】选择主节点报文如0x02,可以直接修改LIN信号的原始值或者物理值,进行报文信号赋值。

通过修改RGB三种不同颜色的信号数值,可以组合出来同的灯光色彩,如下图为RGB灯的点亮情况,供参考:

3. 【示例一】LIN诊断功能-自动分配地址

通常RGB点亮功能测试前,需要先对RGB灯进行自动分配地址,然后才能进行灯光颜色,亮度测试,版本号读取等等。

【背景】:根据LIN自动分配地址的协议,需要单次发送多条3C诊断报文进行地址分配,而TSMaster是可以通过【Single Frame】模式来完成。

RGB灯的自动分配地址的报文如下:

1.单次发送:7F 06 B5 FF 7F 01 02 FF

2.单次发送:7F 06 B5 FF 7F 02 02 01

3.单次发送:7F 06 B5 FF 7F 03 02 FF

4.单次发送:7F 06 B5 FF 7F 04 02 FF

【实操】:在TSMaster软件的【Single Frame】运行诊断指令,创建好相应报文后分别从上往下,单次发送报文行1、2、3、4,完成RGB的自动分配地址:

4. 【示例二】插入报文帧inject_lin_message函数的使用

有一个常见的使用场景,当仿真主节点正在运行调度表时,在不停止运行调度表的情况下,插入一帧其他的LIN报文帧,比如0x3C 报文,这个功能可以通过inject_lin_message函数来实现。

创建一个新的C脚本编辑器,选择【按键事件】,比如创建按键”A”执行插入报文。

示例代码如下:

TLIN f0 = {0,0x0,0x1,8,0x3C,0x0,0,0,{0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};

com.inject_lin_message(&f0);

app.wait(10, "");

然后编译运行C脚本,在已运行部署调度表的情况下,按下“A”键,在LIN报文消息可以观察到3C报文发送。

【TSMaster软件小技巧-快速生成LIN报文的C代码】:可以在调度表里新创建一条LIN报文,右键复制为C脚本,就可以把报文的C代码快速复制到脚本中。

二、同星LIN从节点/监听节点功能操作

1. 硬件连接准备

仿真从节点,可以不需要给同星LIN卡供电。

2. 仿真从节点发送响应报文

当同星LIN卡仿真为从节点时,ECU主节点需要发送调度表的报头Header,从节点响应报文才会正常发出。

本文以TSMaster 的LIN通道1仿真主节点运行调度表,LIN通道2仿真从节点响应报文0x10(Tech_Info_RGB_Slave) 。

首先,LIN通道1仿真主节点运行调度表,其中从节点响应报文的header方向为【收】:

部署运行之后,可以看到LIN从节点报文报头已发出,数据为空:

然后, LIN通道2仿真从节点发送响应报文0x10(Tech_Info_RGB_Slave),方向为【发】,修改数据内容:

点击【部署】,可以从LIN报文信息里观察到从节点报文0x10成功发出响应报文,主节点同样接收成功。

这篇关于3分钟get同星LIN功能操作流程(推荐收藏)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/409565

相关文章

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的