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网络中的节点任务分为主机任务和从机任务两类。其中,主机任务只在主机节点上运行,而从机任务在主机节点和从机节点上均可运行。也就是说,主机节点可以实现主机任务和从机任务。
A.主机任务主要执行以下功能:
B.从机任务既可运行于主机又可运行于从机,它主要完成以下功能:
LIN 总线上具有“显性”和“隐性”两种互补的逻辑电平。
其中,显性电平(参考地电压)是逻辑 0,隐性电平(电源电压)是逻辑1。
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。
PID场定义了 报文的内容和长度 。
如图,PID场分为6个标识符位和2个ID奇偶校验位。
6个标识符位我们称之为ID 。如果加上2个奇偶校验位就变成PID了,即Protected ID。
6个标识符位中,标识符后两位为 数据长度控制位 。
总的来看,ID的范围是0-0x3F。
注意是ID,不是PID,要区分开。
上图中的ID4和ID5为数据长度控制位(ID4是低位)。
P0和P1为奇偶校验位。
数据场主要需注意每个字节先传输的是最低位。即如果某一信号长度超过1个字节,采用低位在前的方式发送(小端)。
校验和场 是数据场所有字节的和的反码 。所有 数据字节的和的补码,与校验和字节相加所得的和必须是0xFF 。
下图是一些LIN总线数据,以最后一组为例,2个0xFF之和为0x1FE,处理后仍然为0xFF。故8个0xFF加和之后仍为0xFF,取反码为0x00。
总线原理:
物理上就一根线,关联节点都接上,有且仅有一个主设备,N多从设备,每个节点要通信的内容都事先编号号。
这就好比大家开晚会,话筒就一个,主持人一个,N个嘉宾,每人的话题都有一个编号。
表达顺序是这样的,
晚会开始前,大家睡觉的睡觉,闲的闲
1 主持人,把话筒对着大鼓,敲-停-, 敲-停-, … 敲-停-
这样大家都被吵醒了,晚会开始了
晚会都是谈话内容,都是下面步骤的重复
就这样重复了多次之后,主持人
就这样,晚会结束了,大家睡觉的睡觉 休息的休息
搞笑的结束了,稍微来点关键词
全部0条评论
快来发表一下你的评论吧 !