我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。
老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:
没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕的就是把别人的眼光当成自己生活的唯一标准。到最后,既没有活成别人喜欢的样子,也没有活成自己想要的样子。
我们只有接纳真实的自己,不自卑、不自傲,才能拥有更强大的内心;只有找到自己的核心价值,才能活出自己的精彩人生。
SAE J1939是基于CAN(Controller Area Network,控制器局域网)的通信协议,广泛用于各类商用车。该协议对车辆中连接CAN的电子组件及其附加设备之间的通信进行了标准化。
一、优先级
NAME用于解决冲突,以及确定地址的优先级。如果通过“地址声明”检测到地址冲突,则所涉及的设备必须比较其NAME。从 MSB (Most Significant Bit, 最高有效位)). 开始,逐位比较。在比较时,CAN仲裁的规则同样适用:0会覆盖1。数值越小的NAME优先级越高,优先级较高的ECU可以使用该地址。在这种情况下,具有较低优先级NAME的ECU的行为取决于其配置,如下为ECU的四种基本配置:
1、自行配置
地址丢失后,设备将自行搜索介于128到247之间的新地址,并尝试获取该地址。Animation „Address Claim Dynamic“
2、程序配置
设备会有送带有NULL地址(254)的“地址声明”PGN,表示其“无法声明地址”。可以使用“命令地址”网络管理服务为ECU分配新的设备地址。此操作可以使用外部工具或网络中的“智能”设备来完成。
3、手动配置
对于此类ECU,只能借助开关设置新地址。此配置的常用方法是根据ECU的位置,借助处理器I/O端口对地址进行编码。例如,车门ECU可以独立确定是在左侧还是在右侧进行安装,然后选择相应的地址。
4、不可配置
此类ECU只能通过对设备软件进行重新编程来接收新地址。
4、AAC位
可能在网络中多次出现的ECU必须支持上一章解决方案和配置中的“自行配置” 。该配置行为由NAME中的最高有效位(MSB)“仲裁地址(AAC)” 决定。此位用于ECU地址冲突失败后独立搜索新设备地址。如果ECU仅在网络中出现一次,则可以使用固定的设备地址,不必设置“AAC”位。这样操作的结果是,自配置ECU的NAME优先级低于未设置该位的ECU。
5、请求
J1939网络管理中的一个重要机制是使用“请求”PGN,用于请求网络中ECU的PGN。”地址声明“PGN也体现了该机制的应用。例如,ECU必须通过“地址声明”PGN来回答“地址声明请求”PGN。
注意: 如果发出请求的ECU具有有效地址,则该ECU还必须回答自己的请求!