LIN通讯(二)

四、帧的类型

根据帧ID的不同将帧分为以下几种类型:

帧的类型帧ID
信号携带帧无条件帧0x00~0x3B
事件触发帧
偶发帧
诊断帧主机请求帧0x3C
从机应答帧0x3D
保留帧0x3E,0x3F

1.信号携带帧

(1)无条件帧

        LIN协议中的无条件帧(Unconditional Frame)是指主节点在每个调度表中周期性发送的一种帧,不论从节点的状态如何,主节点都会发送这种帧。无条件帧通常用于发送周期性数据或者控制命令。无条件帧是一种基本的报文类型,用于在车辆的不同部件之间传输数据。

        无条件帧的特点是,无论信号是否发生变化,该帧都会在预定的时隙中被发送。这种类型的帧主要用于那些需要定期更新或同步的信号,其传输是按照固定的周期进行的。

特点:

单一发布节点:无条件帧具有唯一的发布节点,该节点在指定的帧时隙中发送数据。

固定帧时隙:无条件帧在固定的时间槽内传输,确保了通信的同步性和可预测性。

必须应答:一旦帧头被发送出去,总线上所有的从机节点都必须作出应答。这意味着,即使数据没有变化,从机节点也需要响应,以保证网络的可靠性。

帧ID:无条件帧使用特定的帧ID进行标识,使得接收节点能够识别该帧的内容和用途。

  • 例如,帧ID 0x30 通常用于从机节点1向主机节点报告状态。
  • 帧ID 0x31 可用于主机节点向一个或多个从机节点发布信息。
  • 帧ID 0x32 可能用于从机节点之间的通信

(2)事件触发帧

        事件触发帧(Event Triggered Frame)它不同于无条件帧(Unconditional Frame),它的发送不是基于固定的时间周期,而是由特定的事件或条件触发的。

        无条件帧不论信号是否发生变化必定有从机任务应答不同,事件触发帧只有信号发生变化才需要应答,所以事件触发帧允许无节点应答(只有帧头无应答),也允许两个以上的节点对帧头作应答。

特点:

 ①事件驱动:事件触发帧的发送是由节点检测到特定信号或事件的变化而触发的

非周期性:与无条件帧不同,事件触发帧不遵循固定的发送周期。它们仅在需要时发送,这样可以减少总线上的通信量,提高网络的效率。

响应时间:由于事件触发帧是基于即时事件触发的,它们通常要求较快的响应时间,以便及时通知网络上的其他节点发生了什么。

帧ID:事件触发帧也有自己的帧ID,用于标识帧的类型和内容。这些帧ID通常不同于无条件帧的帧ID。

冲突解决:如果有多个节点几乎同时触发事件触发帧,LIN总线协议包含冲突解决机制来决定哪个节点的帧优先发送。

从机节点发起:事件触发帧通常由从机节点发起,通知主机节点或其他从机节点发生了特定的事件。

(3)偶发帧

        偶发帧(Spontaneous Frame),它用于在特定条件下传输数据,这些条件通常是由某个节点上的特定事件或状态变化触发的。偶发帧的主要特点是它们不是按照固定的时间表发送的,而是在满足一定条件时才发送。

特点:

①条件触发:偶发帧的发送是由特定的条件或事件触发的,这些条件可能包括硬件故障、软件错误、外部信号输入等。

②非周期性:与无条件帧和事件触发帧不同,偶发帧不遵循固定的发送周期。它们仅在特定条件满足时发送。

③优先级:偶发帧通常具有较高的优先级,因为它们传输的数据通常是关键信息,如故障诊断或安全相关的数据。

④帧ID:偶发帧也有自己的帧ID,用于标识帧的类型和内容。这些帧ID通常不同于无条件帧和事件触发帧的帧ID。

⑤冲突解决:如果有多个节点几乎同时触发偶发帧,LIN总线协议包含冲突解决机制来决定哪个节点的帧优先发送。

2.诊断帧

(1)主机请求帧

        主机请求帧(Master Request Frame)是LIN总线通信协议中的一种通信机制,它允许主机节点(通常是控制单元)向从机节点(通常是传感器或执行器)请求特定数据。这种类型的帧用于实现主从通信模式,其中主机控制数据交换的流程。

以下是主机请求帧的主要特点:

①由主机发起:主机请求帧由主机节点发起,用于向从机节点请求数据。

②请求特定数据:通过帧ID,主机可以指定它想要从哪个从机节点获取哪些数据。

③响应:从机节点在接收到主机请求帧后,会发送一个响应帧(Slave Response Frame),其中包含所请求的数据。

④非周期性:主机请求帧不是周期性发送的,而是在主机需要特定信息时发送。

⑤帧ID:主机请求帧使用特定的帧ID,该帧ID指示了请求的数据类型和目标从机节点。

⑥同步和异步请求:主机请求帧可以是同步的,也可以是异步的。同步请求通常在预定义的时间槽内发生,而异步请求则可以在任何时间发生。

⑦冲突解决:如果有多个主机尝试同时发送请求帧,LIN总线协议包含机制来解决这种冲突。

主机请求帧的通信过程通常如下:

①发送请求:主机发送一个包含特定帧ID的主机请求帧,以请求特定从机节点的数据。

②从机响应:目标从机节点在接收到请求后,将发送一个响应帧,其中包含所请求的数据。

③数据确认:主机接收从机发送的数据,并可能发送一个确认帧以表明数据已正确接收。

 

(2)从机应答帧

        从机应答帧,它是由从机节点(通常是传感器或执行器)发送给主机节点(通常是控制单元)的响应帧。当主机节点通过发送主机请求帧(Master Request Frame)来请求数据时,从机节点会发送一个从机应答帧作为响应。

特点:

①响应请求:从机应答帧是作为对主机请求帧的直接响应而发送的,它包含了主机请求的数据。

②数据内容:从机应答帧包含从机节点收集的数据或状态信息,这些数据可能是传感器读数、执行器状态或其他相关信息。

③帧ID:从机应答帧使用与主机请求帧相对应的帧ID,以便主机可以识别哪个从机节点正在响应。

④时序:从机应答帧通常在主机请求帧之后的一个预定义的时间窗口内发送,以确保通信的同步性。

⑤错误检测:从机应答帧通常包含校验和或类似机制,用于检测传输过程中可能出现的错误。

⑥单播或广播:从机应答帧可以是单播(仅发送给请求的主机)或广播(发送给总线上的所有节点)。

从机应答帧的通信过程通常如下:

①主机请求:主机发送一个包含特定帧ID的主机请求帧,请求特定从机节点的数据。

②从机准备响应:目标从机节点在接收到请求后,准备所需的数据。

③从机发送响应:从机节点在预定的时隙内发送从机应答帧,包含所请求的数据。

④主机确认:主机接收从机应答帧,并可能发送一个确认帧以表明响应已接收。

 

3.保留帧

        在LIN总线通信协议中,保留帧(Reserved Frame)是指那些在标准规范中尚未定义用途的帧。这些帧的ID(0x3E和0x3F)被保留下来,以便将来标准的扩展或特定制造商的实现。保留帧的使用通常是为了未来的兼容性考虑,或者是为了特定应用的需要。

特点:

①未定义用途:保留帧的ID在LIN规范中是预留的,但目前没有定义其具体用途。

②扩展性:随着技术的发展和新的应用需求的出现,这些帧可以用来扩展LIN总线的能力,例如引入新的通信功能或支持新的设备。

③制造商特定:在某些情况下,制造商可能会使用保留帧来实现特定的功能,这些功能可能不符合标准LIN规范,但适用于制造商的产品线。

④避免冲突:使用保留帧可以避免与现有标准帧的冲突,确保新功能或设备的集成不会破坏现有系统的兼容性。

⑤谨慎使用:由于保留帧的用途未定义,因此在使用时应谨慎,以避免与未来标准更新或不同制造商的实现发生冲突。

五、帧传输时间的计算

LIN帧的传输时间依赖于以下几个因素:

波特率:LIN网络的波特率通常为9600到20000 bps之间。

帧类型:LIN帧包括同步帧、头部帧和响应帧。

帧格式:每个帧的格式,包括起始位、数据位、停止位等。

例子:

假设波特率为19200 bps,一个包含4个数据字节的LIN帧,计算传输时间?

同步间隔(Break):13位

同步字段(Sync Field):8位

标识符字段(Identifier Field):8位

数据字段(Data Field):4字节 * 8位 = 32位

校验字段(Checksum Field):8位

总位数 = 13 + 8 + 8 + 32 + 8 = 69位

波特率 = 19200 bps

传输时间 = 总位数 / 波特率

传输时间 = 69 / 19200 秒 ≈ 0.00359 秒

通用公式

总传输时间(秒) = (同步间隔位 + 同步字段位 + 标识符字段位 + 数据字段位 + 校验字段位) / 波特率

对于一个包含 NNN 个数据字节的LIN帧,公式如下:

T=13+8+8+(8×N)+8波特率T = \frac{13 + 8 + 8 + (8 \times N) + 8}{波特率}T=波特率13+8+8+(8×N)+8​

其中:

  • 131313 是同步间隔位数
  • 888 是同步字段位数
  • 888 是标识符字段位数
  • 8×N8 \times N8×N 是数据字段位数(NNN 为数据字节数)
  • 888 是校验字段位数

六、LIN和CAN的对比

CANLIN
设计目的用于高速、高可靠性的车辆内部通信,适用于需要快速数据交换的关键系统,如发动机管理、动力总成、底盘控制等用于低成本、低速率的车辆内部通信,通常用于连接车身电子部件,如车窗、后视镜、座椅调节等
传输速率标准CAN的传输速率为125 Kbps或250 Kbps,而高速CAN(CAN-FD)可以达到更高的速率,例如5 Mbps最高传输速率为20 Kbps,通常使用9600 bps或19200 bps
网络结构是多主网络,任何节点都可以主动发送数据,不需要主机节点的控制采用单主机多从机的结构,每个子网络有一个主机节点控制多个从机节点
错误检测和处理具有更复杂的错误检测和处理机制,包括帧检查、循环冗余检查(CRC)、错误计数和自动重传等具有简单的错误检测机制,如校验和
成本和复杂性设计复杂,成本较高,但提供了更高的通信速率和可靠性设计简单,成本较低,适合对通信速率要求不高的场合
应用场景适用于需要高速通信的关键系统,如发动机管理、ABS、EPS等适用于车身电子系统,如车窗升降、座椅调节、车灯控制等
通信距离和节点数量通信距离较长,节点数量较多,理论上可以支持更多节点,但实际应用中受限于网络负荷和延迟要求通信距离较短,节点数量较少,通常每个子网络不超过16个节点

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值