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

          

Интерфейс 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.
      В нижеприведенной схеме

ISP - USB программатор


      Печатная плата была изготовлена все тем же методом утюга, правда ширина дорожек - 0.5 мм (это максимальная ширина дорожек на этой плате!!!).
     Шьется все программой AVRprog, входящей в AVRStudio. Скорость, конечно, маловата - 128000, но это не предел - есть идея как сделать несколько больше. Основа программатора - микросхема FT232BM. Печатная плата программатора - двухсторонняя (фото смотрите ниже).
            Это печатная плата USB-ISP программатора.
Ширина дорожки - 0.5мм.          
Микроконтроллер. ...и что с ним делать
                    
Микроконтроллер. ...и что с ним делать
              Как это можно спаять? Легко. Я себе купил вот такую штуку:  
Микроконтроллер. ...и что с ним делать


На радиорынке в Ждановичах (г.Минск) я видел 3 похожих друг на друга таких вот штуки. Все три померял и выбрал вот эту (см.фото). Выбор в пользу той или иной модели приводить не буду - я лично выбрал именно эту, т.к. у нее лучшая из трех моделей масштабируемость увеличиваемого изображения.

  Принципиальная схема программатора имеет вид:  
Микроконтроллер. ...и что с ним делать
Печатная плата имеет вид:
Микроконтроллер. ...и что с ним делать
         
Микроконтроллер. ...и что с ним делать
      На рисунках печатной платы в отверстия, обведенные красными кружками, запаиваются сквозные перемычки (их всего то три).         Сделав один из адаптеров стоит подумать о том, как подключать МК, особенно если Вы будете использовать различные МК с разным количеством выводов в разных корпусах. Я сделал для себя вот такой программатор:

          
Микроконтроллер. ...и что с ним делать
На одной плате просто установлены различные типы панелей для разных МК. Можно было, конечно, на все МК подать тактовый сигнал от одного кварца, но тогда бы надо было ставить 74HC00 и от нее через буферок разводить сигналы по МК.
И в результате получилась бы неплохая куча перемычек - я этого делать не стал, а просто купил два лишних кварца (стоят они копейки). Плата изготовлена методом утюга. Про метод утюга читайте здесь.  
Микроконтроллер. ...и что с ним делать
Через USB-разъем подается только питание (пока). Через COM-разъем подаются сигналы из адаптера, необходимые для работы с МК. Штырьки (header), установленные по сторонам МК - это выводы портов МК для подключения к различным устройствам на этапе отладки. Зеленый светодиод сигнализирует о подаче питания, красный - об обращении к МК (чтение, запись). Светодиоды и кнопочки нужны для наглядной демонстрации работы прерываний.           Изготавливаем еще пару шнурков: один - для подключения программатора к устройству - двухрядные разъемы на обоих концах, второй - для подключения портов МК к внешним цепям (можно сделать не один, а несколько шнуров).
Микроконтроллер. ...и что с ним делать
Микроконтроллер. ...и что с ним делать
          В заключении скажу, что все покупается на Жданах (г.Минск) без никаких проблем. Все совершенно дешево (стоит сущие копейки) и требует от Вас только желания разобраться и времени (совсем немного).       Полезные сайты: Atmel и на русском, AVRFreaks, AVRBeginners, "Точка опоры"       Есть еще одна очень крупная тема для разговора - это роботы на микроконтроллерах. Но для этого надо будет сделать еще одну страничку.   Интерфейс для LCD через USB       В сети есть три человека, занимающихся этой тематикой, а именно - подключением LCD через USB интерфейс. Один из них Igor Cesko, второй Rifer и третий Виктор Зинец. В своей конструкции Rifer использовал AT90S2313. Маленькая скорость - следствие особенностей прошивки. К тому же Rifer совместил подключение LCD и RC (ДУ) на ИК лучах к одному МК (что тоже вызывает глюки, которые можно исправить).


Т.е. схема при 4- х битном управлении имеет примерно такой вид:  
Микроконтроллер. ...и что с ним делать


4-битное управление

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


8-битное управление



      Программу для программирования МК можно взять по адресу: http://www.lancos.com/prog.html (она называется Pony). У Виктора есть хорошая идея об индикации оборотов кулеров на цифровом табло с кнопочным управлением скоростью вращения кулеров. Надо будет подумать об этом... На этом пока все. Ищите идеи и воплощайте их в жизнь при помощи МК.

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


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

Существует довольно много информации в сети о применении и программировании микроконтроллеров (далее, МК) - конечный пользователь выбирает, в итоге, тот материал, который для него является наиболее понятным и определяющим. Материалы же, изложенные на этой страничке, не являются строго определяющими. Использование МК весьма обширно и какое устройство делать на МК Вы будете решать сами.
      Теперь несколько примеров...

Перепечатка в любых источниках СМИ только с согласия автора.




Заглавная|Термометры|Мышенок "Жерик"|Аудио-примочки|USB Z-bra Light

LCD-индикатор|PCB|AVR|ИК порт|Частотомер|CD Player|

Программатор


      В сети существует много ресурсов, посвященных применению микроконтроллеров (МК) и их программированию. Прошить (запрограммировать) МК можно при помощи программатора. Программаторы бывают разные. На западе существуют "стартовые наборы", которые предназначены для программирования нескольких видов МК с кнопочками и светодиодами (для работы с прерываниями). Таких программаторов существует несколько видов: STK200/300/500(501/502), ICE40/50, JTAGICE, ICE200, AVRISP. STK500 выглядит вот так:

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

Программаторы подключаются к PC посредством:
1. LPT - самый распространенный вариант исполнения;
2. COM - менее распространен, но тоже используется;
3. USB - практически непаханое поле, но уже встречается, правда только/пока за доллары. Но не все так плохо :-) Рассмотрим несколько вариантов наиболее распространенных программаторов:
 
      

Выводы 7 и 8 надо поменять местами!!!.


Выводы 13+7 и 14+8 можно не объединять. Точно также можно не объединять 12+9 и 10+11. На выводах PD2 и PD4 висят по одному светодиоду на чтение и запись соответстсвенно (на плюс). Их можно не ставить, т.к. если Вы будете использовать сигнал "LED", то светодиод, подключенный к "LED", будет сигнализировать о любом обращении к МК - как "чтение" так и "запись". У себя я так и сделал. Схема программатора имеет вид:
Микроконтроллер. ...и что с ним делать
 
      Готовое устройство выглядит следующим образом:
 
Микроконтроллер. ...и что с ним делать
                 
Микроконтроллер. ...и что с ним делать
 
      Прошивка для AT90S2313. Ее мне прислал автор схемы Владимир.
      Некоторую информацию можно взять здесь. Вышеприведенная схема отсюда же.
Еще можно посоветовать сходить на сайт http://www.masterkit.ru. Там есть в продаже готовый набор - программатор ISP и есть возможность скачать прошивку для МК и прочитать авторскую статью про этот набор.