ATmega8515 – экономичный 8-разрядный микроконтроллер, основанный на усиленной AVR RISC архитектуре. Выполняя команды за один цикл, ATmega8515 достигают производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.
AVR ядро объединяет богатую систему команд и 32 рабочих регистра общего назначения. Все 32 регистра непосредственно связаны с арифметико-логическим устройством (АЛУ), что позволяет получить доступ к двум независимым регистрам при выполнении одной команды. В результате эта архитектура позволяет обеспечить в десятки раз большую производительность, чем стандартная CISC архитектура.
Основные параметры:
- Высокоэффективный, экономичный 8-разрядный AVR микроконтроллер
- RISC архитектура
- Мощная система команд с 130 инструкциями, большинство из которых выполняются за один машинный цикл
- 32 восьмиразрядных рабочих регистров общего назначения
- Полностью статическое функционирование
- Производительность до 16 млн. оп./ сек. при задающей частоте 16 МГц
- Встроенное умножение за 2 цикла
- Энергонезависимые память программ и данных
- 8 кбайт внутрисхемного программируемой флэш-памяти с возможностью самозаписи
- Долговечность: 10,000 циклов «запись-стирание»
- Возможность создания сектора предварительной загрузки с раздельными битами защиты
- Возможность внутрисхемного программирования программой во встроенном секторе начальной загрузки
- Возможность считывания во время записи
- 512 байт ЭППЗУ (EEPROM) Долговечность: 100,000 циклов «запись-стирание»
- 512 байт внутреннего статического ОЗУ
- Возможность организации внешней области памяти размером до 64 кбайт
- Программирование битов защиты программного обеспечения
- Периферийные устройства
- Один 8-разрядный таймер-счетчик с отдельным предделителем и режимом компаратора
- Один 16-разрядный таймер-счетчик с отдельным предделителем, режимом компаратора и режимом захвата фронтов
- Три канала ШИМ (широтно-импульсная модуляция)
- Программируемый последовательный УСАПП (устройство синхронной или асинхронной приемопередачи)
- Последовательный интерфейс SPI с режимами главный и подчиненный
- Программируемый сторожевой таймер с отдельным встроенным генератором
- Встроенный аналоговый компаратор
- Специальные функции микроконтроллера
- Сброс при подаче питания и программируемый супервизор питания
- Встроенный калиброванный RC-генератор
- Внутренние и внешние источники запросов на прерывание
- Три режима управления энергопотреблением: холостой ход (Idle), пониженное потребление (Power-down) и дежурный (Standby)
- Ввод-вывод и корпуса
- 35 программируемых линий ввода-вывода
- 40-выв. PDIP, 44-выв. TQFP, 44-выв. PLCC и 44-выв. MLF
- Напряжение питания
- 2.7 — 5.5В для ATmega8515L
- 4.5 — 5.5В дляATmega8515
- Рабочая частота
- 0 — 8 МГц для ATmega8515L
- 0 — 16 МГц для ATmega8515
Для использования ATmega8515 в Arduino IDE Вам необходимо собрать следующую схему:
Перед прошивкой ATmega8515 необходимо установить поддержку контроллера в Arduino IDE, для этого откройте меню Файл >> Настройки и в пункте Дополнительные ссылки для Менеджера плат вставьте ссылку:
https://mcudude.github.io/MajorCore/package_MCUdude_MajorCore_index.json
Далее переходим в меню Инструменты >> Плата >> Менеджер плат
В строке поиска напишите 8515, списке менеджера плат выберите пакет: MajorCore by MCUdude
После установки поддержки плат в Arduino IDE появится плата ATmega8515
- Для прошивки скетча или загрузчика Вам понадобится программатор USBasp
Распиновка USBasp
Перед загрузкой в настройках платы укажите частоту кварцевого резонатора (16 МГц), выбрать программатор USBasp, в пункте Bootloader выберите No bootloader или Yes (UART0) если планируете загружать скетчи через UART ( USB — TTL ).
Во вкладке «Инструменты» нажмите «Записать загрузчик«.(делается только один раз)
После записи загрузчика Вы в Arduino IDE увидите примерно следующее:
Для загрузки скетча выберите вкладку — Скетч >> Загрузить через программатор
После загрузки скетча появится следующее сообщение:
Для примера можно загрузить скетч BLINK, для этого в выводу 39 (PA0) через резистор 300 Ом подключите светодиод и загрузите один из скетчей:
#include <avr/io.h> #include <util/delay.h> int main(){ DDRA |= (1<<PA0); while(1){ PORTA |=(1<<PA0); _delay_ms(1000); PORTA &=~(1<<PA0); _delay_ms(1000); }}
Скетч использует 100 байт (1%) памяти устройства. Всего доступно 8192 байт.
Глобальные переменные используют 0 байт (0%) динамической памяти, оставляя 512 байт для локальных переменных. Максимум: 512 байт.
После загрузки скетча начнет мигать светодиод с интервалом 1 секунда.
Даташит — ATmega8515.pdf