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

         

Интерфейс 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 и есть возможность скачать прошивку для МК и прочитать авторскую статью про этот набор.