Что такое CAN шина?
Оглавление:
История can шина
Что такое МОЖЕТ?
Стандарт CAN
Формат данных can шина
Коммуникационные характеристики can шина
Физический уровень и канальный уровень can шина
Скорость передачи данных по CAN-шине
Стандарты протоколов CAN 2.0A и CAN 2.0B
История can шина
CAN — это аббревиатура сети контроллеров (далее CAN), которая представляет собой протокол последовательной связи, стандартизированный на международном уровне ISO.
В современной автомобильной промышленности в связи с требованиями безопасности, комфорта, удобства, низкого уровня загрязнения окружающей среды и низкой стоимости были разработаны различные электронные системы управления. Из-за различных типов данных и требований к надежности, используемых для связи между этими системами, во многих случаях они состоят из нескольких шин, а также увеличивается количество жгутов проводов. Для удовлетворения потребностей «сокращения количества жгутов проводов» и «осуществления высокоскоростной передачи больших объемов данных через несколько локальных сетей».
CAN впервые появился в автомобильной промышленности в конце 1980-х годов и впервые был предложен немецкой компанией Bosch. В то время, когда у потребителей возникало все больше требований к функциям автомобиля, а реализация этих функций в основном основывалась на электронных операциях, это делало связь между электронными устройствами все более сложной, а также означало, что требовалось больше сигналов подключения. Проволока. Первоначальной мотивацией предложения can шина было решение проблемы связи между огромными электронными устройствами управления в современных автомобилях и сокращение постоянно растущего числа сигнальных линий. Итак, они спроектировали единую сетевую шину, к которой можно было подключить все периферийные устройства. В 1993 году CAN стал международным стандартом ISO11898 (высокоскоростное применение) и ISO11519 (низкоскоростное применение).
CAN — это аббревиатура сети контроллеров (далее CAN), которая представляет собой протокол последовательной связи, стандартизированный на международном уровне ISO. В автомобильной промышленности были разработаны различные электронные системы управления, обусловленные требованиями безопасности транспортных средств, комфорта, удобства, низкого энергопотребления, дешевизны и т. д. Поскольку типы данных и требования к надежности, используемые для связи между этими электронными системами управления, различны, и они часто состоят из нескольких шин, количество жгутов проводов также увеличивается вместе с составом.
Чтобы удовлетворить потребности «соответствующего сокращения количества жгутов проводов» и «осуществления высокоскоростной передачи данных между большими объемами данных через несколько локальных сетей», в 1986 году немецкий производитель электротехники Bosch разработал протокол связи CAN для автомобильной техники. промышленность. После введения этого протокола CAN был стандартизирован через ISO11898 и ISO11519, став европейским стандартным протоколом в системе управления сетью автомобильной промышленности.
Стандарт CAN
CAN — это последовательная шина связи, определенная международной организацией по стандартизации. Первоначально он использовался в автомобильной промышленности для использования двух сигнальных шин для замены сложной проводки в автомобиле. Шина CAN обладает высокими функциями защиты от помех, самодиагностики и отладки данных. Эти характеристики делают шину CAN широко используемой в различных промышленных ситуациях, включая автоматизацию зданий, медицину и производство.
Стандарт протокола связи CAN ISO-11898:2003 описывает, как информация передается между устройствами в сети и какие многоуровневые элементы соответствуют эталонной модели взаимодействия открытых систем (OSI). Фактическая связь происходит в физической среде, соединяющей устройства, а характеристики физической среды определяются физическим уровнем модели. Архитектура ISO11898 определяет семь уровней, причем два нижних уровня в модели OSI — это уровень канала передачи данных и физический уровень.
Многоуровневая архитектура стандарта ISO 11898
Прикладной уровень устанавливает каналы связи для протоколов верхнего уровня, специфичных для приложения, таких как протокол CANopenTM. Этот протокол поддерживается CiA, всемирной организацией пользователей и поставщиков. Многие протоколы являются специализированными, например, промышленная автоматизация, дизельные двигатели или авиация. Другим примером промышленного стандарта является DeviceNetTM, основанный на протоколе CAN, разработанный KVASER и Rockwell Automation.
Формат данных can шина
Кадры связи can шина делятся на кадры данных, кадры удаленного сообщения, кадры ошибок, кадры перегрузки и интервалы кадров.
Кадр данных: структурно состоит из 7 сегментов, которые разделены на стандартные кадры (CAN2.0A) и расширенные кадры (CAN2.0B) в зависимости от длины кода идентификатора арбитражного сегмента. Стандартный кадр имеет длину 11 бит, а расширенный кадр — 29 бит. Это также формат, с которым мы сталкиваемся чаще всего.
Удаленный кадр: по сравнению с кадром данных здесь нет сегмента данных, а структура состоит из 7 сегментов. Если вам нужен узел на шине для отправки вам данных, отправьте удаленный кадр, используя идентификатор вторичного узла. Самым большим преимуществом удаленных кадров является то, что для двустороннего взаимодействия требуется всего один кадр.
Рамка ошибки: Хотя шина CAN является высоконадежной шиной, ошибки все же могут возникать: на шине CAN появляются 5 типов ошибок.
Кадр перегрузки: когда узел не готов принять следующий кадр данных, он отправит кадр перегрузки для уведомления узла.
Интервал кадров: существует только между кадрами данных и удаленными кадрами, используется для разделения между кадрами.
Коммуникационные характеристики can шина
CAN шина — это протокол последовательной передачи данных, разработанный немецкой компанией BOSCH в начале 1980-х годов для решения проблемы обмена данными между многими системами управления и тестирования в современных автомобилях. В качестве шины могут использоваться витые пары, коаксиальные кабели или световоды. мультимастерная шина в качестве среды связи. Скорость связи может достигать 1 Мбит/с.
(1) Между узлами может быть достигнута свободная связь: одна из важнейших особенностей протокола CAN заключается в том, что он отменяет традиционное кодирование адреса станции и заменяет его кодированием блока данных связи. Преимущество использования этого метода заключается в том, что теоретически количество узлов сети, состоящих из CAN, не ограничено. Идентификатор блока данных может состоять из 11-битных или 29-битных двоичных чисел, поэтому можно определить 2 или более разных блоков данных. Этот метод кодирования блоков данных также может позволить различным узлам получать одни и те же данные одновременно. время Это очень полезно в распределенных системах управления.
(2) Простая структура: снаружи подключаются только 2 провода, а модули обнаружения ошибок и управления интегрированы внутри.
(3) Коррекция ошибок данных. Используя режим двухпроводной последовательной связи, он обладает высокой способностью обнаружения ошибок и может работать в среде с высоким уровнем помех и помех. Каждый кадр данных имеет проверку CRC и другие меры обнаружения ошибок для обеспечения высокой надежности передачи данных. Он подходит для использования в условиях высоких помех.
(4) Завершение обработки кадров данных связи: Интерфейс связи шины CAN объединяет функции физического уровня и уровня канала передачи данных протокола CAN, которые могут завершить обработку кадров данных связи, включая заполнение битов данных, кодирование блоков данных, циклическое проверка избыточности, определение приоритета и т. д.
Характеристики высокой производительности и надежности CAN теперь понятны и признаны, и он широко используется в таких отраслях, как промышленная автоматизация, судоходство, медицинское оборудование и автоматизация промышленного оборудования. CAN шина сегодня является одной из горячих тем в технологическом развитии в области автоматизации и известна как компьютерная локальная сеть в области автоматизации. Его появление обеспечивает мощную техническую поддержку распределенных систем управления для достижения надежной передачи данных между узлами в режиме реального времени.
Физический уровень и канальный уровень can шина
Технически сеть контроллеров описывается канальным уровнем и физическим уровнем. В высокоскоростной CAN ISO 11898-1 определяет уровень канала передачи данных, а ISO 11898-2 определяет физический уровень.
Технические характеристики физического уровня шины CAN следующие:
Передача сигнала:
Дифференциальный сигнал: шина CAN использует технологию дифференциальной передачи сигнала, чтобы значительно улучшить помехоустойчивость сигнала в шумной среде.
Физические носители и разъемы:
Высокоскоростной CAN (ISO 11898-2): узлы CAN должны быть подключены через двухпроводную шину со скоростью передачи данных до 1 Мбит/с (Classic CAN) или 5 Мбит/с (CAN FD).
Низкоскоростной/отказоустойчивый CAN (ISO 11898-3): обеспечивает более высокую отказоустойчивость, использует двухпроводные неэкранированные витые пары и может обмениваться данными со скоростью до 125 кбит/с.
Электрические характеристики:
Уровни напряжения: Логическая 1 (холостой режим) и логический 0 (активное состояние) шины CAN различаются разными уровнями напряжения.
Терминальный резистор: Чтобы предотвратить отражение сигнала, терминальные резисторы сопротивлением 120 Ом обычно добавляются на обоих концах сети CAN.
Скорость передачи данных по CAN-шине
Шина CAN является асинхронной связью, поэтому существует скорость передачи данных, и этот генератор скорости передачи данных расположен внутри контроллера CAN.
1. Общение
В последовательной связи она в основном делится на асинхронную связь и синхронную связь.
Синхронная связь. Связь между устройствами связи посредством сигнала синхронизации (такты CLK) для реализации передачи данных называется синхронной связью. Такие коммуникации, как I2C и SPI, имеют тактовый сигнал. Фактически, USART также имеет синхронную функцию в STM32, но большинство из нас используют только ее асинхронную функцию.
Асинхронная связь. Проще говоря, устройства связи отправляют и получают данные, договариваясь об одном и том же времени. Это время будет определять скорость передачи данных, упомянутую в этом разделе.
2. Скорость передачи данных
В области электронных коммуникаций Бод — это скорость модуляции, которая относится к скорости, с которой эффективный сигнал данных модулирует несущую, то есть количеству раз, когда состояние модуляции несущей меняется в единицу времени. Это мера скорости передачи символов. 1 бод означает, что в секунду передается 1 символ.
UART передает 240 символов в секунду, и каждый формат символов содержит 10 бит (1 стартовый бит, 1 стоповый бит, 8 бит данных). В это время скорость передачи данных составляет 240 бод, а скорость передачи данных — 10 бит* 240/секунда = 2400 бит/с. .
Из приведенного выше описания можно резюмировать:
Скорость передачи: количество двоичных битов, передаваемых в единицу времени;
Скорость передачи: количество символов, передаваемых в единицу времени;
Скорость передачи данных и скорость передачи данных численно равны только тогда, когда каждый символ представляет только один бит информации, но их значения не совпадают.
Стандарты протоколов CAN 2.0A и CAN 2.0B
«CAN 2.0A и CAN 2.0B»:
«CAN 2.0A»: использует 11-битный идентификатор (ID) и подходит для сетей меньшего масштаба.
«CAN 2.0B»: вводит расширенные кадры с 29-битными идентификаторами, что позволяет большему количеству устройств обмениваться данными в одной сети, сохраняя при этом совместимость со старыми стандартами.
«CAN FD (гибкая скорость передачи данных)»:
«Расширенная скорость передачи данных и полезная нагрузка»: позволяет использовать более высокие скорости передачи данных на этапе передачи данных, а длина сегмента данных также увеличивается с 8 байт до 64 байт.
«Эффективное использование ресурсов»: оптимизируйте пропускную способность сети и использование полосы пропускания за счет динамической регулировки скорости передачи данных.