AFON // радиотехник affonya@mail.ru
← Шины и интерфейсы

Интерфейс CAN

Помехозащищённая шина CAN: дифференциальная пара, арбитраж по приоритету без коллизий, формат кадра, контроль ошибок и настройка битрейта.

Что такое CAN

CAN (Controller Area Network) — надёжная последовательная шина, созданная для автомобилей и прочно закрепившаяся в промышленной автоматике. Все узлы висят на общей витой паре (CAN-High / CAN-Low) и обмениваются короткими кадрами с приоритетами.

Арбитраж без коллизий

Уникальная черта CAN — неразрушающий арбитраж. Если несколько узлов начинают передачу одновременно, побеждает кадр с меньшим (более приоритетным) идентификатором, а остальные автоматически отступают, не теряя данных. Это обеспечивает предсказуемость в реальном времени.

Формат кадра

Кадр данных содержит идентификатор (11 бит в стандартном формате, 29 бит в расширенном), поле управления, до 8 байт данных и поле CRC для контроля целостности. Подсчитать контрольную сумму можно в CRC-калькуляторе.

Битрейт и тайминг

Битовое время делится на кванты: синхронизация, сегменты и точка выборки. Правильно подобрать делитель BRP и сегменты под нужную скорость (например 500 кбит/с) помогает калькулятор CAN bit timing. Типовые скорости — 125, 250, 500 кбит/с и 1 Мбит/с.

Применение

CAN применяется в автомобильной электронике, станках, медтехнике, лифтах — везде, где нужна устойчивая к помехам шина реального времени. Аппаратный CAN есть у старших PIC и AVR-Dx. Смежные промышленные интерфейсы — RS-485 и COM; распиновки — в справочнике.