Отличительные особенности этого программатора для микроконтроллеров семейства PIC и микросхем памяти — интерфейс USB, простая схема и доступность для любительского повторения Он позволяет загрузить программу практически в любой микроконтроллер производства фирмы Microchip с FLASH-памя-тью и, кроме того, выполняет целый ряд полезных при проверке и налаживании микроконтроллерных устройств функций.
Широкому распространению микроконтроллеров фирмы Microchip способствует свободное распространение документации не только на сами микросхемы, но и на отладочные средства для них. Например в руководстве пользователя программатора-отладчика PICkit 2 дается полная принципиальная схема этого программатора с интерфейсом USB (приложение В). Такой программатор, однако, слишком сложен для повторения "один к одному". Автор разработал его упрощенную версию. От оригинального PICkit 2 он унаследовал следующие функции: программирование микроконтроллеров с напряжением питания 5 В преобразователь интерфейса USB-UART, часть функций логического анализатора, автоматическое восстановление калибровочной константы встроенного RC-гeнератора микроконтроллеров, где такая константа используется, обновление операционной системы программатора с помощью стартового загрузчика. После несложной доработки появляется возможность программировать микроконтроллеры и с напряжением питания менее 5 В
Схема программатора показана на рис. 1. Установленный в нем микроконтроллер PIC18F2550 (DD1) имеет встроенный контроллер USB, информационные линии которого D- и D+ подключены к соответствующим контактам розетки XS1, предназначенной для соединения программатора с компьютером. Согласно спецификации USB, разъем ведомого устройства (программатора) типа В а ведущего (компьютера) типа А. Это гарантирует их правильное соединение стандартным USB-кабелем.
Светодиод HL1 включен, когда на программатор с шины USB (контактов 1 и 4 розетки XS1) поступает напряжение питания 5 В Светодиод HL2 сигнализирует, что между программатором и компьютером идет обмен информацией Тактовая частота микроконтроллера (20 МГц) задана кварцевым резонатором ZQ1.
Перемычку S1 устанавливают, когда необходимо перевести программатор в режим обновления программы микроконтроллера DD1 по интерфейсу USB. При ее наличии после включения питания в микроконтроллере начинает работать хранящаяся в его памяти программа начальной загрузки (bootloader). При обычной работе программатора bootloader не используется и перемычка должна быть снята. К
Напряжение программирования Vpp, которое может лежать в интервале +8,5...14 В формирует импульсный преобразователь напряжения, основные элементы которого — транзистор VT1, накопительный дроссель L1, диод VD1 и сглаживающий конденсатор С4. Открывающие транзистор импульсы поступают с вывода 12 микроконтроллера. Стабилизация напряжения осуществляется за счет программного изменения микроконтроллером коэффициента заполнения этих импульсов. Напряжение обратной связи стабилизатора поступает с резистивного делителя R7R9 на вывод 2 микроконтроллера — один из входов встроенного в него АЦП.
Транзисторы VT2—VT4 по командам микроконтроллера DD1 коммутируют цепи Vp
p и V
cc, по которым на программируемый микроконтроллер в нужном порядке поступают напряжения соответственно +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 В. Цепь V
cc программатора в этом случае не используется
На рис. 3 изображена односторонняя печатная плата программатора. Она выполнена таким образом, что может быть легко разрезана на две (собственно программатор и адаптер с панелью XS2), соединяемые лишь пятью перемычками. Для предварительно запрограммированного с помощью другого программатора микроконтроллера DD1 на плате предусмотрена панель.
Дроссель L1 — ЕС24-681К, CECL-681K или CW68-681K. Его можно изготовить самостоятельно, намотав 250—300 витков провода ПЭЛ диаметром 0,1 мм на стержневой или гантелеобразный фер-ритовый магнитопровод. Поскольку преобразователь напряжения охвачен обратной связью, особенно точно подбирать индуктивность дросселя не требуется.
Транзисторы КТ3102А и КТ361Б можно заменять другими маломощными кремниевыми соответствующей структуры, а диод КД522Б — импортным аналогом 1N4148
Рассматриваемый программатор, как и оригинальный PICkit 2, работает под управлением оболочки "PICkit 2 Programmer" (http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit%202%20v2.61.00%20Setup%20A.zip) или в среде разработки программ MPLAB IDE (http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_8_43.zip). Оба приложения бесплатно распространяются фирмой Microchip и периодически обновляются. Для работы "PICkit 2 Programmer" требуется пакет "Net Framework" Если на компьютере этот пакет не установлен, по адресу http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit%202%20v2.61.00%20Setup%20dotNET%20A.zip его можно получить вместе с "PICkit 2 Programmer".
Программа для микроконтроллера DD1 имеется в обоих указанных выше дистрибутивах. После их установки на компьютере путь к НЕХ-файлу для загрузки в этот микроконтроллер ..\PICkit.2.v2\PK2V023200.hex или ..\MPUVB IDE\PICkit2\PK2V023200.hex. Поскольку программа постоянно совершенствуется, ее версия (число после буквы V в имени файла) может быть и другой.
Собранный без ошибок программатор в налаживании не нуждается. Если он не работает, прежде всего следует убедиться в правильной установке элементов на плате, отсутствии обрывов и замыканий проводников. При первом подключении программатора с правильно запрограммированным микроконтроллером DD1 к компьютеру в списке диспетчера устройств появится новое USB HID-совместимое устройство. Для таких устройств в операционных системах семейства Windows имеются встроенные драйверы. Они будут установлены автоматически, что, несомненно, удобно. Оболочка "PICkit 2 Programmer" и среда MPLAB IDE позволяют программировать практически все микроконтроллеры семейства PIC. Их перечень постоянно пополняется.
Для начала работы с "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 (V
cc) подают от него напряжение +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) Эти контакты могут служить входами (компьютер регистрирует логические уровни поданных на них сигналов) или выходами (компьютер устанавливает на них заданные логические уровни)
Более подробно о работе с оболочкой "PICkit 2 Programmer".
Программатор может работать и под управлением среды разработки 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” — представление разрядов слова конфигурации в соответствующем окне.
Материал взят из: Журнала Радио 2010 №11
В архиве печатная плата в формате Sprint-Layout
pickit2lite.rar [9,79 Kb] (cкачиваний: 1846)