TSMaster诊断功能详解 帖子的作者。zhang, yaping 发表的帖子。2022-09-28 职位类别。技術案例 TSMaster是同星智能推出的一款汽车总线工具链软件,目前已成为广大汽车工程师,尤其是汽车电子工程师最常用的工具之一。它是一个国产替代非常强大的开发、仿真、测试环境。广大工程师在工作中对TSMaster的诊断功能应该会使用比较多,下面我们就来具体价绍下TSMaster诊断功能。 一、Diagnostic TP参数配置 TSMaster提供了诊断控制台基础功能,用户可以根据需求配置自己的发送和应答请求。 1、传输层协议 主要包括:Bus Type、Channel、Request ID/Response ID/Function ID、Request ID Type/Response ID Type /Function ID Type、Filled Byte、STMin、BlockSize、FD Max DLC、Max Length。诊断传输层类型,目前已经支持CAN/CANFD/LIN,接下来支持以太网和Flexray等。TSMaster目前支持多个诊断模块同时在线工作,这里用于选择当前诊断模块使用系统的哪一个逻辑通道。 2、服务层参数 服务层参数主要包含S3,P2时间参数,以及加载SeedKey的DLL。DLL加载界面如下图所示。 3、TesterPresent 在Diagnostic Tp参数配置中使能TesterPresenter,TSMaster会提供一个全局的开关。用户通过该开关,可以直接打开和关闭TesterPresent命令。 二、基础诊断配置 该模块包含BasicDiagnostic参数和CombinedService。对于执行过程完全独立的命令,则放入BasicDiagnostic中;对于必须多个命令组合才能够完成的命令,则放入CombinedService中。 1、添加删除服务命令 把鼠标放到需要添加和删除的服务命令上方,右键展开,选择是否需要添加和删除该服务。 2、配置BasicDiagnostic服务参数 以Session Control为例,主要包含如下参数的配置:(1)配置服务名称:用户可以配置一个易于理解和管理的服务名称。(2)Is Function ID:本诊断服务是否采用Functional ID发送诊断请求。(3)选择子服务类型:比如Session Control中的DiagnosticSessionType就包含如上图所示的Session类型。(4)参数列表的字节序:支持Motorola和Intel字节序。(5)参数列表:诊断服务除了诊断ID和子服务类型ID,还可以带着参数发送给被测ECU。参数列表包含请求和应答帧的参数列表,其配置方法如下所示,用户可以选择增加/删除多种类型的参数。 3、配置CombinedServices报文 (1)Download File:组合服务目前只支持了下载文件服务,如果用户有其他组合需求,可以反馈给上海同星,合理的需求可以作为标准服务模块添加到软件中。(2)Checksum:在程序下载过程中,为了保证数据的完整性,需要引入Checksum算法对数据的完整性和有效性进行校验。TSMaster诊断模块的符合服务中,引入了主流的CRC算法进行校验。(3)载入Binary数据文件:Hex,S19文件格式内部是带数据起始地址和长度的,但是对于Binary类型的二进制文件来说,他内部是不带数据的起始地址的,因此,再载入Binary数据文件的时候,用户需要手动输入数据起始地址段的长度。 4、同步到控制台 三、系统变量的灵活应用 TSMaster把系统变量作为参数引入诊断模块中,极大的拓展了诊断模块跟其他模块数据交互的能力。 1、系统变量关联Console服务 用户在诊断控制台中可以根据需要灵活配置诊断服务。这些诊断服务配置好过后,用户需要在诊断控制台中双击启动该诊断服务。但是如果用户想在Panel界面中启动该诊断命令,则还需要借助系统变量。 2、外部程序控制诊断 外部程序可以通过系统变量跟TSMaster进行数据交换。 四、自动诊断流程 1、流程用例管理 TSMaster的自动化诊断流程不仅仅是针对某一个具体的应用,而是针对整个项目的诊断流程进行管理。用户可以根据完整项目的需求,配置测试诊断流程组,每个组里面可以包含多个不同的诊断流程,在一个诊断流程中才包含具体的诊断步骤。 2、配置诊断流程(UDS Flow) (1)基本配置步骤:在左边的管理栏中选中一个诊断流程节点-在右边的编辑区域,添加,删除,编辑诊断步骤-添加步骤后,编辑步骤名称-选择该步骤的类型-选择该步骤地址类型,物理地址还是功能地址-配置详细的诊断请求数据包和应答数据包-配置本步骤结束后步骤之间的等待时间-配置本步骤发生错误的错误处理方法(2)工具栏诊断流程配置工具栏如下图所示: (3)诊断步骤类型测试步骤中,为了增加诊断配置的灵活性,设计了5中类型可供选择,如下图所示,主要包含:Normal,SelectConfig,SeedAndKey,DownloadFile,TesterPresent,RoutineControl。通过这5种类型,基本上涵盖住了市面上所有主流的诊断流程需求。 (4)步骤间隔时间诊断流程模块步骤跟步骤之间的时间间隔是可以设置的,如下图所示,单位为ms: (5)出错处理现阶段出错处理,主要包含两个参数:错误后重试次数以及错误后停止还是继续运行。在后续产品规划中,出错后允许跳转到指定的流程中(比如跳转到擦除流程中),进一步增加自动运行流程模块的灵活性。(6)使能步骤/位置调整对于已经完成配置的诊断流程步骤,用户根据左边的选择框来勾选想要执行的诊断步骤。 五、典型应用 TSMaster诊断功能的典型应用,主要包含读取车辆VIN码、写入配置信息、Flash Bootloader流程这三块的典型应用操作。 六、常见问题汇总 1、擦除地址配置(1)固定地址和长度如果擦除地址是固定的地址,处理方法最简单。直接配置一个Normal内容的服务,里面直接填入原始数据即可。如果擦除地址为0x00801234,擦除长度为0x0000C000。(2)可变地址和长度地址根据载入的不同Hex文件,对应的数据地址和长度是可变的。对于这种情况,则需要用到系统变量。则需要用到系统变量。以示例hex文件为例。诊断模块每次载入Hex文件的时候,会自动提取Hex一些特征信息作为系统变量注册到系统中。2、Seed&Key的值如果Seed&Key值是固定值,直接采用选择Normal模式,填入固定的值即可。本章节主要讲解基于Seed&Key动态计算Key值。3、为什么读取上来的字符串是反的用户期望读取的字符串是ReadDemo,但是读取上来的字符串是omeDdeaR,完全是反的。这是因为配置的字符串解析顺序跟实际的字符存储顺序不匹配,所以解析出来的字符串也跟着是反的。解决方法:调整字符串的解析顺序,比如之前为Motorola,现在修改为Intel,修改过后,读取的字符串就和期望的字符串匹配了。 标签。 DOIP, Flexray总线工具, TSMaster 阅读更多文章 上一篇文章使用TSMaster从零打造车辆控制器HIL实时仿真 在下一篇文章TSMaster标定功能详解 你可能也喜欢 使用TSMaster从零打造车辆控制器HIL实时仿真 2022-09-28 汽车内部通信的安全挑战与SecOC解决方案 2023-08-10 TSMaster标定功能详解 2022-10-10