LIN诊断(3)—— 传输层诊断协议(LINTP)

2024-08-30 15:04

本文主要是介绍LIN诊断(3)—— 传输层诊断协议(LINTP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用
  • 🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】
  • 🍅 玩转CANoe,博客目录大全,点击跳转👉

请添加图片描述

目录

  • ISO-17987-2
  • 协议数据单元类型(Protocol data unit types)
  • PDU报文格式
    • Address information (N_AI)
    • Protocol control information (N_PCI)
    • Data field (N_Data)
  • 示例
    • 单帧
    • 多帧
  • 缩写

ISO-17987-2

  • LIN总线网络传输层规范由ISO-17987-2标准定义,如下图

在这里插入图片描述

  • ISO-17987-2标准包含很多内容,本文只探讨诊断报文传输问题(单帧,多帧报文格式)
    在这里插入图片描述

协议数据单元类型(Protocol data unit types)

  • ISO 17987-2 的这一部分规定了三种不同类型的传输层协议数据单元,相比于CAN总线,没有流控帧。

    • SingleFrame (SF N_PDU),单帧
    • FirstFrame (FF N_PDU),首帧
    • ConsecutiveFrame (CF N_PDU),连续帧
  • 网络层的内部操作提供了分段和重组的方法。网络层的主要目的是传输可能适合或不适合单个LIN帧的消息。

  • 不适合单个LIN帧的消息被分割成多个部分,每个部分都可以在一个LIN帧中传输

在这里插入图片描述

在这里插入图片描述

PDU报文格式

  • 协议数据单元N_PDU (protocol data unit)用于在一个节点内的网络层与另一个或多个节点(对等协议实体)内的网络层之间传输数据。所有n_pdu都由以下三个字段组成
    在这里插入图片描述

Address information (N_AI)

  • N_AI用于识别网络层的通信对等体实体,在LIN报文中也就是NAD

Protocol control information (N_PCI)

  • 该字段标识交换的n_pdu的类型。它还用于在通信网络层实体之间交换其他控制参数,如下图N_PCI的类型。

在这里插入图片描述

Data field (N_Data)

  • 传输数据

示例

单帧

  • 单帧的N_PCI 格式如下,Byte 1的高4bit = 0,表明是单帧类型,低4bit 是单帧数据长度,有效值为1-6。
    在这里插入图片描述

  • 如下面示例,0x55是NAD,0x02是诊断数据长度。10 01是诊断请求的有效字节,其它0xFF为默认值。

在这里插入图片描述

多帧

  • 首帧 N_PCI字节的概述如下,Byte 1的高4bit = 1,表明是首帧类型,低4bit 和Byte 2的8bit 是多帧的数据长度,有效值为0x7 – 0xFFF。
    在这里插入图片描述

  • 连续帧 N_PCI字节的概述如下,Byte 1的高4bit = 2,表明是连续帧类型,低4bit是SN参数

在这里插入图片描述
SN参数在CF (ConsecutiveFrame) N_PDU中用于指定

  • 连续帧(CF)的数字升序
  • 对于所有分段消息,SN应该从0开始。第一帧(FF)应该被赋值为0
  • 紧跟在第一帧(FF)之后的第一个连续帧(CF)的SN应设置为1
  • 在分段消息传输期间,每传输一个新的连续帧(CF), SN就增加1
  • 当SN达到15时,下一个SN将环绕并设置为0

一个多帧传输的示例如下图所示:

在这里插入图片描述

缩写

  • API application programmers interface

  • BNF Bachus-Naur format

  • CF ConsecutiveFrame

  • FF FirstFrame

  • MRF Master Request Frame

  • N_AI network address information

  • N_As network layer timing parameter As

  • NAD Node Address for Slave Nodes

  • NCF node capability file

  • NCL node capability language

  • N_Cr network layer timing parameter Cr

  • N_Cs network layer timing parameter Cs

  • N_Data network data

  • N_PCI network protocol control information

  • N_PCItype network protocol control information type

  • N_PDU network protocol data unit

  • N_SA network source address

  • N_SDU network service data unit

  • N_TA network target address

  • N_TAtype network target address type

  • LDF LIN description file

  • N_USData network layer LIN data transfer service name

  • NWL network layer

  • OBD on-board diagnostics

  • OSI Open Systems Interconnection

  • PDU protocol data unit

  • PID parameter identifier

  • PRID protected identifier

  • SF SingleFrame

  • SN SequenceNumber

  • SRF Slave Response Frame

  • STmin SeparationTime minimum


在这里插入图片描述

23

7

  • 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!

  • 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。
    18

这篇关于LIN诊断(3)—— 传输层诊断协议(LINTP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

JVM 常见异常及内存诊断

栈内存溢出 栈内存大小设置:-Xss size 默认除了window以外的所有操作系统默认情况大小为 1MB,window 的默认大小依赖于虚拟机内存。 栈帧过多导致栈内存溢出 下述示例代码,由于递归深度没有限制且没有设置出口,每次方法的调用都会产生一个栈帧导致了创建的栈帧过多,而导致内存溢出(StackOverflowError)。 示例代码: 运行结果: 栈帧过大导致栈内存

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

Modbus-RTU协议

一、协议概述 Modbus-RTU(Remote Terminal Unit)是一种基于主从架构的通信协议,采用二进制数据表示,消息中的每个8位字节含有两个4位十六进制字符。它主要通过RS-485、RS-232、RS-422等物理接口实现数据的传输,传输距离远、抗干扰能力强、通信效率高。 二、报文结构 一个标准的Modbus-RTU报文通常包含以下部分: 地址域:单个字节,表示从站设备

网络原理之TCP协议(万字详解!!!)

目录 前言 TCP协议段格式 TCP协议相关特性 1.确认应答 2.超时重传 3.连接管理(三次握手、四次挥手) 三次握手(建立TCP连接) 四次挥手(断开连接)  4.滑动窗口 5.流量控制 6.拥塞控制 7.延迟应答 8.捎带应答  9.基于字节流 10.异常情况的处理 小结  前言 在前面,我们已经讲解了有关UDP协议的相关知识,但是在传输层,还有