Программатор Сергея Вертьянова — это простое самодельное устройство для чтения и записи микросхем SPI Flash (серий 25xxx), которое подключается к LPT-порту компьютера и широко применяется при восстановлении BIOS материнских плат, прошивке видеокарт, спутниковых тюнеров и DVD-проигрывателей. Схема получила распространение на профильных форумах по ремонту электроники благодаря минимальному количеству деталей: фактически это несколько резисторов, разъём и провода, соединяющие параллельный порт с микросхемой памяти напрямую.
Устройство относится к классу так называемых «прямых» программаторов без собственного контроллера: всю работу по формированию сигналов выполняет программное обеспечение на ПК, дергая линии LPT-порта. Из этого следуют и главные ограничения — нужен компьютер с «железным» параллельным портом (PCI-карты и переходники USB-LPT обычно не подходят), а также короткие провода и стабильное питание микросхемы. Ниже разберём, для каких задач подходит этот программатор, как его собрать и как избежать типовых ошибок при прошивке.
Назначение и область применения
Основная задача программатора — работа с микросхемами последовательной флеш-памяти с интерфейсом SPI. Это корпуса SOIC-8, SOIC-16 и аналогичные, в которых хранится прошивка устройства. Типичные сценарии использования:
- 🔧 восстановление материнской платы после неудачного обновления BIOS;
- 📺 прошивка памяти мониторов, телевизоров и DVD-техники;
- 🛰️ перепрошивка спутниковых ресиверов и тюнеров;
- 🎮 восстановление видеокарт после экспериментов с видеоBIOS;
- 💾 чтение и сохранение дампа прошивки перед ремонтом или модификацией.
Важно понимать границу применимости: программатор рассчитан именно на SPI Flash с напряжением питания 3,3 В (и отдельными оговорками — на чипы, толерантные к уровням LPT). Для параллельных флешей, микросхем 24xx (I²C) или 93xx (Microwire) существуют другие схемы, и подключать их к этой конструкции напрямую нельзя.
Принцип работы и устройство схемы
Схема предельно проста: сигнальные линии параллельного порта (MOSI, MISO, SCK, CS) через токоограничительные резисторы соединяются с соответствующими выводами микросхемы памяти. Резисторы согласуют уровни и защищают порт от перегрузки. Питание микросхемы обычно берётся отдельно — от стабилизированного источника 3,3 В, поскольку сам LPT-порт питание нагрузки не обеспечивает.
Программная часть формирует протокол SPI программно, переключая биты регистров порта. Поэтому критичны два условия: прямой доступ к аппаратным адресам LPT (что проблематично в современных 64-битных Windows без специальных драйверов) и короткие соединительные провода — длинные шлейфы приводят к ошибкам чтения и записи из-за наводок и рассогласования.
Почему не работают переходники USB-LPT
Такие переходники эмулируют порт только на уровне принтерного протокола и не дают прямого доступа к регистрам по аппаратным адресам. Программное «дергание» отдельных линий через них невозможно, поэтому программатор требует либо встроенный LPT на материнской плате, либо (в ряде случаев) PCI-карту с реальными адресами порта — совместимость нужно проверять на конкретной связке железа и софта.
Что понадобится для сборки
Перед сборкой подготовьте компоненты и проверьте наличие подходящего компьютера. Точные номиналы резисторов и распиновку берите из исходного описания схемы автора или проверенных источников — разные версии конструкции могут незначительно отличаться.
- 🔌 разъём DB-25 (папа) для подключения к LPT-порту;
- 🧵 резисторы для согласования линий — номиналы по схеме автора;
- 🔋 стабилизированный источник питания 3,3 В для микросхемы;
- 📎 панелька SOIC-8 или прищепка-клипса для подключения без выпаивания;
- 💻 компьютер со встроенным LPT-портом и совместимой ОС.
⚠️ Внимание: питание 5 В вместо 3,3 В способно необратимо повредить микросхему SPI Flash. Перед первым подключением обязательно измерьте напряжение на панельке мультиметром, а не полагайтесь на маркировку блока питания.
Подключение микросхемы и подготовка к прошивке
Микросхему можно подключить двумя способами: выпаять из устройства и установить в панельку либо подключиться прямо на плате через клипсу. Второй способ удобнее, но не всегда работает: соседние элементы на плате могут мешать, а питание всей платы через клипсу перегружает источник. Если чтение на плате нестабильно — выпаивайте чип.
Общий порядок действий выглядит так:
☑️ Подготовка к прошивке SPI Flash
Ключевой диагностический признак исправной сборки — программа корректно читает ID микросхемы (код производителя и модели). Если вместо ID читаются нули или сплошные единицы, ищите проблему в монтаже, питании или длине проводов, а не пытайтесь писать прошивку «вслепую».
Работа с программным обеспечением
Для этого семейства схем используется софт, работающий с LPT-портом напрямую, — классическим примером считается SPIPGM и аналогичные утилиты, запускаемые из командной строки. Типовая логика команд: сначала идентификация чипа, затем чтение, стирание и только потом запись с верификацией. Пример последовательности (синтаксис зависит от конкретной утилиты — сверяйтесь с её справкой):
spipgm /i rem определение микросхемы
spipgm /r dump.bin rem чтение в файл
spipgm /v dump.bin rem сверка содержимого с файлом
На 64-битных версиях Windows прямой доступ к порту заблокирован — программы могут не видеть LPT без специального драйвера порта или вообще потребовать 32-битную систему либо DOS-загрузку. Это не неисправность программатора, а ограничение операционной системы. Практичные варианты: старый ПК с 32-битной ОС или загрузочная DOS-флешка.
⚠️ Внимание: запись новой прошивки без предварительно сохранённого и проверенного дампа — необратимый риск. Если запись прервётся или файл окажется «чужим», устройство перестанет включаться, а восстановить родную прошивку будет нечем.
Типичные проблемы и их диагностика
Большинство неполадок связано не со схемой, а с окружением: портом, ОС, проводами и питанием. Сводная таблица поможет быстро сориентироваться:
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Чип не определяется, читаются нули | Нет контакта или неверная распиновка | Монтаж, питание 3,3 В, соответствие выводов |
| Читаются только единицы (FF) | Линия MISO не подключена или чип обесточен | Целостность провода данных, питание микросхемы |
| Дампы при повторном чтении различаются | Длинные провода, наводки, просадка питания | Укоротить провода, добавить конденсатор по питанию |
| Программа не видит LPT-порт | Ограничение 64-битной ОС или отключенный порт | BIOS/настройки порта, 32-битная ОС или DOS |
| Запись проходит, верификация — нет | Нестабильный контакт или неисправный чип | Повторить стирание, проверить панельку, заменить чип |
Отдельный случай — прошивка «на плате» через клипсу. Если устройство имеет собственный стабилизатор, питающий чип, внешнее питание может конфликтовать с ним. В такой ситуации безопаснее выпаять микросхему или подробно изучить схему конкретного устройства до подключения.
Альтернативы и когда стоит выбрать другое решение
LPT-программатор оправдан, если под рукой есть старый компьютер с параллельным портом и нужно разово прошить SPI Flash практически бесплатно. Однако у подхода есть объективные минусы: зависимость от устаревающего «железа», невысокая скорость, чувствительность к длине проводов и отсутствие защиты от ошибок подключения.
Если прошивать микросхемы приходится регулярно, разумнее рассмотреть недорогие USB-программаторы на базе готовых контроллеров (например, популярные решения семейства CH341 и аналоги). Они работают с современными ОС, не требуют LPT и поддерживаются актуальным софтом с графическим интерфейсом. Схема Вертьянова при этом остаётся полезной как аварийный вариант «из подручных деталей» и как наглядный пример устройства интерфейса SPI.
Часто задаваемые вопросы
Подойдёт ли программатор Вертьянова для микросхем 24-й серии (I²C)?
Нет. Схема рассчитана на протокол SPI и микросхемы серии 25xxx. Для чипов 24xx нужны другие схемы и другой софт, работающие по шине I²C.
Можно ли использовать переходник USB-LPT?
Практически всегда — нет. Такие переходники не предоставляют прямого доступа к регистрам порта по аппаратным адресам, а программатору нужно управлять отдельными линиями. Требуется встроенный LPT-порт материнской платы.
Работает ли программатор на Windows 10/11 64-бит?
Напрямую — как правило, нет: система блокирует прямой доступ к портам. Используйте 32-битную ОС, загрузку в DOS либо специализированные драйверы доступа к портам, проверяя совместимость на своей конфигурации.
Что делать, если ID микросхемы не читается?
Проверьте питание 3,3 В на панельке, правильность распиновки, целостность проводов и их длину. Убедитесь, что микросхема исправна и правильно вставлена. Записывать прошивку до устранения проблемы нельзя.
Можно ли прошить чип, не выпаивая его из платы?
Иногда да — через клипсу SOIC-8, но успех зависит от схемы конкретного устройства: соседние элементы и штатное питание платы могут мешать. Если чтение нестабильно, микросхему следует выпаять.