车载lin通信协议栈_浅谈LIN诊断

CAN总线与LIN总线是典型的车载网络总线。其两者的区别在于诊断时,CAN总线诊断遵循UDS协议,而LIN总线诊断在遵循UDS协议的基础上,还遵循LIN2.2协议。今天就向大家详细介绍一下关于LIN的诊断。

首先,LDF是实现LIN诊断的充分条件。

CAN总线诊断只需要有控制器(ECU)、诊断数据库(cdd&pdx等等)与诊断仪(Tester),通过请求ID与响应ID进行诊断。而LIN总线在此基础上,还必须通过LDF进行调度,以经典ID(0x3c与0x3D)进行LIN诊断。如下对比图所示。

a23e7a673175068a5b4dae3d7e0e030a.png

VS

8e25f8ae4389d574fc466db02cbd818d.png

其次,NAD的应用。

LIN网络拓扑是“一主多从”的结构,通过NAD区分从节点。从上图中可以看出,CAN一般以Request/Response ID区分从节点。而LIN则是以NAD进行区分,利用一个ID实现多个从节点诊断服务;此方式节约了ID的使用,但是浪费了一个Byte,造成数据有效载荷降低。

接着,LIN诊断方式。

LIN总线有两种诊断方式:

1)  主节点将从节点的诊断信息进行存储,当诊断仪发出诊断信息时,主节点将存储的诊断信息输出给诊断仪,此时的主节点具有存储卡的功能。

2)  Tester将诊断命令发给主节点,主节点将诊断信息转发给对应的从节点进行通信交互,此时主节点的作用类似于网关路由。两种方式对比如下图所示:

2f0b92fb8d7314b96f659b37a107cb2a.png

最后,LIN的3个诊断级别。

诊断级别1的控制器一般由简单的元件(如传感器等)组成,故障均由主节点进行读取、分析与保存。支持的诊断服务只有节点配置服务,传输层以单帧(SF)的形式就可以满足需求了。此处,看官有疑问:什么是节点配置服务?

85a5ab9305926a95932248ae8c307dc6.png

节点配置服务是LIN诊断服务的一种,目的是为了区分同一个网络的不同节点。上文提及的NAD是区分现有的LIN网络拓扑的节点,当引入新节点时,需要利用节点配置服务避免NAD和PID(Production Identification)发生冲突,实现“即插即用”。

节点配置ID

服务名称

0~0xAF

Reserved

0xB0

Assign NAD

0xB1

Assign frame identifier

0xB2

Read by Identifier

0xB3

Conditional Change NAD

0xB4

Data Dump

0xB5

Assign NAD via SNPD

0xB6

Save Configuration

0xB7

Assign frame identifier range

0xB8~0xFF

Reserved

表1

节点配置服务类型如表1所示。当引入新的从节点时,一般利用主节点发送B0服务,给从节点分配新的NAD—06;主节点再发出3D,如果新从节点修改NAD成功,则会给出响应。如下图所示:

714eda35108e92f03cf15e1991189e75.png

诊断级别2的控制器是诊断级别1的控制器上的扩展。支持传输层的全部功能,对于服务层不仅支持节点配置服务,还支持节点标识(产品ID和序列号)与读写参数服务(22与2E)。当节点同时支持诊断级别1的控制器与诊断级别2的控制器时,在LIN2.2中规定不必强制遵守诊断级别2。

如果将诊断级别2比作游戏的普通玩家,那么诊断级别3就是人民币玩家了。对于ISO14229-1中所有的诊断服务,诊断级别3是全部支持的,如在线刷写功能(诊断级别2不支持此功能)。诊断级别3中,每个从节点都需要有唯一的NAD,同时必须支持多帧传输。

诊断级别的总结如表2所示。

诊断级别

1

2

3

UDS服务号[hex]

传输协议层需求

仅单帧传输

+

完整传输协议

(包括多帧)

+

+

需要的配置服务

Assign frame identifier range

+

+

+

0xB7

Read by identifier

+

+

+

0xB2

Assign NAD

可选

可选

+

0xB0

Conditional change NAD

可选

可选

可选

0xB3

Positive response on supported configuration services

+

+

+

Service+0x40

Read data by identifier

0x22

Hardware and software version

+

+

0x22

Hardware part number (OEM specific)

+

+

0x22

Diagnostic version

+

+

0x22

Read by identifier (Parameters)

+

+

0x22

Write by identifier (Parameters)

如果支持

如果支持

0x2E

Read by identifier (Sensor and actuator data)

+

0x22

I/O control by identifier

+

0x2F

Read and clear DTC (Fault memory)

+

0x19,0x14

Routine control

如果支持

0x31

Other diagnostic services

如果支持

Flash刷写服务

Flash programming services

可选

/

表2

相信看到这里,各位应该明白了LIN诊断的一些基本概念,其实LIN诊断划分等级的目地就是为提高性价比:

1、  等级越低,芯片要求与控制器协议栈要求也就越低,开发成本降低;

2、  功能要求越低,开发与测试人员投入时间降低,人力成本降低;

如后续有任何疑问,欢迎及时联系我们哟!

相关精彩推荐:

CCP协议栈移植操作方法

CANoe与Matlab/Simulink联合仿真

Step by Step学习CANoe三大工具链(上)

Step by Step学习CANoe三大工具链(下)

漫谈ECU刷写:关于vFlash的那些Freestyle

浅谈Visual Sequences在自动化仿真中的运用

CANoe+VT系统模拟4种常见传感器

b1113b26ba125d511b56721fe2714d2d.gif

6f0b56d3d0d83aab831cc847120e56b8.png

怿星一意,专注车载

引领汽车科技新高度

7594c9d15076ca0d6ca6fb9b8455b43d.gif

  • 6
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: lin2.0协议栈是一种用于车载网络的通信协议栈,主要用于实现车内设备之间的通信。它是在LIN协议的基础上进行改进和完善的,具有更快的数据传输速率和更高的可靠性。 与LIN协议相比,lin2.0协议栈支持更高的数据传输速率,最高可达19.2kbps,同时具有更高的数据可靠性,能够保证数据的完整性和正确性。此外,它还增加了多主机支持、带宽优化和带宽共享等新功能,可以更好地支持车内设备的联网和交互。 在CSND上发布lin2.0协议栈,有助于提高该协议的知名度和普及率。开发者们可以通过CSND获取更多关于lin2.0协议栈的信息和资源,以便快速开发出符合该协议的车载应用程序。此外,CSND还提供了一系列学习资料和视频教程,帮助开发者更快地掌握lin2.0协议栈的使用方法和技巧。 总之,lin2.0协议栈是一种高效、可靠的车载通信协议,对于车载设备之间的数据传输和交互非常重要。在CSND上发布lin2.0协议栈,有助于推广该协议并提高其应用范围和普及率。 ### 回答2: lin2.0是一种车联网通信协议栈,其主要作用是实现车辆内外的通信,包括车辆和车辆之间的通信、车辆和基础设施之间的通信lin2.0协议栈是由多个分层构成的,每层负责不同的功能,实现数据传输、数据处理等操作。 csdn是一家专业IT技术社区,拥有海量的技术文章、博客和视频,是广大技术爱好者获取技术信息和分享技术经验的重要平台。 在lin2.0协议栈中,csdn可以作为一个重要的技术支持平台,为开发人员提供技术支持和应用实践经验,并且在lin2.0应用程序的开发和优化中,也可以使用csdn提供的工具和资源。 总的来说,lin2.0协议栈和csdn都是与汽车联网技术相关的,并且在实现汽车联网方面都发挥着重要的作用。汽车联网技术的发展将为我们的出行和生活带来更多的便利和乐趣,相信在技术的推动下,这一领域将会有更多的突破和进步。 ### 回答3: Lin2.0协议栈是一种基于Linux系统的CAN总线通信协议栈,它是CAN总线通信的重要组成部分。由于CAN总线通信在汽车、机械、航空等领域应用广泛,因此Lin2.0协议栈的研究和应用具有重要的意义。 CSND是中国最大的IT技术社区之一,也是Lin2.0协议栈在国内的主要推广平台之一。通过在CSND上发布Lin2.0协议栈的相关技术文章和视频教程,能够快速地将Lin2.0协议栈的应用知识传播给更多的IT从业者和研究人员,推动Lin2.0协议栈的发展和应用。 通过在CSND上分享,IT从业者和研究人员能够了解Lin2.0协议栈的基本概念、架构和应用场景,并掌握Lin2.0协议栈的开发、调试和测试方法。这些知识将有助于IT从业者和研究人员对Lin2.0协议栈的实际应用进行深入学习和研究,推动CAN总线通信技术的进步和发展。 总之,Lin2.0协议栈与CSND的结合,将促进CAN总线通信技术在国内的应用和普及,有力推动行业的发展和进步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值