UDS 诊断 - AccessTimingParameter(访问计时参数)(0x83)服务

UDS 诊断服务系列文章目录

UDS 诊断 - DiagnosticSessionControl(诊断会话控制)(0x10)服务
UDS 诊断 - ECUReset(ECU重置)(0x11)服务
UDS 诊断 - SecurityAccess(安全访问)(0x27)服务
UDS 诊断 - CommunicationControl(通信控制)(0x28)服务
UDS 诊断 - TesterPresent(测试仪保活)(0x3E)服务
UDS 诊断 - AccessTimingParameter(访问计时参数)(0x83)服务


一、服务说明

AccessTimingParameter(访问计时参数)用于读取和更改通信链路激活期间该通信链路的默认计时参数。

本服务的使用比较复杂,取决于服务器的能力及数据链路拓扑。每个诊断会话仅支持一个扩展的计时参数集。建议使用仅带物理寻址功能的服务,因为服务器支持不同的扩展计时参数集。

建议使用一下服务序列:

  • DiagnosticSessionControl(诊断会话控制)(0x10)(diagnosticSessionType(诊断会话类型))服务;
  • AccessTimingParameter(访问计时参数)(0x83)(readExtendedTimingParameterSet(读取扩展的计时参数集))服务;
  • AccessTimingParameter(访问计时参数)(0x83)(setTimerParametersToGivenValues(计时参数值设置为指定值))服务;
  • 需要服务器发送响应的情况下,服务器发送 AccessTimingParameter(访问计时参数)肯定响应消息之后,客户端和服务器应激活新的计时参数设置。不允许发送响应消息的情况下,传输 / 接收请求消息之后,客户端和服务器应激活新的计时参数。

    成功切换到另一个或相同的诊断会话后,服务器和客户端应将其计时参数重置为默认值(例如,通过 DiagnosticSessionControl(诊断会话控制)(0x10),ECUReset(ECU重置)(0x11)服务或会话计时超时进行重置)。

    AccessTimingParameter(访问计时参数)服务提供四种不同的访问服务器计时参数的方式:

  • readExtendedTimingParameterSet(读取扩展的计时参数集);
  • setTimingParametersToDefaultValues(计时参数设置为默认值);
  • readCurrentlyActiveTimingParameters(读取当前活动的计时参数);
  • setTimerParametersToGivenValues(计时参数值设置为指定值);
  • 二、请求消息

    1.请求消息定义

    字节参数名称字节值
    #1AccessTimingParameter(访问计时参数)请求SID0x83
    #2sub-function = [ timingParameterAccessType ]0x00 - 0xFF

    #3
    .
    .
    #n



    TimingParameterRequestRecord[] = [
    byter#1
    .
    .
    byte#m

    仅当 timingParameterAccessType = setTimingParameterToGivenValues 时该参数存在。 ]

    0x00 - 0xFF
    .
    .
    0x00 - 0xFF

    2.请求消息子功能参数定义

    第 6 至 0 位说明
    0x00保留
    0x01readExtendedTimingParameterSet(读取扩展的计时参数集)
    接收 timingParameterAccessType = readExtendedTimingParameterSet 的 AcessTimingParameter(访问计时参数)指示源于后,服务器应读取扩展的计时参数集,即服务器可支持的参数值。
    如果成功读取访问计时参数集,则服务器应发送带肯定响应参数的AccessTimingParament(访问计时参数)响应原语。
    如果未成功读取访问计时参数集,则服务器应发送带适宜的否定响应代码的否定响应消息。
    该子功能用于为当前有效诊断会话提供额外的计时参数集。
    凭借 timingParameterAccessType = setTimingParametersToGivenValues,即可设置该计时参数集(通过 timingParameterAccessType = readExtendedTimingParameterSet 进行读取)。
    0x02setTimingParametersToDefaultValues(计时参数设置为默认值)
    收到 timingParameterAccessType = setTimingParametersToDefaultValues 的 AccessTimingParameter(访问计时参数)指示原语后,服务器应将所有计时参数值更改为默认值,并在默认计时参数有效之前发送带肯定响应参数的 AccessTimingParameter(访问计时参数)响应原语(在 suppressPosRspMsgIndicationBit(抑制肯定响应消息指示位)设置为 “False” 的情况下,否则计时参数应在成功评估请求消息后有效)。
    如果因任何原因未能将计时参数更改为默认值,则服务器应维持当前有效计时参数,并发送一条带适宜的否定响应码的否定响应消息。
    0x03readCurrentlyActiveTimingParameters(读取当前活动的计时参数)
    收到timingParameterAccessType = readCurrentlyActiveTimingParameters 的 AccessTimingParameter(访问计时参数)指示原语后,服务器应读取当前所使用的计时参数。
    如果成功读取访问计时参数,则服务器应发送带肯定响应参数的 AccessTimingParameter(访问计时参数)响应原语。
    如果因任何原因导致不可能读取访问当前所使用的计时参数,则服务器应发送带适宜的否定响应代码的否定响应消息。
    0x04setTimerParametersToGivenValues(计时参数值设置为指定值)
    收到 timingParameterAccessType = setTimerParametersToGivenValues 的 AccessTimingParameter(访问计时参数)指示原语后,服务器应当检查当前条件下是否能够更改计时参数。
    如果条件有效,则服务器应执行更改计时参数所必要的所有操作,并在新的计时参数值有效之前发送带肯定响应参数的 AccessTimingParameter(访问计时参数)响应原语(在 suppressPosRspMsgIndicationBit(抑制肯定响应消息指示位)设置为 “False” 的情况下,否则计时参数应在成功评估请求消息后有效)。
    如果因任何原因导致未能更改计时参数,则服务器应维持当前有效的计时参数,并发送一条带适宜的否定响应代码的否定响应消息。
    不可能将服务器的计时参数设置为通过 timingParameterAccessType = readExtendedTimingParameterSet 读取的最小值与最大值之间的值的任何集合。服务器的计时参数仅能够设置为通过 timingParameterAccessType = readExtendedTimingParameterSet 读取的计时参数。服务器应拒绝进行此操作的请求。
    0x05 - 0xFF保留

    3. 请求消息数据参数定义

    定义
    TimingParameterRequestRecord(计时参数请求记录)
    该参数记录包含将 timingParameterAccessType = setTimerParametersToGivenValues 在服务器中进行设置的计时参数值。

    三、肯定响应消息

    1. 肯定响应消息定义

    字节参数名称字节值
    #1AccessTimingParameter(访问计时参数)响应SID0xC3
    #2timingParameterAccessType(计时参数访问类型)0x00 - 0x7F
    #3
    .
    .
    #n


    TimingParameterResponseRecord(计时参数响应记录)[] = [
    byter#1
    .
    .
    byte#m

    仅当 timingParameterAccessType = readExtendedTimingParameterSet 或 readCurrentlyActiveTimingParameters 时该参数存在。 ]

    0x00 - 0xFF
    .
    .
    0x00 - 0xFF

    2. 肯定响应消息数据参数定义

    下表为响应消息数据参数定义

    定义
    timingParameterAccessType(计时参数访问类型)
    该参数是对来自请求消息的子功能参数第 6 至 0 位的回显。
    TimingParameterResponseRecord(计时参数响应记录)
    该参数记录含有通过 timingParameterAccessType = readExtendedTimingParameterSet 或 readCurrentlyActiveTimingParameters 从服务器读取的计时参数值。

    四、支持的NRC

    NRC说明
    0x12不受支持的子功能
    0x13消息长度不正确或格式无效
    0x22条件不正确
    如果不符合请求 AccessTimingParameter(访问计时参数)的标准,则返回该NRC。
    0x31请求超过限值
    如果 TimingParameterResponseRecord(计时参数响应记录)包含无效的计时参数值,则返回该NRC。

    五、示例

    本示例显示的是如何在服务器中设置默认计时参数。
    suppressPosRspMsgIndicationBit = False

    req  83 02
    resp C3 02
    
  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值