20-11版本AUTOSAR_PRS_LogAndTraceProtocol文档翻译

1简介和概述

本协议规范规定了AUTOSAR协议Dlt的格式、消息序列和语义。
该协议允许将诊断、日志和跟踪信息发送到通信总线上。
因此,Dlt模块从应用程序或其他软件模块收集调试信息,向调试信息添加元数据,并将其发送到通信总线。
此外,Dlt协议允许根据严重级别过滤调试信息,例如“致命”、“错误”或“信息”。此筛选器可以在运行时通过外部日志记录工具发送的Dlt控制消息进行修改。
还可以直接向应用程序通知新的过滤器级别,以仅生成调试信息,特别是针对该选定的严重性级别,在运行时将消息分配给另一个通信总线,或者将修改后的Dlt配置存储为非易失性配置(如果硬件支持的话)。
在这里插入图片描述
1.1目的
Dlt协议可在ECU开发阶段用于记录调试信息,并将其外部存储在记录设备上。
1.2协议的适用性
它旨在在ECU的开发阶段使用Dlt协议。假设使用外部日志记录和跟踪工具来存储ECU生成的调试信息。
如果需要,还需要此日志记录和跟踪工具来在运行时修改过滤器设置,或者持久存储ECU的当前Dlt配置。
1.2.1安全和安保注意事项
强烈建议在开发阶段结束后停用Dlt功能。特别是,在任何情况下都应禁用注入功能!
Dlt功能的激活和停用应使用安全机制进行。
1.2.2约束和假设
Dlt协议设计为“无连接”工作。这意味着使用Dlt协议不需要外部通信或其他刺激。
尽管不需要连接外部日志记录工具,但有一个可以存储和解释接收到的调试消息的日志记录工具是有意义的。该设备还可用于生成Dlt控制消息以影响ECU,如修改过滤器设置(即更改调试信息的严重性级别)。
1.2.3限制
应考虑通信总线的可用(免费)带宽,以免对常规通信产生太大影响。
1.4对应用层的依赖
为了传输Dlt消息,应用程序需要知道是使用详细模式还是非详细模式发送Dlt消息。
此外,应用程序可以提供获得关于过滤器设置更改的通知的可能性。为此,应用程序应在Dlt模块中进行自身注册。

2用例

本章描述了可以通过实现Dlt协议的ECU的环境来实现的用例。
尽管Dlt协议与总线无关,但建议使用具有更高带宽的通信总线,如以太网。尽管如此,它并不局限于此。
2.1.1使用Dlt的用例通用日志记录
在这里插入图片描述
(1) 应用程序/SW-C正在向Dlt模块提供日志消息。
(2) 日志消息由实现Dlt协议的Dlt模块过滤或创建Dlt消息。(取决于日志级别。)
(3)Dlt模块将Dlt消息发送到通信总线。
(4) 外部客户端接收并存储Dlt消息。
2.1.3 Dlt的用例运行时配置
在这里插入图片描述
(1) 外部客户端设置日志和跟踪级别,并将更改发送到实现Dlt协议的Dlt模块。
(2) 通过Dlt控制消息,将改变发送到实现Dlt协议的Dlt模块。
(3) Dlt模块相应地调整其过滤器设置的配置。
(4) Dlt模块向应用程序通知新的日志级别。
2.1.4用例非详细模式
为了减少总线上的流量,可以避免在通信总线上发送有关变量的元数据。
相反,一个外部文件保存了应如何解释有效载荷的信息。外部Dlt客户端将这些元数据与接收到的参数值合并并存储。
在这里插入图片描述

(1) 应用程序/SW-C正在向Dlt模块提供非详细的日志记录数据。
(2) Dlt模块过滤并生成Dlt消息。
(3) Dlt模块向通信总线发送Dlt消息。
(4) 外部客户端从外部文件获取元信息。
(5) 合并后的信息由外部客户端存储。

5协议规范

5.1消息格式
消息格式对于调试数据和控制信息,使用相同的DLT消息格式。
它由一个标准报头、一个可选的扩展报头和一个有效载荷段组成在这里插入图片描述
5.1.1 Standard Header
在这里插入图片描述
[PRS_Dlt_00458] ⌈The Dlt Standard Header shall consist of the following fields in the
following order:
 Byte 0: HTYP (Header Type)
 Byte 1: MCNT (Message Counter)
 Byte 2-3: LEN (Length)
 Byte 4-7: ECU (ECU ID)
 Byte 8-11: SEID (Session ID)
 Byte 12-15: TMSP (Timestamp)
⌋ (RS_LT_00002)
5.1.1.1 Header Type
5.1.1.1报头类型DLT报头类型(HTYP)包含有关DLT消息的一般信息。
[PRS_DLT_00094]⌈报头类型(HTYP)应包含以下信息并按以下方式编码:
 Bit 0: UEH (Use Extended Header)
 Bit 1: MSBF (Most Significant Byte First)
 Bit 2: WEID (With ECU ID)
 Bit 3: WSID (With Session ID)
 Bit 4: WTMS (With Timestamp)
 Bit 5-7: VERS (Version Number)
⌋ (RS_LT_00002)
在这里插入图片描述
[PRS_Dlt_00600] ⌈The Header Type (HTYP) shall be the first byte of any Dlt
message. ⌋ (RS_LT_00002)
[PRS_Dlt_00601] ⌈The size of the Header Type (HTYP) shall be 1 byte. ⌋
(RS_LT_00002)
[PRS_Dlt_00602] ⌈If the UEH bit is set to ‘0’, the extended header is not used. ⌋
(RS_LT_00002)
[PRS_Dlt_00603] ⌈If the UEH bit is set to ‘1’, the extended header is used. ⌋
(RS_LT_00002)
Note: If the verbose mode is needed, the UEH bit has to be set to 1.
[PRS_Dlt_00604] ⌈If the MSBF bit is set to ‘0’, the payload data is encoded in little
endian format. ⌋ (RS_LT_00002, RS_LT_00016)
[PRS_Dlt_00605] ⌈If the MSBF bit is set to ‘1’, the payload data is encoded in big
endian format. ⌋ (RS_LT_00002, RS_LT_00016)
[PRS_Dlt_00606] ⌈If the WEID bit is set to ‘0’, the ECU ID (ECU) field is not
contained in the Standard Header. ⌋ (RS_LT_00002, RS_LT_00022)
[PRS_Dlt_00607] ⌈If the WEID bit is set to ‘1’, the ECU ID (ECU) field is contained in
the Standard Header. ⌋ (RS_LT_00002, RS_LT_00022)
[PRS_Dlt_00608] ⌈If the WSID bit is set to ‘0’, the Session ID (SEID) field is not
contained in the Standard Header. ⌋ (RS_LT_00002)
5.1.1.2消息计数器
消息计数器对传输到选定日志通道的DLT消息进行计数。
每个日志通道都需要维护自己的消息计数器。
在接收方,可以评估消息计数器值,以识别丢失的消息达到某个级别。
[PRS_DLT_00319]⌈消息计数器是一个无符号8位(0-255)整数。
⌋(RS_LT_00018)[PRS_DLT_00613]⌈在DLT模块初始化后,消息计数器(MCNT)应设置为‘0’。
⌋(RS_LT_00018)[PRS_DLT_00105]⌈对于传输到分配的日志通道的每条DLT消息,消息计数器应递增1。⌋(RS_LT_00018)[PRS_DLT_00106]⌈如果消息计数器达到255,则计数器将在下一条要传输的日志和跟踪消息时取整并从值‘0’开始。⌋(RS_LT_00018)
5.1.3正文/有效载荷格式
DLT有效载荷跟随在DLT报头或DLT扩展报头之后(如果使用)。DLT有效负载包含记录或跟踪的参数,或者它包含控制信息。
[PRS_DLT_00314]⌈如果UEH(使用扩展报头)位设置为‘1’,则有效载荷应与DLT扩展报头相邻。⌋(RS_LT_00013,RS_LT_00023)[PRS_DLT_00315]⌈如果UEH(使用扩展报头)位设置为‘0’,则有效载荷应与DLT标准报头相邻。⌋(RS_LT_00013,RS_LT_00023)5.1.3.1非冗余模式下的有效负载为了能够仅传输参数值,而不需要关于参数值的任何元信息,可以使用非冗余模式的附加属性,如参数名称或类型。
为了允许正确地分解接收到的DLT消息内包含的参数值,将专用消息ID添加到有效负载。
一个单独的外部文件根据相应的消息ID包含对有效载荷布局的描述。
在这里插入图片描述
5.2报文类型
5.2.1数据报文
DLT数据报文按照5.1章《报文格式》中所述进行组装。
5.2.2控制消息
DLT控制消息主要用于修改DLT模块在运行时的行为。它们允许改变通信总线来发送DLT数据消息,修改过滤器级别,配置可以触发存储为非易失性。
5.3服务/命令
以下章节介绍已定义的DLT命令,包括唯一ID(服务ID)、格式和所需参数。
[PRS_DLT_00635]⌈应支持使用以下服务ID的下列dlt命令:
在这里插入图片描述

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

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

相关文章

软件设计师——信息安全(一)

📑前言 本文主要是【信息安全】——软件设计师——信息安全的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1f304…

华为OD试题五(数列描述、矩阵最大值、数据分类)

1. 数列描述 示例代码&#xff1a; # 核心 从第一项 推 第N项目 # 第一项 a0 1 # 推到 第N项 N 4 def fun(a0):# 计算每一项的具体值result left 0cursor 0while cursor < len(a0):if a0[cursor] ! a0[left]:count cursor -leftresult "{}{}".format(str(…

面相对象开发的原则

1、开闭原则 对修改关闭&#xff0c;对扩展打开。 2、里氏替换原则 子类继承父类的方法时&#xff0c;不可重写父类的方法。 如果重写了父类的方法会导致整个继承体系比较差&#xff0c;特别是运用多态比较平凡时&#xff0c;程序运行出错概率较大。 如果出现了违背“里氏替换…

计网Lesson9 - 链路协议和网络概述

文章目录 数据链路层协议Ethernet V2标准Ethernet V2帧格式Ethernet V2帧长度标准以太网帧 MAC 帧协议 PPP 协议PPP 概述PPP 帧 网络层网络层的设计选择 数据链路层协议 Ethernet V2标准 Ethernet V2帧格式 以太网帧格式说明&#xff1a; 6 6 6 字节目标地址 6 6 6 字节源地…

【LeetCode每日一题】1904. 你完成的完整对局数

给你两个字符串 startTime 和 finishTime &#xff0c;均符合 "HH:MM" 格式&#xff0c;分别表示你 进入 和 退出 游戏的确切时间&#xff0c;请计算在整个游戏会话期间&#xff0c;你完成的 完整对局的对局数 。 如果 finishTime 早于 startTime &#xff0c;这表示…

verilog基础,连续赋值之组合逻辑

连续赋值语句可以完成任意组合逻辑&#xff0c;本节对基本的逻辑电路进行测试分析&#xff0c;主要包含一下内容&#xff1a; 1. 反相器 2. 与门 3.与非门 4.或门 5.或非门 6.异或门 7.同或门 verilog实现逻辑操作的算符如下 // ~ .... Invert a single-bit signal…

「Leetcode」滑动窗口—长度最小的子数组

&#x1f4bb;文章目录 &#x1f4c4;题目✏️题目解析 & 思路&#x1f4d3;总结 &#x1f4c4;题目 209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …,…

【UE 材质】角色触碰空气墙效果

效果 步骤 1. 新建一个工程&#xff0c;创建一个Basic关卡&#xff0c;添加一个第三人称游戏资源到内容浏览器 2. 新建一个材质参数集&#xff0c;这里命名为“MPC_Vector” 打开“MPC_Vector”&#xff0c;添加一个向量参数 3. 新建一个材质&#xff0c;这里命名为“M_Wall”…

力扣每日一题:2132. 用邮票贴满网格图(2023-12-14)

力扣每日一题 题目&#xff1a;2132. 用邮票贴满网格图 日期&#xff1a;2023-12-14 用时&#xff1a;38 m 32 s 思路&#xff1a;使用前缀和&#xff0b;差分&#xff0c;只是往常是一维&#xff0c;现在变二维了&#xff0c;原理差不多 时间&#xff1a;22ms 内存&#xff1…

运行和部署若依分离版前端

一、运行 一、用vscode打开 二、安装依赖 # 建议不要直接使用 cnpm 安装依赖&#xff0c;会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 npm install --registryhttps://registry.npmmirror.com# 启动服务 npm run dev浏览器访问 http://localhost:80二、部…

数据库的优化

1、创建index索引&#xff1b; 2、减少select * 的使用&#xff0c;具体一点&#xff0c;全取会增加web服务器的负担&#xff1b; 3、explain select&#xff1a;显示了mysql如何使用索引来处理select语句以及连接表&#xff1b; 4、度多使用varchar/nvarchar&#xff0c;变长…

深入解析,录制视频的软件推荐(3款)

在信息时代&#xff0c;视频成为了传递信息、分享经验的重要媒介。为了创作出更具吸引力和实用性的视频&#xff0c;选择合适的录制工具显得至关重要。本文将深入介绍3款录制视频的软件&#xff0c;通过本文&#xff0c;您将深入了解这3款软件的使用方法&#xff0c;以满足不同…

JRT文件服务实现

网站与客户端打印和导出方面已经无大碍了&#xff0c;今天抽时间整整文件服务&#xff0c;文件服务设计可以查看下面连接。原理一样&#xff0c;代码会有些变化。 文件服务设计 首先实现文件服务的服务端&#xff0c;就是一个业务脚本&#xff0c;用来接收上传、移动和删除文件…

往上走^^

欢迎来到程序小院 往上走 玩法&#xff1a;转动的圆球&#xff0c;点击固定到上方的圆中即可往上走一步&#xff0c;转动超过上面圆即游戏结束&#xff0c; 往上走一步加1分&#xff0c;快去往上走吧^^。开始游戏https://www.ormcc.com/play/gameStart/218 html <canvas wi…

Gin之GORM 查询语句

前期工作可以看之前的&#xff08;连接数据库&#xff1b;以及确定要操作的库&#xff09; Gin之GORM 操作数据库&#xff08;MySQL&#xff09;-CSDN博客https://blog.csdn.net/m0_72264240/article/details/134948202?spm1001.2014.3001.5502这次我们操作gin库下的另外一个…

Android--Jetpack--数据库Room详解二

本是青灯不归客&#xff0c;却因浊酒恋红尘 一&#xff0c;基本使用 关于Room数据库的基本使用&#xff0c;请参考文章Android--Jetpack--数据库Room详解一-CSDN博客 二&#xff0c;Room与ViewModle,LiveData的结合使用 LiveData与ViewModle的使用&#xff0c;请参考文章Andr…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑移动式储能调度的配电网灾后多源协同孤岛运行策略》

这篇文章的标题表明研究的主题是在配电网发生灾害后&#xff0c;采用一种策略来实现多源协同孤岛运行&#xff0c;并在这个过程中特别考虑了移动式储能的调度。 让我们逐步解读标题的关键词&#xff1a; 考虑移动式储能调度&#xff1a; 文章关注的焦点之一是移动式储能系统的…

国标GB28181安防监控系统/磁盘阵列EasyCVR(V.3.4)新亮点:免保活功能

TSINGSEE青犀近日发布了EasyCVR安防管理平台的V.3.4版本&#xff0c;其中一大亮点就是很多朋友都在咨询的“免保活”功能&#xff0c;那么&#xff0c;什么是“免保活”功能&#xff1f;又该如何配置呢&#xff1f; 在EasyCVR平台有个【按需直播】按钮&#xff0c;顾名思义&…

ARM流水灯

.text .global _start _start: LED1 1.RCC时钟使能GPIOE RCC_MP_AHB4ENSETR[4]->1 LDR R0,0x50000a28 LDR R1,[R0] ORR R1,R1,#(0x1<<4) STR R1,[R0] 2.设置PE10为输出模式 GPIOE_MODER[21:20]->01 先清0 LDR R0,0x50006000 LDR R1,[R0] BIC R1,R1,#(0x3<&…

Linux | 多线程

前言 本文主要介绍多线程基础知识&#xff0c;以及使用多线程技术进行并发编程&#xff1b;最后会介绍生产者消费者模型&#xff1b; 一、线程基本认识 1、什么是线程 如果你是科班出生&#xff0c;你肯定听过线程相关概念&#xff1b;但是你可能没有真正搞懂什么是线程&#…