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

相关文章

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

MySQL基本表查询操作汇总之单表查询+多表操作大全

《MySQL基本表查询操作汇总之单表查询+多表操作大全》本文全面介绍了MySQL单表查询与多表操作的关键技术,包括基本语法、高级查询、表别名使用、多表连接及子查询等,并提供了丰富的实例,感兴趣的朋友跟... 目录一、单表查询整合(一)通用模版展示(二)举例说明(三)注意事项(四)Mapper简单举例简单查询

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

SpringBoot整合Apache Spark实现一个简单的数据分析功能

《SpringBoot整合ApacheSpark实现一个简单的数据分析功能》ApacheSpark是一个开源的大数据处理框架,它提供了丰富的功能和API,用于分布式数据处理、数据分析和机器学习等任务... 目录第一步、添加android依赖第二步、编写配置类第三步、编写控制类启动项目并测试总结ApacheS

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

Python实现繁体转简体功能的三种方案

《Python实现繁体转简体功能的三种方案》在中文信息处理中,繁体字与简体字的转换是一个常见需求,无论是处理港澳台地区的文本数据,还是开发面向不同中文用户群体的应用,繁简转换都是不可或缺的功能,本文将... 目录前言为什么需要繁简转换?python实现方案方案一:使用opencc库方案二:使用zhconv库

使用Python在PDF中绘制多种图形的操作示例

《使用Python在PDF中绘制多种图形的操作示例》在进行PDF自动化处理时,人们往往首先想到的是文本生成、图片嵌入或表格绘制等常规需求,然而在许多实际业务场景中,能够在PDF中灵活绘制图形同样至关重... 目录1. 环境准备2. 创建 PDF 文档与页面3. 在 PDF 中绘制不同类型的图形python

Java 操作 MinIO详细步骤

《Java操作MinIO详细步骤》本文详细介绍了如何使用Java操作MinIO,涵盖了从环境准备、核心API详解到实战场景的全过程,文章从基础的桶和对象操作开始,到大文件分片上传、预签名URL生成... 目录Java 操作 MinIO 全指南:从 API 详解到实战场景引言:为什么选择 MinIO?一、环境