Раньше инженеры были вынуждены оснащать автомобильную электронику избыточным количеством проводки для обеспечения соединения «точка-точка», а развитие современного функционала сделало эту задачу еще труднее: стандартная модель связи уже не могла удовлетворить требованиям схемы, сложность которой многократного увеличилась.
Одним из способов решения этой проблемы стало внедрение технологии шины CAN, позволяющей упростить последовательное соединение, одновременно делая проще и дешевле печатную плату.
Шина CAN — это многоузловая двунаправленная последовательная шина, которая широко используется в автомобильной промышленности. Она передает маленькие сообщения за короткий отрезок времени по всей сети через двухпроводную шину. Шина работает в режиме приоритетной передачи сообщений, что особенно важно в промышленных сетях с распределенным управлением. Важной особенностью является то, что связь через шину CAN не требует управляющего компьютера (хост-компьютера) и обеспечивает надежный контроль ошибок приема и передачи данных. Протокол высокоскоростной, фукционирует без потерь и использует побитовую передачу данных, что снижает риск перегрузки шины.
ISO 11898
Этот стандарт устанавливает, что шина CAN работает на основе модели взаимодействия открытых систем (OSI — open systems interconnection), которая включает семь уровней:
Связь в сети шины CAN определяется физическим и канальным уровнями.
ISO 11898–1
Определяет стандарты для канального уровня шины CAN. Стандарт состоит из функций, необходимых для настройки обмена цифровой информацией между модулями, включающими канальный уровень CAN.
ISO 11898–2
Описывает требования к физическому уровню. Физический уровень включает стандарты для типов кабелей, уровней электрических сигналов, требований к узлам и импедансу. ISO 11898–2 определяет следующие атрибуты:
ISO 16845
Включает план проверки соответствия местной контроллерной сети CAN спецификации ISO 11898.
Шина CAN — простой и надежный сетевой протокол с высокой скоростью передачи данных. Стандарт гарантирует, что никакие данные не будут потеряны, и позволяет избежать коллизий сообщений. Продуманная компоновка также гарантирует длительный срок службы системы. Далее описаны основы компоновки CAN.
Устройства, подключенные к линии CAN-шины, определяются как электронные блоки или узлы управления (ЭБУ/ECU — electronic control
units). Для обеспечения связи в сети CAN необходимо два или более ЭБУ. Количество требуемых узлов зависит от сложности схемы, то есть от того, является ли это простым устройством ввода/вывода или встроенной системой с интерфейсом CAN. Все ЭБУ подключаются через двухпроводную шину.
Каждый узел состоит из центрального процессора, контроллера CAN и трансивера (приемопередатчика). Параллельное соединение всех ЦП
обеспечивает синхронизацию узла и одновременное получение данных. Основная функция контроллера CAN — установка соединения между всеми узлами и конвертация цифровой информации на шине в сообщения.
Согласно ISO 11898–1, трансивер устанавливает связь с физическим уровнем. Физические уровни, такие как высокоскоростные и низкоскоростные CAN, требуют разных типов трансиверов. Трансиверы регулируют уровень сигнала отправляемых и получаемых данных на каждом конкретном узле, которые обмениваются данными друг с другом через сеть. Все узлы могут как передавать, так и получать данные, но не одновременно.
Физический уровень сети шины CAN определяет фундаментальную связь между устройствами, подключенными к ней. В проводной схеме шины CAN задействованы два про вода, скрученных в витую пару: CAN high и CAN-low. CAN High обеспечивает более высокое напряжение, а CAN Low управляет более низким напряжением. Оба провода образуют дифференциальные пары и в режиме ожидания сети несут одинаковое напряжение. Во время передачи линия CAN High имеет более высокое напряжение, чем линия CAN Low. Связь по шине CAN устанавливается с помощью генерируемого дифференциального напряжения между линиями шины CAN. Кроме того, схема обеспечивает устойчивость к индуктивным наводкам, электрическим полям и другим помехам.
Окончание линии шины CAN
Линия шины CAN должна быть оконцована подходящими резисторами (рис. 1).
Эти резисторы (терминаторы) помогают предотвратить электрические отражения сигнала (эхо) на шине и обеспечивают получение шиной правильного уровня постоянного тока. Значение согласующего резистора зависит от количества узлов в сети. Обычно диапазон варьируется в пределах 100–130 Ом.
Шина CAN имеет решающее значение при проектировании платы автомобильной связи. Превосходство протокола обусловлено его преимуществами, заключающимися в сокращении количества проводных соединений и снижении риска конфликтов сообщений. Чтобы обеспечить наилучшую производительность вашей печатной платы, следуйте приведенным ниже рекомендациям.
Сообщения CAN передаются в так называемых кадрах. Существует четыре типа сообщений-кадров:
Кадр данных (data frame)
Кадры данных (рис. 2) используются для передачи данных от одного узла к другому или между несколькими узлами.
Они состоят из следующих значимых фрагментов:
Удаленные кадры
Этот кадр (рис. 3) используется для запроса данных от других узлов.
Например, если узел A передает уда ленный кадр с полем арбитража 234, то узел B может получить обратно кадр данных с полем арбитража, так же установленным на 234. Бит RTR имеет здесь наивысшее значение. В удаленном кадре нет поля данных.
Кадры ошибок
Кадр ошибки (рис. 4) передается, когда узел определяет ошибку и информирует другие узлы о необходимости проверки.
В случае обнаружения ошибки формируется и передается сообщение о ней. После этого передатчик повторяет попытку передачи сообщения. Кадр ошибки состоит из 6-битного флага ошибки и разделителя, который представляет собой 8 рецессивных бит. Разделитель ошибок образует пространство, в котором другие узлы шины могут отправлять свои флаги ошибок.
Кадры перегрузки
Кадр перегрузки сообщает о состоянии переполнения. Подобно кадру ошибки, он передается узлом, в котором произошло переполнение количества задач.
Инфраструктура CAN изначально была разработана немецкой компанией Bosh в середине 1980-х гг. Со временем стандарт получил несколько улучшений и усовершенствований. В 1986 году стандарт был принят SAE (Society of Automotive Engineers) International. В 1987 году Intel выпустила первую микросхему контроллера CAN — Intel 82526. Позже появилась схема Philips — 82C200. В 1991 году свет увидела версия CAN 2.0. Двумя годами позже Международная организация по стандартизации (ISO) выпустила стандарт ISO-11898, относящийся к спецификациям стандарта CAN. Сюда вошли напряжение CAN, интерфейсы разъемов и другие физические стандарты, такие как ISO-11898–1, относящийся к уровню канала передачи данных, и ISO-11898–2, который включает спецификации физического уровня высокоскоростного CAN.
Были разработаны и различные виды высокоуровневых протоколов, такие как CANopen и DeviceNet. Для нагруженных решений и низкоскоростной передачи данных на основе CAN были созданы решения с гибкой скоростью передачи данных (CAN FD). Благодаря скорости передачи данных до 8 Мбит/с (с использованием CAN SIC — Signal Improvement Capability) и полезной нагрузке размером 64 байт CAN FD в настоящее время очень популярен в коммерческом секторе. CAN XL — недавняя разработка, превосходящая по скорости своего предшественника, CAN FD, более чем в 2 раза (до 20 Мбит/с). CAN XL предлагает отличные безопасность, скорость передачи данных, размер полезной нагрузки, надежность и арбитраж. Примечательно, что CAN XL можно использовать совместно с CAN FD, создавая смешанные сети.
Согласно стандарту ISO 11898, определено несколько версий шины CAN. Наиболее важные из них описаны в этом разделе.
Максимальную скорость передачи данных также можно увеличить с 1 до 8 Мбит/с. Поэтому вполне понятно, почему CAN FD постепенно становится выбором номер один для производителей автомобильного оборудования.
CAN устанавливает распределенную связь, похожую на USB и Ethernet. И USB, и Ethernet передают данные от источника к месту назначения
с использованием протокола «точка-точка». Служба обмена сообщениями CAN не поддерживает двухточечное соединение.
В отличие от USB и Ethernet, протокол CAN работает без поддержки хост-компьютера. Устройства, подключенные к сети CAN, могут отправлять и принимать сообщения по витой паре.
Преимущества шины CAN
Протокол шины CAN обеспечивает надежную передачу данных с помощью низкоуровневой сети. Далее приведены ключевые преимущества, благодаря которым стандарт получил широкое распространение.
Области применения шины CAN
Изначально идея шины CAN возникла для разработки внутриавтомобильных коммуникаций. Теперь этот протокол широко используется в различных промышленных устройствах с низкими требованиями к пропускной способности. Вот несколько секторов, где можно увидеть применение шины CAN:
Шина CAN является превалирующим решением для внедрения продвинутых функций в автомобили. С помощью этого протокола можно обеспечить надежный обмен данными. CAN занимает наиболее высокое место среди других протоколов с точки зрения экономической эффективности и эффективности обнаружения ошибок.
Комментирует Сергей Шихов, директор по управлению проектами, «А-КОНТРАКТ»
Стандарт CAN является одним из самых распространенных при построении систем промышленной автоматики. Он хорошо документирован, электронные компоненты, необходимые для его реализации, доступны. Наличие интерфейсных устройств типа Ethernet-CAN обеспечивает сравнительно простую интеграцию средств промышленной автоматики в локальную сеть предприятия. Таким образом, если отсутствует необходимость в передаче больших объемов данных, применение CAN — оправданное решение.
Эта статья была опубликована в журнале «Технологии в электронной промышленности», № 3’2025 при поддержке А-КОНТРАКТ. Скачать статью в формате pdf можно по ссылке ниже.