Микроконтроллер. Его программирование. Программаторы для МК

В новом окне

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

LCD-индикатор|PCB|AVR|ИК порт|Частотомер|CD Player|DAC 24bit|Spectrum|Сабвуфер

Termometr AVR|mp3 Player|Тембр TDA7313+ATMega8|Сабвуфер-2 + ФНЧ|German

mp3 Player_2|Floppy Emulator|Power Amplifier|ZXM-Phoenix|Preamp|XMEGA_DUDE

Depeche Mode

 

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

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

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

Программаторы подключаются к PC посредством:
1. LPT - самый распространенный вариант исполнения;
2. COM - менее распространен, но тоже используется;
3. USB - практически непаханое поле, но уже встречается, правда только/пока за доллары. Но не все так плохо :-) Рассмотрим несколько вариантов наиболее распространенных программаторов:
 
      1. Интерфейс 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.
      В нижеприведенной схеме выводы 7 и 8 надо поменять местами!!!. Выводы 13+7 и 14+8 можно не объединять. Точно также можно не объединять 12+9 и 10+11. На выводах PD2 и PD4 висят по одному светодиоду на чтение и запись соответстсвенно (на плюс). Их можно не ставить, т.к. если Вы будете использовать сигнал "LED", то светодиод, подключенный к "LED", будет сигнализировать о любом обращении к МК - как "чтение" так и "запись". У себя я так и сделал. Схема программатора имеет вид:
Щелчек левой кнопкой мыши открывает увеличенный рисунок в новом окне
 
      Готовое устройство выглядит следующим образом:
 
Щелчек левой кнопкой мыши открывает увеличенный рисунок в новом окне                 Щелчек левой кнопкой мыши открывает увеличенный рисунок в новом окне
 
      Прошивка для AT90S2313. Ее мне прислал автор схемы Владимир.
      Некоторую информацию можно взять здесь. Вышеприведенная схема отсюда же.
Еще можно посоветовать сходить на сайт http://www.masterkit.ru. Там есть в продаже готовый набор - программатор ISP и есть возможность скачать прошивку для МК и прочитать авторскую статью про этот набор.
2. ISP - USB программатор
 
      Печатная плата была изготовлена все тем же методом утюга, правда ширина дорожек - 0.5 мм (это максимальная ширина дорожек на этой плате!!!).
     Шьется все программой AVRprog, входящей в AVRStudio. Скорость, конечно, маловата - 128000, но это не предел - есть идея как сделать несколько больше. Основа программатора - микросхема FT232BM. Печатная плата программатора - двухсторонняя (фото смотрите ниже).
     
      Это печатная плата USB-ISP программатора.
Ширина дорожки - 0.5мм.
                               
     
      Как это можно спаять? Легко. Я себе купил вот такую штуку:  

Щелчек левой кнопкой мыши открывает увеличенный рисунок в новом окне


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

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

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

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

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


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

LCD-индикатор|PCB|AVR|ИК порт|Частотомер|CD Player|DAC 24bit|Spectrum|Сабвуфер

Termometr AVR|mp3 Player|Тембр TDA7313+ATMega8|Сабвуфер-2 + ФНЧ|German

mp3 Player_2|Floppy Emulator|Power Amplifier|ZXM-Phoenix|Preamp|XMEGA_DUDE

Depeche Mode

:::::Creator::::
::Modding_Service::

::Pryanick_onLine 2001::