1

我正在开发一种使用 J1939 协议连接到 CAN 总线的产品。

在地址声明过程中,必须发送我的产品名称,其中包括制造商代码等数据。该制造商代码长度为 11 位,应该由 SAE 委员会指定。

但我对此有点困惑。

只有 11 位长度,只有 2048 种不同的代码。对于世界上所有的制造商来说,这似乎并不多(其中一些制造商分配了多个代码)。

另一方面,我真的需要制造商代码吗?有什么策略可以用来避免得到一个吗?有没有为此目的的常用策略?

4

1 回答 1

0

另一方面,我真的需要制造商代码吗?

这取决于您的设备的性质,如果它用于大规模生产,那么您需要注册自己并获得一个 ID。

有什么策略可以用来避免得到一个吗?

您可以使用 11'b0 作为您的 ID,但仅用于实验/开发目的,否则您将不符合 J1939。


NAME 仅在地址声明过程中使用,在两个声明相同地址的 ECU 的情况下,比较它们的名称以检查谁在保留它。

争用基本上是将NAME作为数值进行比较,值越小优先级越高。根据您的设备优先级,甚至可能不考虑名称。

您需要评估您的设备正在播放系统的功能,如果不是关键的,则分配更高的 NAME,如果与安全相关,则分配更低的 NAME。

于 2017-03-09T23:51:50.257 回答