08 LIN

news/2024/11/25 20:42:06/

基础知识

LIN的全称为Local Interconnect Network。LIN主要功能是为CAN总线网络提供辅助功能,应用场合有智能传感节点、自动车窗节点等。

硬件

特点

1.采用单主多从的组网方式,无CAN总线那样的仲裁机制,最多可连接16个节点(1主15从)。

2.对硬件要求简单,仅需UART/SCI 接口,辅以简单驱动程序便可实现 LIN 协议。故几乎所有的MCU均支持LIN。

3.不需要单独的晶振,便能完成主、从节点的同步,硬件成本大幅降低。

4.仅使用一根信号线便可完成信息的传输,即所谓的单总线设备

5.传输速率最高可达20Kbps,符合A类网络标准,满足车身控制需要。

6.LIN 网络中新节点的加入,对网络中其他原有节点的软硬件设计不会造成影响。

LIN网络主从节点的功能

LIN网络中的节点任务分为主机任务和从机任务两类。其中,主机任务只在主机节点上运行,而从机任务在主机节点和从机节点上均可运行。也就是说,主机节点可以实现主机任务和从机任务。

A.主机任务主要执行以下功能:

  • 1.定义总线上的通信速率
  • 2.发送报文帧头,包含同步间隔场、同步场和标识符场三个部分。
  • 3.监控总线通信,通过校验和确定数据正确性与否
  • 4.使从机进入唤醒或睡眠状态,并响应从机的唤醒要求。

B.从机任务既可运行于主机又可运行于从机,它主要完成以下功能:

  • 1.等待主机任务发送的同步间隔,使从机与主机于同步场中获得同步。
  • 2.分析标识符场,若与自己相关,则接收或发送数据,若与自己无关则什么都不做。
  • 3.检查和发送校验和。
  • 4.接受主机任务的唤醒和睡眠请求。

软件

显隐性

LIN 总线上具有“显性”和“隐性”两种互补的逻辑电平。

其中,显性电平(参考地电压)是逻辑 0,隐性电平(电源电压)是逻辑1。

LIN报文的帧结构

LIN总线的一帧主要由两部分组成,即报文头(Header)和报文响应(Response)

报文头是由一个主机节点的主机任务发出的,而报文响应(以下简称响应)是由一个主机节点或从机节点的从机任务发出的。

其中报文头由同步间隔场(最小13个显性位)、同步场(1个字节,数据不变,0x55)、和标识符PID场(1个字节)三部分组成;

报文响应由2/4/8个字节的数据场校验和场(1个字节)所组成。

报文头和响应之间有一个帧内空间分隔,最小空间为0。

字符场格式

LIN 的字节场格式就是通常的“SCI”或“UART”串行数据格式(N81编码)。即每个字节场的长度是10个位定时(BIT TIME):1bit起始位+8bits数据位+1bit停止位

起始位(START BIT)是一个“显性”位,它标志着字节场的开始。

接着是8个数据位,首先发送最低位。

停止位(STOP BIT)是一个“隐性”位,它标志着字节场的结束。LIN报文帧中的同步场、标识符场、数据场、校验和场的格式都符合上述字节场的格式。

间隔场

间隔场是唯一一个不符合字节场格式的场。从节点需要检测到至少连续11个显性位才认为是间隔信号。

同步场

一个字节,即0x55。

LIN的被保护标识符场(PID场)

PID场定义了报文的内容和长度

如图,PID场分为6个标识符位和2个ID奇偶校验位。

6个标识符位我们称之为ID。如果加上2个奇偶校验位就变成PID了,即Protected ID。

6个标识符位中,标识符后两位为数据长度控制位

总的来看,ID的范围是0-0x3F。

注意是ID,不是PID,要区分开。

上图中的ID4和ID5为数据长度控制位(ID4是低位)。

  • 值为00或10时,数据长度为2个字节。
  • 值为01时,数据长度为4个字节。
  • 值为11时,数据长度为8个字节。

P0和P1为奇偶校验位。

数据场

数据场主要需注意每个字节先传输的是最低位。即如果某一信号长度超过1个字节,采用低位在前的方式发送(小端)。

校验和场(checksum)

校验和场是数据场所有字节的和的反码。所有数据字节的和的补码,与校验和字节相加所得的和必须是0xFF

下图是一些LIN总线数据,以最后一组为例,2个0xFF之和为0x1FE,处理后仍然为0xFF。故8个0xFF加和之后仍为0xFF,取反码为0x00。

形象理解

总线原理:

物理上就一根线,关联节点都接上,有且仅有一个主设备,N多从设备,每个节点要通信的内容都事先编号号。

这就好比大家开晚会,话筒就一个,主持人一个,N个嘉宾,每人的话题都有一个编号。

表达顺序是这样的,

晚会开始前,大家睡觉的睡觉,闲的闲

1 主持人,把话筒对着大鼓,敲-停-, 敲-停-, … 敲-停-

这样大家都被吵醒了,晚会开始了

晚会都是谈话内容,都是下面步骤的重复

  • t1 主持人把话筒同音闭了一会,--LIN总线的Break
  • t2 主持人试了试话题,呼呼呼呼--LIN总线的同期
  • t3 主持人说,下面是由 PID编号的人讲话--LIN总线的PID
  • t4 有PID的人,就开始说了 D0,D1,D2,D3,D4,D5,D6,D7 --LIN总线的数据
  • t5 有PID的人,接着说了就这样了--LIN总线的 CRC

就这样重复了多次之后,主持人

  • e1 主持人把话筒同音闭了一会,--LIN总线的Break
  • e2 主持人试了试话题,呼呼呼呼--LIN总线的同期
  • e3 主持人说,下面是由 PID编号是睡眠的人讲话(就他自己)--LIN总线的PID
  • e4 有PID的人,就开始说了 Go to sleep --LIN总线的数据,最多8个Byte
  • e5 有PID的人,接着说了就这样了--LIN总线的 CRC

就这样,晚会结束了,大家睡觉的睡觉 休息的休息

搞笑的结束了,稍微来点关键词

  • . 物理上就一根线,多节点送信,又没有冲突检测,怎么办,主设备调度啊
  • . 速度怎么样,和CAN相比,十几kbps不算高,不过连接上的设备就那么大信息量,正好啦
  • . 价额怎么样,便宜啊,一个物理tranceiver,一个带UART的CPU,再来的点软件,搞定了
  • . 安全系数怎么样,PID带校验,数据带CRC校验,能发现错误,报告
  • . 扩展性怎么样,用两个特定的PID,做数据链路层,创送上层的大包TP层,
  • TP层上面在支持个诊断功能,能做些其他事情了
  • . 各版本兼容性怎么样,主设备版本高,就能管理协调好
  • 反之,从设备版本高,有些浪费

http://www.ppmy.cn/news/772981.html

相关文章

【Web3】Mnemonic Word Create Wallet

目录 Create Mnemonic Word 介绍: 一.根据 Mnemonic Word 生成密钥对 keypair 二.通过 keypair 获取 Wallet 地址 和 private key 代码 Create Mnemonic Word npm install bip393.1.0 import * as bip39 from bip39 let mnemonic bip39.generateMnemonic() co…

Jmeter自动化性能测试常见问题

一、request 请求超时设置 timeout 超时时间是可以手动设置的,新建一个 http 请求,在“高级”设置中找到“超时”设置,设置连接、响应时间为2000ms。 1. 请求连接超时,连不上服务器。 现象: Jmeter表现形式为&…

Windows 2003安全设置大全

1.硬盘分区与操作系统的安装 硬盘分区  总的来讲在硬盘分区上面没什么值得深入剖析的地方,无非就是一个在分区前做好规划知道要去放些什么东西,如果实在不知道。那就只一个硬盘只分一个区,分区要一次性完成,不要先分成FAT32再转成NTFS。一次性分成NTFS格式,以我个人习惯…

实时操作系统概述(推荐) .

一 实时操作系统概述 1 操作系统概述 在计算机技术发展的初期阶段,计算机系统中没有操作系统(Operating System)这个概念。应用程序开发人员都要对处理器和硬件进行彻头彻尾的控制。实际上,第一个操作系统的诞生,就是为了提供一个虚拟的硬件…

实时操作系统概述

一 实时操作系统概述 1 操作系统概述 在计算机技术发展的初期阶段,计算机系统中没有操作系统(Operating System)这个概念。应用程序开发人员都要对处理器和硬件进行彻头彻尾的控制。实际上,第一个操作系统的诞生,就是为了提供一个虚拟的硬件…

实时操作系统概述(推荐)

一 实时操作系统概述 1 操作系统概述 在计算机技术发展的初期阶段,计算机系统中没有操作系统(Operating System)这个概念。应用程序开发人员都要对处理器和硬件进行彻头彻尾的控制。实际上,第一个操作系统的诞生,就是为了提供一个虚拟的硬件…

人工智能背景下的Office 365现状和发展趋势

作者:陈希章 发表于 2017年7月31日 引子 谈论人工智能是让人兴奋的,因为它具有让人兴奋的两大特征 —— 每个人都似乎知道一点并且以知道一点为荣,但又好像没多少人能真正讲的明白。毫无疑问,我也仅仅是知道一点点,这一…

OC中JSON解析与XML解析

文章目录 ###JSON JSON是一种轻量级的数据格式,一般用于数据交互; 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外)。JSON的格式很像OC中的字典和数组,标准JSON格式key必须是双引号。…