СПОСОБ ДОВОДКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ БЛОКА УПРАВЛЕНИЯ ДВС
METHOD OF DEVELOPING ICE CONTROL UNIT SOFTWARE

Изобретение относится к области двигателестроения и может быть использовано для защиты программного обеспечения блока управления (далее - БУ) двигателем внутреннего сгорания (далее - ДВС) транспортного средства (далее - ТС).
Программное обеспечение БУ ДВС ТС включает в себя сведения, необходимые для управления ДВС:
- исполняемый код (другими словами, программу управления) с адресами массива данных;
- массив данных с константами и калибровочными таблицами, используемый исполняемым кодом в зависимости от режима работы ДВС.
Доводка программного обеспечения БУ ДВС ТС заключается в подборе констант и массива данных для выполнения норм токсичности и достижения требуемых пусковых и ездовых качеств.
Проблемой для производителей ТС и фирм, профессионально занимающихся разработкой программного обеспечения для БУ ДВС ТС, является несанкционированное изменение содержания калибровочных таблиц, известное как “чип-тюнинг” (термин см., например, журнал “За рулем”, №б/99 г., стр.128). Вследствие изменения значений калибровочных таблиц ДВС ТС может выйти из строя или работать в аварийном режиме.
Для выполнения несанкционированного “чип-тюнинга” необходимо, как минимум, располагать информацией об исполняемом коде, массиве данных с таблицами и константами и файлом описания данных для калибровки.
Следует отметить, что “утечка” информации о программном обеспечении может происходить уже на стадии проведения доводки программного обеспечения на работающем в составе системы управления БУ ДВС ТС.
Из уровня техники известны, см., например, описание к патенту RU 2146399 C1, G11C 16/06, G06K 19/00, G06F 7/10, публ. 10.03.2000 г., энергонезависимые стираемые перепрограммируемые запоминающие устройства (далее - ЭСППЗУ), предназначенные для хранения информации в условиях отсутствия подвода электрической энергии. Такие устройства нашли применение в БУ ДВС ТС (см., например, заявку DE 3917979 A1, 5 G06F 9/44, F02P 5/15, F02D 41/26, публ. 06.12.1990 г.), где они используются для записи и хранения упомянутого выше программного обеспечения БУ ДВС ТС.
Конструктивно ЭСППЗУ БУ ДВС ТС может быть интегрировано в микроконтроллер (см. журнал “АБС”, март 1999 г., стр.18-19). В этом случае в состав микроконтроллера входит (см. журнал “АБС”, март 2003 г., стр.9) микропроцессор, ЭСППЗУ и оперативное запоминающее устройство (далее - ОЗУ).
5
За прототип заявляемого способа взят способ доводки программного обеспечения БУ ДВС ТС на работающем ДВС, см. патент Германии DE 4107052, МКИ G06F 13/00, F02D 41/26, 43/04, публ. 10.09.1992 г. Способ заключается в том, что БУ ДВС ТС снабжают внешним двухпортовым ОЗУ, к первому из портов которого подключают персональный компьютер, а ко второму - микроконтроллер БУ ДВС ТС, подключают БУ ДВС к системе управления ДВС, записывают во внешнее двухпортовое ОЗУ программное обеспечение, запускают ДВС, осуществляют перевод ДВС в режим, работа ДВС в котором требует корректировки, уточняют данные калибровочных таблиц при работе ДВС в выбранном режиме работы и записывают уточненные данные во внешнее ОЗУ, а по окончании процесса доводки записывают доведенное программное обеспечение в ПЗУ БУ ДВС.
Задачей заявляемого изобретения является создание способа доводки программного обеспечения БУ ДВС ТС на работающем ДВС с повышенной степенью защиты программного обеспечения от несанкционированного копирования и изменения.
Указанная задача решается в способе доводки программного обеспечения БУ ДВС ТС на работающем ДВС, при котором БУ ДВС ТС снабжают внешним двухпортовым ОЗУ, к первому из портов которого подключают персональный компьютер, а ко второму - микроконтроллер БУ ДВС ТС, снабженный ЭСППЗУ, подключают БУ ДВС к системе управления ДВС, записывают во внешнее двухпортовое ОЗУ программное обеспечение БУ ДВС ТС, запускают ДВС, осуществляют перевод ДВС в режим, работа ДВС в котором требует корректировки, уточняют данные калибровочных таблиц при работе ДВС в выбранном режиме работы, записывают уточненные данные во внешнее ОЗУ, а по окончании процесса доводки записывают доведенное программное обеспечение в ЭСППЗУ микроконтроллера БУ ДВС.
Указанная задача решается тем, что программное обеспечение БУ ДВС ТС разделяют на два файла, первый из которых содержит массив данных с калибровочными таблицами и константами, а второй файл содержит исполняемый код, переписывают во внешнее двухпортовое ОЗУ массив данных с калибровочными таблицами и константами, записывают в ЭСППЗУ микроконтроллера исполняемый код, программно закрывают ЭСППЗУ микроконтроллера от считывания, а по окончании процесса доводки программного обеспечения изменяют массив данных с калибровочными таблицами и константами, после чего добавляют измененные адреса данных к исполняемому коду, массив данных и исполняемый код соединяют в один файл доведенного программного обеспечения, записывают доведенное программное обеспечение в ЭСППЗУ микроконтроллера БУ ДВС ТС и программно закрывают ЭСППЗУ микроконтроллера от считывания программного обеспечения. При этом в варианте реализации изобретения массив данных может быть разбит на отдельные фрагменты, которые могут быть размещены в различные места исполняемого кода.
В результате предлагаемого способа в массиве данных и исполняемом коде доведенного программного обеспечения изменяется адресация данных, благодаря чему даже в случае разблокирования ЭСППЗУ микроконтроллера для считывания программного обеспечения существенно затрудняется нахождение данных калибровочных таблиц, используемых при “чип-тюнинге”.
Изобретение поясняется чертежом, где изображена блок-схема устройства доводки программного обеспечения БУ ДВС ТС.
Изобретение может быть успешно реализовано в устройстве доводки программного обеспечения БУ ДВС ТС, см. чертеж, включающей в себя БУ ДВС ТС 1, снабженный микроконтроллером 2 с ЭСППЗУ 3, персональный компьютер 4 и двухпортовое ОЗУ 5 с первым и вторым портами 6, 7.
Для реализации изобретения выполняют следующие действия:
- БУ ДВС ТС 1 снабжают внешним двухпортовым ОЗУ 5, к первому из портов которого подключают персональный компьютер 4, а ко второму - микроконтроллер БУ ДВС ТС 1;
- подключают БУ ДВС к системе управления ДВС;
- разделяют программное обеспечение БУ ДВС ТС на исполняемый код и массив данных с калибровочными таблицами и константами;
- переписывают во внешнее двухпортовое ОЗУ 5 массив данных с калибровочными таблицами и константами;
- записывают в ЭСППЗУ микроконтроллера исполняемый код;
- программно закрывают ЭСППЗУ микроконтроллера от считывания;
- запускают ДВС;
- переводят ДВС в нужный рабочий режим;
- уточняют данные калибровочных таблиц;
- записывают уточненные данные во внешнее двухпортовое ОЗУ 5;
- по окончании процесса доводки записывают в запоминающее устройство персонального компьютера 4 исполняемый код и массив данных с калибровочными таблицами и константами;
- изменяют массив данных с калибровочными таблицами и константами таким образом, чтобы в результате изменения изменились адреса данных;
- добавляют измененные адреса данных к исполняемому коду;
- записывают доведенное программное обеспечение, включающее в себя измененный массив данных (с калибровочными таблицами и константами) и исполняемый код, в ЭСППЗУ 3 микроконтроллера 2 БУ ДВС ТС 1;
- программно закрывают ЭСППЗУ 3 микроконтроллера 2 БУ ДВС ТС 1 от считывания программного обеспечения.
В предпочтительном варианте реализации изобретения массив данных могут изменять посредством персонального компьютера 4, разбив его на отдельные фрагменты, которые размещают затем в различные места исполняемого кода.