AUTOSAR DCM ISO14229-1 :10服务(DiagnosticSessionControl service)

一、服务描述

  • 10服务用于在服务器中启用不同的诊断会话。 诊断会话在服务器中启用一组特定的诊断服务和/或功能。
  • 该服务提供的功能是,服务器可以报告数据链路层特定的参数值,使能诊断会话(例如计时参数值)。
  • 在服务器中始终只有一个诊断会话处于活动状态。服务器在上电时应该总是启动默认的诊断会话。如果没有启动其他诊断会话,那么只要服务器通电,默认诊断会话就会运行。
  • 如果客户端请求了一个已经在运行的诊断会话,那么服务器应该发送一个积极的响应消息,并按照图1所示的方式进行操作,图1描述了在会话之间转换时服务器的内部行为。
    会话切换
  • 每当客户端请求一个新的诊断会话时,服务器应该在新会话的计时在服务器中激活之前发送DiagnosticSessionControl积极响应消息。有些情况可能要求在发送积极响应之前进入新的会话,同时保持发送响应的旧协议时间。如果服务器无法启动所请求的新诊断会话,那么它将使用DiagnosticSessionControl否定响应消息进行响应,当前会话将继续进行。非默认诊断会话(不包括programmingSession)中的诊断服务和诊断功能集是defaultSession中提供的功能的超集,这意味着在切换到任何非默认诊断会话时,默认会话的诊断功能也是可用的。一个会话可以启用车辆制造商特定的服务和功能。
  • 为了启动一个新的诊断会话,服务器可能会请求满足某些条件。所有这些条件都是用户定义的。这种情况的例子有:
    1、服务器可能只允许具有特定客户端标识符(客户端诊断地址)的客户端启动特定的新诊断会话(例如,服务器可能要求只有具有客户端标识符F4的客户端才能启动extendedDiagnosticSession)。
    2、可能需要满足某些安全条件(例如车辆不得移动或发动机不得运转)。例如,programmingSession可能导致正常功能的丧失,因此,一些ecu可能要求车辆处于安全状态。
  • 在某些系统中,当一个新的诊断会话启动时,需要更改通信定时参数。DiagnosticSessionControl服务实体可以使用适当的服务原语更改为底层指定的计时参数,以更改本地节点中的通信计时,也可能更改客户机希望与之通信的节点中的通信计时。

关键点:
1、默认会话:当服务器在默认会话中,客户端请求启动defaultSession时,服务器必须完全重新初始化defaultSession。服务器将在激活会话期间重置所有已激活/已启动/已更改的设置/控件。这还不包括编程到非易失性内存中的长期更改。
2、其他转换到任何defaultSession:当服务器从defaultSession转换到任何其他会话而不是defaultSession时,服务器应该只暂停事件(类似于在非defaultSession是活动的时间段内的stopResponseOnEvent),在defaultSession期间通过ResponseOnEvent(86)服务在服务器中配置的事件
3、当服务器从非默认会话的诊断会话转换到非默认会话(包括当前激活的诊断会话)时,服务器应该(重新)初始化诊断会话,这意味着:
1)通过ResponseOnEvent(86)服务在服务器中配置的每个事件都将被停止。

2)安全要重新上锁。任何依赖于安全访问权限的主动诊断功能应重置安全访问权限的锁,进行重新解锁(例如DID的主动输入输出控制)

3)应维护新会话中支持的、不依赖于安全访问的所有其他活动的诊断功能。例如,当从一个非defaultsession转换到另一个或相同的非defaultsession时,任何配置的定期调度器都应保持活动状态,并且CommunicationControl和ControlDTCSetting服务的状态不应受到影响,这意味着正常通信在会话切换时处于禁用状态时应保持禁用

  • 转换到defaultSession:当服务器从缺省会话以外的任何诊断会话转换到defaultSession时,服务器将恢复通过ResponseOnEvent(86)服务在服务器中配置的每个事件,并且事件窗口仍然有效。此外,应在服务器中激活一个锁定的安全级别。defaultSession不支持的任何其他活动诊断功能都将被终止。例如,任何配置的定期调度器或输出控制都应该被禁用,并且CommunicationControl和ControlDTCSetting服务的状态应该被重置,这意味着当会话被切换到defaultSession时,正常的通信应该被重新启用。服务器将在激活会话期间重置所有已激活/已启动/已更改的设置/控件。这还不包括编程到非易失性内存中的长期更改

下图为默认和非默认诊断会话期间允许的服务
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

二、请求数据

在这里插入图片描述
diagnostics sessioncontrol服务使用SubFunction参数diagnostics sessiontype来选择服务器的特定行为。下图详细描述了可能的诊断会话的解释和用法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
三、积极回复
在这里插入图片描述

在这里插入图片描述
四、负响应代码–NRC
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值