ISO CAN FD和非ISO CAN FD(也称为Bosch CAN FD)是两种不同的CAN FD协议标准。它们之间的主要区别在于它们在设计和实现时所遵循的规范不同。
-
标准化和兼容性:
- ISO CAN FD 是根据国际标准组织(ISO)的ISO 11898-1:2015标准制定的。这个标准是在2012年由Bosch公司和其他行业专家共同研发的CAN FD协议的基础上进一步标准化的结果。ISO CAN FD的引入,使得CAN FD协议能够在全球范围内得到统一的实施和应用。
- 非ISO CAN FD 是由Bosch公司预研开发,但并未完全遵循ISO标准。这个版本的CAN FD在某些实现细节上与ISO CAN FD存在差异,导致两者之间存在不兼容性。
-
技术差异:
- 在CRC场方面,ISO CAN FD和非ISO CAN FD的CRC计算方法不同。这意味着即使传输速率和数据长度相同,两者之间的数据帧也可能因为CRC校验位的不同而无法正确通信。
- 在填充位计数器和校验位方面,ISO CAN FD引入了一个3位的填充位计数器以及额外的校验位,而非ISO CAN FD则没有这些特性。
-
应用和推广:
- 由于ISO CAN FD是国际标准化的版本,它更容易在全球范围内得到推广和应用。而Bosch的非ISO CAN FD版本虽然在某些特定场景下可能仍有应用,但它的普及程度和支持范围相对较小。
-
解决方案:
- 为了解决ISO CAN FD和非ISO CAN FD之间的兼容性问题,通常会采用一些特定的硬件设备,如CAN FD路由器,来实现两者之间的通信。这些路由器可以根据预先设定的程序,将数据帧进行适当的转换,以确保不同标准的设备能够正确地交换信息。
总的来说,ISO CAN FD和非ISO CAN FD在技术实现和标准化程度上存在差异,选择哪一种标准往往取决于具体的应用场景和兼容性需求。随着ISO 11898-1:2015标准的推广和应用,ISO CAN FD逐渐成为主流的CAN FD实现方式。