vesperW · 5月23日

图解分流法Lin自动寻址策略

  • 组装难题
  • 降本增效
  • 自动寻址
  • 最远节点
  • 电流阈值
  • 寻址步骤
  • 物理接线
  • 参考文献

Lin自动寻址的机制依赖于集成了Lin Phy和MCU的芯片上有控制向Lin总线上注入电流,并检测Lin总线上电流的能力,或者需要Lin从机节点的电路系统设计实现。然后,需要配合Lin主机和Lin从机节点之间的通信协议,最终才能实现自动寻址。

组装难题

Lin总线经常用于连接许多完全相同的Lin从节点。这些Lin从节点需要分配不同的ID,并按其ID装配到正确的位置。

image.png

如果位置装错,就会导致控制异常。例如在下图x中所示,在安装失误的情况下,原本要发送给主驾驶位的电机0x02启动吹风的命令,就会送到副驾驶位的电机上,启动副驾电机吹风。

image.png

如果没有Lin自动寻址的情况下,就需要为每个位置的电机单独备货,并且增加了装配的复杂性,容易出错,提高了生产成本。

降本增效

如果可以在装配时进行任意安装,然后装配完成后,再通过某种机制,使得每个Lin执行器识别出自己所在的位置,并自动学习正确的地址(自动寻址),这样使用同一个套备货,并且能提高装配效率,降低生产成本。

image.png

自动寻址

"Lin BUS Shunt Slave Node Position Detection" 是一种Lin自动寻址策略,该策略采用迭代的方法,即:"多次迭代,由远及近,每次一个"。每次迭代仅识别出最远端节点,并进行学习;本次迭代结束后,将这个已完成学习的从节点从Lin总线上暂时性地排除,下一次迭代再识别出本次的最远端节点,最终完成所有从节点的自学习。

image.png

最远节点

那么,如何识别最远节点呢?

多个Lin从节点以 菊花链 的形式连接,每个从节点都有可控的电流源向Lin总线注入电流,同时每个节点可以采集自己内部Lin总线上的电流。如图x所示。

image.png

在Lin从节点自动寻址期间,除了最左侧的Lin主节点的低边MOS是导通的,所有其他Lin从节点的低边MOS都是断开的。这样上面电路就有一个很好的"电流汇集"特性,所有注入Lin总线的电流在Lin总线上逐渐汇集,最远端节点采集的电流永远是"最小"的。

image.png

电流阈值

利用这个特性,Lin节点自身就可以来识别自己是不是最远端节点!为此,我们只需要设置一个电流阈值I_diff,使其小于单个Lin节点注入Lin总线的电流。这样对于最远端节点,由于它的采样电流小于I_diff,而对于其他节点的采样电流经过累加,总是大于I_diff的。

image.png

寻址步骤

首先,约定在整个地址自学习期间,只有最左侧主节点的低边MOS是导通的,所有从节点的低边MOS都是断开的。

  • Step1:所有从节点都将电流源注入Lin总线,此时最远端从节点的采样电流为0 < I_Diff,其余从节点的采样电流都 > I_Diff,这样,所有的从节点都知道自己是不是最远端的节点。

image.png

  • Step2:主节点广播发出地址分配指令 ID = 0x0F,只有最远端节点会接收指令,并将自己的地址配置为0x0F
  • Step3:0x0F节点完成地址配置后,通过关闭开关,将其暂时从Lin总线排除。其余节点仍将电流源注入。这样可以识别出次远端节点。

image.png

  • Step4:主节点发出地址分配指令 ID = 0x0E,只有本次的最远端节点会接收指令,并将自己的地址配置为0x0E重复上述步骤,直到所有从节点都完成地址自学习

注意:工程上标准的Lin自动寻址分为7步,并采用两级电流源,两次仲裁(第一次选出多个备选最远节点,第二次选出唯一的最远节点)。这是因为工程上需要增加考虑下面几个因素:

  1. 消除普通Lin从节点(非BSM自学习Lin从节点)注入Lin总线电流的影响
  2. 考虑电流负载的因素,注入的电流源不能太大
  3. 考虑到采样电路精度的问题,注入电流源又不能太小

物理接线

elmose521.31芯片为例,介绍Lin自动寻址技术的硬件连接方式。

为了实现Lin自动寻址技术,采用了一种不同于传统Lin的连接方式,如图x所示。主节点引出来的Lin信号线连接到第一个子节点的LIN_M引脚,其中的LIN_S引脚连接到下一个节点的LIN_M引脚,其余从节点依次连接。图x中的LIN_S_LAST为最后一个相连从机节点的LIN_S,实现完成的链路。

image.png

为了满足Lin自动寻址需求,在芯片中增加了一些硬件:LIN_MLIN_S之间加入采样电阻、2mA的上拉电流源,以及采样电阻上的采样电路。如此,总线系统中的从机必须以菊花链方式接入。

image.png

在集成MCU的LIN节点中,通过软件控制EN_PUEN_AA开关的状态,改变分流电阻R_shurt两端的电压差,并经由运放放大后通过软件控制允许在U_AA处观察到电压差,通过这一系列控制以及计算实现Lin自动寻址编址。

参考文献

作者:安德鲁苏
来源:安德鲁的设计笔记本

推荐阅读

欢迎大家点赞留言,更多Arm技术文章动态请关注极术社区嵌入式客栈专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
2891
内容数
284
分享一些在嵌入式应用开发方面的浅见,广交朋友
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息