Контроллеры CAN (Controller Area Network) являются важной частью современных систем связи и управления, широко применяясь в автомобильной промышленности, промышленной автоматизации, телекоммуникациях и других областях. CAN-шина представляет собой технологию для обмена данными между устройствами, обеспечивая надежность и высокую скорость передачи информации. В данной статье мы рассмотрим, как подключить модуль CAN-трансивера TJA1051 к Arduino UNO, чтобы начать использовать эту технологию для своих проектов.




1 комментарий. Оставить новый
Предлагаемая схема подключения TJA1051 к UART-портам Arduino UNO не будет работать. ATmega328P не имеет аппаратного CAN-контроллера, а UART (8N1) несовместим с CAN-протоколом — отсутствует бит-арбитраж, ACK, CRC и правильный бит-тайминг. TJA1051 выполняет только физический уровень, не преобразуя UART в CAN-фреймы.
Библиотека MCP_CAN написана для MCP2515 по SPI, а не для TJA1051 по UART — код не запустится без CAN-контроллера.
Вопрос: пробовали ли вы собрать и протестировать эту схему на практике? Две Arduino с TJA1051 по такой схеме не смогут обменяться данными.
Корректно: Arduino → SPI → MCP2515 → TJA1051 → CAN-шина.