способ доводки программного обеспечения блока управления двс
Классы МПК: | G06F9/455 эмуляция; моделирование программного обеспечения G11C29/52 защита содержимого памяти; обнаружение ошибок в содержимом памяти G06F9/44 устройства для выполнения специальных программ |
Автор(ы): | Шпилев Сергей Алексеевич (RU) |
Патентообладатель(и): | Открытое акционерное общество "АВТОВАЗ" (RU) |
Приоритеты: |
подача заявки:
2005-08-25 публикация патента:
10.04.2009 |
Изобретение относится к области двигателестроения и может быть использовано для защиты программного обеспечения (ПО) блока управления двигателем внутреннего сгорания транспортного средства (далее - БУ ДВС ТС) от несанкционированного изменения. Техническим результатом является повышение степени защиты программного обеспечения. Способ доводки ПО БУ ДВС транспортного средства на работающем ДВС заключается в том, что переписывают во внешнее двухпортовое ОЗУ программное обеспечение БУ ДВС ТС, запускают ДВС, уточняют входящий в ПО массив данных с калибровочными таблицами и константами при работе ДВС в различных рабочих режимах, записывают уточненные данные во внешнее двухпортовое ОЗУ, а по окончании процесса доводки записывают доведенное ПО в ЭСППЗУ микроконтроллера БУ ДВС ТС, причем перед запуском ДВС разделяют ПО на исполняемый код и массив данных с калибровочными таблицами и константами, переписывают во внешнее двухпортовое ОЗУ указанный массив данных, записывают в ЭСППЗУ исполняемый код, программно закрывают ЭСППЗУ от считывания, а по окончании процесса доводки изменяют массив данных с калибровочными таблицами и константами и добавляют измененные адреса данных к исполняемому коду, после чего записывают доведенное ПО в ЭСППЗУ микроконтроллера БУ ДВС ТС и программно закрывают ЭСППЗУ микроконтроллера БУ ДВС ТС от считывания. 1 з.п. ф-лы, 1 ил.
Формула изобретения
1. Способ доводки программного обеспечения блока управления (далее - БУ) двигателя внутреннего сгорания (далее - ДВС) транспортного средства (далее - ТС) на работающем ДВС, при котором переписывают во внешнее двухпортовое оперативное запоминающее устройство (далее - ОЗУ) программное обеспечение БУ ДВС ТС, запускают ДВС, уточняют входящий в программное обеспечение массив данных с калибровочными таблицами и константами при работе ДВС в различных рабочих режимах, записывают уточненные данные во внешнее двухпортовое ОЗУ, а по окончании процесса доводки записывают доведенное программное обеспечение в энергонезависимое стираемое перепрограммируемое запоминающее устройство (далее - ЭСППЗУ) микроконтроллера БУ ДВС ТС, отличающийся тем, что перед запуском ДВС разделяют программное обеспечение на исполняемый код и массив данных с калибровочными таблицами и константами, переписывают во внешнее двухпортовое ОЗУ массив данных с калибровочными таблицами и константами, записывают в ЭСППЗУ микроконтроллера исполняемый код, программно закрывают ЭСППЗУ микроконтроллера от считывания, а по окончании процесса доводки изменяют массив данных с калибровочными таблицами и константами и добавляют измененные адреса данных к исполняемому коду, после чего записывают доведенное программное обеспечение в ЭСППЗУ микроконтроллера БУ ДВС ТС и программно закрывают ЭСППЗУ микроконтроллера БУ ДВС ТС от считывания.
2. Способ по п.1, отличающийся тем, что массив данных разбивают на отдельные фрагменты, которые записывают в различные места исполняемого кода.
Описание изобретения к патенту
Изобретение относится к области двигателестроения и может быть использовано для защиты программного обеспечения блока управления (далее - БУ) двигателем внутреннего сгорания (далее - ДВС) транспортного средства (далее - ТС).
Программное обеспечение БУ ДВС ТС включает в себя сведения, необходимые для управления ДВС:
- исполняемый код (другими словами, программу управления) с адресами массива данных;
- массив данных с константами и калибровочными таблицами, используемый исполняемым кодом в зависимости от режима работы ДВС.
Доводка программного обеспечения БУ ДВС ТС заключается в подборе констант и массива данных для выполнения норм токсичности и достижения требуемых пусковых и ездовых качеств.
Проблемой для производителей ТС и фирм, профессионально занимающихся разработкой программного обеспечения для БУ ДВС ТС, является несанкционированное изменение содержания калибровочных таблиц, известное как чип-тюнинг (термин см., например, журнал За рулем , № б/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) микропроцессор, ЭСППЗУ и оперативное запоминающее устройство (далее - ОЗУ).
За прототип заявляемого способа взят способ доводки программного обеспечения БУ ДВС ТС на работающем ДВС, см. патент Германии DE 4107052, МКИ5 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, разбив его на отдельные фрагменты, которые размещают затем в различные места исполняемого кода.
Класс G06F9/455 эмуляция; моделирование программного обеспечения
Класс G11C29/52 защита содержимого памяти; обнаружение ошибок в содержимом памяти
Класс G06F9/44 устройства для выполнения специальных программ