Шина CAN (сеть контроллеров) – это высоконадежный протокол последовательной связи-реального времени, используемый в транспортных средствах, промышленной автоматизации и других областях. Он позволяет нескольким микроконтроллерам и устройствам взаимодействовать друг с другом без главного компьютера.

Шина CAN была первоначально разработана компанией Bosch в Германии в начале 1980-х годов для внутри-автомобильной связи. В 1993 году ISO опубликовала стандарт шины CAN (ISO 11898), охватывающий как протокол канального уровня, так и протокол физического уровня.
ISO 11898-1: определяет протокол канального уровня.
ISO 11898-2: определяет протокол физического уровня для высокоскоростной-шины CAN, поддерживающий максимальную скорость передачи данных 1 Мбит/с. Он рекомендует линейную топологию и подходит для приложений с высокими требованиями к работе в режиме реального времени.
ISO 11898-3: определяет протокол физического уровня для низкоскоростной-шины CAN со скоростью передачи данных от 40 до 125 Кбит/с. Также известный как -отказоустойчивый CAN, он обеспечивает непрерывную связь даже при выходе из строя одной сигнальной линии, что делает его пригодным для приложений с меньшими требованиями к работе в режиме реального времени.
Характеристики CAN-шины:
Мульти-Главное управление:Шина CAN поддерживает несколько главных устройств, сосуществующих в сети без иерархии главных-подчиненных. Устройства обмениваются данными на основе приоритета сообщения.
Дифференциальная сигнализация:Использует два провода (CAN_H и CAN_L) для передачи дифференциальных сигналов, повышая устойчивость к электромагнитным помехам.
Не-Неразрушающий арбитраж:Если во время передачи сообщения возникает конфликт, сообщение с более высоким-приоритетом передается, в то время как сообщение с более низким-приоритетом ожидает повторной передачи.
Обнаружение и обработка ошибок:Имеет надежные возможности обнаружения и обработки ошибок, включая проверку контрольной суммы CRC и проверку битовых ошибок.
Гибкая топология:Поддерживает несколько сетевых топологий, таких как линейная, звездообразная, древовидная и кольцевая конфигурации.
На шине CAN значительная разница напряжений между логическими «0» и «1» обеспечивает надежную связь. Согласно приведенному выше описанию, на шине CAN есть два логических уровня:
Доминант: 0
Рецессивный: 1
Уровни сигналов на шине CAN имеют линейные-и характеристики. Эта линия-и поведение формирует основу схемы арбитража CAN-шины: доминантный уровень (0) всегда маскирует рецессивный уровень (1). Если разные узлы одновременно передают доминантный и рецессивный уровни, шина демонстрирует доминантный уровень (0). Только когда все узлы передают рецессивный уровень (1), шина переходит в рецессивное состояние.
Доминирующий уровень:Логический 0. В высокоскоростном-CAN на вывод CAN_H подается напряжение 5 В, а на вывод CAN_L — 0 В.
Уровень покорности:Логика 1. Ни один из контактов не задействован.

Высокоскоростные- и низкоскоростные-шины CAN различаются по определению уровня сигнала на физическом уровне:
Высокоскоростная-CAN определяет логическую "1", когда напряжения CANH и CANL равны (CANH=CANL=2.5V), и логический "0", когда разница напряжений между CANH и CANL составляет 2 В (CANH=3.5V, CANL=1.5V).
В пределах диапазона напряжений синфазного- режима (-от 12 В до 12 В) высокоскоростной приемопередатчик CAN интерпретирует разницу напряжений более 0,9 В между CANH и CANL как доминантное состояние, а разницу менее 0,5 В — как рецессивное состояние. Внутренняя схема гистерезиса уменьшает помехи.
Низкая-скорость CAN определяет логическую "1", когда разница напряжений между CANH и CANL составляет 5 В (CANH=0 В, CANL=5 В), и логический "0", когда разница напряжений составляет 2,2 В (CANH=3.6 В, CANL=1.4 В).
Уровни сигналов высокоскоростной-CAN (ISO 11898-2)
Низкоскоростные-уровни сигналов CAN (ISO 11898-3)
Механизмы обработки ошибок CAN:
Ошибки CRC:Обнаруживает ошибки путем вычисления и проверки значения CRC данных.
Битовые ошибки:Обнаруживает битовые ошибки в-реальном времени во время передачи.
Кадры ошибок:Отправляет кадры ошибок для запроса повторной передачи при обнаружении ошибок.
Краткое содержание
Шина CAN получила широкое распространение во многих областях благодаря своей высокой надежности,-производительности в режиме реального времени и гибкости. По мере развития технологий шина CAN продолжает развиваться,-например, стандарт CAN FD (гибкая скорость передачи данных-), выпущенный BOSCH, еще больше повышает скорость передачи данных для удовлетворения требований приложений, требующих более высокую пропускную способность.




