程序控制(ISO14229系列之31服务)

程序控制(ISO14229系列之31服务)

  • 1、请求格式
  • 2、肯定响应格式

1、请求格式

        RoutineControl (31服务) ,用于对主机厂定义的一些特定程序的控制操作(启动程序、停止程序、请求运行结果)。关于31服务的请求格式如下:
程序控制(ISO14229系列之31服务)_第1张图片
        (1)、第2个字节routineControlType用于指定对程序的操作动作,其可选项如下(一般用得比较多的是01子服务):

  • 01:startRoutine(启动程序);
  • 02:stopRoutine(停止程序);
  • 03:requestRoutineResults(请求程序的运行结果)

        (2)、第3、4字节routineIdentifier表示指定的程序ID;这些特定的程序信息一般由车厂规定释放;一般会在诊断调查表中体现。比如针对ECU的升级,一般需要指定以下几个特定的程序功能(具体ID由车厂规定):

程序名 功能描述
CheckProgrammingPreconditions(编程条件检查 该程序用于对ECU升级条件(如车速信息等)的判断,在ECU的BootLoader与APP程序中一般都要有该程序功能的定义。一般用于进入编程会话之前
CheckAppSwAppDataValidity(检查数据的有效性,如CRC校验 一般用于对升级数据中的每个块信息的CRC校验;ECU会将接收到的数据进行CRC计算,并与诊断仪计算发送过来的CRC进行比对;确保数据的准确性
EraseFlashMemory(擦除Flash内存 用于对此次升级要用到的内存空间进行擦除操作。一般用于请求APP数据下载(34服务)之前
CheckProgrammingDependency(编程兼容性的检查 用于升级完成后对升级信息的兼容性检查例如对升级文件产品型号的检查,必要的逻辑块是否存在的检查等操作。一般用于完成所有数据的升级之后

        
        (3)、之后的数据代表可选记录参数routineControlOptionRecord;一般用于携带其他信息,如程序的启动条件、停止条件等;可根据实际需要进行使用;一般比较少用到

        

2、肯定响应格式

        ECU在收到对应的程序动作请求后,返回的肯定响应格式如下:

程序控制(ISO14229系列之31服务)_第2张图片

        其中,routineStatusRecord是可选参数,用于在执行相应程序动作后,返回ECU相关的信息(如请求31 02服务请求停止时ECU可以通过该参数返回该程序总运行时间等信息);可根据实际需要进行使用;一般比较少用到

你可能感兴趣的:(汽车电子,ISO-14229)