当前位置: 首页 > 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 和 宝塔配合是真…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...