Arduino M0

Arduino M0 — платформа для разработки на базе микроконтроллера ATSAMD21G18 с вычислительным ядром ARM Cortex® M0! По сравнению с флагманской Arduino Uno, в этой платформе всего больше: больше памяти для программ и оперативной памяти, выше частота процессора. Без изменений остался лишь стандартный форм-фактор Arduino.

Видеообзор

Подключение и настройка

Для работы с платформой Arduino M0 в операционной системе Windows скачайте и установите на компьютер интегрированную среду разработки Arduino — Arduino IDE.

Добавление платформы

По умолчанию среда Arduino IDE настроена только на AVR-платы. Для работы с платформой Arduino M0 — добавьте в менеджере плат поддержку платформ на ядре ARM Cortex-M0+.

Что-то пошло не так?

Элементы платы

Микроконтроллер ATSAMD21G18

Сердцем платформы Arduino M0 является мощный 32-разрядный микроконтроллер фирмы Microchip (Atmel) — ATSAMD21G18 с вычислительном ядром ARM Cortex® M0.

Благодаря использованию 32-разрядного ядра ARM, Arduino M0 во многом превосходит типичные платы на базе 8-разрядных микроконтроллеров. Наиболее существенные отличия заключаются в следующем:

  • 32-битное ядро позволяет обрабатывать 4х-байтовые данные всего за один такт.
  • Тактовая частота – 48 МГц.
  • Объем флеш-памяти программ – 256 КБ.
  • Объем оперативной памяти SRAM – 32 КБ.
  • Наличие DMA-контроллера позволяет разгрузить центральный процессор, выполняя ресурсоёмкие операции с памятью.

Пины питания

  • VIN: Напряжение, поступающее в Arduino от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
  • 5V: На вывод поступает напряжение 5 В от стабилизатора напряжения на плате, независимо от того, как запитано устройство: от адаптера (7–14 В), от USB (5 В) или через вывод VIN (7–14 В). Запитывать устройство через выводы 5V или 3.3V не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
  • 3.3V: 3,3 В от стабилизатора напряжения на плате. Стабилизатор обеспечивает питание микроконтроллера ATSAMD21G18. Максимальный ток равен 1,2 А.
  • GND: Выводы земли.
  • IOREF: Вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания или задействовать преобразователи уровней. Это позволит плате работать как с 5 В, так и с 3,3 В устройствами.

Порты ввода/вывода

В отличии от большинства плат Arduino, родным напряжением Arduino M0 является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Большее напряжение может повредить микроконтроллер!

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

  • Цифровые входы/выходы: 20 пинов; 013 и A0A6
    Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 7 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • ШИМ: 12 пинов; 213
    Позволяет выводить 8-битные аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ, взаимодействующего с этими выводами, по умолчанию, установлена в 8 бит (для совместимости с другими платами Arduino). Изменить разрядность ШИМ можно с помощью функции analogWriteResolution().
  • АЦП: 6 пинов; A0A5
    Позволяет представить аналоговое напряжение в виде 12-битного числа. Разрядность АЦП, взаимодействующего с этими выводами, по умолчанию, установлена в 10 бит (для совместимости с другими платами Arduino). Изменить разрядность АЦП можно с помощью функции analogReadResolution(). На аналоговые входы Arduino M0 можно подавать напряжение в диапазоне от 0 до 3,3 В. При подаче большего напряжения микроконтроллер может выйти из строя.
  • ЦАП: пин DAC(A0)
    Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 10-битные уровни напряжения. Данный вывод может использоваться для создания аудио-выхода — для этого используйте библиотеку Audio. Одновременно нельзя использовать ШИМ на некоторых парах пинов: 4 и 10, 5 и 12, так как каждая парочка висит на общем таймере.
  • TWI/I²C: пины SDA и SCL
    Для общения с периферией по интерфейсу I²C. Для работы используйте библиотеку Wire.
  • SPI: пины 11(MOSI), 12(MISO) и 13(SCK)
    Для общения с периферией по интерфейсу SPI. Для работы — используйте библиотеку SPI.
  • UART: пины 0(RX) и 1(TX)
    Используется для коммуникации платы Arduino с компьютером или другими устройствами через класс Serial1. Для связи Arduino M0 с компьютером через порт micro-USB, используйте класс SerialUSB. Для работы — используйте методы библиотеки Serial.

Светодиодная индикация

Имя светодиода Назначение
RX и TX Мигают при обмене данными между Arduino M0 и компьютером.
L Светодиод вывода 13. При задании значения HIGH светодиод включается, при LOW – выключается.
ON Индикатор питания

Разъём micro-USB

Разъём micro-USB предназначен для прошивки платформы Arduino M0 с помощью компьютера.

Разъём для внешнего питания

Разъём для подключения внешнего питания от 7 В до 14 В.

Регулятор напряжения 5 В

Когда плата подключена к разъёму внешнего источника питания или через пин Vin, напряжение проходит через стабилизатор MPM3610. Выход стабилизатора соединён с пином 5V. Максимальный выходной ток составляет 1 А.

Регулятор напряжения 3,3 В

Стабилизатор MPM3810GQB-33 с выходом 3,3 вольта, обеспечивает питание микроконтроллера. Максимальный выходной ток составляет 1,2 А.

Кнопка RESET

Служит для сброса микроконтроллера. Это аналог кнопки RESET обычного компьютера.

SPI-разъём

С применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI. Линии SPI выведены на 6-контактный разъём и не продублированы на цифровых контактах, как это сделано на Arduino Uno. Если плата расширения использует SPI и не имеет снизу ICSP-разъёма ответного к этим штырькам на Arduino, она не будет работать работать.

Обратите внимание, SPI-разъём не предназначен для внутрисхемного программирования микроконтроллера ATSAMD21G18 и может использоваться только для связи с другими SPI-устройствами.

SWD-разъём

SWD-разъём предназначен для внутрисхемного программирования микроконтроллера ATSAMD21G18.

Принципиальная схема

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

  • Микроконтроллер: ATSAMD21G18, 32-Bit ARM Cortex M0+
  • Тактовая частота: 48 МГц
  • Объём Flash-памяти: 256 КБ
  • Объём SRAM-памяти: 32 КБ
  • Портов ввода-вывода всего: 20
  • Портов с АЦП: 6
  • Разрядность АЦП: 12 бит, по умолчанию 10 бит
  • Портов, подключённых к ЦАП: 1
  • Разрядность ЦАП: 10 бит
  • Портов с ШИМ: 12
  • Разрядность ШИМ: 10 бит, по умолчанию 8 бит
  • Аппаратных интерфейсов SPI: 1
  • Аппаратных интерфейсов I²C / TWI: 1
  • Аппаратных интерфейсов UART / Serial: 1
  • Номинальное рабочее напряжение: 3,3 В
  • Максимальный выходной ток пина 5V: 1 A
  • Максимальный выходной ток пина 3V3: 1,2 А (включая питание микроконтроллера)
  • Максимальный ток с пина или на пин: 7 мА
  • Допустимое входное напряжение от внешнего источника: 7–14 В
  • Габариты: 69×53 мм

Ресурсы