Can h can l что это?

Статьи

Can h can l что это?

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

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

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

В качестве первичного устройства используемого для анализа протокола CAN, рациональнее всего использовать цифровой запоминающий осциллограф. Для этих целей компания LeCroy рекомендует использовать осциллографы серии WaveRunner – эти осциллографы обладают высокой частотой дискретизации (от 2,5 до 10 Гвыб\с), большой длинной внутренней памяти – до 8М, число каналов 2 или 4 (что достаточно как для наблюдения сигнала CAN, так и аналоговых сигналов), они построены на принципе «открытой платформы» и обладают широкими возможностями для документирования полученных результатов.

Подключение входа осциллографа к источнику сигнала CAN может осуществляться несколькими способами:

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

Пример отображения сигнала CAN -Н в осциллографическом режиме или его физическое отображение приведен на рисунке 1.

Рисунок 1 (здесь и далее щелчок по изображению — увеличение)

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

При анализе протокола CAN необходимо решить две задачи:

  • Обеспечить CAN синхронизацию;
  • Обеспечить декодирование сигнала CAN для последующего анализа.

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

Декодирование сообщения CAN

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

  • ID (адрес) сообщения;
  • DLC (число кодовых сообщений);
  • Значения данных в кодовом сообщении в формате шестнадцатеричного кода;
  • CLC (контрольную сумму ).

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

Так на рисунке 2 приведен пример декодированного сообщения CAN, на котором четко видны составные части сообщения CAN.

Рисунок 2

Синхронизация CAN

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

Длинная память осциллографов LeCroy (а это как уже упоминалось до 8 М), позволяет одновременно зафиксировать на экране осциллографа несколько сотен сообщений CAN. Естественно, для того чтобы разглядеть отдельное сообщение CAN в этом потоке, необходимо воспользоваться растяжкой осциллографа. Так на рис 3. приведен пример захвата около 500 сообщений CAN. На верхней осциллограмме изображен поток сообщений CAN, на нижней осциллограмме применена растяжка, на которой видно декодированное сообщение.

Так же на рисунке 3, на верхней осциллограмме видно, что при обнаружении в потоке сообщений содержащих ошибки, эти сообщения выделяются красным цветом и помечаются флагом « Error».

Рисунок 3

Так на рисунке 4 приведен пример отображения обнаруженной ошибки формы.

Рисунок 4

Синхронизация CAN может так же осуществляться по различным условиям, это:

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

Такая реализация синхронизации CAN, позволяет из всего потока сообщений CAN фиксировать только те, которые представляют интерес для конкретной задачи анализа, например имеющие определенный ID или содержащие данные необходимы для фиксации. Например, в автомобиле необходимо анализировать только сообщения передаваемые датчиком температуры масла двигателя и когда температура превысила определенный установленный порог. Или, например, в координатном фрезерном станке необходимо фиксировать только сообщения, передаваемые определенным датчиком положения. Так на рисунке 5 приведен пример выделения из потока CAN сообщений только с ID= 0 x7 cf.

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

В этом режиме осциллограф LeCroy Wave Runner может зафиксировать до 1000 отдельных сигналов, причем время между сигналами не имеет значения (хоть 1 час! Или больше), а при использовании запуска по определенному ID — это 1000 последовательных CAN сообщений с одним заданным адресом. Автоматический анализ декодированных данных, содержащихся в этих CAN сообщениях, например построение графика, даст полную информационную картинную о температуре масла двигателя, регистрируемой датчиком, выбранным нами в качестве примера.

Так на рисунке 5, приведен пример последовательной синхронизации 20 сообщений с адресом ID=0 x7с3 и их последующего декодирования, на рисунке 6 отображено декодирование 13-го сообщения.

Рисунок 5

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

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

Читайте также  Аудио кроссовер что это такое?

Так на рисунке 6 отображено окно времени между запусками развертки для сообщений, зафиксированных на рисунке 6. Из рисунка 7 видно, что сообщения с ID=7с3, следуют не равномерно и время между первыми 10 сообщениями составляет от 482 мс до 9,98 с.

Рисунок 6
Рисунок 7

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

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

  1. Ошибка формата (form error);
  2. Ошибка битстаффинга (stuff error)
  3. Ошибка контрольной суммы (CRC error)
  4. Ошибка на уровне бита(bit error)

Кадр, содержащий ошибку выделяется красным цветом, а тип обнаруженной ошибки индицируется в верхней части кадра. Так на рисунке 8 приведен пример ошибки контрольной суммы.

Рисунок 8

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

Измерения на шине CAN

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

  1. Измерение временного интервала между аналоговым сигналом (сигналом возмущения) и цифровым сообщением CAN (реакцией системы).
  2. Измерение времени между двумя заданными сообщениями CAN. В этом режиме задаются ID начального сообщения, данные начального сообщения (при необходимости, а так же условия совпадения для данных), ID конечного сообщения, данные конечного сообщения (при необходимости, а так же условия совпадения для данных). При обнаружении осциллографом двух сообщений соответствующих заданным условиям, происходит измерение временного интервала между ними. Здесь так же большое значение имеет длинна внутренней памяти. Поскольку измерение одиночного временного интервала производится в пределах одного экрана, то для сбора максимального числа сообщений CAN, содержащих, в том числе, сообщения, удовлетворяющие заданным условиям, необходима как можно более длинная память.
  3. Преобразование данных содержащихся в сообщении CAN в числовое значение с использованием ранжирования и единиц измерения.
  4. Измерение длительности сообщения передаваемого по шине CAN с заданным ID и условиями совпадения для данных.
  5. Расчет нагрузки сообщений CAN в %. Определяется как отношение длительности всех сообщений CAN, с заданным ID и условиями совпадения для данных к времени сбора информации.

Так на рисунке 9 приведен пример сигнала CAN и одновременного измерения (с лева на право):

  • длительности между сообщениями с ID=0 x7 c2 и с ID= 0 x7 b2;
  • длительности сообщения с ID=0 x7 c2;
  • преобразование данных сообщения с ID=0 x7 c2 в значение скорости;
  • расчет загрузки сообщения с ID=0 x7 c2
Рисунок 8

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

  Дедюхин А.А.   01.09.2005

У нас представлены товары лучших производителей

ПРИСТ предлагает оптимальные решения измерительных задач.

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

Источник: https://prist.ru/library/stati/analiz_i_izmereniya_v_shine_can_s_ispolzovaniem_cifrovyh_oscillografov_lecroy/

Введение в протокол CAN

Can h can l что это?

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

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

Рис. 1. Топология сети CAN.

CAN контроллеры соединяются с помощью дифференциальной шины, которая имеет две линии — CAN_H (can-high) и CAN_L (can-low), по которым передаются сигналы. Логический ноль регистрируется, когда на линии CAN_H сигнал выше, чем на линии CAN_L. Логическая единица — в случае когда сигналы CAN_H и CAN_L одинаковы (отличаются менее чем на 0.5 В).

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

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

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

Данные в CAN передаются короткими сообщениями-кадрами стандартного формата. В CAN существуют четыре типа сообщений:

  • Data Frame
  • Remote Frame
  • Error Frame
  • Overload Frame

Data Frame — это наиболее часто используемый тип сообщения. Он состоит из следующих основных частей:

  • поле арбитража (arbitration field) определяет приоритет сообщения в случае, когда два или более узлов одновременно пытаются передать данные в сеть. Поле арбитража состоит в свою очередь из:
    • для стандарта CAN-2.0A, 11-битного идентификатора + 1 бит RTR (retransmit)
    • для стандарта CAN-2.0B, 29-битного идентификатора + 1 бит RTR (retransmit)

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

  • поле данных (data field) содержит от 0 до 8 байт данных
  • поле CRC (CRC field) содержит 15-битную контрольную сумму сообщения, которая используется для обнаружения ошибок
  • слот подтверждения (Acknowledgement Slot) (1 бит), каждый CAN-контроллер, который правильно принял сообщение посылает бит подтверждения в сеть. Узел, который послал сообщение слушает этот бит, и в случае если подтверждение не пришло, повторяет передачу. В случае приема слота подтверждения передающий узел может быть уверен лишь в том, что хотя бы один из узлов в сети правльно принял его сообщение.

Рис. 2. Data frame стандарта CAN 2.0A.

Remote Frame — это Data Frame без поля данных и с выставленным битом RTR (1 — рецессивные бит). Основное предназначение Remote кадра — это инициация одним из узлов сети передачи в сеть данных другим узлом. Такая схема позволяет уменьшить суммарный трафик сети. Однако, на практике Remote Frame сейчас используется редко (например, в DeviceNet Remote Frame вовсе не используется).

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

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

Читайте также  Как отключить таймер на сигнализации Старлайн?

Error Delimiter дает возможность другим узлам сети обнаружив Error Frame послать в сеть свой Error Flag.

Overload Frame — повторяет структуру и логику работы Error кадра, с той разницей, что он используется перегруженным узлом, который в данный момент не может обработать поступающее сообщение, и поэтому просит при помощи Overload-кадра о повторной передаче данных. В настоящее время Overload-кадр практически не используется.

Контроль доступа к среде передачи (побитовый арбитраж)

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

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

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

Рис. 3. Побитовый арбитраж на шине CAN.

Методы обнаружения ошибок

CAN протокол определяет пять способов обнаружения ошибок в сети:

  • Bit monitoring
  • Bit stuffing
  • Frame check
  • ACKnowledgement Check
  • CRC Check

Bit monitoring — каждый узел во время передачи битов в сеть сравнивает значение передаваемого им бита со значением бита которое появляется на шине. Если эти значения не совпадают, то узел генерирует ошибку Bit Error. Естественно, что во время арбитража на шине (передача поля арбитража в шину) этот механизм проверки ошибок отключается.

Bit stuffing — когда узел передает последовательно в шину 5 бит с одинаковым значением, то он добавляет шестой бит с противоположным значением. Принимающие узлы этот дополнительный бит удаляют. Если узел обнаруживает на шине больше 5 последовательных бит с одинаковым значением, то он генерирует ошибку Stuff Error.

Frame Check — некоторые части CAN-сообщения имеют одинаковое значение во всех типах сообщений. Т.е. протокол CAN точно определяет какие уровни напряжения и когда должны появляться на шине. Если формат сообщений нарушается, то узлы генерируют ошибку Form Error.

ACKnowledgement Check — каждый узел получив правильное сообщение по сети посылает в сеть доминантный (0) бит. Если же этого не происходит, то передающий узел регистрирует ошибку Acknowledgement Error.

CRC Check — каждое сообщение CAN содержит CRC сумму, и каждый принимающий узел подсчитывает значение CRC для каждого полученного сообщения. Если подсчитанное значение CRC суммы, не совпадает со значением CRC в теле сообщения, принимающий узел генерирует ошибку CRC Error.

Механизм ограничения ошибок (Error confinement)

Каждый узел сети CAN, во время работы пытается обнаружить одну из пяти возможных ошибок. Если ошибка обнаружена, узел передает в сеть Error Frame, разрушая тем самым весь текущий трафик сети (передачу и прием текущего сообщения). Все остальные узлы обнаруживают Error Frame и принимают соответствующие действия (сбрасывают принятое сообщение). Кроме того, каждый узел ведет два счетчика ошибок: Transmit Error Counter (счетчик ошибок передачи) и Receive Error Counter (счетчик ошибок приема).

Эти счетчики увеличиваются или уменьшаются в соответствие с несколькими правилами. Сами правила управления счетчиками ошибок достаточно сложны, но сводятся к простому принципу, ошибка передачи приводит к увеличению Transmit Error счетчика на 8, ошибка приема увеличивает счетчик Receive Error на 1, любая корректная передача/прием сообщения уменшают соответствующий счетчик на 1. Эти правила приводят к тому, что счетчик ошибок передачи передающего узла увеличивается быстрее, чем счетчик ошибок приема принимающих узлов.

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

Каждый узел CAN сети может находится в одном из трех состояний. Когда узел стартует он находится в состоянии Error Active. Когда, значение хотя бы одного из двух счетчиков ошибок превышает предел 127, узел переходит в состояние Error Passive. Когда значение хотя бы одного из двух счетчиков превышает предел 255, узел переходит в состояние Bus Off.

Узел находящийся в состоянии Error Active в случае обнаружения ошибки на шине передает в сеть Active Error Flags. Active Error Flags сотстоит из 6 доминантных бит, поэтому все узлы его регистрируют. Узел в состоянии Passive Error передает в сеть Passive Error Flags при обнаружении ошибки в сети. Passive Error Flags состоит из 6 рецессивных бит, поэтому остальные узлы сети его не замечают, и Passive Error Flags лишь приводит к увеличению Error счетчика узла. Узел в состоянии Bus Off ничего не передает в сеть (не только Error кадры, но вообще никакие другие).

Адресация и протоколы высокого уровня

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

Утилизация поля арбитража и поля данных, и распределение адресов узлов, идентификаторов сообщений и приоритетов в сети является предметом рассмотрений так называемых протоколов высокого уровня (HLP — Higher Layer Protocols). Название HLP отражает тот факт, что протокол CAN описывает только два нижних уровня эталонной сетевой модели ISO/OSI, а остальные уровни описываются протоколами HLP.

Рис. 4. Логическая структура протокола CAN.

Существует множество таких высокоуровневых протоколов. Наиболее распространенные из них это:

  • DeviceNet
  • CAL/CANopen
  • SDS
  • CanKingdom

Физичекий уровень протокола CAN

Физический уровень (Physical Layer) протокола CAN определяет сопротивление кабеля, уровень электрических сигналов в сети и т.п. Существует несколько физических уровней протокола CAN (ISO 11898, ISO 11519, SAE J2411).

В подавляющем большинстве случаев используется физический уровень CAN определенный в стандарте ISO 11898. ISO 11898 в качестве среды передачи определяет двухпроводную дифференциальную линию с импедансом (терминаторы) 120 Ом (допускается колебание импеданса в пределах от 108 Ом до 132 Ом. Физический уровень CAN реализован в специальных чипах — CAN приемо-передатчиках (transceivers), которые преобразуют обычные TTL уровни сигналов используемых CAN-контроллерами в уровни сигналов на шине CAN. Наиболее распространенный CAN приемо-передатчик — Phillips 82C250, который полностью соответствует стандарту ISO 11898.

Махимальная скорость сети CAN в соответствие с протоколом равна 1 Mbit/sec. При скорости в 1 Mbit/sec максимальная длина кабеля равна примерно 40 метрам. Ограничение на длину кабеля связано с конечной скоростью света и механизмом побитового арбитража (во время арбитража все узлы сети должны получать текущий бит передачи одновременно, те сигнал должен успеть распространится по всему кабелю за единичный отсчет времени в сети. Соотношение между скоростью передачи и максимальной длиной кабеля приведено в таблице:

скорость передачи максимальная длина сети
1000 Кбит/сек 40 метров
500 Кбит/сек 100 метров
250 Кбит/сек 200 метров
125 Кбит/сек 500 метров
10 Кбит/сек 6 километров

Разъемы для сети CAN до сих пор НЕ СТАНДАРТИЗОВАНЫ. Каждый протокол высокого уровня обычно определяет свой тип разъемов для CAN-сети.

Источник: http://can.marathon.ru/page/can-protocols/canbus/canintro

Шина CAN в автомобиле

Can h can l что это?

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

Читайте также  Как покрасить датчики парковки своими руками?

Классификация шинных систем автомобиля

Шина CAN была при­знана стандартом с момента своего появления в серийно выпускаемых автомобилях в 1991 году. Но она также часто используется и в автоматизации. Основные особенности:

  • Передача сообщений с ранжированием при­оритетов и неразрушающим арбитражем;
  • Снижение затрат благодаря использо­ванию недорогой витой пары и простого протокола с невысокими требованиями к вычислительной мощности;
  • Скорость передачи данных до 1 Тбит/с у высокоскоростной шины CAN и до 125 Кбит/с у низкоскоростной шины CAN (бо­лее низкие расходы на аппаратную часть);
  • Высокая надежность передачи данных за счет распознавания и сигнализации спора­дических и постоянных неисправностей и благодаря унифицированию сетевых про­цессов через acknowledge;
  • Принцип много абонентской шины;
  • Высокая степень готовности за счет обна­ружения неисправных станций;
  • Стандартизация по ISO 11898.

Логические состояния шин и шифрование

Для обмена данными шина CAN использует два состояния «доминантное» и «рецессив­ное», с помощью которых передаются ин­формационные биты. Доминантное состояние соответствует «0», а рецессивное — «1». Для шифрования передачи используется процесс NRZ (без возврата на ноль), в котором нулевое состояние не всегда возвращается в промежу­ток между двумя одинаковыми состояниями передачи и, соответственно, необходимый для синхронизации временной интервал между двумя фронтами может оказаться слишком большим.

В основном используется двухпроводной кабель, в зависимости от окружающих усло­вий, с витой или не витой парой. Две шинные линии называются CAN-H и CAN-L (рис. «Уровень напряжения передачи по CAN» ).

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

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

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

Однопроводное решение не описывается в спецификации CAN.

Уровни напряжения шины CAN

Высокоскоростные и низкоскоростные шины CAN используют разные уровни напряжения для передачи доминантных и рецессивных состояний. Уровни напряжения низкоско­ростной шины CAN показаны на рис. а, «Уровень напряжения передачи по CAN», а высокоскоростной — на рис. Ь, «Уровень напряжения передачи по CAN».

Высокоскоростная шина CAN в рецессив­ном состоянии на обеих линиях использует номинальное напряжение 2,5 В. В доминант­ном состоянии на CAN-H и CAN-L подается номинальное напряжение 3,5 В и 1,5 В, со­ответственно. В низкоскоростной шине CAN в рецессивном состоянии на CAN-H подается напряжение 0 В (максимум 0,3 В), на CAN-L — 5 В (минимум 4,7 В). В доминантном состоя­нии на CAN-H напряжение составляет не ме­нее 3,6 В, а на CAN-L не более 1,4 В.

Предельные значения

Для арбитражного метода в случае CAN важно, чтобы все узлы в сети видели биты идентификатора фрейма одновременно, чтобы узел, передавая бит, видел, передают ли их другие узлы. Задержки возникают из-за распространения сигнала в шине данных и обработки в трансивере. Таким образом, максимально допустимая скорость передачи данных зависит от общей длины шины. Стан­дарт ISO предусматривает скорость 1 Мбит/с для 40 м. У более длинных проводов возмож­ная скорость передачи данных примерно об­ратно пропорциональна длине провода. Сети с дальностью 1 км могут работать со скоро­стью 40 кбит/с.

Конфигурация шины

CAN работает в соответствии с принципом многорежимного управления, при котором линейная структура шины подсоединяет не­сколько блоков управления равного приори­тета ранжирования.

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

Логические состояния шины CAN

Протокол CAN основывается на двух логиче­ских состояниях: биты информации являются или «рецессивными» (логическое состояние 1), или «доминантными» (логическое со­стояние 0). Когда, по крайней мере, одной из станций передается доминантный бит, тогда перезаписываются рецессивные биты, одновременно посылаемые ото всех других станций.

Назначение приоритетов

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

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

Каждая станция может начать передачу со­общения только после освобождения шины. Когда несколько станций начинают переда­вать сообщения одновременно, для разреше­ния создаваемых конфликтов доступа к шине используется арбитраж «wired-and» (монтаж­ное И). Сообщению с высшим приоритетом (наименьшим двоичным значением иденти­фикатора) присваивается право первого до­ступа, без задержек и потерь битов (рис. «Побитовый арбитраж» ). Передатчики реагируют на невозможность получения доступа к шине путем автомати­ческого переключения в режим приема; за­тем ими повторяется попытка передачи, как только шина снова освобождается.

Фрейм данных и формат сообщения Шина CAN поддерживает два разных фор­мата сообщений, различающихся только длиной идентификаторов. Стандартный формат включает 11 битов, в то время как расширенная версия состоит из 29 битов. Таким образом, рамка передачи данных со­держит максимум 130 битов стандартного или 150 битов расширенного формата. Это обеспечивает минимальное время ожидания до последующей передачи, которая может быть срочной. Фрейм данных состоит из семи последо­вательных полей (рис. «Фрейм данных» ). «Начало фрейма» показывает начало сообщения и синхронизирует все узлы.

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

Поле «контроля» содержит код, показываю­щий количество байтов данных в поле «данных».

Поле «данных» содержит от 0 до 8 байтов. Сообщение длиной 0 данных может быть ис­пользовано для синхронизации распредели­тельных процессов.

Поле «CRC» (периодический резервный контроль) содержит контрольную сумму для обнаружения возможных помех при пере­даче.

Поле «АСК» (уведомление) содержит сигналы подтверждения, с помощью которых получа­тели подтверждают доставку сообщений.

«Конец фрейма» обозначает конец со­общения.

Затем идет «межфреймовый промежу­ток», отделяющий фрейм от следующего фрейма.

Инициация передатчика

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

Источник: http://press.ocenin.ru/shiny-can-v-avtomobilyah/