Avr mega type 2 инструкция
Содержание
Архив со всем необходимым
Описание модуля AVR ATMega16
В качестве базового контроллера используется микроконтроллер ATMega16 в DIP корпусе, установленном на панельку. Что позволяет применять в модуле другие варианты контроллеров AVR в подобном корпусе, просто заменив микроконтроллер. Подходят, например, ATMega8535 или ATMega32. Но следует осторожней относится к выбору контроллера, сверяясь с даташитом. Так, например, у ATMega162 совсем иная цоколевка выводов, потому его нельзя вставить в данный модуль. Хотя никто не запрещает развести и изготовить модуль для этого контроллера по аналогии.
Схема модуля проста и состоит из контактов платы (стандартные для всех модулей) и контактов контроллера. Соединяя их джамперами или проволочными перемычками можно подключать микроконтроллер к любой периферии платы.
Схема контактной группы разъема модуля выглядит следующим образом:
Слева и справа идут основные интерфейсы платы, а также выводы земли и питания. Особо следует обратить внимание на два резистора. Они задают напряжение питания контроллера, т.к. стоят в обратной связи стабилизатора шины CPU_POWER. Таким образом, напряжение питание модуля задается им самим. Впрочем, всегда есть возможность обойти стабилизатор CPU_POWER и объединить шины Main Power и CPU Power.
Цоколевка внешних выводов модуля следующая:
- GND – шина земли
- ADJ – вывод ADJ LM317 для задачи напряжения
- CPU_POWER – напряжение питания процессора
- PS/2CLK2 – CLOCK 2 вывод разъема PS/2
- PS/2CLK – CLOCK вывод разъема PS/2
- PS/2DATA2 – DATA 2 вывод разъема PS/2
- PS/2DATA – DATA вывод разъема PS/2
- PWLED0 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 0
- PWLED1 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 1
- PWLED2 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 2
- PWLED3 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 3
- USB BUS PUP – подтяжка шины D на USB. Подача на этот вывод пяти вольт подтягивает шину D и обеспечивает обнаружение устройства на шине USB.
- USB BUS PWR – пять вольт с шины USB пропущенные через резистор в 100кОм. Позволяют отследить наличие питание на шине USB.
- USB DATA + — Шина данных USB
- USB DATA — — Шина данных USB
- TXA1 – Вывод TX канала А (соединяется с линией ТХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- RXA1 – Вывод RX канала А (соединяется с линией RХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- TXB1 – Вывод TX канала B (соединяется с линией ТХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- RXB1 – Вывод RX канала B (соединяется с линией RХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- GND – земля.
- D3…D0 — вход ЦАП по схеме R2R
- AO – от Analog Output – выход R2R ЦАП. Выход идет с операционного усилителя.
- VFO – Voltage Filter Out – выход RC фильтра.
- VFI – Voltage Filter In – вход RC фильтра.
- AGND – Аналоговая земля.
- SCL – строб линия шины i2c. Подтянута к CPU POWER.
- SDA – линия данных шины i2c Подтянута к CPU POWER
- GND – земля.
- SS – выбор кристалла, шина SPI. Подключен также к SS выводу SD карты.
- MOSI – Master Output Slave Input – линия данных шины SPI
- SCK – строб линия шины SPI
- MISO – Master Input Slave Output – линия данных шины SPI
- SS2 – выбор кристалла, шина SPI. Уходит к модулю расширения, позволяя адресовать его по SPI
- BTN3 – Может быть подключена к кнопке BTN3
- BTN2 – Может быть подключена к кнопке BTN3
- BTN1 – Может быть подключена к кнопке BTN3
- BZR – Buzzer, этот вывод подключен к пищалке. Подавая на него колебания звуковой частоты можно что-нибудь пропищать.
Это что касается выводов модуля. Фактически они совпадают с аналогичными выводами базовой платы. Сам контроллер разведен независимо, объединены только земли, питание и то, без чего не обойтись. Что дает гибкость и возможность подключать выводы как угодно и куда угодно. Схема включения контроллера типовая:
Только самое необходимое. Кварцы вынесены на панельки, что позволяет их менять или убирать если не нужны. Напряжение опоры АЦП связано с питающим через дроссель. Земли цифровая и аналоговая соединены, но это соединение в одной точке и только на модуле. Все остальные выводы выведены на штыри и расположены напротив выводов контроллера. Также некоторые из них продублированы возле UART, PWM или I2C выводов, чтобы можно было удобно подключать их джамперами.
Желтой подсветкой указаны выводы которые можно подключать джамперами. Как видно, выведены ШИМ каналы OC0, OC1A, OC1B, OC2. Шина i2c с ее линиями SCL, SDA. SPI с линиями MOSI, MISO (MI на плате), SCK и SS. Причем SS от контроллера продублирована так, чтобы можно было джампером одевать ее на SS или на SS2. Также продублированы выводы UART, позволяя подключать их джамперами либо к каналу А, либо к каналу В.
Справа, напротив выводов OSC1 и OSC2 припаяна цанговая панелька, куда может быть вставлен часовой кварц (идет в комплекте).
С северного торца, под платой, расположена кнопка RESET. А с Южного, также под платой, расположен угловой разъем JTAG’a с которого можно шлейфом вытащить интерфейс на отладчик.
Отличие модуля AVR ревизии 1 от ревизии 2
Схемотехника и распиновка модулей осталась без изменений, но была исправлена ошибка в результате которой SDA и SCL выводы поменялись местами. Сделал так, как было задумано изначально. Что позволяет теперь подключать i2c шину напрямую, джамперами. Не извращаясь с хитрым крестовидным соединителем.
Раньше для наброса на шину i2c AVR модуля нужно было подключать так:
Теперь все несколько упростилось:
Радиотехника и электроника для разработчиков и радиолюбителей
Информация
Справочные данные на радиоэлектронные компоненты, приборы, средства связи и измерений. Радиотехническая литература.
Доска объявлений
Объявления о покупке и продаже радиокомпонентов. Спрос и предложение на различные радиодетали и приборы.
Программы
Полезные программы для радиолюбителей и разработчиков радиоэлектроники.
Ссылки
Мы в соцсетях
Рекомендуем
Микроконтроллеры AVR
Здесь представлена информация по микроконтроллерам фирмы Atmel, в основном по микроконтроллерам AVR. Представлены для свободного скачивания книги и справочники. Вы можете здесь же заказать бумажный вариант книги.
Книга является справочным изданием по применению микроконтроллеров AVR семейства Classic фирмы «ATMEL». Рассмотрена архитектура, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
Изд-во: Додэка
ISBN: 978-5-94120-094-8
288 страниц
Содержание
Глава 1. Знакомство с семейством CLASSIC
1.1. Общие сведения
1.2. Отличительные особенности
1.3. Характеристики ядра микроконтроллера
1.4. Характеристики подсистемы ввода/вывода
1.5. Периферийные устройства
1.6. Архитектура ядра
1.7. Цоколевка и описание выводов
Глава 2. Архитектура микроконтроллеров семейства Classic
2.1. Общие сведения
2.2. Организация памяти
2.2.1. Память программ
2.2.2. Память данных
2.2.2.1. Статическое ОЗУ
2.2.2.2. Регистры общего назначения
2.2.2.3. Регистры ввода/вывода
2.2.2.4. Способы адресации памяти данных
2.2.3. Энергонезависимая память данных
2.2.3.1. Организация доступа
2.2.3.2. Меры предосторожности при работе
2.3. Счетчик команд и выполнение программы
2.3.2. Задержки в конвейере
2.3.3. Счетчик команд
2.3.4. Kоманды типа «проверка/пропуск»
2.3.5. Kоманды условного перехода
2.3.6. Kоманды безусловного перехода
2.3.7. Kоманды вызова подпрограмм
2.3.8. Kоманды возврата из подпрограмм
2.4. Стек
2.4.1. Стек в микроконтроллере AT90S1200
2.4.2. Стек в старших моделях микроконтроллеров
Глава 3. Система команд
3.1. Общие сведения
3.2. Операнды
3.3. Типы команд
3.3.1. Kоманды логических операций
3.3.2. Kоманды арифметических операций и команды сдвига
3.3.3. Kоманды операций с битами
3.3.4. Kоманды пересылки данных
3.3.6. Kоманды управления системой
3.4. Сводные таблицы команд
3.5. Описание команд
Глава 4. Устройство управления
4.1. Общие сведения
4.2. Тактовый генератор
4.3. Режимы пониженного энергопотребления
4.3.1. Режим Idle
4.3.2 Режим Power Down
4.3.3 Режим Power Save
4.4. Сброс
4.4.1. Сброс по включении питания
4.4.2. Аппаратный сброс
4.4.3. Сброс от сторожевого таймера
4.4.4. Сброс при снижении напряжения питания (Brown-Out)
4.4.5. Управление схемой сброса
4.5. Прерывания
4.5.1. Таблица векторов прерываний
4.5.2. Обработка прерываний
4.5.3. Внешние прерывания; регистры GIMSK и GIFR
Глава 5. Порты ввода/вывода
5.1. Общие сведения
5.2. Обращение к портам ввода/вывода
5.3. Kонфигурирование портов ввода/вывода
Глава 6. Таймеры
6.1. Общие сведения
6.2. Назначение выводов таймеров/счетчиков
6.3. Таймер/счетчик T0
6.4. Таймер/счетчик T1
6.4.1. Выбор источника тактового сигнала
6.4.2. Режим таймера
6.4.2.1. Функция захвата (Capture)
6.4.2.2. Функция сравнения (Compare)
6.4.3. Режим ШИМ
6.5. Таймер/счетчик T2
6.5.1. Управление тактовым сигналом
6.5.2. Режим таймера
6.5.3. Режим ШИМ
6.5.4. Асинхронный режим работы
6.6. Сторожевой таймер
Глава 7. Аналоговый компаратор
7.1. Общие сведения
7.2. Функционирование компаратора
Глава 8. Аналого-цифровой преобразователь
8.1. Общие сведения
8.2. Функционирование модуля АЦП
8.3. Повышение точности преобразования
8.4. Параметры АЦП
Глава 9. Универсальный асинхронный приемопередатчик
9.1. Общие сведения
9.2. Управление работой UART
9.3. Передача данных
9.4. Прием данных
9.5. Мультипроцессорный режим работы UART
9.6. Скорость приема/передачи
Глава 10. Последовательный периферийный интерфейс SPI
10.1. Общие сведения
10.2. Функционирование модуля SPI
10.3. Режимы передачи данных
10.4. Использование вывода F65
Глава 11. Программирование микроконтроллеров
11.1. Общие сведения
11.2. Защита кода и данных
11.3. Kонфигурационные ячейки
11.4. Идентификатор
11.5. Режим параллельного программирования
11.5.1. Переключение в режим параллельного программирования
11.5.2. Стирание кристалла
11.5.3. Программирование FLASH-памяти
11.5.4. Программирование EEPROM-памяти
11.5.5. Kонфигурирование микроконтроллера
11.6. Режимы последовательного программирования
11.6.1. Режим последовательного программирования при высоком напряжении (модели AT90S/LS2323 и AT90S/LS2343)
11.6.2. Программирование по последовательному каналу
Приложения
Приложение I. Сводная таблица микроконтроллеров AVR семейства Classic
Приложение II. Чертежи корпусов микроконтроллеров AVR семейства Classic
Приложение III. Электрические параметры микроконтроллеров AVR семейства Classic
Купить (проверить наличие) эту книгу в интернет-магазинах: |
Книга представляет собой справочное руководство по однокристальным микроконтроллерам AVR семейства Mega фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования. Основой данного издания послужила популярная книга «Микроконтроллеры AVR семейств Tiny и Mega», материал которой был существенно переработан и дополнен описаниями новых моделей.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
Предисловие 8
Глава 1
Знакомство с семейством Mega 10
1.1. Общие сведения 10
1.2. Отличительные особенности 10
1.3. Характеристики процессора 11
1.4. Характеристики подсистемы ввода/вывода 11
1.5. Периферийные устройства 12
1.6. Архитектура ядра 12
1.7. Цоколевка и описание выводов 13
Глава 2
Архитектура микроконтроллеров семейства Mega 87
2.1. Общие сведения 87
2.2. Организация памяти 101
2.2.1. Память программ 103
2.2.2. Память данных 105
2.2.3. Энергонезависимая память данных (EEPROM) 160
2.3. Счетчик команд и выполнение программы 165
2.3.1. Счетчик команд 165
2.3.2. Функционирование конвейера 166
2.3.3. Команды типа «проверка/пропуск» (Test & Skip) 167
2.3.4. Команды условного перехода 167
2.3.5. Команды безусловного перехода 167
2.3.6. Команды вызова подпрограмм 169
2.3.7. Команды возврата из подпрограмм 171
2.4. Стек 171
Глава 3.
Система команд 172
3.1. Общие сведения 172
3.2. Операнды 172
3.3. Типы команд 174
3.3.1. Команды логических операций 175
3.3.2. Команды арифметических операций и команды сдвига 175
3.3.3. Команды битовых операций 175
3.3.4. Команды пересылки данных 176
3.3.5. Команды передачи управления 176
3.3.6. Команды управления системой 178
3.4. Сводные таблицы команд 179
3.5. Описание команд 185
Глава 4
Тактирование, режимы пониженного энергопотребления и сброс 251
4.1. Общие сведения 251
4.2. Тактовый генератор 251
4.2.1. Генератор с внешним резонатором 254
4.2.2. Низкочастотный кварцевый генератор 256
4.2.3. Внешний сигнал синхронизации 256
4.2.4. Генератор с внешней RC-цепочкой 256
4.2.5. Внутренний калиброванный RC-генератор 257
4.2.6. Внутренний RC-генератор на 128 кГц 259
4.2.7. Управление тактовой частотой 259
4.3. Управление электропитанием 262
4.3.1. Режимы пониженного энергопотребления 262
4.3.2. Управление тактовыми сигналами модулей 268
4.3.3. Общие рекомендации по уменьшению энергопотребления 271
4.4. Сброс 273
4.4.1. Сброс по включению питания 277
4.4.2. Аппаратный сброс 278
4.4.3. Сброс от сторожевого таймера 279
4.4.4. Сброс при снижении напряжения питания 279
4.4.5. Управление схемой сброса 281
Глава 5
Прерывания 291
5.1. Общие сведения 291
5.2. Таблица векторов прерываний 291
5.3. Обработка прерываний 306
5.4. Внешние прерывания 308
Глава 6
Порты ввода/вывода 320
6.1. Общие сведения 320
6.2. Регистры портов ввода/вывода 321
6.3. Конфигурирование портов ввода/вывода 323
Глава 7
Таймеры 329
7.1. Общие сведения 329
7.2. Назначение выводов таймеров/счетчиков 330
7.3. Прерывания от таймеров/счетчиков 333
7.4. Предделители таймеров/счетчиков 338
7.4.1. Управление предделителями 339
7.4.2. Использование внешнего тактового сигнала 341
7.5. Восьмибитные таймеры/счетчики 342
7.5.1. Управление тактовым сигналом 352
7.5.2. Режимы работы 353
7.5.3. Асинхронный режим 360
7.6. 16-битные таймеры/счетчики 363
7.6.1. Обращение к 16-битным регистрам 372
7.6.2. Управление тактовым сигналом 373
7.6.3. Режимы работы 373
7.7. Модулятор 385
7.8. Сторожевой таймер 386
Глава 8
Аналоговый компаратор 395
8.1. Общие сведения 395
8.2. Функционирование компаратора 396
Глава 9
Аналого-цифровой преобразователь 401
9.1. Общие сведения 401
9.2. Функционирование модуля АЦП 402
9.3. Результат преобразования 415
9.4. Повышение точности преобразования 416
9.5. Параметры АЦП 417
Глава 10
Последовательный периферийный интерфейс SPI 419
10.1. Общие сведения 419
10.2. Функционирование модуля SPI 419
10.3. Режимы передачи данных 424
10.4. Использование вывода SS 426
Глава 11
Двухпроводный последовательный интерфейс TWI 427
11.1. Общие сведения 427
11.2. Принципы обмена данными по шине TWI 428
11.3. Обзор модуля TWI 433
11.4. Взаимодействие прикладной программы с модулем TWI 440
11.5. Режимы работы модуля TWI 443
11.5.1. Режим «Ведущий-передатчик» 443
11.5.2. Режим «Ведущий-приемник» 448
11.5.3. Режим «Ведомый-приемник» 452
11.5.4. Режим «Ведомый-передатчик» 457
11.5.5. Комбинирование различных режимов 461
11.5.6. Арбитраж 461
11.6. Параметры интерфейса TWI 463
Глава 12
Универсальный последовательный интерфейс USI 465
12.1. Общие сведения 465
12.2. Использование модуля USI 466
12.3. Режимы работы модуля USI 470
12.3.1. Трехпроводный режим 470
12.3.2. Двухпроводный режим 473
12.3.3. Альтернативное использование модуля USI 476
Глава 13
Универсальный синхронный/асинхронный приемо-передатчик 477
13.1. Общие сведения 477
13.2. Использование модулей USART 479
13.2.1. Скорость приема/передачи 486
13.2.2. Формат кадра 492
13.2.3. Передача данных 493
13.2.4. Прием данных 495
13.3. Мультипроцессорный режим работы 500
13.4. Модуль USART в режиме MSPI 501
13.4.1. Управление модулем USART в режиме MSPI 501
13.4.2. Инициализация режима MSPI 505
13.4.3. Передача данных в режиме MSPI 506
Глава 14
Программирование микроконтроллеров AVR семейства Mega 508
14.1. Общие сведения 508
14.1.1. Защита кода и данных 509
14.1.2. Конфигурационные ячейки 511
14.1.3. Идентификатор 516
14.1.4. Калибровочные ячейки 517
14.1.5. Организация памяти программ и данных 517
14.2. Программирование по последовательному каналу 518
14.2.1. Переключение в режим программирования 525
14.2.2. Управление процессом программирования FLASH-памяти 525
14.2.3. Управление процессом программирования EEPROM-памяти 526
14.3. Параллельное программирование 526
14.3.1. Переключение в режим параллельного программирования 532
14.3.2. Стирание кристалла 533
14.3.3. Программирование FLASH-памяти 533
14.3.4. Программирование EEPROM-памяти 535
14.3.5. Программирование конфигурационных ячеек 537
14.3.6. Программирование ячеек защиты 538
14.3.7. Чтение конфигурационных ячеек и ячеек защиты 538
14.3.8. Чтение ячеек идентификатора и калибровочных ячеек 539
14.4. Программирование по интерфейсу JTAG 539
14.4.1. Общие сведения об интерфейсе JTAG 539
14.4.2. Использование интерфейса JTAG для программирования кристалла 542
14.4.3. Команды JTAG, используемые при программировании 543
14.4.4. Алгоритм программирования 545
14.5. Самопрограммирование микроконтроллеров семейства Mega 554
14.5.1. Общие сведения 554
14.5.2. Области RWW и NRWW 555
14.5.3. Функционирование загрузчика 557
Приложения
Приложение 1. Сводная таблица микроконтроллеров AVR семейства Mega 564
Приложение 2. Чертежи корпусов микроконтроллеров AVR семейства Mega 574
Приложение 3. Параметры микроконтроллеров AVR семейства Mega 577
Предметный указатель 582
Avr mega type 2
Содержание
Архив со всем необходимым
Описание модуля AVR ATMega16
В качестве базового контроллера используется микроконтроллер ATMega16 в DIP корпусе, установленном на панельку. Что позволяет применять в модуле другие варианты контроллеров AVR в подобном корпусе, просто заменив микроконтроллер. Подходят, например, ATMega8535 или ATMega32. Но следует осторожней относится к выбору контроллера, сверяясь с даташитом. Так, например, у ATMega162 совсем иная цоколевка выводов, потому его нельзя вставить в данный модуль. Хотя никто не запрещает развести и изготовить модуль для этого контроллера по аналогии.
Схема модуля проста и состоит из контактов платы (стандартные для всех модулей) и контактов контроллера. Соединяя их джамперами или проволочными перемычками можно подключать микроконтроллер к любой периферии платы.
Схема контактной группы разъема модуля выглядит следующим образом:
Слева и справа идут основные интерфейсы платы, а также выводы земли и питания. Особо следует обратить внимание на два резистора. Они задают напряжение питания контроллера, т.к. стоят в обратной связи стабилизатора шины CPU_POWER. Таким образом, напряжение питание модуля задается им самим. Впрочем, всегда есть возможность обойти стабилизатор CPU_POWER и объединить шины Main Power и CPU Power.
Цоколевка внешних выводов модуля следующая:
- GND – шина земли
- ADJ – вывод ADJ LM317 для задачи напряжения
- CPU_POWER – напряжение питания процессора
- PS/2CLK2 – CLOCK 2 вывод разъема PS/2
- PS/2CLK – CLOCK вывод разъема PS/2
- PS/2DATA2 – DATA 2 вывод разъема PS/2
- PS/2DATA – DATA вывод разъема PS/2
- PWLED0 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 0
- PWLED1 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 1
- PWLED2 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 2
- PWLED3 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 3
- USB BUS PUP – подтяжка шины D на USB. Подача на этот вывод пяти вольт подтягивает шину D и обеспечивает обнаружение устройства на шине USB.
- USB BUS PWR – пять вольт с шины USB пропущенные через резистор в 100кОм. Позволяют отследить наличие питание на шине USB.
- USB DATA + — Шина данных USB
- USB DATA — — Шина данных USB
- TXA1 – Вывод TX канала А (соединяется с линией ТХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- RXA1 – Вывод RX канала А (соединяется с линией RХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- TXB1 – Вывод TX канала B (соединяется с линией ТХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- RXB1 – Вывод RX канала B (соединяется с линией RХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- GND – земля.
- D3…D0 — вход ЦАП по схеме R2R
- AO – от Analog Output – выход R2R ЦАП. Выход идет с операционного усилителя.
- VFO – Voltage Filter Out – выход RC фильтра.
- VFI – Voltage Filter In – вход RC фильтра.
- AGND – Аналоговая земля.
- SCL – строб линия шины i2c. Подтянута к CPU POWER.
- SDA – линия данных шины i2c Подтянута к CPU POWER
- GND – земля.
- SS – выбор кристалла, шина SPI. Подключен также к SS выводу SD карты.
- MOSI – Master Output Slave Input – линия данных шины SPI
- SCK – строб линия шины SPI
- MISO – Master Input Slave Output – линия данных шины SPI
- SS2 – выбор кристалла, шина SPI. Уходит к модулю расширения, позволяя адресовать его по SPI
- BTN3 – Может быть подключена к кнопке BTN3
- BTN2 – Может быть подключена к кнопке BTN3
- BTN1 – Может быть подключена к кнопке BTN3
- BZR – Buzzer, этот вывод подключен к пищалке. Подавая на него колебания звуковой частоты можно что-нибудь пропищать.
Это что касается выводов модуля. Фактически они совпадают с аналогичными выводами базовой платы. Сам контроллер разведен независимо, объединены только земли, питание и то, без чего не обойтись. Что дает гибкость и возможность подключать выводы как угодно и куда угодно. Схема включения контроллера типовая:
Только самое необходимое. Кварцы вынесены на панельки, что позволяет их менять или убирать если не нужны. Напряжение опоры АЦП связано с питающим через дроссель. Земли цифровая и аналоговая соединены, но это соединение в одной точке и только на модуле. Все остальные выводы выведены на штыри и расположены напротив выводов контроллера. Также некоторые из них продублированы возле UART, PWM или I2C выводов, чтобы можно было удобно подключать их джамперами.
Желтой подсветкой указаны выводы которые можно подключать джамперами. Как видно, выведены ШИМ каналы OC0, OC1A, OC1B, OC2. Шина i2c с ее линиями SCL, SDA. SPI с линиями MOSI, MISO (MI на плате), SCK и SS. Причем SS от контроллера продублирована так, чтобы можно было джампером одевать ее на SS или на SS2. Также продублированы выводы UART, позволяя подключать их джамперами либо к каналу А, либо к каналу В.
Справа, напротив выводов OSC1 и OSC2 припаяна цанговая панелька, куда может быть вставлен часовой кварц (идет в комплекте).
С северного торца, под платой, расположена кнопка RESET. А с Южного, также под платой, расположен угловой разъем JTAG’a с которого можно шлейфом вытащить интерфейс на отладчик.
Отличие модуля AVR ревизии 1 от ревизии 2
Схемотехника и распиновка модулей осталась без изменений, но была исправлена ошибка в результате которой SDA и SCL выводы поменялись местами. Сделал так, как было задумано изначально. Что позволяет теперь подключать i2c шину напрямую, джамперами. Не извращаясь с хитрым крестовидным соединителем.
Раньше для наброса на шину i2c AVR модуля нужно было подключать так:
Теперь все несколько упростилось:
Устройство является универсальной системой для отладки микроконтроллеров AVR. Плата не привязана к конкретному микроконтроллеру, а имеет универсальный разъем, к которому можно подключить модуль с любым микроконтроллером. На данный момент разработаны модули для микроконтроллеров:
— ATmega8
— ATmega16
— ATmega162
— ATtiny2313
— ATtiny13
Но ничего не мешает разработать модули и под другие микроконтроллеры. Устройство включает в себя программатор USBASP и может быть полностью запитано от USB или внешнего источника питания. Устройство включает в себя все необходимое для отладки: ЖК и светодиодные дисплеи, часы реального времени и EEPROM память, интерфейсы RS232 и RS485, разъем для подключения клавиатуры, кнопки, светодиоды и многое другое. Части устройства соединяются между собой при помощи специальных проводов, перемычек и переключателей. Некоторые части постоянно соединены с портами выбранного микроконтроллера (например, LCD), что убирает проблему спутанных проводов.
Описание констукции
Так как проект является сложным, схема разделена на несколько частей.
Наиболее важная часть всего устройства, которая управляет процессорным модулем и остальной частью устройства. К этой части подключаются светодиодные дисплеи, таймер и I2C интерфейс, UART и инфракрасный приемник. На микроконтроллере U6 (ATmega8) собран программатор USBASP. Для корректной работы необходим кварц X1 (12 МГц) и конденсаторы C9 (22pF) и С10 (22pF). Резистор R27 (10k) подтягивает вывод сброса микроконтроллера к плюсу. Резисторы R31 (470R) и R32 (470R) ограничивают ток светодиодов D3 и D4. Резистор R58 (470R) играет ту же роль для светодиода D1. KANDA — это разъем ISP. Конденсаторы C12 (100nF) и С11 (4,7 мкФ) — фильтрующие. Для правильной работы шины USB необходимы резисторы R29 (68R) и R30 (68R), стабилитроны D1 и D2 (3,6 V). Резистор R28 (2,2 кОм) необходим для того, чтобы устройство определялось компьютером как работающее на малой скорости. Отладочная плата подключается к компьютеру через разъем ZUSB1 (USB-B).
U3 и U4 (DS18B20) — это датчики температуры работающие по шине 1-wire. Для правильной работы шины необходим резистор R24 (4,7 кОм). 1WR_OUT разъем позволяет подключать дополнительные датчики, а разъем 1WR обеспечивает связь с модулем микроконтроллера. PS2 разъем (Mini DIN6) есть не что иное, как разъем для подключения клавиатуры персонального компьютера. Резисторы R59 (4,7 кОм) и R60 (4,7 кОм) подтягивают шину данных и вывод «Clock» к плюсу. Разъем KBD обеспечивает связь с модулем микроконтроллера. Клавиатура питается от внешнего источника питания +5 В.
На плате имеется дополнительный генератор частоты 16 мГц. Также имеется дополнительный кварцевый резонатор X3 и два конденсатора C16 (22pF) и С17 (22pF) для любых целей.
ZUSB2 в связке с элементами C18 (100nF), C19 (4,7 мкФ), R48 (68R), R49 (68R) и стабилитронами D8 (3,6 V) и D9 (3.6 V) предназначены для отладки произвольных устройств, с подключением к порту USB. Резистор R47 (2,2 К) может быть отключен с помощью перемычки ZW7, благодаря этому возможно использовать USB порт для получения питания без уведомления о устройстве USB.
W1 LCD (20×4) является главным элементом для отображения данных. Резистор R3 (47R) ограничивает ток подсветки, которая активируется транзистором Т1 (BC556) и резисторами R1 (3,3 кОм) и R2 (3,3 кОм) перемычкой ZW1. Потенциометр P1 (10 кОм) позволяет установить контрастность дисплея. Перемычка PW4 включает дисплей. Переключатель SD1 (SW6) служит для отключения линий управления дисплеем, подключенным к главному процессору (можно не ставить).
Транзисторы T2 — T5 (BC556) и резисторы R4-R11 (3,3 кОм) контролируют аноды 4-х разрядного LED дисплея W2. Резисторы R12 — R20 (330 Ом) ограничивают ток через сегменты дисплея. Переключатели SD2 (SW4) и SD3 (SW8) служит для отключения линий управления дисплеем, подключенным к главному процессору (можно не ставить). Разъем W2L используется для подключения центральных точек к процессору.
U9 (TL431) с резисторами R45 (330 Ом) и R46 (10 кОм) и потенциометром P2 (1 кОм) является источником опорного напряжения около 2,56 В. Выход через разъем VREF. Пьезо пищалка с генератором BUZ1 (5В) управляется при помощи транзистора T12 (BC556) и резисторов R40 (3,3 кОм) и R41 (3,3 кОм). Управление зуммером осуществляется через разъем BUZ. Также на плате установлен фототранзистор T7 (L-93P3BT). Резистор R33 (10 кОм) ограничивает ток, протекающий через него. Выход фототранзистора через разъем FOT.
Для преобразования уровней COM порта используется популярная микросхема MAX232 (U1). Для правильной работы требуются конденсаторы С1 — С4 (1 мкФ). Первый выход UART непосредственно подключен к процессорному модулю через переключатель SD4 (SW2). Второй выход UART выведен на разъем и может использоваться для любых целей. С MAX232 через разъем V- снимается отрицательное напряжение (выход инвертора). Это может использоваться для смещения в различных схемах. MAX232 отключается от источника питания с помощью перемычки Pw1.
Перемычка PW2 включает микросхемы, работающие на шине I2C. Резисторы R25 (3,3 кОм) и R26 (3,3 кОм) необходимы для правильной работы шины I2C. Шина I2C подключены к процессорному модулю через переключатель SD5 (SW2). Микросхема U5(AT24C256) — EEPROM память. Диоды D6 (1N4148) и D7 (1N4148) с батареей BAT1(3 В) — источник бесперебойного питания для RTC, микросхемы U7(PCF8583). Перемычкой Zw4 вы можете отключить батарею, а перемычкой ZW3 можно установить адрес U7 160 или 162. Конденсатор C14 (100 нФ) — фильтрующий, и должен располагаться как можно ближе к микросхеме U7. Конденсатор С13 (33 пФ) и кварц X2 (32,768 кГц) обеспечивают точный ход часов. Прерывание от микросхемы U7 выведено на разъем PCF_INT.
На плате установлены два светодиодных дисплея — уровня W3 и W4. Резисторные сборки RP1 (4x470R), RP2 (8x470R) и RP3 (8x470R) ограничивают ток через сегменты дисплеев. Дисплеи соединены с процессорным модулем через разъемы LED1 и LED2. Также на плате установлены RGB светодиоды D13 и D14, с токоограничительными резисторами R63 (180R), R64 (100R), R65 (180R), R66 (180R), R67 (100R) и R68 (180R). Перемычки Zw11 и Zw12 необходимы для включения катодов светодиодов к земле или к транзисторам.
Разъемы V1 — V3, V4 — V9 являются источником питания +5 В. Разъемы G1 — G3, G4-G8 — земля.
Микросхема U8 (ULN2803) предназначена для управления низковольтными нагрузками. Управляющий сигнал подается на разъемы Z3 и Z4. Выход на разъемы ULN1 — ULN4. В связи с высоким потреблением энергии микросхема U8 получает питание от внешнего источника. Разъемы Z1 и Z2 соеденины с разъемами с винтовыми фиксаторами ZU1 — ZU4. Симисторы TR1 (BT138-600E) и TR2 (BT138-600E) с оптопарами OPT1 (MOC3041) и OPT2 (MOC3041) и резисторами R34 (180R), R35 (180R), R37 (180R) и R38 (180R) позволяют управлять нагрузкой 220 В. Резисторы R36 (330R) и R39 (330R), ограничивают ток, протекающий через оптопары. Выход через разъемы с винтовым фиксатором TRO_1 и TRO_2. Управляющий сигнал подается на разьем TR1 Варисторы WR1 (JVR-7N431) и WR2 (JVR-7N431) защищают выход. Панельки PD28 (DIL28) и PD40 (DIL40) предназначены для установки любых микросхем, их выводы разведены на разъемы PDG1 — PDG4.
Выводы энкодера I1 разведены на разъем IMP, перемычка ZW2 используется для подключения земли или +5 В к энкодеру. Конденсаторы C20 (100nF) и C21 (100nF) необходимы для подавления помех. На плате есть также оптропара OPT3 (CNY17) для любых целей. R43 (330R) ограничивает ток светодиода оптропары. R44 (10k) и R42 (100k) подтягивают выводы к питанию. Перемычками ZW5 и ZW6 можно подключать светодиод оптопары к +5 В или на землю. Выход через разъем CNYO.
Кнопки S1 — S8 подключены к разъему SW. Кнопки S9 — S24 образуют матрицу. Столбцы клавиатуры подключаются через разъем SWC, а линейки через разъем SWR.
Разъем ZAC (Molex 2×2) необходим для подачи внешнего питания +5 В с более высоким током. Реле PU1 (HFC-005-12W) необходимо для переключения питания от USB или от внешнего источника питания при условии, что установлена перемычка ZW8. Светодиод D11 и резистор R61 (470R) установлены для сигнализации работы реле. Диод D12 (1N4007) защищает от скачков на катушке реле напряжения при выключении питания. Выключатель питания позволяет отключить питание от USB (запитываться будет только программатор), светодиод D15 с резистором R69 (470R) указывают на этот факт.
Микросхема U2 (TSOP1736) представляет собой ИК-приемник работающий на частоте 36 кГц. Для правильной работы необходимы элементы C8 (100 мкФ) и R23 (220R). Также на плате установлен инфракрасный светодиод D5 (SFh585). Резистор R22 (10R) ограничивает ток. Конденсаторы C6 (100 нФ) и С7 (100 мкФ) — фильтрующие. Транзистор T6 (BC516) управляет инфракрасным светодиодом. База транзистора соединена с процессором через переключатель SD6 (SW2). Резистор R21 (10 кОм) ограничивает ток базы транзистора T6, и R21 * (10 кОм) подтягивает базу транзистора к +5 В. Это предотвращает произвольное включение ИК-светодиода, когда он не используется. Перемычка PW3 включает питание для приемника и ИК-передатчика.
Транзисторы T8 — T11 (BC556) с резисторами R50 — R57 (3,3 кОм) могут использоваться для управления низковольтными нагрузками. Управляющий сигнал подается на разъем Z5. Выход через разъемы с винтовыми фиксаторами ТО1 и ТО2
Далее даны схемы процессорных модулей
ATMega 8
ATMega 162
ATTiny 13
ATtiny2313
Изготовление
Устройство изготавливается на основе печатной платы (В конце статьи). Плата не сложна в сборке, но устанавливать придется много элементов. В случае ошибки в установке это будет трудно найти и исправить. Установка начинается с пайки всех перемычек (16 штук). Некоторые перемычки находятся под микросхемами. Далее устанавливают все резисторы, конденсаторы и другие мелкие детали. В последнюю очередь устанавливают микросхемы.
Плата изготавливается из текстолита 1,5 мм и крепится к подставке из металла (см. фото проекта). На всех микросхемах рекомендуется использовать панельку. Вместо датчиков DS18B20 припаяна панелька DIL6. Благодаря этому можно заменять датчики и считывать серийные номера для различных целей. Подробности изготовления платы можно увидеть в разделе «Фотографий проекта».
Перед включением платы нужно проверить плату на предмет коротких замыканий с помощью мультиметра, особенно проверить короткие замыкания между GND и +5В, так как плата подключается к порту USB.
Список деталей
21x Разъем с винтовым фиксатором двойной
1x Разъем с винтовым фиксатором тройной
Разъемы PLS
1x 2×2 MOLEX разъем
2x Панелька цанговая DIL6
1x Панелька цанговая DIL28
1x Панелька цанговая DIL40
1x Панелька цанговая DIL16
1x Разъем ISB(10PIN)
2x Разъем USB — B
1x Разъем PS2
1x Разъем DB9F
1x Разъем DB9M
1x Батарейка 3V (CR2032) + Держатель
1x 2-х позиционный переключатель
25x Кнопка без фиксации
1x Энкодер
1x Реле HFKW-005-1ZW
4x DIP-переключатель SW2
1x DIP-переключатель SW4
1x DIP-переключатель SW6
1x DIP-переключатель SW8
2x Резистор 2.2 кОм
23x Резистор 3,3 кОм
3x Резистор 4,7 кОм
1x Резистор 10 Ом
6x Резистор 10 кОм
1x Резистор 47 Ом
4x Резистор 68 Ом
2x Резистор 100 Ом
1x Резистор 100 кОм
8x Резистор 180 Ом
1x Резистор 220 Ом
13x Резистор 330 Ом
4x Резистор 470 Ом
1x Резисторная сборка 4×470 Ом
2x Резисторная сборка 8×470 Ом
2x Варистор JVR-7N431
1x Потенциометр 1 кОм
1x Потенциометр 10 кОм
1x Конденсатор 10 нФ
4x Конденсатор 22 пФ
1x Конденсатор 33пФ
7x Конденсатор 100 нФ
4x Конденсатор электролит 1 мкФ
2x Конденсатор электролит 4,7 мкФ
2x Конденсатор э лектролит 100 мкФ
1x 12 МГц кварц
1x Часовой кварц 32768Hz
1x 16 МГц кварцевый генератор
1x Диод 1N4007
2x Диод 1N4148
4x 3V6 стабилитрон
4x Светодиод
2x Светодиод RGB (общий катод)
1x ИК-светодиод
2x Светодиодный столбик DIL20
1x ИК-приемник TSOP1736
1x Транзистор BC516
10x Транзистор BC556
1x Фототранзистора L-932P3BT
1x Микроконтроллер ATMEGA8 + панелька
1x AT24C256
1x ULN2803
1x TL431
1x MAX232
1x MAX485
1x PCF8583
2x BT138-600E
2x MOC3041
1x Оптрон CNY17
1x Пищалка 5V с генератором
1x 7-сегментный дисплей (четырехразрядный)
1x LCD 20×4
Модуль ATtiny13:
Разъемы PLS
1x Конденсатор 100nF
1x Микроконтроллер ATTINY13 + панелька
Мо дуль ATtiny2313 :
Разъемы PLS
2x Конденсатор 22 пФ
1x Конденсатор 100 нФ
1x 16 МГц кварц
1x Микроконтроллер ATTINY2313 + панелька
Модуль ATMega8:
Разъемы PLS
2x Конденсатор 22 пФ
1x Конденсатор 100 нФ
1x 16 МГц кварц
Микроконтроллер ATMEGA8 + Панелька
Модуль ATMega16:
Разъемы PLS
2x Конденсатор 22 пФ
1x Конденсатор 100 нФ
1x 16 МГц кварц
Микроконтроллер ATMEGA16 + Панелька
Модуль ATMega162:
Разъемы PLS
2x Конденсатор 22 пФ
1x Конденсатор 100 нФ
1x 16 МГц кварц
Микроконтроллер ATMEGA162 + Панелька
Радиотехника и электроника для разработчиков и радиолюбителей
Информация
Справочные данные на радиоэлектронные компоненты, приборы, средства связи и измерений. Радиотехническая литература.
Доска объявлений
Объявления о покупке и продаже радиокомпонентов. Спрос и предложение на различные радиодетали и приборы.
Программы
Полезные программы для радиолюбителей и разработчиков радиоэлектроники.
Ссылки
Мы в соцсетях
Рекомендуем
Микроконтроллеры AVR
Здесь представлена информация по микроконтроллерам фирмы Atmel, в основном по микроконтроллерам AVR. Представлены для свободного скачивания книги и справочники. Вы можете здесь же заказать бумажный вариант книги.
Книга является справочным изданием по применению микроконтроллеров AVR семейства Classic фирмы «ATMEL». Рассмотрена архитектура, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
Изд-во: Додэка
ISBN: 978-5-94120-094-8
288 страниц
Содержание
Глава 1. Знакомство с семейством CLASSIC
1.1. Общие сведения
1.2. Отличительные особенности
1.3. Характеристики ядра микроконтроллера
1.4. Характеристики подсистемы ввода/вывода
1.5. Периферийные устройства
1.6. Архитектура ядра
1.7. Цоколевка и описание выводов
Глава 2. Архитектура микроконтроллеров семейства Classic
2.1. Общие сведения
2.2. Организация памяти
2.2.1. Память программ
2.2.2. Память данных
2.2.2.1. Статическое ОЗУ
2.2.2.2. Регистры общего назначения
2.2.2.3. Регистры ввода/вывода
2.2.2.4. Способы адресации памяти данных
2.2.3. Энергонезависимая память данных
2.2.3.1. Организация доступа
2.2.3.2. Меры предосторожности при работе
2.3. Счетчик команд и выполнение программы
2.3.1. Функционирование конвейера
2.3.2. Задержки в конвейере
2.3.3. Счетчик команд
2.3.4. Kоманды типа «проверка/пропуск»
2.3.5. Kоманды условного перехода
2.3.6. Kоманды безусловного перехода
2.3.7. Kоманды вызова подпрограмм
2.3.8. Kоманды возврата из подпрограмм
2.4. Стек
2.4.1. Стек в микроконтроллере AT90S1200
2.4.2. Стек в старших моделях микроконтроллеров
Глава 3. Система команд
3.1. Общие сведения
3.2. Операнды
3.3. Типы команд
3.3.1. Kоманды логических операций
3.3.2. Kоманды арифметических операций и команды сдвига
3.3.3. Kоманды операций с битами
3.3.4. Kоманды пересылки данных
3.3.5. Kоманды передачи управления
3.3.6. Kоманды управления системой
3.4. Сводные таблицы команд
3.5. Описание команд
Глава 4. Устройство управления
4.1. Общие сведения
4.2. Тактовый генератор
4.3. Режимы пониженного энергопотребления
4.3.1. Режим Idle
4.3.2 Режим Power Down
4.3.3 Режим Power Save
4.4. Сброс
4.4.1. Сброс по включении питания
4.4.2. Аппаратный сброс
4.4.3. Сброс от сторожевого таймера
4.4.4. Сброс при снижении напряжения питания (Brown-Out)
4.4.5. Управление схемой сброса
4.5. Прерывания
4.5.1. Таблица векторов прерываний
4.5.2. Обработка прерываний
4.5.3. Внешние прерывания; регистры GIMSK и GIFR
4.5.4. Прерывания от таймеров; регистры TIMSK и TIFR
Глава 5. Порты ввода/вывода
5.1. Общие сведения
5.2. Обращение к портам ввода/вывода
5.3. Kонфигурирование портов ввода/вывода
Глава 6. Таймеры
6.1. Общие сведения
6.2. Назначение выводов таймеров/счетчиков
6.3. Таймер/счетчик T0
6.4. Таймер/счетчик T1
6.4.1. Выбор источника тактового сигнала
6.4.2. Режим таймера
6.4.2.1. Функция захвата (Capture)
6.4.2.2. Функция сравнения (Compare)
6.4.3. Режим ШИМ
6.5. Таймер/счетчик T2
6.5.1. Управление тактовым сигналом
6.5.2. Режим таймера
6.5.3. Режим ШИМ
6.5.4. Асинхронный режим работы
6.6. Сторожевой таймер
Глава 7. Аналоговый компаратор
7.1. Общие сведения
7.2. Функционирование компаратора
Глава 8. Аналого-цифровой преобразователь
8.1. Общие сведения
8.2. Функционирование модуля АЦП
8.3. Повышение точности преобразования
8.4. Параметры АЦП
Глава 9. Универсальный асинхронный приемопередатчик
9.1. Общие сведения
9.2. Управление работой UART
9.3. Передача данных
9.4. Прием данных
9.5. Мультипроцессорный режим работы UART
9.6. Скорость приема/передачи
Глава 10. Последовательный периферийный интерфейс SPI
10.1. Общие сведения
10.2. Функционирование модуля SPI
10.3. Режимы передачи данных
10.4. Использование вывода F65
Глава 11. Программирование микроконтроллеров
11.1. Общие сведения
11.2. Защита кода и данных
11.3. Kонфигурационные ячейки
11.4. Идентификатор
11.5. Режим параллельного программирования
11.5.1. Переключение в режим параллельного программирования
11.5.2. Стирание кристалла
11.5.3. Программирование FLASH-памяти
11.5.4. Программирование EEPROM-памяти
11.5.5. Kонфигурирование микроконтроллера
11.6. Режимы последовательного программирования
11.6.1. Режим последовательного программирования при высоком напряжении (модели AT90S/LS2323 и AT90S/LS2343)
11.6.2. Программирование по последовательному каналу
Приложения
Приложение I. Сводная таблица микроконтроллеров AVR семейства Classic
Приложение II. Чертежи корпусов микроконтроллеров AVR семейства Classic
Приложение III. Электрические параметры микроконтроллеров AVR семейства Classic
Что такое AVR микроконтроллер?
AVR микроконтроллеры – это тип устройств, разработанный компанией Atmel, которые имеют определенное преимущество перед обычными микросхемами, но, сначала, давайте разберемся, что такое микроконтроллер?
Самый простой способ понять это – сравнить микроконтроллер с вашим компьютером, в котором установлена материнская плата. На этой плате стоит микропроцессор (на чипе Intel или AMD), который обеспечивает устройство вычислений, память RAM и EEPROM, и интерфейсы остальных систем, например, серийные порты (в настоящее время в основном USB), жесткие диски и графические интерфейсы. В микроконтроллере все эти возможности встроены в один чип, а это значит, что отсутствует потребность в материнской плате и многих других компонентах, например, светодиод может быть подключен напрямую к AVR. В микропроцессорах нет такой возможности!
AVR микроконтроллеры выпускаются в нескольких корпусах, некоторые предназначены для монтажа в отверстия, некоторые для поверхностного. AVR бывают 8-ми и 100-пиновыми, хотя все, что выше 64-х пинов только для монтажа в отверстия. Большинство людей начинают с DIL (Сдвоенный в линию) 28—х пинового чипа, например, ATmega328 или 40-ка пинового ATmega16 или ATmega32.
Компьютерные микропроцессоры бывают минимум 32-х битными, а теперь чаще 64-х битные. Это означает, что они могут обрабатывать данные 32-х битными или 64-х битными блоками, если они подключены к шине. AVR гораздо проще и работает с 8-ми битными блоками, пропускная ширина потока 8 бит, хотя сейчас стали появляться AVR32 с 32-х битной шиной.
На компьютере установлена операционная система (Windows или Linux), и именно в ней запускаются программы, такие, как Word, InternetExplorer или Chrome. На 8-ми битном микроконтроллере, например, на таком, как AVR обычно нет установленной операционной системы, хотя, при необходимости, она может быть установлена. Вместо этого реализована возможность запуска одной программы.
Также, как и ваш компьютер, который будет бесполезным, если на нем не установлена ни одна программа, также, и AVR требует установки программ. Программа хранится во встроенной памяти AVR, а не на внешнем жестком диске, как на компьютере. Загрузка этой программы вAVR происходит при помощи программатора AVR, обычно, когда AVR является частью системы, и программируется разработчиком или системным программистом.
Так что же это за программа? Она состоит из серии инструкций, очень простых, и направленных на обработку данных. В большинстве приложений, которые вы будете использовать с AVR, например, в контроллере промышленного оборудования, необходимо, чтобы считывалась информация со входов, проводилась проверка состояния и, соответственно, происходило переключение на выходы. Иногда вам нужно менять данные, управлять ими, или передавать их на другое устройство, например, на ЖК дисплей или на серийный порт. Чтобы выполнять эти простые задачи, используется серия простых бинарных инструкций, каждая из которых соответствует команде на ассемблере, понятной пользователю. Самый простой способ написать программу для AVR – использовать ассемблер (хотя, если хотите оставаться педантичным, можете записывать двоичные числа).
Использование ассемблера позволяет вам понять больше о том, как действует AVR, и как это все соединено воедино. Также, это дает возможность использовать очень маленький и быстрый код. Недостаток в том, что вы, как программист, должны делать все сами, включая управление памятью и структурой программ, что может быть очень утомительно.
Чтобы этого избежать, для написания программ для AVR были использованы языки программирования более высокого уровня, основным считается Cи, а также, можно использовать Basic и Java. Высокий уровень означает, что каждая строка Cи (или Basic, или Java) кода может переводиться в множество строк ассемблера. Компилятор также разбирается со структурой программы и управлением памятью, так что все становится гораздо проще. Наиболее часто используемые процессы, например, задержки или вычисления, могут храниться в библиотеках, и доступ к ним очень простой.
Мне кажется, что написание программ на Си для AVR сравнимо с управлением автомобилем. Да, вы очень легко можете это делать, но, если что-то идет не так, то вы понятия не имеете, как быть, и как справиться со сложной ситуацией, например, со скользкой дорогой. Написание простейших программ на ассемблере дает вам понять, что происходит «под капотом», как это работает, и что с этим можно сделать. Потом вы переходите на Си, но, к этому моменту, вы уже знаете, как функционирует AVR, и знаете его ограничения.
Также, как у вашей программы есть в памяти код, также у AVR есть вторая память, которая называется EEPROM, где вы можете хранить данные, например, серийные номера, данные калибровок и другую, необходимую под рукой, информацию. Доступ туда осуществляется по инструкциям в вашей программе.
У AVR также есть I/O, которое используется, чтобы контролировать аппаратные средства микроконтроллера. К аппаратным средствам относятся порты, АЦП (ADC), коммуникационные интерфейсы, например, I2C (2—х проводной интерфейс), SPI и UART (серийный порт), таймеры и система watchdog, которая восстанавливает систему после сбоя. Все эти периферийные устройства контролируется из-под программы, используя специальные инструкции. Большая часть кода программирования AVR посвящена тому, как устанавливать и контролировать эти аппаратные интерфейсы.
Примеры работ
Услуги
Контакты
Время выполнения запроса: 0,00442099571228 секунд.
MEGA-AVR
Расскажу как я поборол печальный глюк wi-fi — Ubiquiti lan0 unplugged.
Continue reading →Вот и я добрался до карточек памяти, к слову давно еще были попытки но не было времени. Сейчас же предстояло хранить данные, а где их хранить как не на карте памяти! Это ведь замечательный и ёмкий накопитель для нашего AVR!
Continue reading →Автоматическое нажатие F1 через определенное время при запуске сервера.
Continue reading →Поделюсь своим опытом в ремонте серверного блока питания HP DPS-800, — частые и случайные выключения — переход в режим standby off.
Continue reading → Популярная мощная и удобная среда разработки и отладки программ для микроконтроллеров и процессоров архитектуры ARM:
Cortex-M0, M3, M4, M7, A9
Proteus — это пакет программ для автоматизированного проектирования электронных схем, версии 8.7 NEW!!! Continue reading →
В учебном пособии рассмотрены вопросы организации работы микропроцессорных средств, функциональные возможности и характеристики аппаратных средств микроконтроллеров, особенности программирования на ассемблере, приведены примеры программ для выполнения типовых функций, даны краткие рекомендации по технической реализации алгоритмов управления. Continue reading →
Рассмотрены структура технологических процессов получения интегральных микросхем, задачи и функции микропроцессорных систем управления оборудованием. Continue reading →
USB (Universal Serial Bus — универсальная последовательная шина) является промышленным стандартом расширения архитектуры PC, ориентированным на интеграцию с телефонией и устройствами бытовой электроники. Continue reading →
Страниц: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17GSM-контроллер выполняет функции автоматического/ручного регулирования/оповещения. Continue reading →
В статье автор рассматривает некоторые аспекты, на которые разработчикам следует обратить внимание при выборе микроконтроллера для применений, отвечающих высоким требованиям надежности и безопасности. Continue reading →
Страниц: 1 2 3 4 5В статье приводится USB программатор микроконтроллеров AVR и AT89S, совместимый с AVR910 — с журнала Радио №7, 2008г. Continue reading →
Рассмотрим несколько способов генерирования случайных чисел на микроконтроллере. Continue reading →
Устройство автоматического ввода резерва АВР ТСM 225/250А 3р EKF PROxima
Трехполюсный аппарат ЕКФ для включения резервного питанияДанная модель устройства АВР серии ТСМ от известного производителя EKF представляет собой моноблок, который обеспечивает резервное электроснабжение нагрузки в случае пропадания напряжения на основной линии. Ввод резерва происходит автоматически, а функция защиты предотвращает от токов перегрузки и коротких замыканий. Устройство имеет 3 полюса и рассчитано на ток до 250 Ампер при номинальном значении напряжения сети 400 Вольт. Максимальная отключающая способность составляет 35 кАмпер, а механическая износостойкость достигает 6000 циклов. Управление прибором АВР осуществляется с помощью интеллектуального контроллера, который может быть настроен на несколько программ переключения в ручном и дистанционном режиме. Устройство состоит из контактного блока, блока управления и 2-х силовых автоматов в литом корпусе. Степень защиты IP30 предполагает его размещение в сухом месте, защищенном от влаги. Сфера применения такого прибора достаточно обширна и включает в себя потребителей обязательного резервирования нагрузки: больницы, транспортную инфраструктуру, тепловые станции, противопожарные системы, объекты министерства обороны, а также желательного использования: административные здания, объекты жилого и коммерческого назначения. Уважаемые покупатели. Обращаем Ваше внимание, что размещенная на данном сайте справочная информация о товарах не является офертой, наличие и стоимость оборудования необходимо уточнить у менеджеров, которые с удовольствием помогут Вам в выборе оборудования и оформлении на него заказа. Производитель оставляет за собой право изменять внешний вид, технические характеристики и комплектацию без уведомления. Цена на Устройство автоматического ввода резерва АВР ТСM 225/250А 3р EKF PROxima , у нас всегда одни из лучших. Сравните с прайсом в других магазинах, и вы поймете, что у нас оптимальное соотношение цены, качества и ассортимента. Перечень товаров, которые мы продаем, насчитывает десятки тысяч позиций. На сайте можно найти как товары, пользующиеся повышенным спросом, так и то, что в других магазинах купить сложно. Ассортимент – это то, чему мы уделяем особое внимание. Кроме того, ставка делается на безопасность и качество продукции. Так же цена — 23 174.06 ₽ может быть для Вас и ниже так как у нас действуют хорошие скидки для оптовых покупателей. Мы предлагаем большой выбор товаров из категории Автоматический ввод резерва ТСМ и ТСР1 EKF по хорошим ценам. Уверены, что вы найдете на нашем сайте именно то, что искали, потратив на это минимум времени. Есть поиск по позициям. Весь товар сертифицирован, отвечает требованиям качества. Мы работаем с проверенными поставщиками, продаем товар от давно зарекомендовавших себя брендов. Быстрая доставка в любой город – несколько вариантов, вы всегда можете выбрать наиболее удобный. Устройство автоматического ввода резерва АВР ТСM 225/250А 3р EKF PROxima , можно получить в пункте выдачи, или заказать курьерскую доставку до двери. Закажите выгодную доставку в Ваш город или прямо к вашей двери. Это удобнее, чем объезжать магазины, тратить время, выбирать из того, что предлагают, а не покупать то, что нужно, что хочется. Брак – это исключение в нашем ассортименте. Если он выявлен, то возврат товара осуществляется в соответствии с Законом Российской Федерации «О защите прав потребителя». Это не значит, что нужно тратить много времени на решение проблемы. Правила, согласно которым урегулируется проблема, очень простые. Мы просто заменяем некачественный товар на то, который соответствует ожиданиям, или возвращаем деньги. Наличие Устройство автоматического ввода резерва АВР ТСM 225/250А 3р EKF PROxima на складе уточняйте у менеджера. Также можно получить консультацию по тому, что мы продаем, узнать преимущества конкретного товара, получить информацию об отличительных особенностях товара, который вы собираетесь купить. Мы всегда рады помочь, посоветовать, рассказать подробно о товарах из нашего ассортимента. Свяжитесь с нами любым способом, который для вас наиболее удобен. С удовольствием ответим на все вопросы.
общая характеристика, внутренняя структура — Информатика, информационные технологии
Микроконтроллер AVR содержит: быстрый RISC-процессор, два типа энергонезависимой памяти (Flash-память программ и память данных EEPROM), оперативную память RAM, порты ввода/вывода и различные периферийные интерфейсные схемы.
Сердцем микроконтроллеров AVR является 8-битное микропроцессорное ядро или центральное процессорное устройство (ЦПУ), построенное на принципах RISC-архитектуры. Основой этого блока служит арифметико-логическое устройство (АЛУ). По системному тактовому сигналу из памяти программ в соответствии с содержимым счетчика команд (Program Counter — PC) выбирается очередная команда и выполняется в АЛУ. Во время выбора команды из памяти программ происходит выполнение предыдущей выбранной команды, что и позволяет достичь быстродействия 1 MIPS на 1 МГц.
АЛУ подключено к регистрам общего назначения РОН. Регистров общего назначения всего 32, они имеют байтовый формат, то есть каждый из них состоит из восьми бит. РОН находятся в начале адресного пространства оперативной памяти, но физически не являются ее частью. Поэтому к ним можно обращаться двумя способами (как к регистрам и как к памяти). Такое решение является особенностью AVR и повышает эффективность работы и производительность микроконтроллера.
Отличие между регистрами и оперативной памятью состоит в том, что с регистрами можно производить любые операции (арифметические, логические, битовые), а в оперативную память можно лишь записывать данные из регистров.
В микроконтроллерах AVR реализована Гарвардская архитектура, в соответствии с которой разделены не только адресные пространства памяти программ и памяти данных, но и шины доступа к ним. Каждая из областей памяти данных (оперативная память и EEPROM) также расположена в своем адресном пространстве.
Память программ предназначена для хранения последовательности команд, управляющих функционированием микроконтроллера, и имеет 16-ти битную организацию. Все AVR имеют Flash-память программ, которая может быть различного размера — от 1 до 256 Кбайт. Ее главное достоинство в том, что она построена на принципе электрической перепрограммируемости, т. е. допускает многократное стирание и запись информации. Программа заносится во Flash-память AVR как с помощью обычного программатора, так и с помощью SPI-интерфейса, в том числе непосредственно на собранной плате. Возможностью внутрисхемного программирования (функция ISP) через коммуникационный интерфейс SPI обладают практически все микроконтроллеры AVR.
Гарантированное число циклов перезаписи Flash-памяти у микроконтроллеров AVR второго поколения составляет не менее 10 тыс. циклов при типовом значении 100 тыс. циклов.
Память данных разделена на три части: регистровая память, оперативная память (ОЗУ — оперативное запоминающее устройство или RAM) и энергонезависимая память (EEPROM).
Регистровая память включает 32 регистра общего назначения (РОН), объединенных в файл, и служебные регистры ввода/вывода. И те и другие расположены в адресном пространстве ОЗУ, но не являются его частью.
В области регистров ввода/вывода расположены различные служебные регистры (регистры управления микроконтроллером, регистры состояния и т. п.), а также регистры управления периферийными устройствами, входящими в состав микроконтроллера. По сути, управление микроконтроллером заключается в управлении этими регистрами.
Для долговременного хранения различной информации, которая может изменяться в процессе функционирования микроконтроллерной системы, используется EEPROM-память. Все AVR-микроконтроллеры имеют блок энергонезависимой электрически перезаписываемой памяти данных EEPROM от 64 Байт до 4 Кбайт. Этот тип памяти, доступный программе микроконтроллера непосредственно в ходе ее выполнения, удобен для хранения промежуточных данных, различных констант, коэффициентов, серийных номеров, ключей и т.п. EEPROM может быть загружена извне как через SPI интерфейс, так и с помощью обычного программатора. Число циклов стирание/запись — не менее 100 тыс.
Внутренняя оперативная статическая память Static RAM (SRAM) имеет байтовый формат и используется для оперативного хранения данных.
Размер оперативной памяти может варьироваться у различных чипов от 64 Байт до 4 Кбайт. Число циклов чтения и записи в RAM не ограничено, но при отключении питающего напряжения вся информация теряется.
Периферия микроконтроллеров AVR включает: порты (от 3 до 48 линий ввода и вывода), поддержку внешних прерываний, таймеры-счетчики, сторожевой таймер, аналоговые компараторы, 10-разрядный 8-канальный АЦП, интерфейсы UART, JTAG и SPI, устройство сброса по понижению питания, широтно-импульсные модуляторы.
Порты ввода/вывода AVR имеют число независимых линий ввода/вывода от 3 до 53. Каждая линия порта может быть запрограммирована на вход или на выход. Мощные выходные драйверы обеспечивают токовую нагрузочную способность 20 мА на линию порта (втекающий ток) при максимальном значении 40 мА, что позволяет, например, непосредственно подключать к микроконтроллеру светодиоды и биполярные транзисторы. Общая токовая нагрузка на все линии одного порта не должна превышать 80 мА (все значения приведены для напряжения питания 5 В).
Система прерываний — одна из важнейших частей микроконтроллера. Все микроконтроллеры AVR имеют многоуровневую систему прерываний. Прерывание прекращает нормальный ход программы для выполнения приоритетной задачи, определяемой внутренним или внешним событием.
Для каждого такого события разрабатывается отдельная программа, которую называют подпрограммой обработки запроса на прерывание (для краткости – обработчиком прерывания), и размещается в памяти программ.
При возникновении события, вызывающего прерывание, микроконтроллер сохраняет содержимое счетчика команд, прерывает выполнение центральным процессором текущей программы и переходит к выполнению подпрограммы обработки прерывания.
После выполнения подпрограммы прерывания осуществляется восстановление предварительно сохраненного счетчика команд и процессор возвращается к выполнению прерванной программы.
Для каждого события может быть установлен приоритет. Понятие приоритет означает, что выполняемая подпрограмма прерывания может быть прервана другим событием только при условии, что оно имеет более высокий приоритет, чем текущее. В противном случае
центральный процессор перейдет к обработке нового события только после окончания обработки предыдущего.
Микроконтроллеры AVR имеют в своем составе от 1 до 4 таймеров/счетчиков с разрядностью 8 или 16 бит, которые могут работать и как таймеры от внутреннего источника тактовой частоты, и как счетчики внешних событий.
Их можно использовать для точного формирования временных интервалов, подсчета импульсов на выводах микроконтроллера, формирования последовательности импульсов, тактирования приемопередатчика последовательного канала связи. В режиме ШИМ (PWM) таймер/счетчик может представлять собой широтно-импульсный модулятор и используется для генерирования сигнала с программируемыми частотой и скважностью. Таймеры/счетчики способны вырабатывать запросы прерываний, переключая процессор на их обслуживание по событиям и освобождая его от необходимости периодического опроса состояния таймеров. Поскольку основное применение микроконтроллеры находят в системах реального времени, таймеры/счетчики являются одним из наиболее важных элементов.
Сторожевой таймер (WatchDog Timer) предназначен для предотвращения катастрофических последствий от случайных сбоев программы. Он имеет свой собственный RC-генератор, работающий на частоте 1 МГц. Как и для основного внутреннего RC-генератора, значение 1 МГц является приближенным и зависит прежде всего от величины напряжения питания микроконтроллера и от температуры.
Идея использования стоpожевого таймеpа предельно проста и состоит в pегуляpном его сбpасывании под упpавлением пpогpаммы или внешнего воздействия до того, как закончится его выдеpжка вpемени и не пpоизойдет сбpос пpоцессоpа. Если пpогpамма pаботает ноpмально, то команда сбpоса стоpожевого таймеpа должна pегуляpно выполняться, пpедохpаняя поцессоp от сбpоса. Если же микpоконтроллер случайно вышел за пpеделы пpогpаммы (напpимеp, от сильной помехи по цепи питания) либо зациклился на каком-либо участке пpогpаммы, команда сбpоса стоpожевого таймеpа скоpее всего не будет выполнена в течение достаточного вpемени и пpоизойдет полный сбpос пpоцессоpа, инициализиpующий все pегистpы и пpиводящий систему в pабочее состояние.
Аналоговый компаратор (Analog Comparator) сравнивает напряжения на двух выводах (пинах) микроконтроллера. Результатом сравнения будет логическое значение, которое может быть прочитано из программы.
Выход аналогового компаратора можно включить на прерывание от аналогового компаратора. Пользователь может установить срабатывание прерывания по нарастающему или спадающему фронту или по переключению.
Аналого-цифровой преобразователь (АЦП) служит для получения числового значения напряжения, поданного на его вход. Этот результат сохраняется в регистре данных АЦП. Какой из выводов (пинов) микроконтроллера будет являться входом АЦП, определяется числом, занесенным в соответствующий регистр.
Универсальный асинхронный или универсальный синхронно/асинхронный приемопередатчик (Universal Synchronous/ Asynchronous Receiver and Transmitter — UART или USART) — удобный и простой последовательный интерфейс для организации информационного канала обмена микроконтроллера с внешним миром. Способен работать в дуплексном режиме (одновременная передача и прием данных). Он поддерживает протокол стандарта RS-232, что обеспечивает возможность организации связи с персональным компьютером.
Последовательный периферийный трехпроводный интерфейс SPI (Serial Peripheral Interface) предназначен для организации обмена данными между двумя устройствами. С его помощью может осуществляться обмен данными между микроконтроллером и различными устройствами, такими, как цифровые потенциометры, ЦАП/АЦП, FLASH-ПЗУ и др. С помощью этого интерфейса удобно производить обмен данными между несколькими микроконтроллерами AVR. Кроме того, через интерфейс SPI может осуществляться программирование микроконтроллера.
Двухпроводной последовательный интерфейс TWI (Two-wire Serial Interface) является полным аналогом базовой версии интерфейса I2C (двухпроводная двунаправленная шина) фирмы Philips. Этот интерфейс позволяет объединить вместе до 128 различных устройств с помощью двунаправленной шины, состоящей из линии тактового сигнала (SCL) и линии данных (SDA).
Тактовый генератор вырабатывает импульсы для синхронизации работы всех узлов микроконтроллера. Внутренний тактовый генератор AVR может запускаться от нескольких источников опорной частоты (внешний генератор, внешний кварцевый резонатор, внутренняя или внешняя RC-цепочка). Минимальная допустимая частота ничем не ограничена (вплоть до пошагового режима). Максимальная рабочая частота определяется конкретным типом микроконтроллера и указывается Atmel в его характеристиках, хотя практически любой AVR-микроконтроллер с заявленной рабочей частотой, например, в 10 МГц при комнатной температуре легко может быть «разогнан» до 12 МГц и выше.
Система реального времени (RTC) реализована во всех микроконтроллерах Mega. Таймер/счетчик RTC имеет отдельный предделитель, который может быть программным способом подключен или к источнику основной тактовой частоты, или к дополнительному асинхронному источнику опорной частоты (кварцевый резонатор или внешний синхросигнал). Для этой цели зарезервированы два вывода микросхемы. Внутренний осциллятор оптимизирован для работы с внешним «часовым» кварцевым резонатором 32,768 кГц.
AVR функционируют при напряжениях питания от 1,8 до 6,0 Вольт. Ток потребления в активном режиме зависит от величины напряжения питания и частоты, на которой работает микроконтроллер, и составляет менее 1 мА для 500 кГц,5 … 6 мА для 5 МГц и 8 … 9 мА для частоты 12 МГц.
AVR могут быть переведены программным путем в один из трех режимов пониженного энергопотребления.
Режим холостого хода (IDLE). Прекращает работу только процессор и фиксируется содержимое памяти данных, а внутренний генератор синхросигналов, таймеры, система прерываний и сторожевой таймер продолжают функционировать. Ток потребления не превышает 2,5 мА на частоте 12 МГц.
Стоповый режим (POWER DOWN). Сохраняется содержимое регистрового файла, но останавливается внутренний генератор синхросигналов, и, следовательно, останавливаются все функции, пока не поступит сигнал внешнего прерывания или аппаратного сброса. При включенном сторожевом таймере ток потребления в этом режиме составляет около 80 мкА, а при выключенном — менее 1 мкА. (Все приведенные значения справедливы для напряжения питания 5 В).
Экономичный режим (POWER SAVE). Продолжает работать только генератор таймера, что обеспечивает сохранность временной базы. Все остальные функции отключены.
Сброс при снижении напряжения питания (Brown-Out Detection) отслеживает напряжение источника питания. Если схема включена, то при снижении питания ниже некоторого значения она переводит микроконтроллер в состояние сброса. Когда напряжение питания вновь увеличится до порогового значения, запускается таймер задержки сброса. После формирования задержки внутренний сигнал сброса снимается и происходит запуск микроконтроллера.
В настоящее время в серийном производстве у Atmel находятся семейства AVR Тiny и Mega, также все еще можно встретить в продаже чипы семейства Classic.
Classic AVR — это классика AVR, что следует и из их названия. Постепенно заменяются микроконтроллерами семейств Tiny и Mega.
Tiny AVR — недорогие микроконтроллеры, чаще в восьмивыводном исполнении. Используются в системах, где не требуются возможности Mega AVR.
Mega AVR — мощные микроконтроллеры, включающие хороший набор периферии. Это семейство имеет самое большое разнообразие моделей для выбора.
Статьи к прочтению:
Микроконтроллеры ATMEL — AT90CAN128-16MU
Похожие статьи:
Обзор прерыванийmegaAVR® — Справка разработчика
Семейство megaAVR® предоставляет несколько различных источников прерываний, все из которых маскируются и делятся на три категории:
- Внутренние периферийные прерывания
- Связано с таймерами, USART, SPI, периферийными устройствами АЦП
- Прерывания внешних контактов
- Связано с выводами внешнего прерывания INT0-INT7
- Прерывания смены контактов
- Связано с внешними прерываниями PCINT0-PCINT2, возникающими при изменении вывода порта
Периферийным устройствам назначаются отдельные битов разрешения прерывания в их соответствующем регистре маски прерывания , который должен быть записан как логическая единица вместе с I-битом глобального разрешения прерывания в регистре состояния , чтобы разрешить прерывать.
Каждый источник сброса и прерывания имеет отдельный программный вектор в области памяти программ . Самые низкие адреса в области памяти программ по умолчанию определены как векторы сброса и прерывания, как показано:
Vector Relocation
Пользователь может переместить вектор RESET, а также начальную позицию векторов прерывания в Boot Flash Section области памяти программ, запрограммировав бит предохранителя BOOTRST на «0» и установив бит IVSEL микроконтроллера. Регистр конфигурации ( MCUCR ) на «1».Возможное размещение вектора RESET и прерывания показано здесь:BOOTRST | IVSEL | Сбросить адрес | Начальный адрес вектора прерывания. |
---|---|---|---|
1 | 0 | 0x0000 | 0x0002 |
1 | 1 | 0x0000 | Адрес сброса загрузки + 0x0002 |
0 | 0 | Адрес сброса загрузки | 0x0002 |
0 | 1 | Адрес сброса загрузки | Адрес сброса загрузки + 0x0002 |
Адрес сброса загрузки устанавливается битами предохранителя BOOTSZ0 / BOOTSZ1, как показано здесь для ATmega328PB:
Чтобы избежать непреднамеренного изменения таблиц векторов прерываний, необходимо выполнить специальную процедуру записи для изменения бита IVSEL:
- Запишите бит разрешения изменения вектора прерывания (IVCE) в единицу.
- В течение четырех циклов запишите желаемое значение в IVSEL, записывая ноль в IVCE.
Вот пример кода, показывающий, как изменить бит IVSEL и переместить векторы прерывания:
Каждый вектор имеет заранее определенный уровень приоритета: младший адрес высший является уровнем приоритета. СБРОС имеет наивысший приоритет, затем идет INT0 — запрос внешнего прерывания 0. На следующей диаграмме показан частичный список векторов для микроконтроллера ATmega328PB:
При возникновении прерывания I-бит разрешения глобального прерывания сбрасывается, и все прерывания блокируются.Бит I устанавливается автоматически при выполнении инструкции возврата из прерывания — RETI.
Программное обеспечение пользователя может записывать логическую единицу в I-бит, чтобы разрешить вложенных прерываний . Все разрешенные прерывания могут затем прервать текущую программу обработки прерываний.
В основном есть два типа прерываний:
Постоянные прерывания
Этот тип прерывания будет срабатывать, пока присутствует условие прерывания. Эти прерывания не обязательно имеют флаги прерывания.
Пример: прерывание завершения приема USART
USART содержит флаг завершения приема (RXC), который устанавливается, если в приемном буфере есть непрочитанные данные. Когда в UCSRnB задано разрешение прерывания при завершении приема (RXCIE), прерывание при завершении приема USART будет выполняться, пока установлен флаг RXC (при условии, что глобальные прерывания разрешены). Когда используется прием данных, управляемый прерыванием, процедура завершения приема должна прочитать полученные данные из UDR, чтобы сбросить флаг RXC, в противном случае после завершения процедуры прерывания произойдет новое прерывание.
Непостоянные прерывания
Этот тип прерывания запускается событием, которое устанавливает флаг прерывания . Для этих прерываний программный счетчик направляется на фактический вектор прерывания, чтобы выполнить процедуру обработки прерывания, а аппаратное обеспечение сбрасывает соответствующий флаг прерывания . Флаги прерывания также могут быть очищены путем записи логической единицы в позицию (позиции) битов флага, которые необходимо очистить. Если условие прерывания возникает, когда соответствующий бит разрешения прерывания сброшен, флаг прерывания будет установлен и запомнен до тех пор, пока прерывание не будет разрешено или флаг не будет сброшен программно.Точно так же, если возникает одно или несколько условий прерывания, когда бит разрешения глобального прерывания сброшен, соответствующий флаг (флаги) прерывания будет установлен и запомнен до тех пор, пока не будет установлен бит разрешения глобального прерывания, а затем будет выполняться в порядке приоритета.
Пример: Прерывание переполнения таймера / счетчика 0
Бит 0 регистра флага прерывания от таймера 0 (TIFR0) содержит флаг прерывания TOV0. Этот флаг устанавливается, когда происходит переполнение в Timer / Counter0. TOV0 сбрасывается аппаратно при выполнении соответствующего вектора обработки прерывания .В качестве альтернативы, TOV0 очищается записью логической единицы во флаг. Когда установлен бит SREG I, TOIE0 (разрешение прерывания переполнения таймера / счетчика 0) и TOV0, выполняется прерывание переполнения таймера / счетчика 0.
ATMEGA329P-20AU | 1972094 | MCU-Application Specific 8BIT, MEGAAVR, 20MHz, 2 KB RAM / 32 KB Program, 2.7V-5.5Vin, TQFP-64 МИКРОЧИП | Каждый | Запрещенный товар Этот товар был ограничен для покупки администратором вашей компании. Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество ДобавлятьМин .: 1 Mult: 1 | Семейство AVR ATmega Микроконтроллеры серии ATmega329 | megaAVR | 8 бит | 32 КБ | 2 КБ | 20 МГц | 54 ввода / вывода | TQFP | 64 контакта | I2C, SPI, UART | ЖК-контроллер | 2.7В | 5,5 В | AVR ATmega | ATmega329 | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATMEGA32U2-AU | 1748524 | MCU-Application Specific 8 bit, AVR MEGA, 16 MHz, 1 KB RAM / 32 KB Program, 2.7V-5.5Vin, TQFP-32 МИКРОЧИП | Каждый | Запрещенный товар Этот товар был ограничен для покупки администратором вашей компании. Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество ДобавлятьМин .: 1 Mult: 1 | Семейство AVR ATmega Микроконтроллеры серии ATmega32 | megaAVR | 8 бит | 32 КБ | 1 КБ | 16 МГц | 22 входа / выхода | TQFP | 32 контакта | I2C, SPI, UART, USART | Микроконтроллер USB | 2.7В | 5,5 В | AVR ATmega | ATmega32 | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATMEGA16U4-AU | 1748521 | MCU, 8 бит, MEGAAVR, 16 МГц, TQFP-44 МИКРОЧИП | Каждый | Запрещенный товар Этот товар был ограничен для покупки администратором вашей компании. Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество ДобавлятьМин .: 1 Mult: 1 | Семейство AVR ATmega Микроконтроллеры серии ATmega16 | megaAVR | 8 бит | 16 КБ | 2.5 КБ | 16 МГц | 26 входов / выходов | TQFP | 44 контакта | I2C, SPI, UART, USART | Микроконтроллер USB | 2,7 В | 5,5 В | AVR ATmega | ATmega16 | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATMEGA8U2-AU | 1748535 | MCU-Application Specific 8 бит, AVR MEGA, 16 МГц, 512 байт ОЗУ / 8 КБ для программы, 2.7V-5.5Vin, TQFP-32 МИКРОЧИП | Каждый | Запрещенный товар Этот товар был ограничен для покупки администратором вашей компании. Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество ДобавлятьМин .: 1 Mult: 1 | Семейство AVR ATmega Микроконтроллеры серии ATmega8 | megaAVR | 8 бит | 8 КБ | 512 байт | 16 МГц | 22 входа / выхода | TQFP | 32 контакта | I2C, SPI, UART, USART | Микроконтроллер USB | 2.7В | 5,5 В | AVR ATmega | ATmega8 | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATMEGA32U4-AU | 1748525 | 16 МГц 8-битный микроконтроллер megaAVR в корпусе TQFP-44 МИКРОЧИП | Каждый | Запрещенный товар Этот товар был ограничен для покупки администратором вашей компании. Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество ДобавлятьМин .: 1 Mult: 1 | Семейство AVR ATmega Микроконтроллеры серии ATmega32 | megaAVR | 8 бит | 32 КБ | 2.5 КБ | 16 МГц | 26 входов / выходов | TQFP | 44 контакта | I2C, SPI, UART, USART | Микроконтроллер USB | 2,7 В | 5,5 В | AVR ATmega | ATmega32 | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATMEGA32U4RC-AU. | 26 | МИКРОКОНТРОЛЛЕР MCU, 8 БИТ, MEGAAVR, 16 МГц, TQFP-44 МИКРОЧИП | Каждый | Запрещенный товар Этот товар был ограничен для покупки администратором вашей компании. Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество ДобавлятьМин .: 1 Mult: 1 | Семейство AVR ATmega Микроконтроллеры серии ATmega32 | megaAVR | 8 бит | 32 КБ | 2.5 КБ | 16 МГц | 26 входов / выходов | TQFP | 44 контакта | I2C, SPI, UART, USB | Микроконтроллер USB | 2,7 В | 5,5 В | AVR ATmega | ATmega32 | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATMEGA649P-AU | 1972122 | MCU, 8 бит, MEGAAVR, 16 МГц, TQFP-64 МИКРОЧИП | Каждый | Запрещенный товар Этот товар был ограничен для покупки администратором вашей компании. Минимальный заказ от 1 шт. Только кратное 1 Пожалуйста, введите действительное количество ДобавлятьМин .: 1 Mult: 1 | Семейство AVR ATmega Микроконтроллеры серии ATmega329 | megaAVR | 8 бит | 64 КБ | 4 КБ | 16 МГц | 54 ввода / вывода | TQFP | 64 контакта | I2C, SPI, UART | ЖК-контроллер | 1.8В | 5,5 В | AVR ATmega | ATmega329 | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATMEGA16U2-AU | 1841607 | MCU-Application Specific 8 bit, ATmega, 16 MHz, 512 Byte RAM / 16 KB Program, 2.7V-5.5Vin, TQFP-32 МИКРОЧИП | Каждый | Запрещенный товар Этот товар был ограничен для покупки администратором вашей компании. | Семейство AVR ATmega Микроконтроллеры серии ATmega16 | megaAVR | 8 бит | 16 КБ | 512 байт | 16 МГц | 22 входа / выхода | TQFP | 32 контакта | QSPI, UART, USB | Микроконтроллер USB | 2.7В | 5,5 В | AVR ATmega | ATmega16 | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATMEGA169PA-AU | 1972074 | Микроконтроллер для конкретного приложения, ЖК-контроллер, 8 бит, 16 КБ, 16 МГц, от 1,8 В до 5.5В, TQFP-64 МИКРОЧИП | Каждый | Запрещенный товар Этот товар был ограничен для покупки администратором вашей компании. | Семейство AVR ATmega Микроконтроллеры серии ATmega16X | megaAVR | 8 бит | 16 КБ | 1 КБ | 16 МГц | 54 ввода / вывода | TQFP | 64 контакта | Последовательный, SPI, UART | ЖК-контроллер | 1.8В | 5,5 В | AVR ATmega | ATmega16X | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATMEGA8U2-MU | 1748536 | MCU-Application Specific 8 бит, AVR MEGA, 16 МГц, 512 байт ОЗУ / 8 КБ для программы, 2.7V-5.5Vin, QFN-32 МИКРОЧИП | Каждый | Запрещенный товар Этот товар был ограничен для покупки администратором вашей компании. | Семейство AVR ATmega Микроконтроллеры серии ATmega8 | megaAVR | 8 бит | 8 КБ | 512 байт | 16 МГц | 22 входа / выхода | QFN | 32 контакта | I2C, SPI, UART, USART | Микроконтроллер USB | 2.7В | 5,5 В | AVR ATmega | ATmega8 | — |
Все, что вам нужно знать- (Часть 1/46)
Микроконтроллер: Микроконтроллер можно назвать однокристальным компьютером, который включает в себя ряд периферийных устройств, таких как RAM, EEPROM, таймеры и т. Д., Необходимых для выполнения некоторой предопределенной задачи.
Фиг.1: Блок-схема, показывающая архитектуру микроконтроллера AVR
]]> Означает ли это, что микроконтроллер — это другое название компьютера…? Ответ — нет! Компьютер, с одной стороны, предназначен для выполнения всех задач общего назначения на одной машине, например, вы можете использовать компьютер для запуска программного обеспечения для выполнения вычислений, или вы можете использовать компьютер для хранения какого-либо мультимедийного файла или для доступа в Интернет через браузер, тогда как микроконтроллеры предназначены для выполнения только определенных задач, например, e.g., автоматическое выключение кондиционера, когда температура в помещении упадет до определенного предела, и повторное включение, когда температура поднимется выше определенного предела. Существует ряд популярных семейств микроконтроллеров, которые используются в различных приложениях в зависимости от их возможностей и возможностей для выполнения желаемой задачи, наиболее распространенными из них являются микроконтроллеры 8051, , AVR, и PIC. В этой статье мы познакомим вас с микроконтроллерами AVR семейства .История АРН
AVR был разработан в 1996 году корпорацией Atmel. Архитектура AVR была разработана Альф-Эгилем Богеном и Вегардом Волланом. AVR получил свое название от своих разработчиков и означает A lf-Egil Bogen V egard Wollan R ISC микроконтроллер , также известный как A dvanced V irtual R . AT90S8515 был первым микроконтроллером, который был основан на архитектуре AVR , однако первым микроконтроллером, появившимся на коммерческом рынке, стал AT90S1200 в 1997 году.
Микроконтроллеры AVR доступны в трех категориях:
1. TinyAVR — Меньше памяти, небольшой размер, подходит только для более простых приложений
2. MegaAVR — это самые популярные из них, имеющие хороший объем памяти (до 256 КБ), большее количество встроенных периферийных устройств и подходящие для умеренных и сложных приложений.
3. XmegaAVR — Используется в коммерческих целях для сложных приложений, требующих большой памяти программ и высокой скорости.
В следующей таблице сравниваются микроконтроллеры упомянутой выше серии AVR:
Название серии | Штыри | Флэш-память | Специальная функция |
TinyAVR | 6-32 | 0,5-8 КБ | Маленький |
MegaAVR | 28-100 | 4-256 КБ | Расширенная периферия |
XmegaAVR | 44-100 | 16-384КБ | DMA, система событий включена |
Важность AVR
Что особенного в АРН?
Они быстрые: Микроконтроллер AVR выполняет большинство инструкций за один цикл выполнения.AVR примерно в 4 раза быстрее, чем PIC, они потребляют меньше энергии и могут работать в различных режимах энергосбережения. Давайте сравним три наиболее часто используемых семейства микроконтроллеров.
8051 | ПИК | АВР | |
СКОРОСТЬ | Медленная | Умеренная | Быстро |
ПАМЯТЬ | Малый | Большой | Большой |
АРХИТЕКТУРА | CISC | RISC | RISC |
АЦП | Отсутствует | Встроенный | Встроенный |
Таймеры | Встроенный | Встроенный | Встроенный |
каналов ШИМ | Отсутствует | Встроенный | Встроенный |
Давайте посмотрим, что все это значит. Что такое 8 бит? Это означает, что микроконтроллер может передавать и принимать 8-битные данные.Доступные регистры ввода / вывода 8-битные. Контроллеры семейства AVR имеют архитектуру на основе регистров, что означает, что оба операнда для операции хранятся в регистре, а результат операции также сохраняется в регистре. На следующем рисунке показан простой пример выполнения операции ИЛИ между двумя входными регистрами и сохранения значения в выходном регистре.
Рис. 2: Блок-схема, показывающая простой пример выполнения операции ИЛИ между двумя входными регистрами и сохранения значения в выходном регистре
]]>CPU принимает значения из двух входных регистров INPUT-1 и INPUT-2, выполняет логическую операцию и сохраняет значение в регистре OUTPUT.Все это происходит за 1 цикл выполнения.
В нашем путешествии с AVR мы будем работать над микроконтроллером Atmega16, который представляет собой 40-контактную ИС и принадлежит к категории megaAVR семейства AVR. Некоторые из особенностей Atmega16:
· 16 КБ флэш-памяти
· 1 КБ SRAM
· 512 байт EEPROM
· Доступен в 40-контактном корпусе DIP
· 8-канальный 10-разрядный АЦП
· Два 8-битных таймера / счетчика
· Один 16-битный таймер / счетчик
· 4 канала ШИМ
· Системный программист (ISP)
· Последовательный USART
· Интерфейс SPI
· Цифро-аналоговый компаратор.
Архитектура АРН
Микроконтроллеры AVR основаны на усовершенствованной архитектуре RISC и состоят из 32 x 8-битных рабочих регистров общего назначения. В течение одного тактового цикла AVR может принимать входные данные из двух регистров общего назначения и помещать их в ALU для выполнения запрошенной операции и передавать результат обратно в произвольный регистр. ALU может выполнять как арифметические, так и логические операции
по входам из регистра или между регистром и константой.Операции с одним регистром, такие как взятие дополнения, также могут выполняться в ALU. Мы видим, что в AVR нет регистра, как аккумулятора, как в микроконтроллерах семейства 8051; операции могут выполняться между любыми регистрами и могут храниться в любом из них.
AVR следует формату Гарвардской архитектуры, в котором процессор оснащен отдельной памятью и шинами для информации о Программе и данных. Здесь, когда инструкция выполняется, следующая инструкция предварительно выбирается из памяти программ.
Рис. 3: Блок-схема архитектуры памяти в AVR
]]>Поскольку AVR может выполнять выполнение за один цикл, это означает, что AVR может выполнять 1 миллион инструкций в секунду, если частота цикла составляет 1 МГц. Чем выше рабочая частота контроллера, тем выше будет скорость его обработки. Нам необходимо оптимизировать энергопотребление со скоростью обработки и, следовательно, необходимо соответствующим образом выбрать рабочую частоту.
Существует две разновидности микроконтроллера Atmega16:
1. Atmega16 : — Диапазон рабочих частот 0 — 16 МГц.
2. Atmega16L : — Диапазон рабочих частот 0-8 МГц.
Если мы используем кристалл 8 МГц = 8 x 10 6 Гц = 8 миллионов циклов, тогда AVR может выполнить 8 миллионов инструкций.
Соглашение об именах.!
AT обозначает производителя Atmel, Mega означает, что микроконтроллер принадлежит к категории MegaAVR, 16 обозначает память контроллера, которая составляет 16 КБ.
Рис. 4: Соглашение об именах микроконтроллера AVR
]]> Архитектурная схема: Atmega16Следующие пункты объясняют строительные блоки архитектуры Atmega16 :
· портов ввода-вывода : Atmega16 имеет четыре (PORTA, PORTB, PORTC и PORTD) 8-битных портов ввода-вывода.
· Внутренний калиброванный генератор : Atmega16 оснащена внутренним генератором для управления часами.По умолчанию Atmega16 настроен на работу с внутренним откалиброванным генератором с частотой 1 МГц. Максимальная частота внутреннего генератора 8 МГц. В качестве альтернативы ATmega16 может работать с использованием внешнего кварцевого генератора с максимальной частотой 16 МГц. В этом случае вам нужно изменить биты предохранителей. (Биты-предохранители будут объяснены в отдельном руководстве).
· Рис. 5: Блок-схема , поясняющая архитектуру AVR
]]>
Интерфейс АЦП : Atmega16 оснащен 8-канальным АЦП ( аналого-цифровой преобразователь ) с разрешением 10 бит.АЦП считывает аналоговый вход, например, вход датчика, и преобразует его в цифровую информацию, понятную микроконтроллеру.· Таймеры / счетчики : Atmega16 состоит из двух 8-битных и одного 16-битного таймера / счетчика. Таймеры полезны для создания точных действий, например, для создания временных задержек между двумя операциями.
· Сторожевой таймер : Сторожевой таймер присутствует с внутренним генератором.Сторожевой таймер непрерывно отслеживает и сбрасывает контроллер, если код застревает при выполнении любого действия дольше определенного интервала времени. · прерываний : Atmega16 состоит из 21 источника прерываний, четыре из которых являются внешними. Остальные — это внутренние прерывания, которые поддерживают периферийные устройства, такие как USART, ADC, таймеры и т. Д. · USART : Универсальный синхронный и асинхронный интерфейс приемника и передатчика доступен для взаимодействия с внешним устройством, способным к последовательной связи (побитовая передача данных).·
Архитектура продолжение
Регистры общего назначения : Atmega16 оснащена 32 регистрами общего назначения, которые напрямую связаны с арифметическим логическим блоком (ALU) процессора.
· Память : Atmega16 состоит из трех разных разделов памяти:
1. Flash EEPROM : Flash EEPROM или простая флэш-память используется для хранения программы, выгруженной или записанной пользователем на микроконтроллер.Его можно легко стереть электрически как единое целое. Флэш-память энергонезависима, т. Е. Сохраняет программу даже при отключении питания. Atmega16 доступен с 16 КБ встроенной программируемой флэш-памяти EEPROM.
2. Байт-адресуемая EEPROM : Это также энергонезависимая память, используемая для хранения данных, таких как значения определенных переменных. Atmega16 имеет 512 байт EEPROM, эта память может быть полезна для хранения кода блокировки, если мы разрабатываем такое приложение, как электронный дверной замок.
3. SRAM : Статическая память с произвольным доступом, это энергозависимая память микроконтроллера, т.е. данные теряются при отключении питания. Atmega16 имеет 1 КБ внутренней SRAM. Небольшая часть SRAM предназначена для регистров общего назначения, используемых ЦП, а часть — для периферийных подсистем микроконтроллера.
· ISP : Семейство контроллеров AVR имеет программируемую в системе флэш-память , которая может быть запрограммирована без удаления ИС из схемы, ISP позволяет перепрограммировать контроллер, пока он находится в схеме приложения.
· SPI : Последовательный периферийный интерфейс , порт SPI используется для последовательной связи между двумя устройствами на общем источнике синхронизации. Скорость передачи данных SPI больше, чем у USART.
· TWI : Двухпроводной интерфейс (TWI) может использоваться для настройки сети устройств, многие устройства могут быть подключены через интерфейс TWI, образуя сеть, устройства могут одновременно передавать и принимать и иметь свои собственные уникальный адрес.
· ЦАП : Atmega16 также оснащена интерфейсом цифро-аналогового преобразователя (ЦАП), который может использоваться для обратного действия, выполняемого АЦП. ЦАП можно использовать, когда необходимо преобразовать цифровой сигнал в аналоговый.
Семейство MegaAVR
Различные микроконтроллеры серии MegaAVR:
ATmega8 и Atmega32 — это другие контроллеры серии MegaAVR.По архитектуре они очень похожи на ATmega16. Контроллеры MegaAVR с низким энергопотреблением также доступны на рынках. В следующей таблице показано сравнение между различными членами семейства MegaAVR:Наименование детали | ПЗУ | RAM | EEPROM | Контакты ввода / вывода | Таймер | Прерывания | Эксплуатация Напряжение | Рабочая частота | Упаковка |
ATmega8 | 8 КБ | 1 КБ | 512B | 23 | 3 | 19 | 4.5-5,5 В | 0-16 МГц | 28 |
ATmega8L | 8 КБ | 1 КБ | 512B | 23 | 3 | 19 | 2,7-5,5 В | 0-8 МГц | 28 |
ATmega16 | 16 КБ | 1 КБ | 512B | 32 | 3 | 21 | 4.5-5,5 В | 0-16 МГц | 40 |
ATmega16L | 16 КБ | 1 КБ | 512B | 32 | 3 | 21 | 2,7-5,5 В | 0-8 МГц | 40 |
ATmega32 | 32 КБ | 2 КБ | 1 КБ | 32 | 3 | 21 | 4.5-5,5 В | 0-16 МГц | 40 |
ATmega32L | 32 КБ | 2 КБ | 1 КБ | 32 | 3 | 21 | 2,7-5,5 В | 0-8 МГц | 40 |
В рубрике: Последние статьи
С тегами: atmega16, avr, mega avr, микроконтроллер
ВИДЫ МИКРОКОНТРОЛЛЕРОВ AVR И ИХ ПРИМЕНЕНИЯ | by EmbeddedSchool Elysium
Микроконтроллер AVR
В 1996 году компания Atmel создала микроконтроллер AVR.Корпорация Atmel была основана в 1984 году для разработки и производства полупроводников. Микроконтроллер — это устройство управления, интегрированное с микропроцессором, содержащее память, периферийные устройства ввода / вывода и т. Д. Курсы по микроконтроллерам AVR доступны для расширения вашей карьеры.
Три категории микроконтроллера AVR
TinyAVR : Меньший размер и меньше памяти.
MegaAVR : Популярные, память до 256 Кб, несколько количеств встроенных периферийных устройств, сложное приложение.
XmegaAVR : большая память, высокая скорость и сложные приложения.
Основные характеристики
• Высокая производительность
• Низкое энергопотребление
• Большое адресное пространство
• Эффективность
• Низкая стоимость
• Архитектура RISC, такая как микроконтроллер ARM
Типы микроконтроллера AVR 000 Микроконтроллер Atmega8 AVR
Он состоит из 28 контактов, 1 Кбайт внутренней SRAM, 8 Кбайт флеш-памяти, поддерживает два внешних прерывания.Он имеет двухпроводной интерфейс, внешний вывод для подключения двух напряжений к двум входам компаратора.
Использует : В основном используется для создания электрических и электронных проектов.
Микроконтроллер Atmega16 AVR
Состоит из 40 контактов. Он имеет тип флэш-памяти, скорость 16 MIPS, 1 КБ ОЗУ, шесть режимов энергосбережения.
Использует : Он работает в мобильной встроенной системе, удовлетворяет требованиям встроенной системы.
Микроконтроллер Atmega32 AVR
Он состоит из 44 контактов с 32-битным объемом памяти.Он имеет тип флэш-памяти, скорость 16 MIPS, 2048 SRAM, диапазон рабочего напряжения от 2,7 до 5,5.
Использует : Он используется в системе без вмешательства человека и работает в мобильной встроенной системе.
Atmega328 AVR Микроконтроллер
RISC-архитектура содержит флэш-память 32 КБ, 2 КБ SRAM, рабочее напряжение от 1,8 до 5,5, 1 КБ EEROM (электрически стираемая постоянная память).
Использует : широко используется в Arduino, робототехнике, системах контроля и управления питанием.
В настоящее время микроконтроллеры являются основным компонентом встраиваемых систем.
ATmega128 / A | АТМЕГА128 | 16 МГц | 128 КБ | КБ |
ATmega1280 | АТМЕГА1280 | 16 МГц | 128 КБ | 8 КБ |
ATmega1281 | АТМЕГА 1281 | 16 МГц | 128 КБ | 8 КБ |
ATmega1284 | ATMEGA1284 | 16 МГц | 128 КБ | 16 КБ |
ATmega1284P | ATMEGA1284P | 16 МГц | 128 КБ | 16 КБ |
ATmega16 | АТМЕГА16 | 16 МГц | 16 КБ | 1 КБ |
ATmega164P / PA | ATMEGA164P | 16 МГц | 16 КБ | 1 КБ |
ATmega168 / A | АТМЕГА168 | 16 МГц | 16 КБ | 1 КБ |
ATmega168P / PA | ATMEGA168P | 16 МГц | 16 КБ | 1 КБ |
ATmega2560 | ATMEGA2560 | 16 МГц | 256 КБ | 8 КБ |
ATmega324A | ATMEGA324A | 16 МГц | 32 КБ | 2 КБ |
ATmega324P | ATMEGA324P | 16 МГц | 32 КБ | 2 КБ |
ATmega324PA | ATMEGA324PA | 16 МГц | 32 КБ | 2 КБ |
ATmega328 | ATMEGA328 | 16 МГц | 32 КБ | 2 КБ |
ATmega328P / PA | ATMEGA328P | 16 МГц | 32 КБ | 2 КБ |
ATmega48 / A | АТМЕГА48 | 16 МГц | КБ | 512B |
ATmega48P / PA | ATMEGA48P | 16 МГц | КБ | 512B |
ATmega644P / PA | ATMEGA644P | 16 МГц | 64 КБ | КБ |
ATmega8 / A | ATMEGA8 | 16 МГц | 8 КБ | 1 КБ |
ATmega88 / A | ATMEGA88 | 16 МГц | 8 КБ | 1 КБ |
ATmega88P / PA | ATMEGA88P | 16 МГц | 8 КБ | 1 КБ |
ATtiny13 | ATTINY13 | 9 МГц | 1 КБ | 64Б |
ATtiny13A | ATTINY13A | 9 МГц | 1 КБ | 64Б |
Adafruit Bluefruit Micro | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
Adafruit Circuit Playground Classic | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
Adafruit Feather 328P | ATMEGA328P | 8 МГц | 31,50 КБ | 2 КБ |
Adafruit Feather 32u4 | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
Adafruit Flora | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
Adafruit Gemma | ATTINY85 | 8 МГц | 8 КБ | 512B |
Adafruit ItsyBitsy 3 В / 8 МГц | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
Adafruit ItsyBitsy 5 В / 16 МГц | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Адафрут Метро | ATMEGA328P | 16 МГц | 31,50 КБ | 2 КБ |
Adafruit Pro Trinket 3 В / 12 МГц (FTDI) | ATMEGA328P | 12 МГц | 28 КБ | 2 КБ |
Adafruit Pro Trinket 3 В / 12 МГц (USB) | ATMEGA328P | 12 МГц | 28 КБ | 2 КБ |
Adafruit Pro Trinket 5V / 16MHz (FTDI) | ATMEGA328P | 16 МГц | 28 КБ | 2 КБ |
Adafruit Pro Trinket 5 В / 16 МГц (USB) | ATMEGA328P | 16 МГц | 28 КБ | 2 КБ |
Брелок Adafruit 3 В / 8 МГц | ATTINY85 | 8 МГц | 8 КБ | 512B |
Adafruit Trinket 5V / 16MHz | ATTINY85 | 16 МГц | 8 КБ | 512B |
Алорий Хиндж | ATMEGA328P | 16 МГц | 31.50 КБ | 2 КБ |
Алорий Sno | ATMEGA328P | 16 МГц | 31,50 КБ | 2 КБ |
Алорий XLR8 | ATMEGA328P | 16 МГц | 31,50 КБ | 2 КБ |
Anarduino MiniWireless | ATMEGA328P | 16 МГц | 31.50 КБ | 2 КБ |
Arduboy | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Набор разработчика Arduboy | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Arduino BT ATmega168 | АТМЕГА168 | 16 МГц | 14 КБ | 1 КБ |
Arduino BT ATmega328 | ATMEGA328P | 16 МГц | 28 КБ | 2 КБ |
Arduino Duemilanove или Diecimila ATmega168 | АТМЕГА168 | 16 МГц | 14 КБ | 1 КБ |
Arduino Duemilanove или Diecimila ATmega328 | ATMEGA328P | 16 МГц | 30 КБ | 2 КБ |
Arduino Esplora | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Arduino Ethernet | ATMEGA328P | 16 МГц | 31,50 КБ | 2 КБ |
Arduino Fio | ATMEGA328P | 8 МГц | 30 КБ | 2 КБ |
Arduino Industrial 101 | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Ардуино Леонардо | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Arduino Леонардо ETH | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Arduino LilyPad ATmega168 | АТМЕГА168 | 8 МГц | 14 КБ | 1 КБ |
Arduino LilyPad ATmega328 | ATMEGA328P | 8 МГц | 30 КБ | 2 КБ |
Arduino LilyPad USB | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
Arduino Mega ADK | ATMEGA2560 | 16 МГц | 248 КБ | 8 КБ |
Arduino Mega или Mega 2560 ATmega1280 | АТМЕГА1280 | 16 МГц | 124 КБ | 8 КБ |
Arduino Mega или Mega 2560 ATmega2560 (Mega 2560) | ATMEGA2560 | 16 МГц | 248 КБ | 8 КБ |
Arduino Micro | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Arduino Mini ATmega168 | АТМЕГА168 | 16 МГц | 14 КБ | 1 КБ |
Arduino Mini ATmega328 | ATMEGA328P | 16 МГц | 28 КБ | 2 КБ |
Arduino NG или более ранняя версия ATmega168 | АТМЕГА168 | 16 МГц | 14 КБ | 1 КБ |
Arduino NG или более ранняя версия ATmega8 | ATMEGA8 | 16 МГц | 7 КБ | 1 КБ |
Arduino Nano ATmega168 | АТМЕГА168 | 16 МГц | 14 КБ | 1 КБ |
Arduino Nano ATmega328 | ATMEGA328P | 16 МГц | 30 КБ | 2 КБ |
Arduino Nano ATmega328 (новый загрузчик) | ATMEGA328P | 16 МГц | 30 КБ | 2 КБ |
Arduino Pro или Pro Mini ATmega168 (3.3 В, 8 МГц) | АТМЕГА168 | 8 МГц | 14 КБ | 1 КБ |
Arduino Pro или Pro Mini ATmega168 (5 В, 16 МГц) | АТМЕГА168 | 16 МГц | 14 КБ | 1 КБ |
Arduino Pro или Pro Mini ATmega328 (3,3 В, 8 МГц) | ATMEGA328P | 8 МГц | 30 КБ | 2 КБ |
Arduino Pro или Pro Mini ATmega328 (5 В, 16 МГц) | ATMEGA328P | 16 МГц | 30 КБ | 2 КБ |
Система управления роботом Arduino | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Мотор-робот Arduino | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Arduino Uno | ATMEGA328P | 16 МГц | 31,50 КБ | 2 КБ |
Ардуино Юнь | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Arduino Yun Mini | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
BQ ZUM BT-328 | ATMEGA328P | 16 МГц | 28 КБ | 2 КБ |
BitWizard Raspduino | ATMEGA328P | 16 МГц | 30 КБ | 2 КБ |
Controllino Maxi | ATMEGA2560 | 16 МГц | 248 КБ | 8 КБ |
Controllino Maxi Automation | ATMEGA2560 | 16 МГц | 248 КБ | 8 КБ |
Controllino Mega | ATMEGA2560 | 16 МГц | 248 КБ | 8 КБ |
Controllino Mini | ATMEGA328P | 16 МГц | 31.50 КБ | 2 КБ |
Digispark USB | ATTINY85 | 16 МГц | 5,87 КБ | 512B |
Энгдуино 3 | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
EnviroDIY Mayfly | ATMEGA1284P | 8 МГц | 127 КБ | 16 КБ |
FYSETC F6 V1.3 | ATMEGA2560 | 16 МГц | 252 КБ | 8 КБ |
Общий ATtiny2313 | ATTINY2313 | 8 МГц | 2 КБ | 128B |
Общий ATtiny24 | ATTINY24 | 8 МГц | 2 КБ | 128B |
Общий ATtiny25 | ATTINY25 | 8 МГц | 2 КБ | 128B |
Общий ATtiny4313 | ATTINY4313 | 8 МГц | КБ | 256B |
Общий ATtiny44 | ATTINY44 | 8 МГц | КБ | 256B |
Общий ATtiny45 | ATTINY45 | 8 МГц | КБ | 256B |
Общий ATtiny84 | ATTINY84 | 8 МГц | 8 КБ | 512B |
Общий ATtiny85 | ATTINY85 | 8 МГц | 8 КБ | 512B |
LightBlue Bean | ATMEGA328P | 8 МГц | 31.50 КБ | 2 КБ |
LightBlue Bean + | ATMEGA328P | 16 МГц | 31,50 КБ | 2 КБ |
LightUp | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
Linino One | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
LinkIt Smart 7688 Duo | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
LoRa32u4II (868-915 МГц) | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
LowPowerLab MightyHat | ATMEGA328P | 16 МГц | 31 КБ | 2 КБ |
LowPowerLab Moteino | ATMEGA328P | 16 МГц | 31.50 КБ | 2 КБ |
LowPowerLab Moteino (8 МГц) | ATMEGA328P | 8 МГц | 31,50 КБ | 2 КБ |
LowPowerLab MoteinoMEGA | ATMEGA1284P | 16 МГц | 127 КБ | 16 КБ |
Ядро Microduino (Atmega168PA @ 16M, 5 В) | ATMEGA168P | 16 МГц | 15.50 КБ | 1 КБ |
Ядро Microduino (Atmega168PA @ 8M, 3,3 В) | ATMEGA168P | 8 МГц | 15.50 КБ | 1 КБ |
Ядро Microduino (Atmega328P @ 16M, 5 В) | ATMEGA328P | 16 МГц | 31,50 КБ | 2 КБ |
Ядро Microduino (Atmega328P @ 8M, 3.3 В) | ATMEGA328P | 8 МГц | 31,50 КБ | 2 КБ |
Microduino Core USB (ATmega32U4 @ 16M, 5 В) | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Microduino Core + (ATmega1284P @ 16M, 5 В) | ATMEGA1284P | 16 МГц | 127 КБ | 16 КБ |
Microduino Core + (ATmega1284P @ 8M, 3.3 В) | ATMEGA1284P | 8 МГц | 127 КБ | 16 КБ |
Microduino Core + (Atmega644PA @ 16M, 5 В) | ATMEGA644P | 16 МГц | 63 КБ | КБ |
Microduino Core + (Atmega644PA @ 8M, 3,3 В) | ATMEGA644P | 8 МГц | 63 КБ | КБ |
OpenEnergyMonitor emonPi | ATMEGA328P | 16 МГц | 30 КБ | 2 КБ |
Оригинальный Prusa i3 MK3 Multi Material 2.0 Обновление | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
PanStamp AVR | ATMEGA328P | 8 МГц | 31,50 КБ | 2 КБ |
Pololu A-Star 32U4 | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
Prusa RAMBo | ATMEGA2560 | 16 МГц | 252 КБ | 8 КБ |
Quirkbot | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
Смесь RedBearLab | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
RedBearLab Blend Micro 3,3 В / 16 МГц (разгон) | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
RedBearLab Blend Micro 3,3 В / 8 МГц | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
RepRap RAMBo | ATMEGA2560 | 16 МГц | 252 КБ | 8 КБ |
SODAQ GaLoRa | ATMEGA1284P | 8 МГц | 127 КБ | 16 КБ |
SODAQ Mbili | ATMEGA1284P | 8 МГц | 127 КБ | 16 КБ |
SODAQ Moja | ATMEGA328P | 8 МГц | 31.50 КБ | 2 КБ |
SODAQ Ndogo | ATMEGA1284P | 8 МГц | 127 КБ | 16 КБ |
SODAQ Тату | ATMEGA1284P | 8 МГц | 127 КБ | 16 КБ |
Sanguino ATmega1284p (16 МГц) | ATMEGA1284P | 16 МГц | 127 КБ | 16 КБ |
Sanguino ATmega1284p (8 МГц) | ATMEGA1284P | 8 МГц | 127 КБ | 16 КБ |
Sanguino ATmega644 или ATmega644A (16 МГц) | ATMEGA644 | 16 МГц | 63 КБ | КБ |
Sanguino ATmega644 или ATmega644A (8 МГц) | ATMEGA644 | 8 МГц | 63 КБ | КБ |
Sanguino ATmega644P или ATmega644PA (16 МГц) | ATMEGA644P | 16 МГц | 63 КБ | КБ |
Sanguino ATmega644P или ATmega644PA (8 МГц) | ATMEGA644P | 8 МГц | 63 КБ | КБ |
Зеедуино | ATMEGA328P | 16 МГц | 31.50 КБ | 2 КБ |
SparkFun ATmega128RFA1 Dev Board | ATMEGA128RFA1 | 16 МГц | 124 КБ | 16 КБ |
Цифровая песочница SparkFun | ATMEGA328P | 8 МГц | 31,50 КБ | 2 КБ |
SparkFun Fio V3 3.3 В / 8 МГц | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
SparkFun Макей Макей | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
SparkFun Mega Pro 3,3 В / 8 МГц | ATMEGA2560 | 8 МГц | 252 КБ | 8 КБ |
SparkFun Mega Pro 5 В / 16 МГц | ATMEGA2560 | 16 МГц | 248 КБ | 8 КБ |
SparkFun Mega Pro Mini 3.3В | ATMEGA2560 | 8 МГц | 252 КБ | 8 КБ |
SparkFun MicroView | ATMEGA328P | 16 МГц | 31,50 КБ | 2 КБ |
SparkFun Pro Micro 3,3 В / 8 МГц | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
SparkFun Pro Micro 5 В / 16 МГц | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
SparkFun Qduino Mini | ATMEGA32U4 | 8 МГц | 28 КБ | 2.50 КБ |
SparkFun RedBoard | ATMEGA328P | 16 МГц | 31.50 КБ | 2 КБ |
Последовательный 7-сегментный дисплей SparkFun | ATMEGA328P | 8 МГц | 31,50 КБ | 2 КБ |
SpellFoundry Sleepy Pi 2 | ATMEGA328P | 8 МГц | 30 КБ | 2 КБ |
Узел шепота Talk2 | ATMEGA328P | 16 МГц | 31.50 КБ | 2 КБ |
The Things Uno | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
TinyCircuits Процессорная плата TinyDuino | ATMEGA328P | 8 МГц | 30 КБ | 2 КБ |
TinyCircuits Мини-процессор TinyLily | ATMEGA328P | 8 МГц | 30 КБ | 2 КБ |
USB-накопитель | ATMEGA8 | 12 МГц | 8 КБ | 1 КБ |
Wicked Device WildFire V2 | ATMEGA1284P | 16 МГц | 120.00 КБ | 16 КБ |
Wicked Device WildFire V3 | ATMEGA1284P | 16 МГц | 127 КБ | 16 КБ |
фут Duino | ATMEGA32U4 | 16 МГц | 28 КБ | 2.50 КБ |
nicai-systems BOB3 кодирующий бот | ATMEGA88 | 8 МГц | 8 КБ | 1 КБ |
nicai-systems NIBO 2 робот | АТМЕГА128 | 16 МГц | 128 КБ | КБ |
nicai-systems NIBO Burger robot | АТМЕГА16 | 15 МГц | 16 КБ | 1 КБ |
nicai-systems NIBO Burger robot с комплектом настройки | ATMEGA1284P | 20 МГц | 128 КБ | 16 КБ |
nicai-systems робот NIBObee | АТМЕГА16 | 15 МГц | 16 КБ | 1 КБ |
nicai-systems робот NIBObee с комплектом для настройки | ATMEGA1284P | 20 МГц | 128 КБ | 16 КБ |
ubIQio Ardhat | ATMEGA328P | 16 МГц | 31.50 КБ | 2 КБ |
Микроконтроллеры AVR для высокопроизводительной и энергоэффективной 8-битной обработки
Микроконтроллер (MCU) был основой встраиваемых систем дольше, чем многие могут вспомнить. Микроконтроллеры являются предпочтительным процессором для многих приложений на множестве рынков. И промышленные, и потребительские товары зависят от микроконтроллеров. Небольшой размер микроконтроллера, низкое энергопотребление и компактная память идеально подходят для многих приложений.Интегрированные периферийные устройства и память при невысокой цене — очень привлекательные предложения для разработчиков систем.
В отчете IC Insights за 2013 год подробно описывается, как ожидается, что поставки 4- и 8-битных микроконтроллеров вырастут на 6%, до 6,7 миллиардов единиц, поставленных в 2013 году. По прогнозам, к 2017 году эти чипы займут 23% рынка микроконтроллеров с точки зрения выручки. и 28% отгруженных единиц. Хотя 32-битные микроконтроллеры занимают часть рынка микроконтроллеров, 8-битные устройства по-прежнему получают значительную долю дохода. Архитектура AVR® — одна из ведущих 8-битных архитектур. Он стал синонимом простоты использования с момента его создания в середине 1990-х годов Альф-Эгилем Богеном и Вегардом Волланом, двумя студентами Норвежского университета науки и технологий. AVR — наиболее привлекательное устройство для студентов и энтузиастов, позволяющих узнать о компьютерных архитектурах и встроенном программировании. Ядро процессора AVR было одним из первых микроконтроллеров, использовавших встроенную флеш-память для хранения программной памяти. Кроме того, архитектура AVR допускает внутрисистемное перепрограммирование.За последние 15 лет простота использования ядра AVR сделала его предпочтительным механизмом обработки в самых разных приложениях. Он также используется во множестве встроенных проектов в университетах по всему миру. Выбор использования AVR в хорошо известной платформе разработки с открытым исходным кодом Arduino свидетельствует об успехе этой архитектуры.
Одноконтактный двигатель RISC AVR
Ядро ЦП AVR представляет собой двигатель RISC (компьютер с сокращенным набором команд). RISC не означает уменьшение количества инструкций, а, скорее, уменьшение сложности инструкций.ЦП RISC обычно имеет больше инструкций, чем ЦП CISC. Этот богатый набор инструкций имеет преимущества для компилятора, поскольку он может найти оптимальную однократную инструкцию для своих нужд. Полученный машинный код увеличивает скорость и уменьшает использование памяти как в SRAM, так и во флэш-памяти. Архитектура AVR сочетает в себе этот богатый набор команд с 32 8-разрядными рабочими регистрами общего назначения, напрямую подключенными к ALU (Arithmetic Logic Unit). AVR использует гарвардскую архитектуру, которая разделяет память и шины для программ и данных (рисунок 1).Имеет двухступенчатый одноуровневый трубопровод. Пока выполняется одна инструкция, следующая инструкция предварительно выбирается из памяти программ. Два произвольных регистра питают АЛУ для выполнения запрошенной операции и обратной записи результата. Большинство инструкций выполняется за один такт. Благодаря выполнению арифметических и логических операций за один цикл микроконтроллеры на базе AVR обеспечивают скорость, близкую к 1 MIPS (миллион инструкций в секунду) на мегагерц тактовой частоты.Рис.1.Гарвардская архитектура AVR отделяет память программ от памяти данных.
С самого начала успех архитектуры AVR лежал в основе другого аспекта. Это доступность бесплатного программного обеспечения для проектирования и разработки, которое теперь включает такие инструменты, как компилятор AVR GCC C / C ++ и Atmel Studio 6 IDE (интегрированная среда разработки). Эта комбинация лучшей в отрасли 8-битной производительности и бесплатных инструментов разработки привела к тому, что AVR сохранил значительную лояльность среди инженеров и программистов.
Три семьи
Atmel использовала ЦП AVR в трех высокопроизводительных и энергоэффективных семействах 8-битных микроконтроллеров: TinyAVR® начального уровня, megaAVR® среднего уровня, вплоть до последнего семейства AVR XMEGA®.
Устройства tinyAVR оптимизированы для приложений, требующих производительности, энергоэффективности и простоты использования в небольшом корпусе. Устройства способны работать при напряжении всего 0,7 В и включают в себя АЦП, флэш-память, EEPROM и детектор пониженного напряжения. Кроме того, микросхемы обеспечивают отладку оборудования для быстрого, безопасного и экономичного устранения неполадок встроенного ПО.
MegaAVR среднего уровня больше подходит для приложений, требующих больших объемов кода. Предлагая производительность до 20 MIPS, эта линейка предлагает широкий выбор с точки зрения памяти, количества выводов и периферийных устройств (рисунок 2). Есть специализированные части с контроллерами USB, LCD, CAN, LIN и контроллерами силового каскада.
Рис. 2. ЦП megaAVR и периферийные устройства обеспечивают мощность и гибкость.
Микроконтроллеры AVR XMEGA состоят из различных основных блоков, включая ЦП AVR, SRAM, флэш-память, EEPROM и ряд периферийных устройств.Набор инструкций AVR XMEGA также поддерживает доступ к 16-битному регистру и 32-битную арифметику. Ключевой особенностью этого семейства является использование энергосберегающих периферийных устройств, что достигается за счет инновационной системы событий устройства. Это набор функций, которые позволяют периферийным устройствам взаимодействовать без вмешательства со стороны ЦП. Он позволяет периферийным устройствам отправлять сигналы напрямую другим периферийным устройствам, обеспечивая короткое и 100% предсказуемое время отклика. Используя возможности системы событий, можно настроить микросхему для выполнения сложных операций с минимальным вмешательством со стороны ЦП.Это экономит как ценную память программы, так и время выполнения.
Все 8-битные устройства AVR используют фирменную технологию picoPower®. Это включает в себя оптимизированный баланс высокопроизводительных транзисторов и транзисторов с малой утечкой, работу при низком напряжении, различные режимы низкого энергопотребления и сна с быстрым пробуждением, а также использование аппаратного DMA. Кроме того, AVR XMEGA имеет систему событий, которая разгружает процессор для экономии энергии и обеспечения согласованного времени реакции на прерывания. Ключевые рабочие характеристики включают работу свыше 1.От 8 до 5,5 В, потребление 200 мкА на МГц в активном режиме, 0,1 мкА в режиме пониженного энергопотребления с полным сохранением ОЗУ, 0,6 мкА в режиме энергосбережения (при работающем кварцевом генераторе 32 кГц) и время пробуждения менее 1 мкс .
Приложения и Интернет вещей
8-битные микроконтроллеры AVR получили множество преимуществ практически во всех секторах рынка. В дополнение к универсальным микроконтроллерам, описанным ранее, существует широкий спектр специализированных устройств на базе AVR, подходящих для освещения, интеллектуальных батарей, промышленных и автомобильных приложений, а также многих других.Огромная и быстрорастущая область применения — беспроводная связь. Фактически, RF быстро становится стандартным периферийным устройством в микроконтроллерах любого размера и любой полосы пропускания. Возможностей у беспроводной связи, безусловно, много, и не больше, чем у Интернета вещей (IoT).Мировые производители беспроводной инфраструктуры прогнозируют, что к 2020 году к Интернету будет подключено 50 миллиардов мобильных беспроводных устройств. Однако основные игроки беспроводной связи не будут полностью доминировать на этой растущей арене. Джим Талли, директор по исследованиям аналитической компании Gartner Group, отмечает: «Наше исследование показывает, что к 2018 году 50% решений для Интернета вещей будут предоставляться стартапами, которым меньше трех лет.Мы можем оценить, каким будет Интернет вещей сейчас. Но мы знаем, что большинство вещей, которые будут существовать в 2018 году, мы даже представить себе не можем, потому что они еще не изобретены ».
Хотя нет никаких сомнений в том, что маломощные 32-разрядные микроконтроллеры займут долю рынка, возможность по-прежнему очень важна для 8-битных микроконтроллеров с низким энергопотреблением для множества встраиваемых радиочастотных устройств, которые потребуются. . Основным примером устройства на основе AVR, которое хорошо подходит для использования преимуществ этих приложений, является ATmega256RF (рисунок 3).Эта ИС представляет собой однокристальное беспроводное решение, соответствующее стандарту IEEE 802.15.4, подходящее для беспроводных приложений ZigBee® RF4CE, IPv6 / 6LoWPAN и ISM (промышленных, научных, медицинских).
Рис. 3. ATmega256RF сочетает в себе простоту использования AVR с высокопроизводительным РЧ-каналом.
Устройство сочетает в себе микроконтроллер AVR и лучший в своем классе высокочувствительный радиочастотный приемопередатчик 2,4 ГГц, который обеспечивает скорость передачи данных от 250 кбит / с до 2 Мбит / с. Он предлагает от 64 КБ до 256 КБ флэш-памяти и потребляет до 50% меньше тока в некоторых режимах работы.Он позволяет работать на частоте 16 МГц при напряжении питания всего 1,8 В и обеспечивает быстрое время выхода из спящего режима в активный. В дополнение к этому, он реализует различные режимы отключения питания, такие как функция пробуждения по радио, которая поддерживает активный радиочастотный трансивер, пока микроконтроллер находится в спящем режиме, что еще больше повышает эффективность.
Заключение
Простота использования, высокая производительность, энергоэффективность и высокая плотность кода архитектуры AVR делают ее очень серьезным предложением для инженеров-проектировщиков, работающих в широком диапазоне приложений и рынков.Они идеально подходят для беспроводной связи и огромных возможностей, которые открывает Интернет вещей. Существует широкий спектр доступных 8-битных микроконтроллеров AVR. Последние 15 лет, безусловно, были богатыми на события для AVR, а следующие 15 будут еще больше.Особенности микроконтроллера avr | описание пина atmega16
Введение в микроконтроллер AVR и краткая история
Стенд AVR для Альфа Вегарда RISC — это модифицированная гарвардская архитектура, 8-битный RISC, однокристальный микроконтроллер, который был разработан двумя студентами Норвежского технологического института Альф-Эгилем Богеном и Вегардом Волланом, а затем был разработан компанией Atmel в 1996 году.. AVR был одним из первых семейств микроконтроллеров, в котором для хранения программ использовалась встроенная флэш-память, в отличие от OTP ROM, EPROM или EEPROM, используемых в то время другими микроконтроллерами.
МикросхемыATmega и Xmega AVR стали чрезвычайно популярными после того, как были разработаны на 8-битной платформе Arduino.
Семейство микроконтроллеров AVR
микроконтроллеры AVR обычно подразделяются на следующие:
- tinyAVR — серия ATtiny
- 0.5–16 Кбайт программной памяти
- 6–32-контактный корпус
- Ограниченный набор периферийных устройств
- megaAVR — серия ATmega
- 4–512 КБ памяти программ
- 28–100-контактный корпус
- Расширенный набор команд (инструкции умножения и инструкции для работы с памятью программ большего размера)
- Расширенный набор периферийных устройств
- XMEGA — серия ATxmega
- 16–384 КБ памяти программ
- 44–64–100-контактный корпус (A4, A3, A1)
- Расширенные функции производительности, такие как DMA, «Система событий» и поддержка криптографии.
- Расширенный набор периферийных устройств с АЦП
- АРН для конкретного приложения
- мега-AVR со специальными функциями, которых нет в других членах семейства AVR, такими как ЖК-контроллер, USB-контроллер, расширенный ШИМ, CAN и т. Д.
Характеристики микроконтроллера ATmega32
- 32 Кбайт встроенной программируемой флэш-памяти для программ с возможностью чтения во время записи
- 1024 байта EEPROM
- 2 Кбайт SRAM
- 32 линии ввода / вывода общего назначения
- Интерфейс JTAG для сканирования границ
- Поддержка отладки и программирования на кристалле
- 3 гибких таймера / счетчика с режимами сравнения
- Внутренние и внешние прерывания
- Последовательный программируемый USART
- Байт-ориентированный двухпроводной последовательный интерфейс (I2C)
- 8-канальный 10-разрядный АЦП
- Программируемый сторожевой таймер с внутренним генератором
- Последовательный порт SPI
- 6 программно выбираемых режимов энергосбережения
Описание выводов микроконтроллера AVR
Порт A (PA7..PA0): — Порт A служит аналоговыми входами для аналого-цифрового преобразователя. Порт A также служит 8-битным двунаправленным портом ввода-вывода, если аналого-цифровой преобразователь не используется. Контакты порта. Метрические характеристики приводных штырей с высокой пропускной способностью как для стока, так и для источника. Когда контакты PA0 — PA7 используются в качестве входов и внешне подтянуты к низкому уровню, они будут источником тока при внутреннем подтягивании.
Порт B (PB7..PB0): — Порт B — это 8-битный двунаправленный порт ввода / вывода с внутренними подтягивающими резисторами (выбираемыми для каждого бита).
Порт C (PC7..PC0): — Порт C — это 8-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами (выбираемыми для каждого бита).
Порт D (PD7..PD0): — Порт D — это 8-битный двунаправленный порт ввода / вывода с внутренними подтягивающими резисторами (выбираемыми для каждого бита).
СБРОС : — Сброс входа. Низкий уровень на этом выводе, превышающий минимальную длину импульса, вызовет сброс, даже если часы не работают.Минимальная длина импульса указана в разделе Более короткие импульсы не гарантируют сброса.
XTAL1 : — Вход на усилитель инвертирующего генератора и вход в рабочую схему внутренних часов.
XTAL2 : — Выход усилителя инвертирующего генератора.
AVcc : — AVcc — это вывод напряжения питания для порта A и аналого-цифрового преобразователя.
AREF : — AREF — это аналоговый опорный вывод для аналого-цифрового преобразователя.
.