Site Loader

Содержание

Как сделать свой собственный USB программатор для PIC микроконтроллеров

Используя этот USB программатор для PIC микроконтроллеров, вы можете программировать микросхемы серии PIC 10F, 12F, 16F, 18F, 24F, 30F. Он также является программатором EEPROM, поскольку поддерживает EEPROM 12Cxx.

Цифровой мультиметр AN8009

Большой ЖК-дисплей с подсветкой, 9999 отсчетов, измерение TrueRMS…

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

Многие программаторы PIC для работы с компьютером используют последовательный порт (RS232). Но поскольку в ноутбуках, как правило, нет последовательного порта RS232, то им необходим конвертер USB — RS232.

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

Необходимые компоненты:

  • Микроконтроллер PIC18F2550
  • Транзистор (BC548 – 2шт; BC547; BC557)
  • Диод 1N4148 (6шт)
  • Резистор (1кОм – 7шт; 100кОм; 470 – 2шт; 1Мом; 470кОм; 330 – 3шт)
  • Конденсатор (0,01мкф – 3шт; 2,2мкф – 2шт; 10мкф; 22пф – 2шт)
  • Кварц на 8 МГц
  • Разъем USB
  • 5-контактный разъем (2шт)

Микроконтроллер PIC18F2550 имеет встроенный USB-порт, который значительно упрощает взаимодействие с компьютером.

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

Скачать прошивку для программатора PIC микроконтроллеров

(24,0 KiB, скачано: 451)

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

Далее нам нужно программное обеспечение, которое поможет нам программировать PIC микроконтроллеры. С этой задачей прекрасно справиться программа USB PIC Prog. Вы можете скачать данную программу по следующей ссылке: USB PIC Prog

HILDA — электрическая дрель

Многофункциональный электрический инструмент способн…

РадиоКот :: USB программатор PIC микроконтроллеров.

РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >

USB программатор PIC микроконтроллеров.

В данной статье рассматриваются практические аспекты сборки несложного 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 определена для внутрисхемного программирования. Остальные линии типовые.
Программатор собран на односторонней печатной плате.

Конструктивно сигнальные линии подпаиваются к подходящему разъему (в моем случае это разъем DB9).

На фотографии видно, что использован «нетипичный» разъем USB. К сожалению, в моём родном городе Саратове не удалось найти правильный разъем USB.
Для программирования микроконтроллеров в DIP корпусах очень удобно использовать адаптер с ZIF-панелью (Zero Insertion Force — с нулевым усилием на выводы микросхемы при ее установке). Схема адаптера на рисунке ниже.

Адаптер собран на односторонней печатной плате. Мне не удалось симпатичнее развести плату и минимизировать количество перемычек.

ZIF-панель любезно предоставлена Благородным котом этого сайта, который пожелал остаться неизвестным. (sic! Прим. Кота.) Большое спасибо ему за это. Ниже фотография собранного адаптера.

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

Затем следует традиционный запрос на установку драйвера. Драйвер расположен в управляющей программе WinPic800 по примерному пути WinPic800 3.55GGTP-USBDriver 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 сек. Глюков не замечено. Часть зашитых МК протестировано в железе — работает.

Ниже рисунки установки кристаллов в ZIF-панель:

DIP40

DIP28

DIP18

DIP20

DIPrf18

DIP14

DIP8 DIPrf20

DIP8 10F

DIP8 (EE)

Теперь несколько слов о том, как прошить PIC18F2550, точнее, чем прошить. На этом сайте представлено несколько вариантов программатора Extra-PIC. Этот программатор можно рекомендовать для прошивки PIC18F2550.
Существует непроверенная информация по схеме элементарного программатора ART2003, который подключается к LPT-порту ПК. Данный программатор поддерживается всё тем же WinPic800 3.55G.

Ниже типовые настройки WinPic800 3.55G для работы с ART2003.

Если Вы повторите предложенную схему ART2003, вне зависимости от результатов прошивания прошу поделиться информацией о его работе (фотографии и принтскрины приветствуются).

На форуме нашего сайта довольно активно обсуждается данный программатор. Однако многие, в том числе и ваш покорный автор, периодически сталкивались с ситуацией, когда программатор переставал опознаваться компьютером и, соответственно, не работал. Попытки перегрузить, переподключить, использовать другой USB порт в составе ПК не всегда излечивали данную проблему. В отдельных случаях программатор «самоизлечивался» и работал как положено.

Благодаря нашим читателям выяснилось, что проблема на самом деле пустяковая и лежит на поверхности. Достаточно на линии питания от разъема USB поставить фильтрующий электролитический конденсатор емкостью порядка 100,0 мкф на рабочее напряжение не менее 6,3 вольта. На существующей печатной плате этот конденсатор можно вполне культурно установить.
Для этого необходимо просверлить два отверстия, загнуть к печатным проводникам вывода конденсатора и пропаять их. Ниже рисунок печатной платы и расположение конденсатора (выделено красным кругом).

Файлы:
Печатные платы в формате SL4.0
Прошивка МК
WinPic800 3.55G

Все вопросы — в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

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

Однажды я решил собрать несложный 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

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

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

Цена готовых 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, я рассказал в отдельной статье. Следующий шаг .

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

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

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

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

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

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

Быстро собрать понравившуюся схему на микроконтроллере для многих радиолюбителей — не проблема. Но многие начинающие работать с микроконтроллерами сталкиваются с вопросом — как его запрограммировать. Одним из самых простых вариантов программаторов является 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
Программа загружает файл с сервера в новую вкладку.

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

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

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

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

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

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

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

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

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

Программатор pickit2 lite своими руками

Микроконтроллеры

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

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

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

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

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

Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC.

Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора.

Особо важная функция, которой обладает программатор – это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно.

Для этого нужно намотать 250 – 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68.

Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.

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

Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2.

VD2 – это диод Шоттки. Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт.

Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.

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

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

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

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

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

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

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

Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.

0 можно с помощью режима «Печать» не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате.

Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении.

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

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

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

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

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

Также стоит знать, что «прошивка» микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы.

Примерный путь расположения файла PK2V023200.hex  — «C:Program Files (x86)MicrochipPICkit 2 v2PK2V023200.hex».

У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:Program FilesMicrochipPICkit 2 v2PK2V023200.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, я рассказал в отдельной статье. Следующий шаг.

  1. Необходимые файлы:
  2. Главная » Микроконтроллеры » Текущая страница
  3. Также Вам будет интересно узнать:

Источник: https://go-radio.ru/usb-programmator-pic-svoimi-rukami.html

Клон PICkit 2

PICkit 2 — недорогой программатор/отладчик предназначенный для отладки и прошивки Flash микроконтроллеров фирмы Microchip. Подключение к компьютеру осуществляется через USB-интерфейс.

Поддерживается практически все семейство PIC-микроконтроллеров: PIC18, 8-бит, 16-бит и 32-бит микроконтроллеры. С помощью среды MPLAB IDE поддерживается внутрисхемная отладка кода.

В данной статье представлен проект по изготовлению клона PICkit 2, с полным сохранением функционала оригинального программатора.

Характеристики программатора:
1. Данный программатор работает точно также, как и оригинальный PICkit 2
2. Работа как с 5В, так и с 3.3В микроконтроллерами
3. В схеме не используются мосфеты, только преобразователь на м/с LM358

  • 4. Возможность прошивки МК без компьютера

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

Печатная плата программатора (вид со стороны радиоэлементов, вид с обратной стороны платы и схема расположения элементов):

После того, как печатная плата изготовлена и на нее припаяны все необходимые элементы, нужно прошить микроконтроллер PIC 18F2550. Для этого, нужно воспользоваться другим программатором, либо прошить PIC программатором по последовательному протоколу (см. например здесь)

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

Для прошивки контроллеров и отладки можно использовать оригинальное ПО от PICkit 2 и среду MPLAB IDE. Скачать все ПО можно с официального сайта Microchip отсюда.

Для программирования какого-либо микроконтроллера, предварительно необходимо заглянуть в его даташит и проверить конфигурацию выводов PGC (clock), PGD(data), Vpp(/MCLR) и выводы питания Vss и Vdd. См. схемы ниже.

Скачать прошивку, печатные платы, список деталей вы можете ниже

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнотIC1 IC2A IC3, IC4 T1, T2, T4, T5 Q2, Q3 Q4-Q7 D1 LED1 LED2 LED3 Q1 C1, C4, C6, C7, C9, C10, C12 C2, C3 C5 C8 C11 R1, R4, R8, R30 R2, R6, R7, R13 R3, R27, R29 R5, R9, R11, R34 R10 R12, R21, R22, R23 R14, R16, R18, R33 R15 R17, R25 R19, R24, R26 R28 R31, R32 R36 S1 X1 ICSP
МК PIC 8-бит PIC18F2550 1 28DIP Поиск в Utsource В блокнот
Операционный усилитель LM358N 1 Поиск в Utsource В блокнот
Последовательная память EEPROM AT24CP 2 Поиск в Utsource В блокнот
Биполярный транзистор 2N3904 4 Поиск в Utsource В блокнот
Биполярный транзистор BD140 2 Поиск в Utsource В блокнот
Биполярный транзистор 2N3906 4 Поиск в Utsource В блокнот
Выпрямительный диод 1N4148 1 Поиск в Utsource В блокнот
Светодиод RED 1 RED (красный) Поиск в Utsource В блокнот
Светодиод GREEN 1 GREEN (зеленый) Поиск в Utsource В блокнот
Светодиод YELLOW 1 YELLOW (желтый) Поиск в Utsource В блокнот
Кварцевый резонатор 20 МГц 1 Поиск в Utsource В блокнот
Конденсатор 0.1 мкФ 7 Поиск в Utsource В блокнот
Конденсатор 22 пФ 2 Поиск в Utsource В блокнот
Конденсатор 0.22 мкФ 1 0.47 мкФ Поиск в Utsource В блокнот
Электролитический конденсатор 10 мкФ 1 Поиск в Utsource В блокнот
Электролитический конденсатор 47 мкФ 1 Поиск в Utsource В блокнот
Резистор 33 Ом 4 Поиск в Utsource В блокнот
Резистор 10 Ом 4 Поиск в Utsource В блокнот
Резистор 470 Ом 3 Поиск в Utsource В блокнот
Резистор 4.7 кОм 4 Поиск в Utsource В блокнот
Резистор 8.2 кОм 1 Поиск в Utsource В блокнот
Резистор 100 кОм 4 Поиск в Utsource В блокнот
Резистор 10 кОм 4 Поиск в Utsource В блокнот
Резистор 100 Ом 1 Поиск в Utsource В блокнот
Резистор 1 кОм 2 Поиск в Utsource В блокнот
Резистор 330 Ом 3 Поиск в Utsource В блокнот
Резистор 820 Ом 1 Поиск в Utsource В блокнот
Резистор 2.7 кОм 2 Поиск в Utsource В блокнот
Резистор 240 Ом 1 Поиск в Utsource В блокнот
Катушка индуктивности 680 мкГн 1 Поиск в Utsource В блокнот
Кнопка 1 Поиск в Utsource В блокнот
Разъем RN61729-S 1 USB Поиск в Utsource В блокнот
Разъем 1 Поиск в Utsource В блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Колтыков А.В. Опубликована: 2011 г. 2 Вознаградить Я собрал 0 0

x

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография

Источник: https://cxem.net/mc/mc82.php

Внутрисхемный USB-программатор-отладчик PICkit2

28 ноября 2007

Для начала освоения и практического применения микроконтроллеров разработчику необходим доступный инструментарий. Компания Microchip Technology Inc. выпускает недорогой программатор начального уровня PICkit2, схема и программное обеспечение в исходных кодах которого выложены на сайте www.microchip.com/pickit2. Рассмотрим особенности и возможности этого USB-программатора.

Программатор PICkit2 соединяется с компьютером по широко распространенному интерфейсу USB (программатор построен на базе контроллера PIC18F2550 USB 2.0). Через USB-порт так же осуществляется обновление прошивки программатора, т.е.

при необходимости PICkit2 может обновить свое программное обеспечение без применения дополнительных программаторов. Использование интерфейса USB позволило программатору отказаться от дополнительного источника питания и получать питание непосредственно от USB-порта компьютера.

PICkit2 имеет простую схемотехнику, что позволяет уместить его в небольшом брелке (см. рис. 1).

Рис. 1. Внешний вид программатора PICkit2

Программатор PICkit2 служит для внутрисхемного программирования большинства Flash микроконтроллеров Microchip и с появлением новых микроконтроллеров список поддерживаемых устройств постоянно расширяется. Типовая схема подключения приведена на рис. 2.

Вывод
Назначение
1 Vpp/MCLR -напряжение программирования, сигнал сброса
2 Vdd — напряжение питания для программируемой схемы
3 Vss — «земляной» вывод
4 ICSPDAT/PGD — сигнал данных
5 ICSPCLK/PGC — сигнал тактирования
6 AUX — вспомогательный вывод, как правило не используется

Рис. 2. Типовая схема внутрисхемного программирования

Программатор PICkit2 работает под управлением своей собственной оболочки или под управлением среды разработки MPLAB IDE. При работе программатора под управлением оболочки «PICkit2 Programmer» (рис.

3) PICkit2 позволяет выполнять все стандартные операции: стирать, программировать и проверять память программ и EEPROM, устанавливать защиту кода, редактировать содержимое Flash и EEPROM.

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

Рис. 3. Программа «RICkit2 Programmer»

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

Для устройств с внешним питанием PICkit2 может формировать напряжение питания в диапазоне напряжений от 2,5 до 5 В с шагом 0,1 В. Это полезная особенность, т.к.

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

Внимание! USB-порт компьютера может выдавать ток до 100 мА. Если подключенное к PICkit2 устройство потребляет больший ток, то USB-порт автоматически выключится. Если вам нужно получить ток больше 100 мА, то используйте внешний источник питания.

Как правило, напряжение шины USB составляет 5 В. Однако для некоторых компьютеров и ноутбуков напряжение может отличаться. Для приложений требующих высокую точность, программатор PICkit2 имеет возможность калибровать напряжение, выдаваемое во внешнюю схему.

Для устройств с внешним сбросом оболочка программатора позволяет управлять сигналом сброса микроконтроллера.

В меню «Tools» появилась возможность включить опцию «Use VPP First Program Entry», это может понадобиться для контроллеров, конфигурация которых и настройка портов не позволяет войти в режим программирования (например, для контроллеров PIC12F675 с включенным внутренним сбросом и портами, подключенными к PGD и PGC, настроенными на выход). Попробуйте включить эту опцию, если программатор выдает ошибку проверки конфигурации («Verification of configuration failed»).

Некоторые микроконтроллеры PIC12F и PIC16F имеют внутренний RC-генератор, калибровочная константа для которого определена на заводе-изготовителе и хранится по последнему адресу в памяти программ микроконтроллера.

Как правило, «правильные» программаторы при программировании таких микроконтроллеров сначала считывают калибровочную константу, затем стирают микроконтроллер, а затем программируют его пользовательской программой с запомненной константой.

Если по каким-либо причинам константа утеряна, то PICkit2 (версии ПО 1.хх) поможет восстановить калибровку генератора.

Для этого в микроконтроллер записывается специальная программа, которая генерирует на выводе микроконтроллера меандр, программатор PICkit2 измеряет частоту и рассчитывает калибровочную константу, которая затем может быть записана в микроконтроллер.

Рис. 4. Окно «UART Communication Tool» программы «PICkit 2 Programmer»

Если ваше устройство должно общаться с другими устройствами по UART, то вы можете использовать PICkit2 как средство отладки последовательных протоколов. UART Communication Tool (см. рис. 4) позволяет задавать скорость до 38400 бод, и так же позволяет:

  • Получать отладочную информацию из микроконтроллера;
  • Вести лог данных, получаемых от микроконтроллера, в текстовом файле;
  • Разрабатывать и отлаживать последовательную передачу по интерфейсу UART;
  • Посылать команды микроконтроллеру на этапе отладки.

Для того чтобы использовать UART Communication Tool, нужно соединить выводы микроконтроллера UART и программатора PICkit2 согласно табл. 1. 

Таблица 1. Соединение выводов UART-микроконтроллера и программатора PICkit2  

Выводы программатора PICkit2
Выводы микроконтроллера UART  
(1) VPP
(2) Vdd Напряжение питания
(3) GND GND
(4) PGD TX UART — логический уровень
(5) PGC RX UART — логический уровень
(6) AUX

В версии оболочки 2.40 появилась возможность программирования микросхем последовательной памяти с интерфейсом I2C и SPI (24LCxxх, 25LCхxx и 93LCхxx) и ключей KeeLOQ.

Работа под средой разработки MPLAB IDE.

Обычно разработчики, работающие с PIC-контроллерами, используют в качестве среды разработки MPLAB IDE, так как MPLAB IDE — это мощный бесплатный инструментарий разработки и отладки программ для PIC-микроконтроллеров.

MPLAB IDE включает в себя редактор, программный симулятор, позволяет подключать Си-компиляторы различных производителей, работает совместно с программаторами и эмуляторами Microchip. Среда разработки MPLAB IDE (см. рис.

5) также поддерживает программатор PICkit2 и выполняет те же стандартные функции, что и под оболочкой PICkit2: можно записывать и считывать отдельно память программ и EEPROM, стирать память микроконтроллера и проверять ее на чистоту.

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

Рис. 5. Окно среды разработки MPLAB IDE, использование программатора PICkit 2 в качестве внутрисхемного отладчика

Для внутрисхемной отладки используются те же самые выводы микроконтроллера, что и для программирования, поэтому никаких переделок в схеме не нужно*. Для включения режима отладки нужно в меню Debugger ® Select Tool выбрать PICkit2.

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

Рис. 6. Окно среды разработки MPLAB IDE, отслеживание изменения переменных

Варианты поставок PICkit2

Компания Microchip Technology Inc. поставляет программатор PICkit2 в разных комплектациях (см. табл. 2).

Таблица 2. Комплектация PICkit2

Код заказа
Описание
PG164120 программатор PICkit2
DV164120 программатор PICkit2 + демонстрационная плата с PIC16F690
DV164121 PICkit2 Debug Express (программатор PICkit2 + демонстрационная плата с PIC16F887)

Комплект DV164120, помимо программатора, содержит демонстрационную плату с установленным контроллером PIC16F690 и, за счет совместимости по выводам, позволяет работать с любыми PIC-контроллерами в корпусах DIP-8, DIP-14 и DIP-20 (см. рис. 7).

Рис. 7. Совместимость по выводам контроллеров в 8-, 14- и 20-выводных корпусах

Программатор-отладчик PICkit2 является весьма мощным и универсальным отладочным средством для микроконтроллеров Microchip, но в то же время имеет доступную цену и даже, при желании, может быть легко повторен по документации, предоставляемой Microchip.

Программатор PICkit2 активно поддерживается двумя платформами: оболочкой PICkit2 и средой разработки MPLAB IDE, причем с каждым апгрейдом добавляются все новые и новые функции, а способность программатора обновлять свое ПО дает возможность произвести обновление меньше чем за минуту. Помимо функций программирования микроконтроллеров и микросхем памяти, PICkit2 может использоваться как отладочное средство, а именно — как внутрисхемный отладчик или как отладчик протоколов UART, и, надеемся, в следующих обновлениях Microchip порадует нас новыми функциями!

* —   Для внутрисхемной отладки желательно иметь новую версию PICkit2 с красной кнопкой. Если у вас предыдущая версия PICkit2, то для обновления нужно слегка модифицировать схему, или добавить подтягивающие резисторы к GND на линии PGD и PGC в схеме, так как PICkit2 изначально планировался только как программатор. Инструкцию по обновлению PICkit2 можно скачать с сайта www.gamma.spb.ru. 

Получение технической информации, заказ образцов, поставка —
e-mail: [email protected]

•••

Источник: https://www.compel.ru/lib/54859

Программатор PICkit2 lite (мини версия с печатной платой)

Задачу поставил чрезвычайно простую: повторить с минимумом отверстий, так как свёрла уже надоели ????

Небольшая загвоздка была в том, что нужно было подобрать полупроводники в SMD корпусе, выбор у нас в магазине оказался небольшой, в итоге близкими по параметрам стали: BC847B вместо кт3102, BC856B вместо кт361, 1N4148WS вместо КД522, 10BQ040 вместо 1N5817 и ещё небольшое отклонение от номиналов — это дроссель в 1000 мкГн вместо 680 мкГн (опять же в силу малого ассортимента), гнездо USB-BF заменил на mini USB, конденсатор 100мкф на 47 мкф (ради того, чтобы не торчал), остальные детали согласно номиналам. Перемычку ХТ1 не ставил, так как обновлять ПО не собираюсь.

  • Прошивка
  • При первом включении программатор отказался работать, причина: непромытый флюс под микроконтроллером, вывод: тщательнее промывайте платы перед испытаниями!
  • Размеры платы 55х27,5 (можно ещё немного урезать сбоку ???? )
  • Вид спереди и сзади:
  • Тестировал в WIN7 x64, сразу после подключения система ищет драйвер:

В MPLAB v8.87 программатор определился, но при выборе  pic16f84a выдал сообщение, что данный девайс не поддерживается, на этом я и успокоился и перешёл к PICkit2 v2.61.

В среде PICkit2 v2.61 попробовал прошить pic16f84a, всё успешно.

  1. Также попробовал рассчитать калибровочную константу для PIC12f675, была 3458, новая 345C.
  2. Тестирование напряжения Vpp показало 11,9 В.
  3. Микроконтроллер PIC18F2550 для повторения схемы прошивал EXTRA-PICом, через программу WINPIC800 Печатная плата тут,  а вот прошивка.

Источник: http://cxema.my1.ru

Возможно, вам это будет интересно:

Источник: http://meandr.org/archives/8580

Microchip PicKit2. Клон программатор

   PICkit2 это недорогой Программатор / отладчик для микроконтроллеров Microchip PIC.Фирменная программа от Microchip, которая работает с этим программатором, поддерживает все базовые 8-разрядные, а также 16 и 32 разрядные микроконтроллеры, а также целый рад чипов памяти Serial EEPROM. Программатор поддерживается напрямую мощной средой разработки  MPLAB IDE, что позволяет с его помощью отлаживать большинство проектов, основанных на чипах Microchip PIC. Отладка производится путем задействования точек остановки программы, запуска и остановки однократной операции. При этом можно проверить и изменить содержимое памяти и  регистров микроконтроллера.

   Предлагаемый клон PICkit2 имеет следующие особенности:

-Устройство работает точно также, как и оригинальный  PICkit

2-Совместимость с любыми микроконтроллерами с питанием как от 5 так и от 3.3В.

-Не применяются

MOSFET  

Шесть простых шагов изготовления этого программатора.

Шаг1. Скачиваем прошивку, схему и чертежи печатной платы.

  • Скачиваем прхив по этой ссылке.  
  •     В архиве вы найдёте файлы прошивки для контроллера PIC18F2550, принципиальную схему и печатную плату в формате PDF и PNG.

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

Шаг 2. Печатная плата и пайка компонентов. .

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

   

Вид со стороны компонентов

Перемычки

Нижний слой

После того как плата изготовлены и все детали распаяны на свои места, пришло время для…

ШАГ 4. Подготовка микроконтроллера PIC18F2550 к работе в должности программатора.

Здесь может возникнуть проблема, обусловленная тем, что для того, чтобы запрограммировать микроконтроллер для программатора вам потребуется… программатор.  Возьмите программатор где-то на прокат или попросите человека, у которого он уже есть, прошить микроконтроллер для вас.

Прошивка микроконтроллера находится в ZIP архиве, который вы скачали в шаге 1.  

ШАГ 5

. Установка драйвера и программы — оболочки. Драйвер для нашего новорожденного программатора устанавливается вместе с фирменной утилитой от Microchip. Сперва необходимо скачать и установить программу Microchip PicKit2 V2.61, а после установки подключить наш программатор к USB порту компьютера. Не используйте для подключения программатора USB хаб. Windows установит драйвер для нового устройства.     ШАГ 6. Используем программатор — программирование других микроконтроллеров. . Здесь можно использовать 2 способа. Поскольку программатор PicKit2 поддерживается также системой разработки MPLABIDE, то программирование можно осуществлять непосредственно из ее среды. Другой способ — использование небольшой утилиты-оболочки, которую мы с вами установили в шаге 5. Я долгое время использую второй способ, так как программа MPLABIDE у меня не установлена — я использую компиляторы сторонних производителей.          Подключаем программируемый контроллер. Существует 2 способа программирования контроллеров. Первый способ — прошивка контроллера PIC непосредственно установленного в схеме устройства, которое собрано на этом контроллере. Таком метод называется «внутрисхемным программированием» — ICSP -ICSP —  In-Circuit Serial Programming (внутрисхемное последовательное программирование). На самом деле данный программатор изначально разрабатывался фирмой Microchip именно для такого варианта работы, поскольку он умеет не только программировать контроллеры, но и отлаживать устройства, на этих контроллерах собранные. Но ничто не мешает нам сделать для этого программатора простейший адаптер с ZIF панельной нулевого усилия и прошивать отдельные микроконтроллеры, устанавливая их в эту панельку. Схема такого адаптера с панелькой будет опубликована в отдельной статье на нашем сайте.   

Так или иначе, для подключения программируемого чиппа используются 5 проводов. Это Vdd или питание (+5 или 3.

3 вольта, в зависимости от модели контроллера) , Vss или земля, MCLR — сброс и провод подачи напряжения программирования,ICSP DAT — данные программирования и ICSP CLK — Тактирование программирования.    

    Пример распиновки выводов программирования для микроконтроллеров PIC16F84 и PIC16F628   

Распиновка стандартного разъема ICSP оригинального программатора PicKit2. Во всех разрабатываемых вами устройствах рекомендуется придерживаться этой распиновки. Вывод с номером 6 не используется (зарезервирован).

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

Источник: https://musbench.com/e_digital/pickit2_clone_02.html

PICKIT2 облегченная версия

21 марта 2012.

Широкому распространению микроконтроллеров фирмы Microchip способствует свободное распространение документации не только на сами микросхемы, но и на отладочные средства для них.

Например, в руководстве пользователя программатора-отладчика PICkit 2 дается полная принципиальная схема этого программатора с интерфейсом USB. Такой программатор, однако, слишком сложен для повторения «один к одному». Автор разработал его упрощенную версию.

От оригинального PICkit 2 он унаследовал следующие функции: программирование микроконтроллеров с напряжением питания 5 В, преобразователь интерфейса USB-UART, часть функций логического анализатора, автоматическое восстановление калибровочной константы встроенного RC-генератора микроконтроллеров, где такая константа используется, обновление операционной системы программатора с помощью стартового загрузчика. После несложной доработки появляется возможность программировать микроконтроллеры и с напряжением питания менее 5 В.

Схема программатора показана на рис. 1.

Установленный в нем микроконтроллер PIC18F2550 (DD1) имеет встроенный контроллер USB, информационные линии которого D- и D подключены к соответствующим контактам розетки XS1, предназначенной для соединения программатора с компьютером. Согласно спецификации USB, разъем ведомого устройства (программатора) типа В, а ведущего (компьютера) типа А. Это гарантирует их правильное соединение стандартным USB-кабелем.

Рисунок 1

Светодиод HL1 включен, когда на программатор с шины USB поступает напряжение питания 5 В. Светодиод HL2 сигнализирует, что между программатором и компьютером идет обмен информацией. Тактовая частота микроконтроллера (20 МГц) задана кварцевым резонатором ZQ1.

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

Напряжение программирования Vпр, которое может лежать в интервале 8,5 ..14 В, формирует импульсный преобразователь напряжения, основные элементы которого — транзистор VT1, накопительный дроссель L1, диод VD1 и сглаживающий конденсатор С4.

Открывающие транзистор импульсы поступают с вывода 12 микроконтроллера. Стабилизация напряжения осуществляется за счет программного изменения микроконтроллером коэффициента заполнения этих импульсов.

Напряжение обратной связи стабилизатора поступает с резистивного делителя R7R9 на вывод 2 микроконтроллера — один из входов встроенного в него АЦП.

Транзисторы VT2—VT4 по командам микроконтроллера DD1 коммутируют цепи Vрр и Vcc, по которым на программируемый микроконтроллер в нужном порядке поступают напряжения соответственно 12 В и 5 В Информацию о том, что питание на программируемый микроконтроллер подано, микроконтроллер DD1 получает через резистор R12.

Диод Шотки VD2 предотвращает попадание в программатор напряжения с выводов питания программируемого микроконтроллера, если для него предусмотрен собственный источник питания.

Падение напряжения на этом диоде не должно превышать 0,45 В.

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

Для программируемых микроконтроллеров в корпусах DIP предусмотрена панель XS2 — это так называемая ZIF-панель, в которую можно свободно вставлять (ZIF расшифровывается как Zero Insertion Force — нулевое усилие вставления) микросхемы с числом выводов до 40 и с разным расстоянием между их рядами.

Для правильного программирования микроконтроллеры в корпусах с разным числом выводов и перепрограммируемые микросхемы памяти (EEPROM) вставлять в панель так, как показано на рис. 1.

Рекомендуется также убедиться по представляемым изготовителем микросхемы справочным данным (Datasheet, Programming specification), что при установке ее в панель XS2 сигналы программирования и питание будут поданы правильно.

Чтобы запрограммировать микроконтроллер, который по какой-либо причине установить в панель XS2 невозможно, придется изготовить для него отдельный адаптер, подключив его к разъему ХР1.

Этот же разъем можно использовать и для внутрисхемного программирования. На рис. 2 показано, как подключить микроконтроллер PIC24FJ16GA002 с номинальным напряжением питания 3,3 В.

Цепь Vcc программатора в этом случае не используется.

Рисунок 2

На рис. 3 изображена односторонняя печатная плата программатора. Она выполнена таким образом, что может быть легко разрезана на две (собственно программатор и адаптер с панелью XS2), соединяемые лишь пятью перемычками. Для предварительно запрограммированного с помощью другого программатора (например, Extra-PIC) микроконтроллера DD1 на плате предусмотрена панель.

Рисунок 3

Дроссель L1 — ЕС24-681К, CECL-681K или CW68-681K. Его можно изготовить самостоятельно, намотав 250—300 витков провода ПЭЛ диаметром 0,1 мм на стержневой или гантелеобразный ферритовый магнитопровод. Поскольку преобразователь напряжения охвачен обратной связью, особенно точно подбирать индуктивность дросселя не требуется.

Транзисторы КТ3102А и КТ361Б можно заменять другими маломощными кремниевыми соответствующей структуры, а диод КД522Б — импортным аналогом 1N4148.

Рассматриваемый программатор, как и оригинальный PICkit 2, работает под управлением оболочки «PICkit 2 Programmer» или в среде разработки программ MPLAB IDE.

Оба приложения бесплатно распространяются фирмой Microchip и периодически обновляются. Для работы «PICkit 2 Programmer» требуется пакет «Net Framework», который интегрирован в дистрибутив PICkit 2 V2.

61 Install with .NET Framework (30.3 Мб).

Программа для микроконтроллера DD1 имеется в обоих указанных выше дистрибутивах. После их установки на компьютере путь к НЕХ-файлу для загрузки в этот микроконтроллер ..PICkit 2 v2PK2V023200.hex или ..MPLAB IDEPICkit 2PK2V023200.hex. Поскольку программа постоянно совершенствуется, ее версия (число после буквы V в имени файла) может быть и другой.

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

При первом подключении программатора с правильно запрограммированным микроконтроллером DD1 к компьютеру в списке диспетчера устройств появится новое USB HID-совместимое устройство. Для таких устройств в операционных системах семейства Windows имеются встроенные драйверы. Они будут установлены автоматически, что, несомненно, удобно.

Оболочка «PICkit 2 Programmer» и среда MPLAB IDE позволяют программировать практически все микроконтроллеры семейства РIC. Их перечень постоянно пополняется.

Для начала работы с «PICkit 2 Programmer» следует запустить ее и установив программируемый микроконтроллер в панель XS2, нажать на экранную кнопку Read.

В окне программы должен отобразиться тип подключенного микроконтроллера. Одновременно будет прочитано содержимое его памяти, которое можно увидеть в окнах Program Memory и EEPROM Data.

С помощью пункта меню File Export Hex предоставляется возможность записать прочитанную информацию в НЕХ-файл.

Чтобы загрузить в микроконтроллер коды из НЕХ-файла, нужно, прежде всего, выбрать нужный файл, открыв пункт меню File Import Hex. Окно Program Memory (или EEPROM Data) будет заполнено его содержимым. Нажатием на экранную кнопку Write запускают процесс программирования.

Просмотр и изменение слова конфигурации микроконтроллера начинают со щелчка мышью по надписи «Configuration:» в верхней части главного окна программы, открывающего окно Configuration Word Editor. Внесенные в разряды слова изменения отображаются красным цветом. Чтобы записать их в микроконтроллер, необходимо нажать на экранную кнопку Save.

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

В оболочке «PICkit 2 Programmer» предусмотрена процедура ее восстановления. Ее запускают, выбирая пункт меню Tools OSCCAL Auto Regenerate. Программа предупреждает, что все содержимое памяти будет стерто. Чтобы начать выполнение процедуры, с этим следует согласиться, нажав на экранную кнопку ОК.

Далее в микроконтроллер, установленный в панель XS2. будет загружена и запущена специальная программа, генерирующая импульсы на одном из его выводов. Микроконтроллер DD1 измерит их частоту, вычислит значение калибровочной константы и запишет ее в нужную ячейку памяти калибруемого микроконтроллера.

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

Однако в дальнейшем, с появлением новых версий этой программы, ее можно обновлять в уже действующем программаторе, подключенном к компьютеру по интерфейсу USB Для этого необходимо, не включая программатор, установить в нем перемычку S1 и лишь затем соединить его с компьютером и запустить программу «PICkit 2 Programmer» Через меню Tools Download PICkit 2 Operating System открыть НЕХ-файл с новой версией программы, после чего произойдет ее загрузка в микроконтроллер.

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

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

Для этого необходимо соединить контакт 3 (Clock) разъема ХР1 с входом RX UART а контакт 4 (Data) — с выходом ТХ Соединяют также контакт 5 (GND) с общим проводом отлаживаемого устройства, а на контакт 2 (Vcc) подают от него напряжение 2,5…5 В.

Выбрав в программе «PICkit 2 Programmer» пункт меню Tools→UART Tool, откройте интерфейсное окно обмена, установите необходимую скорость обмена и нажмите на экранную кнопку Connect.

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

Программатор может работать и в режиме логического анализатора, для чего достаточно выбрать пункт меню Tools→Logic Tool и задать в открывшемся окне режимы работы Logic I/O и Analyzer.

Следует учитывать, что в этом окне показана нумерация контактов разъема фирменного программатора PICkit 2, которая не совпадает с нумерацией контактов разъема ХР1 на рис. 1.

Pin 5 соответствует контакту 3 этого разъема (линия Clock), a Pin 4 — его контакту 4 (линия Data) Эти контакты могут служить входами (компьютер регистрирует логические уровни поданных на них сигналов) или выходами (компьютер устанавливает на них заданные логические уровни).

Программатор может работать и под управлением среды разработки MPLAB IDE. Его подключение к компьютеру не отличается от описанного выше.

В MPLAB IDE необходимо задать тип микроконтроллера (Configure→Select Device) и программатор PICkit 2 (Programmer Select Programmer).

После этого автоматически происходит проверка связи с программатором и соответствие типа установленного в панель XS2 микроконтроллера заданному.

НЕХ-файл для программирования загружают в буферную память среды разработки, открыв пункт меню File→Import, и переписывают из буфера в программную память микроконтроллера командой Programmer→Program.

Для чтения содержимого памяти микроконтроллера в буфер выполняют команду Programmer→Read. Чтобы записать прочитанное в НЕХ-файл, нужно выбрать пункт меню File→Export.

На закладке Memory Areas открывшегося окна следует указать области памяти микроконтроллера, содержимое которых должно быть записано в файл, а на закладке File Format — формат создаваемого НЕХ-файла (обычно выбирают INHX32).

Собственно операцию записи выполняют нажатием на экранную кнопку ОК.

Содержимое буфера памяти программ, прочитанное из НЕХ-файла или из микроконтроллера, можно просмотреть, выбрав пункт меню View→Program Memory, причем как в виде шестнадцатеричных машинных кодов, так и в дизассемблированном виде.

В MPLAB IDE для программатора PICkit 2 имеется дополнительная панель с «быстрыми» кнопками, дублирующими нужные для работы с ним пункты меню. При наведении курсора на эти кнопки появляются подсказки, поясняющие выполняемые функции.

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

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

Еще одно преимущество — более удобное, чем при работе с оболочкой «PICkit 2 Programmer» — представление разрядов слова конфигурации в соответствующем окне.

Автор Т. НОСОВ

Источник: https://radioparty.ru/prog-pic/368-pickit-lite

Самодельный программатор для PIC-контроллеров. Самодельный программатор для PIC-контроллеров Программатор для pic12f629 от usb своими руками

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

Начинать свою работу я советовал бы сначала с общих сведений о микроконтроллерах.

Программатор ExtraCheap

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

Но нужный программатор многим запросам был найден.

Для передачи данных используется COM порт. Схема питается от 5 вольт которые можно взять от портов USB или PS/2.

Еще одна фотография этого устройства:

Для работы с программатором рекомендуется использовать программу IC-Prog

Настройка IC-Prog

Качаем с офф сайта последнюю версию программы IC-Prog Software, NT/2000 driver, Helpfile in Russian language и распаковываем их в одну и туже директорию.

Теперь необходимо установить драйвер программатора, для чего запускаем icprog.exe (если появятся сообщения об ошибках, то просто игнорируем их) и выбираем пункт «Options» в меню «Settings». Открываем вкладку «Programming» и устанавливаем галочку напротив пункта «Verify during programming». Далее в разделе «Misc» нужно активировать опцию «Enable NT/2000/XP Driver», сохранить настройки нажав на кнопку «ОК» и перезапустить программу.

Сменить язык интерфейса можно в разделе «Language». Для того, чтобы указать программе тип нашего программатора, нажимаем F3, в открывшемся окне выбираем «JDM Programmer» и указываем COM порт, к которому подключено устройство.

На этом предварительную настройку программы можно считать законченной.

Прошивка МК

IC-Prog позволяет работать с большим количеством МК, но нам нужен только PIC12F629 — выбираем его в выпадающем списке, расположенным в правом верхнем углу программы.
Для чтения прошивки из МК выполняем команду «Читать микросхему» (значок с зеленой стрелочкой или F8).

По окончанию процесса чтения, в окне программного кода отобразится прошивка МК в шестнадцатеричном виде. Следует обратить внимание на последнюю ячейку памяти по адресу 03F8 — там хранится значение константы OSCCAL , которое устанавливает производитель при калибровке чипа. У каждого МК оно свое, так что неплохо было бы его куда нибудь переписать (я, к примеру, царапаю его иголкой на обратной стороне PIC»а) для облегчения процесса восстановления (хотя это не обязательно), если во время прошивки эта константа была случайно перезаписана.


Для того, чтобы «залить» прошивку из *.hex файла в МК, ее необходимо открыть в программе («Файл»->«Открыть Файл…» или Ctrl+O) и выполнить команду «Программировать микросхему» (значок с желтой молнией или F5). Отвечаем «Yes» на первый вопрос.


А вот на следующий вопрос необходимо ответить «Нет», иначе перезапишется константа OSCCAL, о которой говорилось ранее.


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

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

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

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


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

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

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

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


Рисунок №2 — варианты корпусов PIC-контроллеров с необходимыми выводами

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

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


Фото №3 — печатная плата программатора

Скачать исходник печатной платы для программы SprintLayout можно по этой ссылке:
(скачиваний: 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-файла ).

Когда я начал заниматься PIC-контроллерами, то, естественно, первым делом встал вопрос о выборе программатора. Поскольку фирменные программаторы дело не дешевое, да и вообще покупать программатор мне показалось не спортивным, было принято решение собрать его самостоятельно. Облазив просторы Интернета я скачал схему и собрал JDM-программатор. Он работал очень плохо: то заливал какую-то фигню, то не заливал первые несколько байт, то вообще ничего не заливал.

Существенным недостатком JDM-программатора является то, что он не может контролировать линию Vdd и, как следствие, — не может реализовать правильный алгоритм подачи напряжений при программировании. Если контроллер сконфигурирован таким образом: «Internal Oscillator», «MCLR Off», то при неправильной последовательности подачи напряжений он сначала запускается и начинает выполнять ранее зашитую в нем программу, а потом переходит в режим программирования (при этом указатель может указывать куда угодно, а не на начало памяти программ). В связи с этим: то, куда будет залита ваша программа, да и будет ли залита вообще — большой вопрос!

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

На диодах D1…D4 и стабилитроне D6 выполнен простейший преобразователь уровней RS232->TTL. Когда на линиях DATA, CLOCK напряжение меньше 0В, то они через диоды D1, D2 подтягиваются к земле, а когда напряжение на этих линиях больше 5В, то они через диоды D3, D4 подтягиваются к питанию +5В, которое задается стабилитроном D6.

Питается этот девайс прямо от COM-порта. Стабилитроны и диоды в этой схеме вполне можно заменить отечественными: Д814Д, КС147А и т.д.

Каким образом реализуется правильный алгоритм подачи напряжений и откуда вообще берутся 13 Вольт напряжения программирования? Всё как всегда очень просто.

При инициализации порта на выходе TxD висит -10В. При этом конденсатор С1 заряжается через стабилитрон D7 (который в данном случае оказывается включён в прямом
направлении и работает в качестве диода). Т.е. напряжение на плюсовой ноге С1 относительно GND равно нулю, но относительно TxD=+10В (или сколько там у вас напряжение на выходе COM-порта).

Теперь представим, что происходит при изменении напряжения на выходе TxD с -10В до +10В. Одновременно с ростом напряжения на выводе TxD, начнёт расти и напряжение на плюсовой ноге конденсатора С1. Заряд не может слиться на землю через D7, т.к. теперь D7 включен обратно, единственный путь — утечка через PIC, но ток там мизерный. Итак, напряжение на плюсовой ноге С1 (а, следовательно и на выводе MCLR) начинает расти. В момент, когда на TxD ноль относительно земли, на конденсаторе С1 (на его плюсовой ноге, а следовательно и на MCLR) относительно земли как раз +10В. Когда на TxD +3В, — на С1 уже 3+10=13В. Вот и всё, напряжение Vpp уже подано, а на линии VDD ещё только +3В.

При дальнейшем росте напряжения на TxD, — напряжение на С1 не растёт, так как начинает работать стабилитрон D7. При росте напряжения на TxD выше +5В начинает работать стабилитрон D6.

Чтобы ограничить ток разряда конденсатора C1 через стабилитрон D7, в схему включен резистор R6, соответственно, напряжение на C1 не точно равно напряжению стабилизации, а несколько выше: U C1 =Uст+I РАЗР *R6. Для подстройки напряжения программирования служит сопротивление R3. Можно поставить переменное 10КОм или подобрать постоянное, так, чтобы напряжение программирования было примерно 13 В (в устройстве, представленном на рисунке ниже, R3=1,2 кОм).

Я успешно программирую этим программатором контроллеры PIC12F629 и PIC16F628A , однако автор утверждал, что этим программатором (в представленном мной варианте) можно программировать PIC12F508 , PIC12F509 , PIC12F629 , PIC12F635 , PIC12F675 , PIC12F683 , PIC16F627A , PIC16F628A , PIC16F648A . Кроме этих, на сайте автора feng3.cool.ne.jp есть модификации программатора для других PIC-контроллеров.

Готовые девайсы :

Вариант программатора от Mixer .

Программатор pic-контроллеров Extra-pic своими руками

Довольно большую популярность в интернете набирают схемы с использованием микроконтроллеров. Микроконтроллер – это такая специальная микросхема, которая, по сути своей, является маленьким компьютером, со своими портами ввода-вывода, памятью. Благодаря микроконтроллером можно создавать весьма функциональные схемы с минимумом пассивных компонентов, например, электронные часы, плееры, различные светодиодные эффекты, устройства автоматизации.

Для того, чтобы микросхема начала исполнять какие-либо функции, нужно её прошить, т.е. загрузить в её память код прошивки. Сделать это можно с помощью специального устройства, называемого программатором. Программатор связывает компьютер, на котором находится файл прошивки с прошиваемым микроконтроллером. Стоит упомянуть, что существуют микроконтроллеры семейства AVR, например такие, как Atmega8, Attiny13, и серии pic, например PIC12F675, PIC16F676. Pic-серия принадлежит компании Microchip, а AVR компании Atmel, поэтому способы прошивки pic и AVR отличаются. В этой статье рассмотрим процесс создания программатора Extra-pic, с помощью которого можно прошить микроконтроллер серии pic.
К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.

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



Она содержит в себе две микросхемы, импортную MAX232 и отечественную КР1533ЛА3, которую можно заменить на КР155ЛА3. Два транзистора, КТ502, который можно заменить на КТ345, КТ3107 или любой другой маломощный PNP транзистор. КТ3102 также можно менять, например, на BC457, КТ315. Зелёный светодиод служит индикатором наличия питания, красный загорается во время процесса прошивки микроконтроллера. Диод 1N4007 служит для защиты схемы от подачи напряжения неправильной полярности.

Материалы



Список необходимых для сборки программатора деталей:
  • Стабилизатор 78L05 – 2 шт.
  • Стабилизатор 78L12 – 1 шт.
  • Светодиод на 3 в. зелёный – 1 шт.
  • Светодиод на 3 в. красный – 1 шт.
  • Диод 1N4007 – 1 шт.
  • Диод 1N4148 – 2 шт.
  • Резистор 0,125 Вт 4,7 кОм – 2 шт.
  • Резистор 0,125 Вт 1 кОм – 6 шт.
  • Конденсатор 10 мкФ 16В – 4 шт.
  • Конденсатор 220 мкФ 25В – 1 шт.
  • Конденсатор 100 нФ – 3 шт.
  • Транзистор КТ3102 – 1 шт.
  • Транзистор КТ502 – 1 шт.
  • Микросхема MAX232 – 1 шт.
  • Микросхема КР1533ЛА3 – 1 шт.
  • Разъём питания – 1 шт
  • Разъём COM порта «мама» — 1 шт.
  • Панелька DIP40 – 1 шт.
  • Панелька DIP8 – 2 шт.
  • Панелька DIP14 – 1 шт.
  • Панелька DIP16 – 1 шт.
  • Панелька DIP18 – 1 шт.
  • Панелька DIP28 – 1 шт.

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

Изготовление печатной платы


Программатор собирается на печатной плате размерами 100х70 мм. Печатная плата выполняется методом ЛУТ, файл к статье прилагается. Отзеркаливать изображение перед печатью не нужно.

Скачать плату:

Сборка программатора


Первым делом на печатную плату впаиваются перемычки, затем резисторы, диоды. В последнюю очередь нужно впаять панельки и разъёмы питания и СОМ порта.


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

Разъём СОМ порта (он называется DB-9) имеет два штырька, которые должны «втыкаться» в плату. Чтобы не сверлить под них лишние отверстия на плате, можно открутить два винтика под бокам разъёма, при этом штырьки отпадут, как и металлическая окантовка разъёма.

После впайки всех деталей плату нужно отмыть от флюса, прозвонить соседние контакты, нет ли замыканий. Убедиться в том, что в панельках нет микросхем (вынуть нужно в том числе и МАХ232, и КР1533ЛА3), подключить питание. Проверить, присутствует ли напряжение 5 вольт на выходах стабилизаторов. Если всё хорошо, можно устанавливать микросхемы МАХ232 и КР1533ЛА3, программатор готов к работе. Напряжение питания схемы 15-24 вольта.


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

Программатор пик контроллеров своими руками. Как программировать PIC микроконтроллеры или Простой JDM программатор. Обновление «прошивки» программатора

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

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

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

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

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

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

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

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

Довольно большую популярность в интернете набирают схемы с использованием микроконтроллеров. Микроконтроллер – это такая специальная микросхема, которая, по сути своей, является маленьким компьютером, со своими портами ввода-вывода, памятью. Благодаря микроконтроллером можно создавать весьма функциональные схемы с минимумом пассивных компонентов, например, электронные часы, плееры, различные светодиодные эффекты, устройства автоматизации.

Для того, чтобы микросхема начала исполнять какие-либо функции, нужно её прошить, т.е. загрузить в её память код прошивки. Сделать это можно с помощью специального устройства, называемого программатором. Программатор связывает компьютер, на котором находится файл прошивки с прошиваемым микроконтроллером. Стоит упомянуть, что существуют микроконтроллеры семейства AVR, например такие, как Atmega8, Attiny13, и серии pic, например PIC12F675, PIC16F676. Pic-серия принадлежит компании Microchip, а AVR компании Atmel, поэтому способы прошивки pic и AVR отличаются. В этой статье рассмотрим процесс создания программатора Extra-pic, с помощью которого можно прошить микроконтроллер серии pic.
К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.

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


Она содержит в себе две микросхемы, импортную MAX232 и отечественную КР1533ЛА3, которую можно заменить на КР155ЛА3. Два транзистора, КТ502, который можно заменить на КТ345, КТ3107 или любой другой маломощный PNP транзистор. КТ3102 также можно менять, например, на BC457, КТ315. Зелёный светодиод служит индикатором наличия питания, красный загорается во время процесса прошивки микроконтроллера. Диод 1N4007 служит для защиты схемы от подачи напряжения неправильной полярности.

Материалы


Список необходимых для сборки программатора деталей:
  • Стабилизатор 78L05 – 2 шт.
  • Стабилизатор 78L12 – 1 шт.
  • Светодиод на 3 в. зелёный – 1 шт.
  • Светодиод на 3 в. красный – 1 шт.
  • Диод 1N4007 – 1 шт.
  • Диод 1N4148 – 2 шт.
  • Резистор 0,125 Вт 4,7 кОм – 2 шт.
  • Резистор 0,125 Вт 1 кОм – 6 шт.
  • Конденсатор 10 мкФ 16В – 4 шт.
  • Конденсатор 220 мкФ 25В – 1 шт.
  • Конденсатор 100 нФ – 3 шт.
  • Транзистор КТ3102 – 1 шт.
  • Транзистор КТ502 – 1 шт.
  • Микросхема MAX232 – 1 шт.
  • Микросхема КР1533ЛА3 – 1 шт.
  • Разъём питания – 1 шт
  • Разъём COM порта «мама» — 1 шт.
  • Панелька DIP40 – 1 шт.
  • Панелька DIP8 – 2 шт.
  • Панелька DIP14 – 1 шт.
  • Панелька DIP16 – 1 шт.
  • Панелька DIP18 – 1 шт.
  • Панелька DIP28 – 1 шт.
Кроме того, необходим паяльник и умение им пользоваться.

Изготовление печатной платы

Программатор собирается на печатной плате размерами 100х70 мм. Печатная плата выполняется методом ЛУТ, файл к статье прилагается. Отзеркаливать изображение перед печатью не нужно.


Скачать плату:

(cкачиваний: 639)

Сборка программатора

Первым делом на печатную плату впаиваются перемычки, затем резисторы, диоды. В последнюю очередь нужно впаять панельки и разъёмы питания и СОМ порта.


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


Разъём СОМ порта (он называется DB-9) имеет два штырька, которые должны «втыкаться» в плату. Чтобы не сверлить под них лишние отверстия на плате, можно открутить два винтика под бокам разъёма, при этом штырьки отпадут, как и металлическая окантовка разъёма.


После впайки всех деталей плату нужно отмыть от флюса, прозвонить соседние контакты, нет ли замыканий. Убедиться в том, что в панельках нет микросхем (вынуть нужно в том числе и МАХ232, и КР1533ЛА3), подключить питание. Проверить, присутствует ли напряжение 5 вольт на выходах стабилизаторов. Если всё хорошо, можно устанавливать микросхемы МАХ232 и КР1533ЛА3, программатор готов к работе. Напряжение питания схемы 15-24 вольта.

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

Итак, пришло время изучать микроконтроллеры, а потом и их программировать, а так же хотелось собирать устройства на них, схем которых сейчас в интернете ну просто море. Ну нашли схему, купили контроллер, скачали прошивку….а прошивать то чем??? И тут перед радиолюбителем, начинающим осваивать микроконтроллеры, встает вопрос – выбор программатора! Хотелось бы найти оптимальный вариант, по показателю универсальность — простота схемы — надёжность. «Фирменные» программаторы и их аналоги были сразу исключены в связи с довольно сложной схемой, включающей в себя те же микроконтроллеры, которые необходимо программировать. То есть получается «замкнутый круг»: что бы изготовить программатор, необходим программатор. Вот и начались поиски и эксперименты! В начале выбор пал на PIC JDM. Работает данный программатор от com порта и питается от туда же. Был опробован данный вариант, уверенно запрограммировал 4 из 10 контроллеров, при питании отдельном ситуация улучшилась, но не на много, на некоторых компьютерах он вообще отказался что либо делать да и защиты от «дурака» в нем не предусмотрено. Далее был изучен программатор Pony-Prog. В принципе, почти тоже самое что и JDM.Программатор «Pony-prog», представляет очень простую схему, с питанием от ком-порта компьютера, в связи с чем, на форумах, в Интернете, очень часто появляются вопросы по сбоям при программировании того, или иного микроконтроллера. В результате, выбор был остановлен на модели «Extra-PIC». Посмотрел схему – очень просто, грамотно! На входе стоит MAX 232 преобразующая сигналы последовательного порта RS-232 в сигналы, пригодные для использования в цифровых схемах с уровнями ТТЛ или КМОП, не перегружает по току COM-порт компьютера, так как использует стандарт эксплуатации RS232, не представляет опасности для COM-порта.Вот первый плюс!
Работоспособен с любыми COM-портами, как стандартными (±12v; ±10v) так и с нестандартными COM-портами некоторых моделей современных ноутбуков, имеющих пониженные напряжения сигнальных линий, вплоть до ±5v – еще плюс! Поддерживается распространёнными программами IC-PROG, PonyProg, WinPic 800 (WinPic800) и другими – третий плюс!
И питается это все от своего собственного источника питания!
Было решено – надо собирать! Так в журнале Радио 2007 №8 был найден доработанный вариант этого программатора. Он позволял программировать микроконтроллеры в двух режимах.
Известны два способа перевода микроконтроллеров PICmicro в режим программирования:
1.При включённом напряжении питания Vcc поднять напряжение Vpp (на выводе -MCLR) от нуля до 12В
2.При выключенном напряжении Vcc поднять напряжение Vpp от нуля до 12В, затем включить напряжение Vcc
Первый режим — в основном для приборов ранних разработок, он накладывает ограничения на конфигурацию вывода -MCLR, который в этом случае может служить только входом сигнала начальной установки, а во многих микроконтроллерах предусмотрена возможность превратить этот вывод в обычную линию одного из портов. Это еще один плюс данного программатора. Схема его приведена ниже:

Крупнее
Все было собрано на макетке и опробовано. Все прекрасно и устойчиво работает, глюков замечено небыло!
Была отрисована печатка для этого программатора.
depositfiles.com/files/mk49uejin
все было собрано в открытый корпус, фото которого ниже.


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


Итак, программатор собран, кабель тоже, наступил черед проверки всего этого хозяйства на предмет работоспособности, поиск глюков и ошибок.
Сперва наперво устанавливаем программу IC-prog, которую можно скачать на сайте разработчика www.ic-prog.com, Распакуйте программу в отдельный каталог. В образовавшемся каталое должны находиться три файла:
icprog.exe — файл оболочки программатора.
icprog.sys — драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы.
icprog.chm — файл помощи (Help file).
Установили, теперь надо бы ее настроить.
Для этого:
1.(Только для Windows XP): Правой кнопкой щёлкните на файле icprog.exe. «Свойства» >> вкладка «Совместимость» >> Установите «галочку» на «Запустить программу в режиме совместимости с:» >>выберите «Windows 2000».
2.Запустите файл icprog.exe. Выберите «Settings» >> «Options» >> вкладку «Language» >> установите язык «Russian» и нажмите «Ok».
Согласитесь с утверждением «You need to restart IC-Prog now» (нажмите «Ok»). Оболочка программатора перезапустится.
Настройки» >> «Программатор

1.Проверьте установки, выберите используемый вами COM-порт, нажмите „Ok“.
2.Далее, „Настройки“ >> „Опции“ >> выберите вкладку „Общие“ >> установите „галочку“ на пункте „Вкл. NT/2000/XP драйвер“ >> Нажмите „Ok“ >> если драйвер до этого не был устновлен на вашей системе, в появившемся окне „Confirm“ нажмите „Ok“. Драйвер установится, и оболочка программатора перезапустится.
Примечание:
Для очень „быстрых“ компьютеров возможно потребуется увеличить параметр „Задержка Ввода/Вывода“. Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.
3.»Настройки» >> «Опции» >> выберите вкладку «I2C» >> установите «галочки» на пунктах: «Включить MCLR как VCC» и «Включить запись блоками». Нажмите «Ok».
4.«Настройки» >> «Опции» >> выберите вкладку «Программирование» >> снимите «галочку» с пункта: «Проверка после программирования» и установите «галочку» на пункте «Проверка при программировании». Нажмите «Ok».
Вот и настроили!
Теперь бы нам протестировать программатор в месте с IC-prog. И тут все просто:
Далее, в программе IC-PROG, в меню, запустите: Настройки >> Тест Программатора

Перед выполнением каждого пункта методики тестирвания, не забывайте устанавливать все «поля» в исходное положение (все «галочки» сняты), как показано на рисунке выше.
1.Установите «галочку» в поле «Вкл. Выход Данных», при этом, в поле «Вход Данных» должна появляться «галочка», а на контакте (DATA) разъёма X2, должен установиться уровень лог. «1» (не менее +3,0 вольт). Теперь, замкните между собой контакт (DATA) и контакт (GND) разъёма X2, при этом, отметка в поле «Вход Данных» должна пропадать, пока контакты замкнуты.
2.При установке «галочки» в поле «Вкл. Тактирования», на контакте (CLOCK) разъёма X2, должен устанавливаться уровень лог. «1». (не менее +3,0 вольт).
3.При установке «галочки» в поле «Вкл. Сброс (MCLR)», на контакте (VPP) разъёма X3, должен устанавливаться уровень +13,0… +14,0 вольт, и светиться светодиод D4 (обычно красного цвета).Если переключатель режимов поставить в положение 1 то будет светится светодиод HL3
Если при тестировании, какой-либо сигнал не проходит, следует тщательно проверить весь путь прохождения этого сигнала, включая кабель соединения с COM-портом компьютера.
Тестирование канала данных программатора EXTRAPIC:
1. 13 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.
2. 12 вывод микросхемы Da1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
3. 6 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
3. 1 и 2 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
4. 3 вывод микросхемы DD1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
5. 14 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.
Если все тестирование прошло успешно, то программатор готов к эксплуатации.
Для подключения микроконтроллера к программатору можно использовать подходящие панельки или же сделать адаптер на основе ZIF панельки (с нулевым усилием прижатия), например как здесь radiokot.ru/circuit/digital/pcmod/18/.
Теперь несколько слов про ICSP — Внутрисхемное программирование
PIC-контроллеров.
При использовании ICSP на плате устройства следует предусмотреть возможность подключения программатора. При программировании с использованием ICSP к программатору должны быть подключены 5 сигнальных линий:
1. GND (VSS) — общий провод.
2. VDD (VCC) — плюс напряжение питания
3. MCLR» (VPP)- вход сброса микроконтроллера / вход напряжения программирования
4. RB7 (DATA) — двунаправленная шина данных в режиме программирования
5. RB6 (CLOCK) Вход синхронизации в режиме программирования
Остальные выводы микроконтроллера не используются в режиме внутрисхемного программирования.
Вариант подключения ICSP к микроконтроллеру PIC16F84 в корпусе DIP18:

1.Линия MCLR» развязывается от схемы устройства перемычкой J2, которая в режиме внутрисхемного программирования (ICSP) размыкается, передавая вывод MCLR в монопольное управление программатору.
2.Линия VDD в режиме программирования ICSP отключается от схемы устройства перемычкой J1. Это необходимо для исключения потребления тока от линии VDD схемой устройства.
3.Линия RB7 (двунаправленная шина данных в режиме программирования) изолируется по току от схемы устройства резистором R1 номиналом не менее 1 кОм. В связи с этим максимальный втекающий/стекающий ток, обеспечиваемый этой линией будет ограничен резистором R1. При необходимости обеспечить максимальный ток, резистор R1 необходимо заменить (как в случае c VDD) перемычкой.
4.Линия RB6 (Вход синхронизации PIC в режиме программирования) так же как и RB7 изолируется по току от схемы устройства резистором R2, номиналом не менее 1 кОм. В связи с этим максимальный втекающий/стекающий ток, обеспечиваемый этой линией будет ограничен резистором R2. При необходимости обеспечить максимальный ток, резистор R2 необходимо заменить (как в случае с VDD) перемычкой.
Расположение выводов ICSP у PIC-контроллеров:


Эта схема только для справки, выводы программирования лучше уточнить из даташита на микроконтроллер.
Теперь рассмотрим прошивку микроконтроллера в программе IC-prog. Будем рассматривать на примере конструкции вот от сюда rgb73.mylivepage.ru/wiki/1952/579
Вот схема устройства


вот прошивка
Прошиваем контроллер PIC12F629. Данный микроконтроллер для своей работы использует константу osccal — представляет собой 16-ти ричное значение калибровки внутреннего генератора МК, с помощью которого МК отчитывает время при выполнении своих программ, которая записана в последней ячейке данных пика. Подключаем данный микроконтроллер к программатору.
Ниже на сриншоте красными цифрами показана последовательность действий в программе IC-prog.


1. Выбрать тип микроконтроллера
2. Нажать кнопку «Читать микросхему»
В окне «Программный код» в самой последней ячейке будет наша константа для данного контроллера. Для каждого контроллера константа своя! Не сотрите ее, запишите на бумажку и наклейте ее на микросхему!
Идем далее


3. Нажимаем кнопку «Открыть файл…», выбираем нашу прошивку. В окне программного кода появится код прошивки.
4. Спускаемся к концу кода, на последней ячейке жмем правой клавишей мыши и выбираем в меню «править область», в поле «Шестнадцатеричные» вводим значение константы, которую записали, нажимаем «ОК».
5. Нажимаем «программировать микросхему».
Пойдет процесс программирования, если все прошло успешно, то программа выведет соответствующее уведомление.
Вытаскиваем микросхему из программатора и вставляем в собранный макет. Включаем питание. Нажимаем кнопку пуск.Ура работает! Вот видео работы мигалки
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
С этим разобрались. А вот что делать если у нас есть файл исходного кода на ассемблере asm, а нам нужен файл прошивки hex? Тут необходим компилятор. и он есть — это Mplab, в этой программе можно как писать прошивки так и компилировать. Вот окно компилятора


Устанавливаем Mplab
Находим в установленной Mplab программу MPASMWIN.exe, обычно находится в папке — Microchip — MPASM Suite — MPASMWIN.exe
Запускаем ее. В окне (4) Browse находим наш исходник (1) .asm, в окне (5) Processor выбираем наш микроконтроллер, нажимаем Assemble и в той же папке где вы указали исходник появится ваша прошивка.HEX Вот и все готово!
Надеюсь эта статья поможет начинающим в освоении PIC контроллеров! Удачи!

Рассказать в:
Быстро собрать понравившуюся схему на микроконтроллере для многих радиолюбителей — не проблема. Но многие начинающие работать с микроконтроллерами сталкиваются с вопросом — как его запрограммировать. Одним из самых простых вариантов программаторов является 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 Раздел:

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 сек. Глюков не замечено. Часть зашитых МК протестировано в железе — работает.


Программатор

USB PIC — Electronics-Lab.com

Эта страница предназначена для всех, кто хочет запрограммировать устройство PIC (Microchip) через порт USB. Поискав в Интернете готовых проектов, я нашел хороший под названием Open Programmer, поставляемый с несколькими схемами, печатными платами и открытым исходным кодом. Исходная ссылка: http://openprog.altervista.org/OP_ita.html

.

Меня беспокоила необходимость установить на материнскую плату определенную плату сокетов в зависимости от модели программируемого PIC.Более того, предложенный макет не соответствовал моим личным представлениям о «компактности». Итак, я предлагаю здесь небольшую версию этой схемы, использующую один интеллектуальный встроенный ZIF-разъем. Эта версия жертвует многими моделями микроконтроллеров без PIC. Я буду благодарен всем, кто предлагает реализацию более широкого диапазона, подходящую для программирования Atmel и других устройств. В любом случае, если ваша цель — программировать устройства PIC, вы попали на хороший сайт.

Коробочка, разъем USB, розетка ЗИФ, два светодиода. Это все в моем компактном предложении.

Описание

Подробности доступны по оригинальному проекту, упомянутому выше. Далее я показал свою компактную версию со схемой, компоновкой печатной платы и инструкциями по сборке и установке ее в очень обычную небольшую пластиковую коробку. Внизу страницы я предлагаю копию программы для загрузки на PIC18F2550, который используется для управления функциями программирования, а также копию программы на ПК. Программу до Win-8 протестировал без проблем. Учтите, что на исходном сайте доступна более новая версия как прошивки, так и программного обеспечения.

Схема

Сборка

Сначала соберите основной модуль, используя низкопрофильные компоненты, находящиеся на высоте менее 10 мм от поверхности печатной платы, так как вторая плата будет установлена ​​поверх этой платы. Установите 4 колонны высотой десять миллиметров, чтобы обеспечить окончательную сборку второй платы. Для фиксации колонн используйте детали с низким профилем, в противном случае может потребоваться снятие металла вручную, чтобы уменьшить нагрузку на медную сторону.

ZIF — довольно тонкий компонент перед окончательной пайкой.Обращайте внимание на то, чтобы не использовать силу, которая может привести к повреждению или деформации. Лучше сделать отверстия 1,2 мм для облегчения вставки гнезда ZIF в печатную плату. Во время пайки перескакивайте каждый раз на несколько выводов, следуя спиральной линии, принимая последовательность, которая позволяет нагреть вывод, пока вы паяете следующий.

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

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

Коробка

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

Здесь и далее окончательный результат:

Программное обеспечение

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

Скачать программное обеспечение для ПК можно по ссылке ниже — OpenProg.rar

Скачать файл PIC .hex можно по ссылке ниже — OProg.hex

Использование

Подключите программатор к ПК с помощью кабеля USB типа «папа-папа». Устройство рассматривается как универсальное. Зеленый светодиод сначала быстро мигает, указывая на то, что соединение установлено. Затем медленно, показывая, что этап подключения завершен. Программное обеспечение для ПК позволяет боту записывать и читать EEPROM любой PIC, установленной на ZIF socked.Функции тестирования позволяют измерять высокое напряжение Vpp, генерируемое повышающим преобразователем, присутствующим в главной цепи. Это напряжение в любом случае уже проверено самой прошивкой.

Программируемый PIC должен быть размещен в гнезде ZIF, как показано на следующем рисунке. Версия этого изображения в высоком разрешении доступна ЗДЕСЬ для печати и прикрепления к задней части самого программатора.

Сайт Kitsrus.com

16 октября 2007 г.

Последний пакет DIYpack для программистов PIC K128, K149, K150, K182

DIYpack25ep.почтовый индекс


2 марта 2007 г.

Программатор

Kit 128 Pic

Программатор

Kit 149E Pic

Программатор

Kit 150 Pic

Программатор

Kit 182 Pic


7 апреля 2005 г.

Боб собрал некоторые заметки по программированию PIC ICSP.

Текущая документация поставляется с наборами 128, 149, 150 и 182.
Kit 128
Kit 149 Обновлено 17 апреля 2005 г.
Kit 150
Kit 182

См. Pdf-файлы в каждом diypack для получения дополнительной информации и схем.


25 марта 2005 г.

Если вы зайдете на форум Kit Forum, то увидите, что Боб Акстелл усердно работает над редизайном MicroPro и над созданием нового PIC ProgrammerKit 185.Одна небольшая проблема, которую мы сейчас исправляем, — это перегорание транзисторов, особенно при коротком замыкании проводов ICSP. В наборе 149 мы теперь используем 3xBC327-40 вместо BC558 и транзистор SOT23 MMBT2907A для других наборов.


Последний комплект DIYpack для K128 / 149/150/182

Скачать diypack25.zip Это будет последний diypack до выхода P19 / MP2. На данный момент новые PIC добавляться не будут.

Программный протокол, позволяющий переносить его на другие платформы — щелкните здесь (P018 от 16 августа 2004 г.).

Вот список PIC, которые программное обеспечение и прошивка diypack25 поддерживают для K149 и K150. K128 и K182 — это флеш-программаторы и поддерживают только те PIC с буквой F в номере детали:

.

12C508 16C65A 16C77 16F76 16F877
12C508A 16C65B 16C710 16F77 16F877A
12C509 16C66 16C711 16F737 18F242
12C509A 16C66A 16C712 16F747 18F248
12C671 16C67 16C716 16F767 18F252
12C672 16C620 16C745 16F777 18F258
12CE673 16C620A 16C765 16F83 18F442
12CE674 16C621 16C773 16F84 18F448
12F62916C621A 16C774 16F84A 18F452
12F675 16C622 16C83 16F87 18F458
16C505 16C622A 16C84 16F88 18F1220
16C554 16C71 16F627 16F818 18F1320
16C558 16C71A 16F627A 16F819 18F2220
16C61 16C72 16F628 16F870 18F2320
16C62 16C72A 16F628A 16F871 18F4220
16C62A 16C73 16F630 16F872 18F4320
16C62B 16C73A 16F648A 16F873 16C63
16C73B 16F676 16F873A
Добавлено из diypack23:
16C63A 16C74 16F684 16F874 16F5x
16C64 16C74A 16F688 16F874A 10Fxxx
18F6525 6621 8525 8621
(все бета) 16C64A 16C74B 16F73 16F876
16C65 16C76 16F74 16F876A
Добавлен diypack25 12F683

Поддержка 16F88 добавлена ​​в diypack22 на.Обратите внимание: резистор 10 кОм необходимо добавить между контактами 9 и 10
Программирование носка


Предыдущие наборы для самостоятельной сборки

Если в документации к вашему набору написано, что нужно получить diypack18, diypack19 или diypack22 и т. Д., Вы ДОЛЖНЫ получить эту версию, чтобы поставляемая прошивка работала с версией MicroPro.exe в соответствующем diypack. После того, как вы получите комплект, обновите его до последней версии, запрограммировав прошивку с помощью соответствующего шестнадцатеричного файла из последней версии, заменив микропрограмму IC и запустив последнюю версию MicroPro.исполняемый.

diypack23v2.zip 29 сентября 2004 г. Голосовые аннотации удалены. Добавлена ​​поддержка 15F5x. Бета (непроверенная) поддержка 10Fxxx 18F6525 6621 8525 8621
diypack22.zip
diypack21.zip
diypack20.zip
diypack19.zip
2 марта 2004 г. Для загрузки в микросхемы 628A войдите в Fuses и выключите всю кодовую защиту.
diypack18.zip
diypack16.zip
diypack15.zip
diypack14.zip
diypack11.zip
diypack10.zip
diypack9.zip
diypack8.zip
diypack7.zip


У некоторых пользователей возникли проблемы при установке Micropro.

НЕКОТОРЫЕ версии Windows XP не позволяют программе установки DIYPACK работать. Боб провел небольшое исследование и обнаружил, что обработчиком был Win16 (1997). Поэтому для людей, которые совершенно не могли установить MicroPro, Боб придумал разные версии DIYPACK22 и DIYPACK25.НИЧЕГО не меняется, кроме самого обработчика. Таким образом, в следующем выпуске и в дальнейшем в DIYPACK будет использоваться установщик Win32. Это тонкий намек на то, что, как и DOS, Microsoft постепенно отказывается от приложений Win16!

Вы можете скачать версии Боба здесь — diypack22a.zip и diypack25a.zip


USB-драйверы

Драйверы USB VCP для Windows можно загрузить с веб-сайта FTDI по адресу http://www.ftdichip.com/Drivers/VCP.htm. Выберите драйвер для версии Windows, которую вы используете, и ZIP-файл будет загружен. Все комплекты программатора используют микросхему FT232BM.

Руководства по установке (PDF-файлы) можно найти по адресу http://www.ftdichip.com/Documents/InstallGuides.htm


Fixhex — это программа исправления для людей, у которых есть компиляторы C, которые выводят нечетное количество байтов в строке файла Hex. MicroPro отклоняет файл, и в результате люди не могут использовать DIY Programmers.Эта программа исправляет файл Hex, чтобы MicroPro могла его принять. (1 апреля 2005 г.)


Новые программаторы USB PIC — наборы философии дизайна 149128 и 150

23 марта 2003 г. Мы быстро разрабатываем три новых программатора PIC, использующих порт USB: наборы 128, 149 и 150.
Первоначально должны были быть пакеты программного обеспечения для всех трех, но стало ясно, что один пакет программного обеспечения, охватывающий все три набора, будет лучше всего.

24 марта выпущен новый пакет программного обеспечения для комплекта 149 с необходимыми аппаратными изменениями: замените кристалл с частотой 4 000 МГц на кристалл с частотой 6 000 МГц. Подробности ниже. Тогда все 3 комплекта теперь будут работать с одинаковой тактовой частотой, и пользовательский интерфейс будет одинаковым для всех трех комплектов. В новом программном обеспечении Kit 149 (V250303) также исправлены некоторые ошибки в предыдущем выпуске V030303.

Комплект 149 (печатная плата версии A). Программатор PIC USB и последовательного порта.Все сквозные компоненты, кроме микросхемы FT232BM. (Эта версия сейчас распродана.)

11 мая. Выпущен комплект 149 версии B PCB. Он добавляет ICSP и снимает 1 кристалл, некоторые резисторы и другие компоненты.) Обратите внимание, что гнездо ZIF не входит в комплект. Его нужно покупать дополнительно. В комплект входит обычная 40-контактная розетка для микросхем.

10 апреля 2004 г. Выпущен комплект 149 версии C.

Комплект 150.(«Комплект 149B без последовательного порта.») Программатор USB PIC, поддерживается программирование ICSP. В основном поверхностный монтаж. Режим ICSP. Некоторые сквозные компоненты. Выпущено 22 августа 2003 г. Новая версия 2 апреля 2004 г.

Kit 128. USB all-Flash программатор PIC. Нет внешнего источника питания. Нет ICSP. В основном поверхностный монтаж. На выбор: розетка ZIF с 40-контактным разъемом или просто 40-контактное гнездо для микросхем 0,6 дюйма. Все компоненты для поверхностного монтажа предварительно припаяны. Выпущено 5 апреля 2003 г.


Комплект 149, программатор PIC для USB / последовательного порта

Выпущено 12/2002. Переключатель DPST переключает между USB и последовательным режимами. В комплекте используется современный FT232BM для поверхностного монтажа, припаянный на стороне пайки платы.


9 сентября 2003 г. Аппаратная модификация К149А К149Б К150.

Было указано, что в схемотехнике этих комплектов, когда комплект находится в состоянии сброса, все напряжения программирования появляются в гнезде программирования и на выводах ICSP.Это также произойдет, когда платы подключены, а MicroPro не запущен. Обычно это не проблема, так как ИС программируются только во время работы MicroPro. Но это нежелательно. Решение состоит в том, чтобы добавить три резистора 3K3, как показано здесь. Эти резисторы будут добавлены в следующие печатные платы этих плат.


Программное обеспечение

23 марта 2003 г. — Мы обнаружили некоторые проблемы с программным обеспечением пользовательского интерфейса V030303.Вернитесь к версии V110103 вместе с одним из следующих шестнадцатеричных файлов микропрограммного обеспечения. Вы можете напрямую программировать прошивку, используя эти файлы. Мы разберемся с проблемой в следующей версии пользовательского интерфейса.

V110103 Программное обеспечение пользовательского интерфейса, K149_v4.zip

шестнадцатеричных файлов прошивки. Эти шестнадцатеричные файлы можно программировать напрямую. вам не нужно использовать Параметры / Обновление. Используйте k149_v4.hexfirst.

ПРИМЕЧАНИЕ: , если вы добавили ссылку на программирование без нажатия клавиш после использования V030303, вы ДОЛЖНЫ удалить ее при запуске этой более ранней версии.


27 марта. Программное обеспечение пользовательского интерфейса V280103, k149_v61.zip Это обновление выполняет две задачи: заменяет V030303, в котором были некоторые ошибки, и обновляет оборудование до кварцевого режима с частотой 6 МГц.

ПЕРЕД обновлением до этой версии у вас ДОЛЖЕН быть 6.Доступен кристалл 000 МГц. Используйте шестнадцатеричный файл k149av61.hex, содержащийся в zip-файле, для программирования новой микропрограммной микросхемы. Затем замените кристалл с частотой 4.000 МГц на кристалл с частотой 6000 МГц, после чего вы обновитесь. Затем добавьте ссылку для режима программирования без нажатия клавиш.


3 апреля 2003 г. Поскольку тот же пользовательский интерфейс теперь будет использоваться для комплектов 149 (A и B), 128 и 150, вот последнее обновление, которое теперь распаковывается в c: \ diypgmr. Кроме того, это обновление может распознать, какая плата программатора подключена к ПК.Для комплекта 149A вы ДОЛЖНЫ СНАЧАЛА запрограммировать новую микросхему микропрограммы перед запуском последней версии. Прочтите upgrade.txt в разархивированном файле. Получите последнюю версию отсюда. diypack7.zip

11 мая. Выпущен комплект 149 версии B PCB. Он добавляет ICSP и снимает 1 кристалл, некоторые резисторы и другие компоненты.) 40-контактный разъем ZIF, необязательный для обоих.


Комплект 128 USB Flash Программатор PIC с разъемом ZIF

3 апреля 2003 г. Новейший программатор PIC для флеш-памяти USB-портов. Аппаратное и программное обеспечение, разработанное Тони Никсоном. Внешний источник питания не требуется. Над коробкой торчит только би-светодиод. На выбор предлагается 40-контактное гнездо ZIF с широким разъемом или обычное 40-контактное гнездо для микросхем 0,6 дюйма, если у вас есть собственное 40-контактное гнездо ZIF. В основном компоненты для поверхностного монтажа. Используется удлинительный кабель USB типа A, A-A.

Загрузите 13-страничное руководство пользователя здесь. (Это также есть в загрузке пользовательского интерфейса.)

Загрузите документацию k128intro.pdf, которая идет в комплекте.

Обратите внимание, что этот программатор НЕ программирует микросхемы без Flash! Пожалуйста, убедитесь, что вы знаете, какие микросхемы PIC являются Flash (те, которые отмечены буквой F!), А какие нет.


Kit 182 USB Flash Программатор PIC без разъема ZIF

Комплект 182 — это комплект 128 без гнезда ZIF. Таким образом, это программатор Flash ICSP, работающий от порта USB.Он будет продаваться полностью собранным, так как большинство компонентов монтируются на поверхность. Размер платы всего 48 х 30 мм. Есть 4 нейлоновых 10-миллиметровых стойки для защиты нижней стороны. Гнездовой разъем USB «B».

Перед покупкой убедитесь, что вы понимаете ICSP. У нас уже была одна жалоба от человека, который купил комплект, а затем жаловался, что «некуда» поставить IC!


Комплект 150 USB-программатор PIC

22 августа 2003 г.Наконец-то выпущен сегодня. Он имеет USB-разъем B, а также 6-контактный разъем ICSP. Мы продаем его без разъема ZIF, но 40-контактный разъем ZIF рекомендуется для большинства программ, поскольку он очень удобен.


PIC Программист FAQ

Запрос: Питер, мне нужна ваша помощь с моим программатором MicroPro. Я использую DIYPACK11.ZIP версии 11. Я использую MPLAB 6.41 и самую последнюю версию HI-TECH PICC-18 v8.30, чтобы сгенерировать шестнадцатеричный файл для моего приложения. Когда я использую MicroPro с шестнадцатеричным файлом, он говорит: «Ожидается INHXFILE». Некоторые из шестнадцатеричных файлов, которые я использую, работают, в то время как другие выдают эту ошибку. Если вы можете помочь мне разобраться в этой проблеме, я был бы признателен.

Ответ Тони: происходит то, что большинство компиляторов помещают: 020000040000FA в начало файлов INHX32 для обозначения адреса 0000: xxxx Идентификатор 04 указывает верхний 16-битный адрес, следующие 4 цифры, в данном случае «0000».: 020000040030CA Здесь указывается старший 16-битный адрес «3000» = 3000: xxxx, который является адресом данных предохранителя. Ваш компилятор не помещает: 020000040000FA в первую строку файла HEX, поэтому MicroPro запутается и решит, что это не файл INHX32. diypack17 (теперь доступен) имеет возможность отключить это сообщение.


— = Программисты Atmel = —


Комплект 122. Программатор Atmel AVR. Для программирования 20-контактного DIP — 90S1200, 90S2313 и 40-контактного DIP — 90S4414, 90S8515.Программы со скоростью 9600 бод. Параллельный режим. С дополнительной платой адаптера теперь можно программировать AT90S4434 и AT90S8535. Он не будет программировать 8-контактные устройства AVR (90S2323, 90S2343).

Пересмотрено 8/2001

К122 собран и испытан. Таким образом мы продаем собранный и протестированный Комплект 122. Выбор обычных разъемов IC или разъемов ZIF остается на усмотрение покупателя.

Плата адаптера для K122 для программирования 90S4434 / 8535.

Вид снизу платы адаптера
плата адаптера

, вид сверху

Вопрос клиента: но вам не нужен программатор для программирования AVR. Всего несколько строк в параллельный порт — seedontronics.com!

Ответ: AVR имеют режим последовательного программирования, называемый ISP — In System Programming. Да, вы можете использовать несколько строк кода из параллельного порта для программирования флэш-памяти, eprom и битов блокировки.НО микросхемы AVR имеют «предохранительные» биты, которые недоступны в режиме последовательного программирования. Например, в наших наборах 129 и 154 мы должны запрограммировать один из битов предохранителя RCEN для включения внутреннего генератора. Это было бы невозможно при последовательном программировании. Также есть предохранитель для отключения последовательного программирования. Если этот бит предохранителя запрограммирован, то микросхема вообще недоступна через ISP. Тогда его можно будет программировать только с помощью программатора, такого как комплект 122 для «параллельного режима».

Конечно, вы можете сделать программатор «параллельного режима», который будет работать с параллельным портом вместо последовательного, как в Kit 122. Но мы отказались от этого, потому что это потребует специального программного обеспечения для работы на каждом типе компьютеров. БОЛЬШОЕ преимущество комплекта 122 состоит в том, что весь интеллект заключен в встроенном ПО. Kit 122 будет работать на всех типах компьютеров. Все, что требуется, — это программа терминала / связи, которая есть на всех компьютерах.

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

Kit 117 — это пример, когда у нас есть специальное программное обеспечение только для Windows, работающее на параллельном порту. Обновление для новых микросхем PIC выполняется простым добавлением их в устройство.ini ‘файл.


Начало работы в программировании AVR. V4. Ноябрь 2000 г. уже в продаже.

Дэвис ван Хорн пишет: сначала он был написан, чтобы проиллюстрировать, как настроить AVR8515 и как использовать основные встроенные периферийные устройства, но, как и все, что осталось в холодильнике слишком долго, оно растет. Он имеет множество удобных программ для внешних устройств, таких как сервоприводы с дистанционным управлением, ЖК-дисплеи и VFD-дисплеи, шаговые двигатели. Версия 4.0 есть все это плюс:
— устранение старых линейных буферов. Их заменили кольцевые буферы переменной длины. Я сделал их переменной длины, готовясь к схеме динамического распределения, но на данный момент я не уверен, стоит ли это реализовывать. Это часть того, что я исследую для версии 5.0

— реализация интерпретатора языка, считывающего команды с необязательными параметрами из EEPROM.Это также означает, что программу в EEPROM можно изменять, так что это отправная точка для робота или другого устройства, которое может «учиться». В языке реализовано всего четыре команды, но сначала я не хотел усложнять его. Добавить свои собственные команды тривиально просто, и они могут быть простыми процедурами или могут изменить поведение других частей системы. Это полностью зависит от пользователя. В настоящее время реализованные команды: Задержка (мс), Положение сервопривода (серво) (положение), Цикл и Пропуск (команды для пропуска). Я не реализовал переменные, но добавить несколько фиксированных переменных было бы тривиально.Я ищу более гибкую схему, которая позволила бы мне динамически выделять переменную память, но опять же, это что-то для 5.0

— есть много чисток и улучшений в других подпрограммах. С аппаратными назначениями справиться проще, и я включил все выделения ROM и RAM в подпрограммы, которые их используют, вместо того, чтобы помещать их в «tables.asm» и «equates.asm»

.

— tt по-прежнему быстрый, и он использует чуть больше половины ПЗУ (как настроено) и меньше половины оперативной памяти (опять же, как настроено) В реальном приложении вы, вероятно, выделяете только небольшое подмножество буферов, которые у меня есть в этой демонстрации , но я хотел сделать его визуально «загруженным», поэтому я использую все восемь сервоприводов (один управляется интерпретируемой программой, другой — генератором случайных чисел, а остальные просто нарастают), дисплей VFD (прокручивая верхнюю и нижние строки в противоположных направлениях в одном буфере), и ЖК-дисплей с другим текстом, но с аналогичной прокруткой, и вывод «Quick brown fox» на последовательный порт, плюс вывод кода Морзе со случайными сообщениями.При этом процессор все еще почти простаивает 🙂


Комплект 123. Программатор Atmel 89xxxx

Запрограммировать
· 89C1051, 89C2051 и 89C4051
· 89C51, 89LV51
· 89C52, 89LV52
· 89C55, 89LV55
· 89S8252, 89LS8252
· 89С53, 89ЛС53
. Поддержка 87F51, 87F52 (отп) добавлена ​​в августе 2000 г.

Цена 49 долларов США плюс 10 долларов США за пересылку и упаковку.

Две утилиты DOS доступны для загрузки, чтобы исследовать и переупорядочивать фрагментированные шестнадцатеричные файлы, создаваемые некоторыми компиляторами. (Фрагментированные шестнадцатеричные файлы могут заглушить любую программу последовательного программирования, которая этого не ожидает.) Hexmap.exe и reorder.exe

term.zip Терминальная программа без излишеств, написанная Фрэнком для программирования комплектов 121, 122 и 123. Это проще, чем использовать Hyperterminal. На основе DOS, но будет работать под W9x.


K151 Комплект 151 Программатор EEPROM

ПК Программатор параллельного порта для 24xxx, шины I2C и 93xxx EEPROMS.Только 8-битный режим программирования. Мы используем программное обеспечение 24C16 в комплекте 103 для рождественской елки, поэтому это была основная причина, по которой мы сделали этот комплект. На плате используется 16-контактный разъем ZIF. Верхние 8 контактов предназначены для 24xxx; нижние 8 предназначены для 93xxx SPI EEPROM.

Комплект 151 документации.

Изображение

Комплект 151. Программное обеспечение eeprog.exe


Kit 69. Электронные кости PIC 16C54

Сканирование комплекта 69 PCB

Один из самых популярных электронных наборов — это игральные кости.Теперь мы использовали микроконтроллер, содержащий всю электронику. Только те элементы, которые нельзя поместить в программное обеспечение, например дисплей, все еще находятся в аппаратном обеспечении. Весь код на дискете. Размер печатной платы 1,4 «x2,6».

Программное обеспечение Single Dice 10K


Kit 71. Двойные электронные кости PIC16C54

Код в наборе 69 расширен, чтобы бросить два кубика. Размер печатной платы 1.4 дюйма x2,6 дюйма.

Программное обеспечение Dual Dice 14K


30 июля 2003 г. Тони Никсон / Bubblesoft Software закрыл свой веб-сайт. Но его файлы pdf и asm для его Введение в PIC и My Next PIC Projects можно найти здесь. 1,15 МБ.


Дизайн для тестера оборудования для программистов своими руками — рабочая схема ICSP для программаторов USB PIC, сделанных своими руками

Обратите внимание, что диод Шотти позволяет программатору DIY запитывать свой VCC без замыкания его VCC на нормальный источник питания PIC.Крошечный DIP-переключатель также будет работать вместо диода. ПРИМЕЧАНИЕ: диод очень удобен при разработке кода, но он снижает напряжение VCC примерно на 100 мВ (но никогда не было проблемой в моих проектах. Просто НЕ подключайте PIC во время его программирования.

Рекомендуется 27K, чтобы ток VPP не увеличивал VCC. Это может быть даже больше. Вы можете использовать всего 10 кОм, если диод подключен последовательно к выводу MCLR, так что при применении VPP ничего не может проводить.Но иметь второй диод — бесполезная трата времени.

Причина этой схемы состоит в том, чтобы прояснить, как ICSP управляется программистом DIY.

Сам программатор PIC предназначен для обеспечения только VPP и VDD, достаточными для программирования устройства, и ничего больше. С диодом Шоттки, нагрузка VDD самого продукта игнорируется программистом во время программирования. Крышка чипа очень важна и может составлять всего 0.01 мкФ и до 0,1 мкФ — но не может быть больше, иначе время нарастания, необходимое для входа в режим программирования, не может быть достигнуто.

Другая причина заключается в том, что PIC должны входить в режим программирования. Некоторым необходимо сначала применить VCC, а другим — сначала применить VPP. Этот двухэтапный процесс вместе с PGD и PGC на gnd заставляет PIC переходить в режим программирования.


Дизайн для тестера аппаратного обеспечения программатора DIY


В этом PDF-файле показаны схемы для тестирования всех программаторов PIC DIY.Инструкции для пользователя прилагаются. Очевидно, что если НИ ОДИН из светодиодов не мигает, существует проблема связи с программатором, драйверами USB, кабелем и т. Д., Хотя внутренний чип PIC также может быть вставлен задом наперед или неисправен.

Микроконтроллер

— Как создать собственный программатор PIC?

Да, то, что сказал Воутер. При разработке программатора PIC необходимо учитывать три части: аппаратное обеспечение, прошивку и программное обеспечение. В каждом из них есть несколько вариантов, и сложность может варьироваться между ними различными способами, особенно между прошивкой и программным обеспечением.

Для простого аппаратного обеспечения, которое адресовано только подмножеству PIC, см. Мой программатор LProg. Это было оптимизировано для низкой стоимости при стандартном использовании общего интерфейса ПК. Он работает только с теми PIC, которым не требуется высокое напряжение на MCLR для входа в режим программирования, и все его сигналы имеют фиксированные значения 0–3,3 В. Эти два ограничения позволили упростить аппаратное обеспечение и, следовательно, снизить стоимость. Схема доступна внизу этой страницы.

На другом конце находятся программаторы USBProg и USBProg2.Опять же, схемы доступны внизу этих страниц. Они имеют полностью регулируемое Vpp до 15 В и цифровые сигналы до 6 В. Они также имеют большую защиту. Например, цифровые выходы могут быть замкнуты на любое напряжение 0-6 В на неопределенное время без ущерба для программатора. Конечно, вся эта сложность связана с более высокими затратами на детали и производство.

Выбор программного обеспечения и микропрограмм в основном зависит от сложности микропрограмм и их скорости. Теоретически вы можете создать программиста, у которого есть возможности только для программного обеспечения хоста, чтобы устанавливать линии на определенные уровни.Протокол программирования PIC является синхронным, поэтому все тактирование может выполняться программно. Это упростит написание прошивки, но в результате будет очень медленным программистом. Реализация деталей всех различных алгоритмов программирования, о которых Microchip мечтала на протяжении многих лет, потребовала бы больше программной памяти, чем доступно в большинстве разумных управляющих PIC. Инженеры отдела запутывания программирования Microchip были очень заняты. Как сказал Воутер, между PIC могут быть различия в алгоритмах программирования, которые в остальном кажутся очень похожими.Вы должны внимательно прочитать спецификацию программирования для каждого PIC, который вы собираетесь поддерживать. Нет ни одного алгоритма программирования, даже близко.

Протокол хоста для моих программистов связан со всеми упомянутыми выше страницами. Этот протокол был разработан не только для решения непосредственной задачи, которая была у меня под рукой, но и для того, чтобы дать программистам некоторую свободу действий. В результате я усложнил программное обеспечение хоста, чтобы можно было беспрепятственно поддерживать множество программистов с разными собственными возможностями.Эта же хост-программа управляет LProg, USBProg и некоторыми более старыми программаторами, которые мы тем временем сняли с производства. Он делает это не путем проверки того, с какой моделью он обращается, а путем запроса ее возможностей в общем порядке, как это определено протоколом.

Сделать собственный программатор PIC как одноразовый для конкретного PIC не так уж и сложно. Попытаться создать PIC-программиста общего назначения труднее, возможно, намного труднее, чем думает большинство людей. Если вы в конечном итоге создадите свой собственный, я предлагаю вам поддержать мой протокол хоста.Если вы внимательно посмотрите на протокол, вы увидите, что большая его часть является необязательной. Если ваш программист использует мой хост-протокол, то у вас есть мой существующий хост-код, доступный для тестирования и, возможно, даже для регулярной работы. Большая часть моего исходного кода доступна по адресу http://www.embedinc.com/picprg/sw.htm.

Клон PicKit2, разработанный и изготовленный в домашних условиях

PicKit2 — это программатор, разработанный Microchip для программирования своих микроконтроллеров pic. PicKit2 поддерживает множество серий микроконтроллеров с 8-битными изображениями.PicKit2 поддерживает почти все микроконтроллеры серий Pic-10/12/16/18/24 и dspic-30/33 flash. Pickit 2 — это программатор ICSP (внутрисхемный последовательный программатор). В интерфейсе icsp микроконтроллер можно программировать во время его работы в схеме. Программист icsp использует 5 контактов для программирования целевого микроконтроллера. Pickit 2 использует встроенный микроконтроллер pic18f2550, который программирует целевой микроконтроллер. Pic18f2550 взаимодействует с компьютерным программным обеспечением через интерфейс USB и взаимодействует с целевым микроконтроллером через интерфейс icsp.Благодаря микрочипу была выпущена программа pic18f2550. Теперь можно перевернуть схему Pickit 2, и можно сделать программатор Pickit 2 дома как самодельный проект. Для программирования

Pickit 2 требуются следующие выводы микроконтроллера pic.

  • PGC (вход часов в микроконтроллер)
  • PGD (ввод данных в микроконтроллер)
  • Vpp (напряжение в режиме программирования)
  • Vdd (на вывод питания подается 5 В)
  • Gnd (заземлить этот вывод)

Чтобы запрограммировать микроконтроллер pic, нужно определить верхние 5 контактов на его микроконтроллере pic, а затем выполнить соединение с заголовком pickit 2 icsp.См. Таблицу микроконтроллера pic, чтобы определить эти контакты, а затем подключить сигналы от PicKit2 к этим контактам. Обычно все микроконтроллеры pic имеют контакты icsp, расположенные на номерах контактов, указанных ниже.

Источник из Википедии

Я разработал копию клона программиста PicKit 2 дома как самодельный проект. Все компоненты, необходимые для сборки набора, можно легко найти в магазине электроники. Купил все комплектующие в интернет-магазине электроники.

Схема, по которой я построил комплект, получена из
http: // tiktakx.wordpress.com/2011/04/14/yet-another-simplified-pickit2-clone/

Я внес некоторые изменения в схему.

  • Катушка индуктивности, которую я использовал в своем Pickit2, составляет 680 мкГн.
  • Кнопка
  • с контактом № 26 включена для перезагрузки загрузчика в случае его повреждения.

Если вы используете схему, приведенную на tiktakx.wordpress.com, вы не сможете загрузить загрузчик, если он поврежден. Затем вам нужно вручную удалить контроллер Pic18F2550-ICSP из комплекта и перепрограммировать его с другого Pickit2.Принципиальная схема клона приведена ниже.

Схема PicKit2

Мой последний комплект ниже. Я сделал Pickit2 и программу-исполнитель на одной плате. Я программирую микроконтроллер Pic на одной стороне, затем снимаю контроллер, кладу его на другую сторону разъема zif, включаю питание, и моя программа начинает выполняться.

Примечание. Мой PicKit2 выбирается моим ПК в первый раз, когда я впервые подключил его к ПК. Это означает, что в схеме и компонентах нет проблем. Я не получал никаких сообщений об ошибках в аппаратном или программном обеспечении PicKit2.Значит, мне повезло: D

PicKit2 Clone, сделанный дома

Я разделил свою доску на две части.
  • Исполнитель программы
  • Схема PicKit2

Я сделал печатную плату для исполнительного устройства схем и PicKit2. Затем я распечатал их на листе печатной платы один за другим вручную. Сначала распечатал схему на листе наклеек с помощью лазерного принтера, затем наклеил схему на лист печатной платы с помощью утюга.

Я спроектировал печатную плату как исполнительного устройства программ, так и схемы PicKit2, используя онлайн-редактор плат EasyEda.Easyeda — это онлайн-программа для редактирования печатных плат, которая проста в использовании и проектировании печатных плат с помощью easy eda. В Easyeda доступно множество посадочных мест для компонентов, определяемых по отдельности, вы также можете импортировать и использовать посадочные места многих других программ-редакторов плат в easy eda.

Загрузите файлы печатной платы программатора pickit 2 по ссылкам ниже

Плата исполнителя программ

Печатная плата PicKit2

Как только мое оборудование будет завершено, пришло время загрузить загрузчик в микроконтроллер pic18f2550.Я запрограммировал PIC18F2550-ICSP с помощью другого программатора pic. Вам необходимо изначально запрограммировать контроллер PIC18F2550-ICSP. Файл программирования доступен ниже, а также на веб-сайте Microchip.

Файл программирования PicKit2 pic18f2550 — Загрузчик

Этот файл необходимо загрузить в 18F2550 / ICSP. Когда вы подключаете Pickit2 к компьютеру, этот файл сообщает компьютеру, что это USB-устройство. Как только ваш компьютер выберет Pickit2, пора загрузить в него загрузчик.Об этом сообщает мигающий светодиод на комплекте. Если красный светодиод мигает, это означает, что ваш pickit2 хочет, чтобы загрузчик был загружен в него. Вы можете загрузить загрузчик из программного обеспечения PicKit2 или из среды разработки MP-Lab. Загрузил из MP-Lab IDE.

Просто подключите PicKit2 к компьютеру. Откройте MPLAB-IDE. Перейдите в Programmer> Select Programmer> PicKit2. Как только вы выберете PicKit2, в окне MPLAB появится статус, который говорит: Pickit2 Found , и вы увидите, что MPLAB загружает загрузчик в PicKit2.

pickit2bootloader.hex
Размер файла: 11 кб
Тип файла: шестигранник

Загрузить файл


MPLAB IDE Загрузка загрузчика PicKit2 в комплекте.

Теперь PicKit2 готов, и пора его протестировать. Я протестировал его, и на первом тесте он дает мне 100% результат. Подключите программатор Pickit 2 к компьютеру и посмотрите, какое программное обеспечение показывает состояние оборудования.

PicKit2 обнаружил и подключил сообщение на программаторе PICKit2

Пора импортировать шестнадцатеричный файл и запрограммировать целевой микроконтроллер. Я собираюсь запрограммировать микроконтроллер pic16f877 на 8-битной микросхеме с программатором pickit 2

Шестнадцатеричный файл успешно загружен

Hex-файл успешно загружен в программатор pickit2

Программа успешно завершена

Сообщение об успешном выполнении программы Pickit2 отображается на программаторе PicKi2

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

Блог

Пурана: [DIY] + [PIC Programmer] + [IC-Prog]

Введение
На рынке есть много типов программаторов PIC, большинство из них используют параллельный порт, последовательный порт (COM-порт) или USB, но они очень дороги, и такой любитель, как я, не может купить такой дорогостоящий программатор, поэтому я решил сделать дешевый программатор ПОС. Как любитель электроники, я верю в DIY (сделай сам), поэтому я рад сообщить вам, что мой программатор можно легко собрать.Программатор, который я построил, не требует внешнего источника питания, он получает все необходимые сигналы и питание от последовательного порта RS232, а поскольку деталей всего несколько, он очень дешев и прост в изготовлении. Этот программатор PIC называется «программистом JDM» и основан на ICSP (внутрисхемное последовательное программирование). Это название происходит от названия J Ens D yekjar M Adsen, который разработал это первым. Его домашняя страница здесь.
Advantage
  • Этот простой программатор PIC позволит вам безболезненно переносить шестнадцатеричные программы на большинство микроконтроллеров Microchip PIC без ущерба для бюджета и времени
  • Этот программатор PIC очень дешев, так как используется всего несколько общих частей.
  • Это внутрисхемный последовательный программатор, поэтому его можно использовать для удобного программирования микроконтроллеров PIC, не удаляя их из целевой схемы.
  • Его можно построить за очень короткое время.
  • Этот программатор PIC совместим с популярным программным обеспечением IC-Prog, которое показывает строку состояния процесса программирования.
Как собрать

Перед сборкой этого «программатора PIC» я рекомендую проверить, достаточно ли выходного напряжения на последовательном порту вашего персонального компьютера.Если TXD, DTR и RTS не имеют более + 7,5 В (или -7,5 В), этот программатор не будет работать должным образом, особенно с новейшими портативными компьютерами, в которых используются маломощные интерфейсные ИС RS232. См. Следующее изображение, чтобы найти контакты TXD, DTR и RTS.

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

Режим программирования ICSP

В режиме программирования ICSP PIC программируются с помощью 5 сигналов. Данные передаются по двухпроводной синхронной последовательной схеме, при этом часы всегда контролируются программистом. Сигналы ICSP:


GND : Отрицательное напряжение на входе PIC и опорное напряжение нулевого напряжения для остальных сигналов.Напряжения других сигналов неявно указаны относительно GND.
Vdd : Это положительная мощность на входе PIC. Некоторые программисты требуют, чтобы это обеспечивалось схемой (схема должна быть хотя бы частично включена), некоторые программисты ожидают, что эта линия будет управляться самостоятельно и потребовать, чтобы схема была отключена, в то время как другие могут быть настроены в любом случае (например, Microchip ICD2) . Программисты Embed Inc ожидают, что сами будут управлять линией Vdd, и потребуют, чтобы целевая цепь была отключена во время программирования.
Vpp : Режим программирования напряжения. Он должен быть подключен к выводу MCLR или выводу Vpp дополнительного порта ICSP, доступного на некоторых PIC с большим количеством контактов. Чтобы перевести PIC в режим программирования, эта строка должна находиться в заданном диапазоне, который варьируется от PIC до PIC. Для 5-вольтовых PIC это всегда немного выше Vdd и может достигать 13,5 В. PIC только с напряжением 3,3 В, такие как серии 18FJ, 24H и 33F, используют специальную подпись для входа в режим программирования, а Vpp — это цифровой сигнал, который находится либо на земле, либо на Vdd.Нет ни одного напряжения Vpp, которое находится в допустимом диапазоне Vpp для всех PIC. Фактически, минимально необходимый уровень Vpp для некоторых PIC может повредить другие PIC.
PGC : Линия синхронизации последовательного интерфейса данных. Эта линия переключается с GND на Vdd и всегда управляется программистом. Данные передаются на заднем фронте.
PGD : Последовательная линия данных. Последовательный интерфейс является двунаправленным, поэтому эта линия может управляться либо программистом, либо PIC в зависимости от текущей операции.В любом случае эта линия переключается с GND на Vdd. Бит передается на заднем фронте PGC.

Здесь вы можете найти схему, компоновку платы и компоновку компонентов моего «программатора JDM», основанного на ICSP.
Схема
Схема расположения платы
Схема компонентов

Загрузить
Вы можете найти файлы схемы eagle и файлы платы на следующем изображении (см. Еще один мой интересный пост, чтобы увидеть скрытые файлы).
2 скрытых файла
Как программировать с помощью IC-Prog
Проверьте еще один мой пост в продолжение этого поста.

кв. Мой компьютер не распознает мой программатор Velleman PIC

Я построил несколько Комплекты Velleman и работают безупречно. Но качество и точность пайки размещение электрических элементов на печатной плате имеет первостепенное значение.

Velleman предлагает ряд платы программатора:

EDU10 — ПРОГРАММИРОВАНИЕ USB PIC И НАУЧНЫЙ СОВЕТ

K8048 — ПИК ПРОГРАММИРОВАНИЕ И ЭКСПЕРИМЕНТАЛЬНАЯ ДОСКА

K8076 — ПЛАТА ПРОГРАММИРОВАНИЯ PIC

PICKIT3 — USB PIC «В СХЕМЕ» ПРОГРАММИРОВАНИЕ И ОТЛАДЧИК

VM111 — ПРОГРАММАТОР PIC® И ЭКСПЕРИМЕНТАЛЬНАЯ ДОСКА

VM134 — ПЛАТА ПРОГРАММАТОРА PIC ™

PIC10F200-I / PG — 8-битный МИКРОЧИП МИКРОКОНТРОЛЛЕР PIC10F200

PIC12F629 — 8 PIN DIP FLASH ФОТО КОНТРОЛЛЕР НА ОСНОВЕ 8-РАЗР. CMOS

PIC16F627A -18P DIP FLASHPIC 1KX14 со 128-битной EEPROM

PIC16F630-I / P — 14-контактный 8-битный CMOS-КОНТРОЛЛЕР НА ВСПЫШКЕ

…..

Большинство программистов Velleman Kit подключитесь к порту RS232, которого нет на большинстве новых ПК. Если ты при использовании адаптера USB-RS232 этого может быть недостаточно для выполнения программирования. Прочтите инструкции к комплекту, чтобы определить, поддерживает ли комплект такой адаптер.

Программатор

USB — гораздо лучший выбор. Если вы покупаете комплект программатора с USB, важно проверить, правильно ли он подключен к ПК USB-контроллеру. Это устройство с человеческим интерфейсом, которое использует Драйвер Windows; вы всегда сможете сразу найти его среди подключенных устройств после подключения к USB-порту.

Для других USB-устройств требуется предварительная установка драйверов устройств. Если не удается установить драйвер устройства, устройство не сможет подключиться.

Там же может быть ПО вопросы. Некоторые приложения для программирования не совместимы со всеми Windows (или версии других операционных систем. Также уменьшается поддержка RS232. Приложения.

АЛЬТЕРНАТИВЫ:

Как видите, Веллеман даже перепродает Microchip PICkit3.Последнее, на мой взгляд, лучший выбор, поскольку он дешев и поддерживает почти все микроконтроллеры Microchip, включая 32-битное семейство PIC32. Хотя вам нужно создать подходящие программные заголовки сами, это легко и того стоит.

Можно даже запрограммировать PIC18F24J50 на Velleman K8055, или превратить плату в программатор простым адаптер. Вы также можете найти программирование заголовки для программирования микроконтроллеров PIC18F2xJ50 и PIC32MX2xxFxxB на этом сайте.

Есть также много других возможностей для создания собственного программатора PIC, описанного в разделе 1 на этом веб-сайте.

Как использовать PICKit3 для загрузки программы в микроконтроллер pic

Как использовать PICKit3: В этом руководстве рассказывается, как использовать записывающее устройство для программирования микроконтроллеров pic. Я уже публиковал статью о том, как использовать MikroC for pic для программирования микроконтроллеров pic на c. Программатор — это система отладчика, используемая для разработки программного и аппаратного обеспечения микроконтроллеров Microchip PIC.Система отладчика выполняет код как реальное устройство, потому что вместо использования специального чипа отладчика для эмуляции она использует устройство со встроенной схемой эмуляции. Все доступные функции данного устройства доступны в интерактивном режиме и могут быть установлены и изменены с помощью интерфейса MPLAB IDE. Я рекомендую вам проверить этот список руководств по микроконтроллеру pic . Вы также можете просмотреть полный список проектов микроконтроллеров pic.

Видео-лекция о том, как загрузить код в микроконтроллер pic

Pickit3 поставляется со следующими компонентами.

  1. Соединительный шнур
  2. Подключение порта USB
  3. Маркер контакта 1
  4. Разъем для программирования
  5. Светодиоды состояния
  6. Кнопка

Соединительный шнур:

На программаторе предусмотрено удобное крепление шнурка.

Подключение к USB-порту:

Порт подключения представляет собой разъем USB mini-B. Он используется для подключения PICKit3 к ПК через USB-кабель.

Маркер контакта 1:

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

Разъем для программирования:

Это шестиконтактный разъем, который используется для подключения целевого устройства к PICKit3. Он состоит из следующих штифтов с штифтом 1, начиная с маркера.

  1. Vpp / MCLR (мощность)
  2. V DD Target (Power on Target)
  3. V SS (земля)
  4. ICSPDAT / PGD (стандартные данные COM)
  5. ICSPCLK / PGC (стандартные часы COM)
  6. LVP (Программирование низкого напряжения)

Светодиод состояния:

На PICKit3 предусмотрено три светодиода.Разные цвета указывают на разный статус PICKit3, а именно:

  1. Power (зеленый)

Питание на PICKit3 подается через порт USB.

  1. Активный (синий)

Канал связи активен, и PICKit3 подключен к ПК через USB-кабель.

  1. Статус

Занят (желтый)

Выполняется какая-то функция, и PICKit3 занят ею, как программирование

Ошибка (красный)

Ошибка PICKit3.

Соединение с микроконтроллером PIC:

Для соединения PICKit3 с микроконтроллерами PIC используются следующие соединения

  1. Контакт 1 горелки с контактом 4 микроконтроллера PIC
  2. Контакт 2 горелки с контактом 14 микроконтроллера PIC
  3. Контакт 3 горелки с контактом 5 микроконтроллера PIC
  4. Контакт 4 горелки с контактом 13 микроконтроллера PIC
  5. Контакт 5 горелки с контактом 12 микроконтроллера PIC
  6. Контакт 6 не подключен для нормального использования.

Эта конфигурация предназначена только для PIC18F1x20. Конфигурация выводов каждого микроконтроллера будет отличаться, и вы можете обратиться к таблице данных соответствующего микроконтроллера для этих подключений. Чтобы подключить этот программатор к плате программирования, обратитесь за помощью к следующему рисунку.

Полезность PICKit 3 Программист:

  • Отладка приложения на собственном оборудовании в реальном времени
  • Отладка с аппаратными точками останова
  • Установить точки останова на основе внутренних событий
  • Контроль внутренних файловых регистров
  • Эмуляция на полной скорости
  • Запрограммируйте свое устройство

Вывод платы программатора ВЫХОД:

Плата программатора

имеет 6 выходных контактов с одной стороны для подключения к PICKit3.Ниже приведены булавки.

  1. Vpp / MCLR (мощность)
  2. V DD Target (Power on Target)
  3. V SS (земля)
  4. ICSPDAT / PGD (стандартные данные COM)
  5. ICSPCLK / PGC (стандартные часы COM)
  6. LVP (Программирование низкого напряжения)

Подключение платы программатора с PICKit3:

Поместите контроллер на плату программатора и затем подключите его к PICKit3 следующим образом. Подсчет кеглей Pickit3 начинается с маркера стрелки.

  1. Контакт 1 PICKit3 с MCLR платы программатора
  2. Контакт 2 PICKit3 с VCC платы программатора
  3. Контакт 3 PICKit3 с GND платы программатора
  4. Контакт 4 PICKit3 с PGD платы программатора
  5. Контакт 5 PICKit3 с PGC платы программатора

Контакт 6 не подключен для нормального использования.

Подключение микроконтроллера к плате программатора

Следующие соединения используются на плате программатора и PIC18F46K22

  1. MCLR платы программатора с контактом 1 PIC18F46K22
  2. VCC платы программатора с выводом 11 PIC18F46K22
  3. GND платы программатора с контактом 12 PIC18F46K22
  4. PGD платы программатора с контактом 40 PIC18F46K22
  5. PGC платы программатора с выводом 39 PIC18F46K22

Контакт 6 не подключен для нормального использования

Эти соединения предназначены только для PIC18F46K22.

alexxlab

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

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