| Программатор в ремонте авто.
Современные автомобили всё больше и больше становятся похожими на
средний по размерам офис на колесах, со своими кабинетами,
ответственными за определённую задачу и объединенных локальной сетью
для координации работы. Задачи, возложенные производителем на
электронные блоки управления, становиться сложнее. Требования к
скорости и стабильности работы возрастают, что в свою очередь ведёт
к усложнению схемотехники, применению более современных компонентов.
Программное обеспечение претерпело большие изменения. Если раньше
блок обслуживал одну систему, то теперь, в современном автомобиле,
практически каждый блок объединен с остальными в одну или несколько
сетей, связанных межсетевым шлюзом, и обрабатывает данные не только
от своих датчиков, но и те, которые получает по сети от других
блоков, с которыми он связан для более гибкого решения определённой
задачи.
Усложнение элементарной базы и конструкции электронных блоков, так
или иначе, сказывается на надёжности их работы. Причём заметно
растёт число отказов, относящихся к «программным сбоям». Этому
только способствует «наш менталитет» эксплуатации, «прикурка от
пускозарядного», незатянутые клеммы АКБ, плавная посадка АКБ,
попытки запустить авто с разряженной батареей и т.д.
Если на автомобилях начала 90-х, в большинстве случаев, это всё
сходило владельцам с рук, то современный автомобиль может и не
простить таких издевательств…
Мой наставник однажды выразился так – «Современный автомобиль сродни
живому существу – сердце, запущенное однажды на заводе, при полном
отключении, снова может и не заработать».
Откуда же такие проблемы?
Вот мои личные соображения и анализ информации найденной в сети.
На истину ни в коем случае не претендую..
Схемотехника блоков управления 90-х годов предусматривала хранение
программы блока в ультрафиолетово-стираемых ПЗУ или масочном РОМ
микроконтроллера.
То есть информацию сам контроллер изменить не может даже при всём
своём желании …
Масочный процессор хранит свою программу, до полного выхода из строя
по какой- либо причине…
Память ЕЕПРОМ (EEPROM) – то есть пользовательские данные,
информация о проведённых адаптациях, коррекциях, кодировках,
привязках к каким либо определённым входным данным (к примеру,
синхронизации блоков, ID транспондеров в системах иммобилайзеров),
всё то, что на каждом экземпляре авто будет индивидуально и может
быть изменено в процессе эксплуатации, но должно быть
энергонезависимым (не факт, что именно всё, на многих коррекции при
отключении АКБ очищаются).
Память ФЛЕШ (FLASH)
Производители в последнее время отдают предпочтение именно ей, в
виду возможности более гибкого её использования.
Преимущество её в том, что микроконтроллер может изменить её данные
(перезаписать). То есть открывается возможность изготовления блоков,
конструктивно подходящих для многих моделей авто определённой
группы, но программно отличающихся. И если ранее с применением
масочного микроконтроллера или ПЗУ нужно было заказывать
изготовление определённой партии комплектующих под каждую модель
блока, то сейчас имеется возможность «прошивать» программу в блок
непосредственно с диагностического оборудования уже на выходе авто с
конвейера, а так же иметь возможность сменить программу в блоке, при
обнаружении каких либо недостатков, не учтённых ранее, без замены
самого блока.
Но обратная сторона медали – более низкая надёжность.
Есть вероятность потери данных при проблемах в бортовой электросети
автомобиля.
Сами физические процессы, при которых происходит потеря данных, мне
досконально не знакомы, но на просторах сети неоднократно попадались
версии – «при снижении напряжения питания микроконтроллера до
предела его нормального функционирования, есть вероятность сбоев,
перескакивания с инструкции на инструкцию, и как следствие записи
случайных данных в ЕЕПРОМ или ФЛЕШ».
Исходные данные естественно будут утеряны, и работоспособность блока
будет нарушена. Сети передачи данных в современном авто довольно
надёжны, но и от нарушений в их работе никто не застрахован.
Некоторые блоки в авто могут быть связанны динамически меняющимся
кодом , в системах иммобилайзера как правило , и при нарушении связи
между блоками, даже кратковременно , в момент обмена данными , может
привести к рассогласованию блоков и , как следствие, авто перестаёт
запускаться родным ключём.
В блоках начала 90-х годов выпуска используются
ультрафиолетово-стираемые ПЗУ для хранения программы блока. Их срок
службы заявлен Производителем около 10 лет. Многие ПЗУ выходят из
строя от своей старости и блок перестаёт функционировать.
Владельцы современных автомобилей, находясь в регионах, далёких от
дилерских станций и крупных СТО, располагающих необходимым
оборудованием и возможностями в разумные сроки и за приемлемую
стоимость заказать, заменить и закодировать блок для автомобиля, -
они оказываются в затруднительном положении.
Хотя, для восстановления работоспособности порой бывает достаточно
поменять значение всего лишь 1 байта информации.
Остаётся только один вариант – работа с программой или данными блока
непосредственно на «физическом уровне», то есть программатором.
Это устройство позволяет изменять данные в самих носителях
информации – микросхемах УФПЗУ, ЕЕПРОМ, ФЛЕШ, а так же внутренних
областей памяти микроконтроллеров.
Описывать разновидности и возможности существующих программаторов в
этой статье я не буду, так как их довольно много и каждый имеет свои
плюсы и минусы.
Остановлюсь на кратком описании комплекса «OMEGA».
Данным комплексом можно читать и программировать параллельные (ПЗУ,
ФЛЕШ), последовательные (ЕЕПРОМ), микроконтроллеры MOTOROLA и TEXAS
INSTRUMENTS.
Конструкция комплекса – блочная. За основу взят базовый блок ,
дополняемый модулями и адаптерами под конкретную задачу.
Многообразие разновидностей корпусов электронных компонентов не
располагает к полной универсальности, но каждый из компонентов или
их группа , работа с которыми заявлена разработчиком, оснащается
своим адаптером или описанием для внутрисхемной работы.
Кстати о внутрисхемном программировании.
Комплекс позволяет работать со многими компонентами не выпаивая их
из устройства.
К ним относятся ЕЕПРОМ и микроконтроллеры.
Конечно не 100% любой контроллер или ЕЕПРОМ могут быть прочитаны
внутрисхемно, в некоторых случаях это может не позволить конструкция
устройства , но разработчик постарался как можно более упростить
данную задачу..
Это очень кстати ,если микроконтроллер имеет около 100 «ног» с
мелким шагом или доступ для демонтажа затруднён. Порой разборка и
сборка устройства не проходят без последствий.
Протоколы чтения /записи микросхем у разных серий и производителей
различаются, встречаются узкоспециализированные микросхемы, которые
кроме как в авто, не встретишь нигде. Радует наличие модулей для
таких случаев, когда любой другой серийный программатор
расписывается в бессилии. На некоторых микроконтроллерах встречается
защита от чтения, установленная производителем, чтобы помешать
прочитать содержимое внутренних областей памяти. Заявлен и реально
работает обход такой защиты, если возникает необходимость работы с
таким микроконтроллером.
Из дополнительных модулей не могу не отметить логический
анализатор/генератор и частотомер.

Окно программатора с дампом памяти микросхемы ЕЕПРОМ 93С66.

Окно программатора с дампом памяти ROM микроконтроллера MOTOROLA
В умелых руках, логический анализатор один из мощнейших инструментов
для изучения работы электронных устройств. Со встроенными декодерами
протоколов этот инструмент становиться гораздо приветливее и
пользователь избавляется от необходимости «ковыряния» в нулях и
еденицах записанного лога. Информация выдаётся в удобно
воспринимаемом виде.


Логический анализатор с открытым окном декодера и различными
представлениями одних и тех же данных.
В данном примере, в анализе записанного лога обмена микроконтроллера
и ЕЕПРОМ мы видим, к каким ячейкам памяти обращался микроконтроллер,
и какие изменения он внёс в содержимое. Появляется реальная
возможность посмотреть на работающем устройстве, какие из ячеек
читаются (или пишутся) в процессе выполнения каких-либо действий.
Работа с данным прибором подразумевает уровень знаний современной
микропроцессорной техники и опыта работы с ней. Всего знать и
понимать невозможно, поэтому форуму поддержки уделено особое
внимание.
Сайт разработчика и форум http://www.cnc-lab.com/
Автор статьи:
Бочковский Алексей Иванович
СОЮЗ
АВТОМОБИЛЬНЫХ ДИАГНОСТОВ |