我正在开发一个用J1939协议连接到CAN总线的产品。
在地址声明过程中,应该强制发送我的产品的名称,其中包括制造商代码。这个制造商代码有11位长,它应该由SAE委员会分配。
但我对此有点困惑。
只有11位长,只有2048个不同的代码。对于世界上的所有制造商来说,这似乎并不太多(而且有些制造商分配了多个代码)。
另一方面,我真的需要一个制造商代码吗?有什么策略可以让我避免得到吗?在这方面是否有任何常用的策略?
发布于 2017-03-09 23:51:50
另一方面,我真的需要一个制造商代码吗?
这取决于你的设备的性质,如果它是为了大规模生产,那么你将需要注册自己并获得一个id。
有什么策略可以让我避免得到吗?
您可以使用11'b0作为您的ID,但只用于实验/开发目的,因此您不会兼容J1939。
名称仅在地址声明过程中使用,在两个ECU要求相同地址的情况下,比较它们的名称以检查谁保存它。
争用基本上比较名称作为数字值,值越低,优先级越高。取决于您的设备优先级,名称甚至可能不考虑。
您需要评估您的设备正在运行系统的功能,并在不重要的情况下使用更高的名称,如果与安全相关,则需要更低的名称。
https://stackoverflow.com/questions/41279811
复制相似问题