Как найти can шину в автомобиле. Примечание о значениях идентификатора. Признаки и причины

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

[ Скрыть ]

Где находится CAN-шина?

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

Эта автомобильная технология используется как колодка, с которой можно соединять следующие управляющие блоки:

  • «сигналки» — к противоугонной системе может подключаться модуль автоматического запуска двигателя;
  • антиблокировочной системы «АБС»;
  • механизмов безопасности, в частности, подушек и их датчиков;
  • системы управления силовым агрегатом автомобиля;
  • приборной комбинации;
  • системы круиз-контроля;
  • кондиционера и отопительного узла;
  • системы управления автоматической трансмиссией и т. д.

CAN-модуль — это устройство, место монтажа которого может отличаться производителем транспортного средства.

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

  • под капотом автомобиля;
  • в салоне транспортного средства;
  • под контрольной комбинацией.

Технические характеристики

Описание основных свойств системы диагностики и анализа CAN:

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

Назначение и функции кан-шины

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

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

Подробнее о назначении и общих характеристиках CAN-модуля рассказал канал «Crossover 159».

Устройство и принцип работы

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

Шина работает по принципу отправки данных в закодированном виде. Каждое передающееся сообщение обладает специальным уникальным идентификаторов. Может быть информация: «скорость передвижения авто составляет 50 км/ч», «температура охлаждающей жидкости 90 градусов Цельсия» и т. д. При отправке сообщений все электронные блоки получают данные, проверяющиеся идентификаторами. Если информация имеет отношение к определенному модулю, то она обрабатывается, если нет — то игнорируется.

В зависимости от модели, длина идентификатора интерфейса может быть 11 или 29 бит.

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

Работа CAN-шины возможна в нескольких режимах:

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

Пользователь Valentin Belyaev подробно рассказал о принципе действия цифрового интерфейса.

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

Если автомобиль оснащен цифровым интерфейсом, это обеспечивает следующие плюсы:

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

Разновидности и маркировка

По типу идентификаторов такие устройства делятся на два вида:

  1. CAN2, 0A. Это маркировка интерфейсов, которые могут работать в 11-битном формате передачи информации. Данная разновидность устройств не в состоянии определять ошибки импульсов от блоков, которые работают с 29 бит.
  2. CAN2, 0B. Это маркировка шин, работающих в формате 11 бит. Основная особенность заключается в возможности передачи информации на блоки управления при выявлении 29-битного идентификатора.

В зависимости от области применения, шины разделяются на три класса:

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

Канал «Diyordie» рассказал о назначении цифрового интерфейса, а также о его разновидностях в автомобиле.

Подключение сигнализации своими руками

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

Необходимые приборы и инструменты

Предварительно надо подготовить:

  • тестер для проверки напряжения - мультиметр;
  • изоленту;
  • отвертку с крестовым наконечником.

Пошаговая инструкция

Установка выполняется так:

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

Канал «Гаражный любитель» подробно рассказал об установке и подключении противоугонного комплекса Старлайн с CAN-шиной.

Работа с терминалом

Варианты настройки

Если используется терминал, есть два варианта настроить работу интерфейса:

  1. С помощью специальной программы «Конфигуратор» для компьютера. При запуске утилиты надо перейти во вкладку «Настройки» и выбрать пункт CAN. В открывшемся окне указываются необходимые параметры.
  2. Используя команды «CanRegime». Обычно этот вариант применяется для дистанционной настройки с использованием СМС-сообщений. Могут применяться команды, которые отправляются из программного обеспечения для мониторинга.

Подробнее о командах, которые указываются после CanRegime:

  1. Mode — определяет режим функционирования. Если показана цифра 0 — то цифровой интерфейс отключен, если 1 — используется стандартный фильтр. Цифры 2 и 3 указывают на принадлежность пакетов к 29- либо 11-битному классу.
  2. BaudRate. Команда предназначена для определения скорости работы цифрового интерфейса. Важно, чтобы этот параметр соответствовал скорости передачи информации в авто.
  3. TimeOut — определяет время ожидания для каждого сообщения. Если полученная величина слишком низкая, то цифровой интерфейс сможет отловить не все передающиеся сообщения.

Режимы работы

Существует несколько режимов функционирования терминала:

  1. FMS — в нем автовладелец может узнать общий расход горючего, обороты, пробег транспортного средства, нагрузку на оси, температуру силового агрегата. Допускается получение данные об объеме горючего в баке. Для работы в данном режиме выполняется вход в меню выбора типа фильтров программы «Конфигуратор». Указывается тип режима FMS, скорость цифрового интерфейса, после чего нажимается кнопка «Применить».
  2. Режим прослушки используется для получения сообщений, передающий через цифровой интерфейс. Чтобы работать с ним, надо зайти в программе в настройки шины CAN и выбрать один из рабочих параметров. Это может быть скорость интерфейса или время ожидания, тип фильтра в данном случае не играет роли. После указания параметров «кликается» клавиша «Прослушать».
  3. Для привязки информации, полученной посредством прослушивания цифрового интерфейса, используются пользовательские фильтры. После прослушки данных надо выбрать тип фильтрующей технологии (для 11 или 29 бит). Расшифровка данных производится в соответствии с технической документацией.
  4. Режим тестирования OBD2 используется для сканирования скорости отправки информации, а также класса идентификатора. Чтобы запустить эту функцию, автовладельцу надо подключиться напрямую к цифровому интерфейсу или диагностическому разъему. Включение режима осуществляется посредством входа в меню «Настройка» и выбора опции «Тест OBD2». В результате терминалом начнется отправка запросов с конкретными идентификаторами на различных скоростях интерфейса. Во вкладке «Устройство» можно ознакомиться с извлеченной и расшифрованной информацией.

Настройка мониторингового ПО

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

Отображение информации в системе сервера мониторинга

Скачать бесплатно инструкцию по установке и пользованию в формате PDF

Загрузить сервисное руководство по монтажу и эксплуатации по ссылкам в таблице.

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

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

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

Фотогалерея

Фото схем для самостоятельного изготовления анализатора приведены в этом разделе.

Сколько стоит?

Примерные цены на покупку КАН-устройств приведены в таблице.

Видео «Работа с CAN-шиной»

Канал «CAN-Hacker Automotive Data Bus Sollutions» показал способ работы с цифровым интерфейсом на примере автомобиля Рено Каптюр.

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

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

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

В качестве начальника в автомобиле выступает бортовой компьютер и система диагностики.

История разработки и унификации Controller Area Network

Компания BOSCH, производя исследования в области автоматизации в 80-х годах прошлого века, предложила стандарт микроконтроллерной связи, который можно было применять и в автомобилестроении.

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

Применительно к автомобильной технике стандарт CAN (Controller Area Network) адаптирован к шине с физическим уровнем. Она организована при помощи витой пары проводников, по которым идут пакеты сигналов разной полярности.

Такой стандарт получил международную классификацию ISO 11898. Кадр (пакет) включает 11-битный информационный сигнал (либо 29-битный в расширенном режиме).

В общем, CAN-шина не обязательно может быть реализована при помощи витой пары проводников. Это может быть и оптоволокно, и радиоканал.

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

CAN-шина автомобиля: что это такое и её принцип работы

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

Эти сигналы передаются по проводникам (витой паре) трансивером. Трансиверы, или приемо-передатчики, предназначены для:

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

Сейчас в автомобильной технике применяют следующие виды приемо-передатчиков — High Speed и Fault Toleran. High Speed трансмиттер обеспечивает относительно высокую скорость передачи информации – до 1 мегабит в секунду. Второй тип трансмиттера обладает меньшей скоростью передачи информации – до 120 килобит в секунду. Зато он менее чувствителен (толерантен к ошибкам) к качеству CAN-шины, допускает отклонение ее параметров.

Схема организации обмена данными

Структурно схему подключения различных блоков автомобиля к CAN-шине можно изобразить в таком виде:

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

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

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

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

Эти же данные используют средства диагностики для контроля и обработки информации об основных системах автомобиля.

Основные режимы работы CAN-шины:

  • активный (зажигание включено);
  • спящий (при выключенном зажигании);
  • пробуждение и засыпание (при включении и выключении зажигания).

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

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

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

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

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

Основные преимущества применения CAN-шины:

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

Недостатки CAN-шины:

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

Устранение неисправностей

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

  • на приборной панели одновременно загорелись несколько индикаторных ламп неисправностей;
  • пропали показатели температуры охлаждающей жидкости, уровни топлива;

Прежде всего, следует выполнить диагностику. Если она покажет на неисправность CAN-шины, следует приступить к устранению проблемы.

Последовательность работ:

  1. Найти проводники витой пары шины. Часто они имеют черный (высокий уровень) и оранжево-коричневый (низкий) цвета.
  2. Проверить при включенном зажигании с помощью мультиметра напряжения на проводниках. Уровни не должны быть равны 0 или более 11 Вольт (обычно около 4,5 Вольта).
  3. Выключить зажигание, снять клемму аккумуляторной батареи. Измерить сопротивление между проводниками. Если оно будет стремиться к нулю, значит, в шине присутствует короткое замыкание, если к бесконечности – обрыв.

  4. Уникальный автомобильный сканер Scan Tool Pro

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 рестайлинг.

В данной статье не будем полностью расписывать 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 шине.

Шина 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 лет. Кроме того, в шине невозможна ситуация блокировки неисправным узлом работы всей сети. Такие узлы обнаруживаются и отключаются от обмена по шине.