Программатор PIC16x84 и PIC16F62x

В сети встречается много схем простых программаторов, работающих от COM порта и не требующих дополнительного источника питания. Попробовав несколько вариантов, ни один из них назвать рабочим на сто процентов я не могу. Причин неудовлетворительной работы таких программатора несколько. Во первых сигналы интерфейса RS232 плохо совместимы с TTL уровнями. Логическая “1” – это +12 вольт относительно GND интерфейса, а логический “0” это -12 вольт. Таким образом, TTL уровень нуля – сигнал меньше +2 вольт может интерпретироваться интерфейсом RS232 все равно как единица. Во вторых мощности COM порта может быть не достаточно для питания микроконтроллера. Например, программатор работает от COM порта мультикарты, а порт материнской платы его уже не тянет. В третьих во время программирования нет требуемой синхронизации ( видимо это связано с наличием у COM порта буферного регистра ). В результате после программирования исполняемый код может разместится в памяти программ микроконтроллера начиная не с нулевого адреса, а с любого другого. В итоге команды GOTO и CALL не работают. Для некоторых программаторов (например для PIX) чтобы избежать этой ситуации предлагается замедлить работу компьютера, программно отключив на время Кеш второго уровня. Но это не помогает.
Программаторы, использующие параллельный порт компьютера перечисленных недостатков лишены.
Конечно хотелось бы иметь программатор, который умеет делать все. То есть не только записывать данные в память программ, но и читать, редактировать и записывать память данных, дизассемблировать … В тот момент, когда я начинал заниматься PICами найти такой программатор в сети не удалось ( наверное плохо искал). Попробовал написать сам, вот, что из этого получилось.

PIC программатор имеет удобный, настраиваемый интерфейс, работает под Windows 95, Windows 98, Windows ME, Windows NT и Windows 2000, может программировать PIC16C84, PIC16F84, PIC16F84A, PIC16F627, PIC16F628, PIC12F629 и PIC12F675.

Предлагаемая программа позволяет делать следующее:
– читать и записывать данные в память программ микроконтроллера;
– читать, редактировать и записывать данные в память данных микроконтроллера;
– читать, редактировать и записывать данные в идентификатор микроконтроллера;
– читать, редактировать и записывать данные в слово конфигурации микроконтроллера;
– снимать защиту с микроконтроллера ( но не взламывать ).
– переводить в ассемблер данные, прочитанные из памяти программ микроконтроллера или hex файла.

Ограниченную версию программы можно скачать на сайте: pic16f84.narod.ru. Это версия 4.10a ( программа + схема + файл помощи = zip файл =350k ).

Схема программатора представлена на рисунке. Это немного измененная схема программатора Prog_PIC 1.04.

Печатная плата программатора поддерживает PIC16x84, PIC16F62x и PIC12F6xx. Масштаб – около 200%. Разводка выполнена в программе Sprint Layout 3.0. При разводке были учтены все замечания и дополнения, указанные на странице, посвященной улучшению схемы программатора, а именно: на входе КРЕНа установил электролит 10 мкФ; на выходе КРЕНа установил 2.2 мкФ; к 13 ноге ЛН3 подпаял подтягивающее сопротивление 10 к; на 5-ю ножку ЛН3 повесил 220 пФ; дополнительно установил два светодиода, подключенных последовательно с резисторами между корпусом и: первый к контакту 4 панельки PIC; второй к контакту 14 панельки PIC, вместо двух светодиодов я взял один двухцветный.

Печатная плата со стороны проводников.

Печатная плата со стороны элементов.

Программы, работающие с этой схемой:
IC-Prog. – очень универсальная программа. Поддерживает практически весь ряд PIC микроконтроллеров и не только их. Для того, чтобы IC-Prog работал с этой схемой, следует использовать следующие настройки:
Программатор = ProPic 2 Programmer.
Параметры сигналов = установить везде инверсию.

Источник: pic16f84.narod.ru


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *