Руководства, Инструкции, Бланки

инструкция программатор Pickit2 img-1

инструкция программатор Pickit2

Рейтинг: 4.1/5.0 (1824 проголосовавших)

Категория: Инструкции

Описание

PICkit-2 lite - Студенческий USB программатор PIC микроконтроллеров

PICkit-2 lite — Студенческий USB программатор PIC микроконтроллеров PICkit-2 lite — Студенческий USB программатор PIC микроконтроллеров

Широкому распространению PIC-микроконтроллеров (далее МК) способствовало открытость схем и программ. Фирма Microchip свободно распространяет большинство своей документации. В документе 51553E в приложении «B» дается схема USB-программатора второго поколения PICkit-2. Технологические ограничения и сложность являются определенными препятствиями для повторения радиолюбителями этого программатора «один в один».

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

Розетка XS1 служит для подключения стандартного USB-кабеля между программатором и компьютером. Это розетка типа «В», на компьютере стоит розетка типа «А». Перепутать гнезда включения кабеля физически невозможно.

Светодиоды HL1 и HL2 любого типа, например, АЛ307. HL1 включен, когда на программатор подается питание; HL2 включается, когда между ПК и программатором идет обмен данными.

Перемычка XT1 используется для активации в устройстве режима bootloader для обновления программного обеспечения (прошивки) программатора через интерфейс USB. В повседневном рабочем режиме эта перемычка разомкнута.

Основой программатора является МК PIC18F2550, имеющий прямой выход на шину USB. МК тактируется кварцем ZQ1 и работает на частоте 20 МГц. Питается он напряжением +5 В, поступающим с линий USB компьютера через разъем XS1.

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

Транзисторы VT2, VT3, VT4 служат ключами. Они подают установленное напряжение Vpp к линиям программирования МК. Информация о наличии питания снимается с резистора R9.

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

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

В схеме полярные конденсаторы электролитические, например, типа К50-6, остальные конденсаторы керамические типа К10-17. Использованы транзисторы с любым буквенным индексом. Диод VD1 можно заменить на импортный аналог 1N4148 (будьте внимательны с маркировкой катода).

Студенческий программатор как и PICkit-2 работает под управлением оболочки «PICkit 2 Programmer» или под управлением среды разработки MPLAB IDE. Оба приложения бесплатно распространяются фирмой Microchip и периодически обновляются в разделе MPLAB IDE Archives. Для работы «PICkit 2 Programmer» требуется пакет «Net Framework», который интегрирован в дистрибутив PICkit 2 V2.61 Install with .NET Framework (30.3 Мб) .

Программное обеспечение (прошивка) программатора поставляется вместе с указанными программами и находится в каталогах ПК по примерному пути «C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex» или «C:\Program Files\Microchip\MPLAB IDE\PICkit 2\PK2V023200.hex». Версия прошивки может отличаться, в зависимости от версии оболочки или среды разработки. Разные версии программного обеспечения и управляющих программ между собой совместимы. МК PIC18F2550 можно запрограммировать с помощью программатора Extra-PIC .

При первом подключении изготовленного программатора с правильно запрограммированным МК DD1 к компьютеру операционная система найдет новое устройство «PICkit 2 Microcontroller Programmer» и автоматически установит для него драйвера.

В списке диспетчера устройств появится новое USB HID-совместимое устройство. HID (Human Interface Devices), согласно спецификации USB, – это устройства связи с пользователем, для которых в операционных системах Windows 98/2000/XP имеются встроенные HID-драйверы. В связи с этим необходимость в специальном драйвере отпадает, что, несомненно, удобно.

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

Оболочка «PICkit 2 Programmer» как и среда разработки MPLAB IDE поддерживает широкий спектр МК (перечень которых постоянно пополняется с выходом новых версий ПО фирмы Microchip). Студенческий программатор позволяет стирать, программировать и проверять память программ и EEPROM, устанавливать защиту кода, редактировать содержимое Flash и EEPROM МК, а также программировать микросхемы памяти EEPROM.

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

Для записи hex-файла в МК:
1) через меню File -> Import Hex открыть соответствующий hex-файл; окно Program Memory (и в соответствующих случаях окно EEPROM Data) заполнится новыми данными;
2) нажать в окне кнопку «Write»; происходит процесс программирования.

Для чтения hex-файла из МК:
1) нажать кнопку «Read»; происходит процесс чтения; окно Program Memory (и в соответствующих случаях окно EEPROM Data) заполнится новыми данными;
2) через меню File -> Export Hex сохранить прочитанные данные в hex-файл.

Для просмотра и смены битов конфигурации:
1) нажать в окне фразу «Configuration»; откроется новое окно;
2) при необходимости сменить биты и сохранить кнопкой «Save».

Для расчета калибровочной константы встроенного RC-генератора:
1) через меню Tools -> OSCCAL -> Auto Regenerate запускаем процедуру вычисления калибровочной константы; появляется запрос-подтверждение о том, что данные в МК в процессе калибровке будут стерты; соглашаемся с этим и подтверждаем нажатием на кнопку «Ok»;
2) происходит запись в МК специальной программы, которая генерирует на выводе МК меандр; программатор измеряет частоту и рассчитывает калибровочную константу, которая затем записывается в МК.

Для обновления программного обеспечения программатора:
1) отключить программатор от ПК и установить перемычку XT1;
2) подключить программатор к ПК и запустить оболочку «PICkit 2 Programmer»;
3) через меню Tools -> Download PICkit 2 Operating System открыть соответствующий hex-файл (например, «C:Program FilesMicrochipPICkit 2 v2PK2V023200.hex»); происходит процесс загрузки операционной системы;
4) отключить программатор от ПК, снять перемычку XT1, снова программатор подключить к ПК, запустить оболочку «PICkit 2 Programmer» и при желании проверить номер версии программного обеспечения через меню Help -> About.

Для использования в режиме USB-UART преобразователя:
1) через меню Tools -> UART Tool… открыть интерфейсное окно обмена;
2) к линии Data программатора подключить линии «передатчика» (TX), к линии Clock программатора подключить линии «приемника» (RX), обязательно подключить линии общего провода (Gnd) и питания +5 В (Vcc) (без входящего питания работать не будет);
3) выбрать необходимую скорость и нажать кнопку «Connect»;
4) провести обмен данными с устройством.

Для использования в режиме логического анализатора:
1) через меню Tools -> Logic Tool… открыть интерфейсное окно обмена;
2) выбрать кнопками режим работы Mode: «Logic I/O» «Analyzer»;
3) линии Data программатора соответствует «Pin 4», линии Clock – «Pin 5»; определить режимы работы этих линий – либо приём входящих сигналов, либо установка исходящих сигналов на линиях Data и Clock.
При всей простоте схемы, этот программатор можно назвать маленькой лабораторией, где есть богатый набор дополнительных функций. Более подробно о работе с программатором, в том числе и в режиме отладчика, можно ознакомиться в руководстве пользователя .

Работа программатора в среде программирования MPLAB IDE:

1) подключаем программатор к ПК; запускаем MPLAB IDE; подключаем МК к программатору;
2) через меню Configure -> Select Device… в появившемся окне из выпадающего списка Device выбираем соответствующий тип программируемого МК и нажимаем кнопку «Ok»;
3) через меню Programmer -> Select Programmer выбираем PICkit 2; происходит процесс обмена с программатором и проверка на соответствие выбранного в п.2 МК;
4) для записи hex-файла в MK: через меню File -> Import… открываем соответствующий hex-файл; нажимаем в меню Programmer -> Program; происходит процесс записи;
5) для чтения hex-файла в MK: нажимаем в меню Programmer -> Read; происходит процесс чтения; нажимаем в меню File -> Export…, в появившемся окне в одной закладке предлагается указать область памяти для сохранения, биты конфигурации, дамп памяти, идентификатор МК, а в другой закладке тип файла (выбираем тип INHX32) и, наконец, нажимаем кнопку «Ok» и сохраняем соответствующий hex-файл; зачитанный hex-файл также можно посмотреть в машинных кодах и терминах Ассемблера через меню View -> Program Memory.

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

Необходимо отметить, что приведенный способ программирования из MPLAB это лишь частный случай взаимодействия с программатором. В реальной жизни в MPLAB пишут и отлаживают программы, т.е. работают с проектами. В случае если проект открыт (а именно так чаще и происходит), можно сразу программировать выбранный МК через меню или через кнопки быстрого доступа. Это, несомненно, очень удобно, когда все инструменты сосредоточены в одной программе. Вторым преимуществом, в отличии от оболочки «PICkit 2 Programmer», на наш взгляд, является более понятное и наглядное представление битов конфигурации в меню Configure -> Configuration Bits.

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

Перед установкой МК в панель обязательно убедитесь, что указанное расположение выводов соответствует выбранному вами МК. Для этого, обратитесь к официальной документации Data Sheets и Programming Specifications на соответствующий МК.

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

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

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

На фотографии студенческий USB программатор и PICkit2.

Стоимость студенческого программатора в розничных ценах:

Другие статьи

PICKIT2 облегченная версия - Микроконтроллеры и Технологии

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

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

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

Светодиод 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 программатора в этом случае не используется.

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

Дроссель 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" — представление разрядов слова конфигурации в соответствующем окне.

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

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

Для начала освоения и практического применения микроконтроллеров разработчику необходим дешевый и доступный инструментарий. Интернет наводнен различными схемами простых программаторов и каждый "совершенствует" их под то, что есть под рукой и выкладывает на всеобщее обозрение новый клон "универсального программатора" который точно работает, например, с контроллером PIC16F84, но желающие могут проверить работу со всеми остальными контроллерами. Поэтому наиболее частые вопросы на всевозможных форумах посвященных электронике звучат примерно так: "Помогите разобраться со схемой программатора взятой с сайта www…. Вчера отлично работал с контроллером ууу, а сегодня с xxx отказывается работать. В чем причина. ". Или "перепробовал mmm схем программаторов, ни один не работает! Дайте ссылку на проверенный программатор. "

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

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

  1. светодиоды, показывающие режим работы программатора
  2. кнопка
  3. с помощью такого ушка программатор можно носить как брелок ;)
  4. разъем mini USB
  5. маркировка 1-го вывода разъема программатора
  6. разъем для подключения программируемого устройства

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

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


Рис. 2. Типовая схема подключения внутрисхемного программатора

PICkit 2 работает под управлением своей собственной оболочки или под управлением среды разработки MPLAB IDE. При работе программатора/отладчика под управлением оболочки "PICkit 2 Programmer" PICkit2 позволяет стирать, программировать и проверять память программ и EEPROM, устанавливать защиту кода, редактировать содержимое Flash и EEPROM микроконтроллеров, а также программировать микросхемы памяти EEPROM, CAN-драйверы и ключи Keeloq. Помимо этих стандартных функций, программатор PICkit2 позволяет осуществлять ряд интересных действий.

Дополнительные возможности программатора PICkit2

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

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

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

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

Выводы программатора PICkit 2

Выводы микроконтроллера UART

PICkit2 не может обеспечивать питанием отлаживаемую плату когда используется UART Tool. Вывод Vdd программатора PICkit2 должен быть подключен к напряжению питания отлаживаемой платы.

Сигналы TX и RX проинвертированны, т.е. уровень Start Bit = GND, Stop Bit = Vdd. Программатор PICkit 2 нельзя подсоединять к сигналам RS-232 (+/-12В).

Logic Tool позволяет создавать воздействия и отслеживать состояние сигналов разрабатываемого устройства. Поддерживается 2 режима: Logic I/O и Analyzer. Подключив соответствующие каналы PICkit2 к сигнальным линиям разрабатываемого устройства, "Logic I/O" позволяет формировать логические уровни (4 канала) и осуществлять мониторинг состояния уровней цифровых сигналов (3 канала), а "Analyzer" отображенать формы до трех цифровых сигналов, с возможностью старта их записи по заданному условию (нарастание/спад фронта сигнала, низкий/высокий уровень), а также по комбинации нескольких условий.

В оболочке PICkit2, каждому отладчику/программатору PICkit2 можно назначить собственное имя для идентификации, что позволяет использовать несколько PICkit2 для отладки одного контроллера. При этом, например, один может быть использован утилитой Logic Tool, второй - UART Tool, третий, как отладчик и т.д.

PICkit 2 Programmer-To-Go позволяет, записав в память PICkit2 программу "прошивки" микроконтроллера, программировать любой PIC, за исключением PIC32, нажатием одной кнопки, без использования ПК (необходимо только питание по USB от ПК или автономного USB-источника питания).

Утилита для работы с программатором-отладчиком PICkit 2 из командной строки

Утилита позволяет программировать все контроллеры, которые поддерживает последняя версия GUI-оболочки PICkit 2, микросхемы EEPROM с последовательным интерфейсом, KEELOQ-кодеры. При этом поддерживается несколько подключенных к ПК PICkit2, с идентификацией по Unit ID.

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

Утилита тестировалась на совместимость с операционными системами Windows XP SP2 и Windows Vista.

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

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

Внутрисхемное программирование под средой разработки MPLAB IDE сходно с программированием из-под оболочки PICkit2: можно записывать и считывать отдельно память программ и EEPROM, стирать память микроконтроллера и проверять ее на чистоту.

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


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

* Примечание. Для внутрисхемной отладки желательно иметь новую версию PICkit2 с красной кнопкой, выпускающуюся с сентября 2007 г. Если у вас предыдущая версия PICkit2, то для обновления нужно слегка модифицировать схему, или добавить подтягивающие резисторы к GND на линии PGD и PGC в схеме, так как PICkit2 изначально планировался только как программатор. Инструкцию по обновлению PICkit2 можно скачать с нашего сайта. Описание переделок: http://www.microchip.com.ru/1010/download/PIC%20Kit2/PICkit2UpgradeRU.pdf .

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


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

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

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

Работа с Pickit2

Программатор может работать под управлением собственной программы PicKit2 или среды для разработки Mplab. Под управлением собственной оболочки программатор позволяет Стирать, Записывать, Верифицировать(Проверять). Устанавливать защиту микроконтроллеры Microchip, а также осуществлять программирование микросхем памяти 24, 25, 93 сериии и ключи Keeloq.

Оболочка программы Pickit2.

В режиме программатора Вы имеете возможность формировать напряжение питания для программируемого контроллера в диапазоне от 2,5В до 5В, с шагом 0,1В. Максимальный ток, который может выдать программатор в данном режиме составляет 100 мА. Если Ваша схема потрбляет больше - используйте внешний блок питания. Для микроконтроллеров с внешним сбросом оболочка программатора позволяет управлять сигналом сброса микроконтроллера. Некоторые микроконтроллеры имеют внутренний RC генератор калибровочная константа для которого хранится в конце флеш памяти данных микроконтроллера. Если по какой-либо причине Вы затерли данную константу, программатор PickKit2 позволит Вам ее восстановить. Для этого в микроконтроллер записывается специальная программа, которая генерит на выходе меандр, что позволяет программатору измеритьи вычислить калибровочную константу, которая затем, может быть снова записана в микроконтроллер.

В режиме UART Tool.

Вы можете использовать PicKit2 как средство отладки последовательного протокола. PicKit2 поддерживает скорость до 38 кбит. В данном режиме программатор не может осуществлять питание отлаживаемого микроконтроллера. Для правильной работы необходимо подать напряжение питания отлаживаемого микроконтроллера на вывод 2 (VDD) программатора.

В режиме Logic Tool.

В данном режиме Вы имеете возможность отслеживать состояние по 3 каналам, а также создавать формировать логические уровни по 4 каналам (режим Logic I/O). Режим Logic Analyzer позволяет отображать формы сигнала в 3 каналах, с возможностью старта записи сигналов по разнообразным условиям (Спад/Нарастание/Уровень).

Список поддерживаемых микросхем:

PIC10F200 PIC10F202 PIC10F204 PIC10F206
PIC10F220 PIC10F222
PIC12F508 PIC12F509 PIC12F510 PIC12F519
PIC16F505 PIC16F506
PIC16F54 PIC16F57 PIC16F59


PIC12F609 PIC12HV609
PIC12F615 PIC12HV615
PIC12F629 PIC12F635# PIC12F675 PIC12F683#
PIC16F610 PIC16HV610 PIC16F616 PIC16HV616
PIC16F627 PIC16F628 PIC16F639
PIC16F627A PIC16F628A PIC16F648A
PIC16F630 PIC16F631 PIC16F636# PIC16F676
PIC16F677 PIC16F684# PIC16F685# PIC16F687#
PIC16F688# PIC16F689# PIC16F690#
PIC16F72+
PIC16F73+ PIC16F74+ PIC16F76+ PIC16F77+
PIC16F716
PIC16F737+ PIC16F747+ PIC16F767+ PIC16F777+
PIC16F785 PIC16HV785
PIC16F84A PIC16F87# PIC16F88#
PIC16F818# PIC16F819#
PIC16F870 PIC16F871 PIC16F872
PIC16F873 PIC16F874 PIC16F876 PIC16F877
PIC16F873A PIC16F874A PIC16F876A PIC16F877A
PIC16F882#
PIC16F883# PIC16F884# PIC16F886# PIC16F887#
PIC16F913# PIC16F914# PIC16F916# PIC16F917#
PIC16F946#


PIC18F242 PIC18F252 PIC18F442 PIC18F452
PIC18F248 PIC18F258 PIC18F448 PIC18F458
PIC18F1220 PIC18F1320 PIC18F2220
PIC18F1230 PIC18F1330
PIC18F2221 PIC18F2320 PIC18F2321 PIC18F2331
PIC18F2410 PIC18F2420 PIC18F2423 PIC18F2431
PIC18F2450 PIC18F2455 PIC18F2458* PIC18F2480
PIC18F2510 PIC18F2515 PIC18F2520 PIC18F2523
PIC18F2525 PIC18F2550 PIC18F2553* PIC18F2580
PIC18F2585
PIC18F2610 PIC18F2620 PIC18F2680 PIC18F2682
PIC18F2685
PIC18F4220 PIC18F4221 PIC18F4320 PIC18F4321
PIC18F4331 PIC18F4410 PIC18F4420 PIC18F4423
PIC18F4431 PIC18F4450 PIC18F4455 PIC18F4458*
PIC18F4480
PIC18F4510 PIC18F4515 PIC18F4520 PIC18F4523
PIC18F4525 PIC18F4550 PIC18F4553* PIC18F4580
PIC18F4585
PIC18F4610 PIC18F4620 PIC18F4680 PIC18F4682
PIC18F4685 PIC18F6310 PIC18F6390 PIC18F6410
PIC18F6490 PIC18F6520 PIC18F6525 PIC18F6527
PIC18F6585 PIC18F6620 PIC18F6621 PIC18F6622
PIC18F6627 PIC18F6628* PIC18F6680 PIC18F6720
PIC18F6722 PIC18F6723*
PIC18F8310 PIC18F8390 PIC18F8410 PIC18F8490
PIC18F8520 PIC18F8525 PIC18F8527 PIC18F8585
PIC18F8620 PIC18F8621 PIC18F8622 PIC18F8627
PIC18F8628*
PIC18F8680 PIC18F8720 PIC18F8722 PIC18F8723*

PIC18F24J10 PIC18F25J10 PIC18F44J10 PIC18F45J10
PIC18LF24J10 PIC18LF25J10 PIC18LF44J10 PIC18LF45J10
PIC18F63J11* PIC18F63J90* PIC18F64J11* PIC18F64J90*
PIC18F65J10 PIC18F65J11 PIC18F65J15 PIC18F65J50*
PIC18F65J90
PIC18F66J10 PIC18F66J11 PIC18F66J15 PIC18F66J16
PIC18F66J50* PIC18F66J55* PIC18F66J60 PIC18F66J65
PIC18F67J10 PIC18F67J11 PIC18F67J50* PIC18F67J60
PIC18F83J11 PIC18F83J90 PIC18F84J11 PIC18F84J90
PIC18F85J10 PIC18F85J11 PIC18F85J15 PIC18F85J50*
PIC18F85J90
PIC18F86J10 PIC18F86J11 PIC18F86J15 PIC18F86J16
PIC18F86J50* PIC18F86J55* PIC18F86J60 PIC18F86J65
PIC18F87J10 PIC18F87J11 PIC18F87J50* PIC18F87J60
PIC18F96J60 PIC18F96J65 PIC18F97J60


PIC24FJ16GA002 PIC24FJ16GA004
PIC24FJ32GA002 PIC24FJ32GA004
PIC24FJ48GA002 PIC24FJ48GA004
PIC24FJ64GA002 PIC24FJ64GA004
PIC24FJ64GA006 PIC24FJ64GA008 PIC24FJ64GA010
PIC24FJ96GA006 PIC24FJ96GA008 PIC24FJ96GA010
PIC24FJ128GA006 PIC24FJ128GA008 PIC24FJ128GA010

PIC24HJ12GP201* PIC24HJ12GP202*
PIC24HJ64GP206 PIC24HJ64GP210 PIC24HJ64GP506
PIC24HJ64GP510
PIC24HJ128GP206 PIC24HJ128GP210 PIC24HJ128GP306
PIC24HJ128GP310 PIC24HJ128GP506 PIC24HJ128GP510
PIC24HJ256GP206 PIC24HJ256GP210 PIC24HJ256GP610


dsPIC33FJ12GP201* dsPIC33FJ12GP202*
dsPIC33FJ64GP206 dsPIC33FJ64GP306 dsPIC33FJ64GP310
dsPIC33FJ64GP706 dsPIC33FJ64GP708 dsPIC33FJ64GP710
dsPIC33FJ128GP206 dsPIC33FJ128GP306 dsPIC33FJ128GP310
dsPIC33FJ128GP706 dsPIC33FJ128GP708 dsPIC33FJ128GP710
dsPIC33FJ256GP506 dsPIC33FJ256GP510 dsPIC33FJ256GP710

dsPIC33FJ12MC201* dsPIC33FJ12MC202*
dsPIC33FJ64MC506 dsPIC33FJ64MC508 dsPIC33FJ64MC510
dsPIC33FJ64MC706 dsPIC33FJ64MC710
dsPIC33FJ128MC506 dsPIC33FJ128MC510 dsPIC33FJ128MC706
dsPIC33FJ128MC708 dsPIC33FJ128MC710
dsPIC33FJ256MC510 dsPIC33FJ256MC710

dsPIC30F2010 dsPIC30F2011 dsPIC30F2012
dsPIC30F3010 dsPIC30F3011 dsPIC30F3012
dsPIC30F3013 dsPIC30F3014
dsPIC30F4011 dsPIC30F4012 dsPIC30F4013
dsPIC30F5011 dsPIC30F5013 dsPIC30F5015
dsPIC30F5016
dsPIC30F6010A dsPIC30F6011A dsPIC30F6012A
dsPIC30F6013A dsPIC30F6014A dsPIC30F6015

HCS200* HCS201* HCS300* HCS301* HCS320*
HCS360* HCS361* HCS362*

24LC00 (AA)(C)* 25LC010A (AA)*
24LC01B (AA)* 25LC020A (AA)*
24LC02B (AA)* 25LC040A (AA)*
24LC04B (AA)* 25LC080A (AA)*
24LC08B (AA)* 25LC080B (AA)*
24LC16B (AA)* 25LC160A (AA)*
24LC32A (AA)* 25LC160B (AA)*
24LC64 (AA)(FC)* 25LC320A (AA)*
24LC128 (AA)(FC)* 25LC128 (AA)*
24LC256 (AA)(FC)* 25LC256 (AA)*
24LC512 (AA)(FC)* 25LC512 (AA)*
24LC1025 (AA)(FC)* 25LC1024 (AA)*


93LC46A/B/C (AA)(C)*
93LC56A/B/C (AA)(C)*
93LC66A/B/C (AA)(C)*
93LC76A/B/C (AA)(C)*
93LC86A/B/C (AA)(C)*