Хронология ремонта ЭБУ SRS от Volkswagen Crafter

в 21:55, , рубрики: crafter, srs, Volkswagen, автомобиль, безопасность, дамп, прошивка

 Здравствуйте! Наша команда занимается ремонтом и исследованием автомобильной электроники (и не только) более десяти лет. Мы изучаем устройство стороннего ПО, и разрабатываем утилиты для взаимодействия с прошивками и программами. Нередко мы сталкиваемся с интересными задачами. На страницах этого блога мы планируем делиться интересными исследованиями и историями ремонта. Мы надеемся, что наш опыт может быть полезным другим профессионалам в этой области. Сегодня мы хотим поделиться случаем ремонта блока SRS от Volkswagen Crafter, который помог нам углубиться в детали и выявить важные моменты.

 ЭБУ SRS, номер 5QF 959 655 AH. Для того, чтобы убедиться в необходимости ремонта блока управления, в нашей компании тестируемое оборудование запускается сначала на столе.

https://xn--80aackhmik6acgcci5acrf9g.xn--p1ai/wp-content/uploads/2024/09/shema-300x87.png
схема подключения

 Блок управления диагностировался по CAN шине платформой CantracerFD посредством интерфейса Tactrix OpenPort 2.0. Также  его можно было считать другими инструментами для диагностики автомобилей VAG. В блоке, как мы видим, записана актуальная внутренняя ошибка B2000.  В автомобилях группы компаний VAG такие ошибки нестираемые и удаляются только посредством модификации дампов ЭБУ SRS.

https://xn--80aackhmik6acgcci5acrf9g.xn--p1ai/wp-content/uploads/2024/09/b2000-300x268.png

ошибка B2000

В ремонтируемом блоке управления стоит процессор Infineon Tricore TC233-32 серии. Ранее нам встречались похожие блоки, но там был процессор TC222-16 серии. Дампы очень похожи, но имеют немного больший размер. Поэтому первое, что было сделано, это анализ и сравнение дампов с аналогами донорских ЭБУ. Номера доноров:

5QF959655L (TC22xx-16)

5QF959655A

5QF959655AA

  Первичный анализ дампа показал, что блок разбит на три секции. Секции отделены друг от друга заголовками:

3A F5 AF AF F5 F5 AF AF

  Изначально мы обратились за помощью на форумы, где нам предложили полностью стереть третью секцию. Очистка третей секции никаких изменений в блоке управления не вызвала. Таким образом, было определено, что внутренняя ошибка находится во второй секции и править нужно её. Изменения во второй секции вызвали появление множества внутренних ошибок в ЭБУ, свидетельствующих о нарушении целостности дампа.  Следующим этапом мы провели более глубокий анализ дампа. Просматривались сигнатуры блоков данных, фрагменты, из которых состоит дамп, где они начинаются и где они заканчиваются, где определяется тип блока, где определяется размер блока, где определяются флаги блока, где контрольная сумма и так далее. Разобрать такой большой дамп вручную -  трудоёмкая задача. Мы приняли решение автоматизировать процесс, для этого был написан скрипт на языке Python. До написания скрипта мы обнаружили алгоритм контрольной суммы, она определяется в формате:

CRC-16/CCITT-FALSE

  Затем дампы обработали калькулятором. Проверили как оригинальный дамп, в котором есть внутренняя ошибка, так и донорские дампы, в которых её нет. В процессе обнаружилось, что контрольная сумма не совпадает по трём блокам. Мы не стали их править, потому что эти же блоки, на донорских дампах имеют такие же проблемы. Далее произвели анализ посредством сравнения блоков, из которых удалено всё лишнее, и есть только данные. Для этого скрипт был модифицирован таким образом, чтобы сортировать блоки данных по типам. Было произведено сравнение однотипных блоков. Далее на скриншоте сравнения текстовых отчётов скрипта, который определяет типы блоков. Видно, что блок типа 0х400  размером 0x468, а у донорского блока размер 0x5F0, он находится слева.

https://xn--80aackhmik6acgcci5acrf9g.xn--p1ai/wp-content/uploads/2024/09/sravnenie-300x135.png
сравнение блоков типа 0x400 и 0x300

Этот метод помог нам выделить блок данных типа 0хА00, содержимое которого радикально отличается от донорского, и было сделано предположение, что по этой причине записывается внутренняя ошибка ЭБУ.

https://xn--80aackhmik6acgcci5acrf9g.xn--p1ai/wp-content/uploads/2024/09/A00h-300x111.png

сравнение блоков типа 0хА00

 После чего этот блок данных  был перелит из донорского целиком в наш оригинальный дамп. Замена блока с типом 0xA00 привела к тому, что внутренняя ошибка исчезла. Помимо этого мы  модифицировали блок, в котором хранятся ошибки и пересчитали контрольную сумму, чтобы ЭБУ был полностью работоспособным.

https://habrastorage.org/getpro/habr/upload_files/d1f/a8a/2f6/d1fa8a2f6cda40b99c8f89e16b6eb853.jpg

блок данных 0хА00

 Как итог, важно отметить, что анализ структуры дампа и выявление контрольных сумм являются ключевыми этапами в процессе ремонта электронных блоков автомобилей. Использование программы на Python для анализа блоков дампа делает подход к устранению ошибок и восстановлению работоспособности блока SRS более эффективным. Кроме того, копирование данных из донорского блока и последующее удаление ошибок с поправкой контрольной суммы имеют важность точности и надёжности процесса восстановления. Шаги, проделанные в нашем исследовании, не только позволяют устранить ошибки в блоке SRS, но и гарантируют безопасность и надёжность работы системы пассивной безопасности автомобиля. Важно подчеркнуть, что процесс ремонта электронных блоков требует высокой квалификации и тщательного подхода к каждому этапу.

Автор: ecurep

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js