1.服务简介
AccessTimingParameter服务用于在通信链路处于活动状态期间读取和更改通信链路的默认定时参数。
此服务的使用非常复杂,取决于服务器的能力和数据链路拓扑。每个诊断会话只支持一个扩展的定时参数集。建议仅将此服务与物理寻址一起使用,因为这些服务器支持不同的扩展定时参数集。
建议使用以下服务顺序:
a. DiagnosticSessionControl(diagnosticSessionType)服务
b. AccessTimingParameter(readExtendedTimingParameterSet)服务
c. 访问定时参数(setTimingParametersToGivenValues)服务
如果服务器需要发送响应,则客户端和服务器应在服务器发送AccessTimingParameter肯定响应消息后激活新的计时参数设置。在不允许响应消息的情况下,客户端和服务器应在发送/接收请求消息后激活新的定时参数。
服务器和客户端应在成功切换到另一个或同一诊断会话后(例如,通DiagnosticSessionControl、ECUReset服务或会话持续超时)将其定时参数重置为默认值。
AccessTimingParameter服务为访问服务器定时参数提供了四种不同的模式:
a. 读取扩展计时参数集
b. 将计时参数设置为默认值
c. 读取当前活动计时参数
d. 设置定时参数以提供值
2.请求消息
2.1请求消息定义
2.2请求消息子功能参数$Level(LEV_)定义
AccessTimingParameter服务使用子函数参数timingParameterAccessType来选择服务器的特定行为。表74中详细介绍了可能的定时参数标识符的解释和用法。指定了以下子函数值占7bit
Bits 6 – 0 | 代名词 | 描述 |
0x02 | setTimingPar\ ametersToDef\ aultValues | 当服务器接收到带有timingParameterAccessType = setTimingParametersToDefaultValues的AccessTimingParameter指示原语时,将所有的定时参数修改为默认值,并发送定时器AccessTimingParameter响应原语,在默认定时参数激活之前具有正响应参数(如果suppressPosRspMsgIndicationBit设置为FALSE,否则在成功评估请求消息后定时参数将激活)。 如果由于任何原因无法将定时参数更改为默认值,则服务器应保持当前活动的定时参数,并发送带有适当否定响应代码的否定响应消息。默认定时值的定义取决于使用的数据链路,并在ISO 14229的实施规范中指定。 |
0x03 | readCurrently\ ActiveTimingP\ arameters | 在接收到带有timingParameterAccessType=readCurrentlyActiveTimingParameters的AccessTimingParameter指示原语后,服务器应读取当前使用的定时参数。 如果对定时参数的读取访问成功,则服务器应发送带有positiveresponse参数的AccessTimingParameter响应原语。 如果由于任何原因无法读取当前使用的定时参数,则服务器应发送带有适当否定响应代码的否定响应消息。 |
0x04 | setTimingPara\ metersToGive\ nValues | 在接收到带有timingParameterAccessType=setTimingParametersToGivenValues的AccessTimingParameter指示原语后,服务器应检查在现有条件下是否可以更改计时参数。 如果条件有效,服务器将执行所有必要的操作来更改定时参数,并在新的定时参数值生效之前发送带有积极响应参数的AccessTimingParameter响应原语(suppressPosRspMsgIndicationBit设置为FALSE,否则在成功评估请求消息后,定时参数将生效)。 如果由于任何原因无法更改定时参数,服务器应保持当前活动的定时参数,并发送带有适当否定响应代码的否定响应消息。 无法将服务器的定时参数设置为viatimingParameterAccessType=readExtendedTimingParameterSet读取的最小值和最大值之间的任何一组值。服务器的定时参数只能设置为通过timingParameterAccessType=readExtendedTimingParameterSet读取的定时参数。服务器应拒绝这样做的请求。 |
0x05 – 0xFF | ISOSAEReserved | 保留以供将来定义 |
2.3请求消息数据参数定义
TimingParameterRequestRecord
此参数记录包含要通过timingParameterAccessType=setTimingParametersToGivenValues在服务器中设置的计时参数值。该参数记录的内容和结构是特定于数据链路层的,可以在ISO 14229的实施规范中找到,例如ISO 14229-3。
3.肯定响应消息
3.1肯定响应消息定义
C: 只有当timingParameterAccessType=readExtendedTimingParameterSet或readCurrentlyActiveTimingParameters时,才会出现TimingParameterResponseRecord。定时参数响应记录的结构和内容依赖于数据链路层,因此在ISO 14229的实施规范中进行了定义。
3.2肯定响应消息数据参数定义
timingParameterAccessType
此参数是来自请求消息的子函数参数的位6-0的应答。
TimingParameterResponseRecord
此参数记录包含通过timingParameterAccessType=readExtendedTimingParameterSet或readCurrentlyActiveTimingParameters从服务器读取的计时参数值。此参数记录的内容和结构是特定于数据链路层的,可以在ISO 14229的实施规范中找到。
4.支持的否定响应代码(NRC_)
该服务应执行以下否定响应代码。下表中记录了每个响应代码发生的情况。如果错误场景适用于服务器,则应使用列出的否定响应。
NRC码 | 代名词 | 描述 |
0x12 | sub-functionNotSupported | 如果子功能参数不受支持,则应发送该NRC。 |
0x13 | incorrectMessageLengthOrInvalidFormat | 消息的长度或格式错误。 |
0x22 | conditionsNotCorrect | 如果不满足请求AccessTimingParameter的标准,则应返回该NRC。 |
0x31 | requestOutOfRange | 如果定时参数请求记录包含无效的定时参数值,则应发送该NRC。 |
5. 例子
示例#1–将计时参数设置为默认值
此消息流显示如何在服务器中设置默认计时参数。客户端通过将suppressPosRspMsgIndicationBit(子函数参数的第7位)设置为“FALSE”(“0”)来请求响应消息。
定义AccessTimingParameter请求消息流示例#1
定义AccessTimingParameter肯定响应消息流示例#1