microchip

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

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

 

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

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


Рис. 1. Внешний вид программатора PICkit2.
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. Помимо этих стандартных функций, программатор PICkit2 позволяет осуществлять ряд интересных действий.


Рис. 3. Программа “PICkit 2 Programmer”.

Список поддерживаемых микроконтроллеров.

Дополнительные возможности программатора 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 поможет восстановить калибровку генератора. Для этого в микроконтроллер записывается специальная программа, которая генерирует на выводе микроконтроллера меандр, программатор PICkit2 измеряет частоту и рассчитывает калибровочную константу, которая затем записывается обратно в микроконтроллер.

Если ваше устройство должно общаться с другими устройствами по UART, то вы можете использовать PICkit2 как средство отладки последовательных протоколов. UART Communication Tool позволяет задавать скорость до 38400 бод, и так же позволяет:
- Получать отладочную информацию из микроконтроллера
- Вести лог данных, получаемых от микроконтроллера, в текстовом файле
- Разрабатывать и отлаживать последовательную передачу по интерфейсу UART
- Посылать команды микроконтроллеру на этапе отладки.


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

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

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

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

(1) VPP

-

(2) Vdd

Напряжение питания

(3) GND

GND

(4) PGD

TX UART - логический уровень

(5) PGC

RX UART - логический уровень

(6) AUX

-

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

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

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

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

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

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


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

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


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

Список поддерживаемых микроконтроллеров.

Интерфейс командной строки.

Компания Microchip выпустила утилиту для работы с программатором PICkit 2 из командной строки. Таким образом, пользователь может создать управляющий bat-файл, программировать PIC-контроллеры из любой привычной среды разработки или управлять программатором из собственных приложений. Утилита позволяет программировать все микроконтроллеры, которые поддерживает последняя версия оболочки PICkit 2, микросхемы EEPROM с последовательным интерфейсом, KEELOQ-кодеры.
С помощью ключей запуска выбирается тип контроллера, устанавливается напряжение питания, диапазон адресов программирования, производится управление выводами питания и сброса . Утилита позволяет читать, программировать и верифицировать Flash и EEPROM память контроллера, а так же слово конфигурации, слово идентификации и калибровки OSCCAL.
Утилита тестировалась на совместимость с операционными системами Windows XP SP2 и Windows Vista.
Архив с утилитой PKtoCMD доступен по ссылке

Список поддерживаемых микроконтроллеров.

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

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

Номер заказа

Описание

PG164120

программатор PICkit2

DV164120

программатор PICkit2 + демонстрационная плата с PIC16F690

DV164121

PICkit2 Debug Express (программатор PICkit2 + демонстрационная плата с PIC16F887)

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


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

Другие варианты использования PICkit 2.

Отличительной особенностью программатора PICkit2 является доступность полной документации и исходных кодов прошивки для микроконтроллера, и программы оболочки для компьютера.
PICkit2 получает питание от USB, формирует регулируемые напряжения программирования и питания, а так же имеет 3 линии входа-выхода для подключения к программируемому устройству. Для возможности обновления прошивки в программаторе PICkit 2 реализован загрузчик. Используя все эти особенности, на основе программатора PICkit 2 возможно создание и отладка своего USB-устройства с возможностью в любой момент откатиться назад к его функциям программатора. С помощью бутлоадера, который прошит в программатор, в PICkit 2 можно прошить другие программы, тем самым, освоить работу с USB контроллерами Microchip. В сети Интернет есть масса примеров реализации на базе программатора HID-устройств (манипулятор мышка, джойстик, клавиатура); USB-анализаторов протоколов SPI, I2C; устройства с виртуальным COM-портом (есть даже пример реализации двух виртуальных COM-портов на одном USB микроконтроллере), составных USB устройств (реализация на одном контроллере нескольких функций, например составное устройство типа клавиатура и считыватель карт памяти). На нашем сайте вы так же сможете найти несколько примеров "нецелевого" использования программатора PICkit 2.

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

 

©2007 Гамма-Санкт-Петербург