Этот программатор я начал разрабатывать еще в 90-е годы прошлого века. Он задумывался как простой и дешевый
универсальный программатор для использования в любительских условиях с минимальными требованиями к компьютеру
и с возможностью расширения номенклатуры программируемых микросхем.
В дальнейшем программа неоднократно дорабатывалась, номенклатура поддерживаемых микросхем расширялась.
Последняя версия - август 2005г.
Она поддерживает следующие классы микросхем: PROM: 155PE3, 556PTxx;
EPROM: 2716...27512, 27C64...27C512;
EEPROM: W27C512, 28C16A, 28C17A, 28C64A, AT28C64B, AT28C256, AT29C256/257/512;
8051: 8751, 87C51, 87C51FA, 87C51FB, 87C51FC, 87C51RD+, AT89C51, AT89C52,
AT89C55, AT89C1051, AT89C2051, AT89C4051, AT89S53, AT89S8252;
PIC16: PIC12F629/675, PIC16F84/C84, PIC16F627/A, PIC16F628/A, PIC16F648A,
PIC16F73/74, PIC16F76/77, PIC16F873/874, PIC16F876/877, PIC16F876A/877A, PIC16C5xx,
PIC16C6x, PIC16CE6xx, PIC16C7x;
AVR: AT90S1200, AT90S2313, AT90S2323/2343, AT90S2333, AT90S4414/4434, AT90S4433,
AT90S8515/8535, ATtiny10/11, ATtiny12, ATtiny15, ATtiny28;
I2C: 24LC01...24LC512, PCA8581, PCF8582, ST24E16;
PIC18: PIC18Fxx2/xx8;
PIC12: PIC12C508/509, PIC12F508/509, PIC16F505.
Для ATMEL AVR поддерживаются все режимы программирования: как Low voltage, так и High voltage.
Т.е. можно программировать в параллельном режиме все поддерживаемые AVR микроконтроллеры.
Принципиальная схема основного блока программатора показана на рисунке. Его легко собрать своими руками.
Программатор представляет собой универсальный микропроцессорный контроллер на базе микроконтроллера
КР1830ВЕ31 (80C31). В его состав входят следующие узлы: ПЗУ DD3 для хранения управляющей программы,
ОЗУ DD5 для хранения данных, регистр для демультиплексирования адреса и данных DD2, параллельный порт
для связи с программируемой микросхемой DD4, а также узлы приемника и передатчика RS-232, осуществляющие
преобразование уровней – VT1 и VT2. Все эти элементы включены по стандартной схеме.
Основное отличие данного программатора от других – это возможность работы с любым компьютером,
под управлением любой операционной системы. Не обязательно Windows или DOS, даже не обязательно
IBM совместимый компьютер. Важно, чтобы имелся COM порт и стандартная коммуникационная программа
для работы с ним. Если нет COM порта, программатор можно подключить и к USB через адаптер USB-COM.
Поддерживаются кодировки DOS, Windows и KOI-8.
На компьютере должна быть запущена какая-либо коммуникационная программа, например «Telemax»,
входящая в комплект Norton Commander, «Terminal» из Windows и т.п. Я обычно пользуюсь простой,
но очень удобной программой
«Tera Term Pro 2.3».
Пользователь управляет процессом программирования, набирая на клавиатуре компьютера команды и наблюдая
на экране результаты их выполнения. Все команды состоят из одной или двух латинских букв, которые можно
набирать, как в верхнем, так и в нижнем регистре клавиатуры. За командой могут следовать один, два или
три цифровых параметра, разделенных пробелом. Не значащие нули слева можно не вводить, а команду редактировать
клавишей "Back Space". Ввод завершается нажатием "Enter". В случае какой-либо ошибки при вводе выдается
сообщение "ERROR", а на выполнение команд, последствия которых могут быть необратимы для программируемой
микросхемы, запрашивается подтверждение. Полный список всех доступных команд постоянно присутствует на экране,
поэтому, даже если пользоваться программатором один раз в год, не придется что-либо вспоминать.
При работе с программатором вначале необходимо нажать на клавиатуре компьютера любую буквенно-цифровую клавишу
в латинском регистре, т.е. с кодом менее 128. При этом программатор автоматически определит скорость работы
порта и будет посылать информацию в компьютер на этой же скорости. Если все сделано правильно, на экране
появится предложение выбрать кодовую таблицу, с которой будет работать программатор. Как указывалось выше,
поддерживается кодировка DOS, Windows и KOI-8. Все дальнейшие сообщения будут выводиться на экран на русском
языке. Если символы не читаемы, значит кодовая таблица выбрана неверно и следует выключить и снова включить
программатор, а затем выбрать другую кодировку.
Программа дорабатывалась в течение нескольких лет. В итоге - около 400(!) кбайт чистого текста на ассемблере.
Кодировка - DOS, не пытайтесь перекодировать ассемблерный текст в Windows, это полностью
нарушит работу программы.
Для расширения номенклатуры программируемых микросхем есть несколько путей. Во-первых, по мере появления
у автора возможности, необходимости и желания, программа модернизируется. Во-вторых, архитектура программатора
открытая, поэтому любой желающий, конечно, при наличии достаточных знаний и опыта, может написать свою
собственную программу. Наконец, в-третьих, можно разработать программный модуль для нужного типа микросхемы
и непосредственно перед программированием загружать его в верхнюю половину ОЗУ в виде HEX файла, а затем
запускать на выполнение командой G из меню.
Печатную плату я рисовал вручную, в те годы Sprint Layout еще не было. Но был PCAD, в котором и прислал
мне свои варианты платы один из радиолюбителей, повторивших эту конструкцию.
Я, в свою очередь, делюсь этой информацией с Вами. Это дополнение выложено в архиве в том виде, в каком
я его получил - "как есть". Более подробно работа с программатором описана в pdf файле, там же приведены
схемы всех сменных блоков. Выкладываю также прошивку и исходный текст программы. Все ссылки ниже.
В 2018 г. у меня возникла необходимость запрограммировать память W29C020 объемом 256 Кбайт. Пришлось
доработать схему и программу. Модернизированный вариант
программатора позволяет работать с микросхемами серий 29xxxx, 28xxxx объемом 128, 256 и 512 Кбайт.
Кроме того, я заменил в нем контроллер на AT89C51RD2, в котором есть внутренняя память программ
объемом 64 Кбайта. Это позволило отказаться от внешнего ПЗУ 27C256, что упростило схему. Упростился
также и процесс обновления прошивки. Если интересно, ознакомьтесь с описанием
модернизированного варианта программатора.
© 1999-2005г.
|