Давно обещанная тема про логирование
Давно обещанная тема про логирование
Привет всем, кто терпеливо ждал открытия сией песочницы.
Как то пару месяцев назад некоторым людям обещал рассказать про то, как разбиратся в процессах происходящих на том одном странном проводе, который соединяет иммо с моторным блоком. наверное пора начинать излагать суть сего процесса. Поскольку рассказ будет долгим, буду по мере свободного времени постепенно излагать суть.
Итак. Первое.
1
Теория. Что же там происходит?
Наверное тут стоит почитать разные документы про протоколы передачи данных по одному проводу.
Например:
http://en.wikipedia.org/wiki/Asynchronous_communication
Непомешает также разобратся и с http://en.wikipedia.org/wiki/Local_Interconnect_Network который широко применяется в разных автомобильных локальных коммуникациях между блоками.
Также непомешает изучить что такое baud rate, parity, start и stop биты.
Если лень это всё читать, то можно забить на это всё, и постаратся хотя бы понять то, что на этой картинке:
Суть в том, что уровни сигналов бывают разными, также как и полярность. Также иногда посылка может выглядеть не совсем так.
Необходимый инструмент.
1. хороший цыфровой осциллограф. Нужен для того чтобы понять что творится на линии. Уровни, бодрейты.
2. логический анализатор, способный запоминать несколько десятков секунд.
3. для множества случаев пригодится самый обычный К-лайн адаптер, переделанный под возможность отключить или изменить сопротивление подтяжки
4. некоторая куча всякого программного обеспечения. Для логирования COM порта. К которому подключено изделие упомянутое в пункте номер 3.
Необходимый дополнительный инструмент. Для понятия происходящих процессов.
Тут уж по обстоятельствам. Смотря что хочется понять, что исследовать, и что сотворить. Иногда всё понятно и без всего далее упомянутого.
1. программаторы. ломалки и читалки
2. WinHEX или подобный редактор бинарных файлов
3. IDApro или подобные дизассемблеры. Ну и знания ассемблера по конкретному камню. И даташиты.
Ну а дальше будем рассматривать это всё по позициям.
Как то пару месяцев назад некоторым людям обещал рассказать про то, как разбиратся в процессах происходящих на том одном странном проводе, который соединяет иммо с моторным блоком. наверное пора начинать излагать суть сего процесса. Поскольку рассказ будет долгим, буду по мере свободного времени постепенно излагать суть.
Итак. Первое.
1
Теория. Что же там происходит?
Наверное тут стоит почитать разные документы про протоколы передачи данных по одному проводу.
Например:
http://en.wikipedia.org/wiki/Asynchronous_communication
Непомешает также разобратся и с http://en.wikipedia.org/wiki/Local_Interconnect_Network который широко применяется в разных автомобильных локальных коммуникациях между блоками.
Также непомешает изучить что такое baud rate, parity, start и stop биты.
Если лень это всё читать, то можно забить на это всё, и постаратся хотя бы понять то, что на этой картинке:
Суть в том, что уровни сигналов бывают разными, также как и полярность. Также иногда посылка может выглядеть не совсем так.
Необходимый инструмент.
1. хороший цыфровой осциллограф. Нужен для того чтобы понять что творится на линии. Уровни, бодрейты.
2. логический анализатор, способный запоминать несколько десятков секунд.
3. для множества случаев пригодится самый обычный К-лайн адаптер, переделанный под возможность отключить или изменить сопротивление подтяжки
4. некоторая куча всякого программного обеспечения. Для логирования COM порта. К которому подключено изделие упомянутое в пункте номер 3.
Необходимый дополнительный инструмент. Для понятия происходящих процессов.
Тут уж по обстоятельствам. Смотря что хочется понять, что исследовать, и что сотворить. Иногда всё понятно и без всего далее упомянутого.
1. программаторы. ломалки и читалки
2. WinHEX или подобный редактор бинарных файлов
3. IDApro или подобные дизассемблеры. Ну и знания ассемблера по конкретному камню. И даташиты.
Ну а дальше будем рассматривать это всё по позициям.
You do not have the required permissions to view the files attached to this post.
- uncle_sem
- Posts: 180
- Joined: 27 Mar 2011, 10:24
- Location: Брест, BY
- Has thanked: 16 times
- Been thanked: 30 times
- Contact:
Re: Давно обещанная тема про логирование
а можно я сразу с вопросами? во-первых - ну вот есть же у нас дивный осцилл. его частотки хватит в общем случае, или искать чего пошустрее? оч интересно узнать про кучу софта для логов компорта - то что я находил или за какие-то дурные бабки или кривое до ужаса. что можно посоветовать? потому как ведь действительно использовать к-лайн это самый простой и логичный вариант. хотя и не самый точный.
[url=uncle_sem.livejournal.com]чтение ошибок - не диагностика, стирание ошибок - не ремонт (с)[/url]
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
Re: Давно обещанная тема про логирование
uncle_sem wrote:а можно я сразу с вопросами? во-первых - ну вот есть же у нас дивный осцилл. его частотки хватит в общем случае, или искать чего пошустрее? оч интересно узнать про кучу софта для логов компорта - то что я находил или за какие-то дурные бабки или кривое до ужаса. что можно посоветовать? потому как ведь действительно использовать к-лайн это самый простой и логичный вариант. хотя и не самый точный.
Вопросы можно! И даже нужно.
Продолжаем. Правда получится немножко не по порядку.
2
1) дивный осцилл это наверное Минско - мугоданский. Сгодится. Главное же понять форму происходящего процесса на линии. Если Ты им можешь определить амплитуду сигнала и длительность одного периода, то это и всё что требуется в начале.
2) софт для логирования COM порта подойдёт самый разный. В аттаче 2 варианта. Подробнее:
DOCKLIGHT: хорош тем, что он фриварь до определённой степени. Но нам и тех возможностей которые доступны вполне достаточно. Им можно открыть порт для прослушки под любую скорость поддерживаемую чипсетом компа.
ELTIMA: на самом деле это прослушка портов. Тоесть, какая нибудь программа может открыть порт и работать с каким либо своим адаптером. И этой прослушкой можно посмотреть что эта программа делает. Попробуй на ВАГ-КОМе например!
You do not have the required permissions to view the files attached to this post.
Re: Давно обещанная тема про логирование
OK. Появилась минутка свободного времени, продолжаем.
3
Поговорим про логгеры.
1. идём на сайт http://usbee.com/
2. внимательно изучаем это всё, узнаём цены на всю эту красоту, падаем в обморок. От шока. Но не всё так плохо!
3. тут мы узнаём, что по некой ссылке http://6-lab.com/ мы можем закупить совместимое изделие по очень адекватной цене. Работающее с вышеупомянутым программным обеспечением. О радость то какая!
4. на самом деле немножко поискав по конференции на kazus.ru мы можем найти тему про самостоятельную сборку USBEE-AX. Ненарадоватся!
Словом, возвращаемся к ссылке в пункте первом и качаем софт. Он работает в ДЕМО режиме.
А дальше лабораторная работа номер 1:
1) качаем аттачмент,
2) загружаем его в программу
3) определяем бодрейт, да и... вообщем всё, что можно сказать по данному сигналу. Результаты исследований естественно выкладывать в теме.
А потом может быть я вам скажу, что это за вкусный сигнал такой.

3
Поговорим про логгеры.
1. идём на сайт http://usbee.com/
2. внимательно изучаем это всё, узнаём цены на всю эту красоту, падаем в обморок. От шока. Но не всё так плохо!
3. тут мы узнаём, что по некой ссылке http://6-lab.com/ мы можем закупить совместимое изделие по очень адекватной цене. Работающее с вышеупомянутым программным обеспечением. О радость то какая!
4. на самом деле немножко поискав по конференции на kazus.ru мы можем найти тему про самостоятельную сборку USBEE-AX. Ненарадоватся!
Словом, возвращаемся к ссылке в пункте первом и качаем софт. Он работает в ДЕМО режиме.
А дальше лабораторная работа номер 1:
1) качаем аттачмент,
2) загружаем его в программу
3) определяем бодрейт, да и... вообщем всё, что можно сказать по данному сигналу. Результаты исследований естественно выкладывать в теме.
А потом может быть я вам скажу, что это за вкусный сигнал такой.

You do not have the required permissions to view the files attached to this post.
- uncle_sem
- Posts: 180
- Joined: 27 Mar 2011, 10:24
- Location: Брест, BY
- Has thanked: 16 times
- Been thanked: 30 times
- Contact:
Re: Давно обещанная тема про логирование
оно-то рено иммо эмулятор, но как они кодируют сигнал - я так и не смог понять. была мысля что оотношением длительностей 0 и единицы, но как-то коряво оно получается...
я пытался анализировать как работает дыркалка. старый видимо, не понимаю уже
первоначальный ход моих мыслей был такой:
1 "тик" это как по этой осцилке 2мс.
5 осчетов высокого уровня и 1 низкого - можно предположить цифру 5. 3-1 - соответственно 3. 1-1 - единица, ну и 1-2 - было бы логично считать нулем.
итого имеем 530113 и стоповый бит с 10 отсчетами низкого уровня как разделитель. но я где-то ошибаюсь, потому что судя по логу дыркалки - дальше начинается совсем не то что я ждал
я пытался анализировать как работает дыркалка. старый видимо, не понимаю уже
первоначальный ход моих мыслей был такой:
1 "тик" это как по этой осцилке 2мс.
5 осчетов высокого уровня и 1 низкого - можно предположить цифру 5. 3-1 - соответственно 3. 1-1 - единица, ну и 1-2 - было бы логично считать нулем.
итого имеем 530113 и стоповый бит с 10 отсчетами низкого уровня как разделитель. но я где-то ошибаюсь, потому что судя по логу дыркалки - дальше начинается совсем не то что я ждал

[url=uncle_sem.livejournal.com]чтение ошибок - не диагностика, стирание ошибок - не ремонт (с)[/url]
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
Re: Давно обещанная тема про логирование
uncle_sem wrote:оно-то рено иммо эмулятор, но как они кодируют сигнал - я так и не смог понять
Ага. Он самый.
На вопрос "а как они кодируют" ответ прост: сначала отвечаем сами себе на вопрос зачем мы там вообще с логгером полезли. Может просто чтоб повторить сигнал?
Ну а тут как раз тот случай, когда из компа и через COM порт с К-лайн адаптером машину так просто незапустишь. Но та ли задача?
Ладно, подождём пока остальные разберутся с мыслями.
- uncle_sem
- Posts: 180
- Joined: 27 Mar 2011, 10:24
- Location: Брест, BY
- Has thanked: 16 times
- Been thanked: 30 times
- Contact:
Re: Давно обещанная тема про логирование
ну повторить-то сигнал дело нехитрое, но хочется ж разобраться что там к чему... хотя бы для того чтобы подобрать этот код перебором, если он меняется. или он всегда одинаковый?
[url=uncle_sem.livejournal.com]чтение ошибок - не диагностика, стирание ошибок - не ремонт (с)[/url]
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
Re: Давно обещанная тема про логирование
uncle_sem wrote:ну повторить-то сигнал дело нехитрое, но хочется ж разобраться что там к чему... хотя бы для того чтобы подобрать этот код перебором, если он меняется. или он всегда одинаковый?
Разобратся что и к чему можно наверное только имея на руках прошивку из одного или другого конца, возможность превратить её в ASM и понимание происходящего. Задача непростая. Но это потом.
Сейчас пара куча фоток. На затравку. Может замутить?
You do not have the required permissions to view the files attached to this post.
Re: Давно обещанная тема про логирование
А сами грабберы не проблема. Идут как запчасть к логическим анализаторам HP (Agilent)
You do not have the required permissions to view the files attached to this post.
- russiane39
- Posts: 97
- Joined: 24 Mar 2011, 19:28
- Location: Москва
- Has thanked: 7 times
- Been thanked: 41 times
Re: Давно обещанная тема про логирование
В каком виде будем делать? Конструктор? Собранная печатка? Печатка + грабберы? Или просто схема + прошивка? И кто хочет тот и делает по своим понятиям?
Про CYPRESS. Кстати, интересная штука. Ядро 51 серии, загружается через USB хвост, постоянного (зашитого) кода в нём нет, конфигурация задаётся внешним EEPROM. Купить нет особых проблем. У производителя. Да и образцы они тоже высылают. До 5 штук совершенно бесплатно, если сможете доказать что серьёзно занимаетесь делом и будете в перспективе заказывать некоторые количества.
Последнее обычно несбывается.
Сейчас какбы свободного времени нет заниматся вопросом серьёзно, поскольку усиленно работаем над новыми вкусными проектами. Но заметил что AGK тоже вроде тут подтянулся.
Ау! Может у тебя есть поболше возможностей со свободным временем? И желание?
Про CYPRESS. Кстати, интересная штука. Ядро 51 серии, загружается через USB хвост, постоянного (зашитого) кода в нём нет, конфигурация задаётся внешним EEPROM. Купить нет особых проблем. У производителя. Да и образцы они тоже высылают. До 5 штук совершенно бесплатно, если сможете доказать что серьёзно занимаетесь делом и будете в перспективе заказывать некоторые количества.
Последнее обычно несбывается.
Сейчас какбы свободного времени нет заниматся вопросом серьёзно, поскольку усиленно работаем над новыми вкусными проектами. Но заметил что AGK тоже вроде тут подтянулся.
Ау! Может у тебя есть поболше возможностей со свободным временем? И желание?
- uncle_sem
- Posts: 180
- Joined: 27 Mar 2011, 10:24
- Location: Брест, BY
- Has thanked: 16 times
- Been thanked: 30 times
- Contact:
Re: Давно обещанная тема про логирование
ИМХО конструктор рулит. а в нашу белорашу сэмплы тоже высылают? а на радиоофбай есть, есличо? просто удобный софт, блин. именно для анализа - все длительности сразу, то-се... оно может не так часто и нужно, но бывает что и приспичит.
я как-то заморочился адаптерами ДУ для штатных джойстиков - замудохался искать чего блау не работает толком... а с таким девайсом быстренько бы вычислил....
я как-то заморочился адаптерами ДУ для штатных джойстиков - замудохался искать чего блау не работает толком... а с таким девайсом быстренько бы вычислил....
[url=uncle_sem.livejournal.com]чтение ошибок - не диагностика, стирание ошибок - не ремонт (с)[/url]
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
Re: Давно обещанная тема про логирование
Конструктор делать универсальный или только DX ,как на Казусе? Детали то уже давно куплены.
- uncle_sem
- Posts: 180
- Joined: 27 Mar 2011, 10:24
- Location: Брест, BY
- Has thanked: 16 times
- Been thanked: 30 times
- Contact:
Re: Давно обещанная тема про логирование
а в чем там отличия? число аналоговых каналов? ИМХО и одного хватит, но если вопрос только в плате... ну может и универсальную сваять, там разницы-то будет пару сантиметров... или еще что-то есть? просто ты больше в теме, может еще какие нюансы... как по мне 8 цифровых каналов и 1 аналоговый - вполне достаточно. да и аналоговый-то не особо нужен, для того осцилл есть. но у кого нет - пригодится. вобщем, огласите варианты и цены. 

[url=uncle_sem.livejournal.com]чтение ошибок - не диагностика, стирание ошибок - не ремонт (с)[/url]
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
Re: Давно обещанная тема про логирование
AGK wrote:Конструктор делать универсальный или только DX ,как на Казусе? Детали то уже давно куплены.
От аналогового канала там пользы нет. Это не осциллограф, это скорее самописец. Отображения в реальном времени кажется небыло вообще.
А ZX и BusBee делаются на одной и той же печатке.
А вот делители переключаемые да защиту на входах сделать имхо есть резон. Чтоб можно было подключатся к 12-вольтным шинам. Оригинал только под 5 вольт расчитан.
Размеры изделия вещь второстепенная и не столь существенная.
2 AGK - на выходных если надо сдую элементы, да печатку отфоткаю. За одно и EEPROM прочитаем.
Re: Давно обещанная тема про логирование
На Казусе были фотки и схема DX оригинала.
2 RobinDAB жду твоего письма.У оригинала кроме резисторов по входу никакой защиты(если не считать входы самого CY7C68013A).
2 uncle_sem Только у DX 16 цифровых каналов.В остальных по 8.
2 RobinDAB жду твоего письма.У оригинала кроме резисторов по входу никакой защиты(если не считать входы самого CY7C68013A).
2 uncle_sem Только у DX 16 цифровых каналов.В остальных по 8.
- uncle_sem
- Posts: 180
- Joined: 27 Mar 2011, 10:24
- Location: Брест, BY
- Has thanked: 16 times
- Been thanked: 30 times
- Contact:
Re: Давно обещанная тема про логирование
ИМХО хватило бы и 8 каналов. но однозначно защиту от напряжения. как минимум резюки и стабилитроны по входу. думается, стабилитроны не должны сильно ухудшить характеристики.
[url=uncle_sem.livejournal.com]чтение ошибок - не диагностика, стирание ошибок - не ремонт (с)[/url]
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
Re: Давно обещанная тема про логирование
Про BusBee наверное стоит перебратся в новую тему. Всё нужное с небольшой задержкой надеюсь добралось до AGK.
Итак, продолжаем по теме.
4
В приложении фрагменты лога обмена по линии W (VAG immo<->ECU).
Снято в 2-х ситуациях разных. Но это как бы и несущественно. Ибо нас интересует процесс, а не конкретика.
Тем, кому это интересно, рекомендуется повторить данные эксперименты. Сгодится любой ECU, ну и эмулятор иммо например. Если иммобокса нет под рукой.
И естественно, к-лайн адаптер.
Свои варианты выкладываем здесь.
Ну и, теперь ещё вопрос:
1) тут мы имеем дело с двунаправленной линией. Мнения - как правильнее определить кто (иммо или моторник) посылает байт в конкретный момент?
2) что нужно сделать, и какие байты пересылать К-лайн адаптером в ECU (иммо неприсутствует вообще!) для того, чтоб запустить машину?

Итак, продолжаем по теме.
4
В приложении фрагменты лога обмена по линии W (VAG immo<->ECU).
Снято в 2-х ситуациях разных. Но это как бы и несущественно. Ибо нас интересует процесс, а не конкретика.
Тем, кому это интересно, рекомендуется повторить данные эксперименты. Сгодится любой ECU, ну и эмулятор иммо например. Если иммобокса нет под рукой.
И естественно, к-лайн адаптер.
Свои варианты выкладываем здесь.
Ну и, теперь ещё вопрос:
1) тут мы имеем дело с двунаправленной линией. Мнения - как правильнее определить кто (иммо или моторник) посылает байт в конкретный момент?
2) что нужно сделать, и какие байты пересылать К-лайн адаптером в ECU (иммо неприсутствует вообще!) для того, чтоб запустить машину?

You do not have the required permissions to view the files attached to this post.
- uncle_sem
- Posts: 180
- Joined: 27 Mar 2011, 10:24
- Location: Брест, BY
- Has thanked: 16 times
- Been thanked: 30 times
- Contact:
Re: Давно обещанная тема про логирование
а есть еще логи с успешной связью? а то не все понятно...
то есть оно понятно что каждый байт передается в нормальном и инверсном виде, ну и для первого случае имеем что-то типа такого:
00 07 f8 01 fe d7 28 df 20 a2 5d f5 0a 00 ff
03 04 fb 02 fd 0a f5 01 fe
"разделитель" - это 00 и 03 во второй строчке, следующая пара байт (реально это один байт, в прямом и инверсном виде), то бишь 07 F8 это какой-то заголовок или команда, потом идет номер сообщения (видно что каждый раз на 1 больше), дальше D7 28 - неясно что, потом df 20 и a2 5d надо полагать сам ключ ну и F5 0A и 00 FF - как завершающая последовательность.
а вот когда ситуация paired - то непоняточки.... разбить его можно примерно так:
00 07 f8 01 fe d7 28 2d d2 fa 05 f5 0a 00 ff
03 07 f8 02 fd 3d c2 85 7a 40 bf ec 13 c3 3c
03 03 fc 03 fc 09 f6
03 03 fc 04 fb 06 f9
03
а где тут что - нихрена не ясно...
то есть оно понятно что каждый байт передается в нормальном и инверсном виде, ну и для первого случае имеем что-то типа такого:
00 07 f8 01 fe d7 28 df 20 a2 5d f5 0a 00 ff
03 04 fb 02 fd 0a f5 01 fe
"разделитель" - это 00 и 03 во второй строчке, следующая пара байт (реально это один байт, в прямом и инверсном виде), то бишь 07 F8 это какой-то заголовок или команда, потом идет номер сообщения (видно что каждый раз на 1 больше), дальше D7 28 - неясно что, потом df 20 и a2 5d надо полагать сам ключ ну и F5 0A и 00 FF - как завершающая последовательность.
а вот когда ситуация paired - то непоняточки.... разбить его можно примерно так:
00 07 f8 01 fe d7 28 2d d2 fa 05 f5 0a 00 ff
03 07 f8 02 fd 3d c2 85 7a 40 bf ec 13 c3 3c
03 03 fc 03 fc 09 f6
03 03 fc 04 fb 06 f9
03
а где тут что - нихрена не ясно...
[url=uncle_sem.livejournal.com]чтение ошибок - не диагностика, стирание ошибок - не ремонт (с)[/url]
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
покупка инструмента не делает тебя механиком, покупка тестера - электриком, покупка сканера - диагностом (с)
Re: Давно обещанная тема про логирование
uncle_sem wrote:а где тут что - нихрена не ясно...
А это и неудивляет.
В этом потоке данных разобратся просто невозможно если незнать в какую сторону они идут.
Для того чтобы определится, иногда делают сложные схемы на микроконтроллерах. В приложении.
Надеюсь, автор необидется за то что его проект выложен здесь.
Вариант хорош если ну никак нельзя добратся до внутренностей в одном или другом конце линии (залитые блоки или ещё какие нибудь преграды).
Но если такая возможность есть, всётаки проще прицепится к приемо - передающему драйверу. На Tx и Rx. Ну и соответственно сделать правильные выводы. Ибо на Rx будет видно всё что на линии, а на Tx только исходящие.
You do not have the required permissions to view the files attached to this post.
Who is online
Users browsing this forum: No registered users and 7 guests


