Лучшее из возможного!

Размер шрифта:  Aa Aa Aa Aa Aa



Программатор для PIC - аналог MPLAB ICD2

Принципиальная схема программатора для PIC

Описание опубликовано в журнале «Радио» № 6 за 2006 г., стр. 28...31 Два универсальных программатора.

PIC контроллеры от Microchip пользуются не меньшей популярностью среди любителей и профессионалов, чем AVR от Atmel. У каждого из этих семейств есть свои достоинства и недостатки. Программировать PIC также просто, как AVR, для этого могут быть использованы очень простые схемы программаторов, представляющие собой просто буферные элементы для согласования уровней выводов COM или LPT порта компьютера с микроконтроллером, например широко распространенный PonyProg.

Недостатки такого решения были рассмотрены в моей статье, посвященной описанию программатора для AVR. Все сказанное там, в полной мере относится и к PIC контроллерам. Справедливым остается и утверждение, что гораздо лучше и надежнее воспользоваться программатором для PIC, разработанным производителем этих микроконтроллеров. Разумеется, подойдя к этому вопросу творчески, а не слепо копируя фирменный образец.

Исходя из этих предпосылок и был разработан предлагаемый простой программатор. Прототипом его послужил внутрисхемный отладчик-программатор MPLAB ICD2 компании Microchip. Его упрощенный аналог MICD2-MC1 серийно выпускается в России. Описания еще нескольких подобных конструкций внутрисхемных программаторов можно найти в Internet. Все эти схемы отличаются только источниками питания, наличием или отсутствием буферных каскадов и т.п. деталями. Основа же – микроконтроллер PIC16F876A с фирменной прошивкой от Miсrochip – остается неизменным. К счастью, Miсrochip не делает из нее секрета и свободно распространяет с каждой версией MPLAB-IDE.

Принципиальная схема основной платы программатора для PIC показана на рисунке. Его основой является контроллер PIC16F876A. DD1 типа MAX232 служит для согласования уровней COM порта с уровнями TTL. DD3 78S40 (1156ЕУ1) - это преобразователь напряжения 5/12в, а DD4 ADG411BR содержит ключевые каскады для коммутации напряжения 5 и 12 В. С целью упрощения конструкции из схемы фирменного ICD2 исключены буферные элементы на линиях CLK и DAT, а также электронный потенциометр для регулирования напряжения программирования. Его функцию выполняет обычный переменный резистор R10. Это не вызывает каких-либо ограничений в работе прибора, т.к. в современных PIC это напряжение служит только для перевода микроконтроллера в режим программирования и может иметь значение от 9 до 14 В. В его оперативной регулировке нет никакой необходимости.

В отличие от программатора ICD2 это полноценное устройство, позволяющее программировать контроллеры не только внутрисхемно, но также и непосредственно в программаторе. В список поддерживаемых входят практически все PIC микроконтроллеры с FLASH памятью. Именно они чаще всего и используются в настоящее время. Управление осуществляется через COM порт персонального компьютера. Возможно подключение программатора к USB через адаптер USB-COM. В фирменную схему были внесены еще некоторые дополнения с целью расширения функционалных возможностей программатора. Что и для чего было изменено читайте в подробном описании.

Программатор PIC работает под управлением Интегрированной Среды Разработки MPLAB-IDE от Microchip. Ее последняя версия всегда свободно доступна на http://www.microchip.com. Желательно использовать версию не ниже 7. Программатор может использоваться и как внутрисхемный отладчик.

Контроллер PIC16F876A перед установкой в схему необходимо запрограммировать. Его прошивка, которая входит в состав MPLAB IDE, состоит из двух частей – загрузчика и операционной системы. Для работы достаточно записать в память микроконтроллера только загрузчик, операционная система загружается средствами MPLAB. Однако будет меньше проблем при запуске программатора, если предварительно записать в память контроллера оба части, которые я объединил в прилагаемой прошивке.


PDF Подробное описание
ZIP Плата в Sprint Layout 4.0 и схема в Orcad 9.1
ZIP Прошивка контроллера PIC16F876A