Многофункциональный программатор на CH341A

Для программирования различных FLASH и EEPROM микросхем 24-25 серий, купил на Али многофункциональный программатор, на микросхеме CH341A. Данная микросхема является универсальным конвертером, который может реализовать на USB шине: UART, EPP (можно подключить через него LPT принтер), I2C и SPI. Используя SPI-интерфейс, можно прошивать некоторые микроконтроллеры Atmega. В данной статье я постараюсь рассказать по максимуму про это устройство.

ch341a

Мой вариант программатора, купил за $2.64.

ch341a

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

На верхней стороне платы размещены: ZIF панель, контактные площадки, контакты UART и SPI интерфейса, светодиод, кварц на 12кГц (на подделках он может быть на разный номинал, из за чего программатор не будет работать) и переключатель P/S.

ch341a

С обратной стороны: микросхема CH341A, продолжение контактов SPI интерфейса и стабилизатор напряжения на 3,3В. В моём случае это 662, в других моделях программаторов может быть установлен AMS1117.

ch341a

Контакты «P/S» предназначены для переключения программатора во внутренний режим (P) — контакты замкнуты, либо внешний (S) — контакты разомкнуты.

Программирование FLASH и EEPROM микросхем 24-25 серий.

Для программирования микросхем BIOS материнских плат компьютеров, ноутбуков, телевизоров, SPI флеш памяти всевозможных тюнеров (ресиверов) и роутеров (маршрутизаторов), программатор должен работать в режиме P (контакты  P/S замкнутые).

Для программирования микросхем в DIP корпусе необходимо поднять ручку-фиксатор ZIF панели и установить микросхему в пазы, согласно ключу.

ch341a

В зависимости от серии микросхемы (24хх/25хх), ключи разные и указаны на маркировке. После установки нужно опустить ручку-фиксатор, что бы зафиксировать микросхему.

Для программирования микросхем в корпусах SOP8 и SOP16, применяются контактные площадки, разведённые на плате программатора.

ch341a

К этим площадкам можно припаивать программируемую микросхему, либо прижимать прищепкой, как это делаю я.

ch341a

Когда нет возможности выпаять программируемую микросхему из платы, можно запрограммировать чип «без выпаивания», для этого придётся докупить «прищепку».

Неправильная установка программируемой микросхемы может привести к поломке программатора, как правило сгорает стабилизатор на 3,3 вольта и программатор перестаёт определять микросхемы.

Операцию, по установке микросхем в программатор, следует производить при отключенном от компьютера последнего.

Установив микросхему, подключаем программатор к USB-порту компьютера.

В «Диспетчере устройств» обнаружится неизвестное оборудование «USB Device«.

CH341PAR_drivers.rar

Необходимо установить драйвер (архив CH341PAR_drivers.rar).

Скачать с Яndex-диска Скачать с MEGA Скачать с облака mail@ru

После установки, устройство будет определятся как «USB-EPP/I2C…CH341A«

Для прошивки микросхем можно использовать русифицированную версию программы «CH341A Programmer 1.29«

Скачать с Яndex-диска Скачать с MEGA Скачать с облака mail@ru

Приведу несколько примеров подключения различных микросхем 25-серии к программатору.

ch341a_programmer

Флеш-память Spansion S25FL032, выпаянная с роутера TP-Link TL-WR741, определилась корректно.

ch341a_programmer

Флеш-память с китайской USB-флешки (подделка на 16-гигабайтную). Определился чип Gigadevice GD25Q16.

ch341a_programmer

Флеш-память Winbond W25Q32FV, выпаянная с роутера Huawei WS 319, автоматически определилась как W25Q32BV.

ch341a_programmer

Пришлось нажать кнопку «Детект» и в выпавшем списке выбрать свою микросхему, нажимаем «Выбор«.

ch341a_programmer

Поскольку моя микросхема была выпаяна с роутера, мне нужно сосчитать с неё дамп. Для этого нажимаем «Читать» и ждём, пока он сосчитается.

ch341a_programmer

Прогресс считывания дампа отображается в нижней шкале слева, в процентном соотношении.

ch341a_programmer

Для сохранения дампа воспользуемся соответствующей кнопкой, нажимаем «Сохранить«.

ch341a_programmer

Для загрузки сохранённого ранее дампа в микросхему, нажимаем «Открыть» и выбираем необходимый файл дампа, дамп откроется в программе для прошивка.

ch341a_programmer

Для заливки дампа нажимаем «Записать чип«. Прогресс записи так же будут отображаться в процентном соотношении.

ch341a_programmer

После прошивки желательно проверить корректность записанных в микросхему данных. Для этого воспользуемся пунктом «Проверка«. Производится проверка данных в микросхеме, с дампом открытым в программе.

ch341a_programmer

Если данные записались корректно, об этом сообщит соответствующее сообщение.

ch341a_programmer

В противном случае появится другое сообщение.

Если понадобится стереть микросхему, нужно воспользоваться пунктом «Стирание«.

ch341a_programmer

После стирания чипа его желательно проверить на пустышку, для этого нажимаем на пункт «Пустые«.

ch341a_programmer

Если чип действительно пустой, об этом сообщит соответствующее окно.

ch341a_programmer

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

Использование программатора CH341A для устройств с SPI-интерфейсом.

SPI — последовательный интерфейс позволяющий подключать к микроконтроллерам различную периферию: дисплеи, датчики, карты памяти, флеш-память. Так же через этот интерфейс можно внутрисхемно программировать некоторые микроконтроллеры Atmega. Внутрисхемно значит не выпаивая их с целевой платы. Подобным образом я программировал на плате микроконтроллер Atmega8, в самодельном металлоискателе «Шанс». На тот момент у меня не было подобного программатора и я собирал программатор Громова, который подключал к COM-порту компьютера. Для тех у кого нет COM-порта, программатор на CH341A как раз к стати. С помощью него можно так же прошивать: Atmega16; Atmega32; Atmega64; Atmega128; Atmega8515; Atmega8535; Atmega48; Atmega88; Atmega168; AT89S51; AT89S52.

Контакты SPI-интерфейса присутствуют на плате: 3.3, MOSI, CLK, MISO, CS, GND.

Для прошивки AVR можно использовать русифицированную программу от разработчиков:

Скачать с Яndex-диска Скачать с MEGA Скачать с облака mail@ru

Использование программатора CH341A в качестве конвертера USB — UART (TTL).

Данный режим будет полезен, если нужно прошить плату Arduino, роуреры или любое другое устройство, использующее для этого последовательный порт UART. Для этих целей конечно же существуют специальные переходники, например на CH340G или PL2303HX, но их может не оказаться в наличии. Кроме того, если у вас имеется программатор на CH341A, то совсем не обязательно покупать отдельный переходник USB – UART. Так же в переходниках на CH340G и PL2303HX может отсутствовать вывод DTR, для прошивки Arduino Pro mini. Имея данный вывод, не нужно нажимать кнопку Reset на плате, при заливке скетча. На плате программатора CH341A, вывод SPI порта MOSI, превращается в DTR.

Для переключения программатора в режим UART нужно убрать перемычку P/S.

CH341SER_drivers.rar

При подключении к компьютеру в «Диспетчере устройств» обнаружится неизвестное оборудование «USB Device«.

Необходимо установить драйвер (архив CH341SER_drivers.rar).

Скачать с Яndex-диска Скачать с MEGA Скачать с облака mail@ru

После установки, устройство будет определятся как «USB-SERIAL CH341A» в скобках будет указан номер виртуального COM-порта.

Следует отметить, данный программатор можно подключать только к 5 вольтовым платам Arduino, поскольку он использует уровни 5 вольт! Это же касается и других устройств, для которых нужен UART переходник.

Более подробно, как использовать программатор в качестве UART, можно прочитать на примере подключения к Arduino Pro mini.

Использование программатора CH341A в качестве виртуального LPT порта, для подключения старых принтеров.

Если у вас остался в кладовке старый принтер или сканер с LPT портом, а на компьютере нет этого порта, с применением программатора на CH341A можно реализовать виртуально этот порт.

Взято тут

Многофункциональный программатор на CH341A: Один комментарий

  1. «Если у вас остался в кладовке старый принтер или сканер с LPT портом, а на компьютере нет этого порта, с применением программатора на CH341A можно реализовать виртуально этот порт.»

    Вот и горазд же ты п@здить. Где то на просторах подцепил и теперь втюхивает как свое.
    Пруф хоть один давай.

Добавить комментарий