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.

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

 

Наименование

Цена, руб.

PIC18F2550

180

гнездо USB-B

30

кварц 20 МГц

20

дроссель EC24

3

ZIF-панель

100

прочее

46

ВСЕГО

379

 

Файлы:
Плата
Прошивка
Руководство пользователя на русском языке PicKit-2
PICkit™ 2 Programmer/Debugger User’s Guide (2.07 Мб)
PICkit 2 V2.61 Install (3.9 Мб)
PICkit 2 V2.61 Install with .NET Framework (30.3 Мб)
MPLAB IDE v8.43 Full Release Zipped Installation (111.0 Мб)
MPLAB IDE Archives — архив последних обновлений

6 комментариев