Введение
Как многим известно, не все контроллеры с поддержкой CAN-FD одинаково полезны, поскольку существует 2 реализации:
- Первая версия протокола CAN FD, описанная в документа от Роберта Боша в 2012г (эта версия также известна как non-ISO CAN FD)
- Вторая версия протокола CAN FD, стандартизованная как обновленный ISO11898-1 в 2015г (эта версия встречается под рекоммендованом CiA термином ISO CAN FD)
Версии CAN FD
Часто сложно понять какая же версия CAN FD реализована (особенно если речь идёт о первой версии — производители не очень красноречивы), но есть косвенные признаки:
- упоминание в спецификации SBC (или Staff bit counter)
- упоминание в программной модели бита переключения режимов FD: ISO/nonISO
При отсутствии этих признаков Вы, скорее всего, имеете дело с nonISO CAN FD. Важно отметить, что эти версии несовместимы между собой, однако на рынке до сих пор находится некоторое количество оборудования, поддерживающего только nonISO CAN FD (само собой в режиме передачи кадров традиционного CAN 2.0 совместимость присутствует). Для всех новых разработок настоятельно рекомендуется использование именно ISO CAN FD реализации. С точки зрения ПО и взаимодействия с регистровой моделью отличия версий никак не проявляются (различия протоколов никак не видны пользователю).