Перепрошивка PIC-контроллера купюроприёмника MEI SC66 программатором

Купюроприёмник MEI SC66 может потребовать обновления или восстановления прошивки после замены системной платы, сбоя памяти, неудачной калибровки либо установки совместимого комплекта валют. В такой ситуации программатор используется не как универсальное средство «оживления», а как инструмент работы с конкретным микроконтроллером, его областью памяти и предусмотренным производителем интерфейсом.

Перед началом важно установить точную модификацию устройства: валютную конфигурацию, версию платы, тип разъёма, маркировку PIC-контроллера и назначение контактных площадок. Внешне похожие платы SC66 могут иметь разные распиновки и программное обеспечение, поэтому файл прошивки от другой ревизии способен привести к полной неработоспособности узла.

Практические сведения по ремонту купюроприёмников, платёжных модулей и игрового оборудования собраны на техническом портале SlotService. Однако любые операции с памятью PIC следует выполнять по сервисной документации, с резервной копией исходных данных и с соблюдением требований производителя оборудования.

Проверка платы и идентификация контроллера

Сначала купюроприёмник отключают от автомата, терминала или игрового аппарата и снимают статическое напряжение. Рабочее место должно быть защищено от электростатического разряда: пригодятся антистатический браслет, заземлённый коврик и исправный лабораторный блок питания. Подключать программатор к плате, которая одновременно получает питание от автомата, нельзя.

После демонтажа крышки осматривают системную плату под увеличением. Находят микроконтроллер в корпусе DIP, SOIC, TQFP или другом исполнении, считывают полную маркировку и фотографируют расположение элементов. Помимо обозначения PIC важны суффиксы, дата-код, номер ревизии платы и маркировка разъёма. Нельзя считать, что любой контроллер Microchip на плате поддерживает одну и ту же схему внутрисхемного программирования.

У MEI SC66 точки ICSP могут быть выполнены отдельным разъёмом, рядом контактных площадок или технологическим коннектором. Перед подключением прозванивают цепи VDD, VSS, MCLR/VPP, ICSPCLK и ICSPDAT либо соответствующие линии, предусмотренные для данного семейства PIC. Номиналы и названия сигналов сверяют с документацией на микроконтроллер, а не определяют только по положению контактов.

Если маркировка стёрта, плата имеет следы ремонта или обнаружены перемычки, сначала составляют схему подключения. Ошибка на линии питания или подача высокого напряжения VPP на неподходящий контакт часто повреждает сам PIC и соседние стабилизаторы. Фотография рабочего состояния платы до вмешательства помогает восстановить соединения после снятия защитных элементов.

Подготовка программатора и рабочего стенда

Для прошивки нужен программатор, поддерживающий конкретное семейство PIC и требуемый режим ICSP. Это может быть оригинальное устройство Microchip или совместимый инструмент с проверенной поддержкой нужного корпуса, напряжения питания и алгоритма программирования. Устаревшие универсальные программаторы иногда показывают успешную запись, но фактически работают с неполным набором команд или неверным уровнем VPP.

Питание платы лучше подавать от лабораторного источника с ограничением тока, если сервисная документация допускает внутрисхемную прошивку. Напряжение выбирают по схеме SC66 и характеристикам установленного PIC. Программатор и плата должны иметь общий VSS, а источник питания не должен конфликтовать с выходом VDD программатора. При сомнениях используют режим «питание от внешнего источника» и заранее проверяют отсутствие паразитных напряжений.

Перед чтением отключают цепи, которые могут удерживать линии ICSP в активном состоянии: драйверы, преобразователи интерфейсов, внешние контроллеры или периферийные узлы. Иногда достаточно снять один резисторный перемычечный элемент, иногда требуется отсоединить шлейф. Самовольное выпаивание микросхемы без необходимости нежелательно: перегрев повышает риск повреждения дорожек и многослойной платы.

Программное обеспечение программатора должно быть установлено на отдельный сервисный компьютер с зафиксированной версией драйверов. Для удалённого стенда, где используется старый модем и требуется вспомогательная информация по сетевому соединению, можно обратиться к справочным материалам по 3G, но сетевые утилиты не заменяют специализированное ПО для PIC и не участвуют в записи прошивки.

Считывание содержимого и сохранение резервной копии

До стирания памяти выполняют операцию Read и сохраняют полученный файл в нескольких местах. Имя копии формируют с указанием модели купюроприёмника, номера платы, маркировки PIC, даты и состояния устройства. Например, в названии полезно зафиксировать, что это исходная память неисправного экземпляра, а не уже проверенный мастер-образ.

Считывают все доступные области: программную память, EEPROM данных, конфигурационные слова и идентификаторные области, если программатор их поддерживает. При включённых битах защиты содержимое может читаться как пустое или закрытое. В таком случае нельзя считать нулевой файл полноценной резервной копией. Защитные фьюзы, коды конфигурации и серийные параметры иногда имеют критическое значение для запуска устройства.

После чтения выполняют повторную проверку: сравнивают два дампа, контролируют контрольную сумму и размер файла. Если результаты различаются, причина может быть в плохом контакте, нестабильном питании, наводках или неверно выбранной модели PIC. Переходить к стиранию при нестабильном чтении нельзя.

Дамп рабочей платы не всегда является готовой прошивкой для другого SC66. В EEPROM могут храниться данные калибровки оптических датчиков, параметры валюты, серийный номер, счётчики и индивидуальные настройки. Поэтому безопаснее разделять заводской образ программы и пользовательские данные, если это позволяет формат памяти и документация. При отсутствии официального описания структуры не следует автоматически переносить EEPROM между разными устройствами.

Запись прошивки и контроль конфигурации

Файл для программирования выбирают только по совпадению модели, ревизии платы, версии загрузчика и установленного микроконтроллера. Формат HEX, BIN или иной контейнер сам по себе не подтверждает совместимость. Прошивка, предназначенная для другого номинала напряжения, валютного набора или механической версии, может записаться без ошибки, но нарушить распознавание банкнот и работу моторов.

Перед записью фиксируют текущие configuration bits. К ним могут относиться источник тактового сигнала, сторожевой таймер, защита памяти, режим MCLR, brown-out reset и параметры отладочного интерфейса. Если утилита предлагает автоматически изменить конфигурацию, этот вариант отключают, пока значения не сверены с сервисным файлом. Неправильный осциллятор нередко выглядит как «мертвый» контроллер, хотя программа была записана корректно.

Обычно последовательность выглядит так: выбрать точную модель PIC, считать и сохранить память, стереть микросхему, загрузить проверенный файл, записать программную область и EEPROM согласно инструкции, затем выполнить Verify. При наличии отдельного мастер-образа не следует включать автоматическую очистку всех областей, если часть данных должна сохраниться.

Если запись прерывается, не пытаются многократно запускать её на той же схеме без диагностики. Проверяют VDD под нагрузкой, сигнал VPP, общий провод, длину кабеля и состояние контактов. Кабель ICSP делают коротким, а рядом с питающими выводами используют развязывающие конденсаторы, если они предусмотрены схемой. После успешной верификации питание отключают и возвращают снятые перемычки, шлейфы и защитные элементы.

Проверка купюроприёмника после прошивки

Первый запуск выполняют на стенде, а не сразу в игровом автомате. Контролируют ток потребления, отсутствие нагрева PIC и стабилизаторов, реакцию светодиодов, работу загрузки и обмен по интерфейсу. После этого проверяют прохождение банкноты через тракт, включение двигателя, работу датчиков входа и выхода, отбраковку посторонних предметов и корректное завершение операции.

Купюроприёмник должен тестироваться с теми номиналами и валютой, под которые предназначен записанный образ. Для каждого номинала фиксируют результат: принятая банкнота, направление укладки, сигнал подтверждения, возврат, код ошибки и время обработки. Если после прошивки аппарат запускается, но перестаёт принимать деньги, причиной может быть не сам PIC, а несовместимые таблицы валюты, EEPROM или нарушенная калибровка датчиков.

Шум, рывки транспортного двигателя и нестабильное втягивание банкноты не устраняются прошивкой. Перед повторной записью следует исключить механику: загрязнение роликов, износ втулок, перекос направляющих и сухие подшипники. Практическое описание устранения шума при работе помогает отделить механическую неисправность от программного сбоя.

Точно так же нельзя путать ошибку SC66 с неисправностью другого узла автомата. Например, при диагностике JCM проверка датчиков и двигателя hopper относится к монетному бункеру, а не к купюроприёмнику MEI. Разделение узлов по симптомам предотвращает замену исправной прошивки вместо ремонта двигателя, датчика или кабеля.

Типичные ошибки и восстановление платы

Наиболее частая ошибка — выбор файла по внешнему сходству корпуса. Далее идут неверная распиновка ICSP, отсутствие общего провода, питание от двух источников, игнорирование EEPROM и запись конфигурационных битов «по умолчанию». Отдельный риск создаёт попытка прошить микроконтроллер на подключённом автомате, где линии интерфейса заняты основной платой или преобразователем протокола.

Если программатор не видит PIC, проверяют напряжение VDD непосредственно на выводах микросхемы, целостность VSS, уровень MCLR/VPP и наличие короткого замыкания на сигнальных линиях. Затем отключают периферию и повторяют идентификацию. При нестабильном определении нельзя сразу считать контроллер неисправным: причиной часто оказывается просадка питания или контакт в переходнике.

Если PIC определяется, но Verify завершается ошибкой, уменьшают скорость программирования, укорачивают кабель, очищают контактные площадки и проверяют поддержку конкретного корпуса. Несовпадение данных только в отдельных адресах может указывать на дефект памяти, тогда как хаотические ошибки по всему диапазону чаще связаны с питанием или связью.

При полном отсутствии запуска после успешной записи возвращаются к резервной копии и сравнивают конфигурационные слова, EEPROM и контрольные суммы. Нельзя бесконечно менять версии прошивки без журнала операций. Для каждого экземпляра записывают исходный дамп, применённый файл, настройки программатора, результаты Verify и поведение устройства на стенде. Такая история ремонта позволяет восстановить рабочую конфигурацию без повторения случайных экспериментов.

Надёжная перепрошивка MEI SC66 начинается с идентификации платы и заканчивается функциональным тестом всех узлов, а не сообщением программатора об успешной записи. Прошивка должна соответствовать аппаратной ревизии, резервные данные — быть сохранены, а механические и электрические неисправности — исключены отдельно.

Первым практическим шагом следует обесточить SC66, сфотографировать плату и составить таблицу соответствия маркировки PIC, контактов ICSP и напряжений перед подключением программатора.