Реверс-инжиниринг протоколов обмена шин данных электронных блоков управления
Another Title
Reverse engineering of exchange protocols data bus of electronic control units
Bibliographic entry
Гурский, А. С. Реверс-инжиниринг протоколов обмена шин данных электронных блоков управления = Reverse engineering of exchange protocols data bus of electronic control units / А. С. Гурский, П. В. Седяко // Транспорт и транспортные системы: конструирование, эксплуатация, технологии : сборник научных статей / Белорусский национальный технический университет ; редкол.: С. В. Харитончик (гл. ред.) [и др.]. – Минск : БНТУ, 2022. – Вып. 4. – С. 36-44.
Abstract
Системы обмена данными между электронными блоками управления современных транспортных средств и с внешними диагностическими устройствами претерпевают огромные изменения, что зачастую приводит к серьезным трудностям при выполнении диагностирования. Использование универсальных диагностических средств зачастую не позволяет выявить отдельные причины неисправности, так как отсутствуют в перечне доступных отдельные параметры, что требует применения специализированных устройств. Методы реверс-инжиниринга являются прекрасным инструментом в тех случаях, когда разработка устройства или программного продукта требуют наличия документации, описывающей существующие протоколы связи различных устройств. В данной статье представлено описанию некоторых особенностей шины K-line и методов расшифровки текущих параметров ЭБУ при отсутствии документации, которые были получены в ходе проведения экспериментов при работе с шиной K-line. Результаты проделанной работы могут быть полезны для обучения, диагностирования, а также проведения исследований при работе с K-line или схожими шинами передачи данных (CAN, LIN шина и др.). В качестве аппаратного обеспечения были использованы: микроконтроллер Arduino Nano и преобразователь уровней на основе сдвоенного компаратора LM 293. В качестве программного обеспечения была использована программа Free Serial Port, а та же среда разработки Arduino IDE, в которой была написана программа для чтения процесса обмена между диагностическим сканером и ЭБУ. Для экспериментов и анализа демонстрационного испытания, собранное устройство было подключено к учебному стенду, собранному на базе ЭБУ Bosch 7.9.7.
Abstract in another language
Communication systems between the electronic control units of modern vehicles and with external diagnostic devices are undergoing tremendous changes, which often leads to serious difficulties in diagnosing. The using of universal diagnostic tools often does not allow identifying individual causes of a malfunction, since there are no individual parameters in the list of available ones, which requires the use of specialized devices. Reverse engineering is an excellent tool in cases where the development of a device or software product requires documentation describing the existing communication protocols of various devices. This article provides a description of some features of the K-line bus and methods for decoding the current parameters of the ECU in the absence of documentation that were obtained during experiments when working with the K-line bus. The results of the work done can be useful for training, diagnosing, as well as conducting research when working with K-line or similar data transmission buses (CAN, LIN bus, etc.).The following were used as hardware: the Arduino Nano microcontroller and a level converter based on the LM 293 dual comparator. The Free Serial Port program was used as the software, and the same Arduino IDE development environment in which the program was written to "eavesdrop" on the exchange process between the diagnostic scanner and the computer. For experiments and analysis of the demonstration test, the assembled device was connected to a training stand assembled on the basis of the Bosch 7.9.7 ECU.