Ремонт can шины в автомобиле. CAN-шина – как работает электроника в современных автомобилях? CAN-шина: принцип работы

Ремонт can шины в автомобиле. CAN-шина – как работает электроника в современных автомобилях? CAN-шина: принцип работы

Для того чтобы упорядочить работу всех контроллеров, которые облегчают управление и повышают контроль вождения автомобилем, используется CAN-шина. Подключить такое устройство к сигнализации машины можно своими руками.

[ Скрыть ]

Что такое CAN-шина и принцип ее работы

КАН-шина представляет собой сеть контроллеров. Устройство используется для объединения всех управляющих модулей автомобиля в одну рабочую сеть с общим проводом. Этот девайс состоит из одной пары кабелей, которая называется CAN. Информация, передающаяся по каналам из одного модуля на другой, отправляется в закодированном виде.

Схема подключения устройств к CAN-шине в Мерседесе

Какие функции может выполнять CAN-шина:

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

Эта система работает в нескольких режимах:

  1. Фоновый. Все устройства отключены, но на шину подается питание. Величина напряжения слишком мала, поэтому разрядить аккумуляторную батарею шина не сможет.
  2. Режим запуска. Когда автолюбитель вставляет ключ в замок и проворачивает его либо жмет кнопку Старта, происходит активация устройства. Включается опция стабилизации питания, которое подается на контроллеры и датчики.
  3. Активный режим. В этом случае между всеми контроллерами и датчиками происходит обмен данными. При работе в активном режиме параметр потребления энергии может быть увеличен до 85 мА.
  4. Режим засыпания или отключения. При глушении силового агрегата контроллеры КАН перестают функционировать. При включении режима засыпания все узлы машины отключаются от бортовой сети.

Канал Виалон СУшка в своем видео рассказал о КАН-шине и что надо знать про ее эксплуатацию.

Плюсы и минусы

Какими преимуществами обладает КАН-шина:

  1. Простота установки устройства в автомобиль. Владельцу машины не придется тратиться на монтаж, поскольку выполнить эту задачу можно самостоятельно.
  2. Быстродействие устройства. Девайс позволяет быстро обмениваться информацией между системами.
  3. Устойчивость к воздействию помех.
  4. Все шины обладают многоуровневой системой контроля. Ее использование дает возможность предотвратить появление ошибок при передаче и приеме данных.
  5. В процессе функционирования шина автоматически разбрасывает скорость по разным каналам. Это позволяет обеспечить оптимальную работу всех систем.
  6. Высокая безопасность устройства, при надобности система блокирует несанкционированный доступ.
  7. Большой выбор устройств различных типов от разных производителей. Можно подобрать вариант, предназначенный для конкретной модели авто.

Какие недостатки характерны для устройства:

  1. В девайсах бывают ограничения по объему передаваемых данных. В современных автомобилях используется множество электронных девайсов. Их большое количество приводит к высокой загруженности канала передачи информации. Это становится причиной увеличения времени отклика.
  2. Большая часть отправляющихся по шине данных обладает конкретным назначением. На полезную информацию отводится маленькая часть трафика.
  3. При использовании протокола высшего уровня автовладелец может столкнуться с проблемой отсутствия стандартизации.

Виды и маркировки

Самым популярным типом шин являются устройства, разработанные Робертом Бошем. Девайс может функционировать последовательно, то есть сигнал передается за сигналом. Такие устройства называются Serial BUS. В продаже можно встретить и параллельные шины Parallel BUS. В них передача данных осуществляется по нескольким каналам связи.

О разновидностях, принципе действия, а также возможностях КАН-шины можно узнать из видео, снятого каналом DIYorDIE.

С учетом разных типов идентификаторов можно выделить несколько видов устройств:

  1. КАН2, 0А Актив. Так маркируются устройства, которые поддерживают 11-битный формат обмена данными. Эти узлы не обозначают ошибки на импульсы 29-битного узла.
  2. КАН2, 0В Актив. Так маркируются девайсы, функционирующие в 11-битном формате. Основное отличие заключается в том, что при обнаружении идентификатора на 29 бит в системе они будут передавать на управляющий модуль сообщение об ошибке.

Надо учесть, что в современных машинах такие типы устройств не применяются. Это связано с тем, что работа системы должна быть согласованной и логичной. А в данном случае она может функционировать при нескольких скоростях передачи импульсов — на 125 либо 250 кбит/с. Более низкая скорость используется для управления дополнительных устройств, таких как осветительные приборы в салоне, электрические стеклоподъемники, стеклоочистители и т. д. Высокая скорость нужна для обеспечения рабочего состояния трансмиссии, силового агрегата, системы ABS и т. д.

Разновидность функций шин

Рассмотрим, какие существуют функции у различных девайсов.

Девайс для автомобильного двигателя

При соединении устройства обеспечивается быстрый канал передачи данных, по которому информация распространяется со скоростью 500 кбит/с. Основное предназначение шины заключается в синхронизации работы управляющего модуля, к примеру, коробки передач и мотора.

Устройство типа Комфорт

Скорость передачи данных по этому каналу более низкая и составляет 100 кбит/с. Функция такой шины заключается в соединении всех устройств, относящихся к данному классу.

Информационно-командный девайс

Скорость передачи данных такая же, как и в случае с устройствами типа Комфорт. Главная задача шины заключается в обеспечении связи между обслуживающимися узлами, к примеру, мобильным девайсом и системой навигации.

Шины от разных производителей приведены на фото.

1. Устройство для автомобильного ДВС 2. Интерфейсный анализатор

Могут ли быть проблемы в работе CAN-шин?

В современном авто цифровая шина используется постоянно. Она работает одновременно с несколькими системами, причем по ее каналам связи постоянно передается информация. Со временем в работе устройства могут возникнуть неполадки. В результате анализатор данных будет функционировать неверно. При обнаружении неполадок автовладелец должен найти причину.

По каким причинам возникают сбои в работе:

  • повреждение или обрыв электроцепей устройства;
  • произошло замыкание в системе на аккумулятор либо массу;
  • могли замкнуть системы КАН-Хай или КАН-Лоу;
  • произошло повреждение прорезиненых перемычек;
  • разряд аккумуляторной батареи или снижение напряжения в бортовой сети, вызванное некорректной работой генераторного устройства;
  • произошла поломка катушки зажигания.

При поиске причин учитывайте, что неисправность может заключаться в некорректной работе вспомогательных устройств, устанавливающихся дополнительно. К примеру, причина может заключаться в неправильном функционировании противоугонной системы, контроллеров и девайсов.

О ремонте CAN-шины приборной панели в автомобиле Форд Фокус 2 можно узнать из ролика, снятого пользователем Brock — Video Corporation.

Процесс поиска неисправности осуществляется так:

  1. Сначала автовладелец производит диагностику состояния системы. Целесообразно осуществить компьютерную проверку, чтобы выявить все неполадки.
  2. На следующем этапе производится диагностика уровня напряжения и сопротивления электрических цепей.
  3. Если все в порядке, то проверяется параметр сопротивления прорезиненых перемычек.

Диагностика работоспособности КАН-шины требует определенных навыков и опыта, поэтому процедуру поиска неисправностей лучше доверить специалистам.

Как подключить сигнализацию по CAN-шине

Для подключения КАН-шины своими руками к автосигнализации машины с автозапуском либо без него надо знать, где находится блок управления противоугонной системой. Если установка сигнализации осуществлялась самостоятельно, то процесс поиска не вызовет сложностей у автовладельца. Управляющий модуль обычно ставится под приборной панелью в районе рулевого колеса либо за контрольным щитком.

Как произвести процедуру подключения:

  1. Противоугонная система должна быть установлена и подключена ко всем узлам и элементам.
  2. Найдите толстый кабель оранжевого цвета, он подключается к цифровой шине.
  3. Адаптер противоугонной системы подсоединяется к контакту найденной шины.
  4. Производится монтаж устройства в надежном и удобном месте, девайс фиксируется. Надо заизолировать все электрические цепи, чтобы не допустить их перетирания и утечки тока. Производится диагностика правильности выполненной задачи.
  5. На завершающем этапе настраиваются все каналы для обеспечения рабочего состояния системы. Также надо задать функциональный ряд устройству.

Количество установленных датчиков на современных моделях автомобилей зачастую позволяет называть их «компьютерами на колесах». Дабы привести в порядок управление многочисленными электронными системами, была создана CAN-шина. Что это и каковы принципы ее работы, рассмотрим в данной статье.

Историческая справка

Первые продукты автомобилестроительной отрасли обходились вовсе без электрических цепей. Для запуска двигателя автомобиля использовалось специальное магнитоэлектрическое приспособление, вырабатывающее электроэнергию из кинетической.

Однако постепенно машины все больше опутывались проводами, и в 1970-м году по степени напичканности различными датчиками они соперничали с самолетами. И чем больше приборов размещалось в автомобиле, тем очевиднее становилась необходимость рационализации цепей электропроводки.

Решение проблемы стало возможным с микропроцессорной революцией и проходило в несколько этапов:

  • В 1983 году немецкий концерн «Bosch» начал разработку нового протокола передачи данных для применения в автомобилестроительной отрасли;
  • Три года спустя на конференции в Детройте данный протокол был официально представлен широкой публике под названием «Сеть пространства датчиков» (Controller Area Network), или сокращенно по-английски CAN;
  • Практической реализацией германского изобретения занялись компании «Интел» и «Филипс». Первые прототипы датируются 1987 годом;
  • В 1988 году автомобиль БМВ 8-й серии стал первой сошедшей с конвейера машиной, на котором все датчики были организованы по технологии «КАН»;
  • Через три года «Бош» обновила стандарт и добавила новые характеристики;
  • В 1993 году стандарт «КАН» стал международным и получил классификатор ИСО;
  • В 2001 году каждое четырехколесное средство передвижения в Европе в обязательном порядке стало оснащаться КАН-шиной;
  • В 2012 году вышла новая версия шины: была повышена скорость передачи информации, а также организована совместимость с рядом новых устройств.

CAN-шина: принцип работы

Шина включает в себя лишь пару проводов, подсоединенных к единственному микрочипу. По каждому кабелю передаются несколько сотен сигналов одновременно на различные контроллеры автомобиля. Скорость передачи данных сравнима с широкополосным интернетом. Кроме того, в случае необходимости сигнал будет усилен до необходимого уровня.

Работу технологии можно разбить на несколько этапов:

  1. Фоновый режим - все узлы системы выключены, но на КАН-микрочип продолжает поступать электропитание. Уровень потребления энергии крайне мал и составляет крошечные доли миллиампер;
  2. Запуск - как только водитель поворачивает ключ зажигания (или нажимает на кнопку «Старт» для запуска двигателя - на некоторых моделях автомобилей), система буквально «просыпается». Включается режим стабилизации питания, поступающего на датчики;
  3. Активная работа - все контроллеры обмениваются необходимой (как диагностической, так и текущей) информацией. Уровень потребления электроэнергии возрастает на пиковых нагрузках до рекордных 85 миллиампер;
  4. Засыпание - как только выключается двигатель машины, датчики «КАН» мгновенно перестают работать. Каждый из узлов системы самостоятельно отключается от электрической сети и переходит в режим сна.

Что такое CAN-шина в автомобиле?

CAN применительно к автомобилю можно назвать «хребтом», к которому подсоединяются все электротехнические устройства. Сигналы имеют цифровой формат, а проводники к каждому контроллеру подсоединены параллельно. Благодаря этому достигается высокое быстродействие сети.

В современных автомобилях в единую сеть объединены датчики со следующих устройств:

  • Мотор;
  • Коробка переключения передач;
  • Эирбэги (подушки безопасности);
  • Антиблокировочная система;
  • Усилитель рулевого управления;
  • Зажигание;
  • Приборная панель;
  • Шины (контроллеры, определяющие уровень давления);
  • «Дворники» на лобовом стекле;
  • Мультимедийная система;
  • Навигация (ГЛОНАСС, GPS);
  • Бортовой компьютер.

Применение в других отраслях

Легкость и простота технологии «CAN» раскрывают возможности ее применения не только для «железных коней». Шина используется также в таких областях:

  • Производство велосипедов. Японская марка «Симано» анонсировала в 2009 году велосипед с многоуровневой системой управления механизма переключения скоростей на базе CAN. Эффективность этого шага была настолько очевидной, что по стопам «Симано» решили пойти и другие фирмы - «Маранц» и «Байон-икс». Последний производитель использует шину для системы прямого привода;
  • Известна реализация так называемого «умного дома» по принципу CAN-шины. Множество устройств, которые могут решать определенные задачи без участия людей (автоматический полив травы на газоне, термостат, система видеонаблюдения, управление освещением, климат-контроль и т. д.) объединены в единую систему передачи данных. Правда, специалисты находят применение сугубо автомобильной технологии в человеческом жилище достаточно сомнительным. В числе слабых сторон такого шага - отсутствие единого международного стандарта КАН для «умных домов».

Преимущества и недостатки

«КАН-шина» ценится в машиностроении за такие положительные качества:

  • Быстродействие: система приспособлена к работе в условиях жесткого цейтнота;
  • Относительная простота встраивания в машину и небольшой уровень затрат на проведение монтажных работ;
  • Повышенная толерантность к помехам;
  • Многоуровневая система контроля, позволяющая избежать многих ошибок в процессе выхода-входа данных;
  • Разброс скоростей работы позволяет приспособиться к практически любой ситуации;
  • Повышенный уровень безопасности: блокировка неавторизованного доступа извне;
  • Многообразие стандартов, а также компаний-производителей. Палитра имеющихся на рынке шин позволяет найти вариант даже для самой дешевой машины.

Несмотря на обилие преимуществ, технология CAN не лишена и ряда слабых сторон:

  • Объем информации, который доступен для одновременной передачи в «пакете данных», достаточно ограничен для современных требований;
  • Значительная часть передаваемых данных имеет служебное и техническое назначение. На собственно полезные данные приходится мизерная часть трафика в сети;
  • Протокол высшего уровня совершенно не стандартизирован.

Компания «Бош» изобрела не только свечу зажигания и топливный фильтр, но и своеобразный «интернет» для датчиков автомобиля под названием CAN-шина. Что это за стандарт в области связывания воедино всех контроллеров в единую нейросеть , стало известно около 30 лет назад.

Видео: как работает can-шина в авто

В данном ролике механик Артур Камалян расскажет, для чего используется can-шина в автомобиле и как к ней подключиться:

Шина CAN – Введение

Протокол CAN является стандартом ISO (ISO 11898) в области последовательной передачи данных. Протокол был разработан с прицелом на использование в транспортных приложениях. Сегодня CAN получил широкое распространение и используется в системах автоматизации промышленного производства, а также на транспорте.

Стандарт CAN состоит из физического уровня и уровня передачи данных, определяющего несколько различных типов сообщений, правила разрешения конфликтов при доступе к шине и защиту от сбоев.

Протокол CAN

Протокол CAN описан в стандарте ISO 11898–1 и может быть кратко охарактеризован следующим образом:

Физический уровень использует дифференциальную передачу данных по витой паре;

Для управления доступом к шине используется неразрушающее bit–wise разрешение конфликтов;

Сообщения имеют малые размеры (по большей части 8 байт данных) и защищены контрольной суммой;

В сообщениях отсутствуют явные адреса, вместо этого каждое сообщение содержит числовое значение, которое управляет его очередностью на шине, а также может служить идентификатором содержимого сообщения;

Продуманная схема обработки ошибок, обеспечивающая повторную передачу сообщений, если они не были получены должным образом;
имеются эффективные средства для изоляции сбоев и удаления сбойных узлов с шины.

Протоколы более высоких уровней

Сам по себе протокол CAN определяет всего лишь, как малые пакеты данных можно безопасно переместить из точки A в точку B посредством коммуникационной среды. Он, как и следовало ожидать, ничего не говорит о том, как управлять потоком; передавать большое количество данных, нежели помещается в 8–байтное сообщение; ни об адресах узлов; установлении соединения и т.п. Эти пункты определяются протоколом более высокого уровня (Higher Layer Protocol, HLP). Термин HLP происходит из модели OSI и её семи уровней.

Протоколы более высокого уровня используются для:

Стандартизации процедуры запуска, включая выбор скорости передачи данных;

Распределения адресов среди взаимодействующих узлов или типов сообщений;

Определения разметки сообщений;
обеспечения порядка обработки ошибок на уровне системы.

Пользовательские группы и т.п.

Одним из наиболее эффективных способов повышения вашей компетентности в области CAN является участие в работе, осуществляемой в рамках существующих пользовательских групп. Даже если вы не планируете активно участвовать в работе, пользовательские группы могут являться хорошим источником информации. Посещение конференций является ещё одним хорошим способом получения исчерпывающей и точной информации.

Продукты CAN

На низком уровне принципиально различают два типа продуктов CAN, доступных на открытом рынке – микросхемы CAN и инструменты разработки CAN. На более высоком уровне – другие два типа продуктов: модули CAN и инструменты проектирования CAN. Широкий спектр данных продуктов доступен на открытом рынке в настоящее время.

Патенты в области CAN

Патенты, относящиеся к приложениям CAN, могут быть различных типов: реализация синхронизации и частот, передача больших наборов данных (в протоколе CAN используются кадры данных длиной всего лишь 8 байт) и т.п.

Системы распределённого управления

Протокол CAN является хорошей основой для разработки систем распределённого управления. Метод разрешения конфликтов, используемый CAN, обеспечивает то, что каждый узел CAN будет взаимодействовать с теми сообщениями, которые относятся к данному узлу.

Систему распределённого управления можно описать как систему, вычислительная мощность которой распределена между всеми узлами системы. Противоположный вариант – система с центральным процессором и локальными точками ввода–вывода.

Сообщения CAN

Шина CAN относится к широковещательным шинам. Это означает, что все узлы могут «слушать» все передачи. Не существует возможности послать сообщение конкретному узлу, все без исключения узлы будут принимать все сообщения. Оборудование CAN, однако, обеспечивает возможность локальной фильтрации, так что каждый модуль может реагировать только на интересующее его сообщение.

Адресация сообщений CAN

CAN использует относительно короткие сообщения – максимальная длина информационного поля составляет 94 бита. В сообщениях отсутствует явный адрес, их можно назвать контентно–адрессованными: содержимое сообщения имплицитно (неявным образом) определяет адресата.

Типы сообщений

Существует 4 типа сообщений (или кадров), передающихся по шине CAN:

Кадр данных (Data Frame);

Удаленный кадр (Remote Frame);

Кадр ошибки (Error Frame);

Кадр перегрузки (Overload Frame).

Кадр данных

Кратко: «Всем привет, есть данные с маркировкой X, надеюсь вам понравятся!»
Кадр данных – самый распространенный тип сообщения. Он содержит в себе следующие основные части (некоторые детали не рассматриваются для краткости):

Поле арбитража (Arbitration Field), которое определяет очередность сообщения в том случае, когда за шину борятся два или более узла. Поле арбитража содержит:

В случае CAN 2.0A, 11–битный идентификатор и один бит, бит RTR который является определяющим для кадров данных.

В случае CAN 2.0B, 29–битный идентификатор (который также содержит два рецессивных бита: SRR и IDE) и бит RTR.

Поле данных (Data Field), которое содержит от 0 до 8 байт данных.

Поле CRC (CRC Field), содержащее 15–битную контрольную сумму, посчитанную для большинства частей сообщения. Эта контрольная сумма используется для обнаружения ошибок.

Слот распознавания (Acknowledgement Slot). Каждый контроллер CAN, способный корректно получить сообщение, посылает бит распознавания (Acknowledgement bit) в конце каждого сообщения. Приемопередатчик проверяет наличие бита распознавания и, если таковой не обнаруживается, высылает сообщение повторно.

Примечание 1: Присутствие на шине бита распознавания не значит ничего, кроме того, что каждый запланированный адресат получил сообщение. Единственное, что становится известно, это факт корректного получения сообщения одним или несколькими узлами шины.

Примечание 2: Идентификатор в поле арбитража, несмотря на свое название, необязательно идентифицирует содержимое сообщения.

Кадр данных CAN 2.0B («cтандартный CAN»).

Кадр данных CAN 2.0B («расширенный CAN»).

Удаленный кадр

Кратко: «Всем привет, кто–нибудь может произвести данные с маркировкой X?»
Удаленный кадр очень похож на кадр данных, но с двумя важными отличиями:

Он явно помечен как удаленный кадр (бит RTR в поле арбитража является рецессивным), и

Отсутствует поле данных.

Основной задачей удаленного кадра является запрос на передачу надлежащего кадра данных. Если, скажем, узел A пересылает удаленный кадр с параметром поля арбитража равным 234, то узел B, если он должным образом инициализирован, должен выслать в ответ кадр данных с параметром поля арбитража также равным 234.

Удаленные кадры можно использовать для реализации управления трафиком шины типа «запрос–ответ». На практике, однако, удаленный кадр используется мало. Это не так важно, поскольку стандарт CAN не предписывает действовать именно так, как здесь обозначено. Большинство контроллеров CAN можно запрограммировать так, что они будут автоматически отвечать на удаленный кадр, или же вместо этого извещать локальный процессор.

Есть одна уловка, связанная с удаленным кадром: код длины данных (Data Length Code) должен быть установлен длине ожидаемого ответного сообщения. В противном случае разрешение конфликтов работать не будет.

Иногда требуется чтобы узел, отвечающий на удаленный кадр, начинал свою передачу как только распознавал идентификатор, таким образом «заполняя» пустой удаленный кадр. Это другой случай.

Кадр ошибки (Error Frame)

Кратко (все вместе, громко): «О, ДОРОГОЙ, ДАВАЙ ПОПРОБУЕМ ЕЩЁ РАЗОК»
Кадр ошибки (Error Frame) – это специальное сообщение, нарушающее правила формирования кадров сообщения CAN. Он посылается, когда узел обнаруживает сбой и помогает остальным узлам обнаружить сбой – и они тоже будут отправлять кадры ошибок. Передатчик автоматически попробует послать сообщение повторно. Наличествует продуманная схема счетчиков ошибок, гарантирующая, что узел не сможет нарушить передачу данных по шине путём повторяющейся отсылки кадров ошибки.

Кадр ошибки содержит флаг ошибки (Error Flag), который состоит из 6 бит одинакового значения (таким образом нарушая правило вставки битов) и разграничителя ошибки (Error Delimiter), состоящего из 8 рецессивных бит. Разраничитель ошибки предоставляет некоторое пространство, в котором другие узлы шины могут отправлять свои флаги ошибки после того, как сами обнаружат первый флаг ошибки.

Кадр перегрузки (Overload Frame)

Кратко: «Я очень занятой 82526 маленький, не могли бы вы подождать минуточку?»
Кадр перегрузки упоминается здесь лишь для полноты картины. По формату он очень похож на кадр ошибки и передается занятым узлом. Кадр перегрузки используется нечасто, т.к. современные контроллеры CAN достаточно производительны, чтобы его не использовать. Фактически, единственный контроллер, который будет генерировать кадры перегрузки – это ныне устаревший 82526.

Стандартный и расширенный CAN

Изначально стандарт CAN установил длину идентификатора в поле арбитража равной 11 битам. Позже, по требованию покупателей стандарт был расширен. Новый формат часто называют расширенным CAN (Extended CAN), он позволяет использовать не менее 29 бит в идентификаторе. Для различения двух типов кадров используется зарезервированный бит в поле управления Control Field.

Формально стандарты именуются следующим образом –

2.0A – только с 11–битными идентификаторами;
2.0B – расширенная версия с 29–битными или 11–битными идентификаторами (их можно смешивать). Узел 2.0B может быть

2.0B active (активным), т.е. способным передавать и получать расширенные кадры, или

2.0B passive (пассивным), т.е. он будет молча сбрасывать полученные расширенные кадры (но, смотрите ниже).

1.x – относится к оргинальной спецификации и её ревизиям.

В настоящее время новые контроллеры CAN обычно относятся к типу 2.0B. Контроллер типа 1.x или 2.0A прибудет в замешательство, получив сообщения с 29 битами арбитража. Контроллер 2.0B пассивного типа примет их, опознает, если они верны и, затем – сбросит; a контроллер 2.0B активного типа сможет и передавать, и получать такие сообщения.

Контроллеры 2.0B и 2.0A (равно, как и 1.x) совместимы. Можно использовать их все на одной шине до тех пор, пока контроллеры 2.0B будут воздерживаться от рассылки расширенных кадров.

Иногда люди заявляют, что стандартный CAN «лучше» расширенного CAN, потому что в сообщениях расширенного CAN больше служебных данных. Это необязательно так. Если вы используете поле арбитража для передачи данных, то кадр расширенного CAN может содержать меньше служебных данных, чем кадр стандартного CAN.

Основной CAN (Basic CAN) и полный CAN (Full CAN)

Термины Basic CAN и Full CAN берут начало в «детстве» CAN. Когда–то существовал CAN–контроллер Intel 82526, предоставлявший программисту интерфейс в стиле DPRAM. Потом появился Philips с моделью 82C200, в котором применялась FIFO–ориентированная модель программирования и ограниченные возможности фильтрации. Для обозначения различия между двумя моделями программирования, люди стали называть способ Intel – Full CAN, а способ Philips – Basic CAN. Сегодня большинство контроллеров CAN поддерживают обе модели программирования, поэтому нет смысла в использовании терминов Full CAN и Basic CAN – фактически, эти термины могут вызвать неразбериху и стоит воздержаться от их употребления.

В действительности, контроллер Full CAN может взаимодействовать с контроллером Basic CAN и наоборот. Проблемы с совместимостью отсутствуют.

Разрешение конфликтов на шине и приоритет сообщения

Разрешение конфликтов сообщений (процесс, в результате которого два или более контроллера CAN решают, кто будет пользоваться шиной) очень важно для определения реальной доступности полосы пропускания для передачи данных.

Любой контроллер CAN может начать передачу, когда обнаружит, что шина простаивает. Это может привести к тому, что два или более контроллеров начнут передачу сообщения (почти) одновременно. Конфликт решается следующим образом. Передающие узлы осуществляют мониторинг шины в процессе отправки сообщения. Если узел обнаруживает доминантный уровень в то время, как сам он отправляет рецессивный уровень, он незамедлительно устранится от процесса разрешения конфликта и станет приемником. Разрешение конфликтов осуществляется по всему полю арбитража, и после того, как это поле отсылается, на шине остается только один передатчик. Данный узел продолжит передачу, если ничего не случится. Остальные потенциальные передатчики попытаются передать свои сообщения позже, когда шина освободится. В процессе разрешения конфликта время не теряется.

Важным условием для благополучного разрешения конфликта является невозможность ситуации, при которой два узла могут передать одинаковое поле арбитража. Из этого правила есть одно исключение: если сообщение не содержит данных, то любой узел может передавать это сообщение.

Поскольку, CAN–шина является шиной с подсоединением устройств по типу «монтажное И» (wired–AND) и доминантный бит (Dominant bit) является логическим 0, следовательно сообщение с самым низким в численном выражении полем арбитража выиграет в разрешении конфликта.

Вопрос: Что произойдет в случае, если единственный узел шины попытается отослать сообщение?

Ответ: Узел, разумеется, выиграет в разрешении конфликта и успешно проведет передачу сообщения. Но когда наступит время распознавания… ни один узел не отправит доминантный бит области распознавания, поэтому передатчик определит ошибку распознавания, пошлет флаг ошибки, повысит значение своего счетчика ошибок передачи на 8 и начнет повторную передачу. Этот цикл повторится 16 раз, затем передатчик перейдет в статус пассивной ошибки. В соответствии со специальным правилом в алгоритме ограничения ошибок, значение счетчика ошибок передачи не будет более повышаться, если узел имеет статус пассивной ошибки и ошибка является ошибкой распознавания. Поэтому узел будет осуществлять передачу вечно, до тех пор, пока кто–нибудь не распознает сообщение.

Адресация и идентификация сообщения

Повторимся, нет ничего страшного в том, что в сообщениях CAN нет точных адресов. Каждый контроллер CAN будет получать весь траффик шины, и при помощи комбинации аппаратных фильтров и ПО, определять – «интересует» его это сообщение, или нет.

Фактически, в протоколе CAN отсутствует понятие адреса сообщения. Вместо этого содержимое сообщения определяется идентификатором, который находится где–то в сообщении. Сообщения CAN можно назвать «контентно–адрессовнными».

Определённый адрес работает так: «Это сообщение для узла X». Контентно–адресованное сообщение можно описать так: «Это сообщение содержит данные с маркировкой X». Разница между этими двумя концепциями мала, но существенна.

Содержимое поле арбитража используется, в соответствии со стандартом, для определения очередности сообщения на шине. Все контроллеры CAN будут также использовать всё (некоторые – только часть) поле арбитража в качестве ключа в процессе аппаратной фильтрации.

Стандарт не говорит, что поле арбитража непременно должно использоваться в качестве идентификатора сообщения. Тем не менее, это очень распространенный вариант использования.

Примечание о значениях идентификатора

Мы говорили, что идентификатору доступны 11 (CAN 2.0A) или 29 (CAN 2.0B) бит. Это не совсем верно. Для совместимости с определенным старым контроллером CAN (угадайте каким?), идентификаторы не должны иметь 7 старших бит установленных в логическую единицу, поэтому 11–битным идентификаторам доступны значения 0..2031, а пользователи 29–битных идентификаторов могут использовать 532676608 различных значений.

Заметьте, что все остальные контроллеры CAN принимают «неправильные» идентификаторы, поэтому в современных системах CAN идентификаторы 2032..2047 могут использоваться без ограничений.

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

Шина CAN

Шина CAN использует код без возвращения к нулю (NRZ) с вставкой битов. Существуют два разных состояния сигнала: доминантное (логический 0) и рецессивное (логическая 1). Они соответствуют определенным электрическим уровням, зависящим от используемого физического уровня (их несколько). Модули подключены к шине по схеме «монтажное И» (wired–AND): если хотя бы один узел переводит шину в доминантное состояние, то вся шина находится в этом состоянии, вне зависмости от того, сколько узлов передают рецессивное состояние.

Различные физические уровни

Физический уровень определяет электрические уровни и схему передачи сигналов по шине, полное сопротивление кабеля и т.п.

Существует несколько различных версий физических уровней: Наиболее распространенным является вариант, определенный стандартом CAN, часть ISO 11898–2, и представляющий собой двухпроводную сбалансированную сигнальную схему. Он также иногда называется high–speed CAN.

Другая часть того же стандарта ISO 11898–3 описывает другую двухпроводную сбалансированную сигнальную схему – для менее скоростной шины. Она устойчива к сбоям, поэтому передача сигналов может продолжаться даже в том случае, когда один из проводов будет перерезан, замкнут на «землю» или в состоянии Vbat. Иногда такая схема называется low–speed CAN.

SAE J2411 описывает однопроводной (плюс «земля», разумеется) физический уровень. Он используется в основном в автомобилях – например GM–LAN.

Существуют несколько проприетарных физических уровней.

В былые времена, когда драйверов CAN не существовало, использовались модификации RS485.

Различные физические уровни как правило не могут взаимодействовать между собой. Некоторые комбинации могут работать (или будет казаться, что они работают) в хороших условиях. Например, приемопередатчики high–speed и low–speed могут работать на одной шине лишь иногда.

Абсолютное большинство микросхем приемопередатчиков CAN произведено компанией Philips; в число других производителей входят Bosch, Infineon, Siliconix и Unitrode.

Наиболее распространен приемопередатчик 82C250, в котором реализован физический уровень, описываемый стандартом ISO 11898. Усовершенствованная версия – 82C251.

Распространенный приемопередатчик для «low–speed CAN» – Philips TJA1054.

Максимальная скорость передачи данных по шине

Максимальная скорость передачи данных по шине CAN, в соответствии со стандартом , равна 1 Мбит/с. Однако некоторые контроллеры CAN поддерживают скорости выше 1 Мбит/с и могут быть использованы в специализированных приложениях.

Low–speed CAN (ISO 11898–3, см. выше) работает на скоростях до 125 кбит/с.

Однопроводная шина CAN в стандартном режиме может передавать данные со скоростью порядка 50 кбит/с, а в специальном высокоскоростном режиме, например для программирования ЭБУ (ECU), около 100 кбит/с.

Минимальная скорость передачи данных по шине

Имейте в виду, что некоторые приемопередатчики не позволят вам выбрать скорость ниже определенного значения. Например, при использовании 82C250 или 82C251 вы можете без проблем установить скорость 10 кбит/с, но если вы используете TJA1050, то не сможете установить скорость ниже 50 кбит/с. Сверяйтесь со спецификацией.

Максимальная длина кабеля

При скорости передачи данных 1 Мбит/с, максимальная длина используемого кабеля может составлять порядка 40 метров. Это связано с требованием схемы разрешения конфликтов, согласно которому фронт волны сигнала должен иметь возможность дойти до самого дальнего узла и вернуться назад прежде чем бит будет считан. Иными словами, длина кабеля ограничена скоростью света. Предложения по увеличению скорости света рассматривались, но были отвергнуты в связи с межгалактическими проблемами.

Другие максимальные длины кабеля (значения приблизительные):

100 метров при 500 кбит/с;

200 метров при 250 кбит/с;

500 метров при 125 кбит/с;
6 километров при 10 кбит/с.

Если для обеспечения гальванической изоляции используются оптопары, максимальная длина шины соответственно сокращается. Совет: используйте быстрые оптопары, и смотрите на задержку сигнала в устройстве, а не на максимальную скорость передачи данных в спецификации.

Оконечное прерывание шины

Шина CAN стандарта ISO 11898 должна заканчиваться терминатором. Это достигается путем установки резистора сопротивлением 120 Ом на каждом конце шины. Терминирование служит двум целям:

1. Убрать отражения сигнала на конце шины.

2. Убедиться, что получает корректные уровни постоянного тока (DC).

Шина CAN стандарта ISO 11898 обязательно должна терминироваться вне зависимости от её скорости. Я повторю: шина CAN стандарта ISO 11898 обязательно должна терминироваться вне зависимости от её скорости. Для лабораторной работы может хватить и одного терминатора. Если ваша шина CAN работает даже при отсутствии терминаторов – вы просто счастливчик.

Заметьте, что другие физические уровни , такие как low–speed CAN, однопроводная шина CAN и другие, могут требовать, а могут и не требовать наличия оконечного терминатора шины. Но ваша высокоскоростная шина CAN стандарта ISO 11898 всегда будет требовать наличия хотя бы одного терминатора.

Кабель

Стандарт ISO 11898 предписывает, что волновое сопротивление кабеля номинально должно равнятся 120 Ом, однако допускается интервал значений сопротивления Ом.

Немногие, из присутствующих сегодня на рынке, кабели удовлетворяют этим требованиям. Есть большая вероятность, что интервал значений сопротивления будет расширен в будущем.

ISO 11898 описывает витую пару, экранированную или неэкранированную. Идёт работа над стандартом однопроводного кабеля SAE J2411.

Администратор

18702

Для того, чтобы понять принципы работы CAN-шины мы решили написать/перевести ряд статей, посвященных этой тематике, как обычно, основываясь на материалах зарубежных источников.

Одним из подобных источников, который, как нам показалось, вполне подходящим образом иллюстрирует принципы работы CAN-шины, стал видеоролик-презентация учебного продукта CANBASIC компании Igendi Engineering (http://canbasic.com) .

Добро пожаловать на презентацию нового продукта CANBASIC, учебной системы (платы), посвященной вопросу функционирования шины КАН (CAN).

Мы начнем с основ построения сети CAN-шины. На схеме приведен автомобиль с его системой освещения.



Показана обычная проводка, в которой каждая лампа напрямую подключена с каким-либо переключателем или контактом педали тормоза.



Теперь аналогичная функциональность показана с применением технологии CAN-шины. Передние и задние световые приборы подключены к контролирующим модулям. Контролирующие модули соединены параллельно с такими же проводами шины.



Этот небольшой пример демонстрирует, что объем электропроводки снижается. Вдобавок ко всему модули управления могут обнаруживать перегоревшие лампы и информировать об этом водителя.

Автомобиль на указанном виде содержит четыре модуля управления и четко отражает построение учебной системы (платы) CANBASIC



В вышеописанном указано четыре узла шины (CAN-узла).

Передний модуль контролирует передние световые приборы.

Узел сигнализации обеспечивает контроль внутренней части автомобиля.

Основной контрольный модуль соединяет все системы транспортного средства для диагностики.

Задний узел контролирует задние световые приборы.

На тренировочной доске CANBASIC вы можете увидеть маршрутизацию (расположение) трех сигналов: «Питание», «CAN-Hi» и «земли», соединяющихся в контрольном модуле.



В большинстве транспортных средств для подключения главного модуля управления к ПК с помощью диагностического программного обеспечения вам нужен OBD-USB конвертер.



Плата CANBASIC уже содержит в себе OBD-USB конвертер и может быть напрямую подключена к ПК.

Питается плата от интерфейса USB, поэтому дополнительные кабели не нужны.



Провода шины используются для передачи множества данных. Как это работает?

Как работает CAN-шина

Эти данные передаются последовательно. Вот пример.

Человек с лампой, передатчик, хочет отправить какую-то информацию человеку с телескопом, получателю (приемнику). Он хочет передать данные.



Для того, чтобы сделать это они договорились, что получатель смотрит за состоянием лампы каждые 10 секунд.



Это выглядит так:







Спустя 80 секунд:



Теперь 8 бит данных были переданы со скоростью 0,1 бит в секунду (т.е. 1 бит в 10 секунд). Это называется последовательной передачей данных.



Для использования этого подхода в автомобильном приложении интервал времени сокращается с 10 секунд до 0,000006 секунды. Для передачи информации посредством изменения уровня напряжения на шине данных.



Для измерения электрических сигналов шины КАН используется осциллограф. Две измерительных площадки на плате CANBASIC позволяют измерить этот сигнал.



Чтобы показать полное CAN-сообщение разрешение осциллографа уменьшается.



В результате одиночные CAN-биты больше не могут быть распознаны. Для решения этой проблемы CANBASIC-модуль оснащен цифровым запоминающим осциллографом.

Мы вставляем модуль CANBASIC в свободный разъем USB, после чего он будет автоматически обнаружен. Программное обеспечение CANBASIC можно запустить прямо сейчас.



Вы можете видеть вид программного осциллографа с прикрепленными значениями битов. Красным показаны данные, переданные в предыдущем примере.

Чтобы объяснить другие части CAN-сообщения мы раскрашиваем CAN-кадр и прикрепляем на него подписи с описанием.



Каждая раскрашенная часть CAN-сообщения соответствует полю ввода того же цвета. Область, отмеченная красным, содержит информацию о пользовательских данных, которая может быть задана в формате битов, полубайтов или шестнадцатиричном формате.

Желтая область определяет количество пользовательских данных. В зеленой зоне может быть установлен уникальный идентификатор.

Синяя область позволяет задать CAN-сообщение для удаленного запроса. Это означает, что будет ожидаться ответ от другого CAN-узла. (Разработчики системы сами рекомендуют не пользоваться удаленными запросами по ряду причин приводящих к глюкам системы, но об этом будет другая статья.)

Многие системы с шиной CAN защищены от помех вторым каналом CAN-LO для передачи данных, который является инвертированным относительно сигнала CAN-HI (т.е. идет тот же сигнал, только с обратным знаком).



Шесть последовательных битов с одинаковым уровнем определяют конец CAN-кадра.



Так совпало, что другие части CAN-кадра могут содержать более пяти последовательных битов с одинаковым уровнем.



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



С помощью полей ввода могут быть заданы все данные КАН-кадра и поэтому каждое КАН-сообщение может быть отправлено.

Вставленные данные немедленно обновляются в CAN-кадре, в данном примере длина данных будет изменена с одного байта на 8 байтов и сдвинута назад на один байт.



Текст описания показывает, что сигнал поворота будет управляться с помощью идентификатора «2С1» и бит данных 0 и 1. Все биты данных сбрасываются на 0.



Идентификатор установлен в значение «»2С1». Для активации сигнала поворотов бит данных должен быть установлен с 0 на 1.



В режиме «в салоне» вы можете управлять всем модулем с помощью простых щелчков мыши. Данные CAN устанавливаются автоматически в соответствии с желаемым действием.

Лампы поворотников могут быть установлены на ближний свет для работы в качестве ДХО. Яркостью будет управлять широтно-импульсная модуляция (ШИМ), в соответствии с возможностями современной диодной техники.

Теперь мы можем активировать фары ближнего света, противотуманные фары, стоп-сигналы и фары дальнего.



С отключением ближнего света противотуманные фары также отключаются. Логика управления световой системой CANBASIC соответствует автомобилям марки Volkswagen. Особенности зажигания и «возвращения домой» также включены.

С сигнальным узлом вы можете считывать сигнал датчика после инициирующего удаленного запроса.

В режиме удаленного запроса второй CAN-кадр будет принят и показан ниже отправленного CAN-кадра.



Байт данных CAN теперь содержит результат измерения датчика. С приближением к датчику пальца вы можете изменить измеренное значение.



Клавиша паузы замораживает текущий CAN-кадр и позволяет провести точный анализ.

Как уже было показано, различные части CAN-кадра могут быть скрыты.



Кроме того поддерживается скрытие каждого бита в КАН-кадре.

Это очень полезно, если вы хотите использовать представление CAN-кадра в ваших собственных документах, например в листе упражнений.

В данной статье не будем полностью расписывать CAN протокол, а обратим внимание лишь на вещи, которые надо обязательно знать и понимать для использования или разработки электронных устройств с поддержкой CAN.

Протокол CAN был разработан для автомобильной промышленности и впоследствии стал стандартом в области создания бортовых сетей автомобилей, железнодорожного транспорта и т.д. CAN позволяет создавать сети с развитыми средствами контроля ошибок, скоростью передачи до 1Мбит/с и пакетами содержащими не более восьми байтов данных.

Канальный и физический уровни CAN

В протоколе CAN нет строгого определения физического уровня, поэтому для передачи сообщений может использоваться, например, витая пара или оптоволокно. По сути дела CAN реализует канальный уровень, т.е. осуществляет формирование пакетов сообщений, ограничение распространения ошибок, подтверждение приема и арбитража. Есть конечно и распространенные стандарты прикладного уровня например CANopen, но если нет необходимости обеспечивать взаимодействие между оборудованием различных производителей, то лучше использовать внутренний протокол.

Структура узла сети CAN

Рассматриваемый нами узел сети CAN состоит из микроконтроллера, CAN контроллера и приемопередатчика (рисунок 1). Чаще всего мы используем микроконтроллеры с встроенным CAN контроллером для упрощения схемы, но иногда используется автономный контроллер CAN с интерфейсом SPI (MCP2510). Далее приемопередатчик подключается к витой паре, на концах которой размещены согласующие резисторы (терминатор) с сопротивлением 120 Ом.

Рисунок 1 – Узел сети CAN

Для формирования логической единицы в витой паре, или свободной шине, на оба провода подается напряжение, равное половине разности напряжения между 0 или Vcc. Логическому нулю соответствует подача на провода линии дифференциального напряжения (рисунок 2).




Рисунок 2 – Логические уровни на CAN-шине

Шина CAN позволяет передавать данные со скоростью 1 Мбит/c при длине кабеля не более 40 м. В обучающей литературе написано, что при снижении скорости передачи до 10кбит/с можно добиться длины сети в 1.5км.

Пакет сообщения CAN

Формат сообщения CAN показан на рисунке 3.




Рисунок 3 – Пакет сообщения CAN

По факту пакет сообщения формируется CAN контроллером, а прикладное ПО только устанавливает идентификатор сообщения, длину сообщения и предоставляет байты данных, поэтому полностью рассматривать пакет не будем, а посмотрим на данные которые мы изменяем при работе с CAN шиной.

Идентификатор сообщения используется для идентификации данных, отправленных в этом пакете. Каждое отправленное сообщение принимается всеми узлами сети и в данном случае идентификатор позволяет понять конкретному устройству, необходимо ли обрабатывать данное сообщение. Максимальная длина сообщения 8 байт, но можно уменьшить это значение для сохранения пропускной способности шины CAN. Для примера ниже по тексту есть несколько скриншотов CAN сообщений из автомобильной сети.

Арбитраж на шине CAN

Если без подробностей, то первым по шине CAN всегда передается сообщение с наименьшим идентификатором.

Настройка скорости передачи данных по шине CAN

Скорость передачи данных по CAN шине настраивается за счет формирования квантов времени, а не как во многих других протоколах последовательной передачи данных за счет делителя скорости. В большинстве случаев используются скорости 10Кбит/c, 20Кбит/c, 50Кбит/c, 100Кбит/c, 125Кбит/c, 500Кбит/c, 800Кбит/c, 1MBaud и настройки для этих скоростей уже посчитаны. На рисунке 4 изображено окно выбора скорости в программе PcanView.



Рисунок 4 – Выбор скорости передачи данных в программе PcanView

Как мы видим при установке стандартной скорости настройки проставляются автоматически, но бывают случаи когда необходимо использовать другую скорость передачи данных. Например бортовой CAN автомобиля может работать со скоростью 83Кбит/c. В этом случае придется провести расчет настроек самостоятельно или поискать специализированный калькулятор скорости в интернете. Для самостоятельного расчета скорости необходимо понимать, что для передачи одного бита сообщения используется несколько квантов, а интервал передачи состоит из трех сегментов (рисунок 5).




Рисунок 5 – Время передачи одного бита

Первый сегмент всегда фиксирован и равняется одному кванту. Далее идет два сегмента Tseg1 и Tseg2 и количество квантов в каждом сегменте определяется пользователем и может быть равно от 8 до 25. Точка выборки находится между Tseg1 и Tseg2, т.е. в конце первого и в начале второго сегмента. Так же пользователь может определить ширину скачка синхронизации (Synchronization Jump Width - SJW) для подстройки битовой скорости принимающего устройства, который может быть в диапазоне 1 – 4 квантов времени.

Теперь приведем формулу расчета скорости (Пример расчета скорости для CAN контроллера SJA1000):

BTR = Pclk/(BRP * (1 + Tseg1 + Tseg2))

BTR – скорость передачи данных,

Pclk – частота работы CAN контроллера,

BRP – значение предделителя частоты генератора скорости передачи

Tseg1 – первый сегмент

Tseg2 – Второй сегмент

Для проверки возьмем уже посчитанную скорость 125Кбит/c и попробуем получить настройки вручную. Pclk возьмем 16 МГц.

BRP = 16МГц /(125K * (1 + Tseg1 + Tseg2))

Затем подбираем интервал передачи бита находящийся в диапазоне от 8 до 25 квантов времени, так что бы получилось целое значение BRP. В нашем случае если взять (1 + Tseg1 + Tseg2) = 16, то BRP будет равен 30.

SP = ((1 + Tseg1 + Tseg2) * 70)/100

Подставляем значения и получаем 16 * 0.7 = 11.2, что соответствует соотношению Tseg1 = 10, Tseg2 = 5, т.е. 1 + 10 + 5 = 16. Далее смотрим если Tseg2 >= 5, то SJW = 4, если Tseg2 < 5, то SJW = (Tseg2 – 1). В нашем случае SJW = 4.

Итого для получения скорости 125Кбит/c необходимо в параметрах указать, BRP = 30, Tseg1 = 10, Tseg2 = 5, SJW = 4.

P.S. Конфигурирование baud rate значительно отличается между старыми модулями USB-CANmodul (GW-001 и GW-002) с контроллером SJA1000 и новыми модулями sysWORXX с контроллером AT91SAM7A3. В статье описывающей работу с бортовым CAN автомобиля на скорости 83кбит/c приведен расчет скорости для контроллера AT91SAM7A3.


Пример получения и передачи данных по CAN-интерфейсу

В примере будем использовать CAN-адаптер с программой PcanView от SYSTEC и подключимся к салонному CAN автомобиля, работающему со скоростью 125Кбит/с. Рассматриваемый нами автомобиль оснащен креслами с электроприводом и поэтому исследуем данные отвечающие за положение кресел и постараемся изменить положение спинки подменив пакет с помощью компьютера.

Для начала на схеме автомобиля находим наиболее удобно расположенный разъем с линиями CANH и CANL и подключаем к нему наш адаптер. Если разъем и провода найти не получилось, то можно подлезть к блоку управления кресла, найти там два скрученных между собой провода и аккуратно надрезав провода подключить адаптер. Если после подключения и настройки адаптера сообщения не приходят, то в первую очередь попробуйте поменять между собой CANH CANL и проверить включено ли зажигание.
Далее запускаем программу PcanView, в открывшемся окне настроек устанавливаем Baudrate = 125Кбит/c и нажимаем ОК (рисунок 4). В следующем окне устанавливаем Message filter = Standard, диапазон адресов от 000 до 7FF и нажимаем ОК (рисунок 6).



Рисунок 6 – Настройка CAN фильтра

Если все сделано правильно, то мы увидим сообщения от кресел (рисунок 7), а при нажатии кнопки наклона спинки на пульте управления мы увидим еще одно сообщение с адресом 1F4 идущее от пульта к креслу (рисунок 8).



Рисунок 7 – CAN сообщения от кресла с электроприводом


Рисунок 8 – CAN сообщения от кресла с электроприводом и сообщение от пульта управления к креслу

Теперь мы знаем какие должны быть адрес, длина и данные в CAN пакете для имитации нажатия кнопки изменения положения спинки. Во вкладке Transmit нажимаем NEW и в открывшемся окне создаем копию пакета 1F4, т.е. ID = 1F4, Length = 3, Data = 40 80 00. Period можно оставить 0 ms, тогда сообщения будут отправляться по факту нажатия кнопки пробел (рисунок 9).



Рисунок 9 – Создание CAN сообщения

На рисунке 10 отображено поле Transmit главного окна содержащее все отправляемые сообщения в CAN и информацию о них. При выделении сообщения и нажатии кнопки пробел произойдет отправка пакета в CAN сеть и кресло немного сдвинется в нужном направлении.



Понятное дело, что добиться полноценного управления креслом в таком случае не получиться, т.к. мы не можем исключить из сети пакеты заводского пульта управления, но эта проблема вполне решаема.

Итог

Мы увидели как при определенных усилиях и навыках можно создавать собственные электронные системы с использованием высокотехнологичного протокола CAN и как можно подключаться, исследовать и управлять устройствами подключенными к автомобильной CAN шине.



© 2024 globusks.ru - Ремонт и обслуживание автомобилей для новичков