overview前言
A.传输层参数
❖ 各参数解释如下:
》Bus Type: 诊断传输层类型,目前已经支持CAN/CANFD/LIN,接下来支持以太网和Flexray等。通过下拉列表可以选择,如下图所示:
》Channel:诊断模块用到的逻辑通道。TSMaster支持多个诊断模块同时在线工作,这里用于选择当前诊断模块使用系统的哪一个逻辑通道。通过下拉列表进行选择,如下图所示:
》Request ID/Response ID/Function ID:设置诊断模块PC工具端的诊断请求/应答/功能帧的ID。
》Request ID Type/Response ID Type /Function ID Type:设置诊断模块PC工具端的诊断请求/应答/功能帧的ID类型,是标准帧(11位)还是扩展帧(29位),如下图所示:
》Filled Byte:传输过程中,实际有效字节不足一个CAN报文数据端的时候,剩余数据段的填充字节。比如一帧CAN报文8个字节,如果有效传输字节是【0x02,0x10,0x02】,填充字节是0xAA,则实际的报文字节是【0x02,0x10,0x02,0xAA,0xAA,0xAA,0xAA,0xAA】。
》STMin:最短接收时间间隔。TSMaster诊断模块作为接收端,在接收连续帧报文的时候能够支持的诊断帧之间的最短时间间隔,这个参数是回复给诊断客户端的。设置为0,表示支持以最短的时间间隔接收。
》BlockSize:接收Block的大小。TSMaster诊断模块作为接收端,在接收连续帧报文的时候一次能够接收的数据块的大小。这个参数是回复给诊断客户端的。设置为0,表示一次性能够接收任意大小的数据块。
》FD Max DLC:当传输层设置为CANFD的时候。此时,传输层单帧的最大传输字节数量是64字节(DLC=15),但是这个参数是可以调节的,调节范围如下所示:
》Max Length: 该参数对于普通CAN/LIN是无意义的。多帧传输的时候。当DLC长度= 8字节的时候,首帧(First Frame)采用第0字节低四位+第一个字节的8位,共12Bit表示一次传输的包的大小,也就是最多4095个字节,如下图所示:
但是FDCAN中,设置DLC长度>8字节的时候,可以采用更多的Bits来传输信息。因此,FDCAN的传输层支持采用第2,3,4,5四个字节共32bit来传输一个数据Block的长度。也就是说FDCAN的传输层一次支持传输最多4个G的数据。但是具体支持多少,让用户可以配置。
注释:第一个字节的高四位 = 1,表示该帧是首帧(First Frame),无论是FDCAN还是Class CAN的传输层都是如此。
比如,如下图所示配置位4095个字节,则跟普通传输层一样。如果配置为大于4095,则要使用FD帧扩容的传输层。
B.服务层参数
❖ 各参数解释如下:
》S3参数:包括S3 ServiceTime和S3 Client Time。
S3 Service Time:表示该ECU从Default会话被切换到其他会话过后,经过多场时间会自动切换回默认会话的超时时间。
S3 Client Time:表示作为诊断Tester端,发送TesterPresent帧的时间间隔。
上述两个参数的示意图,可以点开Detail按钮,查看图示说明,如下图所示:
》P2参数:包括P2 Timeout和P2 Extended参数。
P2 Timeout: 表示ECU收到诊断请求帧过后,最短回复的时间间隔。对于诊断工具端,该参数可以作为发送请求过后,等待回复的超时判断参数。比如诊断工具发送了一个诊断报文,P2Timeout时间段内都没有收到回复,则认为请求失败,超时退出。
P2 Extended:当诊断工具发出诊断报文过后,被测ECU来不及在P2 Timeout时间段内做出应答,则回复一帧3F XX 78报文,告诉诊断工具端自己来不及响应,需要延长等待时间再回复。ECU发送了延迟等待报文后,则把等待时间参数切换为P2Extended。诊断工具端的超时判断参数在收到延迟等待报文后,需要切换到P2Extended。
上述两个参数示意图如下所示:
》使能Tester Present命令:
TSMaster诊断模块中,可以选择配置并使能TSMaster Present命令,如下图所示:
当使能了该命令过后,在模块的最上方会出现启动Tester Present命令的开关。打开Tester Presnet,则按照设定的S3ClientTime时间间隔发送该报文。
Tester Present的发送字节是可选的。支持三种类型:
【Default Request】:也就是最常用的0x3E 0x80
【From Basic Config】:从Basic Config中选择配置好的3E命令
【Manual Definition】:用于自定义的字节
》加载Seed&Key DLL
在诊断过程中,会设计到安全访问的问题,也就是所说的Seed&Key。TSMaster诊断模块支持通过dll载入Seed&Key算法,该算法dll跟主流工具的计算接口兼容,接口定义如下图所示:
DLL加载界面如下图所示:
【1】加载DLL
【2】删除DLL
【3】DLL校验器,通过此按钮,用户可以判断自己加载的dll接口是否正确,算法是否符合设计要求。如下图所示:
如上图所示界面,用户选择Seed的Level过后,输入Demo Seed值,点击GenKey进行判断。如果该DLL接口跟模板定义接口统一,则会输出提示信息:Generate Key Success,然后用户根据Key值跟目标值对比,进一步确认DLL中的算法是否符合设计要求。
【4】打开TSMaster安装目录下Seed&Key接口工程所在的路径。用户可以拷贝该工程添加自己的Seed&Key算法。