LIN总线学习笔记(1)-总线传输规范

LIN总线学习笔记(1)-总线传输规范

 关注菲益科公众号—>对话窗口发送 “CANoe ”或“INCA”,即可获得canoe入门到精通电子书和INCA软件安装包(不带授权码)下载地址。

接触LIN是从最近负责项目中开始的。项目已经快要量产了,因为中间遇到的大大小小的问题,都与LIN传输规范有关系,所以特地花时间找了点资料看了看。B站上有好多视频蛮不错的,看完收益匪浅。

这篇笔记主要总结了对于LIN总线传输规范的初步认识,具体从以下几个方面展开讨论;

  • LIN网络特点
  • PDU有哪些类型
  • NAD是什么
  • PCI指的是什么
  • LIN报文中的SID以及RSID
  • 单帧传输&&多帧传输
  • 常见的错误处理策略

接触过CAN的应该知道,LIN的产生是为了降低车载总线技术成本,LIN总线的传输速率远小于CAN,仅为20Kbps。但是LIN网络在汽车中一般不单独存在,要与上层网络相连(如CAN)。

LIN网络特点

LIN网络由一个主机节点和多个从机节点构成。主机节点包含主机任务和从机任务,从机节点只包含从机任务。主机任务主要负责:

  1. 调度总线上帧的传输次序(发送调度表)
  2. 检测数据以及处理总线上的错误
  3. 作为标准时钟参考
  4. 接收从机节点发出的总线唤醒命令

从机任务不能够主动发送数据,需要接收主机发送的帧头,根据帧头所包含的信息(帧ID)判断做出以下哪种反应:

  1. 发送应答(帧中除帧头外剩下的部分)
  2. 接收应答
  3. 既不接收也不发送应答

LIN网络传输中数据帧包含了两个部分,帧头(header)和应答(Response)两部分。帧头由主节点发送,从节点接收帧头并对帧头所包含的信息进行解析判断是否需要发送应答。

PDU是什么

总线上数据传输的单元叫做PDU(协议数据单元)。主要分为三类:单帧、首帧和连续帧。

  • 单帧(SF,Single Frame):只用一个PDU就完成所有数据传输的报文;
  • 首帧(FF, First Frame):多帧传输时,被发送的首个PDU;
  • 连续帧(CF,Consecutive Frame):多帧传输时,在首PDU发送后,紧接着发送的PDU

简言之,一个LIN单帧SF能传输的数据长度最多为5个字节;如果要传输的数据内容长度超过5个字节,则需要考虑用多帧也就是最少两帧(ff+cf)才可以完成传输。

NAD

NAD指的是从节点地址(Node Address)。LIN协议中对NAD单位进行了定义,具体如下:

LIN规范定义的,主节点发送睡眠指令,发送帧头ID 3C,单帧数据内容为:第一个字节NAD设置为0x0,其余字节设置为0xFF即可

PCI

PCI即协议控制信息(Protocol Control Information)。PCI包含PDU的类型、编号和报文的有效数据长度等信息。根据PDU的不同,PCI不同,具体如下:

注:多个PDU组成的报文中,在每个连续帧CF中必须加入包编号,第一个CF的包编号是1,第二个是2,……包编号超过15则重新从0开始计算。

比如,如果要发诊断ECUreset请求(11 01),需要发送的PDU类型为单帧就可以了,帧头ID为3C,数据长度为2,所以PCI为0x02,PDU为:NAD 0x02 0x11 0x01 0xFF 0xFF 0xFF,0xFF为填充字节。

如果要发送的数据长度为15个字节,则发送的PDU内容如下:

FF:NAD 0x10 0x0A D1 D2 D3 D4

CF:NAD 0x21 D5 D6 D7 D8 D9 D10

CF:NAD 0x22 D11 D12 D13 D14 D15

SID以及RSID

SID(Service Identifier)是指服务标识符,在请求帧中发送;RSID(Response Service Identifier)对应于SID的响应服务标识符,在相应帧中发送。

RSID = SID + 0X40

单帧传输&多帧传输

当需要传输的有效数据长度少于6个字节时,用单帧传输。传输有效数据长度在7~4095字节,需要通过多帧的形式传输。

但是需要记住的是,LIN上面所有从节点从节点的数据传输,必须等到收到主节点的帧头后,次对外发出数据帧。也就是说如果是响应一个主节点的请求,需要通过多帧的形式才可以把反馈数据传输完毕,则FF以及每一个CF的发出都需要在收到主节点的帧头后才可以发出去。

错误处理

规范定义了一些LIN上常用的错误处理机制,比如:

  • Length SF >6,则忽略该报文
  • Length FF<7,则忽略该报文
  • Length FF>BufferSize,则终止接收该报文
  • 节点如果处于发送状态,接收到SF或FF(NAD !=0X7E),则终止发送报文,开始接收新报文
  • CF编号如果错误,放弃之前接收的CF与FF

了解更多产品信息,请致菲益科电子官网查询

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LIN总线(Local Interconnect Network)是一种用于车载电子系统的通信协议和总线架构。LIN总线网络通常用于连接车辆中的各种电子控制单元,如门控制器、座椅控制器、车窗控制器等。LIN总线网络通用需求规范是对LIN总线网络的基本要求和规范的定义。 首先,LIN总线网络通用需求规范要求支持低速通信。由于车辆电子控制单元数量众多,每个控制单元都需要进行通信,因此通信速度不能过高,否则会造成通信拥堵。LIN总线网络通用需求规范规定了适当的通信速率范围,以满足车辆电子系统的通信需求。 其次,LIN总线网络通用需求规范要求支持简单和经济的硬件和电气连接。由于车辆中的电子控制单元数量众多,因此每个控制单元的硬件和电气连接必须简单且经济。LIN总线网络通用需求规范定义了适用于LIN总线网络的连接器、电缆、终端等硬件和电气连接规范,以确保通信的稳定性和可靠性。 另外,LIN总线网络通用需求规范要求支持多节点通信。车辆中的电子控制单元数量众多,并且它们需要相互之间进行通信和数据交换。LIN总线网络通用需求规范定义了多节点通信的协议和机制,以支持控制单元之间的消息传递和数据交换,保证整个LIN总线网络的正常运行。 此外,LIN总线网络通用需求规范还要求支持故障检测和诊断功能。在车辆中,电子控制单元的正常工作至关重要,因此必须具备故障检测和诊断功能。LIN总线网络通用需求规范定义了与故障检测和诊断相关的标准和协议,以支持对电子控制单元的状态和性能进行监测和诊断。 总之,LIN总线网络通用需求规范定义了LIN总线网络的基本要求和规范,包括低速通信、简单和经济的硬件和电气连接、多节点通信和故障检测和诊断功能。这些规范确保了LIN总线网络在车辆电子系统中的正常运行和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值