Анализ и измерения в шине CAN с использованием цифровых осциллографов LeCroy
Анализ и измерения в шине CAN с использованием цифровых осциллографов LeCroy
Применение устройств на основе протокола передачи CAN, уже давно вышло за рамки первоначальной идеи использования в автомобильной промышленности. В настоящее время эти устройства широко применяются в железнодорожном транспорте, лифтовом хозяйстве, системах сигнализации и многих других.
Применение устройств на основе протокола передачи CAN, уже давно вышло за рамки первоначальной идеи использования в автомобильной промышленности. В настоящее время эти устройства широко применяются в железнодорожном транспорте, лифтовом хозяйстве, системах сигнализации и многих других. Но, как и любая система, основанная на передаче электрического сигнала, система, построенная на основе CAN протокола, требует анализа физического сигнала передаваемого в среде распространения, декодирования передаваемого и принимаемого сигнала, поиска и анализа ошибок, проведения специфических для CAN шины измерений.
Потребность в такого типа средствах измерения возникает не только на стадии разработки CAN устройств или систем, но и при монтаже сложных CAN систем, техническом обслуживании систем уже находящихся в эксплуатации.
В качестве первичного устройства используемого для анализа протокола CAN, рациональнее всего использовать цифровой запоминающий осциллограф. Для этих целей компания LeCroy рекомендует использовать осциллографы серии WaveRunner – эти осциллографы обладают высокой частотой дискретизации (от 2,5 до 10 Гвыб\с), большой длинной внутренней памяти – до 8М, число каналов 2 или 4 (что достаточно как для наблюдения сигнала CAN, так и аналоговых сигналов), они построены на принципе «открытой платформы» и обладают широкими возможностями для документирования полученных результатов.
Подключение входа осциллографа к источнику сигнала CAN может осуществляться несколькими способами:
При анализе протокола CAN необходимо решить две задачи:
Синхронизация CAN обеспечивается специальным опционным модулем CAN- TDM, имеющем в своем комплекте кабели и аксессуары, необходимые для подключения к любому типу CAN шины и программным обеспечением осциллографа.
Декодирование сообщения CAN
Осуществляются специализированным программным обеспечением, интегрированным в оболочку цифрового запоминающего осциллографа и позволяет полностью идентифицировать информацию, содержащуюся в сообщении CAN, а именно:
При декодировании сигнала его отдельные составляющие выделяются разным цветом, а при необходимости возможно индицировать и дополнительные биты сообщения CAN, такие как – битстаффинг или бит подтверждения.
Так на рисунке 2 приведен пример декодированного сообщения CAN, на котором четко видны составные части сообщения CAN.
Синхронизация CAN
Синхронизация сигнала CAN может осуществляться по различным заданным условиям или без условия. Синхронизацию без условий, или режим «Все» обеспечивает синхронизацию любым сообщением CAN находящимся на шине в настоящий момент времени – в этом режиме осциллограф поочередно отображает все сообщения CAN. Это удобно при оценке нагрузки на шине CAN или поиске ошибок. Длинная память осциллографов LeCroy (а это как уже упоминалось до 8 М), позволяет одновременно зафиксировать на экране осциллографа несколько сотен сообщений CAN. Естественно, для того чтобы разглядеть отдельное сообщение CAN в этом потоке, необходимо воспользоваться растяжкой осциллографа. Так на рис 3. приведен пример захвата около 500 сообщений CAN. На верхней осциллограмме изображен поток сообщений CAN, на нижней осциллограмме применена растяжка, на которой видно декодированное сообщение. Так же на рисунке 3, на верхней осциллограмме видно, что при обнаружении в потоке сообщений содержащих ошибки, эти сообщения выделяются красным цветом и помечаются флагом « Error».
Так на рисунке 4 приведен пример отображения обнаруженной ошибки формы.
Синхронизация CAN может так же осуществляться по различным условиям, это:
Такая реализация синхронизации CAN, позволяет из всего потока сообщений CAN фиксировать только те, которые представляют интерес для конкретной задачи анализа, например имеющие определенный ID или содержащие данные необходимы для фиксации. Например, в автомобиле необходимо анализировать только сообщения передаваемые датчиком температуры масла двигателя и когда температура превысила определенный установленный порог. Или, например, в координатном фрезерном станке необходимо фиксировать только сообщения, передаваемые определенным датчиком положения. Так на рисунке 5 приведен пример выделения из потока CAN сообщений только с x7 cf.
При последовательной синхронизации, поскольку запуск развертки «приостанавливается», существует опасность потери информации о времени между сообщениями CAN, особенно если это время очень большое. Но схема синхронизации осциллографов LeCroy построена по такому принципу, что при последовательной развертке, время между сегментами фиксируется в памяти осциллографа и что в последствии позволяет рассчитать частоту следования сообщений. Так на рисунке 6 отображено окно времени между запусками развертки для сообщений, зафиксированных на рисунке 6. Из рисунка 7 видно, что сообщения с следуют не равномерно и время между первыми 10 сообщениями составляет от 482 мс до 9,98 с.
Обнаружение и анализ ошибок
Программное обеспечение CAN- bus осциллографа LeCroy позволяет не только обнаруживать ошибки, как было показано на рисунке 3 и 4, но анализировать типы обнаруженных ошибок. Так представляется возможным определять следующие типа ошибок:
Кадр, содержащий ошибку выделяется красным цветом, а тип обнаруженной ошибки индицируется в верхней части кадра. Так на рисунке 8 приведен пример ошибки контрольной суммы.
Пользовательский интерфейс анализатора шины CAN построен таким образом, что перемещение от зафиксированной ошибки к другой ошибке осуществляется нажатием всего на одну кнопку «Следующая ошибка», расположенную в поле управления растяжкой сообщения CAN, что существенно облегчает просмотр всей последовательности ошибок
Измерения на шине CAN
Очевидно, что без функций измерения различных параметров сигналов передаваемых по шине CAN, процесс анализа шины CAN был бы не полным. Помимо измерения традиционных параметров сигнала, присущих большинству цифровых осциллографов, таких как частота, период, длительность, время нарастания или спада, время между фронтами двух независимых сигналов, пиковое значение сигнала, минимальное или максимальное сигнала и многие другие. Осциллографы LeCroy имеют специфические функции измерения временных параметров, используемые только в режиме анализа шины CAN. Это следующие режимы измерения:
Так на рисунке 9 приведен пример сигнала CAN и одновременного измерения (с лева на право):
Так же при анализе сообщений CAN доступны вертикальные и горизонтальные курсорные измерения в режиме абсолютных или дельта измерений.
Автор: Дедюхин А.А. Дата публикации: 01.09.2005
У нас представлены товары лучших производителей
ПРИСТ предлагает оптимальные решения измерительных задач.
У нас вы можете купить осциллограф, источник питания, генератор сигналов, анализатор спектра, калибратор, мультиметр, токовые клещи, поверить средства измерения или откалибровать их. Также мы поставляем паяльно-ремонтное оборудование, антистатический инструмент, промышленную мебель. Мы имеем прямые контракты с крупнейшими мировыми производителями измерительного оборудования, благодаря этому можем подобрать то оборудование, которое решит Ваши задачи. Имея большой опыт, мы можем рекомендовать продукцию следующих торговых марок:
Почему когда задается вопрос по CAN … то ответ начинается всегда :-« КАН- шина это…»….
Да не о шине вопрос, вопрос о системе.
Впервые идея CAN была предложена в середине 80-х немецкой компанией Robert Bosch, которая задумывала ее в качестве экономичного средства для объединения контроллеров, расположенных внутри автомобиля. Традиционный способ связи распределенных по объекту контроллеров жгутами проводов по своей технической сложности, по ценовым и по весовым параметрам для столь массового изделия, коим является автомобиль, оказался непригоден. Требовалось альтернативное решение, сокращающее количество проводов, поэтому был предложен протокол CAN, для которого достаточно любой проводной пары.
Поэтому начнем с определения:
В нашем случае, объектом управления является автомобиль, фото 1:
— Обмен данными идет дискретными сообщениями. Формат этих сообщений строго определен. Каждое сообщение несет в себе информацию только об одном параметре (скорость, скорость вращения КВ, температура ОЖ и пр.) Вот эта часть сообщения называется типом сообщения. И каждому сообщению присваивается идентификатор типа. И есть еще «хвостик» в конце сообщения из двух бит, который служит для проверки правильности переданного/принятого сообщения. Это избыточный код. Информации он не несет никакой, но если сообщение будет искажено, то это станет сразу очевидным. И такое сообщение не будет принято как достоверное. Другими словами – это контрольная сумма.
— При построении CAN априорно предполагается, что количество блоков управления включенных в нее относительно невелико. Следовательно, и количество типов различных сообщений невелико. И ограничение на количество блоков управления и типов сообщений накладывает сам объект управления. Все зависит от его технологической сложности. В нашем случае мы имеем всего лишь простой автомобиль.
А если это так, то возможно построить безадресную и абсолютно децентрализованную систему.
Сторонники анархии могут успокоиться …-)), ничего похожего на анархию в системе CAN не может быть. И конфликтов нет – все разрешается быстро, спокойно и просто. Дисциплина в системе жесткая. Протоколом установлены четыре вида служебных сообщений, называемых фреймами:
В шине CAN биты 0 и 1 имеют ещё одно название: рецессивный уровень и доминантный уровень, соответственно. Если двумя разными передатчиками будет одновременно передан рецессивный и доминантный уровни, то доминантный уровень подавит рецессивный. Вот на этом построен арбитраж на шине. Каждый передатчик одновременно считывает то, что он предаёт в шину. Передатчик с более низким приоритетом вынужден «отпустить шину», так как чужой доминантный уровень с более высоким приоритетом исказил его передачу. В то же время, сообщение с более высоким уровнем остается неизменным. Передатчик, «отпустивший шину», может повторить попытку через некоторое время
Это вам не в очереди за медицинскими полюсами… где возле одной двери сошлись Герой Соцтруда, Ветеран Куликовской битвы и Мать Героиня на сносях.
А вот теперь цитата с форума, а вы попробуйте определить, что в ней неверно. Основные принципы построения и назначение системы описано выше. «Наверное и CAN- шина заходит в комбинацию. Для работы стрелки спидометра. Информация о скорости идет по CAN-шине от блока ABS. Хотя та же шина заходит в ЕСМ, но информацию о скорости авто ЕСМ получает от блока ABS через комбинацию. Автор не проследил сигнал на этой цепи. А надо было. Блок ABS, наверное, фирмы Бош?Да ладно, съели давно уже это.»
Если блоки управления включены в систему обмена данных, возможна ли ситуация, когда информация получается через кого-то (через панель). А ЕСМ, включенный, в эту же шину сигнала этого не видит? НЕТ.
Просто нужно учитывать особенность: коды ошибок, считанные с системы управления двигателем, АКПП и пр., могут оказаться не доминирующими, поскольку обмен информацией и получение информации идет по системе обмена данными. А в ней есть тоже чему ломаться.
Что сбивает с толку, и что пугает некоторых диагностов, и не только начинающих.
К чему привыкли? А привыкли к тому, что вся информация, и весь обмен ею был адресный.Сигнал от датчика, разъем … пин №… далее на промежуточный разъем, пин №…. Далее красным проводом на пин № блока управления. И все это можно проверить хоть осциллографом, хоть мультиметром. А главное те, кто имел навыки по работе или работал автоэлектриком, или просто знает порядок поиска неисправностей в обычных цепях, сейчас оказался в « позе глубочайшей задумчивости». Мало того, что не все понятно, но и способы проверки не подходят.
Предлагаемые же способы, в том числе и производителем, скудны. И порой не приводят к желаемому результату. И в большинстве случаев диагност стоит перед выбором: « заказать целиком узел или блок, или продолжить поиск». Как бы все проверил, и как бы все нормально. И шел по шагам как в программе, а уверенности нет… А блок стоит не пятак. А если клиент его купит, а неисправность останется, что тогда?
Вот такая ситуация была с Лексусом. Диагност приговорил и блок, и рулевую рейку с датчиком. А клиент «притаранил» это все. И через несколько часов стало понятно, что не тот «бобик сдох». Выход?
Понятно, что клиент сейчас взвоет, и взвоет на полную стоимость. Хотя приобрел это все за полцены у официалов. Я никакой тайны не раскрыл, просто озвучил реальную ситуацию. Те, кто занимается ТО новых авто, как раз этим занимаются тоже. Это не считается кражей, это не скупка краденного… это называется очень толерантно: «купить деталь, по цене ниже, чем у производителя». Но суть не в этом. Машину нужно вернуть в исправном состоянии владельцу. Тогда будут и волки сыты и овцы целы. «Корпоративность» нашему брату, как и специалистам других профессий, не чужда. Многие сотрудничают между собой и помогают друг другу в подобных ситуациях. Клиент же об участии в ремонте «третьей стороны» просто не ставится в известность. Знаете, почему диагност приговорил и блок и рейку. Потому, что… хрен его знает, может это, а может это. А «цепи» он проверил. Проверил и ошибся. И неисправность пропустил, просто ерундовую, на коннекторе. Потому что проверял согласно методики… мультиметром, в режиме измерения сопротивлений.
Давайте немного подробнее, о самом простом, о витой паре. Фото 2:
Скрин сделан с Мотордаты. Хотя без разницы, можно и любой иноземный мануал взять, результат будет тот же. Все неисправности в CAN сведены к трем возможным:
— неисправность блока; — неисправность проводки (шины); — наведенные помехи в шине данных.
Способы проверки просты. Дается вот такая, или наподобие картинка, фото 3:
И предлагается выполнить осциллографирование… или использовать тот же омметр.
А у нас же у каждого есть осциллограф! И осциллограмма какая-никакая есть для сравнения. Ну – ну… Именно так, чтобы не затевать дискуссий скажет тот, кто знает что такое осциллограф, тот, кто изучал этот прибор и работал с ним. И на этих людей слабо действуют рекламные трюки: «простой в использовании, интуитивно понятный интерфейс…» Их больше интересуют возможности прибора. А что касается наших осциллографов, которыми мы работаем, так они «кастрированы» по сигналы системы управления. Могут выполнять отдельные функции мотортестера. Все. Так что сравнивать и анализировать сигнал подобным прибором…
А теперь я дам другой скрин, и посмотрим где удобнее, фото 6:
Пайка на витой паре, насколько мне известно, не приветствуется. В случае ее повреждения, соединение восстанавливают с помощью вот таких клипс, фото 7:
А придет время, и CAN будет тестироваться со сканера, обычно и привычно .
Был вопрос в теме http://forum.autodata.ru/264/23671/all.htm а бывают ли цифровые датчики? Бывают… будь они неладны. Фото 8:
Вот он, красавец. Включен прямо в шину данных. А это значит что он цифровой. Потому что любая импульсная последовательность, если попадет в шину данных, подавит там обмен информацией сразу. А этот датчик формирует сообщение такого же формата, как описано в самом начале. И проверить его можно, несмотря на то, что он цифровой.
Если взять ось времени и над нею изобразить аналоговый, изменяющийся во времени сигнал, то в любой момент времени значения этого сигнала будут различны. И их будет множество.
Если над осью времени изобразить цифровой сигнал то мы в различные моменты времени будем видеть либо уровень логического ноля, либо единицы, либо переход из одного состояния в другое.
А внешняя схожесть в чем-то может быть, но это ничего не означает. И суть совершенно в другом. Вольное трактование меняет не «терминологию», как многие считают. А искажает саму основу и возможность понимания процесса и сути.. Это разные вещи.
И еще что хотелось бы отметить:- жаргон технический или то, что многие используют при объяснении или общении… Это тоже не терминология. Это … короче смотрим, фото 9:
Мировой шедевр. Сальвадор Дали. Называется картина:«Сон, навеянный полетом пчелы вокруг граната за миг до пробуждения.» Это сюрреализм. Я в нем полный ноль. Поэтому потратил время, пока нашел пчелу, летающую над гранатом. Это все, что я смог. Оценивать картину я просто не могу, а сказать, что на ней изображено, и объяснить смысл, тем более.
А теперь реализм, фото 10:
Но есть еще и «помощники», которые помогают достичь определенной стадии невежества. Это торговцы информацией. Есть и доморощенные, есть и от официалов. Ну вот например, фото 12:
Все легко! А главное:«ничего не бойся». Есть еще видеокурс. Там подороже 300$, но принцип тот же: «легко! И ничего не бойся». Расчет на тех, кто ищет «ногу, на которую нужно встать» и решить разом все проблемы. А раз есть спрос, есть предложение. Рынок, однако.
От официалов продавцы опаснее. Их продукция привлекает внешним видом, простотой пояснения, и на первый взгляд кажется, что именно сама суть изложена, и ничего лишнего.
Вот так, сначала известная всем эмблема автопроизводителя. Затем картинки. Минимум текста, море, яхта природа… Воспринимается «на ура». Но картинками все не пояснишь, надо что-то писать… И вот как начали писать, так сразу и видно стало. Оказывается, датчик-то цифровой. Вот так. Век живи, век учись. Или так: «хочешь научиться- фильтруй информацию». Где не понимаешь, спрашивай у тех, кто может объяснить.
И крупным планом финал, фото 15:
Вот сколько всплыло всего в обыкновенной теме. А началось-то все с простого кода Р0500. Да, совсем забыл. Шин, где используется оптоволокно, вообще не нужно боятся. Их проверить очень легко. Для этого нужно иметь всего лишь источник света. Все шины сходятся в общую, соединение параллельное. Поэтому подсветив любую шину вы увидите свет на других, а там где он не проходит – шина повреждена.
И как оказалось впоследствии, шина данных CAN действительно имела множество преимуществ перед обычными жгутами проводов, причислим некоторые:
Раньше об этом понятии задумывались мало или вообще не задумывались. Потому что автомобилям хватало небольшого пучка проводов и пару-тройку устройств для нормальной работы двигателя внутреннего сгорания.
Однако технический прогресс идет вперед, вопросы экологии, безопасности дорожного движения и водителя, как участника этого движения, выходят на первое место, что приводит к постоянному увеличению количества электронных устройств на автомобиле.
Что такое «Электромагнитная совместимость на автомобиле»?
Это способность одновременного и стабильного функционирования множества различных электронных устройств на автомобиле без создания электромагнитных помех друг другу .
Шина CAN как раз отвечает этим важным требованиям.
Более конкретно об этом вопросе чуть позже.
Уменьшение количества кабельных соединений
Сначала немного о том, что же такое эта шина и как она выглядит:
Шина данных CAN – это обычная «витая пара», вот как на фото справа. Это специально скрученный двухжильный провод.
К этой витой паре подключены различные блоки управления – их называют «пользователи». Передача данных идет одновременно по двум проводам этой «витой пары». Важно знать, что логические уровни шины имеют зеркальное отображение: если по одному проводу передается уровень логического «нуля», то по другому проводу одновременно передается уровень логической «единицы».
Почему используется двухпроводная схема передачи данных:
Предположим, что пик напряжения возникнет только на одном проводе (например, вследствии проблем по электромагнитной совместимости) .
И тогда блоки-приёмники могут идентифицировать это как ошибку и проигнорировать данный пик напряжения.
Если же произойдет короткое замыкание или обрыв одного из двух проводов, то благодаря интегрированной программно-аппаратной концепции надёжности произойдёт переключение в режим работы по однопроводной схеме, и повреждённая передающая линия использоваться не будет.
Так вот, продолжим о «уменьшении количества соединений между устройствами шины CAN»:
Пакет данных шины CAN
А сейчас давайте посмотрим, что представляет из себя «пакет данных» шины CAN. Он состоит из семи последовательных полей (отрезков).
На приведенном внизу рисунке показано восемь полей, последнее Intermission – « Пауза между пакетами данных» и оно не входит в Data Frame :
Цифры в каждом поле показывают количество битов, используемых в каждом сообщении (пакете данных).
Описание полей пакета данных Start of Frame
Маркирует начало сообщения (стартов, бит) и синхронизирует все модули шины.
Это поле состоит из идентификатора адреса в 11 бит и 1 контрольного бита и запрос (Remote Transmission Request-Bit).
Этот контрольный бит маркирует пакет как Data Frame (фрейм сообщения) или как Remote Frame (фрейм запроса) без байтов данных.
Control Field (управл. биты)
Поле данных может содержать от 0 до 8 байт данных. Сообщение по шине данных CAN длиной 0 байт используется для синхронизации распределённых процессов
CRC Field (контрольное поле)
Поле CRC (Cyclic-Redundancy-Check Field) содержит 16 бит и служит для контрольного распознавания ошибок при передаче данных.
АСК Field (подтверждение приема)
End of Frame (конец фрейма)
Маркирует конец пакета данных
Интервал между двумя пакетами данных. Интервал должен составлять не менее 3 битов. После этого любой блок управления может передавать следующий пакет данных.
Если ни один блок управления не передаёт сообщений, то шина данных CAN остается в режиме покоя до передачи следующего пакета данных.
Прием и передача данных
На приведенном выше рисунке слово Dashboard можно заменить на привычное (разговорное и чаще применяемое) «Шлюз».
К примеру на некоторых автомобилях, шлюзом между быстрой и медленной шиной является панель приборов (Ауди,Фольксваген), у Мерседеса функции шлюза выполняет EZS (замок зажигания), хотя сама панель работает в двух сетях, для отображения как салонной, так и моторной информации.
На следующих поколениях автомобилей с 2002 года начали использовать отдельный блок ZGW (центральный интерфейс), который выполняет функции шлюза, хранит кодировки комплектации авто и через него работает диагностика по CAN шине (именно по «чистому» CAN – без к-линий).
Шины данных CAN существуют с различными скоростями передачи данных и их иногда называют «быстрая шина» (High-Speed-CAN ) и «медленная шина» (Low- Speed-CAN).
Например, High-Speed-CAN – это шина двигателя, АКПП и т.п., имеет скорость передачи данных 500 Кбит
Порядок и формат передачи и приёма сообщений пользователями определён в протоколе обмена данных.
Существенным отличительным признаком шины данных CAN по сравнению с другими шинными системами, базирующимися на принципе абонентской адресации, является соотнесённая с сообщением адресация.
Блок-приёмник обрабатывает только те сообщения (пакеты данных), которые сохранены в его списке принимаемых по шине данных CAN сообщений (контроль назначения сообщения).
Пакеты данных могут передаваться только в том случае, если шина данных CAN свободна (то есть, если после передачи последнего пакета данных последовал интервал в 3 бита, и никакой из блоков управления не начинает передавать сообщение). При этом логический уровень шины данных является рецессивным (логическая «1»)
Шина данных CAN: РАСШИРЕННЫЕ ВОЗМОЖНОСТИпроведения Диагностики
Так как сигналы с одного датчика (например, датчика температуры, датчика скорости и др.), может использоваться различными системами, то в том случае, если наличие неисправности отображают все использующие данный сигнал системы, неисправным является, как правило, датчик или блок управления, обрабатывающий его сигналы.
Если же сообщение о неисправности поступает только от одной системы, хотя данный сигнал используется и другими системами, то причина неисправности, в большинстве случаев, заключается в обрабатывающем этот сигнал блоке управления или сервомеханизме
Высокий уровень защиты передаваемых данных
Высокий уровень защиты передаваемых данных беспечивается даже при сильных помехах.
При этом обеспечивается высокая скорость передачи данных (до 1 Mbit/s)
За счет чего это достигается:
Помехи при передаче данных могут приводить к возникновению ошибок. Такие ошибки при передаче данных надо распознавать и устранять. Протокол шины данных CAN различает два уровня распознавания ошибок:
на основе передаваемого по шине данных CAN сообщения модуль-передатчик рассчитывает контрольные биты, которые передаются вместе с пакетом данных в поле «CRC Field». Модуль-приёмник заново вычисляет эти контрольные биты на основе принятого по шине данных CAN сообщения и сравнивает их с контрольными битами, полученными вместе с этим сообщением.
Этот механизм проверяет структуру передаваемого фрейма, то есть перепроверяются битовые поля с заданным фиксированным форматом и длина фрейма.
Распознанные функцией Frame Check ошибки обозначаются как ошибки формата.
Механизмы на уровне битов
Каждый модуль при передаче сообщения отслеживает логический уровень шины данных CAN и на основе этого распознаёт различия между переданным и принятым битом. Благодаря этому обеспечивается надёжное распознавание глобальных и возникающих в блоке-передатчике локальных ошибок по битам.
В каждом пакете данных между полем «Start of Frame» и концом поля «CRC Field» должно быть не более 5 последовательных битов с одинаковой полярностью. После каждой последовательности из 5 одинаковых битов блок-передатчик добавляет в поток битов один бит с противоположной полярностью. Блоки- приёмники, в свою очередь, удаляют эти биты после приёма сообщения по шине данных CAN.
Механизм устранения ошибок
Если какой-либо модуль шины данных CAN распознаёт ошибку, то он прерывает текущий процесс передачи данных, отправляя сообщение об ошибке. Сообщение об ошибке состоит из 6 доминантных битов.
Благодаря этому сообщению об ошибке все подключённые к шине данных CAN блоки управления оповещаются о возникшей локальной ошибке и, соответственно, игнорируют переданное сообщение.
После короткой паузы все блоки управления снова смогут передавать сообщения по шине данных CAN, причём первым опять будет отправлено сообщение с наивысшим приоритетом (мотор, АКПП и т.п.).
ПРИОРИТЕТЫ шины данных CAN
Если несколько блоков управления одновременно начинают передавать сообщения, то вступает в силу « принцип приоритетности», согласно которому сообщение по шине данных CAN с наивысшим приоритетом будет передаваться первым без потери времени или битов (арбитраж доступа к шине данных) .
Каждый блок управления, утрачивающий право арбитража, автоматически переключается на приём и повторяет свою попытку отправить сообщение только после того, как шина данных CAN снова освободится.
Кроме пакетов данных существует также пакет запроса определённого сообщения по шине данных CAN. В этом случае блок управления, который может предоставить запрашиваемый пакет данных, реагирует на изданный запрос.
Для обработки данных в режиме реального времени должна быть обеспечена возможность их быстрой передачи. Это предполагает не только наличие линии с высокой физической скоростью передачи данных, но и требует также оперативного предоставления доступа к шине данных CAN, если нескольким блокам управления необходимо одновременно передать сообщения.
Если доминантный бит передаётся как минимум одним модулем шины, то рецессивные биты, передаваемые другими модулями, перезаписываются.
Для примера: Когда несколько блоков управления начинают одновременную передачу данных, то конфликт доступа к шине данных разрешается посредством «побитового арбитража запросов общего ресурса» с помощью соответствующих идентификаторов.
При передаче «поля идентификатора» блок-передатчик после каждого бита проверяет, обладает ли он ещё правом передачи, или уже другой блок управления передаёт по шине данных CAN сообщение с более высоким приоритетом. Если передаваемый первым блоком-передатчиком рецессивный бит перезаписывается доминантным битом другого блока- передатчика, то первый блок-передатчик утрачивает своё право передачи (арбитраж) и становится блоком-приёмником.
Первый блок управления (N 1) утрачивает арбитраж с 3-го бита.
Третий блок управления (N 3) утрачивает арбитраж с 7-го бита.
Второй блок управления (N 2) сохраняет право доступа к шине данных CAN и может передавать свое сообщение.
Другие блоки управления могут передавать свои сообщения по шине данных CAN только после того, как она освободится.
При этом право передачи опять будет предоставляться в соответствии с приоритетностью сообщения по шине данных CAN.
То есть, при использовании этого принципа «приоритетности», на шине данных CAN не должно происходить конфликта, если одновременно несколько устройств выставили различные логические уровни.
Виды существующих шин
(на примере VW, Audi, Opel, Mercedes)
Шина CAN силового агрегата (быстрая шина), позволяющая передавать информацию со скоростью 500 кбит/с. Она служит для связи между блоками управления на линии двигателя и трансмиссии.
Шина CAN системы «Комфорт» (медленная шина), позволяющая передавать информацию со скоростью 100 кбит/с. Она служит для связи между блоками управления, входящими в систему «Комфорт».
Шина CAN-D – диагностическая шина (используется для диагностики).
В автомобилях, имеющих диагностику по CAN шине, в качестве шлюза всех трёх шин установлен блок ZGW (центральный интерфейс). Это на более современных Мерседесах с 2002 года выпуска.
Цветовая маркировка шин на Mercedes
«Быстрая» шина силового агрегата (500 кб/сек) – зелёный и зелёный с белой полосой.
На рисунках в различного рода руководствах и справочниках, провода шин CAN, для наглядности, могут быть обозначены приблизительно таким образом:
Общими для всех систем является следующее:
Области применения шины данных CAN
(применительно к Mercedes)
Для моторного отсека и салона применяются различные шинные системы CAN, которые отличаются друг от друга скоростью передачи данных.
Обмен данными между обеими шинными системами осуществляется через так называемые «межсетевые шлюзы», т.е. блоки управления, подключенные к обеим шинам данных.
CAN-C (шина данных CAN моторного отсека)
В оконечном блоке управления с каждой стороны установлен так называемый согласующий резистор шины данных с сопротивлением 120 Ком, подключённый между обеими проводами шины данных.
Шина данных CAN моторного отсека активирована только при включенном зажигании.
CAN-B (шина данных CAN салона)
Некоторые блоки управления, подключённые к шине данных CAN салона, активируются независимо от включения зажигания (например, система центральной блокировки).
Поэтому шина данных салона должна находиться в режиме функциональной готовности даже при выключенном зажигании (то есть, возможность передачи пакетов данных должна быть обеспечена и при выключенном зажигании).
Для максимально возможного снижения энергопотребления в состоянии покоя шина данных CAN переходит в режим «пассивного ожидания» при отсутствии передаваемых пакетов данных и активируется снова только при последующем доступе к ней.
Если в режиме «пассивного ожидания» шины данных CAN салона какой-либо блок управления (например, потолочная блок-панель управления (N70) передаёт сообщение по шине данных CAN, то его принимает только ведущий системный модуль (например, блок управления EZS (N73)
Соответствующий ведущий блок управления сохраняет это сообщение в памяти и посылает сигнал активации («Wake-up») на все блоки управления, подключённые к шине данных CAN салона.
При выполнении активации блок управления (N73) проверяет наличие всех абонентов шины данных CAN, после чего передаёт сохранённое ранее в памяти сообщение.
Топология шины CAN
Схема соединения шины CAN называется «топологией».
Или: «набор определенных правил, по которым к шине подключаются различные устройства».
Она зависит от модели конкретного автомобиля и Производителя.
Например, звездообразная топология запатентованная фирмой Daimler-Benz. Эта топология позволяет уменьшить резонансные проблемы в линии.
Наиболее широкое распространение получили два типа приемоперадатчиков (трансиверов):
Трансиверы, выполненные в соответствии со стандартом
«High-Speed» (ISO11898-2), наиболее просты, дешевы и дают возможность передавать данные со скоростью до 1 Мбит/c.
«Fault-Tolerant» приемопередатчики (не чувствительные к повреждениям на шине) позволяют построить высоконадежную малопотребляющую сеть со скоростями передачи данных не выше 125 кбит/c.
Теперь, когда мы немного ознакомились с понятием «шина данных CAN», можно коротко рассказать о том, как проводилась практическая работа по обнаружению и устранению неисправности шины данных CAN на автомобиле Mercedes ML350 рейстанлинговой модели.
Этот автомобиль попал в Россию из Америки, был привезен на продажу, дефект оказался непонятным и «плавающим»: «автомобиль может 15-20 минут работать нормально, а потом на панели загорается значок BAS ESP и отключается вся шина данных» .
Эти практические занятия проводились по учебному плану «Мастер-класс Mercedes» в компании BrainStorm, занятия проводил Дереновский Максим Васильевич (на фото вверху он слева: снимает разъем моторного блока) .
До этого момента автомобиль уже пытались ремонтировать в другой мастерской. Там поменяли «по показаниям» (?) блок BAS ESP, что не помогло устранить неисправность.
Тогда им посоветовали «прокинуть» два провода шины CAN минуя крыло автомобиля.
(Эта неисправность – гниение проводов на этом крыле и выход их из строя, является конструктивно-технологической недоработкой фирмы).
Тоже не помогло. И тогда автомобиль был доставлен на эти практические занятия с целью найти и устранить неисправность.
Для поиска неисправности применили два рекомендуемых метода:
Проверка по сопротивлениям
Шина представляет собой два провода витой пары.
Образно: «имеет начало и конец», которыми являются какие-либо два блока. В этих конечных блоках находятся согласующие сопротивления («терминаторы»,- разг.), номиналом 120 Ом.
Подключенные в параллель блоки мультиметром (по сопротивлению) не контролируются.
В ML350 один из конечных блоков будет моторный, второй, в зависимости от года выпуска, вероятнее всего AAM, EAM или EZS.
Определение КЗ (короткого замыкания) в шине данных CAN – определенно сложная задача. Как можно поступить:
Одним из обучаемых было предложено начать проверку с отключения стеклоподъемников: «Он же на CAN «висит».
Неправильно. Стеклоподъемники «висят» на «медленной» шине и даже «если сильно захотят», все-равно «не положат «быструю» шину».
Начали отключать другие блоки по «быстрой» шине. Их достаточно много…
На блоке EGS (управление коробкой) , расположеный справа в ногах у водителя, было, как обычно, обнаружено масло.
Именно масло иногда является причиной неисправности этого блока.
Эта ошибка конструктивная: некачественные уплотнения жгута проводов к соленоидам в коробке АКПП. По жгуту оно и поднимается в электронный блок.
Блок ААМ – тоже оказался исправным.
Кстати, если уж заговорили о нем:
Но сама шина такой «слёт» не вызовет. Максимум сигнал разрешения запуска от блока ААМ не дойдёт до моторного и не будет включен даже стартер.
Отключение блоков тоже ничего не дало.
Проверили номера блока, которого заменили – все нормально, хотя тут тоже может быть путаница, так как существуют три варианта спецификаций для заказа:
— номер фирмы Mercedes
Это достаточно важный момент, который нельзя упускать при проведении Диагностики.
Что такое «кодировки» для автомобиля:
Если просто, то это «единый язык, на котором блоки управления могут «разговаривать» между собой.
И так как автомобиль пришел из другой мастерской, а нам вообще неизвестна его история «жизни и ремонта», то проверять пришлось все кодировки.
И узнали, что в приборном щитке было прописано, что «BAS не интегрирован в ESP» .
Сделали наоборот – «BAS интегрирован в ESP», перезапустили систему управления и ошибка С1020 перестала появляться.
Какой можно сделать вывод : причиной неисправности С1020 на данном автомобиле явилась неправильно закодированная комплектация автомобиля.
Однако не стоит считать, что «ошибка по CAN» является простой и её можно быстро найти и быстро устранить.
Как говорят специалисты: «Это «головняк» и разобраться с ним можно только при отличном знании «психологии Mercedes».
Это на бумаге и в этой статье вся работа по определению неисправности уложилась в несколько строчек.