Что такое программатор для флешки

Обновлено: 15.05.2024

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

Ну вот и настало время написать о том чем пользуюсь я.

Всем здравствуйте! Сегодня немного расскажу какими программаторами я пользуюсь и с каким софтом. Как обойтись без дорогого программатора. Статья должна быть интересной!

А сейчас фото всех сразу моих "игрушек" и по отдельности с кратким описанием возможностей. Возможно я что-то смогу упустить, но основную информацию и интересные варианты использования некоторых из прогеров я вам расскажу.

Первый и наверное самый популярный программатор это TL866A - моя версия. На сегодняшний день цена такого прогера колеблется от 3 до 7 тысяч рублей. В зависимости от количества панелей для программируемых микросхем. Всё в нём хорошо, большая база программируемых микросхем, но в этой модели нет возможности чтения- записи NAND микросхем. В основном я его использую для прошивки 24х, 25х серий микросхем. Так-же есть возможность подключения по ISP - внутрисхемное программирование некоторых контроллеров таких как известная ATMEGA , некоторые PIC контроллеры. Но многие контроллеры не поддерживаются. Всё можно почитать в интернете. Работаю на нём с "родным" софтом.

Внешне неказистый, "собран на коленке" на контроллере atmega88pa это один из самых интересных программаторов - Postal 3 usb. Этот программатор был собран мной ,в начале, для прошивки всего одного телевизора LG- модель не помню, прошивал в том телевизоре процессор micronas. У тех моделей тв при выходе из строя блока питания (вздутия конденсаторов) - слетала прошивка этого процессора. Прошивал контроллер atmega этого программатора как раз TL866. Как ни странно на сегодняшний день продолжаются разработки программатора Postal и его софта. И я, шагая в ногу с временем, тоже его немного усовершенствовал и эта "штуковина" стала читать и писать загрузочные области EMMC. И этот Postal 3 мне очень помог. Причём после модернизации все старые опции остались! В этих видео1 и виедо2 я показывал как всё это работает. Работаю с этим программатором с родным софтом, но есть нюанс! У этого прогера много версий программ и соответственно для каждых микросхем свои программы! Цена вопроса этого прогера со всеми "потрохами" мне вышла порядка 600 рублей. Подробнее можно найти на ФОРУМЕ

Это программатор ChipStar Janus. Я про него немного рассказывал в ЭТОЙ статье. Несколько раз выручал при прошивке NAND микросхем на Samsung, Philips, Lg, Sharp в корпусе tssop48. Цена вопроса конструктора была порядка 900р сейчас маленько подорожал. Но я брал не конструктор, а уже собранный по-моему за 2000р + отдельно у ребят с форума ремонтауд заказывал плату, и панельку брал на алике. Вышло всё порядка 4000р . Ну в принципе он себя только-только окупил :) Как-то так.

Следующий и не менее интересный прогер.

Так-же многим наверное известен. Это CH341.

А вот и интересненькое пошло.

Ну если честно , то по началу многое про него не знал. Как оказалось это ну очень даже не плохой программатор, который может действительно многое! Вплоть до считывания логов с телевизоров! Я правда сам этим не занимался. Мне он потребовался для прошивки процессора Weltrend да CH341 шьёт Weltrend. Конечно основная его функция это прошивка так-же 24хх 25хх 93хх и других микросхем. Но мне как-то потребовалось прошить Weltrend на телевизоре Samsung и я нашёл вот ЭТУ статью и по инструкции всё сделал. Я и знать не мог что этот программатор работает с программой Postal. За это отдельное спасибо разработчику софта! Сам программатор стоит порядка 300-400 рублей.

И ещё одна интересная игрушка- картридер!

Вот это ну очень интересная игрушка заказанная с али за 100 рублей.

И снова здравствуй Postal 3 ! Как работает этот картридер я показывал на ЭТОМ видео. Тоже читая интернет и ища бюджетные варианты для работы с emmc нашел все на том-же форуме-мониторе, как emmc прошить картридером. По сути эта платка представляет из себя флешку, но без самой микросхемы памяти.А вот эта микросхемка, которую видно на фото, является "посредником" между компьютером и памятью.Соединив нужные выводы от emmc такие как cmd,clk,d0 мы получаем "мост" между микросхемой памяти (emmc) и компьютером и с помощью программы Postal3 уже можно считать и записать содержимое. И в отличии от программатора Postal -который читает и пишет загрузочные (малые области) области, картридер считывает и записывает уже основное содержимое (big user) emmc весь софт телевизора (это простым языком)

У меня есть ещё один usbasp программатор. На фото он не попал, куда-то "закатился" :)

Купил я этот программатор за 300 рублей. А потребовался он мне для прошивки, при модернизации,Postal-3 хотя можно было и TL-кой снова воспользоваться, но почему-то купил usbasp. В дальнейшем с помощью него я прошил мультитестор LCR-T4. Вкратце я ЗДЕСЬ описывал. Про этот программатор информации можно много найти в интернете.Пользуюсь софтом AVRDUDE

В конце хотел подвести итог. Прочитав огромное количество информации я сделал вывод - УНИВЕРСАЛЬНЫЙ ПРОГРАММАТОР - МИФ ! Как-бы дорого не стоил программатор в нём всё-равно "чего-то" не будет хватать. У меня все эти программаторы появились с течением времени. Самый первый у меня был TL-866 - достался по наследству. Но "шагая вперёд" и ища боле-менее дешёвые варианты пришлось "городить" Postal потом приобретать Чипстар. У меня нет потока телевизоров с одинаковыми неисправностями, вот и приходилось изощряться перелопачивая стони страниц на форумах и собирать инфу по крупицам, но оно того стоило. Конечно я ещё очень многого не знаю, но стремится нужно :)

Ну вот наверное пока и всё чем хотел сегодня с вами поделиться.

Всем спасибо за внимание!

Если статья поможет вам в решении некоторых проблем, буду очень рад.

Остались вопросы или пожелания? Не стесняйтесь, пишите в комментариях, с удовольствием пообщаемся.

Ставьте лайки ПОДПИСЫВАЙТЕСЬ на канал и вы всегда будете в курсе новых публикаций.

Приходите почаще будет много интересного, а также читайте и другие статьи нашей странички и смотрите видео.


Собрал недавно программатор NAND Flash памяти.
Программатор разработала организация НТП "Тиком".

"USB программатор ChipStar‑Janus
USB программатор ChipStar‑Janus — простой внутрисхемный программатор для микроконтроллеров (PIC, AVR, MCS51 и других) и микросхем FLASH памяти с возможностью расширения.

Через адаптер расширения позволяет программировать микросхемы NAND FLASH.

Программатор ChipStar-Janus создан специально для специалистов, нуждающихся в простом и недорогом, но близком к профессиональному, программаторе с фирменной поддержкой.

Таким образом, этот программатор в некоторых случаях будет достаточен для разработки и ремонта современного радиоэлектронного оборудования." — текст описания с сайта производителя.

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

Сайт производителя
Есть 2 варианта печатной платы, для smd(двухсторонняя) и для DIP.
Прошивка и ПО доступны после регистрации на сайте.

МК PIC25k50 я прошивал программатором JDM Extrapic, а ПО picpgm.
Единственная проблема при сборке программатора у меня была с выставлением конфиг. битов, picpgm сама не смогла их корректно распознать :(. В документации на программатор конфиг. битов я не нашел, и начал пробовать вытянуть их из HEX файла. Начал читать, узнавать где они там хранятся и т.д. Попутно задал вопрос в тех. поддержку производителя, а дело было в 22 часа примерно, пятница, ну думаю пока до понедельника далеко, буду пробовать сам из прошивки вытянуть, по итогу через минут 40 вытянул конфиг биты из файла прошивки и вижу письмо пришло новое, открываю, а это к слову было 23 часа, а там подробный ответ на несколько моих вопросов по программатору. Я был приятно шокирован скоростью ответа тех.поддержки, при том что вопрос был по БЕСПЛАТНОМУ программатору, а не купленой версии. Сравнил полученные биты с вытянутыми, все сошлось. Прошил МК и продолжил сборку.
Программатор сразу заработал.
Еще одно приятное впечатление оставила тестовая программа для отладки и проверки программатора. Эта программа вручную выставляет напряжение программирования на выходах питания, выставляет низкий или высокий уровень на линиях данных, прослушивает входы, и для каждого действия обозначены контрольные точки на схеме для проверки, схема с точками показана на вкладке в программе, очень удобно.

Сделал себе сразу 3 адаптера, для 24х, 25х, 93х, NAND(делал под впайку микросхемы в адаптер, пока не куплю панельку)

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

Схема, платы, инструкция по сборке, все доступно БЕЗ регистрации, а регистрация нужна для получения прошивки и ПО под прошивку, там еще дается период бесплатного обновления, и для каждой прошивки он свой, если шить мою прошивку, то вы потеряете то количество дней, которое прошло с момента моей регистрации. Так что крайне рекомендую регистрироваться и скачивать свою прошивку.

USB-программатор (AVR): описание, назначение

Программатор – это аппаратно-программное устройство, которое служит для считывания или записи информации в запоминающее устройство (внутреннюю память микроконтроллеров). В случае если радиолюбителю нужно один раз запрограммировать микроконтроллерное устройство, можно воспользоваться обычным программатором, который подключается к COM- или LPT- порту. Например, самым простым программатором для микросхем AVR является кабель из 6 проводов и 4 резисторов (программатор PonyProg).

С помощью обычного программатора можно загружать программы в формате hex во многие микроконтроллеры AVR, не тратя лишнего времени и средств. Кроме того, программатор можно использовать как внутрисхемный, благодаря чему можно программировать микроконтроллер AVR не извлекая его из устройства.

Подключаются такие программаторы к компьютеру с помощью специальной программы (которая тоже называется программатором). Она передает прошивку с компьютера, а устройство только записывает ее в память микросхемы. Программаторы могут подключаться через последовательный или параллельный порт, через USB-разъем и т.д. Современные программаторы подключаются, как правило, через USB.

USB-программатор предназначен для программирования микропроцессорных устройств определенной компании (зависит от марки программатора) в собранном виде. С помощью него заметно упрощается процесс настройки ПО.

Как подключить USB-программатор?

Затем нужно установить драйвера, чтобы ОС могла корректно работать с данным устройством. После этого можно будет подключать микропроцессорное устройство к ISP интерфейсу. При программировании будет светиться второй светодиод.

Как правило, программатор имеет два интерфейса – один для подключения микроконтроллера, второй для подключения к компьютеру. Для того чтобы подключить микроконтроллер, можно воспользоваться режимом последовательного программирования ISP. А к компьютеру данное устройство подключается через стандартный USB-разъем.

Для управления программатором нужно устанавливать специальные программы. Лучше всего пользоваться оконными приложениями. Например, для работы с устройством можно использовать программы ExtremeBurner, Khazama, avrguge и другие.

Микросхемы памяти серий 24хх (EEPROM), 25хх (Serial Flash) широко используются в электронике. Такие чипы присутствуют в составе практически любой конструкции современной бытовой и промышленной аппаратуры, где есть процессоры и/или микроконтроллеры. Данный программатор имеет возможность работы с обоими типами памяти.




В комплект поставки входят сам программатор и переходная плата с двумя посадочными местами под микросхемы памяти в SOIC корпусе.


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


Так-же на переходнике есть посадочное место для разьема PLD-8 (в комплект не входит, я впаял 2хPLS-4), предназначенного для подключения прищепки или шлейфа программирования.


Аппаратная часть (Hardware).

Программатор выполнен на базе микроконтроллера «USB Bus Convert Chip» серии CH341A. Он рассчитан на физическое подключение к порту USB 2.0 компьютера, при подключении через хаб-удлиннитель программатор у меня работал с ошибками (может у меня хаб такой). Модуль программирования памяти собран на плате размерами 63х27мм (без учета USB разьема, с разьемом 84х27мм) из черного стеклотекстолита.


В распоряжении автора есть два экземпляра этого программатора, приобретенные в разное время, визуально их можно отличить по названию, один (более ранний) называется "CH341A Mini Programmer", второй "CH341A MinProgramment". Схемы одинаковые, различаются только цветом светодиода "RUN". На первом зеленый, на втором желтый.
Некоторые схемные обозначения на конкретном программаторе могут немного отличаться, например самовосстанавливающийся предохранитель F1 (fuse) может обозначаться как R1. В инете встречались упоминания, что в эту позицию иногда ставят резистор нулевого сопротивления т.е. перемычку. У меня как и положено на обоих стоят предохранители

400mA, сопротивление 0,92Ом, маркировка на корпусе «5». Также на плате часто отсутствует схемное обозначение резисторной сборки PR1. Более грамотное обозначение схемных элементов программатора можно посмотреть на изображении верхней стороны платы от магазина WAVGAT (на AliExpress):


Особых отличий от даташита схема не имеет, разве что на блокировочных конденсаторах по питанию сильно экономили. Питание 5V от USB подается на вывод 28, на выходе 9 внутреннего стабилизатора блокировочный конденсатор.


Т.к. на выводах ввода/вывода напряжение соответствует 5V уровням, в основном это устройство на 5V, правда в инете много упоминаний и о программировании им микросхем на 3.3V без каких либо ошибок и отрицательных последствий. Выход отдельного стабилизатора AMS1117-3.3 в схеме не задействован и просто выведен на выходной ZIF разьем и на контакт боковой гребенки SPI.
В даташите указан способ сделать уровни на выходах совместимыми с 3.3V. Для этого необходимо соединить выводы 28 и 9 и подать на них 3.3V, при этом внутренний стабилизатор просто не используется. Но при этом 3.3V уровни также будут на на переходнике USB <-> RS232, что иногда не приемлемо. Также на Ali сушествует другая версия этого программатора, скомпонованная немного по другому и выполненая на зеленом текстолите. Читал, что там на вывод 28 подается 3.3V от внешнего стабилизатора, но выводы 28 и 9 не соединены, и это нормально работает. В любом случае, уровни на переходнике USB <-> RS232 и здесь будут 3.3V.
Если планируется программирование флешек 1.8V через основной разьем необходимо дополнительно приобрести модуль 1.8V-adapter. Бонусом является то, что переделать его для поддержки и уровней 3.3V несложно, надо лишь закоротить вход/выход стабилизатора 1.8V дополнительным джампером.


Теперь при наличии джампера адаптер работает с логическими уровнями 3.3V, при отсутствии — 1.8V.
Минус тут в том, что стоимость адаптера не намного меньше, чем самого программатора. Но если он уже есть, почему бы его не использовать по полной?

Если для программирования будет использована боковая гребенка SPI, можно поступить проще. На Ali много предложений 4-канального двунаправленного преобразователя уровней на МОП транзисторах за очень небольшие деньги.


Работа этого преобразователя подробно описана в статье "Согласование логических уровней 5В и 3.3В устройств". Схема отличается от рассмотренной в статье только номиналами резисторов (сопротивление меньше — увеличено быстродействие и энергопотребление). За счет добавления дополнительных джампера J1 и двух кремниевых диодов, можно будет программировать как 3.3V, так и 1.8V флешки.


Программная часть (Software), драйвер.

Перед применением программатора необходимо инсталировать в Windows его драйвер(а), легко находятся в инете, я брал из архива программы AsProgrammer. Программатор поддерживает два режима, они переключаются аппаратно джампером J1. Применен интересный прием, при переключении джампера у чипа меняется Device ID на шине USB. Это вынуждает Windows найти подходящий по VID/PID драйвер и подключить его.
При джампере в положении «1-2» по VID_1A86&PID_5512 подгружается драйвер "USB-EPP/I2C… CH341A". Он создает в диспетчере устройств раздел "Interface" в который и устанавливается.


В этом случае чтение, верификация, запись чипов памяти должны осуществляться непосредственно через ZIF-панель программатора CH341A или через боковой разьем Р2 с интерфейсом SPI.

При джампере в положении «2-3» по VID_1A86&PID_5523 подгружается драйвер "USB-SERIAL CH341A". В диспетчере устройств найти его можно в разделе "Порты (COM и LPT)". Там же можно посмотреть и номер присвоенного СОМ порта.


При этом программирование может производиться только через интерфейс RS232 TTL на разьеме Р1 (там же где и джампер), если целевое устройство поддерживает такой способ (встроенный загрузчик или монитор).

Программная часть (Software), программа прошивальщик.


Программа не требует установки, включает в архив драйверы для обоих режимов программирования СН341А.
Log-файл работы программы с флешкой W25Q128FW, 16Мб, 1.8V через "1.8V-adapter":


Используется программатор: CH341
Sreg: 00000000(0x00), 00000010(0x02), 01100000(0x60)

Используется программатор: CH341
Читаю флэшку…
Готово
Время выполнения: 0:02:49

Используется программатор: CH341
Стираю флэшку…
Готово
Время выполнения: 0:01:03

Используется программатор: CH341
Записываю флэшку с проверкой…
Готово
Время выполнения: 0:24:45

5 вариантов BIOS) ни одного сбоя или ошибки.

Линуксоидам использовать стороннюю программу нет необходимости, стандартный прошивальщик Flashrom полностью поддерживает данный программатор (должен быть собран с поддержкой ключа "-ch341a").

WARNING: If the /WP or /HOLD pins are tied directly to the power supply or ground during standard SPI or Dual SPI operation, the QE bit should never be set to a 1.


Как по мне, проще сделать это на переходнике 1.8V-adapter, если задействовать его вторую незанятую половину разьема. Тем более при применении адаптера переделка на плате программатора становится бесполезной, порты у трансмиттера используются как однонаправленные.

Доработка 2. Увеличение кол-ва блокировочных конденсаторов по питанию.

Участник сообщества «AlexX1810» предложил добавить на плату программатора три блокировочных конденсатора 0.1 мкФ. По его словам улучшается стабильность работы программатора.
Если ориентироваться по схеме, первый конденсатор между 6-7 контактами разьема Р1 (5V), второй между 5-6 контактами разьема Р2 (3.3V), третий между 15-16 контактами ZIF панельки (7-8 контакты разьема I2C, 3.3V). Все впаяны со стороны контактов.


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

Читайте также: