Atmega8535 datasheet на русском: Atmega8535 datasheet на русском

Содержание

ATmega8535-16AU, Микроконтроллер 8-Бит, AVR, 16МГц, 8КБ Flash [TQFP-44], Microchip

Описание

ATMEGA8535-16AU — это высокопроизводительный маломощный 8-разрядный микроконтроллер AVR на базе RISC, сочетающий 8 КБ программируемой флэш-памяти, 544 ГБ SRAM, 512 байт EEPROM и 8-канальный 10-битный аналого-цифровой преобразователь. Устройство поддерживает пропускную способность 16 MIPS при 16 МГц и работает в диапазоне от 4,5 до 5,5 В. Выполняя инструкции за один тактовый цикл, устройство достигает пропускной способности, приближающейся к 1 MIPS на МГц, балансируя энергопотребление и скорость обработки. Устройство изготовлено с использованием технологии энергонезависимой памяти высокой плотности Atmel. Встроенная флэш-память ISP позволяет перепрограммировать программную память в системе через последовательный интерфейс SPI, с помощью обычного программатора энергонезависимой памяти или с помощью встроенной программы загрузки, запущенной на ядре AVR. Программа загрузки может использовать любой интерфейс для загрузки прикладной программы во флэш-память приложения.

• Расширенная архитектура RISC
• Сброс при включении питания и программируемое обнаружение потери мощности
• Внутренний калиброванный RC-генератор
• Внешние и внутренние источники прерываний
• Шесть спящих режимов — холостой ход, шум АЦП сокращение, энергосбережение, отключение питания, режим ожидания и расширенный режим ожидания
• 130 Мощных инструкций — выполнение большинства за один такт
• 32 x 8 рабочих регистров общего назначения
• Полностью статическая работа
• Вверх до пропускной способности 16MIPS при 16 МГц
• Двухтактный множитель на кристалле
• Программируемый сторожевой таймер с отдельным встроенным генератором

Технические параметры

Техническая документация

Дополнительная информация


 SMD справочник
Типы корпусов импортных микросхем

Описание на русском atmega32 — JSFiddle

Editor layout

Classic Columns Bottom results Right results Tabs (columns) Tabs (rows)

Console

Console in the editor (beta)

Clear console on run

General

Indent with tabs

Code hinting (autocomplete) (beta)

2 spaces3 spaces4 spaces

Behavior

Only auto-run code that validates

Auto-save code (bumps the version)

Auto-close HTML tags

Live code validation

Highlight matching tags

Boilerplates

Show boilerplates bar less often

AVRDUDE_PROG

По умолчанию поддерживаемые МК (список МК постоянно расширяется, см. форум):

AT90CAN128, AT90CAN32, AT90CAN64, ATmega128, ATmega1280, ATmega1281, ATmega1284p, ATmega128RFA1, ATmega16, ATmega162, ATmega164p, ATmega168, ATmega169, ATmega2560, ATmega2561, ATmega32, ATmega324p, ATmega325, ATmega3250, ATmega328p, ATmega329, ATmega3290, ATmega329p, ATmega3290p, ATmega32U4, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega88, ATtiny13, ATtiny2313, ATtiny261.

По умолчанию поддерживаемые программаторы (список программаторов можно самостоятельно расширить, либо скачать с форума):

USBasp, USBtiny, AVR ISP mkII,SI-Prog, AVR910, AVR910, STK200, STK500, STK500 2.X, JTAG ICE mkII, JTAG ICE mkII ISP, JTAG ICE mkII PDI.

Основные отличия от аналогичных программ :

1. Возможность самостоятельного добавления программаторов, настройки скорости программирования и т.п;
2. Возможность самостоятельного добавления МК;
3. Редактирования и настройка отображения Fuses битов;
4. Выбор инверсных или прямых Fuses битов;
5. Окна вывода значений Fuses битов в HEX формате;
6. Сохранение настроек программирования при закрытии программы, т.е. при последующем открытии все настройки восстановятся;
7. дублирование кнопки — данная функция выводит на экран кнопку Программировать, которая является полным функциональным аналогом кнопки Программировать всё и всегда будет находиться по верх всех окон. Кнопку можно переместить в удобную для вас зону монитора, свернув AVRDUDE_PROG. Удобна при многочисленном перепрограммировании МК.

Установка.

Разархивируйте файл usbprog.rar в любую удобную папку. Поместите ярлык программы «AVRDUDE_PROG» на рабочий стол. Установка завершена. Можно работать.

Возможности программы.

Настройки оболочки AVRDUDE_PROG реализованы в ini файлах. Что такое ini файлы можно посмотреть тут.
Теперь возможно самостоятельно добавлять и редактировать список микроконтроллеров, программаторов, портов, Fuses бит, добавить различные языки и пр.
Список контроллеров и состояний Fuses бит, редактируется в файле atmel.ini, список программаторов и портов в файле programm.ini, список поддерживаемых языков в файле language.ini.

В файле atmel.ini, все значения введены по умолчанию в соответствии с datasheet на МК, можете изменить по Вашему усмотрению. Никаких инверсий не требуется, значение по умолчанию вводиться в соответствии с datasheet на МК. В том случае, если МК нет в списке, или при выборе МК во вкладке Fuses везде error, то Вам необходимо самостоятельно ввести значения в файл atmel.ini в соответствии с datasheet и приведённым ниже примером. Либо посмотреть на форуме. Файл atmel.ini находится в корневой папке программы.

В файле programm.ini, введены значения программаторов для командной строки avrdude. В том случае, если используемый Вами программатор отсутствует в списке, либо необходимо изменить какие-либо параметры установленные по умолчанию, то необходимо ввести/редактировать его значения самостоятельно в соответствии с приведённым ниже примером. Либо посмотреть на форуме. Файл programm.ini находится в корневой папке программы.

В файле language.ini, возможно отредактировать на свой вкус текстовую информацию оболочки, либо добавить язык программы AVRDUDE_PROG. Тут расписывать ничего не буду, думаю в файле language.ini всё понятно.

Добавление/редактирование списка МК. Работа с файлом atmel.ini.

Окройте в любом текстовом редакторе (рекомендую Notepad++) файл atmel.ini. Посмотрите как реализован ввод параметров МК, фузе битов и пр. Ниже привожу пример и описание парметров.

Пример на мк AT90CAN128

Заголовок раздела
[AT90CAN128] — имя МК которое появиться в выпадающем списке, [ и ] обязательны. В данном случае AT90CAN128.

Параметр для типа МК
mcuavrdude=c128 // тип мк в avrdude

Значение и описание параметров раздела для Fuse битов

Lock байт
lockbytebit*enabled=0 // * — номер бита в Lock байте, **enabled=0 — невозможно изменение состояния бита, **enabled=1 — возможно изменение состояния бита. В данном случае изменение бита невозможно. Изменение бита будет недоступно.

High байт
highbytebit*enabled=1 // * — номер бита в High байте, **enabled=0 — невозможно изменение состояния бита, **enabled=1 — возможно изменение состояния бита. В данном случае изменение бита возможно. Изменение бита будет доступно.
highbytebit*name=OCDEN // * — номер бита в High байте, **name = OCDEN — имя бита в соответствии с datasheet.
highbytebit*def=1 // * — номер бита в High байте, **def=1 — значение бита по умолчанию, вводиться в соответствии с datasheet. В данном случае значение по умолчанию 1.

Low байт
lowbytebit*enabled=1 // * — номер бита в Low байте, **enabled=0 — невозможно изменение состояния бита, **enabled=1 — возможно изменение состояния бита. В данном случае изменение бита возможно. Изменение бита будет доступно.
lowbytebit*name=CKDIV8 // * — номер бита в Low байте, **name = CKDIV8 — имя бита в соответствии с datasheet.
lowbytebit*def=0 //* — номер бита в Low байте, **def=0 — значение бита по умолчанию, вводиться в соответствии с datasheet. В данном случае значение по умолчанию 0.

Extended/Fuse/Fuse байт
extendedbytebit*enabled=0 // * — номер бита в Extended/Fuse/Fuse байте, enabled=0 — невозможно изменение состояния бита, enabled=1 — возможно изменение состояния бита. В данном случае изменение бита невозможно. Изменение бита будет недоступно.
extendedbytebit*name=NOT USED //* — номер бита в Extended/Fuse/Fuse байте, name = NOT USED — бит не используется. Если бит используется, вводиться его имя в соответствии с datasheet.
extendedbytebit*def=1 // * — номер бита в Lock байте, **def= — если имя бит бита = NOT USED, то значение вводится в соответствии с datasheet. В данном случае 1.

Добавление/редактирование списка программаторов. Работа с файлом programm.ini.

Откройте в любом текстовом редакторе (рекомендую Notepad++) файл programm.ini. Посмотрите как реализован ввод параметров программаторов. Ниже привожу пример и описание парметров.

Описание переменных файла.

[Name programmator] – имя программатора а выпадающем списке
progisp – программатор для командной строки avrdude
portprog – порт программатора для командной строки avrdude (Usb, com, lpt и пр.)
portenabled – окно изменение порта «1»-доступно, «0» — недоступно

Программатор AVR STK200 с поддержкой LPT.

Для добавления программатора AVR STK200 с поддержкой LPT в файл «programm.ini» можно добавить следующее:

Сохраните файл «programm.ini»

В выпадающем списке Настройки — Программатор появиться программатор « STK200LPT » с работой от lpt1 порта.
Всё работает аналогично для других параметров и программаторов, поддерживаемых avrdude.

AVRDUDE_PROG 3.3 (24.02.2014)

ВНИМАНИЕ. Обновлена версия avrdude 6.3 (22.01.2022)

Основные отличия от предыдущей версии:
— добавлено куча контроллеров, исправлены ошибки файлов atmel.ini,avrdude.conf — огромное спасибо модератору форума dmibr за проделанную работу!
— исправлены мелкие ошибки.
Если у Вас установлена программа версии 3.1 и выше, то достаточно заменить файл — AVRDUDEPROG.exe,avrdude.exe,avrdude.conf,atmel.ini . В этом случае все ранее сохранённые настройки в файлах ini не изменяться.

Размер файла: 690КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.3 (22.01.2022)

AVRDUDE_PROG 3.2

ВНИМАНИЕ. Актуально для версии 3.2 — ссылка на форум

Основные отличия от предыдущей версии:
— исправлено зависание программы в некоторых случая;
— исправлена ширина выпадающего списка программаторов;
— в диалоговом окне программы состояние avrdude выводиться в режиме онлайн, а не в конце программирования;
— исправлены мелкие ошибки.
Если у Вас установлена программа версии 3.1, то достаточно заменить только «exe» файл. В этом случае все ранее сохранённые настройки в файлах ini не изменяться.

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.2 (03.08.2013)

AVRDUDE_PROG 3.1

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.1 (18.10.2012)

AVRDUDE_PROG 3.0

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский
Разработчик: yourdevice
Версия: 3.0

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

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

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

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

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

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

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

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

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

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

Задачи-упражнения курса по 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 0 — нужен и тогда когда вы хотите взять с 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 позволяет настроить эту частоту правильно. Выше было написано как.

Если вы хотите использовать ножки МК 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 примеры применения микроконтроллеров.

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

usbavr.narod.ru — AT90USB — микроконтроллеры AVR с USB интерфейсом


 Краткий Курс — Самоучитель

Микроконтроллеры AVR 
 , ATmega
и ATtiny для начинающих с нуля 
 !


 Быстрый и уверенный старт —

 самые первые шаги …


 Чайникам 
 от Чайника !


Предлагаю вам учиться на 
 моём примере.

Маленькие шажки …
 
 ( комедия А как же Боб !
 )

Шаг 1. 
 Скачайте всего две программы

-
 компилятор 
 CodeVisionAVR 
 (2 Мб FREE — он бесплатный) 

-
 симулятор AVR и электроники
 
 VMLAB (4,2 Мб FREE)

Установите эти программы 
 по-умолчанию.

Теперь у вас есть качественное и 
 удобное программное

 обеспечение для ПОЛНОГО 
 цикла разработки устройств

 на МК (микроконтроллерах) 
 AVR 
 !

От
 интерактивного помошника для создания начального кода,

 скелета программы — инструмент бесценен для начинающего
 !

До
 написания и отладки полной программы с постоянным 
 контролем её

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

 вам микроконтроллера AVR совместно с 
 популярными электронными

 компонентами подключенными к нему виртуально.

Все МК
 AVR перечислены в таблице в самом низу этой 
 страницы !

И на сайте производителя конечно.


 Вам не нужно будет тратить деньги и время 

 на поиски и покупку радио деталей и микроконтроллеров

 пока вы не убедитесь в работоспособности устройства

 которое вы делаете !

Вы 
 не сожжете по неопытности что либо !

Не 
 попадете в спешке, в азарте отладки

 устройства под высокое напряжение !

Это очень важно для 
 начинающего электронщика

техника безопасности — ТБ !



 CodeVisionAVR — имеет встроенный 
 программатор для

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

Шаг 2. 
 Посмотрите — всё 
 ОЧЕНЬ просто !

Лучше один раз увидеть чем сто 
 раз услышать.


 1. Загрузите файлы к
 задаче упражнению 8 (это всего 
 14 Кб) в созданную
папку -
 c:\VMLAB\z8 и распакуйте файлы архива в эту 
 же папку.

2. Запустите VMLAB 
 и через меню Projectopen project
 откройте проект

 c:\vmlab\z8\vmlab.prj

3.
 Сверните мешающее окно vmlab.prj и подправьте мышкой остальные 
 окна

 чтобы получить такую картинку :

— 8 светодиодов,

 — 3 переменных резистора,

 — клавиатуру на 16 кнопок которые можно
использовать и раздельно,

 — виртуальный ЗАПОМИНАЮЩИЙ осциллограф

 — виртуальный терминал с записью данных

Весь 
 богатейший набор компонентов VMLAB 
 будет рассмотрен позже и конечно описан в его
 HELP.


 Полная 
 картинка экрана тут !


4.
 Теперь в меню Project кликните Re-build 
 all — проект нужно перекомпилировать при открытии и внесении 
 каких либо изменений. В окне Messages появится

 сообщение Success! All ready to run

Это значит ошибок нет и 
 все готово к моделированию микроконтроллера

 ATmega16. Вверху загорелся зеленый свет светофор.

Можно запускать 
 симуляцию …

Если появилось сообщение 
 об ошибке и светофор не загорелся — вы допустили

 ошибку на каком то этапе. Проделайте Шаг 2 сначала и более внимательно.

Шаг 3. 
 Симуляция — 
 моделирование работы МК.


 1. Нажмите мышкой светофор — это аналогично включению устройства, подаче

 питания на МК — программа зашитая в него начинает выполняться… 

И 
 тут же остановка! Дело в том что VMLAB 
 контролирует правильность работы

 МК и содержимое программы. Если ему что-то не 
 нравится то симуляция

 прерывается и в окне Messages 
 появляется сообщений о причине.

Подробнее это будет обсуждаться позже, а пока …

2. Нажмите светофор еще 
 пару раз до начала непрерывной симуляции.

Понаблюдайте внимательно 
 что происходит на экране.

В окне 
 SCOPE (это виртуальный осциллограф)
 вы видите как меняются напряжения

 на ножках МК указанных в файле проекта — vmlab.prj Верхняя 
 осциллограмма — это сигнал на ножке TXD (PD1) 
 по которой МК передает данные на COM порт ПК 
 — что передает МК мы видим в виртуальном терминале
 TTY в панели 
 Control Panel

Там выводится значение 
 ШИМ (PWM) сигнала создаваемого на 
 ножке PD5 — а сам сигнал виден в окне
 SCOPE — посмотрите как он меняется в 
 соответствии с сообщаемыми числовыми значениями…

В файле проекта — 
 vmlab.prj к ножке PD5 подключен 
 простейший фильтр нижних частот (ФНЧ) из резистора и конденсатора — он 
 преобразует ШИМ в постоянное напряжение которое можно увидеть в 
 окне SCOPE сигнал 
 DAC (АЦП по-русски)

3.
 Остановите программу красной кнопкой 
 STOP. В 
 окне Messages появится сообщение о том 
 что программа остановлена пользователем -
 User break

4.
 Разверните окно Code — в нем 
 отображается исходный код программы которая прошита в МК и выполняется 
 при симуляции. Вы увидите что некоторые строки программы подсвечиваются 
 желтым цветом — длина подсветки пропорциональна времени которое 
 программа тратит на выполнение этой строки.

5. Найдите строку в 
 программе: printf(PWM %u 
 %c\n,pwm,’%’); 

 Щелкните по квадратику перед строкой — он превратится в красный знак
 STOP

 вы поставили точку останова (Break point) 
 — теперь программа автоматически остановится перед выполнением этой 
 строки.

6. Сверните окно 
 Code и нажмите 
 светофор для продолжения симуляции.

 Дождитесь остановки программы на этой строке (на этой точке останова) — 
 строка подсветится голубым цветом. Посмотрите на панели внизу текущее 
 чистое время

 (без учета остановок) прошедшее с начала программы — запомните. 

7. Теперь продолжите 
 симуляцию — надеюсь вы поняли как это сделать! Через некоторое время 
 программа опять остановится на этой строке но время уже будет другим. 
 Вычтите из него время прошлой остановки и вы получите время выполнения 
 этого участка программы.

Шаг 4. 
 Как изменить 
 программу ?

Вам предстоит многократно менять 
 программы

 пока они не начнут работать так как вы хотите.


 1. Запустите компилятор CodevisionAVR (CVAVR)
 и через меню FileOpen

 откройте файл проекта CVAVR — 
 c:\vmlab\z8\cv.prj

2.
 Разверните окно с текстом программы. Вы видите что программа 
 начинается

 с оформленного в виде комментария краткого описания того что она делает 
 и некоторых технических параметров. Программа написана на языке Си — 
 который является пожалуй самым популярным и удобным при программировании 
 для МК.

Не пытайтесь 
 сразу понять что написано

 в этой программе.

Сейчас это вам не 
 нужно !

Понимать программы и уметь их создавать

 вы будете после освоения всего курса.


Пока просто внесем изменение в программу

 и утвердим их перекомпиляцией.


 3. Найдите в программе туже строку: 
 printf(PWM %u %c\n,pwm,’%’);

 и замените PWM на WOW 
 (типа вау! получилось!) — картинка ниже.

4. После внесения 
 изменений в исходный текст программы ее нужно cкомпили-

 ровать. Компилятор должен превратить вашу 
 программу в файл прошивку .hex 
 который можно прошить (загрузить) в реальный МК или использовать в 
 симуляторах.

5. Для выполнения 
 компиляции нажмите кнопку Make the project

После компиляции появится 
 информационное окно — в нем написано

 что наша программа содержит целых 5 ошибок !

Где найдены ошибки и 
 каковы они написано красным цветом в левой

 части экрана в окне навигации по проекту Navigator

При наведении курсора можно увидеть 
 описание ошибок.

6. Первая ошибка — не могу открыть файл m8_128.h

Все ясно. Этот файл 
 включен в исходный текст программы строкой:

В тексте программы 
 написано где можно взять этот файл -
 скачайте
 m8_128.h

 и поместите его в папку INC компилятора
 CVAVR.

7. Снова 
 компилируем программу кнопкой Make the project
 — теперь получаем сообщение об отсутствии ошибок и о размере 
 программы и о том сколько это %%

 от максимального размера программы для данного МК.

Посмотрите внимательно — 
 хотя ошибок нет — есть вонинг — это замечание от компилятора. Вонинги 
 не критичны, но можно посмотреть в навигаторе о чем они.

Закройте информационное 
 окно кнопкой ОК.

Вы выполнили всего 4 не 
 сложных шажка


Но уже знаете 
 что

Моделировать 
 работу МК можно на компьютере не имея самого

 МК и электронной схемы вокруг него. При этом видеть не только

 то что происходит на ножках МК но и то что происходит внутри

 МК .
с помощью нижних частей меню View 
 и Window
симулятора VMLAB.

Вы уже знаете 
 как открыть проект в компиляторе, внести

 изменения, скомпили-ровать программу, увидеть ошибки,

 исправить их. Вы теперь знаете, что не нужно пытаться

 исправлять все ошибки сразу, а нужно начинать с первой

 и возможно после ее исправления другие ошибки тоже пропадут.


Шаг 5. 
 Симуляция после 
 правки


 1. Разверните окно симулятора VMLAB — 
 выскочит сообщение о том что файл с текстом симулируемой программы 
 изменен. Мы же его меняли в компиляторе.

 Закройте его кликнув ОК.

2. Сделайте глубокий 
 рестарт симуляции кнопкой с круговой темно-синей

 стрелкой и перекомпилируйте весь проект как в Шаге 2 пункт 4 или нажав 
 комбинацию: Shift+F9

Все готово к повторной 
 симуляции.

3. Нажмите светофор 3 раза 
 — начнется непрерывная симуляция и вы увидите результат правки программы 
 в компиляторе CVAVR в окне виртуального

 терминала симулятора VMLAB
 — вот он:

Обратите внимание на то 
 что симулятор показывает примерный расчетный

 ток потребления МК. Скорость симуляции можно снизить регулятором
 Speed.

 А частоту кварца можно поменять кнопками Clock.

Кроме того указаны текущие 
 параметры настройки терминала которые можно

 изменить нажав кнопку Set parameters.
 Кнопки Clear очищают окна.
 Вы можете набирать текст в окне TX и он 
 будет передаваться в МК (см. пример к симулятору 
 C:\VMLAB\AVR_demo\UART.PRJ) а можно передать в МК текстовый файл 
 кнопкой

 TX File. Если 
 отметить чек-бокс RX to 
 file то данные поступившие от МК будут записываться в файл на 
 ПК.


 Найдите время и обязательно выполните

 остальные примеры симулятора
 VMLAB.

Это позволит 
 вам лучше понять

 его возможности.


 Дополнительные важные примеры в папке
 C:\VMLAB\tutorial



 Вот скриншот работы МК в 
 VMLAB


Вы не покупали МК
 ATmega16 — у вас его нет !

Вы ни 
 чего не паяли и не подключали !

Но вы 
 увидели как работает МК и программы.

Получили 
 осциллограммы работающего устройства.

Могли 
 записать в файл то что передавал МК.

Вступление закончено.

Далее собственно 
 …

Краткий курс
AVR на примерах.


 Цель курса — помочь вам быстро начать 
 использовать

 
 
 микроконтроллеры семейства AVR !

Даже с 
 абсолютного нуля знаний о микропроцессорах

 и о программировании вообще.

В курсе даны 
 кратко ключевые моменты устройства МК

 и показано как МК взаимодействует с окружающими

 его в электронном устройстве компонентами и с

 другими устройствами, например с ПК.




 Объясняется что конкретно нужно сделать чтобы 
 МК

 ожил сам
и оживил ваше электронное устройство.

Курс подробно рассказывает как сделать 
 самые первые шаги,

 с чего начать не вообще, а 
 конкретно — ПО ПУНКТАМ …

— Как сделать нужное 
 вам электронное устройство, печатную плату

— Как написать первую, простейшую программу для МК

— Как запустить эту программу в программе-симуляторе МК и увидеть как

 она работает не покупая МК и радиодеталей, 
 а значит без риска

 спалить что-то или испортить порт вашего ПК !

— Как загрузить программу в реальный МК

— Как отладить 
 реальное устройство — т.е. найти причины не правильной работы

 и добиться его функционирования в соответствии с поставленной 
 задачей.


 Для использования микроконтроллеров, в том числе и

 МК AVR, вам не нужно досконально знать электронику

 и языки программирования.




Курс 
 поможет вам научится искать и творчески использовать информацию в объеме 
 необходимом

 для реализации конкретного проекта, устройства .

Краткий курс — 
 самоучитель — AVR начинающим.

Заглавная страница курса -
 avr123.nm.ru

стр. 1. Ключевая 
 страница курса — ИЗУЧИТЕ ЕЁ ! 
 она ГЛАВНАЯ в курсе !

стр. 2. Что такое МК и AVR в частности. Как работает МК.

стр. 3. Возможности МК. Что и как подключать к МК. Регистры и
программа. Прерывания в
 AVR.

стр. 4. Компиляторы и Симуляторы для МК AVR.

стр. 5. Си для МК — очень малая часть языка
 достаточна для работы с МК.

стр. 6. Задачи-упражнения по курсу 
 — это практические занятия по работе

 с МК и необходимые теоретические сведения и комментарии.

 Макетные платы, изготовление плат, пайка.

стр. 7. Как и чем 
 прошить (прожечь, загрузить) программу в МК AVR, ATmega

 Как сделать программатор 5-проводков или сложнее.

стр. 8. Дополнительные, полезные материалы

стр. 9. О великолепных МК серии 
 PIC12, PIC16, PIC18 
 от компании MicroChip

Курс не имеет навигации — 
 просто в конце каждой страницы

 есть линк на следующую и 
 предыдущую страницы.

Я очень советую 
 вам читать курс последовательно,

 так как изложен материал.


 Поверьте, это важно и правильно !

Можно скачать весь курс 
 архивом около 2 Мб — 
 Курс 
 AVR

Вы уже 
 запустили МК и увидели как

 он работает виртуально ! 

Вы видите что это 
 просто,

 доступно, не дорого и безопасно !


Программа примера была 
 создана в отличном, и очень удобном

 для начинающих компиляторе CodeVisionAVR.

Этот компилятор 
 является достаточным инструментом для 
 полного цикла

 разработки вплоть до прошивки МК
(дополнительно потребуются лишь

 интерфейс для электрического соединения МК и ПК — если у вас есть LPT

 то нужны всего 5 проводков — см. стр. 7)
 и отладки устройства.


 Демо версия имеет ограничение на максимальный размер кода программы в 2 
 Кб

 это довольно много для начинающего. Если вам 
 этого мало вы наверняка сможете

 найти полную версию программы CodeVisionAVR в Интернете.



 Вот другой архив с лекарством, версия 
 1.24.8b
зато без гиморной рапидшары

CVAVR v1.25.2 beta with keygen 
 
 http://slil.ru/23574943 

Пароль при установке — beta

В генераторе поля:

— любое имя

 — любая компания

 — серийный номер который даст CVAVR
 при первом запуске

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

Ссылки на дополнительные материалы 
 :

-
 FAQ — ответы на частые вопросы 
 по AVR и по электронике


 — Проекты телесистем — это 
 различные устройства на МК на русском языке

— 
 
 Проекты на AVR студентов Корнельского университета — великолепные

-
 
 Проекты очень 
 интересного талантливого человека Элм-Чена


 — Конференция 
 русскоязычная по МК спрашивайте — вам ответят быстро !

— Книги по AVR и 
 электронике для скачивания — ЧИТАТЬ 
 .

 Библиотека книг для скачивания.


 … хотя бы список КНИГ сохраните у 
 себя на ПК !

-
 Книги по 
 электронике и технике для скачивания и чтения



 GOOGLE находит всё ! 

 Вводите интересующие вас ключевые слова.

-
 Translate.ru 
 переведет то что вы нашли на корявый русский язык.


 Присылайте отзывы, пожелания

 замечания и дополнения !


Читать курс дальше — на 1-ю 
 страницу


 
 © 2004-2010 by Termo

Интересное есть и ниже —

 в подвале


 Краткий 
 Курс 
 Самоучитель

Симулятор 
 электронных устройств ПРОТЕУС, поддерживает микроконтроллеры 
 AVR , 8051,

 PIC10, PIC16, PIC18, ARM7, Motorola MC68HC11


 Полная 
 система проектирования !

От идеи до 
 результатов работы устройства

 и файлов для изготовления платы.


 
 Быстрый старт, самые 
 первые шаги …

Конечно с 
 картинками !

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

— Как 
 распорядится его ресурсами правильно ?



 Наберитесь терпения и прочитайте весь курс

 (он укорочен и сжат насколько возможно) без перескоков и 
 пропусков до конца, сохраняя на своем ПК.


 Я сознательно убрал свободную навигацию по курсу. При 
 наличии свободной навигации многие начинают перескакивать страницы и 
 пропускают материал и потом долго ищут ответы на то о чем было ПОДРОБНО 
 рассказано в пропущенном ими повествовании.


 Читая первый раз, не расстраивайтесь что вам не все понятно — 
 это нормально, однако в результате чтения вы ознакомитесь с содержанием 
 курса и будете знать о чем и где примерно в курсе идет речь и МК термины 
 будут у вас на слуху.

Затем читайте краткий 
 курс более внимательно и ОБЯЗАТЕЛЬНО ДЕЛАЙТЕ то что прошу вас делать в 
 курсе и в упражнениях-задачах курса.

Иначе научиться 
 НЕЛЬЗЯ !


 
 Вам 
 ПОКА
 не нужно покупать МК, радиодетали и паять что либо ! 
 Но если 
 хочется, то пожалуйста паяйте …

Значит вы ни 
 чего не спалите !

 И током вас не долбанёт…


— 
 Желание !

 — свободное время,

 — компьютер с доступом в Интернет

Вы сможете
 
 не имея МК проделать весь цикл

 разработки управляющей программы для него :

— написать программу 
 для МК в компиляторе и скомпилировать ее, 

— запустить и отладить 
 ее на компьютерном симуляторе МК, 

— получить 
 осциллограммы сигналов вашего устройства

 работающего виртуально, на вашем ПК. 

— увидеть на мониторе 
 ПК как в симуляторе
 
 VMLAB МК мигает светодиодами,

 реагирует на нажатие кнопок, выводит 
 информацию на LCD, измеряет

 напряжения, работает с логическими и 
 аналоговыми элементами схемы,

— посмотреть как МК 
 ведет обмен по интерфейсам i2c TWI 1-wire rs-232 UART 

 TWI и записать его для последующего анализа.

— увидеть как МК 
 отрабатывает прерывания по событиям, засыпает для

 снижения энергопотребления и просыпается.

— 
 остановить и отмотать назад время !

 что просто не возможно в реальном МК
.

— симулировать ДВА МК 
 ! одновременно в одной схеме. При этом во второй МК

 вы можете поместить 
 программу имитирующую работу какого то нужного вам

 компонента 
 отсутствующего в симуляторе и даже в природе.

— обменятся 
 информацией с симулируемым МК и результат обмена сохранить

 в файл для последующего анализа.



 — в PTOTEUS вы можете увидеть 
 как МК работающий по вашей программе общается с электродвигателями, с 
 шаговыми моторами, с серво, с картами памяти, с жестким диском, 
 сможете даже сыграть с МК в шахматы !

— в симуляторе 
 PTOTEUS вы можете симулировать в одной схеме работу нескольких 

 разных МК одновременно ! причем это могут быть МК разных семейств — AVR, 
 PIC, 8051,

 ARM7, Motorola MC68HC11.

Вы 
 можете не читать, а прослушать курс с 
 помощью программ читающих тексты ! Например — 
 Говорилка — читает русский текст голосом птицы говоруна из 
 мультика Тайна 3-й планеты.


 Прочитав ВЕСЬ курс, 
 приступайте 
 к повторному чтению и выполнению задач — упражнений курса ! 


 Упражнения — задачи
 курса — это практические 
 примеры постановки задачи, создания алгоритма, написания программ

 для МК, симуляции и отладки устройства.

Они содержат необходимые теоретические материалы и архивы с полученными 
 программами

 и результатами.

По 
 ходу работы ОБЯЗАТЕЛЬНО:

— 
 записывайте возникающие вопросы !
и лучше на бумагу — моторная память !

— ищите в 
 DataSheet (ДШ) регистры и устройства МК используемые и

 упомянутые в задаче, прочитайте о них подробней. Уясните роль

 каждого бита и регистра.

— если вопросы 
 остались перечитайте задачу снова !

Если 
 вопросы не разрешены, 
 ищите 
 ответ:

1) 
 в help и документации 
 компилятора, симулятора

 и других используемых программ!

2) поиском 
 Windows в папках и help компилятора и симулятора.

3) поиском 
 Windows в папке где сохранен у вас курс.

Ищите 
 ключевые слова содержащиеся в

 тексте файлов, а не в их названиях !

4) в моем 
 AVRFAQ
 — это сборник ответов на часто задаваемые мне

 по курсу вопросы и советы по применению МК от знающих людей.

Если все же не найдете 
 ответа — задавайте вопрос

 в конференции Вам 
 ответят правильно в 
 течении дня

 Если вы правильно, на нормальном русском языке, продумайте и

 сформулируете ваш вопрос

 и лучше напишите его в теме.


 Согласование в ВЧ и СВЧ

 радиоэлектронных устройствах.


Краткий 
 курс — очень кратко!

Конечно На 
 примерах!

Уроки 
 работы с пакетом RF
проектирования моделирования MWO


 Что делать если вы не сильны в Электронике?

Если мало знаний по 
 электронике, но есть желание

 что-то сделать — то главное у Вас уже есть!


 Человек умеющий читать, может все !


 Для вас книга на заглавной странице курса 
 и еще:


 Книги по электронике

Книги по программированию МК и 
 ПК


 Книги по МК AVR ATmega ATtiny

можно найти в магазине в библиотеке и конечно скачать в интернете 
 !


 Особенно рекомендую начинающим
книги по основам 
 электроники и схемотехники:

Настольная книга 
 электронщика:


 П.Хоровиц, У.Хилл. Искусство схемотехники — 
 общепризнанная
 
 библия электронщика на 
 РУССКОМ языке. Уже 5-е издание — от теории полупроводников

 до типовых 
 электронных схем с подробнейшим описанием принципов их работы ! 
 Аналоговая и цифровая электроника.

и аналогичная книга:


 У.Титце и К.Шенк Полупроводниковая схемотехника.

Книги, курсы, 
 tutorial — удобно и правильно искать в 
 GOOGLE


 думаю
 
 95% информации

 по любой области знания

 находятся в интернете

 на английском языке !



 Учите английский язык ! 


 Повышайте свою стоимость

 на современном рынке труда !

Это очень просто научится читать

 технические тексты на английском языке.


 Тем более у вас есть конкретная мотивация ! 

Скоро 
 напишу краткий курс и

 по базовому английскому.



 Используйте 
 он-лайновый переводчик 


 Translate.ru


 Он поможет прочитать вам тексты на

 английском, немецком, французском, испанском языках — любезно и 
 бесплатно переведя их

 на корявый русский.


 добавьте в избранное !

Как 
 сделать 

 электронное устройство.

Прежде 
 чем изобретать велосипед, 
 т.е. делать свой вариант какого либо устройства ( 
 и не только электронного ! ) которое наверняка
 целиком или частично уже было сделано многими людьми и даже 
 трудовыми коллективами — разумно поискать и посмотреть 
 результат их труда и использовать его по максимуму !


 ОБЯЗАТЕЛЬНО 
 ИЩИТЕ
 существующие аналоги того, что вы хотите сделать !

— по похожим названиям

 — по аналогичному назначению

 — по ключевым словам

 — по сходной тематике

Ищите 
 источники схемотехнических, алгоритмических, программных аналогий 
 !

Отправной точкой в 
 поиске может быть сайт компании
 Телесистемы.

 Эта компания производит множество устройств на МК — схемы этих устройств 
 выложены на их сайте и доступны для скачивания.

Там же есть очень 
 полезный раздел:


 проекты на микроконтроллерах на русском языке
 — это читатели сайта и самой 
 живой русскоязычной МК конфы
 (доброжелательная атмосфера, быстрые ответы даже на дурацкие вопросы 
 ламеров, полезная информация — уже более 1300 страниц архива конференции 
 !) публикуют свои разработки :


 там схемы и даже прошивки
 к большинству из них!


 
 Удивлюсь если вы не найдете там аналога 

 (или куска схемы, куска кода программы)

 того, что нужно сделать вам!

Не 
 нашли ? Спросите 
 у профи 
 в МК конфе

например так: подскажите 
 где посмотреть проект контроллера шагового двигателя ?

 или апноуты или 
 принцип работы, кусочки кода. спасибо.

вам наверняка 
 подскажут !


 Скорее всего вы найдете то

 что хотите сделать !


 Либо почти то 
 и вам останется лишь немного подправить

 схему или программу под свою задачу.


 Нашли аналоги — великолепно !

Обдумано и творчески 
 берите из найденного схемы, куски схем, способы подключения, номиналы 
 компонентов, типовые и оригинальные решения, как организовать питание 
 устройства, примеры программы …

Вы можете 
 скомпилировать свое устройство из кусков взятых в проектах других 
 электронщиков, в ДШ и в АпНоутах.

Как бы построить из 
 типовых кубиков — возможно подогнав

 их слегка друг к другу …

Анализ 
 того что сделано другими поможет

 вам избежать многих досадных ошибок и

 тупиковых решений !


 Возможно вам будет проще найти и использовать подходящий


 электронный набор 
 MasterKit
 или Velleman 
 — очень

 большой перечень устройств — цена умеренная

В любом случае там вы можете взять схему и принцип

 работы устройства, а иногда и прошивку!


 Методика работы с МК 
 -
 как и с ЛЮБЫМИ электронными компонентами, такова:

Находите на сайте производителя или на 
 AllDataSheet или в 
 google.com
 и скачивайте: 

— 
 DataSheet
 — основной документ по компоненту — его паспорт (далее ДШ).

 обычно в формате .pdf 
 Ищите новейшую версию !

— Errata — описание 
 уже обнаруженных ошибок компонента — для МК AVR

 серии ATmaga ошибки МК перечислены в конце ДШ.

Ищите там же и 
 обязательно: 

— Application Notes, 
 Design Notes 
 — примеры применения

 — Development Boards или Kits — 
 платы для разработки

 — Refrance Design — пример 
 устройства на компоненте

 — White paper — поясняющая 
 статья


 Это примеры применения 
 компонента в реальных электронных устройствах, советы и наставления … 



 МК в этих документах показан в реальных РАБОТАЮЩИХ ! устройствах с 
 конкретными элементами и платами.


Освещаются вопросы 
 по:

 — обеспечению качественного питания устройства и МК,

 — нормированию входных сигналов,

 — защите от электрического (статического) повреждения,

 — способам управления различными нагрузками,

 — приему, преобразованию и передаче различной информации


 — выбору резисторов,

 — конденсаторов,

 — силовых элементов — транзисторов, тиристоров,

 — по компонентам и номиналам элементов обвязки МК

 — коммерческое наименование компонентов для 
 покупки и
 
 поиска.

и еще 
 много ОЧЕНЬ полезного!



 
 
 обвязка МК — это совокупность электронных компонентов подключенных 
 к МК.



 АпНоуты 
 (Application Notes, апликухи) 
 — важнейшие после ДШ документы. В них обычно публикуется схема, описание 
 принципа работы и программа на Си или ассемблере если компонент 
 программируемый.


 
 Обязательно скачайте 
 AVR Application Notes все !

 
 и
 .zip 
 
 файлы с кодом программ к ним!


 
 Когда вам что-то не ясно просмотрите бегло их, наверняка наткнетесь на 
 схему или код нужный вам как раз сейчас !
 


 Некоторые из 
 AVR Application Notes любезно

 переведены на русский язык и доступны

 благодаря проекту GAW.ru


 Ну а те что еще не переведены уже названы по-русски !


 Учитесь на чужих ошибках —

 своих еще успеете наделать! 


Это значит — Ищите 
 и читайте FAQ по продукту!

ДШ (DS) на резисторы, 
 конденсаторы, светодиоды, кнопки, микросхемы и любые другие компоненты — 
 вы найдете на сайтах интернет магазинов: 
 chip-dip.ru
 и platan.ru

Еще лучше, с 
 картинками компонентов, поиск на сайтах западных интернет магазинов 
 электронных компонентов:

 farnell.com
mouser.com
digikey.com


 они и в Россию заказы присылают быстро и сравнительно не дорого !

Вот 
 это
 бесценно для начинающего
 
 
 МикроКонтроллерщика

От производителя МК PIC — огромный перечень примеров применения, о 
 необходимости которых я говорил выше, с хорошей теорией схемами

 и кодом программ:


 
 All Application Notes — 
 скачивать все не нужно, 
 сохраните только перечень,

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


 вот 
 этот перечень АпНоутов упакованный мной для вас в архив

это кладезь сделанного 
 профессиональными микроконтроллерщиками — эмбедерами — а программы 
 на Си легко адаптировать под любой МК (вот

 такое полезное свойство имеет Си — машино-независимость
).


 вот еще перечень АпНоутов
 Freescale (MOTOROLA)

Скачайте 2 архива выше — 
 всего по 25 кБ — Не пожалеете !

Что можно 
 взять полезного из АпНоута.

Вот 
 тут
 найдите ( пример применения = АпНоут = application note )

AVR492: Brushless 
 DC Motor control using AT90PWM3


 BLDC motor — 
 дословно переводится как
Бес Щеточный Постоянного Тока 
 мотор

По-русски ВЕНТИЛЬНЫЙ 
 электродвигатель.

Однако питать его 
 постоянным током нельзя — сгорит !

Его 
 нужно питать 3х-фазным переменным напряжением

 с фазой зависящей от положения ротора !

Рассматриваемое устройство как раз преобразует постоянное

 напряжение в 3-х фазное переменное.

Подробно и главное 
 понятно про электропривод читайте на 
 stepmotor.ru — там же можно купить 
 электро-мотор-редукторы и шаговые двигатели. 

AN492 Контроллер 
 вентильного двигателя

 
 на МК AVR AT90PWM3″

и скачайте документ 
 doc7518.pdf и архив avr492.zip
 с кодом программ для МК.

Посмотрите заодно 
 внимательно какой 
 великолепный набор АпНоутов = готовых устройств и справочных данных по 
 МК AVR — советую скачать все и пролистать на досуге, а потом 
 активно используйте при проектировании !


 Повторяю! 
 
 Некоторые АпНоуты по электроприводу с AVR440 по AVR495 любезно 
 переведены на русский и доступны на великолепном сайте — GAW.ru


Открываем документ 
 — doc7518.pdf и видим :

— Вначале прекрасную 
 теорию управления трехфазным бесщеточным электродвигателем, обратная 
 связь осуществляется по сигналам 3-х датчиков холла.

— Далее на стр. 6 
 начинается объяснение широко распространенного алгоритма автоматического 
 регулирования ПИД (англ. PID)


 FAQ PID и настройка ПИД регулятора

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

— Далее фотография 
 платы готового устройства — говорят лучше 1 раз увидеть чем 100 раз 
 услышать — это действительно так.

На 
 плате устройства можно увидеть

— как правильно располагать 
 электронные компоненты,

 — какие они бывают,

 — как выглядят,

 — как правильно конструировать плату.

— Далее идут листы с 
 частями схемы устройства — схемы сложных устройств иногда удобней 
 разбить на функциональные блоки и рисовать на отдельных листах :


 Посмотрите схемы и попробуйте найти компоненты на плате устройства, 
 отследить печатные проводники на плате — в общем поработайте с 
 информацией себе на благо!

1) Лист 2/4 схема 
 POWER — стабилизатора питания МК — готовый вариант для вашего 
 устройства ! 
 ИСПОЛЬЗУЙТЕ !

Микросхема U6 
 стабилизатор питания MC78M05 (корпус Dpak 
 ищи и смотри ДШ на MC78M05 — черный квадратный прибор под 
 алюминиевым бочонком) — дает стабилизированные 5 вольт для питания 
 МК из 12 вольт (это здесь, а вообще диапазон входного напряжения может 
 быть шире) от внешнего источника питания устройства.

Вот интересно — 
 диод D5 (вертикальный цилиндрик на плате вверху под зелеными клеммами) с 
 конденсатором C19 (алюминиевый бочонок чуть ниже диода) позволяет МК 
 получать непрерывное питание 5 вольт даже при кратковременном обнулении 
 входного напряжения — такое очень возможно при коммутации мощного эл. 
 двигателя, еще при этом возникают значительные импульсные помехи 
 в проводе питания — их гасят конденсаторы C18 C19 C20 и резистор 
 R25 значительно повышает эффективность конденсаторов C19 C20 в 
 подавлении помех от источника питания.

Резистор R25 еще 
 защищает стабилизатор MC78M05 от короткого замыкания выхода +5 
 вольт на землю — он ограничивает ток.

Светодиод D6 (smd 
 корпус — белый прямоугольничек под стабилизатором MC78M05 ) индицирует 
 наличие +5 вольт питания МК — это очень удобно и правильно!


 Часто при отладке не замечаешь что устройство

 включено и начинаешь паяльником орудовать …

Бывает 
 не смешно !


 ВАЖНО ! 
 Необходимыми для питания устройства являются лишь 3

 элемента — стабилизатор и по одному конденсатору на его входе и 
 выходе.

Но компонентов 
 значительно больше — это сделано для обеспечения надежной работы 
 устройства.

Не поддавайтесь 
 копеечной экономии и обманчивой простоте ведь работает же — это не 
 критерий !


 Устройство должно работать надежно !

2) Правее можно 
 увидеть схему интерфейса LIN — он очень широко применяется в 
 автомобилестроении и в других местах с сильным уровнем помех и позволяет 
 передавать сообщения по последовательному протоколу (хорошо совместим с 
 USART и UART) между устройствами с соединенными землями по одному 
 сигнальному проводу со скоростью до 20 Кбит в секунду.

3) на странице схемы 
 3/4 изображен МК.

Есть 
 несколько интересных моментов:


 Питание на МК (вывод VCC) и на встроенный в МК АЦП (вывод AVCC) 
 подается через резистор 10 Ом и эти выводы зашунтированы 10 нФ 
 конденсаторами на землю устройства — это сделано для 
 фильтрации (ослабления) высоко частотных и импульсных помех наводящихся 
 на цепи питания устройства.

Лучший результат 
 можно получить поставив вместо резисторов индуктивности по 60-100 
 нГн а совсем уж крутизна применить специальные проходные фильтры для 
 питания, например Murata.

К выводу опорного 
 напряжения АЦП МК (вывод AREF) подсоединен лишь конденсатор 100 
 нФ на землю для снижения пульсаций напряжения — очевидно используется 
 внутренний источник опорного напряжения — такой имеется и у МК ATmega — 
 на 2,56 вольт.

Обратите внимание на 
 разъем J2 JTAG-ISP — этот разъем позволяет прошить МК прямо в 
 системе (с помощью ISP адаптера) и проводить отладку и 
 мониторинг работы программы МК прямо в готовом устройстве по интерфейсу 
 JTAG .

4) На странице схемы 
 4/4 изображен мощный драйвер для 3-х фазного электро-мотора. Сделан 
 ОЧЕНЬ ПРАВИЛЬНО — надежно!


 Оставив 4 транзистора из 6-ти вы получите классический Н-мост (H-bridge) 
 и с его помощью можете управлять обычным коллекторным (щеточным) 
 электродвигателем постоянного тока — DC motor.


 
 Есть АпНоуты и по управлению Сервоприводом и Коллекторными двигателями и 
 Асинхронными моторами и Шаговыми моторами.


 — полевые транзисторы-ключи 
 SUD35N05-26L (6 черных квадратиков справа на плате) 
 управляются МК через специальные драйверы IR2184
 для полевых транзисторов.

Драйверы 
 IR2184
 обеспечивают правильные сигналы на затворах полевых транзисторных 
 ключей гарантирующие полное и быстрое их открытие и быстрое закрытие — 
 это снижает выделение тепла на транзисторах.

Кроме того 
 автоматически формируют паузу между открытым состоянием нижних и верхних 
 транзисторов одного плеча моста. Одновременное открытое состояние 
 транзисторов вызовет протекание сквозного тока от источника питания 
 через оба транзистора ! А по жизни ток должен протекать через 
 нагрузку.

Используйте 
 драйверы аналогичные IR2184 — 
 это ПРАВИЛЬНО !

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

Измеритель суммарного 
 тока протекающего через драйвер и двигатель — схема его стандартна — 3 
 транзистора нижнего плеча в драйвере подсоединены к одному проводу, не к 
 общему проводу устройства ! А этот провод через 
 токоизмерительный резистор R18 (беленький прямоугольник справа 
 внизу на плате с надписью R100 — значит 0.1 Ом) подключен к земле 
 устройства.

Протекание тока
 I через резистор R
 вызывает падение напряжения U 
 на нем :

U = I * R 
 ( это закон Ома для участка цепи 
 )

это напряжение 
 фильтруется ФНЧ (фильтром нижних частот) образованным R20 и 
 C16 и подается на компаратор 
 LMV7219M5 — он сравнивает его с напряжением заданным с помощью ЦАП 
 (сигнал DAC_OUT) и в случае превышения на выходе компаратора 
 возникает высокий уровень over_cur
 — означающий превышение током заданного значения.

Обычно делают проще — используют не компаратор а ОУ 
 (операционный усилитель) и без сравнения с чем либо усиливают напряжение 
 с R18 (нормируют сигнал) и подают на АЦП. 
 Программа МК по результату АЦП судит о величине тока.

Однако примененная 
 схема с компаратором (его роль может выполнять и ОУ) позволяет быстрее 
 реагировать на превышение тока выше заданного значения — ведь сигнал с 
 компаратора можно подать на один из входов INTx — это ножки МК 
 имеющие возможность прерывать программу МК по 
 внешнему событию. МК при возникновении такого 
 прерывания примет меры для снижения тока — обычно это делается путем 
 изменения величины ШИМ сигнала управляющего мостом.


 Обратите внимание! Для защиты драйверов 
 IR2184
 по питанию — предусмотрен защитный диод TVS SMBJ18 — но на плате 
 его нет.

При 
 проектировании схемы и разводке платы предусматривайте все по максимуму 
 !

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

Зато 
 вам будет легко добавить то, что было задумано
 — ведь место на плате будет предусмотрено заранее !

В 
 АпНоуте 
 AVR492 еще 
 много информации к размышлению

 и применению и еще есть архив с программой для МК !


 Пожалуйста найдите время и просмотрите!


 Записывайте возникающие вопросы !

 и лучше на бумагу — моторная память !

— найдите в 
 DataSheet
 (ДШ) регистры и устройства МК о которых

 шла речь, прочитайте о них подробней.

— если 
 вопросы остались перечитайте материал снова !


 — если вопросы не разрешены, ищите ответ:

1) 
 поиском GOOGLE по Краткому КурсуAVR 
 в on-line

2) поиском 
 Windows в папке где сохранен у вас курс.

3) в моем не 
 структурированном 
 AVRFAQ
 — это сборник ответов на часто задаваемые мне по курсу вопросы и 
 советы по применению

 МК от знающих людей.

5) в книгах 
 по AVR и МК

Если все же 
 не найдете ответа

задавайте 
 вопрос в 
 конференцию

Вам ответят 
 в течении дня, если вы правильно, на нормальном русском языке, 
 сформулируете ваш вопрос и напишите его в заголовке сообщения.


 Домой ! 
 читать курс дальше …

В подвале этой 
 страницы есть

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



 Про книги не забывайте !

 Они сеют умное, доброе, вечное…

Праздники мира


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


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


 Я советую прошивать микроконтроллер 
 прямо из 
 программатора встроенного в компилятор CodeVisionAVR 
 через простейший

 адаптер — буквально пять проводков соединяющих принтерный порт 

 ПК с прошиваемым микроконтроллером
 AVR.


 Об основах и тонкостях электроники и схемотехники

 читайте в настольной книге
 электронщика:

П.Хоровиц,
 У.Хилл. Искусство схемотехники
на РУССКОМ языке.

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

 Справочник по электронным
 компонентам

 находятся на 
 заглавной странице курса !

Результат
 написания и компиляции программы — файл-прошивку 

 с
 расширением .hex (и возможно файл с содержимым для

 EEPROM МК) нужно записать (зашить) в МК .

МК AVR 
 многократно программируются прямо в устройстве в

 котором будут работать -
 такое программирование называют —

 ин
 систем программинн или ISP.

Для этого установите на плате вашего
 устройства
 6 контактов,

 а лучше 6-ти
 штырьковый разъем для ISP

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

 выводы подсоединить к МК в
 соответствии с указанными
 названиями.

Подробней по
 ISP разъемам посмотрите Апликейшн
 Ноут AVR910. 



 Вывод 2 нужно подключить к

 
 + питания МК
 если вы собираетесь использовать
 программатор 
 питающийся от вашего же
 устройства — например фирменный ISP AVR.

Для 5 проводов этот вывод 
 не подключается.


 Для программирования
 достаточно 5 контактов.


 Соответственно
 и разъем который вы будете использовать
 может 
 быть

 любым удобным для размещения на плате и имеющий минимум 5
 контактов.


 Все контакты
 ISP разъема подсоединяются

 к ножкам МК в соответствии
 с названиями !


в ATmega64 и ATmega128 выводы MOSI

 и
 MISO не применяют для ISP 


 Внимательно
 смотрите ДатаШит ! 

Используются другие
 выводы МК !

Например для
 ATmega128 сигналы


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


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

Я советую вам
 пользоваться интерфейсом программирования встроенным в
 компилятор CodeVisionAVR и конечно же в нем
 разрабатывать программу для МК.

Дело в том, что вам вряд ли удастся сразу
 написать программу без ошибок, даже
 после прогона в софт эмуляторе — симуляторе ваше
 устройство может делать не то, 
 что вы от
 него ожидаете — значит в программу нужно
 будет вносить изменения и снова
 зашивать в МК , и так раз 20 и более.

Вы
 можете в компиляторе CodeVisionAVR открыть
 меню Проджект — Конфига — Афта
 Мэйк и отметить чек бокс Program the
 chip затем ОК.

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

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

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

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



 В
 А Ж Н О !


 
 В диалоге настройки 
 программирования не трогайте галочки
 установки фьюзов МК если не разобрались
 четко что они делают!


 
 Иначе вы можете
 отключить режим 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 МГц

 ( уточните
 это по ДШ и его возможные частоты ) 


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


 З а п о м н и т е :


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

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


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

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


 SKSEL 0001 
 SUT 10 
 CKOPT 1



 По таблице 4 
 находим :


 Для кварца с частотой от 3 до 8 МГц 

 нужны конденсаторы от 
 12 до 22 пФ

 и вот такая комбинация фьюзов :


 
 SKSEL 1111 
 SUT 10 
 CKOPT 1


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


Для прошивания МК 
 нажмите кнопку Program All


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


 
 SKSEL 1111 
 SUT 10 
 CKOPT 0


 Помни товарищ ! Есть
 живая 
 конференция где быстро и правильно подскажут как делать.



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

 прочитать в ДШ, и по-русски в переводе
 ДШ


 
 CKOPT 0 
 — нужен и тогда когда вы хотите подключить к
 XTAL2 другой микроконтроллер или тактируемый 
 прибор.


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


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

В
 установках компилятора CodeVisionAVR интерфейс 5-проводков

 называется Канда системз STK200+/300



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


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


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

 на 1 — 8
 МГц и два конденсатора от 15 до 33 пФ.


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


 
Программатор AVReAl 
 может программировать

 МК
 без
 кварца и без конденсаторов 
!


 Он
 выводит тактовый сигнал на 
 выв. 5 LPT его нужно подать на ножку XTAL1 МК
 и добавить в командной строке
 AVReAL специальный ключ -o0.


 
 Программатор AVReAl 
 позволяет назначать какие ножки LPT порта 
 использовать — 
 это будет полезно когда часть

 ножек LPT вы уже спалите 
 🙂 




 Тактовый сигнал 
 генерирует и программатор 

 на USB 
 по ссылке в низу этой страницы !


 Еще очень советую поставить подтягивающий резистор 10 кОм от ножки
 Reset
 МК на питание VCC и конденсатор 0.01-0.33 мкФ (в
 апноутах 
 AVR040 и AVR042 рекомендуют 0.01 мкФ) от Reset
 на GND — как в схеме к задаче
 7 курса.


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

 STK200 — для самых ленивых

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

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

Береженого
 бог бережет !


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


 Адаптер 5-проводков прекрасно

 работает
 с
 компилятором CodeVision



 2005_01 проверил проводки
 при питании МК ATmega64L

 от 3,0 до 5,3 вольт — программирует без сбоев!

 

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



 Для питания устройства при
 программировании и отладке можно

 кроме
 сетевого адаптера использовать:

— батарейку на 6 вольт
 с 2 диодами последовательно для
 понижения напряжения…

— можно три
 батарейки по 1,5 вольт последовательно
 соединить


 
 …
 а можно +5 вольт взять с вывода
 1 гейм

 порта компьютера или осторожно из гнезда USB.

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


 Всегда старайтесь первыми соединить земли
 устройств, а затем питание и потом
 уже

 сигнальные
 линии.


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

спалите LPT и будете меня
 ругать!


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

В
 документации на 
 Tiny2313 есть неточность.

По умолчанию, т.е. новый
 МК с завода, внутренний RC-генератор

 настроен на 4МГц с пред-делителем на 8 
 — т.е. частота 500 КГц.

Значит частота на SCK, формируемая программатором

 не должна быть выше 120..125кГц.


 Программатор встроенный в CodeVisionAVR

 позволяет настроить эту частоту
 правильно. 


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

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


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

Или соберите похожий программатор

 
 USB

 программатор AVR и
 AT89s



 Вот
 
 топик об успешной сборке этого интерфейса для программирования

 на ATmega8. Это новый 
 вариант платы для него.
 Архив с разводкой 
 платы

Внимание ! 
 Этот программатор выдает тактовый сигнал 1 
 МГц и меньше для 
 прошивки МК без кварца и с выключенным внутренним генератором. тактовый 
 сигнал выводится на контакт LED.

 Его нужно подвести к ножке XTAL1.

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

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

Вот еще: 
 MegaLoad Bootloader


 
 Ниже есть список Апноутов для AVR

ATMEGA8535-16MUR Таблицы данных | Встроенные — Микроконтроллеры IC MCU 8BIT 8KB FLASH 44VQFN -Apogeeweb

• Высокопроизводительный 8-разрядный микроконтроллер AVR® с низким энергопотреблением
• Усовершенствованная архитектура RISC
— 130 Мощные инструкции — выполнение большинства операций за один тактовый цикл
— Рабочие регистры общего назначения 32 x 8
— Полностью статическая работа
— Пропускная способность до 16 MIPS при 16 МГц
— Двухтактный умножитель на кристалле
• Энергонезависимая память программ и данных
— 8 Кбайт внутрисистемной самопрограммируемой флэш-памяти
Срок службы: 10 000 циклов записи / стирания
— Дополнительный загрузочный код Секция с независимыми битами блокировки
Внутрисистемное программирование с помощью встроенной программы загрузки
Операция чтения-во время записи
— 512 байт EEPROM
Срок службы: 100000 циклов записи / стирания
— 512 байт Внутренняя SRAM
— Блокировка программирования для безопасности программного обеспечения
• Периферийные функции
— Два 8-битных таймера / счетчика с отдельными предделителями и режимами сравнения
— Один 16-битный таймер / счетчик с отдельным предделителем, режимом сравнения и захватом e Режим

— Счетчик реального времени с отдельным генератором
— Четыре канала ШИМ
— 8-канальный, 10-битный АЦП
8 несимметричных каналов
7 дифференциальных каналов только для пакета TQFP
2 дифференциальных канала с программируемым усилением на 1x, 10x или 200x для TQFP
только в корпусе
— Последовательный двухпроводной интерфейс с байтовой ориентацией
— Программируемый последовательный USART
— Последовательный интерфейс SPI ведущий / ведомый
— Программируемый сторожевой таймер с отдельным встроенным генератором
— Встроенный аналоговый компаратор
• Специальные функции микроконтроллера.
— Сброс при включении питания и программируемое обнаружение пониженного напряжения.
— Внутренний калиброванный RC-генератор.
— Внешние и внутренние источники прерываний. Резервный
и расширенный резервный
• Ввод-вывод и пакеты
— 32 программируемых линии ввода-вывода
— 40-контактный PDIP, 44-выводный TQFP, 44-выводный PLCC и 44-контактный QFN / MLF
• Рабочий объем ступени
— 2.7 — 5,5 В для ATmega8535L
— 4,5 — 5,5 В для ATmega8535
• Классы скорости
— 0 — 8 МГц для ATmega8535L
— 0 — 16 МГц для ATmega8535

atmega8535-16mi лист данных (1/321 страницы) ATMEL | 8-битный микроконтроллер с 8-килобайтными внутрисистемными программируемыми флеш-памятью

• Высокопроизводительный 8-битный микроконтроллер AVR® с низким энергопотреблением

• Расширенная архитектура RISC

— 130 Мощных инструкций — выполнение в большинстве случаев за один тактовый цикл

— 32 x 8 рабочих регистров общего назначения

— Полностью статическая работа

— Пропускная способность до 16 MIPS при 16 МГц

— Двухтактный умножитель на кристалле

• Энергонезависимая память программ и данных

— 8 Кбайт Внутрисистемная самопрограммируемая флэш-память

Срок службы: 10 000 циклов записи / стирания

— Дополнительная секция загрузочного кода с независимыми битами блокировки

Внутрисистемное программирование с помощью встроенной программы загрузки

Истинная операция чтения-во время записи

— EEPROM 512 байт

Срок службы: 100 000 циклов записи / стирания

— Внутренняя SRAM 512 байт

— Блокировка программирования для защиты программного обеспечения

• Периферийные устройства Характеристики

— Два 8-битных таймера / счетчика с отдельными предделителями и режимами сравнения

— Один 16-разрядный таймер / счетчик с отдельным предделителем, режимом сравнения и захватом

— Счетчик реального времени с отдельным генератором

— Четыре канала ШИМ

— 8-канальный 10-битный АЦП

8 несимметричных каналов

7 дифференциальных каналов только для пакета TQFP

2 дифференциальных канала с программируемым усилением 1x, 10x или 200x для TQFP

— Двухпроводной последовательный интерфейс с байтовой ориентацией

— Программируемый последовательный USART

— Последовательный интерфейс SPI ведущий / ведомый

— Программируемый сторожевой таймер с отдельным встроенным генератором

— Встроенный аналоговый компаратор

• Специальные функции микроконтроллера

— Сброс при включении и программируемое обнаружение пониженного напряжения

— Внутренний калиброванный RC-генератор

— Внешний и внутренний Источники прерываний

— Шесть спящих режимов: режим ожидания, шумоподавление АЦП, энергосбережение, отключение питания, режим ожидания

и расширенный режим ожидания

• Ввод-вывод и пакеты

— 32 программируемых линии ввода-вывода

— 40-контактный PDIP, 44-контактный TQFP, 44-контактный PLCC и 44-контактный QFN / MLF

— 2.7 — 5,5 В для ATmega8535L

— 4,5 — 5,5 В для ATmega8535

— 0 — 8 МГц для ATmega8535L

— 0 — 16 МГц для ATmega8535

2502K – AVR – 10/06

Kanda – Atmel ATmega8535 AVR микроконтроллер

ATmega8535 AVR микроконтроллер
CMOS RISC, ATmega8535 AVR 8-битный микроконтроллер, внутрисистемное программирование с хранением флэш-кода, возможность перепрограммирования до 1000 раз.Имеет 32 рабочих регистра, один такт …

Доставка в Российскую Федерацию
Зарегистрированная авиапочта: 15,50 долларов США
FedEx Express: 39 долларов США

Код заказа
ATMEGA8535

Сопутствующие товары

ATMEL AVR ATmega8535- 40-контактная деталь (DIP40)

  • 8 КБайт встроенной программируемой флэш-памяти
  • 512 Байт программируемой внутрисистемной EEPROM
  • 512 байт SRAM
  • Два 8-битных таймера / счетчика с отдельными предделителями и режимами сравнения
  • Один 16-битный таймер / счетчик с отдельным предделителем, режимом сравнения и режимом захвата
  • Счетчик реального времени с отдельным генератором
  • Четыре канала ШИМ
  • 8-канальный 10-разрядный АЦП -8 несимметричных каналов
  • Байтовый двухпроводной последовательный интерфейс
  • Программируемый последовательный USART
  • Главный / подчиненный последовательный интерфейс SPI
  • Программируемый сторожевой таймер с отдельным встроенным генератором
  • Встроенный аналоговый компаратор
  • Сброс при включении и программируемое обнаружение пониженного напряжения
  • Внутренний калиброванный RC-генератор
  • Внешние и внутренние источники прерываний
  • Шесть спящих режимов: холостой ход, шумоподавление АЦП, энергосбережение, отключение питания, ждущий режим и расширенный режим ожидания
  • 32 контакта ввода / вывода
  • 4.Работа от 5 до 5,5 В, от 0 до 16 МГц

Программаторы и стартовые наборы

Учебные комплекты АРН

Информация для заказа

Информация для заказа Код заказа: ATMEGA8535 Цена: $ 3.98
Доставка в Российскую Федерацию: Зарегистрированная авиапочта — 15,50 долларов США Fedex Express — 39 долларов США

Аппаратный взлом

: извлечение прошивки из микроконтроллеров Atmel

Недавно мы обсуждали взлом оборудования для специалистов по безопасности и исследователей. При проведении исследования безопасности оборудования нам часто требуется извлечь прошивку из встроенной флэш-памяти микроконтроллеров.В качестве основы для этого мы решили начать серию статей, в которых мы обсудим процесс извлечения прошивки из различных микроконтроллеров (MCU). Цель этой серии статей — охватить ряд микроконтроллеров, которые могут встретиться, и познакомить вас с инструментами, программным обеспечением и методами, используемыми для извлечения микропрограмм или для проверки того, что разработчик системы правильно защитил области памяти микроконтроллера.

В этой первой части мы рассмотрим микроконтроллер Atmel Atmega2561. Чтобы получить доступ к прошивке микроконтроллеров Atmel, мы будем читать данные напрямую с контроллера через последовательный интерфейс программирования (SPI).Для этого требуются следующие инструменты и программное обеспечение:

Используя Bus Pirate в сочетании с программным обеспечением с открытым исходным кодом avrdude , ​​микропрограмму микроконтроллера Atmel AVR можно извлечь из флэш-памяти микроконтроллера через SPI. Приложение avrdude можно скачать здесь.

Стандартная прошивка Bus Pirate должна работать нормально, если вы не извлекаете флеш-память из определенных микроконтроллеров Atmel, таких как ATmega 2560 и 2561. Прошивка Bus Pirate может иметь проблемы с извлечением памяти выше 128 КБ на ATmega 2560-2561.Чтобы решить эту проблему, вам необходимо установить прошивку STK500v2 на Bus Pirate. Прошивка STK500v2 превратит Bus Pirate в клон отладчика AVR. Прошивку для этого можно скачать здесь, а инструкции по обновлению прошивки Bus Pirate можно найти на этом веб-сайте.

После того, как Bus Pirate будет обновлен прошивкой STK500v2, вы можете подключить его к порту SPI. Если вам повезет, у производителя устройства есть разъемы на плате, к которым вы можете подключиться, но в любом случае вам нужно будет найти и проверить подключения заголовка перед подключением Bus Pirate — и, если необходимо, припаять некоторые провода или разъемы к плате.Другой вариант — напрямую подключиться к микропроцессору.

На этом этапе таблица данных пригодится для определения распиновки MCU. Используя таблицу данных Atmega2561, вам нужно будет определить и найти контакты SPI «Power» и «Ground».

  • MOSI = Последовательный вход главного выхода
  • MISO = Master In Serial Out
  • SCLM = последовательные часы
  • RESET = Сброс микроконтроллера
  • GND = Земля
  • Vcc = стандартное напряжение 3.3 В постоянного тока

Для этого вы можете использовать мультиметр, настроенный для проверки целостности цепи, чтобы отследить эти контакты до разъема на плате или более легкого места на печатной плате для пайки проводов, которые могут быть присоединены к Bus Pirate.

Как только это будет выполнено, вы можете подключить Bus Pirate к портам SPI чипа:

Atmega2561 Автобус Пиратский
Штифт SCK 11 SCLK
Вывод MOSI 12 MOSI
MISO контакт 13 MISO
Штырь сброса 20 CS
Vcc штырь 21 Vcc 3.3vdc
GND контакт 22 GCC

После подключения вы можете использовать приложение avrdude для извлечения флэш-памяти из микроконтроллера ATmega 2561, используя следующую команду:

avrdude -p m2561 -c stk500v2 e -P / dev / ttyUSB0 -u flash: r: flash.bin: r

Микроконтроллер Atmel AVR указывается с помощью переключателя -p . Коммутатор -c идентифицирует устройство интерфейса SPI, -P указывает на местоположение устройства Bus Pirate — в этом случае он подключен к системе как ttyUSB0 — и, наконец, -u сообщает avrdude, что нужно извлечь во флеш-память и запишите его во флеш-память.мусорное ведро.

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

Итак, как видите, этот процесс достаточно прост, если у вас есть правильные инструменты, программное обеспечение и таблицы данных для MCU, из которого вы хотите извлечь прошивку. Обязательно ознакомьтесь с другими блогами из этой серии здесь:

Нужна помощь в обеспечении безопасности вашего Интернета вещей? Узнайте больше о наших услугах по тестированию безопасности Интернета вещей.

ATMEGA8535-16AC Технология микрочипов | انٹیگریٹڈ سرکٹس (سی)

ATMEGA8535-16JJ | Технология микрочипов | Встроенный — микроконтроллеры

Быстрый запрос

— Пожалуйста, выберите —United StatesChinaFranceGermanyIndiaJapanKorea, Республика ofRussian FederationTaiwanUnited KingdomAfghanistanAlbaniaAlgeriaAmerican SamoaAndorraAngolaAnguillaAntarcticaAntigua и BarbudaArgentinaArmeniaArubaAustraliaAustriaAzerbaijanBahamasBahrainBangladeshBarbadosBelarusBelgiumBelizeBeninBermudaBhutanBoliviaBosnia и HerzegovinaBotswanaBouvet IslandBrazilBritish Индийский океан TerritoryBrunei DarussalamBulgariaBurkina FasoBurundiCambodiaCameroonCanadaCape VerdeCayman IslandsCentral африканских RepublicChadChileChinaChristmas IslandCocos (Килинг) IslandsColombiaComorosCongoCongo, Демократическая Республика TheCook IslandsCosta RicaCote D’ivoireCroatiaCubaCyprusCzech RepublicDenmarkDjiboutiDominicaDominican RepublicEcuadorEgyptEl SalvadorEquatorial GuineaEritreaEstoniaEthiopiaFalkland острова ( Мальвинские острова) Фарерские острова ФиджиФинляндияФранцияФранцузская ГвианаФранцузская ПолинезияФранцузские Южные территорииГабонГамбияГрузияГерманияГанаГибралтарГрецияГренландияГренадаГваделупаГуамГватемалаГу ineaGuinea-bissauGuyanaHaitiHeard Island и МакДональда IslandsHoly Престол (Ватикан) HondurasHong KongHungaryIcelandIndiaIndonesiaIran, Исламская Республика ofIraqIrelandIsraelItalyJamaicaJapanJordanKazakhstanKenyaKiribatiKorea, Корейская Народно-Демократическая Республика ofKorea, Республика ofKosovo, Республика ofKuwaitKyrgyzstanLao Народная Демократическая RepublicLatviaLebanonLesothoLiberiaLibyan Арабская JamahiriyaLiechtensteinLithuaniaLuxembourgMacaoMacedonia, бывшая югославская Республика ofMadagascarMalawiMalaysiaMaldivesMaliMaltaMarshall IslandsMartiniqueMauritaniaMauritiusMayotteMexicoMicronesia, Федеративные Штаты ofMoldova, Республика ofMonacoMongoliaMontenegro, РеспубликаМонсерратМароккоМозамбикМьянмаНамибияНауруНепалНидерландыНидерландские Антильские острова Новая КаледонияРегияНовая ЗеландияНикарагуаНигерНигерияНиуэНорфолкСеверные Марианские островаНорвегияОманПакистанПалауПалестинская территория Румынии, оккупированнаяПанамаПарагуа-Новая Гвань wandaSaint HelenaSaint Киттс и NevisSaint LuciaSaint Пьер и MiquelonSaint Винсент и GrenadinesSamoaSan MarinoSao Том и PrincipeSaudi ArabiaSenegalSerbia, Республика ofSeychellesSierra LeoneSingaporeSlovakiaSloveniaSolomon IslandsSomaliaSouth AfricaSouth Грузия и Южный Сэндвич IslandsSpainSri LankaSudanSurinameSvalbard и Ян MayenSwazilandSwedenSwitzerlandSyrian Arab RepublicTaiwanTajikistanTanzania, Объединенная Республика ofThailandTimor-lesteTogoTokelauTongaTrinidad и TobagoTunisiaTurkeyTurkmenistanTurks и Кайкос IslandsTuvaluUgandaUkraineUnited арабского EmiratesUnited KingdomUnited Внешние малые острова США УругвайУзбекистан Вануату Венесуэла Вьетнам Виргинские острова, Британские Виргинские острова, СШАС.Уоллис и Футуна, Западная Сахара, Йемен, Замбия, Зимбабве,

ATMEGA8535 (L) Краткое техническое описание Microchip Technology

10 ATmega8535 (L)

2502KS – AVR – 10/06

Сводка набора команд

Мнемоника Операнды Описание Флаги операций #Clocks

АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ ИНСТРУКЦИИ

ADD Rd, Rr Добавить два регистра Rd ← Rd + Rr Z , C, N, V, H 1

ADC Rd, Rr Добавить с двумя регистрами переноса Rd ← Rd + Rr + CZ, C, N, V, H 1

ADIW Rdl, K Добавить сразу в слово Rdh: Rdl ← Rdh: Rdl + KZ, C, N, V, S 2

SUB Rd, Rr Вычесть два регистра Rd ← Rd — Rr Z, C, N, V, H 1

SUBI Rd, K Вычесть константу из регистра Rd ← Rd — KZ, C, N, V, H 1

SBC Rd, Rr Вычесть с двумя регистрами переноса Rd ← Rd — Rr — CZ, C, N, V, H 1

SBCI Rd, K Вычесть с константой переноса из Рег.Rd ← Rd — K — CZ, C, N, V, H 1

SBIW Rdl, K Вычесть сразу из слова Rdh: Rdl ← Rdh: Rdl — KZ, C, N, V, S 2

AND Rd, Rr Регистры логического И Rd ← Rd • Rr Z, N, V ​​1

ANDI Rd, K Регистр логического И и константа Rd ← Rd • KZ, N, V ​​1

OR Rd, Rr Регистры логического ИЛИ Rd ← Rd v Rr Z , N, V ​​1

ORI Rd, K Регистр логического ИЛИ и константа Rd ← Rd v KZ, N, V ​​1

EOR Rd, Rr Регистры исключающего ИЛИ Rd ← Rd ⊕ Rr Z, N, V ​​1

COM Rd Дополнение до единицы Rd ← 0xFF — Rd Z, C, N, V ​​1

NEG Rd Дополнение до двух Rd ← 0x00 — Rd Z, C, N, V, H 1

SBR Rd, K Установить бит (ы) в регистре Rd ← Rd v KZ, N, V ​​1

CBR Rd, K Очистить бит (ы) в регистре Rd ← Rd • (0xFF — K) Z, N, V ​​1


Источник: soto-lux.ru