И снова здравствуйте
Прощу совета для решения следующей задачи.
Есть желание работать с помощью Canny с шиной BMW I-bus
Из описания http://web.comhem.se/mulle2/IBUSInsideDRAFTREV5.pdf выяснил, что
Serial communications on the bus are 9600 bps, 8 data bits, Even parity, 1 stop bit
Очень похоже на LIN.
Но, не все так просто оказалось. Lin монитор при переборе конфигураций подключается и даже выдает какие-то данные.
При чем что-то есть в режиме 1.3 и скорости 10, и 2.0 и скорости 20. Если поставить режим 2.0 и скорость 10 — просто зависает, в режиме 1.3 скорость 20 ничего не видит.
Проблема в том, что показанное LIN монитором ничего не имеет общего с реальностью. Параллельно подключен заточенный под эту шину девайс — и там все есть.
Понятное дело, что никто не обещал работу с этой шиной. Но, раз лин монитор хоть что-то ловит — то может есть возможность настроить этот процесс?
Ведь по сути своей посылки и структура примитивные.
Буду очень признателен за советы, мнения.
Спасибо
- 2 Ответ от alex_engine 19-02-2017 13:11:55 (19-02-2017 13:56:12 отредактировано alex_engine)
- Re: i-bus и canny7
- 3 Ответ от Константин, CANNY 20-02-2017 17:12:27
- Re: i-bus и canny7
- 4 Ответ от alex_engine 22-02-2017 14:53:52 (22-02-2017 15:01:48 отредактировано alex_engine)
- Re: i-bus и canny7
- 5 Ответ от Константин, CANNY 22-02-2017 15:11:19
- Re: i-bus и canny7
- 6 Ответ от alex_engine 22-02-2017 16:00:25
- Re: i-bus и canny7
- 7 Ответ от Денис, CANNY 22-02-2017 19:11:31
- Re: i-bus и canny7
- Еще раз о диагностике CAN-шины
- 📽️ Видео
2 Ответ от alex_engine 19-02-2017 13:11:55 (19-02-2017 13:56:12 отредактировано alex_engine)
Re: i-bus и canny7
Почитав мануалы дальше, понимаю, что идея использовать лин монитор (и конфигуратор приема лин шины на диаграмме) для этой задачи изначально не корректная.
Но, учитывая универсальность платформы кэнни, может есть какой-то шанс создать «пользовательскую» настройку для работы с подобными однопроводными шинами? Ведь это и I-bus и K-bus и остальные подобные на бмв, мини, рейнж-роверах и может еще где-то.
Меня бы даже устроило следующее — просто прием с шины числовой последовательности кусками заданной величины по признаку. Скорость знаю, структуру посылки тоже.
К примеру, появилось в шине 0А, от него отсчитывается нужное количество бит, и передается для обработки в диаграмму. А там уже я придумаю как отделить зерна от плевел. Можно так?
Ну уж очень хочется реализовать несколько задумок на этой шине.
Спасибо
UPD Может мне попробовать через uart? Пните в нужном направлении, плиз
3 Ответ от Константин, CANNY 20-02-2017 17:12:27
Re: i-bus и canny7
Вы рассуждаете правильно. Для работы с I-Bus вам необходимо использовать драйвер UART. В CANNY7 принимаемые и передаваемые данные UART буферизируются по 32 байта. Вы можете в принципе обрабатывать пакеты любой длины в диаграмме кусками по 32 байта. Если вас интересуют только короткие пакеты, всё упрощается. По приему анализируйте лишь те пакеты, которые имеют необходимую вам длину и ID, проверяйте контрольную сумму и при совпадении обрабатывайте данные.
4 Ответ от alex_engine 22-02-2017 14:53:52 (22-02-2017 15:01:48 отредактировано alex_engine)
Re: i-bus и canny7
Спасибо. Кое-что начало получаться.
Можно ли как-то просмотреть принятое через uart? По аналогии с лин монитором?
Очень нужно видеть и понимать, что и как canny принял.
Экранчик цеплять и выводить в строку? Или можно как-то проще?
Еще вопрос как выделить ID? отдельного регистра такого не обнаружил. Брать нулевой байт?
5 Ответ от Константин, CANNY 22-02-2017 15:11:19
Читайте также: Летние шины с протектором елочка
Re: i-bus и canny7
Пересылайте во второй UART и смотрите на ПК при наличии RS-232 или USB-COM преобразователя через программу-терминал. Или отправляйте в CAN и при наличии второго CANNY7 или другого CAN-сниффера смотрите на ПК.
6 Ответ от alex_engine 22-02-2017 16:00:25
Re: i-bus и canny7
Видео:Подробно про CAN шинуСкачать
Прикрутил экранчик
В шине посылка ай-бас 50 04 68 31 11 1F
на экране
D1, D0 — 1104
D3, D2 — 12904
D4,D5 —- 7953
Пробую переводить калькулятором — чушь получается. Что не так, подскажите, плиз.
Вот такая диаграммка. Мне бы получить в понятном виде то, что отправил в шину. Пока не пойму что получаю
7 Ответ от Денис, CANNY 22-02-2017 19:11:31
Re: i-bus и canny7
В шине посылка ай-бас 50 04 68 31 11 1F
на экране
D1, D0 — 1104
D3, D2 — 12904
D4,D5 —- 7953
50 04 68 31 11 1F
D0 D1 D2 D3 D4 D5
D1:D0 = 1104 (dec) = 04 50 (hex)
D1 D0
D3:D2 = 12904 (dec) = 32 68 (hex).
D3 D2
D5:D4 = 7953 (dec) = 1F 11 (hex)
D5 D4
Все сходится, за исключением опечатки в байте D3.
Можно при выводе на экранчик попробовать применить конвертер «Число в строку (ITOA)», преобразующий значение в символьный вид по нужному основанию. В данном случае, для получения строки символов, отображающих значение в шестнадцатеричном формате, нужно применить основание 16.
Еще раз о диагностике CAN-шины
В предыдущей статье мы поговорили о проблемах в шине передачи данных CAN, возникших в результате износа аккумуляторной батареи и просадки питающего напряжения при запуске ниже порога работоспособности шины. Сегодня продолжим разговор о CAN-шине, но немного в другом ключе: прежде всего вспомним принцип ее работы, а затем рассмотрим один из случаев топологии шины и разберем осциллограмму дефекта.
Эта шина используется чаще всего как средство обмена данными в системах, для которых критично быстродействие и время принятия решения. Таковыми являются, например, система управления движением, объединяющая между собой блоки управления двигателем, автоматической трансмиссией, антиблокировочной системой тормозов, усилителем руля и т.п.
Конструктивно шина представляет собой неэкранированную витую пару. Провода шины называются CAN High и CAN Low.
Шина может находиться в двух состояниях:
- Рецессивное состояние, или логическая единица. Оба провода в этой ситуации имеют практически одинаковый потенциал: и на проводе CAN High, и на проводе CAN Low присутствует около 2 , 5 В. В рецессивном состоянии шина может находиться сколь угодно долго, хотя в реальности этого не происходит, ведь рецессивное состояние – это всего лишь пауза между сеансами передачи информации.
- Доминантное состояние, или логический ноль. В него шина переходит тогда, когда один из входящих в сеть блоков управления начинает передачу данных. Потенциалы на проводах шины меняются следующим образом: на проводе CAN High потенциал повышается на один вольт, на проводе CAN Low наоборот, становится на один вольт ниже.
Рассмотрим форму сигнала шины, чтобы обосновать ее помехоустойчивость:
На рисунке показаны доминантный и рецессивный уровни шины, а также воздействие на шину электромагнитной помехи. Особенностью обработки сигналов шины является то, что в расчет берется не сам уровень сигнала, а разница уровней между проводами CAN High и CAN Low. При рецессивном уровне эта разница близка к нулю, при доминантном уровне она максимальна.
Видео:Can Bus - что это такое ? Зачем нужен ? Как настроить ?Скачать
Читайте также: Шина can датчик давления авто
В витой паре провода располагаются очень близко друг к другу. Если возникает внешняя электромагнитная помеха X, то она является синфазной и наводит одинаковый всплеск напряжения в обоих проводах шины. В итоге на обоих проводах появляется наведенный помехой импульс, но разница потенциалов между проводами при этом не меняется. Это позволяет эффективно подавлять внешние помехи, что является большим преимуществом CAN-шины.
На самом деле витая пара – давно известный способ борьбы с помехами. В медицине, например, в кардиостимуляторах, где требуется высочайшая помехоустойчивость, она применяется очень широко.
Сигнал шины поступает в блок управления на дифференциальный усилитель и обрабатывается. Иллюстрация поясняет процесс обработки:
Большинство автопроизводителей придерживаются скорости передачи 500 кБд, соответственно, продолжительность одного бита при этом составит 2 мкс.
Поговорим о топологии CAN-шины. Физически у шины нет начала и нет конца, шина – это просто единая сеть. Чаще всего встречаются два типа топологии: линейная топология и топология «пассивная звезда», а также их сочетания.
На современных автомобилях шина CAN очень разветвленная. Чтобы не перегружать линию большим количеством передаваемых данных, шина может состоять из нескольких ветвей, объединенных межсетевым шлюзом, иначе называемым Gateway. В итоге сеть представляет собой несколько ответвлений, в том числе и на диагностический разъем, использующих разную скорость и протоколы обмена.
Поэтому топология шины – вопрос для диагноста очень актуальный и, к сожалению, довольно сложный. Из тех электрических схем, которыми располагает диагност, не всегда можно понять топологию. Но в документации некоторых автопроизводителей приводится полная и подробная информация, в этом случае задача сильно упрощается.
Не зная тонкостей организации шины, найти в ней неисправность бывает достаточно сложно. Например, при наличии окисления контактов в разъеме пропадает связь с целым рядом блоков управления. Наличие под рукой топологии шины позволяет легко находить подобные проблемы, а отсутствие приводит к большой потере времени.
Ну что ж, мы немного освежили в памяти теорию шины, теперь самое время перейти к практике.
Перед нами автомобиль Infinitit Q 50 , оснащенный весьма редким турбированным мотором VR 30 DDT объемом 3 . 0 л и мощностью 400 лошадиных сил. Но проблема заключается не в этом замечательном агрегате, а как раз в CAN-шине: подключив диагностический сканер, не удается установить связь с доброй половиной блоков управления.
Нам повезло – Nissan относится к тому узкому кругу производителей, которые дают диагностам качественную и полноценную информацию. В том числе есть в документации и подробная топология бортовой шины обмена данными. Открываем, смотрим:
Видео:CAN шина👏 Как это работаетСкачать
Следует сказать, что приведенная блок-схема достаточно общая. В документации имеется гораздо более подробная электрическая схема со всеми проводами и номерами контактов в блоках, но сейчас она нам пока что ни к чему, нам важно понять общую топологию.
Итак, первое, что нужно увидеть, это то, что вся сеть разделена на три большие ветви, обведенные пунктиром:
- CAN communication circuit 1 (Коммуникационная цепь CAN 1 );
- CAN communication circuit 2 (Коммуникационная цепь CAN 2 );
- Chassis communication circuit (Коммуникационная цепь шасси).
Первые две цепи связаны между собой посредством CAN gateway (найдите его на иллюстрации). Цепь шасси связана с цепью CAN 2 через блок управления шасси, который также играет роль своеобразного Gateway.
А теперь вновь обратимся к сканеру и посмотрим, какие из блоков управления не выходят на связь. Дилерский сканер предоставляет нам очень удобную функцию: на экран выводятся блоки каждой из цепей по отдельности, а цветом отображается возможность (зеленый) либо невозможность (красный) установить с ними связь. Вот блоки цепи CAN 1 :
Читайте также: Форд фиеста 2015 зимние шины
А это – блоки цепи CAN 2 . Как видно, связи с ними попросту нет:
Также нет связи с блоками цепи шасси, но это и понятно: эта цепь, согласно блок-схеме, подключена к цепи CAN 2 .
Ну что ж, задача почти решена, осталось лишь локализовать неисправность. А для этого воспользуемся мотортестером и снимем осциллограмму на проводах шины сначала в CAN 1 , а затем в CAN 2 и сравним их.
Сделать это очень несложно, ведь обе шины выведены прямо на диагностический разъем. Согласно более подробной схеме, о которой упоминалось выше, на контакты диагностической колодки 6 и 14 выведены провода CAN 1 , а на контакты 12 и 13 – провода CAN 2 .
Снимаем осциллограмму в цепи CAN 1 . Она имеет прямо-таки академический вид:
Давайте обмерим ее с помощью линеек.
- На проводе CAN High в рецессивном состоянии потенциал составил 2 , 26 В, на проводе CAN Low – 2 , 25 В.
- На проводе CAN High в доминантном состоянии потенциал составил 3 , 58 В, на проводе CAN Low – 1 , 41 В.
- Ширина импульса, соответствующего одной единице передаваемой информации, составляет 2 мкс (обведено красным прямоугольником).
Видео:Кан шина, что это? Поймет школьник! принцип работыСкачать
Просто идеальное соответствие теории и практики. Конечно, полосы пропускания нашего прибора явно недостаточно для корректного отображения сигнала, слишком уж широк его спектр. Однако, если закрыть на это глаза, то вполне можно оценить качество сигнала и сделать необходимые выводы.
А теперь делаем ту же операцию на контактах диагностической колодки 12 и 13 , чтобы получить осциллограмму сигнала CAN 2 . Вот она:
Для наглядности масштаб осциллограмм на обеих иллюстрациях один и тот же.
То, что вы видите на этой осциллограмме, называется «мусор». Часто диагносты так и говорят: блок мусорит в шину. Вот только как найти блок, который это делает? Методика здесь очень проста и сводится она к поочередному отключению блоков и повторному наблюдению за сигналом шины.
Где именно находится тот или иной блок на автомобиле, в документации, как правило, показано. Например, на этом «финике» блоки расположены так:
Но в нашем случае все проще. Кстати, маленький лайфхак, возьмите на заметку. В автомобилях Nissan и Infiniti чаще всего причиной наличия мусора в CAN-шине является блок ABS. Сняв разъем с блока, сразу получаем нормальный обмен и связь сканера со всеми блоками ветви CAN 2 :
Обратите внимание на то, что связь в цепи CAN 2 есть со всеми блоками, кроме блока ABS, ведь он отключен.
Завершая разговор, хотелось бы обратить ваше внимание еще на один важный нюанс. Частота следования импульсов по CAN-шине составляет 500 кГц. Поэтому при получении осциллограммы необходимо задействовать максимально возможную частоту дискретизации мотортестера, на какую только он способен.
Если частоту дискретизации вы зададите низкую, то импульсы на осциллограмме будут сильно искажены. В качестве примера посмотрите, как выглядит осциллограмма сигнала CAN-шины при специально сниженной частоте дискретизации прибора:
Красным прямоугольником обведено время, в которое укладывается одно деление сетки. Оно составляет 0 , 2 мс. А на осциллограмме, которую мы рассматривали ранее, это время было равно 5 мкс, поэтому отображение импульсов было более правильным. Имейте это ввиду и не допускайте ошибок!
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
источники:Видео:MCP2515, контроллер CAN шины с интерфейсом SPIСкачать
📽️ Видео
STM32 CAN шина. Часть 1. Настройка и странности HALСкачать
поиск нерабочей can шины, часть дваСкачать
лекция 403 CAN шина- введениеСкачать
Экспресс диагностика CAN шины на автомобиле. №21Скачать
Шина CAN. Часть 1. Разбираемся как работает CAN bus, разберем кадр данных до "костей".Скачать
Arduino CAN Monitor (простейший монитор шины CAN)Скачать
Что такое CAN шинаСкачать
Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать
Как проверить CAN шину Используем симулятор ElectudeСкачать
CAN блоки в магнитолах Android или CAN шина в автомобиле ВОПРОС/ОТВЕТСкачать
LIN шина - пример работы. LIN bus exampleСкачать
Блок управления, генератор, CAN или LIN шина либо АКБ? P0401, P0523, U1113, U1132, U0106 (Видео 90)Скачать