1、定义了将一个或多个应用软件失性/数据模块以物理的方式下载到非易失性服务器内存的框架。
2、 编程顺序:
- 在数据链路上进行任何通讯之前,应该对网络进行初始化(例如,在网络上执行初始唤醒)。唤醒方法和策略是车辆制造商特定和可选的使用。此外,该步骤允许确定服务器通信参数,例如由服务器使用的网络参数和服务器诊断地址。
- 为了能够禁用服务器之间的正常通信和设置DTC,需要在每个服务器中启动非默认会话,其中正常通信和DTC将被禁用。这个通过sessionType等于extendedDiagnosticSessionControl(0x10)服务实现的。该请求是功能寻址或者对每个服务器进行物理寻址(要求通过TesterPresent(0x3E)请求将每个服务器转换到非默认会话状态)。由汽车制造商是否需要响应消息。
- 转换到扩展诊断会话之后,整车制造商可以选择性的执行数据链路初始化步骤。
例如:汽车制造商定义的可选择性的初始化步骤发出请求,网关可以执行唤醒数据链路(客户端不能直接访问的),只要非默认会话一直处于激活状态,网关就会保持数据链路处于唤醒状态。 - 这个可选择的routineIdentifier (汽车制造商选择的数字)允许客户检查转换到编程会话的前置条件是否满足。
- 客户端通过0x85服务器禁用DTC设置功能,这个请求可以通过功能寻址或者对每个服务器进行物理寻址。是否需要响应消息由汽车制造商决定。
- 这个可选择的routineIdentifier可以使用或者禁用服务器的安全故障响应。
- 客户端用0x28服务禁用传输和接收非诊断信息,控制类型和会话类型参数由汽车制造商决定(主机厂可能只会禁止传输,有些主机厂可能把传输和接收都禁用,这都根据主机厂实际情况决定),这个请求可以通过功能寻址或者对每个服务器进行物理寻址。是否需要响应消息由汽车制造商决定。
- 禁止可选择的正常通信之后,主机厂可以的具体步骤如下所示:
⎯ 读取要编程服务器的状态(例如:应用程序/编程数据)。
⎯通过服务器的编程数据读取服务器标识数据:
⎯ 标识 (see dataIdentifier definitions):应用软件标识/应用数据标识
⎯ 指纹 (see dataIdentifier definitions):应用软件指纹/应用数据标指纹
⎯ 通信说明例如服务器的动态地址标识
⎯ 为了即将进行编程活动准备好处于非编程状态服务器,为了优化数据链路硬件接受过滤,以便在不丢弃数据的情况下可以100%处理总线使用率。(只可接受功能请求地址标识和它自己物理请求地址标识)。 - 增加编程事件的带宽是可以选择的,以便减少编程时间和获得额外的带宽同步 编程多个服务器。通过0x87服务的verifyBaudrateTransitionWithFixedMode or
verifyBaudrateTransitionWithSpecificMode 传输。服务器用这个验证相关数据链路上的模式是否可以转换。此时不执行转换。带有子功能 transitionMode的0x87服务responseRequired为“no”传输数据(通过功能寻址的方式)。一旦请求成功的发送,客户端和服务器转换到先前先前验证的的编程模式。服务器必须发送主机厂定义的单个数据链路模式,为了这个过程中安全余量, 客户端不能传输任何请求消息到车辆网络里(包括3E请求)。当转换成功后,请求模式 应该激活非默认会话状态。一旦转换到默认会话状态,它应该重启整车链路被链接的正常模式。
The usage of mode switches requires the support of functional diagnostic communication in each server on a
single data link that shall be transitioned to the associated data link dependent mode.