Программатор
В сети встречается много схем простых программаторов, работающих от COM
порта и не требующих
дополнительного источника питания. Попробовав несколько вариантов,
ни один из них назвать рабочим на сто процентов я не могу. Причин
неудовлетворительной работы таких программатора несколько. Во-первых
сигналы интерфейса RS232 плохо совместимы с TTL уровнями. Логическая "1"
- это +12 вольт относительно GND интерфейса, а логический "0" это -12
вольт. Таким образом, TTL уровень нуля - сигнал меньше +2 вольт
может интерпретироваться интерфейсом RS232 все равно как единица.
Во-вторых мощности COM порта может быть не достаточно для питания
микроконтроллера. Например, программатор работает от COM порта
мультикарты, а порт материнской платы его уже не тянет. В-третьих во
время программирования нет требуемой синхронизации ( видимо это связано с
наличием у COM порта буферного регистра ). В результате после
программирования исполняемый код может разместится в памяти программ
микроконтроллера начиная не
с нулевого адреса, а с любого другого. В итоге команды GOTO и CALL не
работают. Для некоторых программаторов (например для PIX) чтобы избежать
этой ситуации предлагается замедлить работу компьютера, программно отключив
на время кеш второго уровня. Но и это не всегда помогает.
Программаторы, использующие параллельный порт компьютера перечисленных
недостатков лишены (хотя имеют некоторые свои).
Конечно, хотелось бы иметь программатор, который умеет делать все. Т.е. не
только записывать данные в память программ, но и читать, редактировать
и записывать память данных, дизассемблировать ... В тот момент, когда я
начинал заниматься PICами найти такой программатор в сети не удалось (
наверное плохо искал ;-) ). Попробовал написать сам, вот, что из этого
получилось.
PIC программатор имеет удобный, настраиваемый интерфейс;
работает под Windows 95, 98, ME, NT, 2000 и XP;
может программировать PIC16C84, PIC16F84, PIC16F84A, PIC16F627,
PIC16F627A, PIC16F628, PIC16F628A, PIC12F629, PIC12F675, PIC16F873,
PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877
и PIC16F877A.
Предлагаемая программа позволяет делать следующее:
- читать и записывать данные в память программ микроконтроллера;
- читать, редактировать и записывать данные в память данных микроконтроллера;
- читать, редактировать и записывать данные в идентификатор микроконтроллера;
- читать, редактировать и записывать данные в слово конфигурации микроконтроллера;
- снимать защиту с микроконтроллера ( но не взламывать ).
- переводить в ассемблер данные, прочитанные из микроконтроллера или ‘.hex’ файла.
По вопросам приобретения полной версии программы вместе с готовым
программатором обращайтесь сюда:
www.avtomatizacij.narod.ru.
Схема программатора и бесплатная ограниченная версия программы находятся
в папке "Программатор". Это версия 4.10a от 1 июня 2005 года.
Ограниченная врсия отличается от полной тем, что в
ней часть микроконтроллеров можно только читать, но нельзя записывать
и стирать. Ограничения касаются следующих микроконтроллеров: PIC16F873,
PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877 и
PIC16F877A.
Другие программы, работающие с этой схемой:
- IC-PROG. -
очень универсальная программа. Поддерживает практически весь ряд PIC
микроконтроллеров и не только их. Для того, чтобы IC-PROG работал с
этой схемой, следует использовать следующие настройки: программатор
= ProPic 2 Programmer, параметры сигналов = установить везде инверсию.
2002 - 2005