Практика проектирования 16: Ключевые соображения при проектировании приложений для шины CAN
Сайт Сеть контроллеров (CAN) это технология полевой шины, разработанная компанией Bosch, по сути, последовательная асинхронная шина связи. Она широко используется в автомобильных электронных системах управления и промышленных сценариях управления.
Обзор шины CAN
Шина CAN похожа на шину RS485 тем, что обе используют дифференциальные сигнальные линии для передачи данных. Две сигнальные линии в CAN - это CAN_H и CAN_L, которые имеют равные амплитуды сигналов, но противоположные фазы. Разность напряжений между этими двумя линиями представляет собой логические уровни:
- Положительная разность напряжений указывает на логику 0.
- Нулевая (или отрицательная) разность напряжений указывает на логику 1.
По сравнению с RS485 протокол CAN является более сложным. Если для RS485 обычно используется модуль UART в MCU, то для CAN требуется специальный модуль. Контроллер CAN. Если MCU не имеет встроенного CAN-контроллера, необходима внешняя микросхема CAN-контроллера.
Типовая реализация шины CAN
Система шины CAN обычно состоит из:
- MCU (Блок микроконтроллера)
- Контроллер CAN
- Приемопередатчик CAN
Ниже приведена типичная схема интерфейса приемопередатчика для системы шины CAN:
(Примечание: диаграмма, упомянутая в оригинальном тексте, здесь не приводится).
Стандарты шины CAN
Шина CAN развилась в два международных стандарта: ISO11519 и ISO11898. Их основные отличия заключаются в следующем:
- ISO11898 (высокоскоростная сеть замкнутого цикла на коротком расстоянии):
- Максимальная длина шины: 40 метров
- Максимальная скорость передачи данных: 1 Мбит/с
- Требуется Оконечный резистор 120 Ом на каждом конце автобуса.
- ISO11519-2 (низкоскоростная сеть с открытым контуром на большие расстояния):
- Максимальное расстояние передачи: 1 км
- Максимальная скорость передачи данных: 125 кбит/с
- Для каждой автобусной линии требуется Последовательный резистор 2,2 кОм. Эти две линии независимы и не образуют замкнутого контура.
Практические соображения по дизайну
При проектировании системы шины CAN способ подключения зависит от характеристик CAN-контроллера MCU. Например. STM32F103 Микроконтроллер обладает следующими возможностями CAN-контроллера:
- Поддерживает CAN2.0A и CAN2.0B протоколы.
- Скорость передачи данных до 1 Мбит/с.
- Классифицируется как высокоскоростная шина.
Таким образом, при разработке схемы периферийного приемопередатчика для STM32F103 конфигурация оконечного резистора должна соответствовать схеме Стандарт ISO11898 (т.е. 120-омные резисторы на обоих концах шины).
Заключение
Шина CAN - это надежный и прочный протокол связи, широко используемый в автомобильных и промышленных приложениях. Его разработка требует тщательного учета конкретного стандарта (ISO11898 или ISO11519) и характеристик MCU и компонентов приемопередатчика. В следующей части мы сосредоточимся на анализе деталей самого протокола CAN.