Найти в Дзене

Цифровые шины передачи данных CAN-BUS

CAN (Controller Area Network) — это стандарт последовательной связи для объединения в сеть электронных устройств, обеспечивающий надёжную передачу данных в условиях сильных электромагнитных помех. Ключевые мотивы разработки: Формат кадра: Механизм арбитража:
Оглавление

Лекция: шина CAN (Controller Area Network)

1. Введение

CAN (Controller Area Network) — это стандарт последовательной связи для объединения в сеть электронных устройств, обеспечивающий надёжную передачу данных в условиях сильных электромагнитных помех.

2. История создания

  • 1983 г. — компания Bosch начинает разработку протокола для автомобильной промышленности.
  • 1986 г. — официальная презентация CAN на конгрессе SAE (Society of Automotive Engineers).
  • 1987 г. — Intel выпускает первый CAN‑контроллер (82526).
  • 1991 г. — стандарт CAN 2.0 (разделение на части A и B).
  • 1993 г. — принятие ISO 11898 как международного стандарта.
  • 2000‑е гг. — развитие CAN FD (Flexible Data‑rate) для увеличения пропускной способности.

Ключевые мотивы разработки:

  • необходимость заменить громоздкие проводные соединения в автомобилях;
  • требование высокой надёжности в условиях электромагнитных помех;
  • потребность в децентрализованной архитектуре (отсутствие главного контроллера).

3. Сферы применения

Основное применение

  • Автомобильная промышленность:
    управление двигателем;
    системы безопасности (ABS, ESP);
    бортовые сети комфорта;
    приборные панели;
    телематика.
  • Промышленная автоматизация:
    станки и роботы;
    конвейерные линии;
    системы управления зданиями.
  • Медицинское оборудование:
    аппараты ИВЛ;
    диагностические комплексы;
    инфузионные системы.

Другие области

  • железнодорожный транспорт;
  • сельскохозяйственная техника;
  • морские суда;
  • аэрокосмическая отрасль;
  • умные дома.

4. Технические характеристики

  • Скорость передачи: от 10 кбит/с до 1 Мбит/с (стандарт), до 5 Мбит/с (CAN FD);
  • Максимальная длина линии: до 1 км (при 50 кбит/с), до 40 м (при 1 Мбит/с);
  • Количество узлов: до 127 (теоретически), обычно 32–64;
  • Топология: общая шина с терминальными резисторами (120 Ом);
  • Разрядность данных: 0–8 байт в стандартном кадре;
  • Контроль ошибок: CRC, контроль битовых полей, подтверждение приёма.

5. Архитектура и принцип работы

Физический уровень

  • двухпроводная дифференциальная линия (CAN_H, CAN_L);
  • доминирующее состояние (логический «0») — разница потенциалов ~2 В;
  • рецессивное состояние (логическая «1») — разница потенциалов ~0 В;
  • терминальные резисторы 120 Ом на концах шины.

Канальный уровень

Формат кадра:

  1. Начало кадра (SOF);
  2. Идентификатор (11 или 29 бит);
  3. Контроль доступа;
  4. Длина данных (0–8 байт);
  5. Данные;
  6. CRC (15 бит);
  7. Подтверждение (ACK);
  8. Конец кадра (EOF).
-2

Механизм арбитража:

  • узлы «слушают» линию при передаче;
  • при коллизии продолжает передачу узел с меньшим идентификатором;
  • гарантирует доставку высокоприоритетных сообщений.

6. Преимущества CAN

  • Надёжность:
    дифференциальная передача сигналов;
    встроенный контроль ошибок (CRC, битовый контроль);
    автоматическое повторение при ошибке.
  • Реальное время:
    детерминированная задержка доставки;
    приоритезация сообщений через идентификатор.
  • Экономичность:
    минимум проводных соединений;
    низкая стоимость компонентов.
  • Масштабируемость:
    лёгкое добавление новых узлов;
    отсутствие перенастройки сети.
  • Устойчивость:
    работа при сильных электромагнитных помехах;
за счёт витой пары защита от наведённых ЭМ помех
за счёт витой пары защита от наведённых ЭМ помех


  • отказоустойчивость (отключение неисправных узлов).

7. Недостатки CAN

  • Ограниченная пропускная способность:
    максимум 1 Мбит/с в классическом CAN;
    малый объём данных в кадре (до 8 байт).
  • Сложность диагностики:
    необходимость специализированного оборудования;
    трудности локализации неисправностей.
  • Ограниченное число узлов:
    практические ограничения при большом количестве устройств.
  • Жёсткие требования к топологии:
    строго «общая шина»;
    точное соблюдение длины линий и терминации.
  • Высокая стоимость разработки:
    требуется глубокое понимание протокола;
    затраты на сертификацию.

8. Методы диагностики CAN‑сети

1. Визуальный осмотр

  • проверка целостности кабелей;
  • контроль подключения терминальных резисторов (120 Ом);
  • осмотр разъёмов на наличие окислов.

2. Измерение физических параметров

  • Сопротивление шины: между CAN_H и CAN_L должно быть ~60 Ом (два резистора 120 Ом параллельно);
  • Напряжение:
    рецессивное состояние: CAN_H ≈ 2,5 В, CAN_L ≈ 2,5 В;
    доминирующее состояние: CAN_H ≈ 3,5 В, CAN_L ≈ 1,5 В;
  • Волновое сопротивление: должно быть 120 Ом ±10 %.

3. Анализ сигналов осциллографом

  • форма сигналов CAN_H и CAN_L;
  • длительность битового интервала;
  • амплитуда дифференциального сигнала (должно быть ~2 В);
  • наличие помех и отражений.

4. Программная диагностика

  • CAN‑анализаторы (например, CANalyzer, CANoe):
    захват и декодирование кадров;
    статистика ошибок;
    симуляция узлов.
  • Логирование трафика:
    выявление «молчащих» узлов;
    анализ частоты сообщений;
    поиск коллизий.

5. Встроенные механизмы самодиагностики

  • счётчики ошибок передачи (TEC) и приёма (REC);
  • автоматический переход в «пассивный» режим при критических ошибках;
  • сигнализация о перегрузке шины.

6. Типовые неисправности и их признаки

  • Обрыв линии: отсутствие трафика, высокое сопротивление (>240 Ом);
  • Короткое замыкание: нулевое дифференциальное напряжение;
  • Неправильная терминация: отражения сигнала, ошибки CRC;
  • Конфликт идентификаторов: потеря сообщений, высокие счётчики ошибок;
  • Перегрузка шины: задержки, пропущенные кадры.

9. Инструменты диагностики

  • Осциллограф — анализ формы сигналов;
  • Мультиметр — измерение сопротивления и напряжения;
  • CAN‑интерфейс (USB‑CAN, PCI‑CAN) — захват трафика;
  • Специализированное ПО (CANalyzer, Wireshark с плагином CAN);
  • Тестовые генераторы CAN — имитация узлов и нагрузок.

10. Практические рекомендации

  1. При проектировании:
    соблюдайте максимальную длину линии для заданной скорости;
    устанавливайте терминальные резисторы на обоих концах;
    используйте экранированную витую пару (STP).
  2. При монтаже:
    избегайте резких изгибов кабеля;
    обеспечивайте надёжный контакт разъёмов;
    разделяйте CAN‑линию и силовые цепи.
  3. При диагностике:
    начинайте с измерения сопротивления шины;
    проверяйте напряжение в рецессивном и доминирующем состояниях;
    анализируйте трафик с помощью CAN‑анализатора.