Машины с can шиной. Разбираемся как работает КАН-шина на примере учебной системы CANBASIC

Диагностика и ремонт: CAN - шина

21.02.2006

Именно так выглядит (в основном) та самая "шина CAN", с которой в последнее время нам придется сталкиваться все чаще и чаще:

фото 1

Это обыкновенный двухпроводной кабель получивший название Twisted Pair.
На приведенном фото 1 показаны провода CAN High и CAN Low силового агрегата.
По этим проводам производится обмен данными между блоками управления, они могут нести информацию о скорости автомобиля, скорости вращения коленчатого вала, угле опережения зажигания и так далее.
Обратите внимание, что один из проводов дополнительно помечен черной полоской. Именно таким образом отмечается и визуально определяется провод CAN High (оранжево-черный).
Цвет провода
CAN-Low - оранжево-коричневый.
За основной цвет шины
CAN принят оранжевый цвет.

На рисунках и чертежах принято изображать цвета проводов шины CAN другими цветами, а именно:

фото 2

CAN-High - желтым цветом
CAN-Low - зеленым цветом

Всего существует несколько разновидностей шин CAN, определяемых выполняемыми ими функциями:
Шина CAN силового агрегата (быстрый канал ).
Она позволяет
передавать информацию со скоростью)500 кбит/с и служит для связи между блоками управления (двигатель - трансмиссия)
Шина CAN системы "Комфорт" (медленный канал ).
Она позволяет
передавать информацию со скоростью100 кбит/с и служит для связи между блоками управления, входящими в систему "Комфорт".
Шина данных CAN информационно- командной системы (медленный канал ), позволяющая передавать данные со скоростью 100 kBit/s. Обеспечивает связь между различными обслуживающимисистемами ( например,телефонной и навигационной системами) .

Новые модели автомобилей все более становятся похожими на самолеты - по количеству заявленных функций для безопасности, комфорта и экологичности. Блоков управления становится все больше и больше и "тянуть" от каждого грозди проводов - нереально.
Поэтому кроме шины CAN уже существуют другие шины, получившие названия:
– шина LIN (однопроводная шина)
– шина MOST (оптоволоконная шина)
– беспроводная шина Bluetooth

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

На примере шины CAN силового агрегата можно посмотреть форму сигнала:

Фото 3

Когда на High шине CAN доминантное состояние, то напряжение проводе повышается до 3.5 вольт.
В рецессивном состоянии напряжение на обоих проводах равняется 2.5 вольта.
Когда на проводе
Low доминантное состояние, то напряжение падает до 1.5 вольта.
("Доминанта" - явление, доминирующее, главенствующее или господствующее в какой-либо сфере,- из словарей).

Для повышения надежности передачи данных, в шине CAN применяется дифференциальный способ передачи сигналов по двум проводам, имеющим название Twisted Pair. А провода, которые образуют эту пару, называются CAN High и CAN Low.
В исходном состоянии шины на обоих проводах поддерживается постоянное напряжение на определенном (базовом) уровне. Для шины
CAN силового агрегата оно приблизительно равняется 2.5 вольта.
Такое исходное состояние называется "состоянием покоя" или "рецессивом".

Каким образом передаются и преобразуются сигналы по CAN шине?

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

фото 4

Поступающие по проводам High и Low сигналы, поступают в дифференциальный усилитель, обрабатываются и поступают на вход блока управления.
Эти сигналы представляют собою напряжение на выходе дифференциального усилителя.
Дифференциальный усилитель формирует это выходное напряжение как разность между напряжениями на проводах High и Low шины CAN.
Таким образом исключается влияние величины базового напряжения (у шины CAN силового агрегата оно равно 2,5 В) или какого либо напряжения, вызванного, например, внешними помехами.

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

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

Так как шина CAN состоит из двух проводов, которые перекручены между собой, то помеха одновременно воздействует на два провода:

Из вышеприведенного рисунка видно, что происходит далее: в дифференциальном усилителе напряжение на проводе Low (1,5 В – " Pp") вычитается из напряжения
на проводе High (3,5 В – "
Pp") и в обработанном сигнале помеха отсутствует (" Pp" - помеха).


Примечание: По наличию времени статья может иметь продолжение - много еще остается "за кадром".



Кучер В.П.
© Легион-Автодата

Вас также может заинтересовать:

Для того чтобы упорядочить работу всех контроллеров, которые облегчают управление и повышают контроль вождения автомобилем, используется 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. На завершающем этапе настраиваются все каналы для обеспечения рабочего состояния системы. Также надо задать функциональный ряд устройству.

Сегодня я хочу познакомить вас с интересной микроконтроллерной платформой CANNY . Это обзорная статья в которой вы узнаете о технологии, а в последующих статьях я расскажу вам о работе с сообщениями CAN, интеграции CANNY c Arduino Mega Server и о тех возможностях, которые предоставляет эта связка.

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

Шина CAN

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

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

Контроллеры CANNY

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

Флагманом линейки является контроллер CANNY 7, наиболее мощный и имеющий максимум возможностей. Большое количество памяти, мощные выходы, позволяющие напрямую управлять реле автомобиля, интеллектуальная система защиты от коротких замыканий, защита от бросков тока и напряжения в бортовой сети автомобиля - всё это делает этот контроллер отличным решением для воплощения любых ваших идей и проектов.

Кроме CANNY 7 в линейке контроллеров присутствует ещё несколько моделей, мы будем проводить свои эксперименты с более простой встраиваемой моделью CANNY 5 Nano. Она также поддерживает работу с CAN шиной, но при этом похожа на уже знакомую нам Arduino Nano.

Визуальное программирование

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

Ни одной строчки кода!

Хорошо это или плохо? На мой взгляд, это дело привычки. Мне, как человеку привыкшему к «традиционному» программированию, было непривычно манипулировать блоками, вместо написания строк кода. С другой стороны, существует множество приверженцев именно такого подхода к составлению алгоритмов и считается, что для инженеров и «не программистов» это наиболее простой и доступный метод программирования микроконтроллеров.

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

CannyLab является бесплатной средой разработки и вы можете свободно скачать её с сайта разработчиков, она также не требует специальной процедуры инсталляции - достаточно распаковать файл с архивом - и вы можете начинать работу.

Подключение

Подключение CANNY 5 Nano к компьютеру мало чем отличается от подключения контроллеров Arduino. При наличии в системе драйвера Silicon Labs CP210x, либо после его установки из скаченного дистрибутива CannyLab, Windows создаёт виртуальный COM порт и CANNY готов к работе. В моём случае понадобилось ещё перезагрузить компьютер, но возможно это особенность моей системы.

Практические примеры

Давайте на простых примерах разберём, как в CannyLab выполнять действия, привычные нам в Arduino IDE. Начнём с традиционного мигания светодиодом.

В контроллере CANNY 5 на выводе С4 (Channel 4) присутствует тестовый светодиод (аналог светодиода, находящегося на 13 выводе в Arduino). И его тоже можно использовать для индикации и экспериментов, чем мы и воспользуемся.

Что же нужно, чтобы помигать светодиодом в контроллере CANNY? Нужно сделать всего две вещи - сконфигурировать пин четвертого канала как выход и подать на этот выход сигнал с ШИМ генератора. Все эти действия мы уже не раз проделывали в Arduino IDE, посмотрим как это выглядит в CannyLab.

Итак, конфигурируем пин четвертого канала как выход

Настраиваем генератор ШИМ. Задаём период 500 миллисекунд, заполнение - 250 миллисекунд (то есть 50 %) и 1 (true) на входе генератора «Старт» и… всё! Больше ничего делать не нужно - программа готова, осталось только залить её в контроллер.

Режим симуляции

Тут нужно сказать пару слов о процессе симуляции на компьютере работы контроллера и заливке разработанной программы в память «железного» контроллера.

Среда разработки CannyLab позволяет запускать и отлаживать программу, не записывая её в память контроллера. В режиме симуляции вы можете видеть результат работы программы прямо в реальном времени и даже вмешиваться в её работу.

Заливка в контроллер

Для работы контроллеров CANNY, перед заливкой программы (в терминологии разработчиков «диаграммы») нужно сначала залить операционную систему «Устройство/Системное ПО/Записать». Это нужно сделать только один раз, для этого нужно выбрать соответствующий вашему контроллеру файл с расширением .ccx .

После того, как программа написана и отлажена, её можно загрузить в ваш контроллер. Это делается просто - в меню выбираете пункт «Устройство/Диаграмма/Записать» и через несколько секунд программа оказывается записанной в контроллер.

Аналоговые входы

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

Мы будем отслеживать уровень напряжения на 10 пине контроллера и если он находится в диапазоне 2,5 В ± 20%, будем зажигать встроенный в плату светодиод.

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

Включаем АЦП на 10-м канале.

Блок «Логическое И» довершает работу и со своего выхода управляет работой светодиода на плате.

Вот и всё. То, что мы привычно делали на Arduino, мы легко сделали в CannyLab. Осталось только освоиться в этой среде программирования и вы сможете легко и непринуждённо создавать свои проекты на этой платформе.

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

Шина CAN-bus была создана в конце 80-х годов фирмой Robert Bosch GmbH (Германия) как решение для распределенных систем, работающих в режиме реального времени. Отличительной особенностью шины является ее высокая помехозащищенность. Дополнительным преимуществом шины CAN выступает ее устойчивость к механическим повреждениям - замыкание проводников шины на общий провод, питание или между собой не приводит к выходу из строя устройств. Более того, некоторые модификации шины способны функционировать при обрыве одного из проводников.

CAN-шина в промышленных сетях

Полевая шина CAN (Controller Area Network) характеризуется высокими скоростью передачи данных и помехоустойчивостью, а также способностью обнаруживать любые возникающие ошибки. Благодаря этому CAN сегодня широко используется в таких областях, как автомобильный и железнодорожный транспорт, промышленная автоматика, авиация, системы доступа и контроля. По данным ассоциации CiA (CAN in Automation, www.can-cia.de), в настоящее время в эксплуатации находится около 300 млн CAN-узлов по всему миру. В Германии CAN-шина занимает первое место по популярности среди остальных полевых шин.

Характеристики протокола CAN Преимущества CAN

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

Испытанный стандарт. Протокол CAN активно используется уже более 20 лет, что очень важно для таких консервативных областей как железнодорожный транспорт или судостроение. CAN был разработан в 1980 г. фирмой Robert Bosch для автомобильной промышленности. CAN-интерфейс регламентирован международными стандартами ISO 11898 для высокоскоростных и ISO 11519-1 для низкоскоростных приложений. Низкая стоимость определяется хорошим соотношением цена/производительность, также широкой доступностью CAN-контроллеров на рынке. Надежность определяется линейной структурой шины и равноправностью ее узлов, так называемой мультимастерностью (Multi Master Bus), при которой каждый узел CAN может получить доступ к шине. Любое сообщение может быть послано одному или нескольким узлам. Все узлы одновременно считывают с шины одну и ту же информацию, и каждый из них решает, принять данное сообщение или игнорировать его. Одновременный прием очень важен для синхронизации в системах управления. Отказавшие узлы отключаются от обмена по шине.



Высокая помехоустойчивость достигается благодаря подавлению синфазных помех дифференциальным приемопередатчиком, работе встроенных механизмов обнаружения ошибок (одна необнаруженная ошибка за 1000 лет при ежедневной 8-часовой работе сети на скорости 500 Кбит/с), повтору ошибочных сообщений, отключению неисправных узлов от обмена по шине и устойчивости к электромагнитным помехам.

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

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

Приложения CAN

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

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

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

Физический уровень CAN-шины представляет собой соединение «монтажное И» между всеми устройствами, подключенными к ней. Дифференциальные сигнальные линии называются CAN_H и CAN_L и в статическом состоянии находятся под потенциалом 2,5 В. Лог. 1 (рецессивный бит) обозначает состояние шины, при котором уровень на линии CAN_H выше, чем уровень CAN_L. При лог. 0 (доминантный бит) уровень на линии CAN_H ниже, чем уровень CAN_L. Принято следующее соглашение о состоянии шины: пассивное состояние шины соответствует уровню лог. 1, а активное - уровню лог. 0. Когда сообщения не передаются по шине, она находится в пассивном состоянии. Передача сообщения всегда начинается с доминантного бита. Логика работы шины соответствует «проводному И»: доминантный бит «0» подавляет рецессивный бит «1» (рис. 12.1).

Рис. 12.1. Логика работы CAN шины

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

Максимальная скорость передачи данных составляет 1 Мбит/с при длине шины 40 м и около 40 Кбит/с при длине шины 1000 м.

Разновидности CAN

В настоящее время доступны различные устройства с CAN-интерфейсом, которые помимо передачи данных из одной точки в другую позволяют реализовать синхронизацию процессов и обслуживание по приоритетам. Более ранние реализации CAN-контроллеров используют кадры с 11-разрядным идентификатором и возможностью адресации до 2048 сообщений и соответствуют спецификации CAN V. 2.0A. Такие контроллеры носят название Basic CAN и характеризуются сильной загруженностью центрального процессора (ЦПУ), так как каждое входящее сообщение запоминается в памяти и ЦПУ решает, нужны ему данные сообщения или нет (рис. 12.2). Контроллеры Basic CAN содержат один передающий буфер и один или два приемных буфера сообщений. Чтобы послать или получить сообщение, требуется задействовать ЦПУ через прерывания «сообщение_послано» и «сообщение_получено». В результате проверки каждого входящего сообщения загрузка ЦПУ очень велика, что ограничивает реальную скорость обмена по сети. По этой причине такие контроллеры используются в сетях CAN с низкой скоростью обмена и/или малым количеством сообщений.

Рис. 12.2. Структура контроллера Basic CAN

Большинство выпускаемых сегодня CAN-контроллеров используют расширенные кадры сообщений с идентификатором длиной 29 разрядов, что позволяет адресовать до 536 млн сообщений. Такие контроллеры соответствуют спецификации CAN V. 2.0B (active) и называются контроллеры Full-CAN. В них предусмотрен буфер для нескольких сообщений, причем каждое сообщение имеет свою маску, и фильтрация осуществляется по соответствию идентификатора маске.

В случае Full-CAN ЦПУ максимально разгружено, поскольку не обрабатывает ненужные сообщения (рис. 12.3). При приеме сообщения с идентификатором, соответствующим маске, оно запоминается в специальной зоне двухпортового ОЗУ, и работа ЦПУ прерывается. Full-CAN имеет также специальный тип сообщения, которое означает: «у кого бы ни находилась эта информация, пожалуйста, пошлите ее сейчас же». Контроллер Full-CAN автоматически прослушивает все сообщения и посылает запрошенную информацию.

Рис. 12.3. Структура контроллера Full-CAN

До недавнего времени в промышленности был широко распространен Basic CAN с 11-разрядным идентификатором. Этот протокол допускает простую связь между микроконтроллерами и периферийными устройствами при скорости обмена вплоть до 250 Кбит/с. Однако при стремительном удешевлении CAN-контроллеров использование Full-CAN стало оправданным и для связи с медленными устройствами. Если в промышленных приложениях требуется высокоскоростной (до 1 Мбит/с) обмен данными, то непременно следует использовать Full-CAN.

Арбитраж узлов CAN-шины

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

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

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

Если передача узла А приостанавливается узлом B, посылающим сообщение с более высоким приоритетом, то, как только шина освободится, будет сделана другая попытка передачи сообщения от узла A. Этот принцип получил название CSMA/CA: Carrier Sense Multiple Access/Collision Avoidance (общий доступ с опросом/предотвращение конфликтов). Такой режим в отличие от Ethernet не позволяет конфликтующим узлам в шине выяснять отношения, а сразу выявляет победителя и сокращает время обмена.

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

Формат сообщений

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

Рис. 12.4. Кадр данных (Data Frame)

Для передачи данных служит кадр данных - Data Frame (рис. 12.4), который содержит:

  • идентификатор, указывающий на тип сообщения («скорость_двигателя», «температура_масла») и на приоритет доступа к шине. Поле идентификатора содержит различное количество бит в зависимости от разновидности протокола: в стандартном формате CAN V2.0A предусмотрен 11-разрядный идентификатор, а в расширенном CAN V2.0B - 29-разрядный;
  • поле данных, содержащее соответствующее сообщение («скорость_двигателя»= 6000 об/мин, «температура_масла»=110 °C) длиной до восьми байт;
  • два байта контрольной суммы - Cyclic Redundancy Check (CRC) для выявления и коррекции ошибок передачи.

Для запроса информации узел CAN использует кадр запроса данных Remote Frame (рис. 12.5), который содержит:

  • идентификатор, определяющий тип запрашиваемой информации («скорость_ двигателя», «температура_масла») и приоритет сообщения;
  • два байта контрольной суммы CRC .

Рис. 12.5. Кадр запроса данных Remote Frame

В этом случае за идентификатором не следуют данные и код длины данных не имеет прямого отношения к количеству байт данных. Узел, которому предложено передать информацию (датчик температуры масла), передает кадр данных, содержащий требуемую информацию. Таким образом, если узел А направляет узлу В кадр запроса с идентификатором «температура_масла», то узел В опрашивает датчик температуры и направляет узлу А кадр данных, содержащий идентификатор «температура_масла» и требуемую информацию.

Дополнительная информация, содержащаяся в кадре, позволяет определить формат и синхронизацию протокола передачи сообщения и тип посылки:

  • какое сообщение послано - запрос о данных или собственно данные определяют бит удаленного запроса передачи (RTR для 11-разрядного идентификатора и SRR для 29-разрядного);
  • код длины данных, сообщающий, сколько байтов данных содержит сообщение; все узлы принимают кадр данных, но те из них, которым эта информация не нужна, ее не сохраняют;
  • для обеспечения синхронизации и контроля кадр содержит поля начала кадра Start of Frame, конца кадра End of Frame и подтверждения Acknowledgement Field;
  • вход в режим синхронизации на шине осуществляется первым битом поля Start of Frame, далее синхронизация поддерживается фронтом при смене уровня посылаемых битов;
  • используется механизм битстаффинга - вставка дополнительного бита при следующих подряд пяти нулях или единицах.

Обнаружение ошибок

Сигнализация об ошибках происходит путем передачи кадра ошибки Error Frame. Он инициируется любым узлом, обнаружившим ошибку. CAN-контроллеры используют метод статистической обработки ошибок. Каждый узел содержит счетчики ошибок при передаче и приеме Transmit Error Counter и Receive Error Counter. Если передатчик или приемник обнаруживают ошибку, значение соответствующего счетчика увеличивается. Когда значение счетчика превышает некоторый предел, текущая передача прерывается. Узел выдает сигнал об ошибке в виде Error Frame, где выставляет активный доминантный флаг ошибки длиной 6 бит. После этого узел, передача которого была прервана, повторяет сообщение. Ненадежным или частично поврежденным узлам разрешено посылать лишь пассивный рецессивный флаг ошибки.

В CAN существует несколько разновидностей ошибок. Из них три типа на уровне сообщений:

  • CRC Error - ошибка контрольной суммы (при несовпадении принятой в поле CRC и вычисленной контрольных сумм).
  • Form Error - ошибка формата кадра при несоответствии принятого сообщения формату CAN.
  • Acknowledgement Error - ошибка подтверждения приема сообщения, если ни один из узлов не подтвердил правильного получения сообщения.

Кроме того, существует два типа ошибок на битовом уровне:

  • Bit Error - обнаружение активным узлом расхождения между посланным в шину уровнем и фактическим значением за счет реализации узлом механизма самоконтроля.
  • Stuff Error - наличие в поле сообщения шести следующих подряд бит 0 или 1 (ошибка битстаффинга).

Благодаря этим механизмам обнаружения и коррекции ошибок вероятность пропуска ошибки крайне мала. Например, при скорости 500 Кбит/с, загруженности шины 25 % и использовании в течение 2000 часов в год возникает лишь одна необнаруженная ошибка за 1000 лет. Кроме того, в шине невозможна ситуация блокировки неисправным узлом работы всей сети. Такие узлы обнаруживаются и отключаются от обмена по шине.

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

[ Скрыть ]

Что такое CAN-шина

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

Данный интерфейс представляет собой колодку, с которой можно соединять посредством проводов блоки:

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

Устройство и где находится шина

Конструктивно CAN-шина представляет собой блок, выполненный в пластиковом корпусе, либо разъем для подсоединения кабелей. Цифровой интерфейс состоит из нескольких проводников, которые называются CAN. Для подключения блоков и устройств используется один кабель.

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

Как работает?

Принцип работы автоматической системы заключается в передаче закодированных сообщений. В каждом из них имеется специальный идентификатор, являющийся уникальным. К примеру, «температура силового агрегата составляет 100 градусов» или «скорость движения машины 60 км/ч». При передаче сообщений все электронные модули будут получать соответствующую информацию, которая проверяется идентификаторами. Когда данные, передающиеся между устройствами, имеют отношение к конкретному блоку, то они обрабатываются, если нет — игнорируются.

Длина идентификатора CAN-шины может составить 11 либо 29 бит.

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

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

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

Характеристики

Технические свойства цифрового интерфейса:

  • общее значение скорости передачи информации составляет около 1 Мб/с;
  • при отправке данных между блоками управления различными системами этот показатель уменьшается до 500 кб/с;
  • скорость передачи информации в интерфейсе типа «Комфорт» — всегда 100 кб/с.

Канал «Электротехника и электроника для программистов» рассказал о принципе отправки пакетных данных, а также о характеристиках цифровых адаптеров.

Виды CAN-шин

Условно CAN-шины можно разделить между собой на два типа в соответствии с использующимися идентификаторами:

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

CAN-шины могут делиться на три категории в соответствии с видом:

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

О принципе действия, а также о разновидностях цифровых интерфейсов рассказал канал «Электротехника и электроника для программистов».

Инструкция по подключению сигнализации по CAN-шине

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

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

Если сигналку ставили специалисты, то надо обратиться за помощью с этим вопросом на СТО. Обычно устройство располагается за приборной панелью автомобиля или под ней. Иногда установщики ставят микропроцессорный модуль в свободное пространство за бардачком или автомагнитолой.

Что понадобится?

Для выполнения задачи потребуется:

  • мультиметр;
  • канцелярский нож;
  • изолента;
  • отвертка.

Пошаговые действия

Процедура подключения противоугонной установки к CAN-шине осуществляется так:

  1. Сначала надо убедиться, что все элементы охранного комплекса установлены и работают. Речь идет о микропроцессорном блоке, антенном модуле, сервисной кнопке, сирене, а также концевых переключателях. Если сигнализация имеет опцию автозапуска, надо убедиться в правильности монтажа этого устройства. Все элементы противоугонной установки подключаются к микропроцессорному блоку.
  2. Выполняется поиск основного проводника, идущего к CAN-шине. Он более толстый и его изоляция обычно окрашена в оранжевый цвет.
  3. Основной блок автосигнализации соединяется с данным контактом. Для выполнения задачи используется разъем цифрового интерфейса.
  4. Производится монтаж блока управления охранной системы, если он не был установлен. Его следует разместить в сухом и недоступном для посторонних глаз месте. После монтажа устройство надо качественно зафиксировать, иначе в процессе движения на него будут оказывать негативное воздействие вибрации. В результате это приведет к быстрой поломке модуля.
  5. Место соединения проводников тщательно изолируется, допускается использование термоусадочных трубок. Рекомендуется дополнительно обмотать изолентой провода. Это позволит увеличить их ресурс эксплуатации и не допустить стирания изоляционного слоя. Когда подключение будет выполнено, осуществляется проверка. Если возникли проблемы в передачи пакетных данных, с помощью мультиметра следует произвести диагностику целостности электроцепей.
  6. На завершающем этапе выполняется настройка всех каналов связи, в том числе дополнительных, если они имеются. Это позволит обеспечить бесперебойную работу охранной системы. Для настройки используется сервисная книжка, входящая в комплектацию противоугонной установки.

Пользователь Sigmax69 рассказал о соединении охранного комплекса с цифровым интерфейсом на примере автомобиля Хендай Солярис 2017.

Неисправности

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

Признаки и причины

О появлении неисправностей могут сообщить такие «симптомы»:

  • на приборной панели загорелись одновременно несколько значков без причины — подушки безопасности, рулевое управление, давление в системе смазки и т. д.;
  • появился световой индикатор Check Engine;
  • на контрольном щитке отсутствует информация о температуре силового агрегата, уровне топлива в баке, скорости т. д.

Причины, по которым могут возникнуть неисправности в работе CAN-интерфейса:

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

Подробнее о поломках цифрового интерфейса и тестировании с использованием компьютера рассказал канал «KV Avtoservis».

Диагностика

Чтобы определить причину появления неполадок, потребуется тестер, рекомендуется использование мультиметра.

Процесс проверки:

  1. Диагностика начинается с поиска проводника витой пары КАН-шины. Кабель имеет черную либо оранжево-серую изоляцию. Первый является доминантным уровнем, а второй — второстепенным.
  2. С помощью мультиметра производится проверка величины напряжения на контактных элементах. При выполнении задачи зажигание нужно включить. Процедура тестирования позволит выявить напряжение в диапазоне от 0 до 11 вольт. На практике это обычно 4,5 В.
  3. Выполняется отключение зажигания. От аккумулятора отсоединяется проводник с отрицательным контактом, предварительно гаечным ключом надо ослабить зажим.
  4. Выполняется измерение параметра сопротивления между проводниками. О замыкании контактов можно узнать, если эта величина стремится к нулю. Когда диагностика показала, что сопротивление бесконечно, то в электролинии имеется обрыв. Проблема может заключаться непосредственно в контакте. Требуется более детально проверить разъем и все провода.
  5. На практике замыкание обычно происходит из-за поломки управляющих устройств. Для поиска вышедшего из строя модуля следует поочередно отключить от питания каждый блок и выполнить проверку величины сопротивления.

Пользователь Филат Огородников рассказал о диагностике КАН-шины с использованием осциллографа.

Как сделать анализатор своими руками?

Самостоятельно выполнить сборку данного устройства сможет только профессионал в области электроники и электротехники.

Основные нюансы процедуры:

  1. В соответствии со схемой на первом фото в галерее надо приобрести все элементы для разработки анализатора. На ней подписаны составляющие детали. Потребуется плата с контроллером STM32F103С8Т6. Понадобится электросхема стабилизированного регуляторного устройства и КАН трансивер МСР2551.
  2. При необходимости в анализатор добавляется блютуз-модуль. Это позволит при эксплуатации девайса записать основную информацию на мобильное устройство.
  3. Процедура программирования выполняется с использованием любой утилиты. Рекомендуется применение программ КАНХакер или Ардуино. Первый вариант более функциональный и имеет опцию фильтрации пакетных данных.
  4. Для осуществления прошивки потребуется преобразовательное устройство USB-TTL, оно понадобится для отладки. Простой вариант — применение ST-Link второй версии.
  5. Загрузив программу на компьютер, основной файл формата ЕХЕ необходимо прошить в контроллер с использованием программатора. После выполнения задачи ставится перемычка бутлоудера, а изготовленное устройство подключается к ПК через USB-выход.
  6. Заливать прошивку в анализатор можно с использованием программного обеспечения MPHIDFlash.
  7. Когда обновление ПО будет завершено, надо отсоединить провод и демонтировать перемычку. Производится установка драйверов. Если устройство собрано верно, то на компьютере оно будет определяться как COM-порт, это можно посмотреть в диспетчере задач.

Фотогалерея

Схема для разработки CAN-анализатора Основная плата для сборки устройства

Плюсы и минусы CAN-шин

Преимущества, которыми обладает цифровой интерфейс:

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

Минусы, которыми обладает CAN-шина:

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

Видео «Ремонт CAN-интерфейса своими руками»

Пользователь Roman Brock рассказал о процедуре восстановления шины приборной панели в автомобиле Форд Фокус 2 рестайлинг.