Микроконтроллер. ...и что с ним делать


Интерфейс LPT.



На сайте http://www.lancos.com есть принципиальные схемы программаторов для различных видов МК. Вот одна из них:
      Эта схемка подключается к LPT порту и на выходе выдает сигналы, необходимые для нормальной работы с МК:
SCK - тактовый сигнал, MOSI - главный выход-подчиненный вход, MISO - главный вход-подчиненный выход, RES - сброс программируемого MCU (МК), GND - общая земля и Vcc - напряжение питания МК. В схеме микросхему 74НС244 можно заменить на КР1533АП5, диод 1N4148 - на КД521, КД522. Вместо 74НС244 можно использовать К555АП5. Эта микросхема предотвращает паразитные наводки в кабеле и защищает LPT-порт. С этим программатором работает программа Pony. Взять ее можно на сайте http://www.lancos.com.
 
      Эта схема (приведена для понимания идеи), назовем ее референсной, подключается к предыдущей: разъем J1 CON10 подключается к J2 STRIP 1X9 - просто надо составить соответствие между сигналами и все будет работать (проверено). Вообще говоря, к любому из адаптеров можно подключить МК с кварцем и двумя емкостями. Подать питание и смело можно шить. Главное знать какой именно адаптер Вы паяете и какая конкретно программа его поддерживает.    
 
      Существует еще адаптер Altera Byte Blaster и STK200/300. Программу для них можно взять здесь (программа поддерживает оба этих адаптера, работает из командной строки). Я спаял адаптер STK200/300. Вот его схема:
      Печатная плата изготавливается методом утюга (читайте здесь). А вот и топология с одной стороны и со второй:  
 
                           
 
      
 
      Принципиальная схема адаптера Altera Byte Blaster имеет вид:
 
 
      
      Все приведенные здесь адаптеры (программаторы) реализуют принцип In System Programming, ISP (иногда встречается термин In Circuit Programming, ICP), т.е.

программирование МК прямо в устройстве: на плату запаиваете разъем с 6-ю или 10-ю выводами, разводите на него сигналы и теперь если надо запрограммировать МК, к этому разъему подключаете шлейф от программатора и через несколько секунд firmware (прошивка) МК будет обновлена - без извлечения МК из рабочей платы.         Существует еще один адаптер: SP12. Страничка в сети с подробным описанием процедуры установки софта и подробным фотоописанием находится здесь. Я приведу лишь схему и пару фото того, что это такое. Принципиальная схема имеет вид:
      Программу для этого адаптера можно скачать здесь. Добавлю, что у меня все отлично шьется под W2k. Правда, надо будет установить драйвер LPT-порта (он есть в установочном пакете). Программа работает из командной строки. Готовое изделие имеет вид:

                   

          Все хорошо, если LPT-порт свободен. А если занят? У меня, например, к LPT-порту подключен LCD (4х20) и работает програма jaLCDs 3.11. Ну, здесь несколько вариантов:
      1. подключить программатор (адаптер) к USB-порту - над этим пока стоит сильно потрудится. За рубежом такие программаторы уже продаются, правда стоят они порядка USD90;
      2. подключить LCD к USB-порту (тут дела обстоят несколько попроще, но...);
      3. подключить программатор к COM-порту. Для этого ведь все есть и схема (даже две) и описание метода - осталось только желание, а время найдется.       Принципиальную схему такого программатора и описание метода программирования можно взять здесь или в фирменном описании Atmel "AVR910". Он построен на МК AT90S1200.


Там же можно скачать прошивку для AT90S1200. Я в схеме программатора заменил транзисторы всего одной микросхемой - MAX202CPE. С таким же успехом можно заменить на MAX232 и т.д. с соответствующей дороботкой схемы, я думаю, что это не сложно. С этим программатором работает AVRProg, которая входит в состав AVR Studio.           COM программатор на at90s1200 выглядит следующим образом:  
                 
      Недостаток этого программатора - низкая скорость (19200 бод). Это поправимо, т.к. есть еще одна схема (на at90s2313) для COM-порта. Готовое устройство выпускает компания Аргуссофт. Скорость обмена данными с COM портом 115200 kbps.
      В нижеприведенной схеме

Содержание раздела