Код документа: RU2142168C1
Изобретение относится к способу полного перепрограммирования электрически стираемой энергонезависимой памяти согласно ограничительной части основного пункта формулы. Из публикации WO 80/02881 известен способ полного перепрограммирования стираемой энергонезависимой памяти. Стираемая энергонезависимая память (программируемое постоянное запоминающее устройство - ППЗУ) содержится на микросхеме микроЭВМ. Для программирования в постоянной памяти микроЭВМ содержится программный модуль. Для программирования стираемой энергонезависимой памяти (ППЗУ) микроЭВМ соединена через последовательный интерфейс с оконченным устройством преобразования данных (терминал). МикроЭВМ получает от терминала программируемые данные. Для программирования стираемой энергонезависимой памяти (ППЗУ) микроЭВМ получает от терминала программируемые данные. Для программирования стираемой энергонезависимой памяти (ППЗУ) микроЭВМ пользуется программным модулем, содержащимся в постоянной памяти.
Преимущества изобретения.
Способ полного перепрограммирования стираемой энергонезависимой памяти, согласно изобретению, имеет по сравнению с известным то преимущество, что отпадает необходимость в дорогой и прежде всего не изменяемой впоследствии постоянной памяти с программным модулем. Согласно изобретению, программный модуль дополнительно предусмотрен в стираемой энергонезависимой памяти. Этот программный модуль перед началом собственно процесса программирования загружают в энергозависимую память (кодовое ОЗУ) микроЭВМ, и он находится там наготове для отработки. Далее предпочтительно, что стираемая энергонезависимая память может быть полностью и надежно перепрограммирована также в более поздний момент времени. Таким образом, например, у автомобильного блока управления, после его поставки заказчику возможны еще дополнительные изменения программы без необходимости для этого, например, демонтажа блока управления из автомобиля и его отправки обратно на завод-изготовитель. Это имеет преимущество также потому, что иногда изменения программы требуются лишь при использовании автомобильного блока управления в полевых условиях. Например, возможно, что лишь при использовании автомобиля в полевых условиях окажется, что двигатель в определенных климатических условиях работает неровно, так что для этого случая потребуется лучшая регулировка двигателя. Для этого, однако, необходимо изменить управляющую программу блока управления двигателем. Благодаря изобретению без проблем возможна даже полная замена управляющей программы автомобильного блока управления. Способ программирования разработан при этом так, что он осуществим простыми средствами, благодаря чему перепрограммирование снимаемой энергонезависимой памяти может быть произведено даже в мастерской. Для этого необходима лишь малая ВМ, например персональный компьютер (ПК), который соединяют через диагностический интерфейс автомобиля с соответствующим блоком управления. Новые программные данные могут быть поставлены для мастерской, например, на дискете. Эти данные передаются затем через малую ВМ и диагностический интерфейс к блоку управления. Также предпочтительно, что программирование может выполняться с допустимыми ошибками. Даже грубая ошибка обслуживания, например такая, что из-за неправильного обслуживания перед завершением процесса программирования прерывается подача питания к автомобилю или оконечному устройству преобразования данных, не приводит к невозможности программирования. Дело в том, что программный модуль выполнен в программируемой энергонезависимой памяти почти двойным, благодаря чему даже при стирании одного из этих программных модулей, тем не менее, в памяти остается еще один целый программный модуль. Процесс программирования может быть тогда продолжен с этим целым программным модулем. Другое преимущество хранения программного модуля в стираемой энергонезависимой памяти следует из того, что таким образом изготовитель блоков управления может разработать свой собственный программный модуль. Принцип работы этого программного модуля не обязательно делать достоянием широкой общественности. Это затрудняет последующие неразрешенные манипуляции со стираемой энергонезависимой памятью.
За счет приведенных в зависимых пунктах формулы признаков возможны предпочтительные модификации и усовершенствования указанного в основном пункте способа. Сам программный модуль может состоять из отдельных модулей. Особенно предпочтительно, если только часть модулей программного модуля записывают в стираемую энергонезависимую память, а остальные модули загружают в энергонезависимую память из внешнего электронного устройства. Этим экономятся ячейки памяти в стираемой энергонезависимой памяти. Особенно предпочтительно перед началом собственно процесса программирования проверить правильность содержимого памяти в той области, где хранится программный модуль, и лишь затем перепрограммировать одну область, если в другой области хранится программный модуль, который признан как не имеющий ошибок. Это дополнительно повышает надежность процесса программирования.
Проверку можно особенно просто произвести за счет того, что содержимое памяти областей, в которых хранится программный модуль, суммируют в контрольную сумму, которую сравнивают со значением, также записанным в стираемую энергонезависимую память, и содержание памяти признается не имеющим ошибок в том случае, если вычисленная контрольная сумма совпадает с записанным значением.
Далее предпочтительно, что после программирования каждой из, по меньшей мере, двух областей содержимое памяти этих областей проверяют на отсутствие ошибок и что следующую область программируют только в том случае, если предварительно программированная область признана не имеющей ошибок. Это также обеспечивает защиту процесса программирования.
Для простоты программный модуль вместе с управляющей программой для блока управления может быть записан в конце линии по производству блоков управления в каждую из, по меньшей мере, двух областей стираемой энергонезависимой памяти.
Для экономии места в памяти можно также записывать программный модуль в конце линии по производству блоков управления только в одну из областей электрически стираемой энергонезависимой памяти и записывать программный модуль, по меньшей мере, в одну дополнительную область только перед стиранием области, в которой уже хранится программный модуль.
Пример осуществления изобретения представлен на
чертежах и более подробно поясняется в нижеследующем
описании. На чертежах представлено следующее:
фиг. 1 - блок-схема устройства для программирования стираемой энергонезависимой памяти;
фиг. 2 - схематическое изображение разделения
стираемой энергонезависимой памяти;
фиг. 3 - блок-схема процедуры программирования стираемой энергонезависимой памяти.
Изобретение относится к области автомобильных блоков управления. Они служат, например, для управления двигателем, коробкой передач, тормозной системой и т.д. Эти блоки управления содержат микроЭВМ, которые отрабатывают соответствующие управляющие программы. При использовании этих блоков управления в полевых условиях, т.е. после их установки на автомобилях и поставки последних частным клиентам, при определенных обстоятельствах возникают проблемы, не учитывавшиеся прежде при разработке. Так, например, может возникнуть неприятный для клиента в определенном диапазоне частот вращения стук двигателя, который ранее считался допустимым, например, с точки зрения оптимизации расхода топлива. Для устранения этого стука двигателя потребовалось бы изменение управляющей программы блока управления двигателем. Например, смесь пришлось бы обогатить в соответствующем диапазоне частот вращения. Впоследствии могут возникнуть другие пожелания изменений. Так, для производителей автомобилей было бы желательным выполнить блоки управления так, чтобы их можно было полностью перепрограммировать после изготовления. Перепрограммирование должно быть осуществляемым простыми средствами в мастерской. Изобретение обеспечивает решение указанных проблем.
Как показано на фиг. 1, автомобильный блок управления 10 содержит центральный процессор (ЦП) 11, стираемую энергонезависимую память 12, энергозависимую память 13, постоянную память 14 и различные схемы 15 ввода/выхода. Стираемая энергонезависимая память 12 может быть предпочтительно выполнена в виде флэшППЗУ. Этот вид памяти обеспечивает высокую плотность размещения информации, энергонезависимость, а также возможность электрического стирания содержимого. Особенность энергозависимой памяти 13 состоит в том, что в нее или по меньшей мере в одну ее часть можно записывать программные данные, к которым ЦП может иметь прямой доступ. Блок управления 10 соединен через последовательную линию 16 передачи данных с персональным компьютером 18. По отдельной линии 17 к блоку управления 10 подается напряжение для программирования стираемой энергонезависимой памяти 12.
Особенность флэш-ППЗУ состоит в том, что с ее помощью возможно лишь блочное стирание всего содержимого памяти. На фиг. 2 стираемая энергонезависимая память 12 изображена с двумя отдельно друг от друга стираемыми и программируемыми областями. Распределение памяти выбрано так, что оба блока 20, 21 одинаковы по величине. При доступе для считывания ЦП 11 к флэш-ППЗУ обеспечен произвольный доступ, так что программа блока управления может быть распределена между двумя блоками 20, 21.
При изготовлении автомобильного блока управления 10 в стираемую энергонезависимую память 12 была записана управляющая программа. Дополнительно в области 20, 21 были записаны идентичные программные модули. Эти программные модули записаны в области 22, 23, как показано на фиг. 2. Для перепрограммирования памяти 12 используют устройство на фиг. 1. ПК 18 соединяют последовательной линией 16 передачи данных с блоком управления 10. далее через отдельную присоединительную линию 17 к блоку управления 10 прикладывают напряжение программирования. Для программирования новые данные, предоставляемые заводом-изготовителем на носителе, например дискете, вводят в ПК 18. После включения блока управления 10 путем подачи определенных сигналов в программные модули данные последовательно передают из ПК 18 в блок управления 10. Конкретный процесс программирования памяти 12 описан ниже с помощью блок-схемы на фиг. 3.
Позицией 30 обозначен запуск процесса программирования. ЦП 11 отрабатывает ту часть программы, в которой область 20 памяти подвергается проверке. ЦП 11 вычисляет при этом контрольную сумму для этой области памяти. Это значение сравнивают затем со значением, также хранящимся в этой области. В блоке запроса 32 ЦП 11 определяет, следовательно, имеет ли содержимое области 20 ошибки или нет. В дальнейшем предполагается, что проверка области 20 памяти показала, что записанные в нее данные не имеют ошибок. На этапе 33 содержимое области 20 переносят в энергозависимую память 13 и запускают хранящийся в ней программный модуль. Этот программный модуль является уже известной из уровня техники программой. Под контролем этой программы осуществляется, например, связь с ПК 18. Важно, что также под контролем этой программы на этапе 34 стирают область 21, а затем перепрограммируют с новыми данными, полученными от ПК 18. После программирования области 21 происходит ее проверка на этапе 35. Проверка может быть также произведена так, что посредством области 21 вычисляют контрольную сумму, сравниваемую с контрольной суммой, полученной от ПК. Если программирование было ошибочным, то блок запроса 36 обнаруживает это, и область 21 программируется заново. Затем следуют этапы обработки 34, 35. Если программирование прошло успешно, то на этапе 37 снова происходит процесс загрузки нового программного модуля, который загружен теперь в область 23 и энергозависимую память 13. Затем запускают новый программный модуль. После этого программируют область 209 стираемой энергонезависимой памяти 12. На этапе 38 процесс стирания и программирования этой области происходит аналогично осуществляемому на этапе 34. При этом, однако, возможно улучшение установившегося режима программирования по сравнению с первоначальным режимом на этапе 34 (например, в отношении времени программирования). На этапе 39, как и на этапе 35, происходит проверка записанного в область 20 содержимого памяти. В блоке запроса 40 путем сравнения полученной контрольной суммы с заданной проверяют, надлежащим ли образом программирована область 20. Если это не так, то процесс программирования повторяют. Для этого еще раз отрабатывают этапы 38 и 39. Если процесс программирования был успешным, то вся память 12 имеет новое содержимое и процесс ее программирования на этапе 51 закончен.
В случае, если в блоке запроса 32 содержимое области 20 памяти было признано как имеющее ошибки, на этапе 41 проверяют содержимое области 21. В блоке запроса 42 принимается тогда решение, имеет ли содержимое области 21 ошибки или нет. Если содержимое области 21 признано как имеющее ошибки, то весь процесс программирования заканчивается на этапе 51. Если же содержимое области 21 признано как не имеющее ошибок, то программный модуль, находящийся в области 23, загружают в энергозависимую память 13 и запускают. Это происходит на этапе 43 аналогично осуществляемому на этапе 33. После этого на этапе 44 стирают и перепрограммируют область 20. Это также происходит аналогично этапам 34 и 38 соответственно. Результат программирования области 20 проверяют на этапе 45. Если результат проверки в блоке запроса 46 покажет, что эта область программирована ненадлежащим образом, то программирование этой области 20 повторяется. Для этого повторяют этапы обработки 44 и 45. Если программирование было успешным, то на этапе 47 программный модуль, заново записанный в область 20, загружают в энергозависимую память 13 и запускают. Во время отработки этого этапа на этапе 48 стирают область 21 и программируют с новыми данными. На этапе 49 снова проверяют эту область. Здесь тоже происходит повторение процесса программирования, если в блоке запроса 50 будет установлена ошибка в предыдущем процессе программирования. Если процесс программирования был успешным, то вся память 12 перепрограммирована и процесс программирования может быть закончен на этапе 51.
Изобретение не ограничено представленным здесь примером его осуществления. Оно имеет разнообразное применение. Так, для экономии места в стираемой энергонезависимой памяти 12 при изготовлении блока управления, т.е. при первом программировании стираемой энергонезависимой памяти 12, можно предусмотреть программный модуль только в одной, например первой, области 20. В этом случае, однако, перед стиранием области 20 необходимо переписать программный модуль на промежуточном этапе из области 20 в область 21.
Далее можно было бы, например у циклов программы, возникающих в том случае, когда блоки запроса 36, 40, 46, 50 выдают отрицательное решение, предусмотреть критерий прерывания программы, который ограничивает число прохождений циклов до определенного значения.
Программный модуль не обязательно записывать в стираемую энергонезависимую память со всеми приведенными в п. 3 формулы компонентами. В видоизмененном примере исполнения можно, напротив, записать в стираемую энергонезависимую память 12 только одну важную часть, например модуль для связи с внешним электронным устройством, модуль для контроля разрешения на доступ внешнего электронного устройства и модуль для загрузки программного модуля в энергозависимую память 13. Остальные необходимые части программного модуля могут быть простым образом догружены из внешнего электронного устройства в энергозависимую память 13.
Изобретение относится к способу полного перепрограммирования стираемой энергонезависимой памяти блока управления. Блок управления содержит по меньшей мере один центральный процессор, энергозависимую память, стираемую энергонезависимую память и схемы ввода/вывода. Программируемые данные передают к блоку управления от внешнего электронного устройства, например персонального компьютера. Блок управления программирует полученные данные в стираемую энергонезависимую память. При осуществлении способа стираемую энергонезависимую память разделяют на две отдельно стираемые и программируемые области. Перед началом процесса программирования стираемой энергонезависимой памяти программный модуль записывают в одну из отдельно стираемых и программируемых областей. Программирование одной из обеих областей происходит только тогда, когда программный модуль записан в другую из двух отдельно стираемых и программируемых областей. Технический результат изобретения заключается в том, что оно позволяет вносить дополнительные изменения в программный модуль, записанный в стираемую энергонезависимую недорогую память. 2 с. и 9 з.п.ф-лы, 3 ил.