LIN诊断(2)—— 在CANoe软件中,加载cdd/pdx等诊断数据库时,切换调度表的不同方式选择


请添加图片描述

  • 如下图,在使用CANoe配置LIN总线的诊断时,需要选择Scheduling Setting 选项,那么这4个选项有什么不同呢?
    在这里插入图片描述

Scheduling Settings

  • LIN诊断使用两个预定义的LIN帧,主请求和从响应。因此,当前活动的时间表必须包含它们。

  • LIN 2.1规范假设存在一个包含这些帧的单独表,即主请求帧(0x3C)和从响应帧(0x3D)各一个表。因此,系统必须在诊断请求和诊断响应之间在这两个表之间切换。

  • 如下面的LDF文件,MasterReq_Table 和SlaveResp_Table 是各自一张表,在总线中没有诊断的情况下,只运行Send 调度表(定义的都是APP报文)

在这里插入图片描述

Selected Scheduling

  • 使用当前运行的进度表。确保该表同时包含主请求帧和从响应帧是很重要的,一般情况下,APP报文的调度表并不会包含诊断报文的,所以一般不选该选项,否则诊断请求无法发出。

Diagnostics only

  • 搜索LDF文件以确定是否存在主请求帧和从响应帧的单独进度表。如果是这种情况,系统将在诊断请求和诊断响应之后自动在这两个表之间切换,否则禁用此选项。诊断通信完成后,将再次运行在启动诊断请求之前运行的进度表。
  • 如下面示例,没有诊断的时候,总线一直运行Send调度表(APP报文),发送诊断请求时,自动切换到MasterReq-Table调度表,发送完成后,自动切换到SlaveResp_Table调度表,然后发送0x3D报头,从节点数据响应完毕后,系统又将调度表切换到Send调度表。

在这里插入图片描述

Interleaved

  • 与仅诊断模式一样,主请求和从响应帧的单独进度表必须存在。如果传输诊断请求,则在请求的每个段之间运行一次在请求启动之前运行的进度表。同样的行为也适用于诊断响应。诊断通信完成后,将再次运行在开始诊断通信之前运行的进度表

  • 对比下Diagnostics only模式,Interleaved模式在诊断请求发出后会再次切回到APP报文调度表,然后在切回到诊断响应调度表,最后响应完毕后再次切回到APP报文调度表。

在这里插入图片描述

Direct sending

  • 当直接传输时,主请求报头是自动生成的,独立于调度。如果存在Master Request表和Slave Response表,系统会自动切换到Slave Response表进行诊断响应。如果不是这种情况,则必须在配置中建立一个包含Slave响应帧的表,确保在这种模式下指定的表不包含主请求帧是很重要的,因为这将导致主请求报头传输过于频繁。

  • 测试结果如下, 该模式下,发送诊断请求时,没有切换调度表直接发送,然后切换到诊断响应调度表,之后一直停留在该调度表,没有切回APP报文调度表

在这里插入图片描述


在这里插入图片描述

23

7

  • 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!

  • 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。
    18
  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蚂蚁小兵

慢慢长夜磨一章好文章,费烟!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值