Краткий курс - Самоучитель - AVR - быстрый старт с нуля

 

- страница  7 -

Всё о прошивке AVR
микроконтроллеров AVR

Чем и как "прошить" МК AVR, ATmega, ATtiny.

Как загрузить программу в микроконтроллер.

Как запрограммировать микроконтроллер AVR.

Я советую прошивать микроконтроллер AVR из удобного интерфейса программирования встроенного в компилятор CVAVR  CodeVisionAVR

Можно через простейший адаптер - буквально "пять проводков" (схема ниже) соединяющих принтерный порт ПК с прошиваемым микроконтроллером AVR.

Но более удобны программаторы подключаемые в USB или COM порты ПК - особенно в USB.

 

Книги по электронике и микроконтроллерам  скачать в библиотеке

Страницы курса :   заглавная    1   2   3   4   5   6   7   8   9

Задачи-упражнения курса по AVR  -   там
 

Скачать весь курс по AVR одним архивом на заглавной странице курса.

Электрический ток. Закон Ома
Последовательное и параллельное соединение проводников
Правила Кирхгофа для разветвленных цепей
Работа и мощность тока
Электронно-дырочный переход. Транзистор

 

 


ПРОГРАММИРОВАНИЕ  AVR

Результат написания и компиляции программы - файл-прошивку с расширением .hex (и возможно файл  .epp  или  .bin  с содержимым для EEPROM МК) нужно записать ("зашить", "загрузить", "прожечь") в МК AVR.

МК AVR можно (пере-) программировать не менее 10000 раз, при чем это можно делать прямо в устройстве в котором они будут работать - такое программирование называют "в системе" - "ин систем программин" или ISP.

Компания ATMEL рекомендует установить на плате устройства специальный разъем для подключения программатора. 

Например 6 штырьков для ISP прошивания AVR

Вид сверху платы на штырьки. 

 


или 10 штырьков  в аналогичном порядке ( NC - значит не подключен )

Все контакты ISP разъема подсоединяются к  ножкам  МК в соответствии с названиями сигналов !  Исключения указаны ниже.


Вывод 2 нужно подключить к " + " питания МК если вы собираетесь использовать программатор питающийся от вашего же устройства - например фирменный ISP AVR либо если вы хотите питать ваше устройство от USB при использовании программатора указанного выше.  Для адаптера "5 проводков" этот вывод не подключается.


Для ISP программирования достаточно 5 контактов.
Соответственно и разъем который вы будете использовать может быть любым удобным для размещения на плате и имеющий минимум 5 контактов - например в один ряд.

Я использую и считаю это очень удобным 6 штырьков расположенные в 1 ряд, в том порядке как расположены ножки программирования у ATmega16 ( рисунок есть на страничке 6 ) - при этом разводка линий программирования получается простейшей.  Такой разъем легко применять и для 28 выводных AVR  ATmega8  ATmega48 ATmega88  ATmega168 ATmega328 только сделать отдельный проводник для подключения к контакту RESET.

 

     
 

ВНИМАНИЕ !

1) в ATmega64 и ATmega128  выводы MOSI и MISO не применяют для ISP программирования.  Используются другие выводы МК  !

Внимательно смотрите ДатаШит вашего МК !    
 

в ATmega128 ATmega64  сигналы ISP программатора

MISO подключают к ножке PE1

MOSI подключают к ножке PE0


Для ATmega640 -1280 -1281 -2560 -2561 смотрите в даташит 
Table 163. Pin Mapping Serial Programming.

2) Вывод PEN нужно подключить к питанию VCC резистором 1-10  кОм

3) в ATmega128 и ATmega64 есть FUSE бит совместимости со старым МК ATmega103 и с завода он запрограммирован в "0" на совместимость.
См  Table 117. Extended Fuse Byte. 

При прошивании ATmega128 и ATmega64 вам нужно сделать этот fuse "1" -  "не запрограммирован".    Убрать галочку в CVAVR.
 

Подробней о фьюзах ниже и на стр. 2 курса

 
     


Трудно сразу написать правильно работающую программу, даже после прогона и отладки в софт эмуляторе - симуляторе VMLAB или PROTEUS ваше реальное устройство с реальным AVR может делать не то, что вы от него ожидаете.

Значит в программу нужно будет вносить изменения, перекомпилировать и снова зашивать в МК AVR, и так раз 20-40 и более поэтому разумно использовать отличный программатор AVR в уже имеющемся у вас CVAVR в котором вы правите программу.  


 

В меню CVAVR  "Сеттинс  -> Программер" вам надо выбрать ваш адаптер (подробней про адаптеры ниже!) для программирования.

 

Вариант 1.   Только если вы понимаете что такое фьюзы и знаете как правильно их установить !!!   Вы можете в компиляторе CodeVisionAVR открыть меню "Проджект -> Конфига -> Афта Мэйк"  и отметить чек бокс  "Program the chip". Появится окно программирования-прошивания AVR 

 

В этом окне надо установить параметры программирования - фьюз биты и лок биты - об этом подробней написано ниже. После установки параметров программирования нажмите ОК.

 

Теперь после компиляции программы без ошибок в окне с результатами компиляции вам будет доступна кнопка "Program" - нажмите на нее и, если все подключено правильно, произойдет программирование МК - т.е. файл .hex будет загружен в память программ МК и (если используется в программе) файл EEPROM будет в нее загружен. Затем МК будет "сброшен" (на ножку RESET будет подан лог. 0 а затем опять "1") и AVR начнет выполнять уже новую, только что прошитую (загруженную в него) программу.

Вам даже не нужно будет отсоединять адаптер программирования от вашего устройства  если вы не используете в вашем устройстве последовательный интерфейс SPI. 

... и так до окончательной отладки устройства.

 

Вариант 2.   Если вы не устанавливали чек бокс  "Program the chip" или

Если вы хотите без компиляции прошить с помощью CVAVR готовые файлы прошивки .hex и возможно содержимое EEPROM в микроконтроллер AVR

1) запустите программатор CVAVR кнопочкой "МИКРОСХЕМА" правее "красного  
    жучка" в верхней панели инструментов.  Появится окно программирования AVR

  

2) Откройте меню "File" затем "Load FLASH" - выберете файл прошивки .hex который нужно прошить в AVR (CVAVR поддерживает и другие форматы, а не только .hex) и щелкните "Открыть".  

3) Если у вас есть информация для загрузки в EEPROM AVR то откройте меню "File" затем "Load EEPROM" - выберете файл .epp  (CVAVR поддерживает и другие форматы) и щелкните "Открыть".

Если вы не используете EEPROM или не меняете ее содержимое - поставьте галочку у "Preserve EEPROM" - это ускорит прошивание.

4) Установите параметры программирования - фьюз биты и лок биты.

Лок биты устанавливают уровень защиты вашей программы от чтения из памяти AVR - это актуально для коммерческих изделий. Для защиты прошивки отключите отладочные интерфейсы JTAG или "уан вая" и  установите "Programming and Verification disabled".

 

ГЛАВНОЕ это правильная установка фьюз битов - fuse AVR ...

5) Запрограммируйте AVR не кнопкой "Program All", а через меню "Program" -  Стереть, потом FLASH, потом EEPROM и если надо и если вы уверены в их установке то и фьюзы. 

После прошивания, если вы сделали все правильно, AVR начнет выполнять уже новую программу.

 

     
 

В А Ж Н О !  

В диалоге настройки прошивания отключите программирование фьюзов МК  уберите галочку у Program Fuse Bit(s) - если не разобрались четко, что они делают и как правильно их установить ! 

Иначе вы можете отключить режим ISP или внутренний RC-генератор и для следующего программирования вам понадобится ставить кварц с конденсаторами или даже искать:

Параллельный программатор для AVR


Но популярному ATtiny2313 даже параллельный программатор
не всегда поможет !    В Errata на ATtiny2313 было написано:

Parallel Programming does not work
Parallel Programming is not functioning correctly. Because of this, reprogramming
of the device is impossible if one of the following modes are selected:
– In-System Programming disabled (SPIEN unprogrammed)
– Reset Disabled (RSTDISBL programmed)
 

 
     

 

в ATmegaXXX с завода включен внутренний RC генератор
на  частоте 1 МГц  
( уточните это по ДШ  и его возможные частоты )

Если вам нужна другая частота или нужно включить внешний кварцевый или керамический резонатор - вам нужно при программировании МК установить фьюзы (Fuses) по таблицам из ДШ ( Даташит AVR на русском языке ) или по таблице фьюзов на стр. 2 или по таблице установки фьюзов ниже :

ЗАПОМНИТЕ :

НЕ запрограммированный  фьюз        1

ЗАпрограммированный   фьюз             0
 

Пример: Чтобы включить в ATmega16 внешний кварцевый резонатор (говорят просто - "кварц") с частотой от 3 до 8 МГц с конденсаторами ( по схеме рис. 12 ДШ ) найдите в ДШ раздел "System Clock" - "системный тактовый сигнал".

В таблице 2 указаны комбинации фьюзов для разных источников тактового сигнала.
Далее написано что с завода МК поставляется с такой комбинацией фьюзов


CKSEL   0001     SUT  10       CKOPT   1


По таблице 4  находим :   в ATmega16 для кварца с частотой от 3 до 8 МГц  нужны конденсаторы от 12 до 22 пФ и  вот  такая  комбинация  фьюзов :

CKSEL   1111     SUT  11       CKOPT   1

Вот скриншот с такой установкой фьюзов в программаторе компилятора  CVAVR


Сняв галочку Program Fuse Bit(s) вы cможете не менять установку фьюзов при прошивании AVR !

НЕ НАЖИМАЙТЕ кнопку "Program All"  она прошивает и фьюзы не смотря на отсутствие галочки.

 

Обязательно !!! Прочитайте текущую комбинацию фьюзов в микроконтроллере - "Read" -> "Fuse bit(s)" и скопируйте ее в окно фьюзов.  теперь при случайном нажатии кнопки "Програм ол" в МК прошъется та же комбинация фьюзов которая есть сейчас.

 


Фьюз биты - фьюзы AVR - у которых нет галочки после прошивки AVR будут
равны "1" - т.е. будут
 не запрограммированными.

 

Реклама недорогих радиодеталей почтой:


Для прошивания МК используйте меню  "Program"

Вначале  "Erase chip" - стереть чип.

Затем "FLASH"  - прошить программу в МК

И если надо то  "EEPROM" - прошить в EEPROM.


 

Для использования ATmega16 (и других мег) с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше, но запрограммировать CKOPT  
значит сделать его "0".

Т.е. вам нужна такая комбинация:

CKSEL   1111     SUT  11       CKOPT   0

 

CKOPT   - нужен и тогда когда вы хотите взять с XTAL2 тактовый сигнал для другого
микроконтроллер или тактируемого прибора в вашем устройстве.
 

Фьюзы  SUT   - определяют быстроту запуска генератора тактового сигнала,
более детально это описано в даташите в таблицах до 12.

 


Фьюзы ATtiny2313 описаны в конце следующей страницы курса.

 

 

Интерфейс программирования AVR - Адаптер для соединения МК с ПК при прошивании.

Для соединения компьютера с ISP разъемом устройства на AVR Советую сделать адаптер от STK200  - это "правильные 5 проводков" с микросхемой буфером снижающим вероятность случайного повреждения порта ПК.

В установках компилятора CodeVisionAVR интерфейс "5-проводков" называется  "Канда системз STK200+/300".  Меню "сеттингс" - "программер". В этом же диалоге можно понизить частоту с которой программатор будет обмениваться с прошиваемым МК увеличивая множитель задержки.

Частоту тактирования сигнала SCK программатором при прошивании можно установить в диалоге программирования в CVAVR. 



Снижение частоты на SCK повышает помехоустойчивость при прошивке.

Программа узнаёт адаптер STK200 по перемычкам на разъеме параллельного порта к которому он подключается - должны быть соединены двумя перемычками пары выводы: 2 и 12,  3  и 11. 


     
 

Внимание!  

Для программирования к МК должно быть подключено питание. Например +4...+5.5 вольт ко всем выводам МК в названии которых есть VCC , а  0 вольт ко всем выводам GND (это "общий" провод).    

Обязательно поставьте подтягивающий резистор 10 кОм от ножки RESET AVR на питание VCC и конденсатор 0.01-0.15 мкФ (в апноутах AVR040 и AVR042 рекомендуют 0.01 мкФ) от RESET на GND .

Пример схемы там

 
     



 
Если в МК не
т внутреннего генератора тактового сигнала (например старые AVR серии AT90sXXXX или мега побывавшая в чьих то шаловливых руках изменивших фьюзы до того как попасть к вам) то нужно подключить кварц
на 1 - 8 МГц и два конденсатора от 15 до 33 пФ. 

Либо подать тактовый сигнал 0.8-1.5 МГц от внешнего источника -
например генератора на микросхеме 74hc14 (аналог 1553ТЛ2) или на таймере LM555.

Вот как сделать простой генератор тактовой частоты :




 


Программатор  AVReAl  может программировать МК без кварца и без конденсаторов ! Он выводит тактовый сигнал на выв. 5 LPT его нужно подать на ножку XTAL1 МК и добавить в командной строке AVReAL специальный ключ  "-o0".  Программатор  AVReAl  позволяет назначать какие ножки LPT порта использовать - это будет полезно когда часть ножек LPT вы уже спалите  
 
:-)

 
Если вы считаете эту информацию полезной, пожалуйста, помогите информировать в интернете о курсе - просто щелкните по банеру. Большое спасибо !


Electronic Banner Exchange (ElBE)


Тактовый сигнал генерирует и самодельный программатор AVR
для  USB - смотрите ниже на этой странице.

 

     
 

Я использую самый простой вариант адаптера
STK200 - "для самых ленивых"   

Пять поводков соединяющих линии параллельного (LPT) порта ПК и AVR так же как на схеме STK200 выше, но без микросхемы буфера. 

Лучше все же токоограничительные резисторы от 150 до 270 ом впаять Береженого бог бережет !
 

Проводки не более 15 см длиной !

 
     

 

 



Адаптер "5-проводков" прекрасно работает с компилятором CVAVR  CodeVisionAVR.

Я проверял "проводки" при питании МК ATmega64L от 3,0 до 5,3 вольт, а так же с ATmega16, ATmega48, ATtiny26, ATtiny261, ATtiny13, ATtiny2313 - программирует всегда без сбоев!  

Всё о прошивке AVR Прошивка AVR PIC прошивки Программирование PIC и AVR

     
 

Советую для изготовления адаптера взять " принтерный" шнур - он длинный и экранированный, а не экранированные проводки не стоит делать более 10-15 см.

 
     

 


Питать устройство при программировании можно :

- сетевым адаптеры от бытовых устройств понизив напряжение до 5 вольт. 

- батарейками ! Достаточно три батарейки по 1,5 вольт последовательно. 



+5 вольт можно взять с вывода 1 гейм порта компьютера или из провода включенного в гнездо USB.

Желательно питать устройство от ПК!  В этом случае "земля" вашего устройства будет соединена с корпусом ПК и можно будет безопасно подключать и отключать разъем программирующего адаптера.

 

 
     
 

ВНИМАНИЕ ! 

Вначале старайтесь соединять "земли" (металлические корпуса, "общие" провода) устройств - для уравнивания их потенциалов ! 

Удобно подпаять к проводнику GND устройства проводок с "крокодильчиком" который прицепите к металлу ПК у LPT или COM портов перед подключением разъемов или сигнальных линий, проводов.

Теперь БЕЗОПАСНО соединять разъемы
и затем подавать питание на устройство.

 
     

 

 


Не поленитесь:  спаяйте адаптер STK200 на микросхеме буфере по рисункам внизу страницы  - так как LPT порт компьютера более нежен чем COM - соответственно его спалить проще...    
Спалите LPT и будете меня ругать! 

А  я  предупреждал !

 

 

Поставщики AVR говорят что ATTiny2313 поступают с завода с настройкой внутреннего RC-генератора на 4МГц (в даташите указано 8 МГц) с делителем частоты на 8  - т.е. частота тактирования всего 500 КГц. Значит частота на линии SCK, формируемая программатором, не должна быть выше 120..125кГц. 
 


Программатор встроенный в CodeVisionAVR позволяет настроить эту частоту правильно. Выше было написано как.
 

AVReal  тоже.  


 

     
 

Если вы хотите использовать ножки МК SCK, MOSI, MISO в вашем устройстве то подключайте другие компоненты к ним через резисторы 4.7 КОм - чтобы не мешать программированию.

Так рекомендовано в апноуте AVR042

Для Мега64, -128 вместо MOSI и MISO используются другие ножки для ISP программирования !

 
     

 

 

Если у вас нет LPT порта сделайте
Аналог  "5 проводков" для COM-порта.

 


Или соберите простой, дешевый и хороший
USB программатор для AVR

Прошитый микроконтроллер для сборки USB программатора AVR вы можете заказать по почте.

 

     
 


Существуют специальные программы "бутлодеры" (bootloader - начальный загрузчик) 
которые записываются в микроконтроллер способами перечисленными выше и после этого микроконтроллер может сам, при включении, закачивать в себя программу (например из ПК через адаптер USB-UART rs232 COM port - схема в задаче 4 курса) и запускать ее выполнение.

Есть много бесплатных загрузчиков

Вот Bootloader AVR_Arduino.

Вот хороший:   Bootloader AVR.

Вот еще:    MegaLoad Bootloader

STC создал загрузчик bootloader размером 256 байт с поддержкой быстрого страничного режима записи.


Прошитые загрузчиком bootloader микроконтроллеры AVR PIC вы можете
заказать по почте.

 
     

 

 

 Дальше - стр. 8 курса.

 

 

Назад на стр. /06.htm - задачи управжнения по AVR

 

 

ниже  

Cписок Апноутов для AVR примеры применения микроконтроллеров.

 

И много полезной информации !
 



 

          

 

 

AVR miniICE  

Это профессиональное средство для программирования и
отладки программы МК ATmega фирмы Atmel в реальном
устройстве. Он полностью совместимый
с оригинальным AVR JTAG ICE.

 

Автор данного устройства Milan Kostomlatsky kosta@mcu.cz
Оригинальное описание находится здесь

Характеристики:

Поддерживаемые микроконтроллеры (AVR Studio ver. 4.xx):


Прошивка  AVR miniICE  обновляется из новых версий  AVR Studio

Вы скачиваете новую версию и через меню перепрошиваете
AVR miniICE 
и получаете поддержку новых чипов.

 

Схема ПРОСТАЯ

 

Детали:

Кол. Тип Обозначение
2 470R R1, R2
1 10K R3
2 22p C7, C8
6 100n C1,C2,C3,C4,C5,C6
1 LED-G D1
1 LED-R D2
1 ATmega16L DD1
1 MAX3232 DD2
1 7.3728 MHz Q1

Программирование (обновление программного обеспечения):

  1. При помощи любого программатора описанного выше запрограммируйте ATmega16 прилагаемым файлом
  2. Запрограммируйте фьюзы как показано на рисунке:

 

  1. Соедините COM порт компьютера с AVR miniICE и подайте на него питание
  2. Запустите AVR Studio и в нем запустите AVR Prog
  3. Выберите файл для программирования upgrade.ebn (находится в каталоге AVR Studio)

    рисунок

 

  1. Запрограммируйте обновление (AVR Prog может выдать ошибку по окончании программирования -
    не обращайте на это внимания.

     
  2. Запрограммируйте фьюзы как показано на рисунке

 

 

Все ! AVR miniICE готов к работе !

Пример реализации: на макетке

 

AVRminiICE собран и готов к работе

Прилагаемые файлы:

Cхема в формате P-CAD 2002

Печатная плата в формате P-CAD 2002


Дополнение:

Можно сразу залить в ATmega16 готовую прошивку (не надо прошивать через бутлодер)

miniICE.hex

 

 

 

 

 

Программирование AVR с помощью PonyProg

описание программатора PonyProg на русском языке

Я очень советую программировать из CodeVisionAVR !!!



PonyProg

Свободно распространяемая программа управления программированием микроконтроллеров AVR, PIC и т.д. Более подробную информацию и саму программу можно получить на сайте автора Claudio Lanconelli http://www.lancos.com/ (кстати есть поддержка русского интерфейса).
 


Большинство контроллеров AVR поддерживает режим внутрисхемного программирования.

Это означает, что Вам не нужно вытаскивать микроконтроллер из платы каждый раз, когда Вам необходимо его перепрограммировать. Опять-таки покупка готового программатора обойдется Вам в $50-150. В нашем случае Вы обойдетесь без лишних накладных расходов. С помощью программы PonyProg, Windows или Linux, и свободного параллельного порта Вы сможете создать хороший и простой программатор. И этот программатор представляет собой простой кабель. Сам кабель и его распайка представдены на рис.1

 

Рис.1

Следует обратить внимание что эта схема не имеет промежуточного буфера и не имеет гальванической развязки по отношению к параллельному порту, поэтому во избежание вывода из строя параллельного порта, подключать и отключать кабель следует при выключенном компьютере и выключенном питании на плате, где установлен контроллер.

 

На рис.2 схема такого же кабеля, но с буферной микросхемой. Все пассивные элементы и микросхема монтируются в корпус разъема параллельного порта. В обоих случаях для уверенной работы длина соединительного кабеля не должна превышать пол метра.
 

Рис.2

 

 

  • SPI (Serial Programmable Interface) Программируемый интерфейс последовательного доступа
    Используется для внутрисхемного программирования чипа и для связи с другими устройствами.

    Сигналы программируемого интерфейса последовательного доступа
     
    • SCK (SPI Bus Serial Clock) Шина последовательных тактирующих импульсов (строб)
    • MISO (SPI Bus Master Input/Slave Output) Шина данных (Мастер ввод/Подчиненный вывод)
    • MOSI (SPI Bus Master Output/Slave Input) Шина данных (Мастер вывод/Подчиненный ввод)
    • RST (Reset MCU) Сброс микроконтроллера
    • GND (Ground) "Земля, корпус"


 
Рис.3

На Рис.3 приведена схема подключенния загрузочного кабеля к контроллеру ATmega8.
Источник питания стабилизированный от 4,5 до 5 V или батарейка.

При подключении других AVR контроллеров серий AT90, ATmega, проследить на соответствие сигналов и цоколевку.

Для контроллеров серии ATmega внешний кварцевый резотатор не обязателен. Они могут работать от внутреннего генератора и поставляются призводителем именно в таком режиме.

В любом случае, прежде чем совершать какие либо действия с контроллером, необходимо прочитать инструкцию (Datasheet) конкретно для данного девайса.


Я, avr123.nm.ru - советую подключать ВСЕ выводы
питания и земли МК !!! как в задаче 7 нарисовано.

 



         

       Вот настройка PonyProg на LPT порт :

         
 

 
 

 

Настройка программатора PonyProg в картинках !
 

 

 

 

 

ключевые слова: программирование микроконтроллеров, как написать программу для микроконтроллера, обучение программированию микроконтроллеров, микроконтроллеры atmega128, как запрограммировать микроконтроллер, как прошить микроконтроллер, отладка программы для AVR, моделирование работы электронных схем, электронные проекты, хобби, язык си для микроконтроллеров, язык программирования си
AT76C712 , AT76C713 , AT90CAN128 , AT90CAN128 Automotive , AT90CAN32 , AT90CAN64 , AT90PWM2 , AT90PWM3 , AT90S1200 , AT90S2313 , AT90S2323 , AT90S2343 , AT90S4433 , AT90S8515 , AT90S8535 , ATmega128 , ATmega1280 , ATmega1281 , ATmega16 , ATmega161 , ATmega162 , ATmega163 , ATmega164 , ATmega165 , ATmega168 , ATmega168 Automotive , ATmega169 , ATmega2560 , ATmega2561 , ATmega32 , ATmega323 , ATmega324 , ATmega325 , ATmega3250 , ATmega329 , ATmega3290 , ATmega406 , ATmega48 , ATmega48 Automotive , ATmega64 , ATmega640 , ATmega644 , ATmega645 , ATmega6450 , ATmega649 , ATmega6490 , ATmega8 , ATmega8515 , ATmega8535 , ATmega88 , ATmega88 Automotive , ATtiny11 , ATtiny12 , ATtiny13 , ATtiny15L , ATtiny2313 , ATtiny25 , ATtiny26 , ATtiny28L , ATtiny45 , ATtiny85

 

 

 

Программатор AVR микроконтроллеров. LPT программатор.
Принципиальная схема программатора на LPT порт показана на рисунке. В качестве шинного формирователя используйте микросхему 74AC244 или 74HC244 (К1564АП5), 74LS244 (К555АП5) либо 74ALS244 (К1533АП5).

Светодиод VD1 индицирует режим записи микроконтроллера,

светодиод VD2 - чтения,

светодиод VD3 - наличие питания схемы.

Напряжение, необходимое для питания схема берёт с разъёма ISP, т.е. от программируемого устройства. Эта схема является переработанной схемой программатора STK200/300 (добавлены светодиоды для удобства работы), поэтому она совместима со всеми программами программаторов на PC, работающих со схемой STK200/300. Для работы с этим программатором используйте программу CVAVR



Программатор можно выполнить на печатной плате и поместить её в корпус разъёма LPT, как показано на рисунках:

Для работы с программатором удобно использовать удлинитель LPT порта, который несложно изготовить самому (к примеру, из кабеля Centronix для принтера), главное "не жалеть" проводников для земли (18-25 ноги разъёма) или купить. Кабель между программатором и программируемой микросхемой не должен превышать 20-30 см.

Файлы:

 

 

 

 

АпНоуты - примеры применения микроконтроллеров МК - Схемы, исходники, компоненты.


СКАЧАЙТЕ !   и   ИСПОЛЬЗУЙТЕ !

AVR 8-Bit RISC - Application Notes
AVR 8-Bit RISC
 
AVR 8-Bit RISC - Application Notes  все Апноуты примеры AVR по категориям
right arrowApplication Example and Algorithms   right arrowMigration Notes
right arrowDesign Considerations   right arrowXMEGA Microcontrollers
right arrowDevelopment Tools    
right arrowGeneral Purpose    
right arrowGetting Started    

 

 

8051 - Application Notes AN MCS-51 

Примеры для микроконтроллеров MCS-51 8051

right arrowApplication Example and Algorithms   right arrowGeneral Purpose
right arrowDesign Considerations   right arrowGetting Started
right arrowDevelopment Tools   right arrowMemory Access / Boot Loader
right arrowFlash Programming   right arrowMigration Notes

 

ARM AN AT91SAM 32-bit
ARM - Application Notes

 

right arrowAnalog Modules   right arrowGetting Started
right arrowApplication Example and Algorithms   right arrowMemory Access / Boot Loader
right arrowCommunication Modules   right arrowMigration Notes
right arrowDesign Considerations   right arrowTimers and Oscillators
right arrowDevelopment Tools    
right arrowFlash Programming    
right arrowGeneral Purpose    
 
Analog Modules
PDF Software Description
 
 
Analog-to-Digital Converter in the AT91M55800A (16 pages, updated 01/04)
This Application Note describes how to use the ADC in the AT91M55800A.
Top
Application Example and Algorithms
PDF Software Description
 
 
AT91 Assember Code Startup Sequence for C Code Applications Software Based on the AT91SAM7S64 Evalua (11 pages, revision A, updated 03/05)
This Application Note describes an example of the AT91SAM7S C-startup sequence based on the C-startup sequence for the AT91SAM7S64 Evaluation Board working with the IAR 4.11A Development Tools.
 
 
AT91 Assembler Code Startup Sequence for C Code Applications Software (16 pages, revision A, updated 6/02)
Provides a C startup sequence written in assembler code and based on the C startup sequence for the AT91 Evaluation Board working with the ARM ADS V1.1 Development Tools.

 
AT91-AN01: Using the Two-wire interface (TWI) in Master Mode on AT91SAM Microcontrollers (32 pages, revision B, updated 08/07)
This application note is an aid for developers in the design of a system using the Two-wire Interface (TWI) of Atmel's AT91SAM family of microcontroller products with Atmel's Two-wire Interface slave devices and I2C-Bus compatible slave devices. It describes the connection with a digital temperature sensor (LM75), a Real Time Clock (DS1337), a Graphic LCD Module(PCF8558) and a 1Mbit Two-wire Serial EEPROM (AT24C1024).

 
AT91M55800A Clock Switching Considerations using Advanced Power Management Controller (14 pages, updated 8/02)
The Advanced Power Management Controller of the AT91M55800A requires care in switching between the different available clock sources. This Application Note describes the considerations that are required.
 
 
AT91R40807 for Audio Decoding Systems (5 pages, revision A, updated 12/99)
Describes methods of implementing audio decoding such as MP3 using an AT91R40807.

 
AT91SAM Internet Radio (41 pages, revision A, updated 05/07)
Describes an Internet Radio software that can run either on SAM9260-EK or SAM7X-EK evaluation board. Includes a description of an add-on board which contains a stereo audio codec, an LCD display and three push buttons.
 
 
AT91SAM7S64 USB Certification (34 pages, revision A, updated 02/06)
This Application Note describes the USB certification process for the AT91SAM7S64 microcontroller that contains a USB V2.0 Full Speed Device. It describes the full USB peripheral environment required for USB-IF compliancy.
AT91SAM7S64 USB Certified

 
AT91SAM9 LCD Controller (23 pages, revision B, updated 07/07)
Explains how to connect the AT91SAM9 LCD Controller to an STN or TFT display.
 
 
Connecting an Atmel ARM-based Serial Synchronous Controller to an I2S-compatible Serial Bus (13 pages, revision A, updated 11/03)
Describes the configuration required to connect the Atmel ARM-based SSC to a device with an I2S-compatible serial bus.
 
 
Connecting an I2S-Compatible Audio DAC to the AT91x40 Series Microcontroller (13 pages, revision A, updated 5/02)
Provides the procedure to construct the interface between a stero audio digital-to-analog converter and an AT91x40 Series Microcontroller.
 
 
Interfacing a 4x4 Keyboard to an AT91 Microcontroller (13 pages, revision A, updated 01/03)
This application note provides programming techniques used on the AT91 ARM-based microcontroller for scanning a 4 x 4 Keyboard matrix.

 
Interfacing a Hard Disk Drive to an AT91RM9200 Microcontroller (7 pages, revision B, updated 01/06)
This Application Note describes the hardware and software interface for a Hard Disk Drive. The AT91RM9200 embeds a Compact Flash Glue Logic that can be tuned to support such a peripheral.

 
Interfacing a PC Card to an AT91RM9200-DK (7 pages, updated 04/04)
This Application Note describes the implementation of a PCMCIA interface on an AT91RM9200 Development Kit using the EBI. Hardware connections and programming examples to access a CompactFlash Memory Card and a Hard Disk Drive are given

 
Software DMA Implementation (8 pages, revision A, updated 10/98)
Describes two different ways to implement a DMA function in software using the ARM Fast Interrupt (FIQ) as the external event.

 
Software ISO 7816 I/O Line (13 pages, updated 8/98)
Describes the software implementation of an ISO7816 I/O using the Timer/Counter of an AT91M40400.

 
Software SPI Master Implementation (7 pages, updated 8/98)
Describes the software implementation of an SPI Master using the Timer/Counter of an AT91M40400

 
Using the Memory Protection Unit (MPU) on AT91SAM7SE Microcontrollers (19 pages, revision A, updated 04/07)
This application note explains how to use the Memory Protection Unit to safely increase code capacity and make possible additional extensions to the system without modifying the main program.

 
Using the Serial Peripheral Interface with AT91SAMxx Devices (11 pages, revision B, updated 8/06)
Describes initializaton of the SPI, main SPI features are summarized and characteristics that may be difficult to use are detailed. A software example of an interconnection between two SPIs is also described.
Top
Communication Modules
PDF Software Description

 
AT91 USB Framework (23 pages, revision A, updated 10/06)
Describes a device-side USB framework that enables rapid development of USB-compliant class drivers such as Mass Storage Device class or the Communication Device Class.

 
USB CDC Driver Implementation (20 pages, revision A, updated 10/06)
Explains how to implement the Communication Device Class (CDC) driver on AT91 microcontrollers.

 
USB HID Driver Implementation (27 pages, revision A, updated 10/06)
Describes how to implement a Human Interface Device (HID) driver with the Atmel AT91 USB framework.

 
USB Mass Storage Device Driver Implementation (36 pages, revision A, updated 1/07)
Explains how to implement a Mass Storage Device (MSD) driver on AT91 microcontrollers.
Top
Design Considerations
PDF Software Description
 
 
AT91SAM7S Microcontroller Series Schematic Check List (16 pages, revision D, updated 12/07)
This appplication note provides a schematic check list for systems embedding the AT91SAM7S series microcontrollers.
 
 
AT91RM9200 Microcontroller Schematic Check List (17 pages, revision A, updated 07/07)
Gives a schematic review check list for systems embedding the AT91RM9200 microcontroller.
 
 
AT91SAM7SE Microcontroller Series Schematic Check List (18 pages, revision E, updated 12/07)
This appplication note provides a schematic check list for systems embedding the AT91SAM7SE series microcontrollers.
 
 
AT91SAM7X and AT91SAM7XC Microcontroller Series Schematic Check List (16 pages, revision C, updated 12/07)
This appplication note provides a schematic check list for systems embedding the AT91SAM7X and/or AT91SAM7XC series microcontrollers.
 
 
AT91SAM9260 Microcontroller Schematic Check List (17 pages, revision E, updated 12/07)
Gives a schematic review check list for systems embedding the AT91SAM9260 microcontroller.
 
 
AT91SAM9261 Microcontroller Schematic Check List (16 pages, revision E, updated 12/07)
Gives a schematic review check list for systems embedding the AT91SAM9261 microcontroller.
 
 
AT91SAM9263 Microcontroller Schematic Check List (18 pages, revision B, updated 12/07)
Gives a schematic review check list for systems embedding the AT91SAM9263 microcontroller.
 
 
AT91SAM7L Microcontroller Series Schematic Check List (15 pages, revision A, updated 2/08)
This appplication note provides a schematic check list for systems embedding the AT91SAM7L series microcontrollers.
 
 
AT91x40 Series Board Design and Troubleshooting Guide (10 pages, revision A, updated 03/05)
This application note provides directions to hardware designers when designing a board based on one of the AT91x40 microcontroller series and the AT91FR40x Flash-based products. The focus is on the verifications to be carried out at the board schematics level, thus assuring the highest probability of a right-first-time system.
 
 
Optimizing Power Consumption of AT91SAM9261-based Systems (13 pages, revision A, updated 11/06)
Describes low-power system design and battery backup management for AT91SAM9261-based systems; may be applicable to additional SAM9 products.
Top
Development Tools
PDF Software Description

 
Booting U-boot from Atmel Serial DataFlash on the AT91RM9200-DK Board (4 pages, updated 06/04)
This application note provides a guide for storing U-boot in Atmel's serial DataFlash connected to the SPI Chip Select 0 on the AT91RM9200-DK Board, thereby making external parallel Flash unnecessary.
 
 
Connecting EBI Memory Daughter Boards to AT91SAM Evaluation Boards (10 pages, revision A, updated 04/07)
This application note describes the requirements to connect EBI Memory Daughter boards to the compatible AT91SAM Evaluation Boards designed with a specific connector footprint.
 
 
GNU-Based Software Development on AT91SAM Microcontrollers (31 pages, revision A, updated 3/07)
This application note is an aid in developing embedded software solutions for Atmel AT91 microntrollers and provides a step-by-step guide for setting up a GNU-based environment.

 
Using an AT91EB40A Evaluation Board to Control an AT91 ARM7TDMI Processor via the JTAG-ICE Interface (22 pages, revision A, updated 01/03)
Describes how to use the AT91EB40A Evaluation Board based on the AT91R40008 microcontroller to control an AT91 ARM7TDMI® processor via the standard ARM JTAG-ICE interface.

 
Using Open Source Tools for AT91SAM7 Cross Development (2 pages, revision C, updated 06/07)
This application note provides a guide for using open source tools such as Cygwin, GNU/GCC ARM Compiler, Eclipse IDE, Zylin CDT and OpenOCD for low-cost development of AT91SAM7 applications.
Top
Flash Programming
PDF Software Description

 
AT91 Host Flash Loader (9 pages, revision B, updated 01/06)
This Application Note describes the host flash loader used to upload and program an application in the Flash Memory of a Flash-based AT91 Microcontroller. The AT91 Host Loader supports the AT91FR40162S. Please read the "release_notes_v1_2.txt" file for more details.

 
Using an AT91EB40 as a Flash Programmer for AT91F40816 and AT91FR4081 (27 pages, revision A, updated 1/02)
Describes how to use the AT91EB40 Evaluation Board with the Memory Extension Card AT91MEC01 to upload application software to an AT91 Flash-based microcontroller such as the AT91F40816 or the AT91FR4081.

 
Using the EBLoad™ Tool to Download Applications to the AT91 Evaluation Boards (11 pages, updated 3/03)
Describes the procedure for download of an application into the SRAM of Flash of an AT91 evaluation board using the EBLoad tool.
Top
General Purpose
PDF Software Description
 
 
AT91 Reset Considerations (19 pages, updated 7/02)
Describes the reset state of an AT91 in order to help the user in the initial configuration of an AT91-based system.

 
AT91 Timing Calculator User Notes (6 pages, revision B, updated 02/06)
Describes the use of a spreadsheet to calculate all the timing parameters of specific AT91 devices.
 
 
Disabling Interrupts at Processor Level (3 pages, revision A, updated 8/98)
Describes how to disable interrupts in the ARM7TDMI core of the AT91 series.
 
 
Interrupt Management: Auto-Vectoring & Prioritization (8 pages, updated 10/98)
Describes how auto-vectoring and prioritization can be implmented using the features of the Advanced Interrupt Controller common to all members of the AT91 family.
Top
Getting Started
PDF Software Description

 
Getting Started with AT91SAM7S Microcontrollers (23 pages, revision A, updated 03/07)
Using a simple example, the application note shows the user how set up the microcontroller and start a new project. It also explains how to set up and use a GNU ARM toolchain to compile and run a project.

 
Getting Started with AT91SAM7A3 Microcontrollers (23 pages, revision A, updated 05/07)
Using a simple example, the application note shows the user how set up the microcontroller and start a new project. It also explains how to set up and use a GNU ARM toolchain to compile and run a project.

 
Getting Started with AT91SAM7SE Microcontrollers (24 pages, revision A, updated 03/07)
Using a simple example, the application note shows the user how set up the microcontroller and start a new project. It also explains how to set up and use a GNU ARM toolchain to compile and run a project.

 
Getting Started with AT91SAM7X Microcontrollers (23 pages, revision A, updated 03/07)
Using a simple example, the application note shows the user how set up the microcontroller and start a new project. It also explains how to set up and use a GNU ARM toolchain to compile and run a project.

 
Getting Started with the AT91SAM9260 Microcontroller (23 pages, revision A, updated 03/07)
Using a simple example, the application note shows the user how set up the microcontroller and start a new project. It also explains how to set up and use a GNU ARM toolchain to compile and run a project.

 
Getting Started with the AT91SAM9261 Microcontroller (23 pages, revision A, updated 03/07)
Using a simple example, the application note shows the user how set up the microcontroller and start a new project. It also explains how to set up and use a GNU ARM toolchain to compile and run a project.

 
Getting Started with the AT91SAM9263 Microcontroller (23 pages, revision A, updated 03/07)
Using a simple example, the application note shows the user how set up the microcontroller and start a new project. It also explains how to set up and use a GNU ARM toolchain to compile and run a project.
 
 
Getting Started with AT91SAM9XE Microcontrollers (23 pages, revision A, updated 2/08)
Using a simple example, the application note shows the user how set up the microcontroller and start a new project. It also explains how to set up and use a GNU ARM toolchain to compile and run a project.
Top
Memory Access / Boot Loader
PDF Software Description

 
AT91Bootstrap (23 pages, revision B, updated 12/06)
This application is a first level bootloader for AT91SAM9 microcontrollers and can be used to customize the framework for a particular deployment strategy.
 
 
AT91SAM CAN Bootloader User Notes (19 pages, revision A, updated 2/06)

 
AT91SAM9260-EK SAM-BA Recovery (10 pages, revision A, updated 11/06)
Provides a solution for overcoming memory programming errors that prevent correct implementation of SAM-BA.
 
 
Extending SAM-BA Programming Capabilities (18 pages, revision A, updated 10/06)
Describes how to extend SAM-BA capabilities to program any kind of memory.

 
NAND Flash Support on AT91SAM7SE Microcontrollers (23 pages, revision A, updated 03/07)
Describes how to interface NAND Flash memory to AT91SAM7SE microcontrollers.

 
NAND Flash Support on AT91SAM9 Microcontrollers (18 pages, revision A, updated 10/06)
Describes how to interface NAND Flash memory to AT91SAM9 microcontrollers.

 
Safe and Secure Bootloader Implementation (14 pages, revision A, updated 12/06)
Describes various aspects of the implementation of a safe and secure bootloader for AT91SAM microcontrollers.
 
 
Safe and Secure Firmware Upgrade for AT91SAM Microcontrollers (29 pages, revision A, updated 9/06)
How to proceed with in-field upgrading of firmware on AT91SAM devices.

 
Using SDRAM on AT91SAM7SE Microcontrollers (17 pages, revision A, updated 01/07)
Helps the developer in the design of a system using SDRAM memories. Describes the performance characteristics of the SDRAM controller and associated techniques to optimize SDRAM performance and power consumption.

 
Using SDRAM on AT91SAM9 Microcontrollers (23 pages, revision A, updated 9/06)
Helps the developer in the design of a system using SDRAM memories. Describes the performance characteristics of the SDRAM controller and associated techniques to optimize SDRAM performance and power consumption.
 
 
Using the ECC Controller on AT91SAM9260/9263 and AT91SAM7SE Microcontrollers (12 pages, revision B, updated 11/07)
This application note explains how to use the Error Corrected Code (ECC) Controller embedded in the AT91SAM9260/9263 and AT91SAM7SE family microcontrollers. The ECC controller performs 2-bit data error identification and single-bit correction to maintain integrity of data stored in NAND Flash and SmartMedia devices.
Top
Migration Notes
PDF Software Description

 
How to Upgrade an AT91EB01 Evaluation Board to an AT91EB40 (3 pages, updated 12/00)
Describes the hardware and software operations to perform when upgrading an AT91M40400-based EB01 evaluation board to an AT91M40807-based EB40 evaluation board.
 
 
How to Upgrade an AT91F40416-based System to an AT91F40816-based System. (3 pages, updated 12/00)
Describes the hardware and software operations to perform when upgrading an AT91F40416-based system to a AT91F40816-based sysem.
 
 
How to Upgrade an AT91FR40162-based System to an AT91FR40162S-based System (4 pages, revision A, updated 07/05)
The AT91FR40162 and AT91FR40162S are members of the Atmel AT91 16/32-bit microcontroller family which is based on the ARM7TDMI® processor core. This Application Note outlines the hardware and software operations necessary to upgrade an AT91FR40162-based system to an AT91FR40162S-based system.
 
 
How to Upgrade an AT91FR4042-based System to an AT91FR40162S-based System (6 pages, revision A, updated 01/06)
This application note outlines the hardware and software operations necessary to upgrade an AT91FR4042-based system to an AT91FR40162S-based system.
 
 
How to Upgrade an AT91FR4081-based System to an AT91FR40161-based System (3 pages, updated 01/04)
Outlines the hardware and software operations necessary to upgrade an AT91FR4081-based system to an AT91FR40161-based system.
 
 
How to Upgrade an AT91FR4081-based System to an AT91FR40162-based System (3 pages, updated 01/04)
Outlines the hardware and software operations necessary to upgrade an AT91FR4081-based system to an AT91FR40162-based system.
 
 
How to Upgrade an AT91M40400-based System to an AT91M40800-based System (3 pages, updated 11/00)
Describes the hardware and software operations to perform when upgrading an AT91M40400-based system to an AT91M40800-based system.
Top
Timers and Oscillators
PDF Software Description

 
Crystal Oscillator and PLL Consideration for AT91M42800A and AT91M55800A (18 pages, updated 9/01)
Describes the use of Crystal Oscillators and PLLs in the context of AT91M42800A and AT91M55800A microcontrollers.
 
 
Interrupt Generation Using the AT91 Timer/Counter (11 pages, revision B, updated 10/03)
This application note explains how to generate an interrupt signal using the AT91 Timer/Counter.
 
 
Pulse Width Modulation Generation Using the AT91 Timer/Counter (9 pages, revision B, updated 10/03)
This application note describes how to generate a Pulse Width Modulation signal via the AT91 Timer/Counter.
 
 
Using a Real-time Timer with Non-calibrated RC Oscillator as Real-time Clock (14 pages, revision A, updated 12/05)
Describes a method to improve the accuracy of a Real-time Timer when used as a Real-time Clock for AT91SAM7S, AT91SAM7SE and AT91SAM7X devices.

 

 

Сайт управляется системой uCoz