В последнее время среди сервисных специалистов стала актуальной тема программных неисправностей бытовой техники, в частности, стиральных машин (СМ). Основным управляющим узлом в составе современной СМ является электронный модуль (ЭМ), стоимость которого весьма высока и, соответственно, его ремонт экономически целесообразен. Аппаратные неисправности ЭМ решаются традиционными методами и средствами, а вот для устранения программных ошибок необходим программатор, специализированное программное обеспечение (ПО) и доступ к банку прошивок. Описываемый в этой статье программатор Elinv-prog облегчит работу мастера стиральных машин при устранении программных неисправностей ЭМ. Схем программаторов с интерфейсом I2C можно найти много, однако не все они предназначены для внутрисхемного программирования (ISP - англ. In-System Programming) энергонезависимой памяти ЭМ СМ. Программатор Elinv-prog специально создавался для программирования энергонезависимой памяти в составе ЭМ СМ и поэтому имеет свои особенности, которые будут описаны в статье. Существует прототип этого программатора, созданный инженерами завода АТЛАНТ, который по своим техническим параметрам (внешнее питание, связь с ПК через COM-порт и др.) уступает Elinv-prog.
Описание программатора Elinv-prog
С помощью простого и дешевого программатора Elinv-prog можно проводить операции чтения/записи энергонезависимой памяти в составе ЭМ таких марок, как АТЛАНТ, Candy, Electrolux/Zanussi/AEG, Hansa, и т.п. Причем он позволяет работать с некоторыми типами ЭМ без их отключения из схемы СМ. Устройство соответствует всем современным запросам, имеет высокие технические характеристики, малые габариты и массу. Изначально программатор был сконструирован для стиральных машин АТЛАНТ, ЭМ для которых изготавливаются компанией INVENSYS, но он также подходит и к модулям Procont, используемым в некоторых линейках СМ Electrolux. Основное достоинство этого программатора в том, что он позволяет обмениваться информацией с ИМС энергонезависимой памяти серии 24Cxx в ЭМ по шине I2C внутрисхемно, без демонтажа программируемой микросхемы, правда, выводы ИМС должны быть выведены на внешний сервисный соединитель. Можно обойтись и без этого соединителя, если информационные линии с программатора и питание подключить непосредственно к выводам микросхемы памяти на ЭМ. Необходимо иметь в виду, что этот программатор не предназначен для программирования памяти, встроенной в микроконтроллер (например, в ЭМ СМ на платформе ARCADIA) или, если тип памяти отличается от серии 24Схх (например, 93С86, которая используется в СМ на платформе EVO-I).
Внешний вид программатора Elinv-prog показан на рис. 1.
Рис. 1. Внешний вид программатора Elinv-prog, подключенного к ЭМ СМ АТЛАНТ
Перечислим основные технические особенности программатора:
- связь с ПК через интерфейс USB 2.0/1.1;
- не требует внешних источников питания, питание берется от порта USB ПК. Напряжение питания, которое подается на программируемую микросхему, составляет 3,3 В;
- обслуживает широкий спектр СМ таких марок, как АТЛАНТ, Candy, lectrolux/Zanussi/AEG, Hansa;
- автоматическое управление питанием;
- позволяет внутрисхемно программировать память ЭМ INVENSYS;
- имеется токовая защита по питанию (50 мА), например, вследствие неправильного подключения соединительного разъема от программатора к ЭМ (только для полной версии схемы программатора);
- возможность подключения к ЭМ (СМ) в "горячем" режиме (только для полной версии схемы программатора);
- I2С-совместимый внешний интерфейс для модулей INVENSYS. Возможность программирования микросхем энергонезависимой памяти в составе ЭМ (внутрисхемно);
- наличие индикаторов состояний;
- универсальный приборный разъем для сменных переходников под разные типы ЭМ;
- простота и удобство использования.
Программатор построен на основе распространенной микросхемы FT232RL, представляющей собой аппаратный преобразователь USB в стандартный интерфейс RS-232 (COM-порт). В данном случае схема включения микросхемы выполнена в варианте преобразователя USB/COM. Для работы микросхемы используются готовые драйверы от производителя Future Technology Devices International Ltd. (FTDI). Программатор построен по типовой схеме популярного устройства PonyProg от Клаудио Ланконелли и поэтому для его управления можно использовать стандартное ПО этого разработчика.
Принципиальная электрическая схема полной версии программатора Elinv-prog показана на рис. 2.
Рис. 2. Принципиальная электрическая схема программатора Elinv-prog
Если внимательно изучить схему программатора, можно заметить, что она является копией классической версии I2C-программатора PonyProg для памяти типа 24Схх, но здесь также присутствуют и другие электронные компоненты, назначение которых рассмотрим более подробно. Как известно, оригинальная версия программатора PonyProg допускает подключение программируемых микросхем в "горячем" режиме благодаря отрицательным напряжениям самого COM-порта. Однако выходы микросхемы FT232RL (IC1 на рис. 1) имеют TTL-совместимые уровни, которые недопустимо так коммутировать. Схемотехнические решения, реализованные в программаторе Elinv-prog, позволяют решить проблему подключения к микросхеме памяти в составе ЭМ в "горячем" режиме, используя Z-состояния.
Принципиальная электрическая схема программатора Elinv-prog состоит из следующих элементов и цепей:
1. Микросхема IC1 (FT232RL). Она, собственно, и является преобразователем интерфейсов USB/COM. Для удешевления конструкции программатора и простоты сборки была выбрана бюджетная версия этого преобразователя (с окончанием "RL") в корпусе SSOP-28, которая не требует обязательного использования кварцевого резонатора.
2. Управляемый стабилизатор IC2 (LP2980AIM-3.3) выполняет функции включения/отключения питания, стабилизацию питающего напряжения 3,3 В и защиты от перегрузок. Выходной ток микросхемы - не более 50 мА.
3. Микросхема IC3 (74LVC2G07DW) представляет собой 2-канальный буферный формирователь с открытым стоком и выполняет функцию согласования выходов IC1 с линиями шины I2C. Также этот формирователь позволяет подключать информационные линии программатора к нагрузке (ЭМ, микросхеме памяти) в "горячем" режиме.
4. Светодиодные индикаторы LED1/2 служат для индикации состояний при работе прибора.
5. Цепь D1 C8 представляет собой детектор для включения стабилизатора IC2.
Кроме этого, в приборе имеются соединители JACK1 и CN1 для соединения программатора с ПК и ЭМ. Конденсаторы C4, C6, C7, C10 и дроссель FB1 выполняют функцию фильтров по питанию. Остальные внешние компоненты микросхемы IC1 включены по типовой схеме.
Теперь ответим на вопрос - почему типовые схемы I2С-программаторов не являются заменой Elinv-prog? Ответ ниже:
1. На принципиальной схеме Elinv-prog (рис. 2) можно заметить, что на линиях SCL и SDA, подключенных к соединителю CN1, отсутствуют "подтягивающие" резисторы (в случае использования программатора в других целях на печатной плате устройства для этих резисторов предусмотрены посадочные места). Их отсутствие связано с тем, что эти резисторы (или их диодные эквиваленты) уже есть на самом ЭМ СМ, поэтому необходимость в них отпадает.
2. Уровень напряжения для питания микросхем памяти был выбран намеренно. Дело в том, к этим же линиям питания подключен микроконтроллер ЭМ. Если на них подать 5 В, микроконтроллер включится, захватит шину как I2С-мастер и будет вмешиваться в обмен данными - два активных устройства (микроконтроллер и программатор) будут мешать друг другу. Если же подать питающее напряжение 3,3 В, микроконтроллеру этого напряжения будет недостаточно и тем самым и он автоматически будет исключен из информационного обмена по шине I2C. Уровень напряжения 3,3 В для памяти 24Схх, применяемой в ЭМ, является нормой (см. техническое описание). Таким образом, при подаче питающего напряжения 3,3 В на ЭМ обеспечивается полноценный обмен информацией между программатором и микросхемой памяти.
При разработке программатора Elinv-prog для обеспечения работы шины I2C опытным путем была выявлена необходимость установки резистора R6 (рис. 2). Его назначение не совсем понятно, но без него программатор не работает. Как оказалось, R6 необходим для согласования начальной логики для управляющего ПО. Дело в том, что при "висящем" входном выводе IC1 ПО расценивает это как лог. "1", а при считывании все нормализуется.
Конструкция и детали
Устройство собрано на однослойной печатной плате размером 45,7x29,2 мм под стандартную корпусную коробку BOX-KA16 (50x35x22 мм), которая доступна в торговых сетях по продаже радиокомпонентов. В устройстве используются компоненты, предназначенные для поверхностного монтажа (SMD), кроме C4, CN1, LED1, LED2, JACK1, которые устанавливаются с другой стороны платы. Рисунок печатной платы с видом снизу (bottom) показан на рис. 3, на рис. 4 - расположение компонентов на этой же стороне платы (прямоугольники с чертой - это перемычки), а на рис. 5 - расположение компонентов с внешней стороны платы.
Рис. 3. Рисунок печатной платы программатора Elinv-prog
Рис. 4. Расположение компонентов с обратной стороны платы программатора
Рис. 5. Расположение компонентов с внешней стороны платы программатора
Следует обратить внимание, что все компоненты, отмеченные на рис. 2 звездочкой, устанавливать необязательно, но желательно, так как они необходимы для стабильной работы программатора. В качестве дросселя FB1 рекомендуется установить ферритовую трубку с пропущенным в нее одножильным проводом. SMD-резисторы и перемычки (резисторы номиналом 0 Ом) имеют типоразмер 0603. Разъем USB - стандартный принтерный, тип светодиодов тоже некритичен.
Рассмотрим упрощенный вариант схемы программатора. Для этого выполняют следующие доработки:
- вместо сдвоенного диода D1 устанавливают любые универсальные диоды (например, 1N4148WS), причем правый на рис. 2 диод можно не устанавливать;
- исключают микросхему IC2, в этом случае замыкают перемычку JMP1. Эта перемычка подключает к схеме встроенный в микросхему IC1 стабилизатор 3,3 В. Однако при подобном схемном решении подключать программатор в "горячем" режиме нельзя, так как в случае внешнего замыкания по питанию (ток более 50 мА) выйдет из строя микросхема IC1 (во встроенном в микросхему стабилизаторе 3,3 В отсутствует защита по току);
- формирователь IC3 можно заменить двумя диодами 1N4148WS, их включают катодами к микросхеме IC1;
- дроссель FB1 можно заменить перемычкой. Принципиальная электрическая схема упрощенной версии программатора показана на рис. 6 (на ней не показана замена формирователя IC3 диодами).
Рис. 6. Принципиальная электрическая схема упрощенной версии программатора
Настройка и эксплуатация
После сборки программатора необходимо запрограммировать микросхему IC1. Для этого загружают и инсталлируют драйвер D2XX от FTDI, который доступен по адресу: http://www.ftdichip.com/Drivers/D2XX.htm.
Если в процессе инсталляции будет предложен вариант установки второго драйвера виртуального COM-порта (VCP), соглашаются с этим, так как он нужен для работы. Если предложения установки драйвера VCP не было, активируют эту операцию вручную. Для этого в настройках драйвера D2XX устанавливают галочку VCP, затем отключают/включают программатор к ПК. После этого на ПК появится сообщение с предложением на установку VCP В настройках следят за тем, чтобы номер COM-порта не превышал 4, иначе невозможно будет настроить под него PonyProg. Если драйвер был установлен верно, загорится светодиод LED2. VCP-драйвер в том же архиве что и D2XX, его можно установить вручную как любой драйвер.
Затем загружают и запускают специальную утилиту MProg, расположенную по адресу: http://www.ftdichip.com/Support/Utilities.htm. Эта утилита необходима для программирования микросхем памяти.
Интерфейс программы простой и понятный, изменять какие-либо настройки не рекомендуется. Необходимо отметить, что если будут изменены настройки кварцевого резонатора (они будут отличаться от настройки по умолчанию), то вследствие этого микросхема FT232RL выйдет из строя.
Запускают программу PonyProg, настраивают ее на виртуальный COM-порт (см выше), настройки инверсии не изменяют (по умолчанию), также необходимо провести калибровку. Затем подключают программатор к ЭМ СМ и ПК в любой последовательности и начинают работу.
Примечания.
1. При работе с программатором СМ должна быть ОБЕСТОЧЕНА!
2. Если на ПК установлена ОС Windows 7, то PonyProg под ее управлением работать не будет. Для решения этой проблемы можно использовать программу IC-Prog с активированной программной поддержкой COM-порта.
3. Работа эмулятора COM-порта отличается от функционирования физического порта. С виртуальным портом управляющее ПО по непонятной причине работают немного дольше - это считается нормой.
4. При операциях обмена данными с программатором зажигается индикатор LED1, пока этот индикатор не погаснет, не рекомендуется проводить коммутацию соединителей программатора.
5. Длина соединительных проводов интерфейса I2C должна быть не более 1,5...2 м.
Для СМ АТЛАНТ можно изготовить переходник к сервисному соединителю J5 ЭМ, назначение контактов соединителя приведено в [1]. Для СМ других марок (Electrolux и др.) линии от программатора придется напаивать на выводы микросхемы энергонезависимой памяти или на соответствующие контрольные точки на плате ЭМ (при их наличии). Следует отметить, что данный программатор можно применять в любой другой технике (ТВ, видеоаппаратура и др.) для внутрисхемного программирования, при условии, что ток по линии питания на выходе программатора не будет превышать 50 мА.
Заключение
За все время эксплуатации программатора не было обнаружено ни единого сбоя или ошибочного чтения/записи данных. В планах автора - создание автономного программатора с LCD-дисплеем и накопителем USB-flash, который бы определялся компьютером, как обычная "флешка". Изначально задумывалось, что банк прошивок будет находиться в этом программаторе, что очень актуально при работе у клиента на дому.
Литература и интернет-ресурсы
1. А. Ростов, В. Федоров. "Электронный модуль стиральных машин АТЛАНТ серий 35M102-xxx, 45У82/102-ххх, 50C85/1022-xxx", "Ремонт&Сервис", №8, 2010 г.
2. Официальный сайт FTDI (Future Technology Devices International Ltd.) - http://www.ftdichip.com
3. Техническое описание микросхемы 74LVC2G07DW -
http://www.diodes.com/datasheets/74LVC2G07.pdf.
4. Техническое описание микросхемы LP2980 -http://www.national.com/ds/LP/LP2980.pdf.
5. Официальный сайт программы PonyProg2000 от Кладио Ланконелли - http://www.lancos.com.
6. Официальный сайт программы IC-Prog от Бони Годзена - http://www.ic-prog.com.
Автор: Владимир Иншаков (г. Елец)
Источник: Ремонт и сервис