Главная / Контроллеры
Содержание:
Atmega2560, как и все его аналоги: Atmega2560 rev3, Atmega2560 16au, Atmega320 «Про Мини», Atmegach440g, Atmegach440g Pro Mini, Atmega640 Pro Mini, Atmega168 20au, Atmega328, Atmega2560 16au Pro Mini, Atmegar3 Pro Mini, Atmega168 20au «Про Мини» представляет собой 8-разрядный микроконтроллер низкой мощности, изготовленный на базе ядра типа AVR с архитектурой типа RISC. Он способен выполнять большое количество различных инструкций одновременно.
Именно поэтому его производительность может достигать 1 миллиона операций за 1 секунду. Его тактовая частота при этом равна 1 мегагерцу.
Диаграмма контроллера Atmega2560
Контроллер Atmega2560 и его аналоги – одно из наиболее современных и продвинутых решений на данный момент. Высокая производительность сочетается в них с малым энергопотреблением. Единственный недостаток этого контроллера – достаточно высокая стоимость, однако она полностью окупается в процессе работы.
Константин Котовский
Согласно datasheet (описанию — на русском) большинства из этих процессоров, ядро типа AVR выполняет функции объединения обширного набора инструкций, которые предоставляет плата, с 32 функциональными регистрами базового назначения.
Все они при этом подключаются одновременно к одному арифметикологическому устройству. Благодаря этому плата получает возможность указывать 2 или более регистров в одной инструкции и таким образом реализовывать ее за 1 цикл вне зависимости от сложности задачи.
Подобного рода схема (в datasheet сказано, что каждый микроконтроллер снабжен таковой в формате pdf) дает возможность в 10 раз превзойти любой микроконтроллер, разработанный по схеме CISC по параметру производительности.Atmega2560, а также Atmega2560 rev3, Atmega2561 16au, Atmega320 «Про Мини», Atmegach440g, Atmegach440g «Про Мини», Atmega640 Pro Mini, Atmega168 20au, Atmega328 «Про Мини», Atmega2560 16au «Про Мини», Atmegar3 Pro Mini, Atmega168 20au и другие собираются по особой схеме, предусматривающей энергонезависимую память высокой емкости.
По datasheet (описанию), все контроллеры Atmega обладают следующими особенностями:
Контроллер Atmega2560
Современный человеческий социум окружен большим количеством вспомогательных механизмов, облегчающих жизнь индивидуума. С каждым годом техника все «умнеет», беря на себя множество рутинных задач, которыми ранее приходилось заниматься людям.
Самые элементарные вещи, сейчас воспринимающиеся как привычные, к примеру, работа светофора для регулировки транспортного движения, системы вентиляции или отопления в помещениях, лифты или же еще миллионы обыденных мелочей — ранее требовали непосредственного участия оператора-человека. Теперь управлением технологическими устройствами занимаются компьютеры и их младшие братья – микроконтроллеры, такие как, к примеру, ATMega2560.
Содержание
Микроконтроллер – маленький по габаритам, не очень быстрый компьютер, с ограниченным размером оперативной памяти, невысокой тактовой частотой, малой разрядностью обрабатываемых команд. Обычно он представляет собой 8 битный RISC процессор, расположенный на одном чипе с системами ввода-вывода, оперативной и перепрограммируемой памятью. Для обработки видео и аудио он, конечно, не предназначен, но в своей нише служит просто панацеей.
Основная область применения – различные устройства, в которых требуется наличие реакций, описываемых логикой, на определенную внешнюю информацию или показания датчиков.
К примеру, можно назвать обычный лифт. Он должен перемещаться между этажами и вверх и вниз, при этом останавливаясь в зависимости от запросов людей снаружи, по пути своего следования, для забора пассажиров. В реальности пример хорош еще и тем, что используется достаточно сложная логика работы. Один из ключевых факторов – если лифт перегружен, то он не будет реагировать на вызов кабины по пути своего следования до момента частичной разгрузки, или если первый пассажир выбрал направление вверх, а желающие им воспользоваться хотят и жмут кнопку «вниз», то на этажах с подобным запросом подъемник не остановится. Микроконтроллеры применяются, в том числе, для организации работы светофоров
Опять же, можно вернуться к регулировке движения автотранспорта. В определенные часы трафик увеличивается в одну сторону, в другие – в обратную. Кроме того, необходимо учитывать частоту пешеходного движения. В обед и вечером количество людей больше, а значит, и разрешающие переход для них и блокирующие езду машин сигналы работают долгое время. В другие периоды наоборот, приоритет дается движению транспортного потока.
Для управления логикой работы устройств или их комплексов, объединенных в «умный» город или дом, и предназначены микроконтроллеры.
Имея достаточно скромные возможностями обработки информации, они, тем не менее, позволяют полностью покрыть весь объем требуемого контроля оборудования. При этом их более низкая цена, минимальное энергопотребление, пассивное охлаждение, крошечные размеры, сравнительно с «большими» компьютерами, – приоритетный плюс в данной области применения.
Речь в статье пойдет о флагманском контроллере ATMega2560 фирмы ATMel. Он служит основой платформы Arduino Mega 2560, объединяющей на единой плате не только сам процессор, но и дополнительно программируемый адаптер USB-COM портов ATMega16u2, позволяющий использовать ATMega2560 в качестве USB HID устройства.
Ранее, в более простых вариантах платформ ATMel, для организации подобной возможности применялись микросхемы шотландской фирмы FTDI.
Микроконтроллер представлен RISC процессором, разработанным AVR и функционирующим на частоте 16Мгц, которая максимальна из всей линейки продуктов ATMel. На кристалле его чипа расположены все устройства, относимые к общему понятию компьютерной системы: оперативная и перепрограммируемая постоянная, а также flash память, интерфейсные мосты, умножитель.
Процессор характеризуется, как вычислитель одного по времени отклика, на выполнение любой команды, вне зависимости от ее сложности. Разрядность шины адресов и внутренних регистров — 8 бит. Максимальный размер подключаемой, внешней памяти SRAM – 64 Кбайт. Задающий частоту генератор находится в составе самой микросхемы контроллера. Структурная схема ATMega2560
Наиболее точно характеристики выражены таблицей:
ЕEPROM (ППЗУ) | 4 Kb |
SRAM (ОЗУ) | 8 Kb |
FLASH ROM | 256 Kb |
Циклов перезаписи EEPROM | 100 000 |
Циклов перезаписи FLASH ROM | 10 000 |
Количество режимов ожидания процессора | 6 |
Таймеры |
|
8bit | 2 |
16bit | 4 |
RTC\Real Time Clock (реального времени) | 1 |
PWM (ШИМ-преобразователи 8bit, выход) | 4 |
Порты | |
Порты ввода-вывода (общее количество) | 86 |
Аналоговые, по 10bit (вход) | 16 |
Последовательные USART | 4 |
Последовательный SPI, работающий (master/slave) | 1 |
Последовательный, побайтный | 1 |
Цифровые входы\выходы | 54 |
Частота процессора AVR | 16Мгц |
Питание платы Arduino Mega 2560 | |
стартовое | 1,8В |
рабочее | 5В |
максимальное | 7-12В |
Выходные токи портов 5В | 800мА |
Выходные токи портов 3,3В | 150 мА |
Температурный режим | -40ºС — +85ºС |
Заявленная скорость обработки команд при номинальной частоте ядра AVR – 16000000 инструкций в секунду.
Назначение микроконтроллера – управлять внешним оборудованием, соответственно и для любого из них необходимо большое количество коммуникационных портов. ATMega2560, кроме стандартных, дискретных параллельных и последовательных входов\выходов, оснащен и преобразователями аналоговых сигналов, как в цифровые, так и из них.
Ниже представлена полная распиновка контактов ATMega2560, с описанием на русском языке. Расположение выводов на Arduino Mega2560
Аналоговые входы разведены 16 портами, каждый из которых определяет 1024 градации мощности сигнала между 5В и общим контактом платы. Чувствительность на единицу показания уровня составляет 0,004В. Верхние пределы максимального напряжения можно менять функциями микроконтроллера и разницей с пином платы AREF.
Порты аналоговых входов:
Pin | Примечание | Адресация |
A0 |
| 54 |
A1 |
| 55 |
A2 |
| 56 |
A3 |
| 57 |
A4 | TCK | 58 |
A5 | TMS | 59 |
A6 | TDO | 60 |
A7 | TDI | 61 |
A8 | PC INT 16h | 62 |
A9 | PC INT 17h | 63 |
A10 | PC INT 18h | 64 |
A11 | PC INT 19h | 65 |
A12 | PC INT 20h | 66 |
A13 | PC INT 21h | 67 |
A14 | PC INT 22h | 68 |
A15 | PC INT 23h | 69 |
Цифровые каналы представлены 54 контактами (пинами), работающими, как на ввод, так и на вывод. Часть линий можно задействовать не только для цифровой дискретной выдачи 0 и +5В, соответствующих логическим 0 и 1, но и изменять программно их выходное напряжение, используя ШИМ(PWM) таймеры.
Pin | Управление PWM(ШИМ) | Примечание |
0 |
| Последовательный RX |
1 |
| Последовательный TX |
2 | + | IN INT 0h |
3 | + | IN INT 1h |
4-12 | + |
|
13 | + | In board LED indicator |
14 |
| Serial port 3 TX |
15 |
| Serial port 3 RX |
16 |
| Serial port 2 TX |
17 |
| Serial port 2 RX |
18 |
| Serial port 2 TX \ IN INT 5h |
19 |
| Serial port 2 RX \ IN INT 4h |
20 |
| I2C SDA \ IN INT 3h |
21 |
| I2C SCL \ IN INT 2h |
22-23 |
|
|
44-46 | + |
|
47-49 |
|
|
50 |
| MISO |
51 |
| MOSI |
52 |
| SCK |
53 |
| SCL |
Дополнительно Arduino Mega2560 содержит контакт Reset, подавая низкий сигнал, на который вызывается перезагрузка микроконтроллера. Используется он для плат расширения, если они закрывают собой доступ к кнопке сброса.
Питание самого устройства выполняется или через внешнюю USB шину, или используя блок питания, подключаемый к специализированному входу 2.1, с центральной плюсовой жилой.
В случае применения разъема допустим люфт напряжений на вводе от 5 до 12В, – контроллеры, расположенные на плате, ограничат превышения 5В в шине питания процессора.
Подавать более 12В на ввод не рекомендуется – это может привести к выходу Arduino Mega2560 из строя.
На плате также разведен плюсовой ввод в виде отдельного пина, для возможности нестандартного подключения питания +7-12В. Он используется и как незащищенный вывод тока внешних устройств, если применяется БП.
На самой плате расположены выводы питания, которые можно применять для внешних устройств, если, конечно, ток потребителей не превышает установленных пределов. Это выход +5В с максимальной выдачей 800 мА, +3. 3В с потолком в 150 мА.
Кроме них, рядом расположен общий GND, а также пин IOREF, дающий внешнему оборудованию информацию об используемом напряжении системы и необходимости применения ими отдельных источников питания.
В Datasheet к ATMega2560 его особенностями названы:
Наибольшие плюсы ATMega2560 сравнительно с моделями контроллеров других производителей – это универсальность, отработанная система разработки кода процессора Arduino IDE, документированность возможностей, наличие множества модулей расширения.
Также большое значение имеет время выполнения команд самим устройством – оно заявлено одинаковым для всех инструкций, вне зависимости от их сложности.
Кроме того, это один из самых быстрых контроллеров подобного класса – его частота в 16Мгц с трудом достижима конкурентами.
Хочется также в качестве преимуществ этой платы указать на ее легкое программирование, простое подключение к ПК, благодаря используемому ATMega16u2 или его аналогов в Arduino. Да и форм-фактор поставки с удобным, хорошо документированным расположением вводов\выводов дает большое преимущество именно этому продукту. Еще один из наборов в продаже
Обзор Характеристики |
Плата Arduino Mega 2560 представляет собой плату микроконтроллера на основе ATmega2560. Он имеет 54 цифровых входа/выхода (из которых 15 могут использоваться как выходы ШИМ), 16 аналоговых входов, 4 UART (аппаратные последовательные порты), кварцевый осциллятор 16 МГц, соединение USB, разъем питания, разъем ICSP, и кнопка сброса.
EEPROM
ATmega2560 имеет 4 КБ (4096 байт) EEPROM, память, которая не стирается при выключении питания.
Документация
54 цифровых и 16 аналоговых контактов
Mega 2560 имеет 54 цифровых контакта, 15 из которых поддерживают ШИМ, и 16 аналоговых входных контактов.
Четыре последовательных порта
Подключайтесь к нескольким устройствам через 4 аппаратных последовательных порта (UART) к Arduino Mega.
Здесь вы найдете технические характеристики платы Arduino® Mega 2560 Rev3.
Наименование | Arduino® Mega 2560 Rev3 |
---|---|
Артикул | A000067 | ATmega2560 |
USB-B | |
Встроенный светодиод | 13 |
Контакты цифрового ввода/вывода | 54 |
Контакты аналогового входа | 16 |
Контакты ШИМ | 15 | UART | Да, 4 |
I2C | Да |
SPI | Да |
Напряжение ввода/вывода | 5В |
Входное напряжение (номинальное) | 7–12 В |
Постоянный ток на контакт ввода/вывода | 20 мА |
Поддерживаемая батарея | Батарея 9 В |
Разъем питания | Заглушка |
ATmega2560 16 МГц | |
Процессор USB-Serial | ATmega16U2 16 МГц |
ATmega2560 | 8 КБ SRAM, 256 КБ FLASH, 4 КБ EEPROM | Вес | 37 г |
Ширина | 53,3 мм |
Длина | 101,5 мм |
Следующие программные средства позволяют программировать доску как онлайн, так и офлайн.
Arduino IDEArduino CLIВеб-редактор
Перечисленное ниже оборудование совместимо с данным изделием.
Все, что вам нужно знать, чтобы начать работу с новой платой Arduino.
Эта библиотека позволяет вам взаимодействовать с устройствами I2C/TWI.
SPIБиблиотека SPI позволяет вам взаимодействовать с устройствами SPI, используя Arduino в качестве контроллера.
ServoБиблиотека Servo позволяет плате Arduino управлять серводвигателями RC (для хобби).
Встроенные примеры — это скетчи, включенные в среду разработки Arduino IDE и демонстрирующие все основные команды Arduino.
LearnОткройте для себя интересные статьи, принципы и методы, связанные с экосистемой Arduino. Справочник по языку
Язык программирования Arduinoможно разделить на три основные части: функции, значения (переменные и константы) и структура.