Описание опубликовано в журнале «Радио» № 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.
Однако будет меньше проблем при запуске программатора, если предварительно записать в память
контроллера оба части, которые я объединил в прилагаемой прошивке.
|