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

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



Многофункциональный универсальный программатор

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

Этот программатор я начал разрабатывать еще в 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 Подробное описание
ZIP Схема в Orcad 9.1
ZIP Прошивка и исходный текст программы на ассемблере для контроллера 8031
ZIP Дополнения пользователей - варианты платы в PCAD