|
Магнитолы
штатной комплектации обычно отличаются
от ширпотреба существенным запасом по
надежности. Поэтому тот факт, что в 1999-ом
году в нашей мастерской побывало в
ремонте несколько экземпляров магнитол
"AUDI Concert",
произведенных фирмой Blaupunkt, с одной и той
же проблемой: нарушение
работоспособности системы
регулирования громкостью, не мог нас не
заинтересовать. Проведя первичное
исследование указанной проблемы, мы
пришли к неутешительным выводам: только
в одном случае причиной послужил
отвернувшийся винтик в самом регуляторе
громкости, во всех же остальных случаях
причиной нарушения регулировки
громкости был выход из строя внутренней
энергонезависимой памяти (EEPROM)
основного микроконтроллера системы.
Полноценно решалась проблема только
заменой этого микросхемы на новую.
Особенно удручающе было то, что в данных
магнитолах применен микроконтроллер
фирмы Motorola серии MC68HC05, который
общепризнан как один из достаточно
надежных и вывести его из строя не так-то
просто, а в магнитолах этот
микроконтроллер являлся практически
самым дорогим по стоимости электронным
компонентом системы.
Решив
докопаться до истинных причин,
приводящих к выходу из строя внутренней
энергонезависимой памяти
микроконтроллера, на одном из
экземпляров мы провели всестороннее
исследование схемотехнических решений,
и программного обеспечения
микроконтроллера. Результаты оказались
неожиданными: основной и единственной
причиной выхода из строя
микроконтроллера явилась ошибка его
программного обеспечения на участке
программы, реализующей запись в
энергонезависимую память. Программа,
медленно убивающая микроконтроллер,
любезно подготовлена фирмой Blaupunkt.
Обрисуем
данную проблему подробнее:
Внутренняя
энергонезависимая память
микроконтроллера (EEPROM) служит для
хранения различных данных, определяющих
функционирование системы. Записанные в
такую память данные сохраняются даже
при полном снятии напряжения питания.
Как правило, в энергонезависимой памяти
хранятся частотные настройки тюнеров,
положение всех регулировок на момент
выключения аппарата (для того чтобы
аппарат даже при отключении его от
бортовой сети питания включился именно
в то состояние, в котором был отключен).
Там могут храниться начало и конец
диапазонов регулирования тембров и
общего усиления, а также различные
другие настроечные данные "привязки к
железу". Ресурс у энергонезависимой
памяти на современном этапе развития
электроники всегда ограничен
предельным количеством циклов записи.
Износ EEPROM происходит на молекулярном
уровне при выполнении процедуры "запись
в энергонезависимую память" (Write EEPROM cycle)" и
для микроконтроллеров серии MC68HC05
составляет не менее 10000 циклов. Реальное
значение числа возможных циклов записи
данных в EEPROM может превышать эту
гарантированную фирмой Motorola цифру в
несколько раз, но ресурс EEPROM все равно
конечен.
Разработчики
фирмы Blaupunkt,
обеспечивая хранение текущих значений
громкости, фадера, баланса и состояния
тембров, вместо того чтобы, как это
принято всеми разработчиками, учесть
конечность ресурса EEPROM и производить
запись во внутреннюю энергонезависимую
память текущих положений всех
перечисленных регулировок во время
выключения аппарата или, хотя бы, после
осуществления пользователем
регулировки полностью, решили
осуществлять запись данных в EEPROM после
каждой минимальной ступеньки
регулирования, то есть при перемещении
регулятора на один шаг. Таким образом,
если от минимума громкости до ее
максимума всего имеет место, например, 32
ступени, то при изменении громкости от
минимума до максимума такой
микроконтроллер произведет 32 цикла
записи в EEPROM. Если принять что в среднем
пользователь прокручивает ручку
громкости на пять ступеней, а ресурс EEPROM
не 10000, а например- 50000, то нетрудно
посчитать, что микроконтроллер в такой
системе умрет уже через 10000
прокручиваний ручки громкости, и если
предположить что за один день громкость
регулируется 10 раз, то микроконтроллер
утратит работоспособность через два-
три года.
Связанная
с регулировкой громкости и медленно "умирающая"
ячейка EEPROM нами локализована, она
находится по адресу 01A8h во внутреннем
адресном пространстве микроконтроллера.
В самом факте инициации лишних циклов
записи данных в EEPROM можно легко
убедиться, контролируя напряжение на
выводе VPP1 (EEPROM charge pump)
микроконтроллера во время выполнения
каких-нибудь звуковых регулировок.
К
тому моменту, когда ресурс EEPROM по
регулировкам громкости полностью
использован, ячейка памяти по адресу 01A8h
начинает "забывать данные".
Проявляется это в том, что магнитола
может включиться на совершенно
случайном уровне громкости, а сам
процесс регулирования становится плохо
предсказуем. Поначалу "глюки" с
уровнем громкости заметны только при
пониженных температурах, а с прогревом
аппарата процесс регулирования
нормализуется. Но процесс разрушения
молекулярной структуры EEPROM, тем не менее,
происходит при каждом повороте ручки
громкости, и поэтому через некоторое
время (от недель до месяцев) проблемы
будут иметь место уже всегда, независимо
от температуры системы. При дальнейшей
эксплуатации неисправной системы в
негодность придут расположенные рядом
физически ячейки памяти, и аппарат может
потерять работоспособность полностью.
В таблице приведены
выявленные нами модели магнитол от Blaupunkt,
в которых программное обеспечение
содержит описанную ошибку:
|