Меню

Программатор своими руками для прошивки микросхем памяти

Программатор своими руками ChipStar-Janus

2021-09-19 Дата последнего обновления программы: 2021-09-19
Автор: Тиком — разработчик и производитель программаторов ChipStar

Двуликий Янус

Мы решили назвать этот программатор «Янус«.

Почему так? Потому что в римской мифологии Янус — это двуликий бог дверей, входов и выходов, а также начала и конца. Какая связь? Почему наш программатор ChipStar-Janus двуликий?

  • C одной стороны, этот программатор — простой. Распространяется как бесплатный проект, его можно легко изготовить самому.
  • C другой стороны, он разработан фирмой, длительное время профессионально занимающейся разработкой и производством различной радиоэлектронной аппаратуры, в том числе программаторами.
  • C одной стороны, этот программатор — простой, с первого взгляда имеет не сильно впечатляющие характеристики.
  • C другой стороны, работает совместно с профессиональной программой (кстати, точно такой же, как и остальные профессиональные программаторы ChipStar).
  • C одной стороны, мы предлагаем этот программатор для свободной бесплатной сборки.
  • C одной стороны, мы его продаем и в готовом виде, как обычный бюджетный продукт.
  • C одной стороны, на самодельный программатор не распространяется гарантия (что естественно).
  • C одной стороны, если вы его смогли собрать, то и отремонтировать сможете, да и программатор настолько простой, что ломаться, собственно, нечему.
  • C одной стороны, это простой внутрисхемный программатор.
  • C одной стороны, через простые адаптеры расширения он поддерживает программирование NANDFLASH и других микросхем уже «в панельке».

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

Что нас побудило разработать этот программатор.

Есть великое множество простых специализированных программаторов, пригодных для самостоятельного изготовления.

Есть множество дешевых китайских программаторов в уже готовом виде.

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

Казалось бы, в чем смысл очередной поделки?

Мы длительное время занимаемся разработкой производством и поддержкой универсальных программаторов, в основном специального назначения. У нас богатый опыт работы с самыми разными микросхемами. Часто к нам обращаются люди уже собравшие, а часто и купившие, какой-нибудь из выше названных «изделий». Нашим специалистам часто без смеха/слез/ужаса (нужное подчеркнуть) невозможно смотреть на схемные решения, качество сборки и, особенно, на программное обеспечение этих приборов. Ладно когда программатор стоит «три копейки», купил, что-то работает, что-то не работает, зато деньги не большие. Но часто соотношение цена/возможности таких приборов у нас вызывают, мягко говоря, удивление. Хочется воскликнуть: это столько не стоит!

Кроме всего выше названного есть особая категория программаторов, пригодных для самостоятельного изготовления — это программаторы (точнее, схемы программаторов и программное обеспечение), разработанные специалистами фирм производящих микросхемы (в основном микроконтроллеры). Такие программаторы спроектированы вполне профессионально, в их схемотехнике нет «ляпов». Они поддерживают все заявленные микросхемы. Но есть два «маленьких» недостатка: перечень программируемых микросхем весьма ограничен (что вполне понятно) и программное обеспечение весьма спартанское — никаких лишних функций, как правило — только стереть, записать, верифицировать. Часто даже функции чтения микросхемы нет.

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

Итак, программатор ChipStar-Janus в начальной конфигурации — это внутрисхемный программатор. В таком режиме он поддерживает микроконтроллеры PIC и AVR фирмы Microchip, некоторые микроконтроллеры архитектуры MCS51, микроконтроллеры фирмы STMicroelectronics и еще ряд других, а также микросхемы последовательной памяти с интерфейсом I2C (в основном серия 24). К разъему расширения программатора можно подключить простейшие адаптеры и начать программировать микросхемы памяти «в панельке».

Сейчас реализовано программирование «в панельке»:

  1. микросхемы последовательной памяти (Serial EPROM) с интерфейсом I2C (серия 24xx);
  2. микросхемы последовательной флэш памяти (Serial FLASH) с интерфейсом SPI (SPI Flash);
  3. микросхемы последовательной памяти (Serial EPROM) с интерфейсом MW (серия 93xx);
  4. микросхемы NAND FLASH;

Программатор и программное обеспечение поддерживает технологию самостоятельного добавления микросхем в три клика. Пока реализовано добавление микросхем NAND и I2C. В самое ближайшее время планируется реализовать эту технологию для микросхем MW (серия 93xx) и AVR. Таким образом, вы получаете не просто программатор, а мощный инструмент для самостоятельной работы.

Три способа получить программатор ChipStar-Janus

1-й способ:
Собрать программатор самому полностью

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

  1. Прочитать условия использования самостоятельно собираемого программатора.
  2. Прочитать инструкцию по сборке программатора.
  3. Скачать полную документацию на программатор.
  4. Скачать информацию для изготовления печатных плат программатора.
  5. Изготовить печатные платы.
  6. Закупить необходимую комплектацию для сборки программатора согласно спецификации.
  7. Зарегистрироваться на сайте обязательно как новый пользователь по этой ссылке!
  8. Войти в личный кабинет и скачать программное обеспечение для программатора и прошивку для микроконтроллера.
  9. Записать (залить, загрузить) полученную прошивку в микроконтроллер. Для этого нужен программатор. Вот незадача, мы же его еще не сделали! Как быть? Можно одолжить у кого-нибудь программатор или попросить записать прошивку в микроконтроллер. Если это невозможно, то вам лучше воспользоваться вторым способом.
  10. Правильно собранный программатор сразу начнет правильно работать. Для функционального контроля воспользуйтесь программой JanusCheker.
Читайте также:  Рамки своими руками букеты

2-й способ:
Собрать программатор самому, купив готовую печатную плату и прошитый микроконтроллер

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

  1. Прочитать условия использования самостоятельно собираемого программатора.
  2. Прочитать инструкцию по сборке программатора.
  3. Скачать полную документацию на программатор.
  4. Купить набор для сборки (готовую печатную плату и микроконтроллер с уже записанной прошивкой).
  5. Закупить необходимую комплектацию для сборки программатора согласно спецификации
  6. Зарегистрироваться на сайте как обычный пользователь готового программатора по этой ссылке. Для этого в регистрационной форме нужно указать серийный номер и дату прошивки полученного вами микроконтроллера.
  7. Войти в личный кабинет и скачать программное обеспечение для программатора.
  8. Правильно собранный программатор сразу начнет правильно работать. Для функционального контроля воспользуйтесь программой JanusCheker.

Как видите, этот путь значительно короче. Готовая плата выпускается только в варианте для компонентов поверхностного монтажа, как на фотографии готового программатора. Если вы выбрали этот способ, пройдите по ссылке и закажите комплект для сборки программатора ChipStar-Janus.

3-й способ:
Купить готовый программатор

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

Что мы еще планируем сделать для развития программатора ChipStar-Janus

1. Расширить возможности самостоятельного добавления микросхем, добавив:

  • Микросхемы памяти c протоколом MWсерии 93xx.
  • Микросхемы памяти c SPI интерфейсом.
  • Микросхемы памяти DataFlash.
  • Микроконтроллеры AVR семейств Mega и Tiny.

2. Выпустить дополнительные модули для превращения программатора в измерительную лабораторию:

  • Мультиметр.
  • Логический анализатор.

Что еще имеет смысл купить или сделать своими руками для программатора ChipStar-Janus

  1. Адаптер для программирования микросхем NAND.
  2. Адаптер для программирования микросхем последовательной памяти с интерфейсами I2C и SPI.
  3. Адаптер для программирования микросхем последовательной памяти с интерфейсом MW (93 серия).

Часто спрашивают

ChipStar-Janus это готовый программатор, а ChipStar-Janus/KIT это набор основных деталей для сборки программатора ChipStar-Janus.

Посмотреть и отредактировать можно программой CAM350.
CAM350® является стандартом де-факто для проверки, оптимизации и генерации данных для эффективного управления изготовлением печатных плат.

Правильно собранный программатор ChipStar-Janus сразу будет правильно работать. Ищите ошибку монтажа или неисправный компонент. Проверить функционирование программатора можно с помощью программы JanusCheker.
Всегда используйте программное обеспечение и документацию самой последней версии!

Ошибки нет. Все так и должно быть.

Правильное включение диода VD6 показано в документации. Рисунок диода VD6 на печатной плате первой версии нанесен неверно. Включение программатора с неправильно запаянным диодом не приведет к выходу его из строя.

Никаких. Микроконтроллер нужно правильно прошить высоковольтным алгоритмом записи в соответствии со спецификацией Microchip.

Все необходимые fuses интегрированы внутрь прошивки (файл .hex) в соответствии со спецификацией Microchip. Программатор ОБЯЗАН правильно читать фусес из файла прошивки.
Если программа используемого программатора не умеет прочитать фусес из файла, то их нужно выставить вручную как показано здесь: «Биты конфигурации (фусес) для прошивки микроконтроллера программатора ChipStar-Janus/KIT»

Да. Только придется отпаять VD6 (он препятствует подаче высокого напряжения программирования 12V на вывод MCLR процессора). Соединение с программатором необходимо произвести в соответствии со схемой для внутрисхемного программирования и инструкцией используемого программатора.

Нет. Нужно использовать PIC18F25K50.

На странице с описанием программатора Chipstar-Janus об этом написано: зарегистрироваться нужно обязательно как новый пользователь по этой ссылке!

На странице с описанием программатора Chipstar-Janus об этом написано: зарегистрироваться нужно обязательно как новый пользователь по этой ссылке!

Посмотреть другие вопросы о программаторе ChipStar-Janus

Источник

USB программатор PIC своими руками

Собираем программатор для микроконтроллеров PIC и микросхем EEPROM

Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа – «прошивка», а также программатор.

И если с первым пунктом нет проблем – готовую «прошивку» обычно выкладывают авторы схем, то вот с программатором дела обстоят сложнее.

Цена готовых USB-программаторов довольно высока и лучшим решением будет собрать его самостоятельно. Вот схема предлагаемого устройства (картинки кликабельны).

Панель установки МК.

Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является «облегчённой» копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite, что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.

Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор – это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).

Читайте также:  Сделать масло для бани своими руками

Необходимые изменения.

В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.

Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом «Data». При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.

Также добавлен «подтягивающий» резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.

Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.

Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.

В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал. Кому интересно, загляните.

В связи с необходимостью работы с микросхемами серии 24Cxx мне и пришлось «допиливать» программатор. Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось.

Ядром устройства является микроконтроллер PIC18F2550-I/SP.

Это единственная микросхема в устройстве. МК PIC18F2550 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.

Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.

Название Обозначение Номинал/Параметры Марка или тип элемента
Для основной части программатора
Микроконтроллер DD1 8-ми битный микроконтроллер PIC18F2550-I/SP
Биполярные транзисторы VT1, VT2, VT3 КТ3102
VT4 КТ361
Диод VD1 КД522, 1N4148
Диод Шоттки VD2 1N5817
Светодиоды HL1, HL2 любой на 3 вольта, красного и зелёного цвета свечения
Резисторы R1, R2 300 Ом МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R3 22 кОм
R4 1 кОм
R5, R6, R12 10 кОм
R7, R8, R14 100 Ом
R9, R10, R15, R16 4,7 кОм
R11 2,7 кОм
R13 100 кОм
Конденсаторы C2 0,1 мк К10-17 (керамические), импортные аналоги
C3 0,47 мк
Электролитические конденсаторы C1 100 мкф * 6,3 в К50-6, импортные аналоги
C4 47 мкф * 16 в
Катушка индуктивности (дроссель) L1 680 мкГн унифицированный типа EC24, CECL или самодельный
Кварцевый резонатор ZQ1 20 МГц
USB-розетка XS1 типа USB-BF
Перемычка XT1 любая типа «джампер»
Для панели установки микроконтроллеров (МК)
ZIF-панель XS1 любая 40-ка контактная ZIF-панель
Резисторы R1 2 кОм МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R6 10 кОм

Теперь немного о деталях и их назначении.

Зелёный светодиод HL1 светится, когда на программатор подано питание, а красный светодиод HL2 излучает в момент передачи данных между компьютером и программатором.

Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа «B» (квадратная). В компьютере же используется USB-розетка типа «А». Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.

В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно. Для этого нужно намотать 250 – 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68. Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.

Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ. Обратная связь осуществляется делителем R10, R11.

Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2. VD2 – это диод Шоттки. Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.

При использовании программатора исключительно для программирования микроконтроллеров в панели (без применения ICSP), то можно исключить диод VD2 полностью (так сделано у меня) и установить вместо него перемычку.

Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force – с нулевым усилием установки).

Благодаря ей можно «зашить» МК практически в любом корпусе DIP.

Читайте также:  Сделать кукан для подводной охоты своими руками

На схеме «Панель установки микроконтроллера (МК)» указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели.

Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).

А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).

Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).

Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима «Печать» не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении.

Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат, с помощью цапонлака (так делал я) или «карандашным» методом.

Вот рисунок позиционирования элементов на печатной плате (кликабельно).

При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).

«Прошивка» микроконтроллера PIC18F2550.

Файл «прошивки» — PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800.

Ссылка на файл PK2V023200.hex, запакованный в архив rar, дана в конце статьи.

Залить «прошивку» в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).

Также стоит знать, что «прошивка» микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex — «C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex». У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex».

Ну, а если разрешить проблему «курицы и яйца» не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал тут.

Обновление «прошивки» программатора.

Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться — чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить «прошивку».

Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню «Tools» — «Download PICkit 2 Operation System» открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.

После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута. Узнать версию ПО программатора можно через меню «Help» — «About» в программе PICkit2 Programmer.

Это всё по техническим моментам. А теперь о софте.

Работа с программатором. Программа PICkit2 Programmer.

Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы – PICkit2 Programmer. Рекомендую.

После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод («питание»), а операционная система опознает устройство как «PICkit2 Microcontroller Programmer» и установит драйвера.

Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.

Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции «Что делать?» на английском.

Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer.

Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг.

Необходимые файлы:

Руководство пользователя PICkit2 (рус.) берём здесь или здесь.

Источник