Протокол CAN FD – результат развития классического протокола CAN. Благодаря ряду изменений эффективная скорость передачи данных CAN FD может быть увеличена в несколько раз. При этом физическая реализация самой шины осталась без изменений. Все это делает CAN FD наиболее привлекательной альтернативой для CAN-устройств. В статье кратко анализируются особенности CAN FD, а также рассматривается пример практической реализации CAN FD на базе микроконтроллеров STM32.
История CAN началась в 1986 году, и с тех пор он стал одним из наиболее популярных протоколов. CAN широко применяют в автомобилях, промышленном оборудовании, системах освещения и других приложениях. Главными достоинствами CAN является простота реализации, так как наиболее сложные элементы протокола (в частности арбитраж, формат кадра, физическая реализация), оказываются реализованными на уровне CAN-контроллера и CAN-трансиверов. Таким образом, разработчик может сразу приступать к передаче данных.
Несмотря на все достоинства CAN, в последнее время все чаще стали возникать проблемы с пропускной способностью этого интерфейса. Дело в том, что объем информации постоянно возрастает и скорости передачи 1 Мбит/с уже не всегда хватает для современных приложений. Кроме того, если раньше нормой были 8- и 10-битные датчики, то сейчас разрядность данных может составлять 24 бита и более, поэтому становится сложнее умещать всю информацию в одном фрейме (8 байт), а переход к многофреймовым сообщениям оказывается неудобным.