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 контактов, первый контакт микросхемы вставляется в пятый конакт колодки.
Нижний по схеме транзистор как и ранее используется для сдвига напряжений так как плюс питания контроллера 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 совместимый программатор, который мы назвали 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 Раздел:
Автор:jab
К списку статей |
|
|
|
|
|
|
Программаторы микроконтроллеров PIC
Программатор ProPIC2 (LPT)
Программатор подключается к LPT-порту компьютера. Поддерживает большой список микроконтроллеров и памяти. Работает очень чётко, но только из Windows 98, из Windows XP его запустить не удалось. Программатор расчитан на внешний блок питания, я использовал блок 15В, 1А. Программируемые микросхемы подключаются через ZIF-колодку. Для экономии места на плате для подключения к соеденительному кабелю используется разъём типа DB9 (как на СОМ-портах). Микросхему 7407 можно заменить отечественной К155ЛП9.
|
Для работы с программатором используется программа 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 Раздел:
| Схема программатора
JDM | Продукты и поставщики
На странице программиста Пиков Йенса (http: // www. Jdm .homepage.dk / newpic.htm) вы найдете несколько схем для программирования PIC …
Программатор последовательного интерфейса (ICSP) используется для обновлять программу микроконтроллера без удаления из схемы….. Оборудование поддерживает последовательный программатор (JDM), который поддерживает программируемый интерфейс. troller (PIC) микроконтроллеры.
• Программатор JDM, модифицированный для микроконтроллеров LVP [6]. …. • Встроенный программатор для программатора PIC16F84 PIC16F84.
5 Измерительные схемы и установка. …. Эта конфигурация программирования соответствует программисту JDM.
Однако, поскольку «Программист JDM» не может управлять VDD, алгоритм «VPP перед VDD» неприменим. …. может включать или отключать внутренний RC-генератор AT90S1200 или AT90S1200A. (Схема добавлена 09.03).
Хотя в конструкции JDM используются отрицательные и положительные колебания для получения более высокого напряжения для программирования …. Естественно, я внес небольшие изменения в конструкцию программатора PIC-чипа. …. светодиоды (светодиоды), чтобы я мог видеть, что, черт возьми, происходит в цепи.
Обратите внимание, что программист JDM был выбран в качестве оборудования; COM1 был выбран для адрес. …. Схема управления солнечным трекером.
Набор инструментов программиста EPANET. …. {jdm, honavar, smryan, wqmeeker, daji, rroberts, tua, jpathak, mye, hong} @iastate.edu. …. большого количества физических активов, включая линии передачи, силовые трансформаторы и автоматические выключатели, которые…
Разработан макет печатной платы. с помощью инструментов TraxMaker. …. Программное обеспечение WIN PIC Programmer используется для отправки шестнадцатеричных файлов на микроконтроллер. для программирования чипа и JDM 2 выбран в качестве тип интерфейса для программиста.
33 ПРИЛОЖЕНИЯ ДЛЯ ПРОГРАММИРОВАНИЯ БАРАБАНОВ * B.ТУРНБУЛЛ. …. JDM. …. 2 СПЕЦИАЛЬНЫЙ ВОПРОС ПО АВТОМАТИЧЕСКОМУ ПРОЕКТИРОВАНИЮ ЦЕПИ * Н.А.-РОРЕР.
Предлагаем вам совместимый программатор в качестве элементарного программиста, которого мы назвали программистом НТВ.Ниже представлена схема программатора НТВ (используется сокет 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 нужно «прошить». Эта простая операция Многие вызывают ступор, так как возникает так называемая проблема «курица с яйцом». Как я решил, расскажу чуть позже. Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (проведите пальцем влево-вправо), чтобы увидеть все ее столбцы.
Теперь немного о деталях и их назначении. Зеленый Светодиод 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. Я делаю свою печатную плату, но расклад там под те элементы, которые были в наличии, каждый может перерисовать под себя. Перечень радиоэлементов
|
Архивы 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 вместе с программатором для программирования микросхемы ПОС.