网络层协议数据单元-N_PDU

news2025/4/5 1:19:53

诊断协议那些事儿

关联文章:
UDS的OSI模型
ISO14229各Part介绍:第三部分:CAN实施的统一诊断服务(UDSonCAN)
UDS诊断网络层ISO15765-2(CAN)
功能寻址的注意事项


文章目录

  • 诊断协议那些事儿
  • 一、N_PDU
  • (1)常规寻址(Normal addressing)—11位ID的CAN报文
  • (2)常规固定寻址(Normal fixed addressing)—29位CAN ID的报文
  • (3)扩展寻址(Extended addressing)——11位ID的CAN报文
  • (4)混合寻址(Mixed Addressing)——11或29位CAN ID
    • 11位ID CAN报文混合寻址的详细映射关系:
    • 29位ID CAN报文混合寻址的详细映射关系:
  • 二、测试消息流示例:基于扩展寻址的物理寻址和功能寻址
  • 总结


一、N_PDU

网路层的所有内容被称为网络层协议数据单元,记为N_PDU,它的格式为:
npdu
N_AI:Address information地址信息,包含了目标地址、源地址、可能还有远程地址等所有与地址有关的信息,通常就是指CAN报文的ID,但某些情况下(如扩展寻址模式和混合寻址模式),会占用数据场中的第一个字节。
N_PCI:协议控制信息,是发送方和接收方之间传输的一些控制字,其中包含了数据帧的类型和数据场长度。
N_Data:数据场,要传输的应用层数据。
把上面网络层的三种信息映射到一帧CAN报文上的时候,有以下四种方式:

(1)常规寻址(Normal addressing)—11位ID的CAN报文

N_SA,N_TA,N_TAtype,Mtype的组合分配一个唯一的CAN ID
1
2

(2)常规固定寻址(Normal fixed addressing)—29位CAN ID的报文

常规固定寻址是常规寻址的一种子格式,其中进一步定义了N_AI到CAN ID的映射。在上面描述的常规寻址的一般情况下,N_Al和CAN ID之间的通信是开放的。对于常规固定寻址,只允许29位CAN ID。表21和表22根据目标地址类型(n_tatype)定义地址信息(N_Al)到CAN ID的映射。N_PCI和N_Data放在CAN帧数据字段中。
3
4

(3)扩展寻址(Extended addressing)——11位ID的CAN报文

对于N_SA、n_tatype和Mtype的每一个组合,分配一个唯一的CAN标识符。N_TA被放在CAN帧数据字段的第一个数据字节中。N_PCI和N_Data被放置在CAN帧数据字段的剩余字节中。表23定义了N_PDU参数到CAN帧的映射,其中寻址格式是扩展的,
5
6

(4)混合寻址(Mixed Addressing)——11或29位CAN ID

混合寻址是当Mtype设置为远程诊断时使用的寻址格式。把远程地址映射到CAN数据帧的第一个字节,其他域映射到CAN ID.

11位ID CAN报文混合寻址的详细映射关系:

7
8

29位ID CAN报文混合寻址的详细映射关系:

9
10

二、测试消息流示例:基于扩展寻址的物理寻址和功能寻址

预设条件:
第一组UDS/OBD诊断ID:
功能寻址ID:0x754 经典CAN标准帧,DLC = 8;
物理请求ID:0x754 经典CAN标准帧,DLC = 8;
物理响应ID:0x75C 经典CAN标准帧,DLC = 8;

第二组UDS/OBD诊断ID:
功能寻址ID:0x755 经典CAN标准帧,DLC = 8;
物理请求ID:0x755 经典CAN标准帧,DLC = 8;
物理响应ID:0x75C 经典CAN标准帧,DLC = 8;

每组UDS/OBD诊断ID中,功能寻址ID和物理寻址ID相同
两组UDS/OBD诊断ID中,复用同一个响应ID

①物理寻址:

// Physical Address
35.882327 CAN 1 Tx 755 DLC:8 Data: 82 02 10 03 00 00 00 00
35.890231 CAN 1 Rx 75C DLC:8 Data: 81 06 50 03 00 32 01 f4

36.008851 CAN 1 Tx 755 DLC:8 Data: 82 03 22 a1 23 00 00 00
36.011963 CAN 1 Rx 75C DLC:8 Data: 81 04 62 a1 23 00 aa aa

36.276861 CAN 1 Tx 754 DLC:8 Data: 82 02 10 03 00 00 00 00
36.281816 CAN 1 Rx 75C DLC:8 Data: 80 03 7f 10 22 aa aa aa

37.063567 CAN 1 Tx 754 DLC:8 Data: 82 03 22 a1 23 00 00 00
37.069800 CAN 1 Rx 75C DLC:8 Data: 80 03 7f 22 22 aa aa aa

②功能寻址:

// Functional Address
52.594184 CAN 1 Tx 755 DLC:8 Data: 09 02 10 03 00 00 00 00
52.596319 CAN 1 Rx 75C DLC:8 Data: 81 06 50 03 00 32 01 f4

52.843457 CAN 1 Tx 755 DLC:8 Data: 09 03 22 a1 23 00 00 00
52.844948 CAN 1 Rx 75C DLC:8 Data: 81 04 62 a1 23 00 aa aa

53.534306 CAN 1 Tx 754 DLC:8 Data: 09 02 10 03 00 00 00 00
53.536107 CAN 1 Rx 75C DLC:8 Data: 80 03 7f 10 22 aa aa aa

53.989616 CAN 1 Tx 754 DLC:8 Data: 09 03 22 a1 23 00 00 00
53.995857 CAN 1 Rx 75C DLC:8 Data: 80 03 7f 22 22 aa aa aa

总结

补充:ISO15765-2 2011版7.3.2.4描述功能寻址仅支持单帧通信
11
以上就是今天要讲的内容,后续将针对实际项目开发过程中遇到的问题进一步深入展开,欢迎读者关注、点赞,并提供宝贵意见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

雅思词汇真经单词共3663个

雅思词汇真经 / Vocabulary for IELTS / 学为贵 赢未来 / 英语真经派学习法 一本书精通雅思词汇 / 刘洪波 编著 / 涵盖:雅思必备核心词汇刘洪波老师原创雅思考点词库 逻辑词群记忆法,一群一群记单词,快速备考无负责 时尚插图,趣味…

Golang实现小型CMS内容管理功能(一):Gin框架搭配Gorm实现增删查改功能

我自己开发了一款在线客服系统,最近一直琢磨把客服系统官网做好。因为访客来的人不少,大部分人可能就是看看官网界面就走了,怎样把这些访客留存下来,去测试试用客服系统,是我一直琢磨的问题。 官网是一个企业的门面&a…

PyQT6 pip install (三) 百篇文章学PyQT

本文章是百篇文章学PyQT的第三篇,本文讲述如何使用PIP安装PyQT6,PyQT6在安装过程中会遇到很多问题,博主在本篇文章中将遇到和踩过的坑总结出来,可以供大家参考,希望大家安装顺利。包括 安装、遇到问题的解决方案、怎么…

卷积运算与卷积核DLC

一、卷积运算 在数学上,卷积的定义是:两个函数在反转和位移后的乘积的积分,其公式表现为: 其中称g为过滤器,f为信号。 但是在深度学习中,卷积并不进行反转,而是直接进行逐元素的乘法和加法&…

【读书笔记】人月神话(一)

后续文章都是从本人的知乎博客上搬迁过来。 在软件领域,布鲁克斯博士的《人月神话》是一本关于大型项目管理的经典之作。这本书不仅对每一个软件行业的项目经理(PM)来说是一本必读读物,对每个软件行业的参与者(程序员,测试人员或者是创业者)…

详解c++---类和对象(三)

目录标题拷贝构造函数为什么会有该函数拷贝构造的特性第一个性质的详解第二个性质详解第三个性质的详解什么时候得自己写拷贝构造函数哪些场景会用到拷贝构造函数运算符重载函数为什么会有运算符重载运算符重载的形式>和>的运算符重载和的运算符的重载-和-的运算符重载运…

用anacnda创建虚拟环境用不用指定python版本

用anaconda创建了python虚拟环境以后,想用pycharm指定这个python解释器。 首先,在我创建虚拟环境并未指定python版本的情况下,在使用anaconda prompt的命令 conda create -n envs_name(未指定python版本)以后&#xff…

智能油井在线监控解决方案,第一时间掌握所有动态

随着物联网、云计算等技术的不断革新,物联网技术已经渗透到工业生产的方方面面。例如智能油井;油田地域广阔,分布着大量各种油井,油井开采设备的连续稳定运行是保证石油开采的首要条件。但是油井生产过程中,各井之间距…

C++ 多线程 线程安全队列设计

这是看《C并发编程实战》这本书学的,这里我要为这本书辟谣一下,虽然是这本书前面翻译得很烂,但是从第6章开始,应该是换了个人翻译,虽然还是能难懂,但是难懂的是代码逻辑,而不是语言逻辑&#xf…

MySQL8.0优化 - 锁 - 全局锁、死锁

文章目录学习资料锁的不同角度分类锁的分类图如下其他锁之:全局锁其他锁之:死锁概念产生死锁的必要条件如何处理死锁如何避免死锁学习资料 【MySQL数据库教程天花板,mysql安装到mysql高级,强!硬!-哔哩哔哩…

Java——继承下的抽象类与接口

文章目录壹、抽象类贰、接口前言: 我们前一章写了继承性,这一章节,一起来学习Java中的抽象类与接口相关知识。 壹、抽象类 1、定义:用关键字abstract修饰的类称为抽象类(abstract类)。 2、格式&#xff1…

进程调度例题解析

文章目录例题1 一个四道作业的操作系统中,设在一段时间内先后到达6个作业,它们的提交时间和运行时间见表例题2 一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法&…

智慧矿山解决方案-最新全套文件

智慧矿山解决方案-最新全套文件一、建设背景二、建设思路智能矿山建设存在的问题1、行业上存在的问题2、承建商存在的问题3、矿井自身存在的问题三、建设方案四、获取 - 智慧矿山全套最新解决方案合集一、建设背景 采矿业是我国国民经济的基础和支柱产业,而矿山智慧…

云安全防护总体架构设计

安全需求和挑战 从风险管理的角度讲,主要就是管理资产、威胁、脆弱性 和防护措施及其相关关系,最终保障云计算平台的持续安全,以及 其所支撑的业务的安全。 云计算 平台是在传统 IT技术的基础上,增加了一个虚拟化层,并…

MobaXterm工具使用/Docker安装Redis/Redisinsight工具使用

✨✨个人主页:沫洺的主页 📚📚系列专栏: 📖 JavaWeb专栏📖 JavaSE专栏 📖 Java基础专栏📖vue3专栏 📖MyBatis专栏📖Spring专栏📖SpringMVC专栏📖SpringBoot专…

c++——map和set的使用

目录 一. 关联式容器 二. 键值对 三. 树形结构 Ⅰ. set 1. set的介绍 2. set的模版参数 3. set的构造 4. set的迭代器 5. set的容量 6. set其他操作 7. set的使用代码 Ⅱ. map 1. map的介绍 2. map的模板参数说明 3. map的构造 4. map的迭代器 5. map的容量 6…

Qt OpenGL(二十三)——Qt OpenGL 核心模式-给三角形上色

Qt OpenGL(二十三)——Qt OpenGL 核心模式-给三角形上色 本篇文章本来打算和上一篇文章写到一块的,但是考虑到VAO和VBO的概念是学习OpenGL核心模式绕不开的一个概念,所以单独再写一篇了,并且后面切换到使用Qt封装的VAO和VBO的时候,流程和这个也差不多,所以还是要做到理…

爬虫脚本代理池调度

爬虫脚本代理池调度 有时在使用爬虫或者使用脚本需要频繁访问一个网站,这种时候很容易被服务器给ban掉ip,这种情况就可以使用代理池。从代理池中进行调度获取新的ip进行访问。 使用的是开源免费的python项目地址如下: https://github.com/j…

【GPGPU编程模型与架构原理】第二章 2.1 计算模型

本章介绍以CUDA和OpenCL 并行编程中的一些核心架构概念来展示GPGPU的计算、编程和存储模型。本章还介绍虚拟指令集和机器指令集,逐步揭开GPGPU体系结构的面纱。 2.1 计算模型 计算模型是编程框架的核心,计算模型需要根据计算核心的硬件架构提取计算的共…

使用TinyPNG API压缩图片

使用TinyPNG API压缩图片 在撰写论文的时候,美观,大气,上档次的图标能够很好地给自己的论文加分,好的可视化结果也能够让审稿人赏心悦目。但是有时候在可视化图片的时候有可能原始图像过大从而很占内存;这时候就希望能…