Site Loader

Содержание

JDM ПРОГРАММАТОР

   Программатор JDM я использовал для контроллеров PIC16F676, PIC16F630 и PIC16F629. От изначального, мой вариант отличается тем, что напряжение программирования Vpp можно подать раньше напряжения питания Vdd для перепрограммирования контроллеров. Для этой цели служит верхний по схеме транзистор. Он открывается когда напряжение на контакте 3 розетки DB9F достигнет примерно 8 В относительно контакта 5 розетки или 13 В относительно минуса контроллера Vss. Выключатель Vdd_Vpp в замкнутом состоянии позволяет напряжению питания Vdd появиться на выводах контроллера ранее напряжения программирования Vpp.

Схема программатора JDM

   Для программирования будет использоваться COM-порт, у которого будут задействованы следующие выводы — 3, 4, 5, 7 и 8. В схеме заложена возможность программирования микросхем памяти серии 24сХХ. Для этого в колодке DIP16 используются нижние 8 контактов, первый контакт микросхемы вставляется в пятый конакт колодки.

Джампер J1 позволяет отключить защиту от записи.

   Нижний по схеме транзистор как и ранее используется для сдвига напряжений так как плюс питания контроллера Vdd соединяется с контактом 5 розетки — общим проводом порта, а минус питания Vss получается с помощью диодов, подключенных к контактам 3 и 7 розетки, и стабилитрона.

   Транзисторы в JDM программаторе использовал 2SC945 и BC548, диоды — 1N4148. Конденсатор u1 надо расположить как можно ближе к выводам питания микроконтроллера. Резистор 1k необязателен, если установлены резистор 10k и джампер J1 на колодке DIP16.

   Этот программатор успешно работает с программами PonyProg-2000 и PICPgm на компьютере Pentium-II. Работает действительно стабильно и без сбоев. Статья подготовленная специально для пользователей сайта Радиосхемы Александром Воропай.

   Форум по контроллерам

   Форум по обсуждению материала JDM ПРОГРАММАТОР



РОБОТ ЕЗДЯЩИЙ ПО ЛИНИИ

Простая транзисторная схема робота следующего по нарисованной линии.

Без микроконтроллеров и дорогих деталей.





Простейший программатор JDM для PIC на пассивных компонентах. Как программировать PIC микроконтроллеры или Простой JDM программатор Ntv программатор pic микроконтроллеров jdm совместимый отзывы

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

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

Цена готовых 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 Ом
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 .

Залить «прошивку» в МК 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, я рассказал в отдельной статье. Следующий шаг .

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

Программатор JDM я использовал для контроллеров PIC16F676, PIC16F630 и PIC16F629 . От изначального, мой вариант отличается тем, что напряжение программирования Vpp можно подать раньше напряжения питания Vdd для перепрограммирования контроллеров. Для этой цели служит верхний по схеме транзистор. Он открывается когда напряжение на контакте 3 розетки DB9F достигнет примерно 8 В относительно контакта 5 розетки или 13 В относительно минуса контроллера Vss . Выключатель Vdd_Vpp в замкнутом состоянии позволяет напряжению питания Vdd появиться на выводах контроллера ранее напряжения программирования Vpp .

Схема программатора JDM

Для программирования будет использоваться COM-порт, у которого будут задействованы следующие выводы — 3, 4, 5, 7 и 8. В схеме заложена возможность программирования микросхем памяти серии 24сХХ . Для этого в колодке DIP16 используются нижние 8 контактов, первый контакт микросхемы вставляется в пятый конакт колодки. Джампер J1 позволяет отключить защиту от записи.

Нижний по схеме транзистор как и ранее используется для сдвига напряжений так как плюс питания контроллера Vdd соединяется с контактом 5 розетки — общим проводом порта, а минус питания Vss получается с помощью диодов, подключенных к контактам 3 и 7 розетки, и стабилитрона.

Транзисторы в JDM программаторе использовал 2SC945 и BC548 , диоды — 1N4148 . Конденсатор u1 надо расположить как можно ближе к выводам питания микроконтроллера. Резистор 1k необязателен, если установлены резистор 10k и джампер J1 на колодке DIP16.

Этот программатор успешно работает с программами и

Развитие электроники идёт стремительными темпами, и всё чаще главным элементом того или иного устройства является микроконтроллер. Он выполняет основную работу и освобождает проектировщика от необходимости создания изощрённых схемных решений, тем самым уменьшая размер печатной платы до минимального. Как всем известно, микроконтроллером управляет программа, записанная в его внутреннюю память. И если опытный программист-электронщик не испытывает проблем с использованием микроконтроллеров в своих устройствах, то для начинающего радиолюбителя попытка записать программу в контроллер (особенно 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 можно по этой ссылке:
(скачиваний: 680)
При желании его можно изменить под свой тип PIC-контроллера. Для тех, кто решил оставить плату без изменений, выкладываю вид со стороны деталей для облегчения монтажа (рисунок №4).


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

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


Фото №5 — программатор в сборе

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


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


Скриншот №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-файла ).

Однажды я решил собрать несложный LC-метр на pic16f628a и естественно его надо было чем-то прошить. Раньше у меня был компьютер с физическим com-портом, но сейчас в моём распоряжении только usb и плата pci-lpt-2com. Для начала я собрал простой JDM программатор, но как оказалось ни с платой pci-lpt-com, ни с usb-com переходником он работать не захотел (низкое напряжение сигналов RS-232). Тогда я бросился искать usb программаторы pic, но там, как оказалось всё ограничено использованием дорогих pic18f2550/4550, которых у меня естественно не было, да и жалко такие дорогие МК использовать, если на пиках я очень редко что-то делаю (предпочитаю авр-ы, их прошить проблем не составляет, они намного дешевле, да и программы писать мне кажется, на них проще). Долго копавшись на просторах интернета в одной из множества статей про программатор EXTRA-PIC и его всевозможные варианты один из авторов написал, что extrapic работает с любыми com-портами и даже переходником usb-com.

В схеме данного программатора используется преобразователь логических уровней max232.

Я подумал, если использовать usb адаптер, то будет очень глупо делать два раза преобразование уровней usb в usart TTL, TTL в RS232, RS232 обратно в TTL, если можно просто взять TTL сигналы порта RS232 из микросхемы usb-usart преобразователя.

Так и сделал. Взял микросхему Ch440G (в которой есть все 8 сигналов com-порта) и подключил её вместо max232. И вот что получилось.

В моей схеме есть перемычка jp1, которой нет в экстрапике, её я поставил потому что, не знал, как себя поведёт вывод TX на ТТЛ уровне, поэтому сделал возможность его инвертировать на оставшемся свободном элементе И-НЕ и не прогадал, как оказалось, напрямую на выводе TX логическая единица, и поэтому на выводе VPP при включении присутствует 12 вольт, а при программировании ничего не будет (хотя можно инвертировать TX программно).

После сборки платы пришло время испытаний. И тут настало главное разочарование. Программатор определился сразу (программой ic-prog) и заработал, но очень медленно! В принципе — ожидаемо. Тогда в настройках com порта я выставил максимальную скорость (128 килобод) начал испытания всех найденных программ для JDM. В итоге, самой быстрой оказалась PicPgm. Мой pic16f628a прошивался полностью (hex, eeprom и config) плюс верификация где-то 4-6 минут (причём чтение идёт медленнее записи). IcProg тоже работает, но медленнее. Ошибок про программировании не возникло. Также я попробовал прошить eeprom 24с08, результат тот же — всё шьёт, но очень медленно.

Выводы: программатор достаточно простой, в нём нет дорогостоящих деталей (Ch440 — 0.3-0.5$ , к1533ла3 можно вообще найти среди радиохлама), работает на любом компьютере, ноутбуке (и даже можно использовать планшеты на windows 8/10). Минусы: он очень медленный. Также он требует внешнее питание для сигнала VPP. В итоге, как мне показалось, для нечастой прошивки пиков — это несложный для повторения и недорогой вариант для тех, у кого нет под рукой древнего компьютера с нужными портами.

Вот фото готового девайса:

Как поётся в песне «я его слепила из того, что было». Набор деталей самый разнообразный: и smd, и DIP.

Для тех, кто рискнёт повторить схему, в качестве usb-uart конвертера подойдёт почти любой (ft232, pl2303, cp2101 и др), вместо к1533ла3 подойдёт к555, думаю даже к155 серия или зарубежный аналог 74als00, возможно даже будет работать с логическими НЕ элементами типа к1533лн1. Прилагаю свою печатную плату, но разводка там под те элементы, что были в наличии, каждый может перерисовать под себя.

Список радиоэлементов
Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 Микросхема Ch440G 1 В блокнот
IC2 Микросхема К1533ЛА3 1 В блокнот
VR1 Линейный регулятор

LM7812

1 В блокнот
VR2 Линейный регулятор

LM7805

1 В блокнот
VT1 Биполярный транзистор

КТ502Е

1 В блокнот
VT2 Биполярный транзистор

КТ3102Е

1 В блокнот
VD1-VD3 Выпрямительный диод

1N4148

2 В блокнот
C1, C2, C5-C7 Конденсатор 100 нФ 5 В блокнот
C3, C4 Конденсатор 22 пФ 2 В блокнот
HL1-HL4 Светодиод Любой 4 В блокнот
R1, R3, R4 Резистор

1 кОм

3

Быстро собрать понравившуюся схему на микроконтроллере для многих радиолюбителей — не проблема. Но многие начинающие работать с микроконтроллерами сталкиваются с вопросом — как его запрограммировать. Одним из самых простых вариантов программаторов является JDM программатор.

Программа — программатор ProgCode v 1.0

Эта программа работает в WindowsXP. Позволяет программировать PIC контроллеры среднего семейства(PIC16Fxxx) через COM порт компьютера. Индикатор подключения программатора(в правом верхнем углу окна) при отсутствии программатора на выбранном в настройках порту окрашивается в красный цвет. Если программатор подключен — программа обнаруживает его и индикатор в правом верхнем углу принимает вид, который показан на рисунке 1.

В левой части окна программы расположена панель управления. Эту панель можно свернуть нажав на кнопку в панели инструментов или, кликнув по левому краю окна (это удобно, когда окно программы развёрнуто во весь экран).

Рисунок (скриншот программы ProgCode v1.0)

Если в программу загружается HEX файл, то желательно перед этим выбрать в списке контроллеров тот МК, для которого расчитана загружаемая прошивка. Если этого не сделать, то файл, расчитанный на микроконтроллер с памятью большего размера чем выбран в списке, будет обрезан и части программы потеряна — при таком варианте загрузки файла выводится предупреждение.

Если этого не произошло, то выбрать нужный контроллер можно и после загрузки файла в программу.

Формат файлов SFR
В программаторе ProgCode поддержана работа с собственным форматом файлов. Эти файлы имеют расширение.SFR и позволяют хранить дополнительную информацию о программе, предназначенной для микроконтроллера. В таком файле сохраняется информация о типе микроконтроллера. Это позволяет при загрузке файла формата SFR не беспокоится о предварительном выборе типа МК в настройках.
Настройки порта и протокола при подключении программатора
После установки программы — по умолчанию выставлены все настройки, которые необходимы для работы программатора со схемой JDM, приведённой на этой странице.
Инверсия сигнала в приведённой схеме нужна только для выхода OutData, так как в этой цепи сигнал инвертирован согласующим транзистором. На всех остальных выводах инверсия отключена.

Задержка импульса может быть равна 0. Её регулировка предусмотрена для «особо трудных» экземпляров контроллеров, которые не удаётся прошить. То же самое относится и к надбавке к паузе при записи — по умолчанию она нулевая. Если увеличить значения этих настроек, время программирования контроллера значительно увеличится.

Галочка «проверка при записи» должна быть выставлена, если вам нужно «на лету» проверить всё что записывается в микроконтроллер на правильность и соответствие исходному файлу. Если эту галочку снять проверка не производится вообще и сообщений об ошибках не будет, даже если такие ошибки в реальности будут присутствовать.
Выбор скорости порта — скорость может быть любой. Для JDM программатора этот параметр не имеет значения.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование — управление компьютером — диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) — смотрим свойства — вкладка параметры порта — дополнительно. И снимаем галочку на пункте «Использовать буферы FIFO»

Рисунок — Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.

Обозреватель локальных проектов

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

Любой файл при двойном клике по нему в панели обозревателя откроется в самой программе — это относится к рисункам, html файлам, doc, rtf, djvu(при установленных плагинах), pdf, txt, asm. Файл возможно так-же открыть двойным кликом в обозревателе с помощью внешней программы, установленной на компьютере. Для этого расширение нужного типа файлов необходимо прописать в списке «Ассоциации файлов». Если путь к открывающей программе не указывать — Windows откроет файл в программе по умолчанию(это удобно для открытия архивов, которые не всегда однозначно открываются). Если путь к открывающей программе указан в списке — файл откроется в указанной программе. Удобно просматривать таким образом файлы типа SPL, LAY, DSN.

Рисунок (скриншот обозревателя программы ProgCode v1.0)

Вот так выглядит окно с настройками ассоциаций файлов:

Обозреватель проектов в интернете

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



При обзоре проектов в интернете если на странице проекта есть ссылка на файл с расширением SFR(это формат файлов программы ProgCode), то такой файл при клике по нему откроется в новой вкладке программы и сразу готов к прошивке в микроконтроллер.
Список ссылок можно редактировать воспользовавшись кнопкой «Изменить». При этом откроется окно редактирования списка ссылок:


Описание процесса программирования микросхем

Большинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.

Рассмотрим запись информации во флэш память микроконтроллера PIC 16 F 628 A

Есть 2 линии DATA и CLOCK , по которым передаётся информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.

Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA ) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK ).
Один бит для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC 16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд

«LoadConfiguration » 000000 — Загрузка конфигурации

«LoadDataForDataMemory » — 000011 — Загрузка данных в память данных(EEPROM )
«IncrementAddress » 000110 — Увеличение адреса PC МК
«ReadDataFromProgramMemory » 000100 — Чтение данных из памяти программ
«ReadDataFromDataMemory » 000101 — Чтение данных из памяти данных(EEPROM )
«BeginProgrammingOnlyCycle » 011000 — Начать цикл программирования
«BulkEraseProgramMemory » 001001 — Полное стирание памяти программ
«BulkEraseDataMemory » 001011 — Полное стирание памяти данных(EEPROM )

Реагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды

«LoadDataForProgramMemory » 000010 — Загрузка данных в память программ

необходимо отправить в контроллер сами данные — 16 бит,
которые выглядят так:

“0xxxxxxxxxxxxxx 0”.

Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC 16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда

«BeginEraseProgrammingCycle» 001000 — Начать цикл программирования

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

Сигналы на выводах микроконтроллера формируются компьютером при помощи специальных программ — программаторов. Для передачи сигнала могут служить порты COM, LPT или USB. C JDM программатором работают такие программы как PonyProg, IsProg, WinPic800.


Схема JDM программатора

Очень простая схема программатора приведена на рисунке. В этой схеме хоть и не реализуется контроль последовательности подачи напряжений, но зато она очень проста и собрать такую схему возможно очень быстро, ипользовав минимумом деталей.
Рисунок (схема JDM программатора)


Одним из вопросов при подключении программатора к компьютеру является вопрос — как обеспечить селективную развязку. Чтобы в случае неисправности в схеме избежать повреждения COM порта. В некоторых схемах применяется микросхема MAX232, которая обеспечивает селективную развязку и согласует уровни сигналов. В этой схеме вопрос решён проще — с помощью применения батарейного питания. Уровень сигнала, поступающего от компьютера ограничивается стабилитронами VD1, VD2, и VD3. Несмотря на простоту схемы JDM программатора с его помощью можно запрограммировать большинство типов PIC микроконтроллеров.

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

Поключение выходов программатора к конкретному МК зависит от типа МК. Часто на плату программатора монтируют несколько панелек, которые расчитаны на определённый тип контроллеров.

В таблице приведено назначение ножек некоторых типов МК при программировании.

Такое же расположение выводов, предназначенных для программирования, имеют МК PIC16F84, PIC16F84A.



Назначение выводов для микроконтроллеров серии PIC16Fxxx в зависимости от типа корпуса в большинстве случаев является стандартным, но если возникает сомнения на этот счёт, то надёжнее всего свериться с даташитом на конкретный экземпляр МК. Часть документации присутствует на русском сайте http://microchip.ru Полное же собрание даташитов и другой документации находится на сайте производителя PIC микроконтроллеров: http://microchip.com

Индекс проектов

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

При необходимости прошить контроллер выбранной прошивкой — кликаем мышкой на файл формата SFR, к примеру Timer_a.sfr
Программа загружает файл с сервера в новую вкладку.

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

Простейший программатор JDM для PIC на пассивных компонентах. Простой JDM программатор для PIC микроконтроллеров — Программаторы микроконтроллеров

Программатор JDM я использовал для контроллеров PIC16F676, PIC16F630 и PIC16F629 . От изначального, мой вариант отличается тем, что напряжение программирования Vpp можно подать раньше напряжения питания Vdd для перепрограммирования контроллеров. Для этой цели служит верхний по схеме транзистор. Он открывается когда напряжение на контакте 3 розетки DB9F достигнет примерно 8 В относительно контакта 5 розетки или 13 В относительно минуса контроллера Vss . Выключатель Vdd_Vpp в замкнутом состоянии позволяет напряжению питания Vdd появиться на выводах контроллера ранее напряжения программирования Vpp .

Схема программатора JDM

Для программирования будет использоваться COM-порт, у которого будут задействованы следующие выводы — 3, 4, 5, 7 и 8. В схеме заложена возможность программирования микросхем памяти серии 24сХХ . Для этого в колодке DIP16 используются нижние 8 контактов, первый контакт микросхемы вставляется в пятый конакт колодки. Джампер J1 позволяет отключить защиту от записи.

Нижний по схеме транзистор как и ранее используется для сдвига напряжений так как плюс питания контроллера Vdd соединяется с контактом 5 розетки — общим проводом порта, а минус питания Vss получается с помощью диодов, подключенных к контактам 3 и 7 розетки, и стабилитрона.

Транзисторы в JDM программаторе использовал 2SC945 и BC548 , диоды — 1N4148 . Конденсатор u1 надо расположить как можно ближе к выводам питания микроконтроллера. Резистор 1k необязателен, если установлены резистор 10k и джампер J1 на колодке DIP16.

Этот программатор успешно работает с программами и

Рассказать в:
Быстро собрать понравившуюся схему на микроконтроллере для многих радиолюбителей — не проблема. Но многие начинающие работать с микроконтроллерами сталкиваются с вопросом — как его запрограммировать. Одним из самых простых вариантов программаторов является JDM программатор.
Программа — программатор ProgCode v 1.0Эта программа работает в WindowsXP. Позволяет программировать PIC контроллеры среднего семейства(PIC16Fxxx) через COM порт компьютера. Индикатор подключения программатора(в правом верхнем углу окна) при отсутствии программатора на выбранном в настройках порту окрашивается в красный цвет. Если программатор подключен — программа обнаруживает его и индикатор в правом верхнем углу принимает вид, который показан на рисунке 1. В левой части окна программы расположена панель управления. Эту панель можно свернуть нажав на кнопку в панели инструментов или, кликнув по левому краю окна (это удобно, когда окно программы развёрнуто во весь экран).

Рисунок (скриншот программы ProgCode v1.0)

Если в программу загружается HEX файл, то желательно перед этим выбрать в списке контроллеров тот МК, для которого расчитана загружаемая прошивка. Если этого не сделать, то файл, расчитанный на микроконтроллер с памятью большего размера чем выбран в списке, будет обрезан и части программы потеряна — при таком варианте загрузки файла выводится предупреждение.

Если этого не произошло, то выбрать нужный контроллер можно и после загрузки файла в программу.

Формат файлов SFRВ программаторе ProgCode поддержана работа с собственным форматом файлов. Эти файлы имеют расширение.SFR и позволяют хранить дополнительную информацию о программе, предназначенной для микроконтроллера. В таком файле сохраняется информация о типе микроконтроллера. Это позволяет при загрузке файла формата SFR не беспокоится о предварительном выборе типа МК в настройках.

Настройки порта и протокола при подключении программатораПосле установки программы — по умолчанию выставлены все настройки, которые необходимы для работы программатора со схемой JDM, приведённой на этой странице.
Инверсия сигнала в приведённой схеме нужна только для выхода OutData, так как в этой цепи сигнал инвертирован согласующим транзистором. На всех остальных выводах инверсия отключена.

Задержка импульса может быть равна 0. Её регулировка предусмотрена для «особо трудных» экземпляров контроллеров, которые не удаётся прошить. То же самое относится и к надбавке к паузе при записи — по умолчанию она нулевая. Если увеличить значения этих настроек, время программирования контроллера значительно увеличится.

Галочка «проверка при записи» должна быть выставлена, если вам нужно «на лету» проверить всё что записывается в микроконтроллер на правильность и соответствие исходному файлу. Если эту галочку снять проверка не производится вообще и сообщений об ошибках не будет, даже если такие ошибки в реальности будут присутствовать.
Выбор скорости порта — скорость может быть любой. Для JDM программатора этот параметр не имеет значения.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование — управление компьютером — диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) — смотрим свойства — вкладка параметры порта — дополнительно. И снимаем галочку на пункте «Использовать буферы FIFO»

Рисунок — Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.

Обозреватель локальных проектовКроме непосредственно программирования контроллеров в программе реализован удобный обозреватель проектов на МК, находящихся как на локальных папках компьютера, так и в интернете. Сделано это для удобства работы. Нередко нужные проекты лежат в разных папках, и приходится тратить время на то, чтобы добраться до нужной дирректории, чтобы просмотреть проект. Здесь нужные папки легко добавить в список папок и просматривать любой проект двумя-тремя кликами мышки.

Любой файл при двойном клике по нему в панели обозревателя откроется в самой программе — это относится к рисункам, html файлам, doc, rtf, djvu(при установленных плагинах), pdf, txt, asm. Файл возможно так-же открыть двойным кликом в обозревателе с помощью внешней программы, установленной на компьютере. Для этого расширение нужного типа файлов необходимо прописать в списке «Ассоциации файлов». Если путь к открывающей программе не указывать — Windows откроет файл в программе по умолчанию(это удобно для открытия архивов, которые не всегда однозначно открываются). Если путь к открывающей программе указан в списке — файл откроется в указанной программе. Удобно просматривать таким образом файлы типа SPL, LAY, DSN.

Рисунок (скриншот обозревателя программы ProgCode v1.0)

Вот так выглядит окно с настройками ассоциаций файлов:

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


При обзоре проектов в интернете если на странице проекта есть ссылка на файл с расширением SFR(это формат файлов программы ProgCode), то такой файл при клике по нему откроется в новой вкладке программы и сразу готов к прошивке в микроконтроллер.
Список ссылок можно редактировать воспользовавшись кнопкой «Изменить». При этом откроется окно редактирования списка ссылок:

Описание процесса программирования микросхемБольшинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.Рассмотрим запись информации во флэш память микроконтроллера PIC16F628AЕсть 2 линии DATA и CLOCK, по которым передаётся информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд»LoadConfiguration» 000000 — Загрузка конфигурации
«LoadDataForProgramMemory» 000010 — Загрузка данных в память программ
«LoadDataForDataMemory» — 000011 — Загрузка данных в память данных(EEPROM)
«IncrementAddress» 000110 — Увеличение адреса PC МК
«ReadDataFromProgramMemory» 000100 — Чтение данных из памяти программ
«ReadDataFromDataMemory» 000101 — Чтение данных из памяти данных(EEPROM)
«BeginProgrammingOnlyCycle» 011000 — Начать цикл программирования
«BulkEraseProgramMemory» 001001 — Полное стирание памяти программ
«BulkEraseDataMemory» 001011 — Полное стирание памяти данных(EEPROM)
«BeginEraseProgrammingCycle» 001000 — Начать цикл программированияРеагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды»LoadDataForProgramMemory» 000010 — Загрузка данных в память программнеобходимо отправить в контроллер сами данные — 16 бит,
которые выглядят так: “0xxxxxxxxxxxxxx0”.Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда
«BeginEraseProgrammingCycle» 001000 — Начать цикл программированияПолучив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.Сигналы на выводах микроконтроллера формируются компьютером при помощи специальных программ — программаторов. Для передачи сигнала могут служить порты COM, LPT или USB. C JDM программатором работают такие программы как PonyProg, IsProg, WinPic800.
Схема JDM программатораОчень простая схема программатора приведена на рисунке. В этой схеме хоть и не реализуется контроль последовательности подачи напряжений, но зато она очень проста и собрать такую схему возможно очень быстро, ипользовав минимумом деталей.
Рисунок (схема JDM программатора)


Одним из вопросов при подключении программатора к компьютеру является вопрос — как обеспечить селективную развязку. Чтобы в случае неисправности в схеме избежать повреждения COM порта. В некоторых схемах применяется микросхема MAX232, которая обеспечивает селективную развязку и согласует уровни сигналов. В этой схеме вопрос решён проще — с помощью применения батарейного питания. Уровень сигнала, поступающего от компьютера ограничивается стабилитронами VD1, VD2, и VD3. Несмотря на простоту схемы JDM программатора с его помощью можно запрограммировать большинство типов PIC микроконтроллеров.Перемычка между выводами COM6(DSR) и COM7(RTS) предназначена для того, чтобы программа могла определить, что программатор подключен к компьютеру.

Поключение выходов программатора к конкретному МК зависит от типа МК. Часто на плату программатора монтируют несколько панелек, которые расчитаны на определённый тип контроллеров.

В таблице приведено назначение ножек некоторых типов МК при программировании.

приведены рисунки с назначением выводов наиболее распространнённых МК при программировании.Цоколёвка (распиновка) микроконтроллеров PIC16F876A, PIC16F873A в корпусе DIP28.

Цоколёвка (распиновка) микроконтроллеров PIC16F874A, PIC16F877A в корпусе DIP40.
Цоколёвка (распиновка) микроконтроллеров PIC16F627A, PIC16F628A, PIC16F648A в корпусе DIP18.
Такое же расположение выводов, предназначенных для программирования, имеют МК PIC16F84, PIC16F84A.

Назначение выводов для микроконтроллеров серии PIC16Fxxx в зависимости от типа корпуса в большинстве случаев является стандартным, но если возникает сомнения на этот счёт, то надёжнее всего свериться с даташитом на конкретный экземпляр МК. Часть документации присутствует на русском сайте http://microchip.ru Полное же собрание даташитов и другой документации находится на сайте производителя PIC микроконтроллеров: http://microchip.com
Индекс проектовПрограмма позволяет напрямую выходить на страницу индекса, парой кликов просматривать описание нужного проекта и сразу-же прошивать программу в контроллер.

При необходимости прошить контроллер выбранной прошивкой — кликаем мышкой на файл формата SFR, к примеру Timer_a.sfr
Программа загружает файл с сервера в новую вкладку.

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

Скачать программу можно на странице загрузки файлов:http://cxema.my1.ru/load/proshivki/material_k_state_prostoj_jdm_programmator_dlja_pic_mikrokontrollerov/9-1-0-1613 Раздел:

Развитие электроники идёт стремительными темпами, и всё чаще главным элементом того или иного устройства является микроконтроллер. Он выполняет основную работу и освобождает проектировщика от необходимости создания изощрённых схемных решений, тем самым уменьшая размер печатной платы до минимального. Как всем известно, микроконтроллером управляет программа, записанная в его внутреннюю память. И если опытный программист-электронщик не испытывает проблем с использованием микроконтроллеров в своих устройствах, то для начинающего радиолюбителя попытка записать программу в контроллер (особенно 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 можно по этой ссылке:
(скачиваний: 680)
При желании его можно изменить под свой тип PIC-контроллера. Для тех, кто решил оставить плату без изменений, выкладываю вид со стороны деталей для облегчения монтажа (рисунок №4).


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

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


Фото №5 — программатор в сборе

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


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


Скриншот №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-файла ).

За основу предлагаемого программатора взята публикация из журнала «Радио» №2, 2004г, «Программирование современных PIC16, PIC12 на PonyProg». Это мой первый программатор, который я использовал для прошивки PIC микросхем дома. Программатор представляет собой упрощенный вариант JDM программатора, оригинальная схема имеет преобразователь RS-232 на TTL в виде микросхемы MAX232, она более универсальна, но ее «на коленке» уже не соберешь. Данная схема не имеет вообще ни одного активного компонента, не содержит дефицитных деталей и очень проста, может быть собрана без применения печатной платы.

Рис. 1: Принципиальная схема программатора.

Описание работы схемы
Схема программатора представлена на рис. 1. Резисторы по цепям CLK (тактирование), DATA (информационный), Upp (напряжение программирования) служат для ограничения протекающего тока. PIC контроллеры защищены от пробоя встроенными стабилитронами, поэтому получается некоторая совместимость TTL и RS-232 логики. В представленной схеме присутствуют диоды VD1, VD2, которые «отбирают» плюсовое напряжение от COM порта относительно 5 контакта и передают его на питание контроллера, благодаря чему в некоторых случаях удается избавиться от дополнительного источника питания.

Налаживание
На практике не всегда случается, что данный программатор заработает без налаживания, с 1-го раза, т.к. работа данной схемы сильно зависит от параметров COM порта. Однако у меня, на двух материнских платах Gigabyte 8IPE1000 и WinFast под XP все заработало сразу. Если Вам лень разбираться с неработающей, более сложной схемой программатора, то стоит попробовать собрать эту. Вот некоторые вещи, которые могут повлиять:

Чем новее мат. плата, тем разработчики уделяют этим портам меньше внимания, потому что эти порты давно стали морально устаревшими. Избавиться от этого можно, купив переходник USB-COM, правда опять же купленное устройство может не подойти. Нужные параметры таковы: изменяемое напряжение должно меняться не менее -10В до +10В (лог. 0 и 1) относительно 5-го контакта разъема. Отдааваемый ток должен быть хотя бы таким, чтобы при подключеннии резистора 2,7 кОм между 5-м контактом и исследуемым контактом напряжение не падало ниже 10В (сам таких плат не встречал). Также порт должен правильно определять напряжения, поступающие от контроллера, при уровне напряжения близкого к 0В, но не больше 2В определяется нуль, и соответственно при выше 2В определяется единица.

Также проблемы могут возникнуть из за программного обеспечения.
Особенно это касается ОС LINUX, т.к. из за наличия эмуляторов типа wine, VirtualBox порты могут работать неправильно, а возможностей от них требуется много. Этих проблем я коснусь подробнее в другой статье.

Зная эти особенности, приступим к налаживанию.
Для этого очень желательно иметь программу ICProg 1.05D.
В меню программы нужно во первых выбрать в настройках соотв. порт (COM1. COM2), выбрать JDM программатор. Затем открыть окно «Hardware Check», в меню «Settings». В этом меню нужно по очереди ставить галочки и вольтметром измерять напряжение на контактах подключенного разъема. Если параметры напряжения не соответствуют норме, то к сожалению, это может быть причиной неработоспособности, тогда придется собирать схему с преобразователем RS-232 TTL. Отметив все галочки, нужно убедиться, что на стабилитроне образуется напряжение питания около 5В. Если напряжения в норме и отсутствуют ошибки монтажа, то все должно сработать. Ставим контроллер в панельку, открываем прошивку, программируем. Галочки типа «Invert data out» включать не надо (все сняты). Также не нужно забывать, что некоторые партии контроллеров могут иметь не совсем стандартные параметры, и их прошить не получается, в таких случаях с данным программатором можно попробовать только снизить напряжение питания с 5В до 3-4В, подключив соотв. стабилитрон, посмотреть контроллер на предмет ошибочного включения режима LVP (низковольтное программирование), как предотвратить, можно прочитать в Интернете для конкретного типа контроллера. Повысить напряжение программирования проблеммного контроллера можно, наверное, только усложнив схему введением усилительного каскада с общим эмиттером, запитанного от дополнительного источника питания.

Теперь подробнее о проблеме с питанием устройства. Программатор тестировался с программами ICProg и консольным picprog под Linux, должен работать с любым, который поддерживает JDM, если подключить дополнительный источник питания (он подключается через резистор 1кОм к стабилитрону, диоды с резисторами в этом случае можно вообще исключить). Дело в том, что алгоритмы управления программаторов у отдельного софта разные, программа ICProg, является самой неприхотливой. Замечено, что в ОС Windows эта программа на неиспользуемом контакте 2 поднимала нужное напряжение питания, эта же программа под эмулятором в Linux на другой мат. плате уже не смогла этого сделать, однако выход был найден, отбирая питание из напряжения программирования. В общем, с ICProg, думаю, можно применять этот программатор без дополнительного питания. С другим софтом это гарантировать врядли получится, например, «родной» из репозиториев Ubuntu picprog без питания просто не определяет программатор, выдавая сообщение «JDM hardware not found». Вероятно, он либо принимает какие-то данные, не подавая напряжение программирования, либо делает это слишком быстро, таким образом что фильтрующий конденсатор еще не успевает зарядиться.

В качестве элементарного программатора предлагаем вам собрать по авторской схеме JDM совместимый программатор, который мы назвали NTV программатор. Ниже схема NTV программатора (используется розетка DB9; не путать с вилкой).

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

Данный программатор НЕ РАБОТАЕТ при подключении к ноутбукам, т.к. уровни сигналов интерфейса RS-232 (COM-порт) в мобильных системах занижены. Также он может не работать на современных ПК, где аппаратно экономится ток на порту. Так что не обессудьте, собирайте и проверяйте на всех попавшихся под руку компьютерах.

Конструктивно плата программатора вставляется между контактами разъема DB-9, которые подпаиваются к контактным площадкам печатной платы. Ниже рисунок платы и фотография собранного программатора.



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

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

Лучшее на сайте

Рекомендуем почитать

Самодельный usb программатор для pic контроллеров. Простейший программатор JDM для PIC на пассивных компонентах

USB программатор PIC контроллеров — 3.8 out of 5 based on 11 votes

Фотогорафии программатора предоставленны Ансаганом Хасеновым

В данной статье рассматриваются практические аспекты сборки несложного USB программатора PIC микроконтроллеров, который имеет оригинальное название GTP-USB (Grabador TodoPic-USB). Существует старшая модель этого программатора GTP-USB plus который поддерживает и AVR микроконтроллеры, но предлагается за деньги. Однозначных сведений по схемам и прошивкам к GTP-USB plus обнаружить не удалось. Если у вас есть информация по GTP-USB plus, прошу связаться со мной.

Итак, GTP-USB. Данный программатор собран на микроконтроллере PIC18F2550. GTP-USB нельзя рекомендовать начинающим, т.к. для сборки требуется прошить PIC18F2550 и для этого требуется программатор. Замкнутый круг, но не настолько замкнутый, чтобы это стало препятствием для сборки.

Из оригинальной схемы GTP-USB исключены элементы индикации для упрощения рисунка печатной платы. Основной индикатор — это монитор вашего компьютера, на котором из программы WinPic800 версий 3.55G или 3.55B вы можете наблюдать за процессом программирования.

Облегченная схема GTP-USB.

Сигнальные линии Vpp1 и Vpp2 определены под микроконтроллеры в корпусах с различным количеством выводов. Линия Vpp/ICSP определена для внутрисхемного программирования. Остальные линии типовые.

Программатор собран на односторонней печатной плате .

Адаптер можно безболезненно подключать к любому другому программатору PIC-микроконтроллеров, что, безусловно, удобно.

После сборки производим первое включение. По факту первого подключения GTP-USB к ПК появляется сообщение

Затем следует традиционный запрос на установку драйвера. Драйвер расположен в управляющей программе WinPic800 по примерному пути \WinPic800 3.55G\GTP-USB\Driver GTP-USB\.


Соглашаемся с предупреждениями и продолжаем установку.

Обращаю внимание. Данная схема программатора и прошивка к нему проверены на практике и работают с управляющей программой WinPic800 версий 3.55G и 3.55B. Более старшие версии, например, 3.63C не работают с этим программатором. Производим настройку управляющей программы: в меню Settings — Hardware (Установки — Оборудование) выбираем GTP-USB-#0 или GTP-USB-#F1 и нажимаем Apply (Применить).

Нажимаем на панели кнопку и производим тест оборудования. В результате успешного тестирования появляется сообщение (см. ниже), которое не может нас не радовать.

Данный программатор отлично работал со следующими контроллерами (из того что было в наличии): PIC12F675, PIC16F84A, PIC16F628A, PIC16F874A, PIC16F876A, PIC18F252. Тест контроллеров, запись и чтение данных — выполнены успешно. Скорость работы впечатляет. Чтение 1-2 сек. Запись 3-5 сек. Глюков не замечено. Часть зашитых МК протестировано в железе — работает.


Представляет собой наиболее простую конструкцию для прошивки контроллеров семейства PIC. Неоспоримые преимущества — простота, компактность, питание без внешнего источника данной классической схемы программатора сделали её очень популярной среди радиолюбителей, тем более что схеме уже лет 5, и за это время она зарекомендовала себя как простой и надёжный инструмент работы с микроконтроллерами.

Принципиальная схема программатора для pic контроллеров:

Питание на саму схему не требуется, ведь для этого служит COM порт компьютера, через который и осуществляется управление прошивкой микроконтроллера. Для низковольтного режима программирования вполне достаточно 5в, но могут быть не доступны все опции для изменения (фьюзы). Разъем подключения COM-9 порта смонтировал прямо на печатную плату программатора для PIC — получилось очень удобно.

Можно воткнуть плату без лишних шнуров прямо в порт. опробован на различных компьютерах и при программировании МК серий 12F,16F и 18F, показал высокое качество прошивки. Предложенная схема позволяет программировать микроконтроллеры PIC12F509, PIC16F84A, PIC16F628. Например недавно с помощью предложенного программатора успешно был прошит микроконтроллер для .

Для программирования используется WinPic800 — одна из лучших программ для программирования PIC контроллеров. Программа позволяет выполнять операции для микроконтроллеров семейства PIC: чтения, записи, стирания, проверки FLASH и EEPROM памяти и установку битов конфигураций.

1. ПРОГРАММАТОР ДЛЯ PIC-КОНТРОЛЛЕРОВ

Я надеюсь, что моя статья поможет некоторым радиолюбителям перешагнуть порог от цифровой техники к микроконтроллерам. В Интернете и радиолюбительских журналах много программаторов: от самых простых до очень накрученных. Мой не очень сложный, но надежный.

Первый вариант программатора предназначен для программирования 18-ти и 28-ми «пиновых» PIC контроллеров. В основу программатора положена схема из журнала Радио № 10 за 2007 год. Но подбор конденсатора С7, эксперименты с разными вариантами ICprog, PonyProg, WinPic и скоростями чтения-записи не дали желаемого результата: успешное программирование получалось через раз. И это продолжалось до тех пор, пока не сделал питание +5В программируемой микросхемы отдельно, а не после 12-ти вольтного стабилизатора. Получилась такая схема.

Опасаясь сбоев, печатку рисовал так, чтобы плата вставлялась непосредственно в Com-порт, что не очень просто из-за всевозможных «шнурков» и малого расстояния до корпуса. Получилась печатка неправильной формы, но вставляется в СОМ-порт нормально и программирует без ошибок.

Со временем сделал шнур-удлинитель длинной около 1 метра. Теперь программатор лежит рядом с монитором и подключен к COM порту. Работает нормально: многократно программировались микроконтроллеры PIC16F84A, PIC16F628A, PIC16F873A.

Обратите внимание: микросхема Мах и светодиоды установлены со стороны печатных проводников. Панельки — ZIF-28, одна из них служит для 18-ти выводных PIC. На панельках нанесены метки первых ножек и числа «18» и «28». В корпусе вилки-адаптера установлен трансформатор 220 на 15 вольт, 4 ватта. Включать в розетку нужно после установки микроконтроллера в панельку. Транзисторы n-p-n маломощные высокочастотные (300Мгц) в корпусе to-92.

Разъём XP временно не устанавливал, а потом оказалось, что он особо и не нужен. Пришлось как-то программировать впаянный МК, так я провода прямо в ZIF вставил и зафиксировал. Перепрограммирование прошло успешно.

Я работаю c программами ICprog и WinPic-800.

В программе IC-prog 1.05D следующие настройки программатора:

  • Программатор – JDM Programmer
  • Порт –Com1
  • Прямой доступ к портам.
  • Инверсия: ввода, вывода и тактирования (поставить галочки).

В WinPic-800 –v.3.64f всё идентично, только нужно еще поставить “птицу” в использовании MCLR.

В интернете можно свободно и бесплатно скачать эти программы. Но для облегчения жизни, я попробую приложить все необходимое. Просто вспомнил: сколько всяких “ненужностей” я сам накачал с интернета, и сколько времени на разборки всего этого потратил.

  • Печатная плата программатора
  • Программа WinPic-800 ( )
  • Программа IC-Prog ()
  • Статья по IC-Prog.

2. ПРОГРАММАТОР-2 ДЛЯ PIC-КОНТРОЛЛЕРОВ

Со временем появилась необходимость в программировании 14-ти и 40-ка «пиновых» пиков. Решил сделать программатор для всего среднего семейства PIC-ов. Схема та же, только добавились две панельки. Всё это разместилось в корпусе от бывшего мультиметра.

В печатную плату 13 февраля 2014 года внесено исправление: от 5-го контакта разъёма RS232 дорожка идет к минусу питания (а на прежней — к 6-ой ножке микросхемы МАХ). Новая печатка в «programer2-2».

Можно сэкономить одну КРЕН-ку. Т.е. подключать от одного 5-ти вольтного стабилизатора всю схему. VR3 и С9 не устанавливать, а поставить перемычку (на схеме указана пунктиром). Но я пока КРЕНку не выпаивал. Многократно программировал PIC16F676, 628А, 84А и 873А. Но еще не пробовал 877.

Некоторые конденсаторы установлены со стороны печатных проводников. КРЕНки располагаются в горизонтальном положении. Чтобы не прокладывать проводники, я установил С7 – 2шт и R12 – 3шт.

Очень важно: корпус разъёма RS232 должен быть соединен с минусом питания.

Блок питания (15 В) и программы используются те же, что и в первом варианте.

Список радиоэлементов
Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Схема 1
DD1 ИС RS-232 интерфейса

MAX232E

1 MAX232CPE В блокнот
VT1-VT4 Биполярный транзистор

2N3904

4 TO-92 В блокнот
VDS1 Диодный мост

DB157

1 В блокнот
VD1 Выпрямительный диод

1N4148

1 В блокнот
VR1, VR3 Линейный регулятор

L7805AB

1 В блокнот
VR2 Линейный регулятор

KA78R12C

1 В блокнот
С1 470 мкФ 35В 1 В блокнот
С2, С3, С5, С6 Электролитический конденсатор 10 мкФ 50В 4 В блокнот
С4, С8 Электролитический конденсатор 470 мкФ 16В 2 В блокнот
С7 Электролитический конденсатор 1 мкФ 25В 1 В блокнот
С11 Конденсатор 0.1 мФ 1 В блокнот
R1, R7 Резистор

10 кОм

2 В блокнот
R2 Резистор

470 Ом

1 В блокнот
R3, R5, R11 Резистор

4.7 кОм

3 В блокнот
R4, R10 Резистор

2 кОм

2 В блокнот
R6, R8, R9 Резистор

1 кОм

3 В блокнот
R12 Резистор

240 Ом

1 В блокнот
HL1 Светодиод 1 Красный В блокнот
HL2 Светодиод 1 Зеленый В блокнот
Схема 2
DD1 ИС RS-232 интерфейса

MAX232E

1 MAX232CPE В блокнот
VT1-VT4 Биполярный транзистор

2N3904

4 TO-92 В блокнот
VDS1 Диодный мост

DB157

1 В блокнот
VD1 Выпрямительный диод

1N4148

1 В блокнот
VR1, VR3 Линейный регулятор

L7805AB

2 В блокнот
VR2 Линейный регулятор

KA78R12C

1 В блокнот
C1, C2, C4, C5 Конденсатор 10мкФ 50В 4 В блокнот
C3 Электролитический конденсатор 470мкФ 35В 1 В блокнот
C6, C9 Электролитический конденсатор 470мкФ 16В 2 В блокнот
C7.1-C7.3 Конденсатор 0.1 мкФ 3

Так уж сложилось, что знакомство с микроконтроллерами я начал с AVR. PIC микроконтроллеры до поры, до времени — обходил стороной. Но, все же на них тоже ведь есть уникальные, интересные для повторения, конструкции! А ведь эти микроконтроллеры тоже прошивать нужно . Эту статью пишу в основном для себя самого. Чтобы не забыть технологии, как без проблем и бессмысленных потерь времени прошить PIC микроконтроллер.

Для первой схемы — долго и упорно пытался сделать PIC программатор по найденным в интернете схемам — ничего не вышло . Стыдно, но пришлось обращаться к знакомому, чтобы прошил МК. Но ведь это не дело — постоянно бегать по знакомым! Этот же знакомый и посоветовал простенькую схему, работающую от СОМ порта. Но даже и тогда, когда я ее собрал — все равно ничего не получалось . Ведь мало собрать программатор — нужно еще под него настроить программу, которой будем прошивать. А вот как раз это у меня и не получалось. Целая туча инструкций в интернете, и мало какая мне помогла…

Тогда, мне удалось прошить один микроконтроллер. Но так как прошивал в условиях жесткого дефицита времени — не догадался сохранить хотя бы ссылку на инструкцию. И ведь не нашел ее вполедствии. Поэтому повторюсь — пишу статью, чтобы иметь свою собственную инструкцию.

Итак, программатор для PIC микроконтроллеров. Простой, хотя и не 5 проводков, как для AVR микроконтроллеров, который я использую до сих пор. Вот схема:

Вот печатная плата ().

СОМ разъем припаивается штырьками прямо на контактные площадки (главное — не запутаться с нумерацией). Второй ряд штырьков соединяется с платой маленькими перемычками (очень непонятно сказал, ага). Попробую дать фотографию… хоть она и страшная (нету у меня сейчас нормального фотоаппарата ).
Самое злобное в том — что для PIC микроконтроллеров для прошивки нужны 12 вольт. А лучше не 12, а чуточку побольше. Скажем, 13. Или 13.5 (кстати, специалисты — поправьте меня в комментариях, если ошибаюсь. Пожалуйста.). 12 вольт еще можно где-то добыть. А 13 где? Я то выходил из положения просто — брал свежезаряженный литий-полимерный аккумулятор, в котором было 12.6 вольт. Ну или вообще четырехбаночный аккумулятор, с его 16 вольтами (прошил так один PIC — без проблем).

Но я опять отвлекся. Итак — инструкция по прошивке PIC микроконтроллеров. Ищем программу WinPIC800 (к сожалению простая и популярная icprog у меня не заработала,) и настраиваем ее так, как показано на скриншоте.

После этого — открываем файл прошивки, подключаем микроконтроллер и прошиваем.

Рассказать в:
Быстро собрать понравившуюся схему на микроконтроллере для многих радиолюбителей — не проблема. Но многие начинающие работать с микроконтроллерами сталкиваются с вопросом — как его запрограммировать. Одним из самых простых вариантов программаторов является JDM программатор.
Программа — программатор ProgCode v 1.0Эта программа работает в WindowsXP. Позволяет программировать PIC контроллеры среднего семейства(PIC16Fxxx) через COM порт компьютера. Индикатор подключения программатора(в правом верхнем углу окна) при отсутствии программатора на выбранном в настройках порту окрашивается в красный цвет. Если программатор подключен — программа обнаруживает его и индикатор в правом верхнем углу принимает вид, который показан на рисунке 1. В левой части окна программы расположена панель управления. Эту панель можно свернуть нажав на кнопку в панели инструментов или, кликнув по левому краю окна (это удобно, когда окно программы развёрнуто во весь экран).

Рисунок (скриншот программы ProgCode v1.0)

Если в программу загружается HEX файл, то желательно перед этим выбрать в списке контроллеров тот МК, для которого расчитана загружаемая прошивка. Если этого не сделать, то файл, расчитанный на микроконтроллер с памятью большего размера чем выбран в списке, будет обрезан и части программы потеряна — при таком варианте загрузки файла выводится предупреждение.

Если этого не произошло, то выбрать нужный контроллер можно и после загрузки файла в программу.

Формат файлов SFRВ программаторе ProgCode поддержана работа с собственным форматом файлов. Эти файлы имеют расширение.SFR и позволяют хранить дополнительную информацию о программе, предназначенной для микроконтроллера. В таком файле сохраняется информация о типе микроконтроллера. Это позволяет при загрузке файла формата SFR не беспокоится о предварительном выборе типа МК в настройках.

Настройки порта и протокола при подключении программатораПосле установки программы — по умолчанию выставлены все настройки, которые необходимы для работы программатора со схемой JDM, приведённой на этой странице.
Инверсия сигнала в приведённой схеме нужна только для выхода OutData, так как в этой цепи сигнал инвертирован согласующим транзистором. На всех остальных выводах инверсия отключена.

Задержка импульса может быть равна 0. Её регулировка предусмотрена для «особо трудных» экземпляров контроллеров, которые не удаётся прошить. То же самое относится и к надбавке к паузе при записи — по умолчанию она нулевая. Если увеличить значения этих настроек, время программирования контроллера значительно увеличится.

Галочка «проверка при записи» должна быть выставлена, если вам нужно «на лету» проверить всё что записывается в микроконтроллер на правильность и соответствие исходному файлу. Если эту галочку снять проверка не производится вообще и сообщений об ошибках не будет, даже если такие ошибки в реальности будут присутствовать.
Выбор скорости порта — скорость может быть любой. Для JDM программатора этот параметр не имеет значения.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование — управление компьютером — диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) — смотрим свойства — вкладка параметры порта — дополнительно. И снимаем галочку на пункте «Использовать буферы FIFO»

Рисунок — Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.

Обозреватель локальных проектовКроме непосредственно программирования контроллеров в программе реализован удобный обозреватель проектов на МК, находящихся как на локальных папках компьютера, так и в интернете. Сделано это для удобства работы. Нередко нужные проекты лежат в разных папках, и приходится тратить время на то, чтобы добраться до нужной дирректории, чтобы просмотреть проект. Здесь нужные папки легко добавить в список папок и просматривать любой проект двумя-тремя кликами мышки.

Любой файл при двойном клике по нему в панели обозревателя откроется в самой программе — это относится к рисункам, html файлам, doc, rtf, djvu(при установленных плагинах), pdf, txt, asm. Файл возможно так-же открыть двойным кликом в обозревателе с помощью внешней программы, установленной на компьютере. Для этого расширение нужного типа файлов необходимо прописать в списке «Ассоциации файлов». Если путь к открывающей программе не указывать — Windows откроет файл в программе по умолчанию(это удобно для открытия архивов, которые не всегда однозначно открываются). Если путь к открывающей программе указан в списке — файл откроется в указанной программе. Удобно просматривать таким образом файлы типа SPL, LAY, DSN.

Рисунок (скриншот обозревателя программы ProgCode v1.0)

Вот так выглядит окно с настройками ассоциаций файлов:

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


При обзоре проектов в интернете если на странице проекта есть ссылка на файл с расширением SFR(это формат файлов программы ProgCode), то такой файл при клике по нему откроется в новой вкладке программы и сразу готов к прошивке в микроконтроллер.
Список ссылок можно редактировать воспользовавшись кнопкой «Изменить». При этом откроется окно редактирования списка ссылок:

Описание процесса программирования микросхемБольшинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.Рассмотрим запись информации во флэш память микроконтроллера PIC16F628AЕсть 2 линии DATA и CLOCK, по которым передаётся информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд»LoadConfiguration» 000000 — Загрузка конфигурации
«LoadDataForProgramMemory» 000010 — Загрузка данных в память программ
«LoadDataForDataMemory» — 000011 — Загрузка данных в память данных(EEPROM)
«IncrementAddress» 000110 — Увеличение адреса PC МК
«ReadDataFromProgramMemory» 000100 — Чтение данных из памяти программ
«ReadDataFromDataMemory» 000101 — Чтение данных из памяти данных(EEPROM)
«BeginProgrammingOnlyCycle» 011000 — Начать цикл программирования
«BulkEraseProgramMemory» 001001 — Полное стирание памяти программ
«BulkEraseDataMemory» 001011 — Полное стирание памяти данных(EEPROM)
«BeginEraseProgrammingCycle» 001000 — Начать цикл программированияРеагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды»LoadDataForProgramMemory» 000010 — Загрузка данных в память программнеобходимо отправить в контроллер сами данные — 16 бит,
которые выглядят так: “0xxxxxxxxxxxxxx0”.Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда
«BeginEraseProgrammingCycle» 001000 — Начать цикл программированияПолучив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.Сигналы на выводах микроконтроллера формируются компьютером при помощи специальных программ — программаторов. Для передачи сигнала могут служить порты COM, LPT или USB. C JDM программатором работают такие программы как PonyProg, IsProg, WinPic800.
Схема JDM программатораОчень простая схема программатора приведена на рисунке. В этой схеме хоть и не реализуется контроль последовательности подачи напряжений, но зато она очень проста и собрать такую схему возможно очень быстро, ипользовав минимумом деталей.
Рисунок (схема JDM программатора)


Одним из вопросов при подключении программатора к компьютеру является вопрос — как обеспечить селективную развязку. Чтобы в случае неисправности в схеме избежать повреждения COM порта. В некоторых схемах применяется микросхема MAX232, которая обеспечивает селективную развязку и согласует уровни сигналов. В этой схеме вопрос решён проще — с помощью применения батарейного питания. Уровень сигнала, поступающего от компьютера ограничивается стабилитронами VD1, VD2, и VD3. Несмотря на простоту схемы JDM программатора с его помощью можно запрограммировать большинство типов PIC микроконтроллеров.Перемычка между выводами COM6(DSR) и COM7(RTS) предназначена для того, чтобы программа могла определить, что программатор подключен к компьютеру.

Поключение выходов программатора к конкретному МК зависит от типа МК. Часто на плату программатора монтируют несколько панелек, которые расчитаны на определённый тип контроллеров.

В таблице приведено назначение ножек некоторых типов МК при программировании.

приведены рисунки с назначением выводов наиболее распространнённых МК при программировании.Цоколёвка (распиновка) микроконтроллеров PIC16F876A, PIC16F873A в корпусе DIP28.

Цоколёвка (распиновка) микроконтроллеров PIC16F874A, PIC16F877A в корпусе DIP40.
Цоколёвка (распиновка) микроконтроллеров PIC16F627A, PIC16F628A, PIC16F648A в корпусе DIP18.
Такое же расположение выводов, предназначенных для программирования, имеют МК PIC16F84, PIC16F84A.

Назначение выводов для микроконтроллеров серии PIC16Fxxx в зависимости от типа корпуса в большинстве случаев является стандартным, но если возникает сомнения на этот счёт, то надёжнее всего свериться с даташитом на конкретный экземпляр МК. Часть документации присутствует на русском сайте http://microchip.ru Полное же собрание даташитов и другой документации находится на сайте производителя PIC микроконтроллеров: http://microchip.com
Индекс проектовПрограмма позволяет напрямую выходить на страницу индекса, парой кликов просматривать описание нужного проекта и сразу-же прошивать программу в контроллер.

При необходимости прошить контроллер выбранной прошивкой — кликаем мышкой на файл формата SFR, к примеру Timer_a.sfr
Программа загружает файл с сервера в новую вкладку.

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

Скачать программу можно на странице загрузки файлов:http://cxema.my1.ru/load/proshivki/material_k_state_prostoj_jdm_programmator_dlja_pic_mikrokontrollerov/9-1-0-1613 Раздел:

Простой, как совковый утюг, JDM программатор.

Автор:jab


&nbsp &nbsp &nbsp Однажды, проснувшись по утру, возникает потребность прошить микроконтроллер. Нарыв с трудом в Интернете IC-Prog или подобный ему, мы судорожно начинаем искать подходящую схему программатора. Вот тут то всё и начинается! Уже есть на руках готовая прошивка, и хотелось бы как можно быстрее её запихать в микросхему. Собираем самый простой вариант на стабилитронах, и он вроде даже пишет, а потом не пишет и так раз через раз. Намучавшись, как следует, мы находим более сложные схемы и начинаем их собирать, постепенно упираясь в замкнутый круг, так как для них очень часто нужны уже прошитые микроконтроллеры. Наигравшись, наконец, идем покупать фирменный программатор, и выбрасываем кучу денег! Стоп! Нафига такие жертвы? Нет, мы не пойдем покупать программатор и кормить злых дядечек. Мы соберём свой, который на 100% работоспособный. Проверял работоспособность на нескольких компьютерах и получал положительные результаты. Программируются запросто (те, что я проверил лично) PIC 12C509A, PIC 16F84, PIC 16F628A, думаю с остальными типами не должно возникнуть проблем. Правда, с нотерами могут возникнуть проблемы, но это тоже не беда, если использовать внешнее питание для микроконтроллера. Смотрим схему, смотрим лайаут, распечатываем, собираем и радуемся жизни!


&nbsp &nbsp &nbsp Качаем разводку в формате лайаута тут. Распечатываем с зеркальным отображения. В моем варианте, на картинке, я печатал без зеркального отображением, мне больше нравится напаивать детали поверх не просверливая отверстия.

К списку статей

Программатор JDM — Программаторы — ПРИБОРЫ и ИНСТРУМЕНТЫ — Электронные компоненты (каталог)

  • 24С01(А)
  • 24С02
  • 24С08
  • 24С16
  • 24С32
  • 24С64
  • 24С128
  • 24С256
  • 24С512
А также серии 24LC, 93LC.
  • 93С06
  • 93С14
  • 93С46
  • 93С56
  • 93С57
  • 93С66
  • 93С56
  • 93С76
  • 93С86
  • PIC12C508
  • PIC12C508A
  • PIC12C509
  • PIC12C509A
  • PIC12CE518
  • PIC12CE519
  • PIC12C671
  • PIC12C672
  • PIC12CE673
  • PIC12CE674
  • PIC12F629
  • PIC12F675
  • PIC16C433
  • PIC16C54
  • PIC16C56
  • PIC16C58
  • PIC16C61
  • PIC16C62A(B)
  • PIC16C63(A)
  • PIC16C64A
  • PIC16C65A(B)
  • PIC16C66
  • PIC16C67
  • PIC16C71
  • PIC16C72(A)
  • PIC16C73A(B)
  • PIC16C74A(B)
  • PIC16C74B
  • PIC16C76
  • PIC16C77
  • PIC16C84
  • PIC16C505
  • PIC16C620(A)
  • PIC16C621(A)
  • PIC16C622(A)
  • PIC16CE623
  • PIC16CE624
  • PIC16CE625
  • PIC16C710
  • PIC16C711
  • PIC16C712
  • PIC16C715
  • PIC16C712
  • PIC16C717
  • PIC16C745
  • PIC16C765
  • PIC16C770
  • PIC16C771
  • PIC16C773
  • PIC16C774
  • PIC16C781
  • PIC16C782
  • PIC16C923
  • PIC16C924
  • PIC16F72
  • PIC16F73
  • PIC16F74
  • PIC16F76
  • PIC16F77
  • PIC16F83
  • PIC16CR83
  • PIC16F83
  • PIC16F84(A)
  • PIC16F88
  • PIC16F627
  • PIC16F628(A)
  • PIC16F630
  • PIC16F648A
  • PIC16F676
  • PIC16F818
  • PIC16F819
  • PIC16F870
  • PIC16F871
  • PIC16F872
  • PIC16F873(A)
  • PIC16F874(A)
  • PIC16F876(A)
  • PIC16F877(A)
  • PIC18F242
  • PIC18F248
  • PIC18F252
  • PIC18F258
  • PIC18F442
  • PIC18F448
  • PIC18F452
  • PIC18F458
  • PIC18F1220
  • PIC18F1320
  • PIC18F2320
  • PIC18F2585
  • PIC18F2620
  • PIC18F4320
  • PIC18F4455
  • PIC18F4520
  • PIC18F4539
  • PIC18F4525
  • PIC18F6620
  • PIC18F6755
  • PIC18F8620
  • PIC18F8720


Программаторы микроконтроллеров PIC

Программатор ProPIC2 (LPT)

    Программатор подключается к LPT-порту компьютера. Поддерживает большой список микроконтроллеров и памяти. Работает очень чётко, но только из Windows 98, из Windows XP его запустить не удалось.

    Программатор расчитан на внешний блок питания, я использовал блок 15В, 1А. Программируемые микросхемы подключаются через ZIF-колодку. Для экономии места на плате для подключения к соеденительному кабелю используется разъём типа DB9 (как на СОМ-портах). Микросхему 7407 можно заменить отечественной К155ЛП9.

  • Схема программатора: propic2_sch.pdf.
  • Печатная плата, вид на элементы сверху: propic2_pcb.pdf.
  • Изображение печатной платы для переноса на текстолит (НЕ отзеркалено, масштаб 1:1): propic2_pcb_lines.pdf.
  • Изображение печатной платы для переноса на текстолит (отзеркалено, масштаб 1:1): propic2_pcb_lines_mirror.pdf.

    Для работы с программатором используется программа IC-Prog, последнюю версию которой можно взять с сайта www.ic-prog.com. Программу необходимо настроить в соответствии с используемым программатором, в меню Settings | Hardware, как показано на рисунке.

Программатор JDM (COM)


    Один из простейших программаторов. Подключается к СОМ-порту компьютера. Работает нестабильно и если собираешься серьёзно заниматься устройствами на микроконтроллерах лучше собрать ProPIC2. Зато этот программатор можно запустить из Windows XP.
    В качестве источника +12…13В можно использовать напряжение с блока питания компьютера (желтый провод). При подключении/отключении контроллера и кабеля порта COM необходимо отключать питание.
    В процессе эксплуатации выявлены некоторые особенности работы программатора. При неудачной записи/чтении советую поиграть параметром I/O Delay (задержка ввода/вывода). Необходимо также отключать питание после каждой операции. Программатор опробован на следующих моделях микроконтроллеров: PIC16F84(A), PIC16F628(A), PIC16F676, PIC12F629.

  • Печатная плата, вид на элементы сверху: jdm_pcb.pdf.
  • Изображение печатной платы для переноса на текстолит (НЕ отзеркалено, масштаб 1:1): jdm_pcb_lines.pdf.
  • Изображение печатной платы для переноса на текстолит (отзеркалено, масштаб 1:1): jdm_pcb_lines_mirror.pdf.

    Для работы с программатором используется программа IC-Prog, последнюю версию которой можно взять с сайта www.ic-prog.com. Программу необходимо настроить в соответствии с используемым программатором, в меню Settings | Hardware, как показано на рисунке.

JDM адаптер РАДИО 2’2004 (COM)

    Ещё один вариант JDM программатора, но более надёжный чем предъидущий. Рекомендую его в качестве базового программатора.

    Архив со схемой и веткой форума: jdm_adapter.zip.
Сайт управляется системой uCoz

Как программировать микроконтроллеры PIC или простой программатор JDM. Простой программатор JDM для микроконтроллеров PIC — Программаторы микроконтроллеров

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

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

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

Основная часть.

Монтажная панель

МК.

Исходная схема взята с Labkit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон программатора Pickit2. Поскольку устройство является «облегченной» копией компании Pickit2, автор назвал свою разработку Pickit-2 Lite , что подчеркивает простоту сборки такого устройства для начинающих радиолюбителей.

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

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

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

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

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

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

Микросхемы памяти

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

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

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

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

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

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

Имя Обозначение Номинал / параметры Марка или тип элемента
Для основной части программатора
Микроконтроллер DD1. 8-битный микроконтроллер PIC18F2550-I / SP
Транзисторы биполярные VT1, VT2, VT3 Кт3102.
VT4. кт361
Диод VD1. КД522, 1Н4148.
Диод Шоттки VD2. 1N5817.
Светодиоды HL1, HL2. любые 3 В, красный и зеленый Цвета свечения
Резисторы R1, R2. 300 Ом.
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 любая «перемычка»
Для монтажной панели микроконтроллеров (МК)
Зиф-панель Xs1 любые 40 Контакты Zif-Panel
Резисторы R1 2 ком МЛТ, МОН (мощность от 0.125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R6 10 ком

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

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

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

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

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

Для защиты элементов схемы от обратного напряжения от программных линий, в случае использования USB-программатора в режиме последовательного программирования ICSP применяется диод VD2.VD2 — диод Шоттки. Его следует подхватывать при падении напряжения на переходе P-N не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения при использовании программатора в режиме преобразования и логического анализатора USB-UArt.

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

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

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

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

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

И так 8 выходных микроконтроллеров (PIC12F675, Pic12F629 и т.д.).

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

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

Печатную плату можно изготовить методом LUT, а также маркером для печатных плат методом Цапонлака (я сделал) или методом «карандаша».

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

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

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

Файл «Прошивка» — Pk2v023200.hex Записать в память МК PIC18F2550i-SP необходимо любым программатором, поддерживающим микроконтроллеры Pic (например, Extra-PIC).Я использовал JDM Programmator Jonic Prog и программу WinPic800. .

Залить «прошивку» в МК 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.com. Там стоит намного дешевле.О том, как покупать детали и электронные наборы на Алиэкспресс, я уже писал.

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

Progress не стоит на месте, и время от времени Microchip выпускает обновления для своего программного обеспечения, в том числе для программатора Pickit2, Pickit3. Естественно, мы можем обновить программу-менеджер Его самодельный Pickit-2 Lite. Для этого вам понадобится Pickit2 Programmer. Что это такое и как пользоваться — чуть позже. А пока пару слов о том, что нужно сделать для обновления «прошивки».

Для обновления программатора нужно замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключите программатор к ПК и запустите Pickit2 Programmer. При закрытом режиме XT1 активируется режим загрузчика . Чтобы скачать новую версию прошивки. Затем в Программаторе Pickit2 через меню «Инструменты» — «Загрузить операционную систему Pickit 2» откройте заранее подготовленный шестнадцатеричный файл обновленной прошивки. Далее будет происходить процесс обновления программатора.

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

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

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

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

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

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

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

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

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

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

Быстро собрать понравившуюся схему на микроконтроллер для многих радиолюбителей не проблема. Но многие новички, работающие с микроконтроллерами, сталкиваются с вопросом — как это программировать. Один из самых простых вариантов программистов — это JDM-программист.

Программа — Программист Progcode V 1.0

Эта программа работает в WindowsXP.Позволяет программировать контроллеры семейства PIC Medium (PIC16FXXX) через компьютерный порт компьютера. Индикатор усиления программы (в правом верхнем углу окна) при отсутствии программатора на выбранном в настройках порту окрашен в красный цвет. Если программатор подключен — программа его обнаруживает и индикатор в правом верхнем углу принимает вид, показанный на рисунке 1.

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

Рисунок (Скриншот программы Progcode V1.0)

Если в программу загружен HEX файл, желательно выбрать МК в списке контроллеров в списке, для которых рассчитана загружаемая прошивка. Если этого не сделать, файл, рассчитанный на микроконтроллере с большей памятью, чем выбрано в списке, будет вырезан и часть программы потеряна — при таком варианте загрузки файла отображается предупреждение.

Если этого не произошло, то выбрать нужный контроллер Вы можете и после скачивания файла в программу.

Файл формата SFR.
В программаторе ProgCode поддерживается работа с собственным форматом файла. Эти файлы имеют расширение. SFR и позволяют хранить дополнительную информацию о программе, предназначенной для микроконтроллера. В этом файле хранится информация о типе микроконтроллера. Это позволяет при загрузке файла формата SFR не беспокоиться о предварительном выборе типа МК в настройках.
Параметры порта и протокол при подключении программатора
После установки программы — по умолчанию все настройки устанавливаются на программатор со схемой JDM, показанной на этой странице.
Инверсия сигнала в следующей схеме необходима только для вывода Outdata, поскольку в этой схеме сигнал инвертируется согласующим транзистором. При всех остальных выводах инверсия отключена.

Задержка импульса может быть 0. Ее настройка предусмотрена для «особо сложных» копий контроллеров, которые нельзя сдвинуть. То же самое и с допуском на паузу при записи — по умолчанию он равен нулю. Если увеличить значения этих настроек, время программирования контроллера значительно увеличится.

Флажок «Проверять при записи» должен быть установлен, если вам нужно «на лету» проверять все, что записывается в микроконтроллер на правильность и соответствие исходному файлу. Если этот флажок установлен, проверка не выполняется вообще и сообщений об ошибках не будет, даже если такие ошибки на самом деле будут присутствовать.
Выбор скорости порта — скорость может быть любой. Для программиста JDM этот параметр не имеет значения.

WindowsXP применяет буферизацию, передаваемую через порты cOM.Это так называемые буферы FIFO. Чтобы избежать ошибок при программировании через JDM, этот механизм необходимо отключить. Вы можете сделать это в диспетчере устройств Windows.

Заходим в панель управления, далее:
Администрирование — Управление компьютером — Диспетчер устройств

Далее выбираем порт, на который подключен программатор JDM (например, COM1) — видим свойство — вкладка параметров порта дополнительно. И снимаем галочку «Использовать буферы FIFO»

Изображение — Настройка COM Порт для работы с программатором JDM

После этого перезагружаем компьютер.

Наблюдатель локальных проектов

Помимо непосредственного программирования контроллеров в программе, реализован удобный браузер проектов на МК в виде локальных папок Computer и онлайн. Сделано для удобства работы. Часто необходимые проекты лежат в разных папках, и вам нужно потратить время, чтобы добраться до нужной директории для просмотра проекта. Здесь необходимые папки Легко добавить в список папок и просматривать любой проект в два и три щелчка мышью.

Любой файл при двойном щелчке по нему в панели браузера откроется в самой программе — это чертежи, файлы hTML, Doc, RTF, DJVU (при установленных плагинах), PDF, TXT, ASM.Файл можно открыть двойным щелчком мыши в браузере с помощью внешней программы, установленной на компьютере. Для этого расширения необходимый тип Files должен быть прописан в списке «File Association». Если путь к программе открытия не указан — Windows откроет файл в программе по умолчанию (это удобно для открытия архивов, которые не всегда четко открываются). Если путь к программе открытия указан в списке, файл откроется в указанной программе. Удобно просматривать такие файлы, как SPL, LAY, DSN.

Рисунок (Скриншот программы Browser Program V1.0)

Так выглядит окно с настройками ассоциаций файлов:

Internet Project Browser

Браузер проектов в Интернете такой же Так как локальный проектор проектов позволяет в пару кликов быстро перейти на нужный сайт в Интернете, просмотреть проект и при необходимости сразу прошить программу в МК.



При просмотре проектов в Интернете, если на странице проекта есть ссылка на файл с расширением SFR (это формат файла progcode), то такой файл откроется на нем в новой вкладке программы и будет сразу готов к прошивке в микроконтроллер.
Список ссылок Вы можете редактировать, используя кнопку «Редактировать». Откроется окно редактирования списка ссылок:


Описание процесса программирования микросхем

Большинство современных микросхем содержат флэш-память, которая программируется с использованием протокола I2C или подобных протоколов.
Перезаписываемая память находится в контроллерах PIC, AVR и других, микросхемах памяти типа 24Cxx и подобных им, различных картах памяти MMC и SD, обычных USB-флеш-картах, которые подключаются к компьютеру через USB-разъем.

Рассмотрим запись информации во флеш-память микроконтроллера PIC 16 F 628 A

Есть 2 линии данных и синхронизации, по которым передается информация. LineCLOCK. служит для подачи тактовых импульсов и lineData. для передачи информации.

Для передачи 1-битной информации в микроконтроллер необходимо установить 0 или 1 (в зависимости от значения бита) в строке данных (DATA) и создать дамп напряжения (переход от 1 к 0) в тактовой строке (Clock ).
Одного бита для контроллера недостаточно.Он ждет еще пять пятерок, чтобы воспринять эту посылку из 6 бит как команду. Контроллеру очень нравятся команды, и они должны состоять из 6 битов — такова природа на Рис 16.
Вот список и значение команд, которые PIC способен понять. Команд не так много — словарный запас этого контроллера невелик, но не стоит думать, что он очень глупый — есть устройства и с меньшим количеством команд

«LoadConfiguration» 000000 — скачать конфигурацию

«LoaddataFordatamemory» — 000011 — загрузка данных в память данных (EEPROM)
«IncrementAntaddress» 000110 — увеличение адреса ПК МК
«READDATAFROMPROGRAMMEMORY» 000100 — чтение данных из памяти
«READDATAFROMDATAMEMORY» 000101 — чтение данных из памяти данных (EEPROMDATAMEMORY) — Запустить цикл программирования
«BulkeraseProgramMemory» 001001 — Полное стирание памяти программ
«BulkeRaseDatamemory» 001011 — Полное стирание данных (EEPROM)

Контроллер реагирует на эти команды по-разному.Иначе после выдачи команды нужно продолжить с ним разговор.
Для запуска полного процесса Программирование необходимо дополнительно подать напряжение 12 вольт на выход контроллера MCLR, после чего напряжение питания на нем. Именно в такой последовательности напряжений есть определенный смысл. После включения, если PIC настроен на работу от внутреннего RC-генератора, он может начать выполнение своей собственной программы, что при программировании вещи недопустимо, так как отказ неизбежен.
Предварительная подача 12 вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш-память программ МК после команды

«LoadDataForProgramMemory» 000010 — Загрузить данные в память

необходимо отправить данные в контроллер — 16 бит.
, которые выглядят так:

«0xxxxxxxxxxxxxx 0».

Пересечения в этом слове — это сами данные, а нули отправляются по краям в виде кадрирования — это стандарт для PIC 16.Всего значащих битов в Word всего 14. Это серия контроллеров 14-битного формата представления команд.
После окончания передачи слова с данными ПОС ожидает следующей команды.
Поскольку наша цель — запись слова в память программ МК, следующая команда должна быть командой

«BEGINERASEPROGRAMINGCYCLE» 001000 — начать цикл программирования

Получив ее, контроллер отключается от внешнего мира на 6 миллисекунд что вам нужно для завершения процесса записи.

Сигналы на выводах микроконтроллера формируются компьютером с помощью специальных программ — программаторов. Для передачи сигнала могут служить порты COM, LPT или USB. Программист C JDM использует такие программы, как PonyProg, ISPROG, WinPic800.


Схема программатора JDM

Очень простая схема Программатор показан на рисунке. В этой схеме хоть и не реализован контроль последовательности напряжений, но она очень проста и собрать эту схему можно очень быстро, используя минимум деталей.
Рисунок (Программатор схемы JDM)


Один из вопросов при подключении программатора к компьютеру — это вопрос — как обеспечить селективное соединение. Во избежание поломки в случае неисправности COM-порта. На некоторых схемах используется микросхема MAX232, которая обеспечивает селективный переход и согласовывает уровни сигналов. В этой схеме вопрос решается проще — за счет батарейного питания. Уровень сигнала, поступающего с компьютера, ограничен стабитронами VD1, VD2 и VD3.Несмотря на простоту схемы программатора JDM, вы можете программировать большинство типов микроконтроллеров PIC.

Перемычка между выводами COM6 (DSR) и COM7 (RTS) предназначена для определения того, какой программатор подключен к компьютеру.

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

В таблице показано назначение ножек некоторых типов МК при программировании.

Такое же расположение выводов, предназначенных для программирования, у МК PIC16F84, PIC16F84A.



Назначение выводов для микроконтроллеров серии PIC16FXXX в зависимости от типа корпуса в большинстве случаев стандартное, но если на этот счет возникают сомнения, то надежнее всего с даташетом на конкретный экземпляр МК . Часть документации присутствует на российском сайте http://microchip.ru. Полный сборник таблиц данных и другой документации находится на сайте производителя микроконтроллера PIC: http: // microchip.com.

Индекс проектов

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

При необходимости перепрограммируйте контроллер выбранной прошивкой — щелкните мышкой на файл формата sfr, например, Timer_a.sfr
Программа загружает файл с сервера в новую вкладку.

После этого остается только вставить МК в панель программатора, если это еще не сделано, и нажать на кнопку «Записать все».
Программа написана на МК. После этого контроллер вставляется в плату устройства и устройство готово к работе.

Однажды я решил собрать простой LC-метр на Pic16F628A и естественно надо было что-то прошить. Раньше у меня был компьютер с физическим COM-портом, но сейчас в моем распоряжении только USB и плата PCI-LPT-2COM. Для начала собрал простой JDM-программатор, но как оказалось ни плата PCI-LPT-COM, ни с переходником USB-COM работать не хотел (низкое напряжение сигналов RS-232) .Тогда я бросился смотреть USB программисты PIC, но там, как оказалось, все ограничивается использованием дорогих PIC18F2550 / 4550, которых у меня естественно не было, и жаль, что такие дорогие МК используют, если я очень редко что-то делаю (Я предпочитаю ABR-ы, они не Makes up, они намного дешевле, и мне кажется, что писать программы им проще). Давно тоня в Интернете в Интернете, в одной из многочисленных статей о программаторе EXTRA-PIC и всевозможных его вариантах один из авторов написал, что ExtraPic работает с любыми COM-портами и даже с адаптером USB-COM.

В схеме этого программатора используется преобразователь логических уровней MAX232.

Я подумал, что если использовать USB-адаптер, будет очень глупо делать два раза преобразование уровней USB в USAT TTL, TTL в RS232, RS232 обратно в TTL, если вы можете просто взять сигналы порта TTL RS232 из конвертера USB-USArt чип.

Так и сделал. Взял микросхему Ch440G (в которой есть все 8 сигналов COM порта) и подключил ее вместо MAX232. Так и случилось.

В моей схеме есть перемычка JP1, которой нет в экстрапенте, я ее установил, потому что не знал, как вывод TX tX ведет себя на уровне TTL, поэтому я сделал возможность инвертировать на оставшихся свободных элемент и не потерял, как оказалось непосредственно на выходе TX логическая единица, а значит на выходе VPP при его включении присутствует 12 вольт, а при программировании ничего не будет (хотя можно инвертировать TX программно).

После сборки платы пришло время триала. И тут пришло главное разочарование. Программатор определился сразу (программа IC-PROG) и заработал, но очень медленно! В принципе, ожидал. Потом в настройках COM порта выставил максимальную скорость (128 килобод) начал тестировать все программы под JDM. В результате был быстро завязан PicPGM. У меня PIC16F628A прошился полностью (HEX, EEPROM и CONFIG) плюс проверка где-то 4-6 минут (а чтение медленнее записи).Icprog тоже работает, но медленнее. Ошибок по поводу программирования не возникало. Еще пробовал прошить EEPROM 24C08, результат тот же — все шьется, но очень медленно.

Выводы: Программатор достаточно простой, дорогих деталей в нем нет (Ч440 — 0,3-0,5 $, К1533L3 вообще можно найти среди магнитол), работает на любом компьютере, ноутбуке (да еще и планшеты можно использовать на Windows 8/10). Минусы: он очень медленный. Также требуется внешнее питание для сигнала VPP. В итоге, как мне показалось, для доброй прошивки пиков это простой на повтор и недорогой вариант для тех, у кого нет древнего компа с нужными портами.

Вот фото готового устройства:

Как они идут в песне «Я был ослеплен от того, что было». Набор деталей самый разнообразный: и SMD, и DIP.

Для тех, кто рискованно повторять схему, в качестве USB-UART подойдет практически любой (FT232, PL2303, CP2101 и др.), Вместо K1533L3 подойдет K555, думаю даже серия K155 или зарубежный аналог 74Als00 может даже работа с логическими элементами типа К1533ЛН1. Я делаю свою печатную плату, но расклад там под те элементы, которые были в наличии, каждый может перерисовать под себя.

Перечень радиоэлементов
Обозначение Тип Номинал номер Примечание Оценка Моя записная книжка
IC1 Чип Ч440Г. 1 В записной книжке
IC2. Чип K1533L3. 1 В записной книжке
VR1. Линейный регулятор

LM7812.

1 В записной книжке
VR2. Линейный регулятор

LM7805

1 В записной книжке
VT1 Транзистор биполярный

КТ502Е.

1 В записной книжке
VT2. Транзистор биполярный

CT3102E.

1 В записной книжке
VD1-VD3. Выпрямительный диод

1N4148.

2 В записной книжке
C1, C2, C5-C7 Конденсатор 100 НФ. 5 В записной книжке
C3, C4. Конденсатор 22 PF 2 В записной книжке
HL1-HL4. Светодиод Любой 4 В записной книжке
R1, R3, R4 Резистор

1 ком

3

Предлагаем вам совместимый программатор в качестве элементарного программиста, которого мы назвали программистом НТВ.Ниже представлена ​​схема программатора НТВ (используется сокет DB9; не путать с вилкой).

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

Этот программатор не работает при подключении к ноутбукам, т.к. сигналы интерфейса RS-232 (COM-порт) в мобильных системах занижены. Он также может не работать на современных ПК, где оборудование сохраняет ток на порту.Так что не обвиняйте меня, соберите и проверьте все компы на руку.

Конструктивно плата программатора вставляется между контактами разъема DB-9, приходящимися на контактную площадку печатной платы. Ниже представлен чертеж платы и фото программатора в сборе.



Для полноты картины стоит сказать, что есть еще один подобный программатор, который я собрал под микроконтроллеры в корпусе (ах) на 8 выводов.Программист тоже отлично работает с этими микроконтроллерами. Ниже чертежная доска и фотографии.

Обращайтесь:
Быстро собрать понравившуюся схему на микроконтроллер для многих радиолюбителей не проблема. Но многие новички, работающие с микроконтроллерами, сталкиваются с вопросом — как это программировать. Один из самых простых вариантов программистов — это программатор JDM.
Программа — Программатор Progcode V 1.0At Программа работает в WindowsXP. Позволяет программировать контроллеры семейства PIC Medium (PIC16FXXX) через компьютерный порт компьютера.Индикатор усиления программы (в правом верхнем углу окна) при отсутствии программатора на выбранном в настройках порту окрашен в красный цвет. Если программатор подключен — программа его обнаруживает и индикатор в правом верхнем углу принимает вид, показанный на рисунке 1. Панель управления расположена в левой части окна программы. Вы можете свернуть эту панель, нажав кнопку на панели инструментов или щелкнув по левому краю окна (это удобно, когда окно программы развернуто в полноэкранном режиме).

Рисунок (Скриншот программы Progcode V1.0)

Если в программу загружен HEX файл, желательно выбрать МК в списке контроллеров в списке, для которых рассчитана загружаемая прошивка. Если этого не сделать, файл, рассчитанный на микроконтроллере с большей памятью, чем выбрано в списке, будет вырезан и часть программы потеряна — при таком варианте загрузки файла отображается предупреждение.

Если это произошло, вы можете выбрать нужный контроллер и после загрузки файла в программу.

Формат файла SFRV Программа Progcode поддерживает работу с собственным форматом файла. Эти файлы имеют расширение. SFR и позволяют хранить дополнительную информацию о программе, предназначенной для микроконтроллера. В этом файле хранится информация о типе микроконтроллера. Это позволяет при загрузке файла формата SFR не беспокоиться о предварительном выборе типа МК в настройках.

Настройки порта и протокола При подключении установщика программы в настройках по умолчанию устанавливаются все настройки, необходимые для работы программиста со схемой JDM, показанной на этой странице.
Инверсия сигнала в следующей схеме необходима только для вывода Outdata, поскольку в этой схеме сигнал инвертируется согласующим транзистором. При всех остальных выводах инверсия отключена.

Задержка импульса может быть 0. Ее настройка предусмотрена для «особо сложных» копий контроллеров, которые нельзя сдвинуть. То же самое и с допуском на паузу при записи — по умолчанию он равен нулю. Если увеличить значения этих настроек, время программирования контроллера значительно увеличится.

Флажок «Проверять при записи» должен быть установлен, если вам нужно «на лету» проверять все, что записывается в микроконтроллер на правильность и соответствие исходному файлу. Если этот флажок установлен, проверка не выполняется вообще и сообщений об ошибках не будет, даже если такие ошибки на самом деле будут присутствовать.
Выбор скорости порта — скорость может быть любой. Для программиста JDM этот параметр не имеет значения.

В WindowsXP — буферизация информации, передаваемой через порты COM.Это так называемые буферы FIFO. Чтобы избежать ошибок при программировании через JDM, этот механизм необходимо отключить. Вы можете сделать это в диспетчере устройств Windows.

Заходим в панель управления, далее:
Администрирование — Управление компьютером — Диспетчер устройств

Далее выбираем порт, на который подключен программатор JDM (например, COM1) — видим свойство — вкладка параметров порта дополнительно. И снимаем галочку «Использовать буферы FIFO»

Рисунок — Настройка COM-порта для работы с программатором JDM

После этого перезагрузите компьютер.

Наблюдатель локального инженера проекта, непосредственно программирующего контроллеры, в программе реализован удобный браузер проектов на МК, расположенный как в локальных папках компьютера, так и в Интернете. Сделано для удобства работы. Часто необходимые проекты лежат в разных папках, и вам нужно потратить время, чтобы добраться до нужной директории для просмотра проекта. Здесь нужные папки легко добавить в список папок и просмотреть любой проект двумя-тремя щелчками мыши.

Любой файл при двойном щелчке по нему в панели браузера откроется в самой программе — это чертежи, файлы HTML, Doc, RTF, DJVU (при установке плагинами), PDF, TXT, ASM. Файл также можно открыть двойным щелчком в браузере с помощью внешней программы, установленной на компьютере. Для этого в списке «File Association» необходимо прописать расширение нужного типа файла. Если путь к программе открытия не указан — Windows откроет файл в программе по умолчанию (это удобно для открытия архивов, которые не всегда четко открываются).Если путь к программе открытия указан в списке, файл откроется в указанной программе. Удобно просматривать такие файлы, как SPL, LAY, DSN.

Рисунок (Скриншот программы Браузер Программа V1.0)

Так выглядит окно с настройками файловых ассоциаций:

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


При просмотре проектов в Интернете, если на странице проекта есть ссылка на файл с расширением SFR (это формат файла progcode), то такой файл откроется на нем в новой вкладке программы и будет сразу готов к прошивке в микроконтроллер.
Список ссылок Вы можете редактировать с помощью кнопки «Редактировать». Откроется окно редактирования списка ссылок:

Описание процесса программирования Микросхема современных микросхем содержит флеш-память, которая программируется по протоколу I2C или подобным протоколам.
Перезаписанная память находится в PIC, AVR и других контроллерах, микросхемах памяти типа 24cxx и подобных им, различных картах памяти MMC и SD, обычных картах USB-карт, которые подключаются к компьютеру через разъем USB. Исследуем запись информации во флеш-памяти микроконтроллера PIC16F628A. Линии данных и часов, по которым передается информация. Линия Clock служит для подачи тактовых импульсов, а линия DATA — для передачи информации.
Для передачи 1-битной информации в микроконтроллер необходимо установить 0 или 1 (в зависимости от значения бита) в строке данных (DATA) и создать дамп напряжения (переход от 1 к 0) в тактовой строке (Clock ).
Одного бита для контроллера недостаточно. Он ждет еще пять пятерок, чтобы воспринять эту посылку из 6 бит как команду. Контроллер скорее всего для команд, и они должны состоять ровно из 6 бит — такова природа в PIC16.
Вот список и значения команд, которые PIC может понять. Команд не так много — словарный запас этого контроллера невелик, но не стоит думать, что он очень тупой — есть устройства и с меньшим количеством команд «LoadConfiguration» 000000 — скачать конфигурацию
«LoadDataForProgramMemory» 000010 — Загрузить данные в память
«LoaddataFordatamemory» — 000011 — загрузка данных в память данных (EEPROM)
«IncrementAntaddress» 000110 — увеличение адреса ПК MK
«READDATAFROMPROGRAMMEMORY» 000100 — чтение данных из памяти памяти
«READDATAFROMDATAMEMORY» — чтение данных из памяти 0001 (EEPROM)
«BeginProgrammingOnlycycle» 011000 — Начало цикла программирования
«BulkeraseProgramMemory» 001001 — Полное стирание памяти программ
«BulkeRaseDatamemory» 001011 — Полное стирание данных (EEPROM)
«BEGINERASEPROGRAMING» 001 Цикл программирования для запуска этих команд контроллера — ЦИКЛ. различные пути.Иначе после выдачи команды нужно продолжить с ним разговор.
Для запуска полноценного процесса программирования необходимо дополнительно подать на выход контроллера MCLR напряжение 12 вольт, затем напряжение питания на нем. Именно в такой последовательности напряжений есть определенный смысл. После включения, если PIC настроен на работу от внутреннего RC-генератора, он может начать выполнение своей собственной программы, что при программировании вещи недопустимо, так как отказ неизбежен.
Предварительная подача 12 вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флеш-память программы МК после команды «LoadDataForProgramMemory» 000010 — загрузка данных в память программа должна отправлять в контроллер сами данные — 16 бит,
что выглядит так: «0xxxxxxxxxxxxxx0». Krenci в этом слове — это сами данные, а нули отправляются по краям, поскольку кадрирование является стандартом для PIC16. Из значащих битов в Ворде всего 14.Это серия контроллеров 14-битного формата представления команд.
После окончания передачи слова с данными ПОС ожидает следующей команды.
Поскольку нашей целью является запись слова в память программ МК, следующая команда должна быть командой
«BEGINERASEPROGRAMINGCYCLE» 001000 — запустить цикл программирования с ее помощью, контроллер отключен от внешнего мира на 6 миллисекунд, что это необходимо для завершения процесса записи.Сигналы на выводах микроконтроллера формируются компьютером с помощью специальных программ — программаторов. Для передачи сигнала могут служить порты COM, LPT или USB. Программист C JDM использует такие программы, как PonyProg, ISPROG, WinPic800. Программа
JDM Scheme Простая схема программатора показана на рисунке. В этой схеме хоть и не реализован контроль последовательности напряжений, но она очень проста и собрать эту схему можно очень быстро, используя минимум деталей.
Рисунок (Программатор схемы JDM)


Одним из вопросов при подключении программатора к компьютеру является вопрос — как обеспечить селективное соединение. Во избежание повреждения COM-порта в случае сбоя в схеме. На некоторых схемах используется микросхема MAX232, которая обеспечивает селективный переход и согласовывает уровни сигналов. В этой схеме вопрос решается проще — за счет батарейного питания. Уровень сигнала, поступающего с компьютера, ограничен стабитронами VD1, VD2 и VD3.Несмотря на простоту схемы JDM программатора, с ее помощью можно программировать большинство типов микроконтроллеров PIC. Парковка между выводами COM6 (DSR) и COM7 (RTS) предназначена для определения, какой программатор подключен к компьютеру.

Направленность выводов программатора на конкретный МК зависит от типа МК. Часто на программной плате монтируется несколько панелей, которые рассчитаны на конкретный тип контроллера.

В таблице показано назначение ножек некоторых типов МК при программировании.

Рисунки даны с целью выводов наиболее распространенных МК по программированию. Лечение (распиновка) микроконтроллеров PIC16F876A, PIC16F873A в корпусе DIP28.

Pic16F874A Микроконтроллеры PIC16F874A (распиновка) PIC16F877A в корпусе DIP40.
ЦВЕТ (ИЗОБРАЖЕНИЕ) микроконтроллеры PIC16F627A, PIC16F628A, PIC16F648A в корпусе DIP18.
Такое же расположение выводов, предназначенных для программирования, у МК PIC16F84, PIC16F84A.

Назначение выводов для микроконтроллеров серии PIC16FXXX в зависимости от типа корпуса в большинстве случаев стандартное, но если на этот счет возникают сомнения, то надежнее всего с даташетом на конкретный экземпляр МК.Часть документации представлена ​​на российском сайте http://microchip.ru Полное собрание технических описаний и другой документации находится на сайте производителя микроконтроллера PIC: http://microchip.com
Указатель Программа проекта позволяет вам чтобы сразу перейти на страницу индекса, в пару кликов просмотрите описание нужного проекта и сразу же согласовайте программу с контроллером.

При необходимости прошить контроллер выбранной прошивкой — щелкнуть мышкой на файл формата sfr, например Timer_a.sfr
Программа загружает файл с сервера в новую вкладку.

После этого остается только вставить МК в панель программатора, если это еще не сделано, и нажать на кнопку «Записать все».
Программа написана на МК. После этого контроллер вставляется в плату устройства и устройство готово к работе.

Скачать программу можно на странице Загрузки файлов: http://cxema.my1.ru/load/proshivki/material_k_state_prostoj_jdm_programmator_dlja_pric_mikrokontrollerov/9-1-0-1613 Раздел:

FEZ877 JDM PIC Programmer для микрочип MCU

Схема программатора

Fez877 ПИК JDM Программатор для Microchip MCU

  • Питание от последовательного порта вашего ПК; нет необходимость во внешнем блоке питания.
  • Совместимость с операционными системами включая Windows 98 / ME, Windows 2000 / NT, Windows XP.
  • Пишет очень быстро.
  • Этот программатор Компактный, простой в использовать.
  • Подходит для студентов и электронных энтузиасты использования
  • 40-контактные разъемы ZIF + 18-контактные разъемы ZIF (можно программировать устройства 8pin / 14pin / 18pin / 20pin / 28pin / 40pin)

Программный интерфейс WinPic800:

поддерживаемых устройств:

12F629 12F635 12F675 12F683 12F508 12F509
12F510 16C61 16C62 16C63 16C64 16C64A
16C65 16C66 16C67 16C620 / А 16C621 / A 16C622 / А
16C623 16C624 16C625 16C71 16C72 16C72A
16C73 16C73A / B 16C74 16C74A / B 16C76 16C77
16C710 16C711 16C712 16C716 16C745 16C765
16C773 16C774 16C923 16C924 16C925 16C926
16F627 16F627A 16F628 16F628A 16F630 16F636
16F648A 16F676 16F684 16F688 16F73 16F74
16F76 16F77 16F716 16F737 16F767 16F777
16F83 16F84 16F84A 16F87 16F88 16F818
16F819 16F870 16F871 16F872 16F873 16F873A
16F874 16F874A 16F876 16F876A 16F877 16F877A
18F248 18F252 18F442 18F258 18F448 18F452
18F458 18F1220 18F1320 18F2220 18F2320 18F4220
18F4320 18F2331 18F2431 18F4331 18F4431 18F2410
18F2420 18F2455 18F2480 18F2510 18F2515 18F2520
18F2525 18F2550 18F2580 18F2585 18F2610 18F2620
18F2680 18F4410 18F4420 18F4455 18F4480 18F4510
18F4515 18F4520 18F4525 18F4580 18F4585 18F4610
18F4620 18F4680

В комплект входит следующий товар:

1.1 x FEZ877_JDM Программатор PIC
2. FEZ877_jdm краткое руководство по эксплуатации + ссылка для скачивания WinPIC800

Примечание: это внутри не иметь стандартный кабель RS232, чтобы снизить цены на продукцию и Стоимость доставки, можно использовать собственный кабель RS232 (последовательный).

Цена: US $ 9.99
По всему миру Доставка заказной авиапочтой —- 6 долларов США.99 (около 7-20 рабочих дней) (Отслеживание)
Доставка по всему миру через DHL / UPS / TNT / FedEx Express …—- 25,00 долларов США (около 3-7 дней) (есть Отслеживание)

Инструкции по закупке:
При покупке укажите следующее:
Контактный телефон для доставки


FAQ
Привет, если мы купим сейчас, когда вы мне отправили?
  • Когда мы получим ваш платеж, мы отправим вам товары Вам в течении 1-2 рабочих дней!
вы отправили мне товар, у вас есть номер для отслеживания для меня ?
  • Если доставка осуществляется Заказная Авиапочта , Мы отправим вам заказной авиапочтой, У этого есть номер для отслеживания, и он может занимает 7-20 рабочих дней.
  • Если Доставка по DHL / UPS / TNT / FedEx Экспресс, Мы отправим вам DHL / UPS / FedEX / TNT / EMS..Express, это есть предоставить номер отслеживания! и это может занять 3-7 рабочих дней!
Если предмет в обмене в транспорте украден, и вы будет перераспределен к нам?
  • Если вы купили запчасти, в установленный срок сделали Не получите товар, мы отправим вам его повторно.
  • Например, если доставка авиапочтой или зарегистрированной авиапочтой, если вы покупаете детали 1 января вы получите детали 30 января. раньше, потому что это занимает 7-20 рабочих дней, если вы не получил запчасти 30 января, пожалуйста, скажите мне мы, мы повторно отправим вам!
  • Например, если доставка DHL / UPS / FedEX / TNT / EMS..Express, если вы покупаете детали 1 января вы получите детали 15 января. раньше, потому что это занимает 3-7 рабочих дней, если вы не получил запчасти 15 января, пожалуйста, скажите мне мы, мы повторно отправим вам!
  • Мы НЕ БУДЕМ повторно отправлять заказы на возврат из-за неверный адрес доставки
способ оплаты
  • Принять PayPal
    Кредитная карта через Paypal
    Я отправлю товар по указанному вами адресу. Оплата через PAYPAL. уведомление.
    Подтвердите свой адрес доставки в PayPal Счет
    или скажите, пожалуйста, вашу доставку адрес по электронной почте,
    Скажите, пожалуйста, ваш номер телефона
    Покупатели должны оплатить ВСЮ комиссию за повторную отправку возвращенного товара. пакеты
Политика возврата
  • 100% гарантия возврата денег или обмен того же класса продуктов.
    Полный возврат будет произведен при получении Неисправный элемент.
    Обратите внимание, что стоимость доставки и погрузочно-разгрузочных работ составляет не подлежащий возврату.
    Покупателям необходимо вернуть бракованные товары в течение 7 дней. дней с даты получения товара.
    Возврат или замена будут отправлены после того, как мы получим ваш возвращаемый товар.
    Во всех случаях покупатели оплачивают доставку за свой счет до Возврат товаров на обмен или возврат.
График отгрузки
  • Обычно ваш заказ будет отправлен в течение 1-2 часов. рабочих дней после подтверждения платежа.
    Время доставки может отличаться, зависит от получателя. место нахождения.
Объявить товар
  • Ваш товар будет отмечен как «Подарок» или «Образец» и отмечен низкой оценкой ценить.
    Мы НЕ несем ответственности за налоги на импорт, таможенные сборы. или таможенная задержка.
    Покупатель не может потребовать отменить аукцион или запрос для возврата в этой ситуации. Пожалуйста, свяжитесь со своим местные налоговые органы ДО торгов.
    Однако большинство наших товаров могут быть доставлены покупателям без любые налоги.

Способы оплаты 1: Прямой перевод на PAYPAL

Метод 2: Вы можете перейти непосредственно на наш купленный EBAY интернет-магазины, а их веб-сайт: http: // магазины.ebay.com/QLS-Microchip-pic-mcu-mpu-tools

Метод 3: БАНК КИТАЯ Международный Бизнес:

Форма перевода: Перевод на на нашем счете в BANK OF CHINA используются доллары США через местные банки.
Стоимость переводов: Общие денежные переводы будут установлены на уровне 25 долларов вычтено, общая сумма переводов: Всего количество товаров + доставка + 25 у.е.00.
Сообщение, которое отправит в местный банк: (Чтобы избежать совершая ошибки, Вы можете отправить в банк следующее сообщение персонал, и попросите его заполнить формы для вас)
A / C NO: 4766938-0188-129144-0 В КОНДИЦИОНЕ С: TANG YAN
BENES BANK: БАНК КИТАЯ SHENZHEN BEI ПОДРАЗДЕЛЕНИЕ КЛЫКОВ
SWIFT-КОД: BKCHCNBJ45A ДОБАВИТЬ: 1 / F, ЗДАНИЕ BEI FANG, ШЕН НАН ZHONG ROAD, ШЭНЬЧЖЭНЬ, КИТАЙ
ПОЧТОВЫЙ ИНДЕКС: 518033
ЭЛЕКТРОННАЯ ПОЧТА: cxqmcu @ tom.com [email protected] MSN: [email protected]

JDM | Продукты и поставщики

  • Программа 16F628 PIC — GSM-Форум

    На странице программиста Пиков Йенса (http: // www. Jdm .homepage.dk / newpic.htm) вы найдете несколько схем для программирования PIC …

  • Труды Международной конференции по новейшим достижениям в области беспроводной связи и обработки изображений

    Программатор последовательного интерфейса (ICSP) используется для обновлять программу микроконтроллера без удаления из схемы….. Оборудование поддерживает последовательный программатор (JDM), который поддерживает программируемый интерфейс. troller (PIC) микроконтроллеры.

  • Встроенные системы / микроконтроллер PIC — Викиучебники, открытые книги для открытого мира

    • Программатор JDM, модифицированный для микроконтроллеров LVP [6]. …. • Встроенный программатор для программатора PIC16F84 PIC16F84.

  • Компараторы в нанометровой КМОП-технологии

    5 Измерительные схемы и установка. …. Эта конфигурация программирования соответствует программисту JDM.

  • Микропроцессорные схемы Стр.7

    Однако, поскольку «Программист JDM» не может управлять VDD, алгоритм «VPP перед VDD» неприменим. …. может включать или отключать внутренний RC-генератор AT90S1200 или AT90S1200A. (Схема добавлена ​​09.03).

  • CR4 — Запись в блоге: Программаторы микросхем для микроконтроллеров PIC и микросхем EPROM

    Хотя в конструкции JDM используются отрицательные и положительные колебания для получения более высокого напряжения для программирования …. Естественно, я внес небольшие изменения в конструкцию программатора PIC-чипа. …. светодиоды (светодиоды), чтобы я мог видеть, что, черт возьми, происходит в цепи.

  • УПРОЩЕННЫЙ ПРОТОТИП СОЛНЕЧНОГО ОТСЛЕЖИВАНИЯ

    Обратите внимание, что программист JDM был выбран в качестве оборудования; COM1 был выбран для адрес. …. Схема управления солнечным трекером.

  • Вычислительные науки — ICCS 2007

    Набор инструментов программиста EPANET. …. {jdm, honavar, smryan, wqmeeker, daji, rroberts, tua, jpathak, mye, hong} @iastate.edu. …. большого количества физических активов, включая линии передачи, силовые трансформаторы и автоматические выключатели, которые…

  • Внедрение системы позиционирования на основе GPRS с использованием микроконтроллера PIC

    Разработан макет печатной платы. с помощью инструментов TraxMaker. …. Программное обеспечение WIN PIC Programmer используется для отправки шестнадцатеричных файлов на микроконтроллер. для программирования чипа и JDM 2 выбран в качестве тип интерфейса для программиста.

  • Библиография

    33 ПРИЛОЖЕНИЯ ДЛЯ ПРОГРАММИРОВАНИЯ БАРАБАНОВ * B.ТУРНБУЛЛ. …. JDM. …. 2 СПЕЦИАЛЬНЫЙ ВОПРОС ПО АВТОМАТИЧЕСКОМУ ПРОЕКТИРОВАНИЮ ЦЕПИ * Н.А.-РОРЕР.

  • Программатор JDM с внешним питанием от компьютера. Самый простой JDM-программатор для PIC на пассивных компонентах. Описание процесса программирования микросхем

    Так получилось, что я начал знакомство с микроконтроллерами с AVR. Микроконтроллеры Pic пока что, пока время — шло стороной. Но, тем не менее, у них также есть уникальный, интересный для повторения, дизайн! Но эти микроконтроллеры тоже нужны.Я пишу эту статью в основном для себя. Чтобы не забыть о технологиях, как без проблем и бессмысленной потери времени прошить микроконтроллер PIC.

    По первой схеме — долго и упорно пытался сделать программатор PIC по схемам, найденным в интернете — ничего не вышло. Мне было стыдно, но пришлось обратиться к другу, чтобы прошить МК. Но это не так — постоянно бегайте по знакомым! Этот же знакомый и посоветовал простую схему работы от COM порта.Но даже тогда, когда я ее собрал — все равно ничего не работало. Ведь немного собрать программатор — нужно настроить программу, по которой мы будем прошивать. Но просто не вышло. Целое облако инструкций в интернете, и сколько я мне помог …

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

    Итак, программатор для микроконтроллеров PIC. Простая, хотя и не 5-я проводка, как для микроконтроллеров AVR, которые я использую до сих пор. Вот схема:

    Вот печатная плата ().

    Припаиваем участки разъема COM

    непосредственно к контактным площадкам (главное не запутаться с нумерацией). Второй ряд контактов соединяется с платой перемычки низкого уровня (сказано очень непонятно, да). Я постараюсь дать фото … хоть она и ужасная (у меня сейчас нет нормальной камеры).
    Самое злое, что для микроконтроллеров PIC для прошивки нужно 12 вольт. И лучше не 12, а немного больше. Скажем, 13. или 13.5 (кстати, знатоки — поправьте меня в комментариях, если я ошибаюсь. Пожалуйста). 12 вольт еще можно где-то добыть. А 13 где? Вышел из положения просто — взял свежесобранную литий-полимерную батарею, которая была на 12,6 вольт. Ну или вообще четырехбуксовочная батарея, с ее 16 вольтами (прошил один ПИК — без проблем).

    Но я опять отвлекся.Итак — инструкция по прошивке микроконтроллеров PIC. Ищем программу WinPic800 (к сожалению, простой и популярный ICPROG у меня не заработал) и настраиваем как показано на скриншоте.

    После этого открываем файл прошивки, подключаем микроконтроллер и прошиваем.

    За основу предлагаемого программатора взята публикация из журнала Радио № 2, 2004 г. «Программирование современных PIC16, Pic12 на PonyProg». Это мой первый программатор, который я использовал для прошивки PIC Chips в домашних условиях.Программатор представляет собой упрощенный вариант программатора JDM, оригинальная схема имеет преобразователь RS-232 на TTL в виде микросхемы MAX232, он более универсален, но на коленке не собирается. Эта схема вообще не имеет единого активного компонента, не содержит дефицитных деталей и очень проста, может быть собрана без использования печатной платы.

    Рис. 1: Принципиальная схема программатора.

    Описание работы схемы
    Схема программатора представлена ​​на рис.1. Цепные резисторы CLK (часы), DATA (информация), Upp (напряжение программирования) используются для ограничения текущего тока. Контроллеры PIC защищены от поломки встроенными стабилизаторами, поэтому получается некоторая совместимость логики TTL и RS-232. В представленной схеме присутствуют диоды VD1, VD2, которые «отбирают» положительное напряжение с порта COM относительно 5 контакта и передают его для питания контроллера, так что в некоторых случаях можно избавиться от дополнительных источник питания.

    Зарплата
    На практике не всегда бывает, что этот программатор будет работать без установления, с 1-го раза, т.к. работа этой схемы сильно зависит от параметров COM порта. Однако у меня на двух платах Gigabyte 8ipe1000 и WinFast под XP все заработало сразу. Если вам лень разбираться с нерабочей, более сложной схемой программатора, то вам стоит попробовать собрать это. Вот некоторые вещи, на которые может повлиять:

    Более новый мат.Плата, разработчики уделяют этим портам меньше внимания, потому что эти порты давно морально устарели. Вы можете избавиться от этого, купив переходник USB-COM, но опять же купленное устройство может не подойти. Необходимые параметры: изменяемое напряжение Должно изменяться от -10 В до + 10 В (лог.0 и 1) относительно 5-го контакта разъема. Сила тока должна быть как минимум такой, чтобы при подключении резистором 2,7 кОм между 5-м контактом и тестовым контактом напряжение не опускалось ниже 10В (самих карт таких не было).Также порт должен корректно определять напряжения, поступающие с контроллера при уровне напряжения близком к 0В, но нулем определяется не более 2В, и соответственно при более 2В определяется единица.

    Также проблемы могут возникнуть из-за программного обеспечения.
    Это особенно верно для ОС Linux, т.к. из-за наличия эмуляторов типа Wine порты VirtualBox могут работать некорректно, и от них есть много возможностей. Подробнее я коснусь этих проблем в другой статье.

    Зная эти особенности, приступаем к установке.
    Очень желательно иметь программу ICProg 1.05D.
    В меню программы нужно выбрать в настройках соотв. Порт (COM1. COM2), выберите программатор JDM. Затем откройте окно «Проверка оборудования» в меню «Настройки». В этом меню нужно взять галочки и вольтметр для измерения напряжения на разъеме разъема. Если параметры напряжения не соответствуют норме, то, к сожалению, это может быть причиной неработоспособности, тогда придется собирать схему с преобразователем RS-232 TTL.Отметив все галочки, нужно убедиться, что на стабитроне формируется напряжение питания около 5В. Если напряжения в норме и ошибок установки нет, значит все должно работать. Ставим контроллер в панель, открываем прошивку, программируем. Галочки типа «Invert Data Out» включать не нужно (все снимаются). Также не нужно забывать, что некоторые партии контроллеров могут иметь не стандартные параметры и их невозможно прошить, в таких случаях можно только попробовать снизить напряжение питания с 5В до 3-4В, подключив соотв.Stabitron, просмотрите контроллер на предмет ошибочного включения режима LVP (низковольтное программирование), как предотвратить, вы можете прочитать в интернете для конкретного типа контроллера. Увеличивают проблему программирования проблема контроллера, это, вероятно, только усложнение схемы за счет управления усилительным каскадом с общим эмиттером, питаемым от дополнительного источника питания.

    А теперь подробнее о проблеме с питанием устройства. Программатор тестировался с программами ICPROG и PicProg под Linux, должен работать с любыми, поддерживающими JDM, при подключении дополнительного источника питания (подключается через 1-кнопочный резистор к Стабилитрону, диоды с резисторами в этом случае можно вообще исключить) .Дело в том, что алгоритмы управления программистами в отдельном ПО разные, программа ICPROG самая простенькая. Отмечается, что в Windows эта программа на неиспользуемом контакте 2 поднимала необходимое напряжение Power, такая же программа под эмулятором в Linux на другом мате. Плату уже нельзя было сделать, но выход был найден подбором блока питания из программируемого напряжения. В общем, с Icprog, думаю, этот программатор можно применять без дополнительного питания.С другим ПО вряд ли будет гарантировано, например, «родное» из репозитория Ubuntu. PicProg без еды просто не определяет программиста, выдавая сообщение «Оборудование JDM НЕ НАЙДЕНО». Вероятно, он либо принимает некоторые данные без подачи напряжения программирования, либо делает это слишком быстро, так что конденсатор фильтра все еще не успевает перезарядиться.

    Предлагаем вам совместимый программатор в качестве элементарного программиста, которого мы назвали программистом НТВ.Ниже представлена ​​схема программатора НТВ (используется сокет DB9; не путать с вилкой).

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

    Этот программатор не работает при подключении к ноутбукам, т.к. сигналы интерфейса RS-232 (COM-порт) в мобильных системах занижены. Он также может не работать на современных ПК, где оборудование сохраняет ток на порту.Так что не обвиняйте меня, соберите и проверьте все компы на руку.

    Конструктивно плата программатора вставляется между контактами разъема DB-9, приходящимися на контактную площадку печатной платы. Ниже представлен чертеж платы и фото программатора в сборе.



    Для полноты картины стоит сказать, что есть еще один подобный программатор, который я собрал под микроконтроллеры в корпусе (ах) на 8 выводов.Программист тоже отлично работает с этими микроконтроллерами. Ниже чертежная доска и фотографии.

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

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

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

    Основная часть.

    Монтажная панель

    МК.

    Исходная схема взята с Labkit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон программатора Pickit2. Поскольку устройство является «облегченной» копией компании Pickit2, автор назвал свою разработку Pickit-2 Lite , что подчеркивает простоту сборки такого устройства для начинающих радиолюбителей.

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

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

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

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

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

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

    Микросхемы памяти

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

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

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

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

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

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

    Имя Обозначение Номинал / параметры Марка или тип элемента
    Для основной части программатора
    Микроконтроллер DD1. 8-битный микроконтроллер PIC18F2550-I / SP
    Транзисторы биполярные VT1, VT2, VT3 Кт3102.
    VT4. кт361
    Диод VD1. КД522, 1Н4148.
    Диод Шоттки VD2. 1N5817.
    Светодиоды HL1, HL2. любые 3 В, красный и зеленый Цвета свечения
    Резисторы R1, R2. 300 Ом.
    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 любая «перемычка»
    Для монтажной панели микроконтроллеров (МК)
    Зиф-панель Xs1 любые 40 Контакты Zif-Panel
    Резисторы R1 2 ком МЛТ, МОН (мощность от 0.125 Вт и выше), импортные аналоги
    R2, R3, R4, R5, R6 10 ком

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

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

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

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

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

    Для защиты элементов схемы от обратного напряжения от программных линий, в случае использования USB-программатора в режиме последовательного программирования ICSP применяется диод VD2.VD2 — диод Шоттки. Его следует подхватывать при падении напряжения на переходе P-N не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения при использовании программатора в режиме преобразования и логического анализатора USB-UArt.

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

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

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

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

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

    И так 8 выходных микроконтроллеров (PIC12F675, Pic12F629 и т.д.).

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

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

    Печатную плату можно изготовить методом LUT, а также маркером для печатных плат методом Цапонлака (я сделал) или методом «карандаша».

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

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

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

    Файл «Прошивка» — Pk2v023200.hex Вы должны записать PIC18F2550I-SP MK с помощью любого программатора, поддерживающего микроконтроллеры PIC (например, Extra-PIC). Я использовал JDM Programmator Jonic Prog и программу WinPic800. .

    Залить «прошивку» в МК 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.шестнадцатеричный « .

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

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

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

    Для обновления программатора нужно замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключите программатор к ПК и запустите Pickit2 Programmer. При закрытом режиме XT1 активируется режим загрузчика . Чтобы скачать новую версию прошивки. Затем в Программаторе Pickit2 через меню «Инструменты» — «Загрузить операционную систему Pickit 2» откройте заранее подготовленный шестнадцатеричный файл обновленной прошивки.Далее будет происходить процесс обновления программатора.

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

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

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

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

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

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

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

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

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

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

    Однажды я решил собрать простой LC-метр на Pic16F628A и естественно надо было что-то прошить. Раньше у меня был компьютер с физическим COM-портом, но сейчас в моем распоряжении только USB и плата PCI-LPT-2COM. Для начала собрал простой JDM-программатор, но как оказалось ни с платой PCI-LPT-COM, ни с переходником USB-COM он работать не хотел (низкое напряжение сигналов RS-232).Тогда я бросился смотреть USB программисты PIC, но там, как оказалось, все ограничивается использованием дорогих PIC18F2550 / 4550, которых у меня естественно не было, и жаль, что такие дорогие МК используют, если я очень редко что-то делаю (Я предпочитаю ABR-ы, они не Makes up, они намного дешевле, и мне кажется, что писать программы им проще). Давно тоня в Интернете в Интернете, в одной из многочисленных статей о программаторе EXTRA-PIC и всевозможных его вариантах один из авторов написал, что ExtraPic работает с любыми COM-портами и даже с адаптером USB-COM.

    В схеме этого программатора используется преобразователь логических уровней MAX232.

    Я подумал, что если использовать USB-адаптер, будет очень глупо делать два раза преобразование уровней USB в USAT TTL, TTL в RS232, RS232 обратно в TTL, если вы можете просто взять сигналы порта TTL RS232 из конвертера USB-USArt чип.

    Так и сделал. Взял микросхему Ch440G (в которой есть все 8 сигналов COM порта) и подключил ее вместо MAX232. Так и случилось.

    В моей схеме есть перемычка JP1, которой нет в экстрапенте, я ее установил, потому что не знал, как вывод TX tX ведет себя на уровне TTL, поэтому я сделал возможность инвертировать на оставшихся свободных элемент и не потерял, как оказалось непосредственно на выходе TX логическая единица, а значит на выходе VPP при его включении присутствует 12 вольт, а при программировании ничего не будет (хотя можно инвертировать TX программно).

    После сборки платы пришло время триала. И тут пришло главное разочарование. Программатор определился сразу (программа IC-PROG) и заработал, но очень медленно! В принципе, ожидал. Затем в настройках COM-порта выставил максимальную скорость (128 килобод) начал тестирование всех найденных программ для JDM. В результате был быстро завязан PicPGM. У меня PIC16F628A прошился полностью (HEX, EEPROM и CONFIG) плюс проверка где-то 4-6 минут (а чтение медленнее записи).Icprog тоже работает, но медленнее. Ошибок по поводу программирования не возникало. Еще пробовал прошить EEPROM 24C08, результат тот же — все шьется, но очень медленно.

    Выводы: Программатор достаточно простой, дорогих деталей в нем нет (Ч440 — 0,3-0,5 $, К1533L3 вообще можно найти среди магнитол), работает на любом компьютере, ноутбуке (да еще и планшеты можно использовать на Windows 8/10). Минусы: он очень медленный. Также требуется внешнее питание для сигнала VPP. В итоге, как мне показалось, для доброй прошивки пиков это простой на повтор и недорогой вариант для тех, у кого нет древнего компа с нужными портами.

    Вот фото готового устройства:

    Как они идут в песне «Я был ослеплен от того, что было». Набор деталей самый разнообразный: и SMD, и DIP.

    Для тех, кто рискованно повторять схему, в качестве USB-UART подойдет практически любой (FT232, PL2303, CP2101 и др.), Вместо K1533L3 подойдет K555, думаю даже серия K155 или зарубежный аналог 74Als00 может даже работа с логическими элементами типа К1533ЛН1. Я делаю свою печатную плату, но расклад там под те элементы, которые были в наличии, каждый может перерисовать под себя.

    Перечень радиоэлементов
    Обозначение Тип Номинал номер Примечание Оценка Моя записная книжка
    IC1 Чип Ч440Г. 1 В записной книжке
    IC2. Чип K1533L3. 1 В записной книжке
    VR1. Линейный регулятор

    LM7812.

    1 В записной книжке
    VR2. Линейный регулятор

    LM7805.

    1 В записной книжке
    VT1 Транзистор биполярный

    КТ502Е.

    1 В записной книжке
    VT2. Транзистор биполярный

    CT3102E.

    1 В записной книжке
    VD1-VD3. Выпрямительный диод

    1N4148.

    2 В записной книжке
    C1, C2, C5-C7 Конденсатор 100 НФ. 5 В записной книжке
    C3, C4. Конденсатор 22 PF 2 В записной книжке
    HL1-HL4. Светодиод Любой 4 В записной книжке
    R1, R3, R4 Резистор

    1 ком

    3

    Архивы JDM-Programmer — Embedds

    Большинство из вас, ребята, хорошо знакомы с PIC и EEPROM, но представляли ли вы когда-нибудь объединение этих двух вещей и превращение их в превосходного программатора JDM? Что ж, прежде чем мы начнем этот проект, вам может быть интересно узнать больше о факте EEPROM.Знаете ли вы, что EEPROM — это сокращенная форма «электрически стираемая программируемая постоянная память», тип энергонезависимой памяти, которая используется в компьютерах и других электронных устройствах. Основная функция EEPROM — хранить небольшие объемы данных, которые строго сохраняются при отключении питания. В результате, когда необходимо хранить большие объемы статических данных, очень специфический тип EEPROM, такой как флэш-память, считается более экономичным, чем традиционные устройства EEPROM. Кроме того, EEPROM распознаются как массивы транзисторов с плавающим затвором.Сегодня вы собираетесь разработать программатор JDM, с которым без проблем можно будет работать с микроконтроллерами семейств PIC12, PIC16 и PIC18 и EEPROM семейства 24C. Программист предоставил функцию ICSP, которая позволяет IN-Circuit… Читать далее

    Вы были очень разочарованы уже настроенным программатором PIC и хотели бы иметь более простой программатор PIC, который можно легко перепрограммировать? Вместо того, чтобы жаловаться по этому поводу, лучше сделать самодельный сложный PIC-программатор для собственного использования … PIC-Programmer, который вы собираетесь разработать, был модификацией JDM-программатора.Это означает, что вам необходимо подключить PIC-программатор к последовательному com-порту вашего компьютера! Поскольку этому устройству даже не требуется дополнительный внешний источник питания, вы сэкономите здесь много денег. Хорошо, вам должно быть интересно, какие типы микроконтроллеров PIC и EEPROM вы должны использовать в этом проекте. Что ж, поскольку нет никаких ограничений для микроконтроллеров PIC и EEPROM, вы можете использовать этот PIC-рекордер для PIC12C50x, PIC12F62x, PIC16Fxx, PIC16F62x и EEPROM 24Cxx. По сравнению с другими проектами, этот PIC-программатор считается одним из самых простых в сборке и компактных электронных проектов.Три светодиода на плате используются для индикации состояния процесса записи. Сигнал для… Читать далее

    Программирование PIC Microchip




    Программирование PIC

    Чтобы начать программировать PIC-чип, я использую бесплатное программное обеспечение программа под названием «Программист разработки PICPgm» и мои elproducts EZ Плата аппаратного программатора PIC, основанная на так называемом последовательном интерфейсе JDM. программист порта.

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

    Я использовал IC-Prog Прототип Программное обеспечение для программирования устройств 16F876A и 16F877A I использовал, но перешел на программу PICPgm, поскольку она поддерживает более новые микроконтроллеры PIC 16F886 и 16F887, которые я сейчас использую с использованием.


    С помощью вышеуказанной настройки программатора вы можете загружать скомпилированные программы PIC. вы создаете или приобретаете микросхему PIC.
    На некоторых микросхемах PIC, таких как 16F876A, вы можете загрузить загрузчик запрограммировать в микросхему.

    После загрузки программного обеспечения загрузчика на 16F876A вам не потребуется аппаратный программатор для загрузки новой программы. Вы можете подключить PIC чип в макет и использовать модуль последовательной связи RS-232 для загрузки новых программ без перезаписи программы загрузчика.


    Я использовал файлы загрузчика, которые поставлялись с MicroCode Studio Plus, но бесплатно файлы загрузчика можно скачать из других источников.

    В мою копию MicroCode включены два файла загрузчика. Studio Plus для микросхемы PIC 16F876A.
    Они называются «16F876A_04.hex» и «16F876A_20.hex».

    04 указывает на то, что загрузчик должен использоваться с резонатором 4 МГц. и 20 с резонатором 20 МГц.
    Программа загрузчика и ваша основная программа должны быть закодированы для та же частота резонатора.



    Я начал использовать другую программу загрузчика с именем Tiny Bootloader и файлы загрузчика, которые были включены в программу для программирования PIC 16F886 и 16F887 устройств, потому что в моей версии MicroCode Studio Plus нет поддержка файлов загрузчика для этих новых устройств.

    Программное обеспечение Tiny Bootloader также работает с Silabs CP2102 на базе Плата преобразователя USB в UART, которую я недавно купил.

    После того, как программа загрузчика будет установлена ​​на микросхеме PIC с использованием моего старого настольный компьютер и последовательный программатор оборудования, я могу использовать свой ноутбук компьютер, программное обеспечение Tiny Bootloader и преобразователь USB в последовательный плата для загрузки моих программ на чип.


    После установки драйвера Silabs и подключения платы открыл Диспетчер устройств Windows, чтобы проверить установку.
    Драйвер Silicon Labs находится в разделе Порты (Com & LPT) и отображается на моем ноутбуке как com 6.


    Чтобы выбрать com6 в программе Tiny Bootloader на моем компьютере, у вас есть подключить плату USB к компьютеру перед открытием программы в противном случае его нельзя будет выбрать.

    На моей плате преобразователя USB в последовательный порт CP2102 контакт, помеченный как Rx, на самом деле вывод Tx и наоборот. Они помечены за то, что они подключаться к, а не то, что они есть.



    Написание и компиляция программы

    Для написания и компиляции кода для микросхем PIC я использую MicroCode Studio Plus в сочетании с компилятором PIC Basic Pro.

    Чтобы начать программировать микросхемы PIC, не тратя слишком много денег вы можете бесплатно скачать стандартную версию MicroCode Studio и приобретите недорогую версию PIC Basic Pro для студентов / экспериментаторов.



    Модифицированный программатор PIC JDM

    Модифицированный программатор PIC JDM

    Разработка и реализация модифицированного программатора JDM PIC

    26 августа 2007 г.

    За последнее десятилетие мне понравилось экспериментировать с микроконтроллерами Microchip PIC. Они очень дешевы, и вы можете легко получить бесплатное программное обеспечение для компиляции кода и программирования микросхем. Единственное, что вам нужно, это аппаратный программатор, который позволяет загружать ваш код в микросхему PIC.У меня есть пара разных программистов, некоторые построили, некоторые собрали, некоторые купили. Мне нравится простота последовательного программатора JDM, и я сделал несколько из них. Два недостатка этой конструкции заключаются в том, что A) она не может надежно программировать микросхемы с внутренними генераторами (если вы используете внутренний генератор) и B) она не имеет немедленной обратной связи.

    Я нашел решение первой проблемы на этом сайте. Это простое решение, включающее добавление в конструкцию МОП-транзистора.

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

    Вот результат дизайна!



    Я использовал бесплатное программное обеспечение Eagle CAD, чтобы сделать схематический снимок и разводку печатной платы. Это действительно неплохая программа для хобби. Вот схема программатора. Лишние «несвязанные» линии на top были просто для моего личного использования, помогая идентифицировать различные сети. я был уведомлен Анандом Джоном (см. его проект EEG PIC: http: // teknomage.wordpress.com), что исток и сток MOSFET в схеме перевернут. Я обновлю схему и плату как только как у меня есть шанс.


    А вот и разводка печатной платы программатора. Я изо всех сил старался проложить все следы на нижней стороне, но не смог, поэтому требуется одна перемычка (красная линия посередине).


    Копия схемы Eagle и печатной платы доступна в этом zip-файле: dmf_picprog_eagle.zip. Этот файл также включает 1dmf.lbr, копию частей моей личной библиотеки Eagle.


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

    Лист библиотеки пакетов устройства со значением компонента
    C1 100 мкФ 40 В CPOL-US CPOL-USE5-6 1dmf 1
    C2 22 мкФ 16 В CPOL-US CPOL-USE5-6 1dmf 1
    D1 1N4148 DIODE_DO35-10 DIODE_DO35-10 1dmf 1
    D2 1N4148 DIODE_DO35-10 DIODE_DO35-10 1dmf 1
    D4 5.1в ZENER-DIODEDO35Z10 DO35Z10 диод 1
    D5 1N4148 DIODE_DO35-10 DIODE_DO35-10 1dmf 1
    D6 8.2v ZENER-DIODEDO35Z10 DO35Z10 диод 1
    D7 1N4148 DIODE_DO35-10 DIODE_DO35-10 1dmf 1
    IC1 DIL28 DIL28-6 IC-пакет 1
    JP1! 28p JP1E JP1 перемычка 1
    LED1 Индикатор питания LED5MM 1dmf 1
    LED2 Vpp LED LED5MM 1dmf 1
    Q1 2N3904 NPN_TO92_BP NPN_TO92_BP 1dmf 1
    Q3 2n7000 MOSFET-N TO_237 1dmf 1
    4 квартал 2N3904 NPN_TO92_BP NPN_TO92_BP 1dmf 1
    R2 10к Р-УС R_US_0204 / 7 1дмф 1
    R3 1.5к R-US R_US_0204 / 7 1dmf 1
    R4 1.2k R-US R_US_0204 / 7 1dmf 1
    R5 4,7к R-US R_US_0204 / 7 1dmf 1
    U $ 1 SUBD_F9H_JDM SUBD_F9H_JDM SUBD_F9H 1dmf 1
     

    Размещение микросхемы


    В зависимости от микросхемы, которую вы хотите запрограммировать, вам необходимо правильно выровнять ее в гнезде ZIF. Ниже приведены схемы размещения микросхем для обычных микросхем от 8 до 28 контактов. Я не тестировал все 8-28-контактные микросхемы, но ниже приведены сетевые соединения для сокета, чтобы вы могли определить, будет ли работать PIC-чип.Даже если микросхема не будет работать напрямую (или имеет более 28 контактов), ее можно будет запрограммировать, построив «адаптер розетки» (припаяв провода к разъему IC для получения нужных сигналов и подключив эти провода к соответствующие выводы микросхемы, которую вы хотите запрограммировать). Также обратите внимание, что на плате есть перемычка. Перемычка стоит (подключена) во всех случаях, кроме программирования 28-контактной микросхемы в гнезде. Когда перемычка включена, она будет подключать напряжение программирования (Vpp) к контактам 5 и 14 разъема.По какой-то причине, которую я не понял, если Vpp присутствует на этих контактах при программировании 28-контактного чипа, он не будет работать, поэтому удалите перемычку для этого случая.

    Вот список микросхем PIC, которые я успешно запрограммировал с этим устройством:
    10F202 (8-контактный)
    12F683 (8-контактный)
    12F629 (8-контактный)
    16F636 (14-контактный)
    16C84 (18-контактный)
    16F870 (28-контактный)
    16F876 (28-контактный)
    16F73 (28-контактный)
     


    Я использую бесплатное программное обеспечение Win Pic вместе с программатором для программирования микросхемы ПОС.

    alexxlab

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *