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

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

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

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

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

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

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

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


Архив для статьи "PICKIT2 облегченная версия"
Описание: Прошивка контроллера, макет печатной платы в формате Lay, инструкция на русском языке
Размер файла: 1.56 MB Количество загрузок: 3 182 Скачать

Комментарии  

-5 #1 kit 05.02.2015 13:30
вот вообще замечательная идея: собирать программатор на котором должен стоять уже прошитый чип..супер просто!
Сообщить модератору
+8 #2 ADS 21.02.2015 13:16
Dmitriy. собрал данный программатор.ра ботает отлично.спасибо автору.
Сообщить модератору
0 #3 Александрa 16.11.2015 22:46
Собирал данный программатор ещё в 2011 году.Отличная штукенция.Больш ая благодарность Т. Носову. Но вот вчера при подключении к ПК замкнул шнурок USB (китайцам привет).Шнур перепаял,читает МК,но не записывает.Наде юсь программа слетела с ПИКа. Жаль если тело подпалило.
Сообщить модератору