Краткое описание схемы.

     Естественно, изготовление программатора потребует от вас определенных навыков в изготовлении радиоэлектронных устройств и программировании микроконтроллеров.
    Программатор имеет две версии, в зависимости от используемого управляющего контроллера: на базе AT90S4414 и AT89C51. Исторически сложилость так, что свой первый программатор я собрал на AT90S4414, так как у меня был опыт программирования контроллеров AVR и этот контроллер имеет возможность программирования по шине SPI, программатор для которой очень прост. Я использовал программатор SP12. В интернете можете найти схему подключения к порту LPT и программное обеспечение под различные операционные системы: DOS/WINDOWS, LINUX и даже WINDOWS 2000! Кстати, там же вы сможете найти программатор и для контроллеров, совместимых с семейством MSC-51 и имеющих интерфейс SPI: AT89S8252, AT89S53.
     AT89C51 намного дешевле AT90S4414, но требует полноценного программатора, которого у меня не было. Но по просьбам посетителей сайта пришлось сделать версию и на AT89C51, благо теперь-то программатор  у меня имеется.
    Обе версии программатора используют одну управляющую программу, т.е. с точки зрения компьютера они совершенно одинаковы.

     Следующий абзац крутые спецы могут пропустить.
 
    А для начинающих специалистов по встроенным системам реального времени маленькая помощь: маркировка контроллера для программатора должна быть примерно такой: 
    Для AT90S4414:
    AT90S4414-8PI или AT90S4414-8PC или AT90S4414-4PI или AT90S4414-4PC.
    Цифра после дефиса означает максимальную тактовую частоту в МГц (для AT90S4414 возможны только два варианта - 4 и 8, подойдет любой). Буква P - корпус DIP (для программатора только такой). Буква C или I -  температурный диапазон (коммерческий или индустриальный), пойдет любой.
    Для AT89C51 (как пример):
    AT89C51 - 12 PC или AT89C51 - 12 PI. Цифры 12 обозначают макимальную тактовую частоту для данного экземпляра. Насколько мне известно, для контроллеров ATMEL 12 Мгц - минимальная частота, поэтому по тактовой частоте пойдет любой контроллер. 

      Для более дешевого варианта преобразователь уровней COM-порта в ТТЛ и обратно выполнен на дискретных элементах, хотя можно было использовать готовые микросхемы типа DS275, MAX232, но их нужно сначала найти и купить. А два транзистора и пяток резисторов с конденсатором можно найти всегда. Правда, такой вариант имеет недостаток: уровень логического "0", передаваемого контроллером, будет не +12 в, а всего +5 в.  Но стандарт последовательного порта предполагает уровень логического "0" +3...+12В, так что +5 соответствует стандарту. Эту схему преобразователя я придумал не сам, а нашел на сайте ATMEL www.atmel.com. Там эта схема используется в программаторе для микроконтроллеров семейства AVR. Там же сообщается о том, что старые платы ввода-вывода могут не работать при таком малом уровне напряжения. Подробный перевод на русский язык описания этого программатора вы можете найти здесь.Естественно, для упрощения схемы вы можете применить специализированные микросхемы согласования RS232 - TTL, но изменения в принципиальную схему вам придется вносить самостоятельно.
    Контроллеры в 20 - выводном корпусе программируются при помощи переходной платы (адаптера). На адаптере расположена панель для программируемого контроллера, а сам адаптер устанавливается в панель программатора для 40 - выводных контроллеров.
    Как вы могли заметить, программатор программирует микроконтроллеры семейства AVR. Программирование этих микроконтроллеров в параллельном режиме дает только одно преимущество: вы можете программировать биты управления  микроконтроллера, которые недоступны в режиме последовательного программирования.
    Отличия в приниципиальной схеме под разные контроллеры описаны на схемах. Отличия состоят в использовании различных кварцевых резонаторов для разных контроллеров, конденсаторов в кварцевых генераторах. Также отличаются цепи сброса для разных контроллеров. И для версии на AT89C51 также нужно установить дополнительно 8 резисторов на линии, идущие от порта P0 (выводы 39 - 32) контроллера, т.к. этот порт у AT89C51 не имеет внутренних подтягивающих резисторов. НЕ ЗАБЫВАЙТЕ ОБ ЭТИХ РАЗЛИЧИЯХ !!!
 

Вторая версия схемы.


Главная
Схема
Плата
Адаптер
Программа
Ссылки
Скачать