LIN自动寻址 - I/O口级联法来辅助分配地址
Lin 自动寻址 - I/O口级联法来辅助分配地址没有硬件LIN自动寻址的情况下,分享一个简单的LIN总线自动寻址方法。
大家一起看看是否可行,还有哪里需要改善的?或者有更好的方法可以分享。
硬件连接,如图所示:
1.每个从节点提供两个额外的引脚,一个输入D1和一个输出D2。
2.每一个从机节点的输入脚D1接下拉电阻,悬空时默认输入低电平。
3.前一个从机节点的D2输出连接到下一个节点的输入D1,以此类推。
操作流程:
1.主节点发送初始化命令,所有从节点复位ID分配标志为未分配,并输出D2为高电平。
2.主节点发送ID分配命令,未分配从节点检测自身D1为低电平时接受分配的ID号并保存。
3.分配成功后该节点设置ID分配标志为已分配,并将其D2输出低电平,通知下一个节点准备接收ID。
4.主节点继续分配ID,从节点依次接受分配的ID号并保存,直到所有从节点ID分配完毕。
5.主节点发送ID分配完成命令,所有从节点退出ID分配模式(D1、D2设置高阻态)。
类似的思路
https://www.stcaimcu.com/thread-12071-1-1.html
首尾断开,开环模式,直接用串口助手发送编址命令,
每个节点都会写入自己的地址,并+1后传给下一个节点,
最后一个节点返回总节点数根据节点数和单节点EEPROM
显示数据部分容量计算总字数,
使用字库生成工具生成显示数据还是开环模式,
下载显示数据,每个节点只保存自己的显示数据到EEPROM,
其余数据转发到下一个节点,全部发完后发送査询命令,
储存状态依次转发后,由尾节点最终反馈
总线分流法(Bus Shunt Method, BSM)。
这是一种基于物理拓扑结构和电流测量原理的智能寻址方案,它允许 LIN 从节点在安装后自动识别其在菊花链网络中的位置,并获取唯一的节点地址。
BSM 方法依赖于几个关键的硬件要素和测量机制:
菊花链拓扑结构:所有参与自动寻址的 LIN BSM 从节点必须以“菊花链拓扑结构”进行物理连接。这意味着 LIN 信号从一个从节点的 LIN(out) 引脚连接到下一个从节点的 LIN(in) 引脚,形成串联通路。
分流电阻(RSHUNT):每个 LIN BSM 从节点单元的 LIN 总线线上都连接一个分流电阻(典型值为 0.5 Ω 至 1.25 Ω)。这个电阻连接在 LIN_M(面向主节点)和 LIN_S(面向下一个从节点)引脚之间。
总线电流测量:BSM 的核心在于在 LIN 主节点发送的断点(break field)的显性阶段测量 LIN 总线电流。由于电流依次流经所有串联连接的分流电阻,不同位置的从节点会测量到不同的总线电流。
上拉电流源:通过有选择地开启和关闭这个电流源,从节点可以精确地测量总线负载,并区分其在菊花链中的位置。
差分放大器与 ADC:为了测量分流电阻两端的微小差分电压。
核心思想是: 在菊花链中,离主节点越远的从节点,其流经的总线电流越小。通过在不同上拉电流条件下测量总线电流并进行比较,芯片能够判断自己是否是链中“最后一个未被寻址”的从节点。
可以像WS2812B推RGB一样简化成一条线吗
有观点如下:
规格化的LIN自动寻址只能通过硬件实现,
在LIN输入与LIN输出之间串电阻,通过开关采样电流进行判断。
初始化时,如果两个或以上从节点离线(断路),则首个ID的分配就会冲突了吧。
页:
[1]