Вход на сайт

Зарегистрировавшись на сайте Вы сможете добавлять свои материалы






Самодельные программаторы микросхем


Самодельный программатор для PIC-контроллеров

Самодельный программатор для PIC-контроллеров
Развитие электроники идёт стремительными темпами, и всё чаще главным элементом того или иного устройства является микроконтроллер. Он выполняет основную работу и освобождает проектировщика от необходимости создания изощрённых схемных решений, тем самым уменьшая размер печатной платы до минимального. Как всем известно, микроконтроллером управляет программа, записанная в его внутреннюю память. И если опытный программист-электронщик не испытывает проблем с использованием микроконтроллеров в своих устройствах, то для начинающего радиолюбителя попытка записать программу в контроллер (особенно PIC) может обернуться большим разочарованием, а иногда и небольшим пиротехническим шоу в виде дымящей микросхемы.

Как ни странно, но при всём величии сети Интернет в нём очень мало информации о прошивке PIC-контроллеров, а тот материал что удаётся найти - очень сомнительного качества. Конечно, можно купить заводской программатор за неадекватную цену и шить сколько душе угодно, но что делать, если человек не занимается серийным производством. Для этих целей можно собрать несложную и не дорогую в реализации самоделку, именуемую JDM-программатором по приведенной ниже схеме (рисунок №1):



Рисунок №1 - схема программатора

Сразу привожу перечень элементов для тех, кому лень всматриваться в схему:


  • R1 - 10 кОм
  • R2 - 10 кОм (подстроченный). Регулировкой сопротивления данного резистора нужно добиться около 13В на выводе №4 (VPP) во время программирования. В моём случае сопротивление составляет 1,2 кОм
  • R3 - 200 Ом
  • R4, R5 - 1,5 кОм
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (Напряжение стабилизации 5,1В)
  • VD7 - 1N4743A (Напряжение стабилизации 13В)
  • C1 - 100 нФ (0,1 мкФ)
  • C2 - 470 мкФ х 16 В (электролитический)
  • SUB-D9F - разъём СОМ-порта (МАМА или РОЗЕТКА)
  • Панелька DIP8 - зависит от используемого вами контроллера

В схеме использован пример подключения таких распространённых контроллеров, как PIC12F675 и PIC12F629, но это совсем не значит, что прошивка других серий PIC будет невозможна. Чтобы записать программу в контроллер другого типа, достаточно перекинуть провода программатора в соответствии с рисунком №2, который приведён ниже.



Рисунок №2 - варианты корпусов PIC-контроллеров с необходимыми выводами
Как можно догадаться, в схеме моего программатора использован корпус DIP8. При большом желании можно изготовить универсальный переходник под каждый тип микросхемы, получив тем самым универсальный программатор. Но так как с PIC-контроллерами работаю редко, для меня хватит и этого.

Хоть сама схема довольно проста и не вызовет трудностей в сборке, но она тоже требует уважения. Поэтому неплохо было бы сделать под неё печатную плату. После некоторых манипуляций с программой SprintLayout, текстолитом, дрелью и утюгом, на свет родилась вот такая заготовка (фото №3).



Фото №3 - печатная плата программатора
Скачать исходник печатной платы для программы SprintLayout можно по этой ссылке:
pp_programmator.zip [17.67 Kb] (скачиваний: 1317)
При желании его можно изменить под свой тип PIC-контроллера. Для тех, кто решил оставить плату без изменений, выкладываю вид со стороны деталей для облегчения монтажа (рисунок №4).

Рисунок №4 - плата с монтажной стороны

Ещё немного колдовства с паяльником и мы имеем готовое устройство, способное прошить PIC-контроллер через COM-порт вашего компьютера. Ещё тёпленький и не отмытый от флюса результат моих стараний показан на фото №5.



Фото №5 - программатор в сборе
С этого момента, первый этап на пути к прошивке PIC-контроллера, подошёл к концу. Второй этап будет включать в себя подключение программатора к компьютеру и работу с программой IC-Prog.
К сожалению, не все современные компьютеры и ноутбуки способны работать с данным программатором ввиду банального отсутствия на них COM-портов, а те что установлены на ноутбуках не выдают необходимые для программирования 12В. Так что я решил обратится к своему первому ПК, который давным-давно пылился и ждал своего звёздного часа (и таки дождался).
Итак включаем компьютер и первым делом устанавливаем программу IC-Prog. Скачать её можно с сайта автора или по этой ссылке:
icprog105d.zip [432.25 Kb] (скачиваний: 1592)
Подключаем программатор к COM-порту и запускаем только что установленное приложение. Для корректной работы необходимо выполнить ряд манипуляций. Изначально необходимо выбрать тот тип контроллера, который собираемся шить. У меня это PIC12F675. На скриншоте №6 поле для выбора контроллера выделено красным цветом.

Скриншот №6 - выбор типа микроконтроллера

Далее переходим в меню "Настройки"->"Опции", в появившемся окне выбираем вкладку I2C и ставим галочки, как показано на скриншоте №7.



Скриншот №7 - настройка метода записи контроллера

В этом же окне переходим во вкладку "Программирование" и выбираем пункт "Проверка при программировании". Проверка после программирования может вызвать ошибку, так как в некоторых случаях самой прошивкой устанавливаются фьюзы блокировки считывания СР. Чтобы не морочить себе голову данную проверку лучше отключить. Короче следуем скриншоту №8.



Скриншот №8 - настройка верификации

Продолжаем работу с этим окном и переходим на вкладку "Общие". Здесь необходимо задать приоритет работы программы и обязательно задействовать NT/2000/XP драйвер (скриншот №9). В некоторых случаях программа может предложить установку данного драйвера и потребуется перезапуск IC-Prog.



Скриншот №9 - общие настройки

Итак, с этим окном работа окончена. Теперь перейдём к настройкам самого программатора. Выбираем в меню "Настройки"->"Настройки программатора" или просто нажимаем клавишу F3. Появляется следующее окно, показанное на скриншоте №10.



Скриншот №10 - окно настроек программатора
Первым делом выбираем тип программатора - JDM Programmer. Далее выставляем радиокнопку использования драйвера Windows. Следующий шаг подразумевает выбор COM-порта, к которому подключен ваш программатор. Если он один, вопросов вообще нет, а если более одного - посмотрите в диспетчере устройств, какой на данным момент используется. Ползунок задержки ввода/вывода предназначен для регулирования скорости записи и чтения. Это может понадобится на быстрых компьютерах и при возникновении проблем с прошивкой - этот параметр необходимо увеличить. В моём случае он остался по умолчанию равным 10 и всё нормально отработало.

На этом настройка программы IC-Prog окончена и можно переходить к процессу самой прошивки, но для начала считаем данные с микроконтроллера и посмотрим что в него записано. Для этого на панели инструментов нажимаем на значок микросхемы с зелёной стрелкой, как показано на скриншоте №11.



Скриншот №11 - процесс чтения информации с микроконтроллера

Если микроконтроллер новый и до этого не прошивался, то все ячейки его памяти будут заполнены значениями 3FFF, кроме самой последней. В ней будет содержаться значение калибровочной константы. Это очень важное и уникальное для каждого контроллера значение. От него зависит точность тактирования, которая путём подбора и установки этой самой константы закладывается заводом изготовителем. На скриншоте №12 показана та ячейка памяти, в которой будет храниться константа при чтении контроллера.



Скриншот №12 - значение калибровочной константы

Повторюсь, что значение уникальное для каждой микросхемы и не обязательно должно совпадать с тем, что на рисунке. Многие по неопытности затирают эту константу и в последствии PIC-контроллер начинает некорректно работать, если в проекте используется тактирование от внутреннего генератора. Советую записать эту константу и наклеить надпись с её значением прямо на контроллер. Таким образом вы избежите множество неприятностей в будущем. Итак, значение записано - двигаемся дальше. Открываем файл прошивки, имеющий как правило расширение .hex. Теперь вместо надписей 3FFF, буфер программирования содержит код нашей программы (скриншот №13).



Скриншот №13 - прошивка, загруженная в буфер программирования

Выше я писал, что многие затирают калибровочную константу по неосторожности. Когда же это происходит? Это случается в момент открытия файла прошивки. Значение константы автоматически меняется на 3FFF и если начать процесс программирования, то назад дороги уже нет. На скриншоте №14 выделена та ячейка памяти где ранее была константа 3450 (до открытия hex-файла).



Скриншот №14 - автоматическое изменение калибровочной константы

Теперь нужно очень внимательно выполнить последующие действия. Нажимаем иконку микросхемы с молнией на панели инструментов, тем самым сообщая программе, что мы хотим инициировать процесс прошивки. Программа спросит уверены ли мы, что хотим прошить данное устройство. Соглашаемся и нажимаем "ДА". После этого получаем предупреждение, показанное на скриншоте №15.



Скриншот №15 - предупреждение о расхождении значений константы тактирования

IC-Prog сообщает нам, что ранее было установлено одно значение калибровочной константы (в моём случае 3450), а теперь другое (3FFF), автоматически подставленное из hex-файла. Также по умолчанию предлагается оставить значение 3FFF. Здесь важно нажать "НЕТ", чтобы IC-Prog во время программирования вернул нам значение 3450 или то, что будет у вас. В общем жмём "НЕТ" и наблюдаем следующее окно (скриншот №16).



Скриншот №16 - процесс программирования

В этот период советую ничего не нажимать и не грузить компьютер другими задачами. Когда я делал снимок экрана для этой статьи, то при нажатии на кнопку Print Screen вылетела ошибка записи и пришлось проделывать всё заново. По истечении некоторого времени IC-Prog выдаст вам сообщение об успешной проверке вновь записанного кода в ваш PIC-контроллер, так что всем кому понравилась эта статья, желаю увидеть вот это после аналогичных стараний (скриншот №17):



Скриншот №17 - прошивка прошла успешно, можно расслабиться

Если в процессе у вас возникнут какие-либо вопросы, внимательно перечитайте статью заново и всё обязательно получится - проверено лично. Всем удачи и творческих успехов!!!

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

csnol / 1CHIP-Programmers: Программисты для Attiny и STM32 MCU

перейти к содержанию Зарегистрироваться
  • Почему именно GitHub? Особенности →
    • Обзор кода
    • Управление проектами
    • Интеграции
    • Действия
    • Пакеты
    • Безопасность
    • Управление командой
    • Хостинг
    • мобильный
    • Истории клиентов →
    • Безопасность →
  • Команда
  • Предприятие
  • Проводить исследования
    • Изучить GitHub →
    Учитесь и вносите свой вклад
    • Темы
    • Коллекции
.

Видео о том, как приготовить домашние чипсы

Перейти к основному содержанию Новинка этого месяца
  • Следуйте за нами в:
Получить журнал Allrecipes
  • ПРОСМАТРИВАТЬ
  • Поиск ингредиентов

  • Создать профиль
+
-

Идти

  • Тип питания

    • Закуски и закуски
    • Завтрак и бранч
    • Десерты
    • Ужин
    • Напитки
  • Ингредиент

    • Говядина
    • Курица
    • Макароны
    • Свинина
    • Лосось
  • Диета и здоровье

    • Диабетик
    • Не содержит глютен
    • Здоровый
    • Низкокалорийный
    • Обезжиренный
  • Сезонный

    • Карнавал и ярмарка еды
    • День труда
.

vdudouyt / minipro: Программа с открытым исходным кодом для управления программаторами микросхем серии MiniPRO TL866xx

перейти к содержанию Зарегистрироваться
  • Почему именно GitHub? Особенности →
    • Обзор кода
    • Управление проектами
    • Интеграции
    • Действия
    • Пакеты
    • Безопасность
    • Управление командой
    • Хостинг
    • мобильный
    • Истории клиентов →
    • Безопасность →
  • Команда
  • Предприятие
  • Проводить исследования
    • Изучить GitHub →
    Учитесь и вносите свой вклад
    • Темы
    • Коллекции
    • В тренде
    • Учебная лаборатория
    • Руководства с открытым исходным кодом
    Связаться с другими
    • События
    • Форум сообщества
.

программистов чипов | Программаторы микросхем RS Components

| Компоненты RS

Программаторы микросхем

Программисты микросхем могут также называться программистами устройств или программистов интегральных схем. Это элементы электронного оборудования, в котором написано программное обеспечение для настройки программируемых устройств. Они поддерживают широкий спектр микросхем, таких как EPROM , EEPROM и flash , ROM , GAL и микроконтроллеры .


Как работают программисты микросхем?


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


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


Программаторы микросхем обычно подключаются к компьютеру через универсальную последовательную шину ( USB ) порт, параллельный порт или интерфейс локальной сети ( LAN ).Программное обеспечение на компьютере передает данные программатору микросхем, выбирает устройство и тип интерфейса, а затем запускает процесс программирования.


Для чего используются программаторы микросхем?


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

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

Хорошо, я понимаю

.

Смотрите также