当前位置: 首页 > news >正文

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命令:
在这里插入图片描述

相关文章:

AUTOSAR_PRS_LogAndTraceProtocol文档翻译

1简介和概述 本协议规范规定了AUTOSAR协议Dlt的格式、消息序列和语义。 该协议允许将诊断、日志和跟踪信息发送到通信总线上。 因此,Dlt模块从应用程序或其他软件模块收集调试信息,向调试信息添加元数据,并将其发送到通信总线。 此外&#x…...

自定义比较器

package org.jeecg.modules.develop.api.livePort; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; // 创建一个泛型类 class MyObject { private T data; public MyObject(T data) {this.data data; }p…...

【NLP】如何管理大型语言模型 (LLM)

什么是LLM编排? LLM 编排是管理和控制大型语言模型 (LLM)的过程,以优化其性能和有效性。这包括以下任务: 提示LLM:生成有效的提示,为LLMs提供适当的背景和信息以产生所需的输出。链接LLM: 结合多个LLM的输…...

利用机器学习实现客户细分的实战

前言: Hello大家好,我是Dream。 今天来学习一下机器学习实战中的案例:创建客户细分,在此过程中也会补充很多重要的知识点,欢迎大家一起前来探讨学习~ 一、导入数据 在此项目中,我们使用 UCI 机器学习代码库…...

Tair(4):Tair原理架构

一个Tair集群主要包括3个必选模块:ConfigServer、Dataserver和Client 通常情况下,一个 Tair 集群中包含2台 Configserver 及多台 DataServer。其中两台 Configserver 互为主备。通过和 Dataserver 之间的心跳检测获取集群中存活可用的 Dataserver&#…...

SAP UI5 walkthrough step7 JSON Model

这个章节,帮助我们理解MVC架构中的M 我们将会在APP中新增一个输入框,并将输入的值绑定到model,然后将其作为描述,直接显示在输入框的右边 首先修改App.controllers.js webapp/controller/App.controller.js sap.ui.define([&…...

智能检测/摄像头监控系统EasyCVR无法启动进程是什么原因?如何解决?

国标GB28181智慧安防平台EasyCVR支持高清视频的接入和传输、分发,平台采用了开放式的网络结构,提供实时远程视频监控、录像回放与存储等功能。视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持…...

export命令详解

export命令详解 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! Export命令详解:释放Linux强大的数据导出能力 在Linux世界中,export命令是…...

十几个软件测试实战项目【外卖/医药/银行/电商/金融】

项目一:ShopNC商城 项目概况: ShopNC商城是一个电子商务B2C电商平台系统,功能强大,安全便捷。适合企业及个人快速构建个性化网上商城。 包含PCIOS客户端Adroid客户端微商城,系统PC后台是基于ThinkPHP MVC构架开发的跨…...

用python打印出菱形图案

你可以使用Python编写一个简单的函数来打印菱形图案。下面是一个例子,这个函数接受一个参数n,表示菱形的高度,然后打印出一个菱形图案: def print_diamond(n): # 上半部分 for i in range(n): print(" " …...

k8s 中externalTrafficPolicy应用场景和实践

在Kubernetes(K8s)中,externalTrafficPolicy 是一个用于控制服务的外部流量的策略。这个字段可以在 Service 的定义中设置,其主要作用是决定服务对外部请求的负载均衡行为。具体来说,externalTrafficPolicy 有两个可选…...

Selenium自动化测试框架(超详细)

Selenium自动化测试(基于python) 1、Selenium简介 1.1 Selenium是一款主要用于Web应用程序自动化测试的工具集合。Selenium测试直接运行在浏览器中,本质是通过驱动浏览器,模拟浏览器的操作,比如跳转、输入、点击、下…...

蚂蚁SEO实用的网络baidu蜘蛛有哪些

网络蜘蛛是一种用于从互联网上自动抓取信息的程序。它们根据给定的规则和指令,遍历网站上的页面,收集信息并将其存储在数据库中。网络蜘蛛在搜索引擎、数据挖掘、信息提取等领域有着广泛的应用。本文将介绍一种实用的网络蜘蛛,并探讨其实现原…...

滑动窗口如人生,回顾往事不复还———力扣刷题

第一题:长度最小的子数组 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 思路: 第一想法肯定时暴力枚举,枚举数组任何一个元素,把他当起始位置,然后从起始位置找最短区间,使得…...

VM实现方式及其优缺点

在众多VM实现方式中,我可以说几种常见的实现方式。例如,基于栈的方式、基于寄存器的方式、基于堆的方式等。下面我将分别对这几种方式进行阐述,并讨论它们各自的优点和缺点,以及它们各自的应用场景。 基于栈的方式 基于栈的方式…...

MySQL——库,表基础操作

目录 一.库的操作 1.显示当前的数据库列表 2.创建数据库 3.字符集和校验规则 4.操纵数据库 5.删除数据库 6.数据库备份与还原 7.查看连接情况 二.表的操作 1.创建表 2.查看表结构 3.修改表 4.删除表 一.库的操作 1.显示当前的数据库列表 show databases; 2.创建数…...

文件批量管理方法:100个文件要怎样快速放在100个指定的文件夹中

处理大量文件时,经常要将多个文件放入相应的文件夹中。如果要处理的文件数量较大,例如100个文件要放入100个指定的文件夹中,那么如何快速有效地完成这个任务呢?下面看下云炫文件管理批量管理文件的方法,快速将100个文件…...

管理的五大过程和十大知识领域

PMBOK五大过程组是什么? PMBOK五大过程组是:启动过程、规划过程、执行过程、监控过程、收尾过程。 各用一句话概括项目管理知识体系五大过程组: 1、启动过程组:作用是设定项目目标,让项目团队有事可做; 2、…...

C/C++ 快乐数: 编写一个算法来判断一个数n是不是快乐数

题目: 编写一个算法来判断一个数n是不是快乐数。 快乐数的定义: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过…...

【后端】JVM 远程调试

前言 再好的代码,也还是有瑕疵的,不是代码不给力,是线上问题太牛逼太玄幻。这不刚部署就出现了问题,幸好还是测试的时候,早点发现早点解决,不给任何人带来不必要的损失,是我做人的原则,只要钱到位,任何问题都不是问题。 JVM 远程调试 不得不说 IDEA 和 宝塔配合是真…...

接口测试中缓存处理策略

在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: ​onCreate()​​ ​调用时机​:Activity 首次创建时调用。​…...