无大志者常立志,让自己生活中时时有目标,有努力的方向。
老规矩,正文前分享喜欢的文字:
生活中,你越是去竭力回避不适的感觉,就越是难以推进生活中的重要转变。
不回避,积极面对,是提升自己最佳途径。
回归正文,今天汉子分享关于CAN TP传输过程中时间参数的定义。
一、协议定义
在ISO 15765协议中有定义:
Performance requirement values are the binding communication requirements to be met by each communication peer in order to be compliant with the specification. A certain application may define specific performance requirements within the range
基于CAN总线做数据传输时,通信双方的性能都必须满足符合规范的通信时间参数。具体的应用程序设计参数值一定在规范定义的范围之内。
不管是在进行单帧传输还是多帧传输,数据发送方和数据接收方关于数据在传输过程中都有着详细的定义(具体参数和定义会在如下第二部分详细说明)。
二、图解时间参数
如下图中,协议关于时间参数的具体定义:
As:基于数据发送方角度,所传输的数据传输到接收方需要的时间,开始时间是Data.request,结束时间是Data.confirm,无法准确测试何时收到,因此原则上该值是一个理论值(不排除使用脚本抓取时间值);
Ar:基于数据接收方角度,传输发送的CAN frame需要的时间开始时间是Data.request,结束时间是Data.confirm,无法准确测试何时收到,因此原则上该值是一个理论值(不排除使用脚本抓取时间值);
Bs:接收下一个流控帧所需要的时间:
(1)、可以是从数据接收者收到首帧开始,到发送者接收到流控帧截止:
(2)、可以是数据发送方发送后续帧,到接收方接收到流控帧截止:
(3)、可以是接收方收到第一个流控帧(wait状态),到发送方接收到下一个流控帧截止。
Br:发送下一个流控帧所需要的时间;
举例详图如下:
Cs:到发送下一个后续帧所需要的时间;
详细例子如下图:
Cr:接收到下一个流控帧所需要的时间。
时间参数整体在TP层的传输示意图如下:
CANoe添加osektpdll文件 涉及CAPL,可有如下函数实现:
在另外一款Vector关于自动化测试解决方案——CANoe.DiVa可以支持经典CAN以及CAN FD对应的TP层测试用例的自动化生成并在CANoe中自动化运行的全自动化测试解决方案:
以上分享,希望有所帮助。
愿你我相信时间的力量,
做一个长期主义者!
作者简介 | 穿拖鞋的汉子
汽车电子工程师
公众号:车载诊断技术
来,每天进步一点点!
热门跟贴