30.05.2023 14:26, автор DiEitch
После месяца ожидания попал на мой рабочий стол программатор на чипе CH341, который предназначен для программирования микросхем памяти с последовательной шиной (SPI и I2C). Линейка CH34X китайского производства призвана заменить чипы FTDI, при хорошем соотношении цена/качество. Конкретно, чип CH341 поддерживает (по аналогии с FT232) bitbanging, это позволяет на его базе реализовать практически любой интерфейс (например, на чипе FTDI FT232RL сделан JTAG адаптер xds100).
Программатор (благодаря микросхеме CH341B) имеет сравнительно простую схему
и сделан в виде "свистка" в USB порт. Корпус в моей версии отсутствует, зато программатор стоит дешевле (фото с ALI).
В комплекте имеется дополнительная плата и штырьки разъёма для установки платы в панельку. Есть варианты с "пинцетом", который, кстати, не очень эффективен.
Дело в том, что установленную на плату микросхему памяти, далеко не всегда удаётся прошить из-за имеющейся там обвязки.
Микросхемы памяти вставляются в ZIF панельку среднего качества для удобства установки и извлечения. На плате также имеются посадочные места для чипов в планарном исполнении. По задумке авторов, при хорошем прижатии к этим местам, можно запрограммировать микросхемы памяти без пайки (однако, лучше приобрести соответствующий адаптер).
На моём программаторе разъём USB был припаян криво (не в одну линию с платой, из-за чего при вставлении программатора в порт USB компьютера плата была наклонена вверх), поэтому пришлось взять в руки паяльник.
Итак программатор "шьёт" микросхемы памяти. А только ли? Оказывается - нет!
Несмотря на то, что программа производителя чипа CH341, поддерживает только чипы 24хх/25хх/26хх, в интернете есть данные, что можно запрограммировать и другие микросхемы (в том числе и микроконтроллеры ATMEL). Для этого потребуется альтернативное ПО. Мне, как и автору надо было сперва зашить ATTINY13A, но я не стал заморачиваться реверс-инженирингом программ, а пошёл немного другим путём. Через тему на форуме 4PDA я вышел на программу neoprogrammer, которая поддерживает (разумеется с переходниками) множество различных чипов (в их числе и ATTINY13, которую мне и надо было прошить). Далее дело за малым - переходник. Мне не удалось найти вменяемую схему, поэтому разработал сам. Для этого понадобилась следующая информация:
Продублирую важную информацию:
А теперь - схема переходника, она проста как "грабли", годится не только для ATTINY13A, имеет минимум радиодеталей (используется панелька, резистор и дополнительная плата из комплекта). Конденсатор 0.1 мкФ по питанию приветствуется, но работает и без него.
Примечание: режим программатора устанавливается перемычкой 1-2/2-3 (SPI+I2C/USART).
В руководстве на программатор, этот момент как-то завуалирован. А вот и сам адаптер для Tiny в моём исполнении.
Ножки 1 и 5 панельки (для Tiny) паяем к соотвествующим ногам разъёма (который пойдёт в ZIF-панель программатора). Ногу 7 панельки паяем к 6 ноге разъёма. Ногу 6 панельки паяем ко 2 ноге разъёма (это также и 8 нога 16-ножечной микросхемы справа, поэтому провод для удобства припаял к ней). Резистор можно взять от 1 до 47 кОм. Под панельку кладём упругий материал (резину, вспененный пластик).
Вот так нехитрая доработка значительно расширяет функциональность данного программатора.