Максимальные аналоговые сигналы для arduino due. Китайская Arduino DUE. Схема, исходный проект и расположение выводов

Ещё одно готовое устройство от Arduino для конструкторов электронных игрушек, оригинальных и полезных конструкций, малых систем автоматизации. Примечательна установленным 32-битным микроконтроллером SAM3X8E ARM Cortex-M3. Оценим её возможности и возможные сферы применения.
Вид платы сверху


Разъёмы и выводы
  • 0-52. Расположены сверху и справа. Каждый из выводов может быть запрограммирован в качестве дискретного входа или выхода. Уровень напряжения выводов 3,3 В, ток в выходных цепях 3-15 мА, а во входных 6-9 мА.
  • Выводы (communication) 0, 19, 17, 15 (Rx) и 1, 18, 16, 14 (Tx) могут быть запрограммированы для обмена данными по последовательному интерфейсу с уровнем напряжения TTL (3,3 В) (RX – приём, TX – передача). На плате установлен преобразователь USB-UART, выполненный на микросхеме ATMega16U2, выводы которой подключены к выводам 0 и 1 платы. Интерфейс является USB-портом для программирования.
  • Выводы (PWM) со 2 по 13 можно сконфигурировать как аналоговые выходы с невысоким 8-битным разрешением. Вид выходного сигнала – ШИМ, а значит для подключения исполнительных устройств потребуется дополнительная согласующая схема.
  • Штыревой разъём SPI справа от микроконтроллера. Особенность этого интерфейса в том, что его нельзя использовать для внутрисхемного программирования, а исключительно для связи с другими устройствами.
  • Выводы CANRX, CANTX в самом низу, справа. Линии обмена данными по протоколу CAN. Протокол широко используется в бортовых сетях автомобилей, промышленной электронике.
  • Интерфейс связи TWI/I 2 C может быть подключен к выводам 20 (SDA), 21(SCL). Отметим, что к выводам на плате подключены подтягивающие резисторы 100 кОм, по умолчанию отключенные. Необходимо подключать резисторы при организации сетевого обмена.
  • Выводы А0–А11 внизу – аналоговые входы. Обрабатывающий сигналы с этих входов АЦП 12-битный, а значит входы могут использоваться в достаточно серьёзных приложениях. Стоит отметить, что конфигурация по умолчанию 10 бит, смена разрешения выполняется программным способом. Ещё одно замечание – для использования вывода AREF следует удалить из схемы резистор BR1.
  • На плате всего 2 полноценных 12-битных аналоговых выхода DAC1 и DAC2.
  • Вывод RESET при подаче низкого уровня инициирует перезагрузку контроллера.
  • Вверху, слева от вывода 13, расположен вывод AREF – опорное напряжение АЦП и выводы SDA1, SCL1 для интерфейса TWI1/I 2 C1.
В выводы могут устанавливаться платы расширения (шилды). Подключать можно весь спектр устройств Arduino: дисплеи, Ethernet-модули, клавиатуры и т.д. Создавая плату, компания обеспечила совместимость с устройствами расширения для других серий. Правда есть одно НО. Уровень напряжения на выводах не должен превышать 3,3 В. Информацию о рабочем уровне напряжения для плат расширения выдаёт выход IOREF, а подключаемая плата должна задействовать встроенный преобразователь уровня. Обращайте на это внимание при выборе шилда, если уровень 3,3 В не поддерживается, то подключать к Arduino Due устройство не рекомендуется.
Раз уж затронули тему уровней напряжения, то давайте разберёмся с питанием платы. Во-первых, внешнее питание на плату может быть подано либо от внешнего источника, либо от USB. Напряжение питание должно лежать в диапазоне 6-20 В, оптимальное – 7-12 В.
Выводы питающих напряжений находятся внизу, чуть левее микроконтроллера.
  • VIN – линия «+» внешнего источника питания.
  • 5V – напряжение +5 В, выдаваемое стабилизатором напряжения, максимальный ток Iмакс = 800 мА.
  • 3.3V - напряжение +3,3 В от того же стабилизатора, максимальный ток Iмакс = 800 мА.
  • GND – земля.
На плате установлены 2 USB-порта, предназначенные для обмена данными с компьютером или подключения поддерживающих интерфейс USB периферийных устройств.
Память
На плате размещены микросхемы оперативной памяти (SRAM) объёмом 96 кб, и флэш-памяти программ 512 кб. Адресное пространство единое для всей памяти. Стоит учесть, что есть возможность подключить внешнюю SD-карту, используя интерфейс TWI1/I 2 C1 и картридер.
Органы управления
На плате установлена кнопка Reset для стирания программы, записанной в ПЗУ.
Габаритные размеры
Плата имеет размеры 10,2х5,4 см, три крепёжных отверстия.

Сфера применения

Применение такого устройства будет оправдано:
  • Для обучения работе с микроконтроллерами школьников и студентов.
  • Для построения разнообразных роботов, квадрокоптеров или иных умных устройств конструкторами-любителями.
  • Для создания систем «Умного дома». Возможность создания локального пульта управления (на сенсорном дисплее или обычном и клавиатуре), достаточное количество входов-выходов для подключения датчиков и исполнительных устройств, возможность организации удалённого управления через Интернет – всё есть для реализации такого решения. В пользу его говорят и завышенные цены на готовые системы «умного дома». Можем посоветовать тем, кто решит использовать Arduino Due в этих целях, обратить внимание на бесплатную систему контроля и мониторинга Tesla Scada для ПК и мобильных устройств. Использование в качестве концентратора датчиков и интеллектуального устройства в системе интернета вещей (IoT). Готовые решения для Arduino есть у IBM. Это и библиотеки для Arduino IDE – Arduino Client for MQQT , и брокер для тестирования Mosquitto , и платформа IBM Internet of Things Foundtation .
Однако, стоит рассмотреть и ядро платы – 32-битный микроконтроллер, ведь именно он является главной «изюминкой» Arduino Due.

Как уже упоминалось выше, работа с платой возможна из-под Atmel IDE, но есть и собственная среда разработки IDE . Кроме того, необходимо разобраться как подключиться и отлаживать устройство.
Первый нюанс заключается в том, что для заливки новой прошивки требуется стереть старую во флэш-памяти.
Второй в используемом для загрузки USB-порте. На приведённом в начале статьи рисунке, слева можно увидеть 2 порта. Для программирования следует использовать нижний.
В остальном процесс создания проекта и отладки стандартен для устройств Arduino. Необходимыми предпосылками для успешной работы с устройством будет:
  • Формулировка задачи. Требуется определить какое устройство будет получено на выходе, какими функциями оно будет обладать.
  • Определение необходимых плат расширения. Для расширения функциональности и повышения удобства работы с готовым устройством могут потребоваться специальные шилды – дисплеи, внешняя память, модули связи и т.п. Помните про совместимость по уровню напряжения!
  • Состав оборудования определён, теперь необходимо всё увязать в единое устройство. Для этого, возможно, потребуется изготовить электронные платы сопряжения, подготовить шлейфы для связи, изготовить или купить конструкцию для размещения электронной начинки.
  • Подбор датчиков и исполнительных устройств, разработка подвижной конструкции. Для случаев летающих, ездящих, шагающих или плавающих устройств задача может быть очень нетривиальной.
  • Написание программы, загрузка её в плату, тестирование, отладка и удовлетворение от качественно проделанной работы.

    {{#setlogo:ArduinoCommunityLogo.png}}

    Проверка/Оформление/Редактирование: Мякишев Е.А.

    Знакомство с Arduino Due

    Чтобы подключить Arduino Due к компьютеру, понадобится USB -кабель с разъемом Micro-B . Этот кабель, с одной стороны, будет питать плату электричеством, а с другой, позволит ее программировать.

    Подключите кабель разъемом Micro-B к так называемому «порту для программирования» на Due . Это USB-порт, который находится ближе к DC -разъему, т.е. разъему для питания переменным током. Чтобы загрузить скетч, открываем меню Инструменты > Плата (Tools > Board) и выбираем там . Затем выбираем нужный порт в меню Инструменты > Порт (Tools > Port) .

    На официальном форуме Arduino есть специальная ветка , посвященная Arduino Due .

    Чтобы программировать на Due , версия IDE Arduino должна быть не старее 1.5 . Загрузить ее можно отсюда .

    Отличия от плат на базе ATmega

    Использование Arduino Due почти ничем не отличается от использования других Arduino . Однако несколько важных отличий и функциональных расширений все же есть.

    Контакты на Arduino Due расположены так же, как и на Arduino Mega 2560 .

    Питание

    Микроконтроллеру, которым оснащена Arduino Due , нужно питание 3,3 вольт – это значит, что все датчики и прочие устройства можно будет питать только этими 3,3 вольтами . Если подключить более высокое напряжение (вроде 5 вольт , которыми обычно питаются Arduino ), это приведет к повреждению Due .

    Плата может питаться либо от USB -коннекторов, либо от DC -разъема. При использовании DC -разъема напряжение должно быть в пределах 7-12 вольт .

    Arduino Due оснащена импульсным стабилизатором напряжения, чьи характеристики соответствуют требованиям для устройств с функцией USB -хоста. Благодаря этому Due может выступать в качестве источника питания для USB -устройства, подключенного к ее штатному USB -порту. То есть, по сути, служить USB -хостом. Однако для этого она сама должна быть подключена к источнику питания через DC -разъем.

    USB-порты на Due

    Модель Arduino Due оснащена двумя USB -портами. Штатный USB -порт поддерживает CDC -коммуникацию (от Connected Device Class ; означает то, что плата будет отображаться для ОС как виртуальный последовательный порт) через объект SerialUSB и подключен напрямую к микропроцессору SAM3X . Другой USB -порт – это порт для программирования. Он подключен к чипу ATMEL 16U2 , который служит USB-UART преобразователем. Именно этот порт по умолчанию используется для загрузки скетчей и коммуникации с Arduino .

    Преобразователь USB-UART подключен к первому UART ’у микропроцессора SAM3X . Благодаря этому с портом для программирования можно взаимодействовать при помощи объекта Serial из языка Arduino .

    USB -коннектор на штатном порте напрямую подключен к контактам USB -хоста SAM3X . Таким образом, благодаря штатному порту Due можно использовать и как клиентское периферийное USB -устройство (например, как мышь или клавиатура, подключенные к компьютеру), и как USB -хост, к которому могут быть подключены различные USB -устройства (вроде тех же мыши, клавиатуры или телефона на Andriod ). Кроме того, этот порт можно использовать как виртуальный последовательный порт при помощи объекта SerialUSB в языке программирования Arduino .

    Автоматический (программный) сброс

    Микроконтроллер SAM3X отличается от микроконтроллеров AVR тем, что перед тем, как снова его программировать, его flash -память должна быть очищена. Это можно сделать вручную – сначала секунду нажимать на кнопку очистки памяти, потом нажать на кнопку в IDE Arduino , а после этого нажать на кнопку сброса.

    Это скучная и монотонная процедура, однако ее можно автоматизировать. Но для каждого из портов это делается по-разному:

    • Штатный порт. Когда штатный порт, работающий на скорости 1200 бит/с , открывается и закрывается, это запускает процедуру т.н. «мягкой очистки» flash -память очищается, а плата перезагружается при помощи загрузчика. Если микроконтроллер во время этого процесса по какой-то причине зависнет, то процедура «мягкой очистки» , скорее всего, не сработает, т.к. выполняется при помощи ПО внутри самого микроконтроллера.

    В то же время, если штатный порт будет открыт/закрыт не на 1200 бит/с , а на какой-то другой скорости, то SAM3X сброшен не будет. Чтобы воспользоваться монитором порта и с его помощью увидеть, какие данные скетч будет отправлять в самом начале работы Due , в секцию setup() нужно вписать дополнительный код – благодаря ему SAM3X перед выполнением скетча будет ждать открытия SerialUSB -порта:

    while (! Serial) ;

    Если нажать на Due кнопку сброса (Reset ), то будет сброшен и SAM3X , и USB -соединение. Если у вас во время этого разрыва будет открыт «Монитор порта» , то для восстановления соединения его нужно будет закрыть и снова открыть.

    • Порт для программирования. USB -порт для программирования использует чип-преобразователь USB-UART , подключенный к первому UART ’у микроконтроллера (а если точнее – к контактам RX0 и TX0 ). Кроме того, два контакта этого чипа подключены к контактам Reset и Erase на SAM3X . Таким образом, когда вы открываете порт для программирования, то перед самым началом коммуникации чип запускает последовательность Erase-Reset , тем самым очищая память SAM3X .

    Это более надежная процедура, чем та, что имеется на штатном порте, и если микроконтроллер зависнет, она должна сработать лучше.

    Чтобы настроить последовательную передачу данных через порт для программирования, нужно использовать объект Serial . Все скетчи, использующие последовательную коммуникацию на базе Uno , должны работать таким же образом. Порт для программирования на Due работает примерно так же, как последовательный порт Uno – в том отношении, что преобразователь USB-UART сбрасывает плату каждый раз, когда вы открываете коммуникацию через монитор порта (или другую последовательную коммуникацию).

    Нажатие на Reset во время коммуникации через порт для программирования не оборвет USB -соединение с компьютером, т.к. сброшен будет только микропроцессор SAM3X .

    USB-хост

    Когда Due выступает в качестве хоста, она еще и обеспечивает периферийное устройство электричеством. Поэтому мы рекомендуем подключить ее к питанию через DC -разъем.

    Разрядности АЦП и ШИМ

    Кроме того, в Due можно менять установленную по умолчанию разрядность для считывания и записи аналоговых данных (10 бит и 8 бит , соответственно). Она может поддерживать разрядность до 12 бит – и для АЦП , и для ШИМ . Более подробно читайте на соответствующих страницах – и .

    Расширенная функциональность SPI

    Модель Due также имеет SPI -шину с расширенными возможностями, которые могут пригодиться, когда к плате подключено несколько устройств, и они общаются с нею на разных скоростях. Более подробно читайте .

    Установка драйверов

    OSX

    • На OSX никаких драйверов устанавливать не нужно. В зависимости от версии ОС перед вами может появиться окно, спрашивающее, не хотите ли вы открыть сетевые настройки. Кликните на кнопку «Network Preferences…» , а затем на «Apply» . Плата Due будет показана как «Not Configured» , но работать все же будет. После этого из «System Preferences» можно выйти.

    Windows (тестировалось на XP и 7)

    • Загрузите Windows -версию IDE Arduino и распакуйте загруженный файл. Убедитесь, что структура распакованных файлов осталась нетронутой.
    • Подключите Due к компьютеру при помощи USB -кабеля через порт для программирования.
    • Когда плата будет подключена, Windows должна запустить процесс установки драйверов. Впрочем, самостоятельно найти драйвер она не сможет. Вам нужно будет помочь ей сделать это. Образно говоря, ткнуть ее в этот драйвер носом.
    • Нажмите кнопку «Пуск» (или клавиши Win + X) и откройте «Панель управления» .
    • Кликните по пункту «Система и безопасность» , потом по «Система» и, наконец, по «Диспетчер устройств» .
    • Ищите секцию «Порты (COM и LPT)» . Здесь должен быть открытый порт «Arduino Due Prog. Port» .
    • Кликните по нему правой кнопкой и выберите пункт «Обновить драйверы...»

    Linux

    • Установка драйверов не требуется.

    Установка ядра Arduino SAM

    Если вы используете Arduino IDE версии 1.6.2 и новее, то вам надо будет установить ядро, поддерживающее Arduino Due . Инструкции для этой процедуры описаны .

    С точки зрения пользователя процесс загрузки скетча на Due такой же, как и на других моделях Arduino . Мы рекомендуем использовать для этих целей порт для программирования, но вообще делать это можно через оба USB -порта. Для загрузки через порт для программирования нужно проделать следующее:

    • Подключите плату к компьютеру, подсоединив USB -кабель к порту для программирования на Due (это порт, находящийся ближе к DC -разъему).
    • Откройте IDE Arduino .
    • В меню Инструменты > Порт (Tools > Serial Port) выберите порт Due .
    • В меню Инструменты > Плата (Tools > Board) выберите Arduino Due (Programming Port) .

    Теперь на Arduino Due можно загружать скетчи.

    Более подробно читайте на странице , описывающей оборудование платы.

    Плата Arduino Due построена на базе процессора Atmel SAM3X8E ARM Cortex-M3. Это первая плата Arduino на базе 32-битного ARM микроконтроллера. Она имеет 54 цифровых входных/выходных вывода (из которых 12 могут использоваться в качестве ШИМ выходов), 12 аналоговых входов, 4 UART (аппаратных последовательных порта), опорную частоту 84 МГц, USB соединение с возможностью OTG, 2 ЦАП (цифро-аналоговых преобразователя), 2 TWI, разъем питания, разъем SPI, разъем JTAG, кнопку перезагрузки и кнопку стирания.

    Внимание : в отличие от других плат Arduino, плата Arduino Due работает с напряжением 3,3В. Максимальное напряжение, которое можно подавать на входные/выходные выводы, составляет 3,3В. Подача на входные/выходные выводы напряжений выше 3,3В может привести к выходу платы из строя.

    Плата содержит всё необходимое для работы с микроконтроллером; для того, чтобы начать работу с ней, просто подключите ее к компьютеру с помощью microUSB кабеля или подайте питание от блока питания AC/DC или от батареи. Arduino Due совместима со всеми платами расширения Arduino, которые работают с 3,3В, и совместима с распиновкой Arduino версии 1.0.

    Технические характеристики

    Микроконтроллер AT91SAM3X8E
    Рабочее напряжение 3,3 В
    Входное напряжение (рекомендуемое) 7-12 В
    Входное напряжение (предельное) 6-16 В
    Цифровые входные/выходные выводы 54 (12 из которых могут использоваться в качестве ШИМ выходов)
    Аналоговые входные выводы 12
    Аналоговые выходные выводы 2 (ЦАП)
    Постоянный ток через входные/выходные выводы 130 мА
    Постоянный ток через вывод 3,3 В 800 мА
    Постоянный ток через вывод 5 В 800 мА
    Флеш-память 512 Кбайт (вся доступна для пользовательских приложений)
    Оперативная память SRAM 96 Кбайт (два банка: 64 Кб и 32 Кб)
    Тактовая частота 84 МГц
    Длина 101,52 мм
    Ширина 53,3 мм
    Вес 36 г

    Документация

    Схемы, разводка платы, размеры

    Arduino Due является открытой аппаратной платформой. Вы можете изготовить собственную плату, используя следующие файлы:

    Преимущества архитектуры ARM

    • 32-битное ядро, что позволяет выполнять операции с 4-байтными данными за один такт CPU;
    • тактовая частота CPU составляет 84 МГц;
    • 96 килобайт SRAM;
    • 512 килобайт флеш-памяти для кода программ;
    • DMA контроллер, что может освободить CPU от выполнения задач по интенсивной работе с памятью.

    Питание

    Arduino Due может получать питание либо через подключение USB, либо от внешнего источника питания. Источник питания выбирается автоматически.

    Внешнее (не USB) питание может подаваться либо от AC/DC адаптера, либо от батареи. Адаптер может быть подключен с помощью 2,1 мм разъема питания с положительным контактом в центре. Питание от батареи может быть подано на выводы Vin и GND разъема POWER.

    Плата может работать от внешнего питания от 6 до 20 вольт. Если подается питание меньше, чем 7 вольт, то на выводе 5V питание может составлять менее пяти вольт, и плата может начать работать нестабильно. Если используется питание более 12В, регулятор напряжения может перегреться и повредить плату. Рекомендуется использовать напряжение питания в диапазоне от 7 до 12 вольт.

    Выводы питания:

    • Vin . Вход питания платы при использовании внешнего источника питания (используется при отсутствии 5 вольт от USB подключения или от другого регулируемого источника питания). Вы можете подать питание через этот вывод, или, если напряжение питания подается через разъем питания, то это напряжение 5В будет доступно и на этом выводе.
    • 5V . С этого вывода можно взять регулируемое напряжение 5В с выхода регулятора на плате. Плата может питаться через разъем питания (7-12В), через USB разъем (5В) или через вывод Vin на плате (7-12В). Подача напряжения через выводы 5V и 3.3V обходит регулятор и может повредить плату. Поэтому не советуем подавать питание на плату через эти выводы.
    • 3V3 . Питание 3,3 вольта, выдаваемое регулятором на плате. Максимальный ток 800 мА. Этот регулятор также обеспечивает питанием микроконтроллер SAM3X.
    • GND . Выводы земли.
    • IOREF . Этот вывод обеспечивает опорное напряжение, с которым работает микроконтроллер. Правильно, сконфигурированная плата расширения, может прочитать напряжение на выводе IOREF и выбрать подходящий источник питания или перевести буферы выходов для работы с напряжением либо 5В, либо 3,3В.

    Память

    SAM3X обладает 512 килобайтами (2 блока по 256 Кб) флэш-памяти для хранения кода программы. Загрузчик заранее прошит на заводе Atmel и хранится в выделенной для этого ROM памяти. Доступная SRAM память расположена в двух смежных банках 64 Кб и 32 Кб. Вся доступная память (Flash, RAM и ROM) может быть доступна напрямую через плоское адресное пространство.

    Также возможно стирание флеш-памяти SAM3X с помощью кнопки стирания, расположенной на плате. Это удалит из MCU загруженный код программы. Чтобы стереть код, нажмите и удерживайте кнопку Erase несколько секунд при поданном на плату питании.

    Входы и выходы

    Каждый из 54 цифровых выводов Arduino Due может быть использован и как вход, и как выход, с помощью функций pinMode() , digitalWrite() и digitalRead . Они работают с напряжением 3,3 вольта. Каждый вывод может обеспечить ток (в качестве источника) от 3 мА до 15 мА в зависимости от вывода, а также потреблять ток от 6 мА до 9 мА в зависимости от вывода. Они также имеют внутренний подтягивающий резистор (по умолчанию отключен) 100 кОм.

    Также некоторые выводы обладают специальными функциями:

    • последовательный порт: 0 (RX) и 1 (TX); последовательный порт 1: 19 (RX) и 18 (TX); последовательный порт 2: 17 (RX) и 16 (TX); последовательный порт 3: 15 (RX) и 14 (TX) . Выводы используются для приема (RX) и передачи (TX) последовательных данных с TTL уровнями 3,3 вольта. Выводы 0 и 1 также подключены к соответствующим выводам преобразователя USB-TTL на ATmega16U2;
    • ШИМ: выводы со 2 по 13 . Обеспечивают 8-битный ШИМ выход с помощью функции analogWrite() . Разрешение ШИМ может быть изменено с помощью функции analogWriteResolution() ;
    • SPI: разъем SPI (разъем ICSP на других платах Arduino) . Эти выводы поддерживают связь через SPI с помощью соответствующей библиотеки. SPI выводы подключены к 6-пиновому разъему в центре, который физически совместим с платами Arduino Uno, Leonardo и Mega2560. Разъем SPI может использоваться только для связи с другими SPI устройствами, но не для программирования SAM3X по технологии внутрисхемного программирования. SPI в Arduino Due обладает расширенными возможностями, которые могут использоваться с расширенных SPI методов для Due;
    • CAN: CANRX и CANTX . Эти выводы поддерживают связь по протоколу CAN, но он еще не поддерживается Arduino API;
    • светодиод: 13 . Встроенный светодиод подключен к цифровому выводу 13. При высоком уровне на выводе светодиод загорается, при низком - гаснет. Также возможно менцание светодиода, так как цифровой вывод 15 является еще и ШИМ выходом;
    • TWI 1: 20 (SDA) и 21 (SCL), TWI 2: SDA1 и SCL1 . Поддерживают связь через TWI с помощью библиотеки Wire . SDA1 и SCL1 могут управляться с помощью класса Wire1 , поставляемого библиотекой Wire . В отличие от SDA и SCL, имеющих внутренние подтягивающие резисторы, SDA1 и SCL1 такими резисторами не обладают. Поэтому для использования Wire1 необходимо добавление двух подтягивающих резисторов на линии SDA1 и SCL1;
    • Аналоговые входы: выводы от A0 до A11 . Arduino Due обладает 16 аналоговыми входами, каждый из которых обеспечивает 12-битное разрешение (т.е. 4096 разных значений). По умолчанию для совместимости с другими платами Arduino разрешение чтения устанавливается равным 10 бит. Разрешение АЦП можно изменить с помощью функции analogReadResolution() . Аналоговые входы Arduino Due измеряют напряжение от 0 до максимального значения 3,3 вольт. Подача напряжения более 3,3В на выводы Arduino Due может вывести из строя микросхему SAM3X. Функция analogReference() игнорируется платой Arduino Due. Вывод AREF подключен к выводу опорного аналогового напряжения SAM3X через резисторный мост. Для использования вывода AREF необходимо выпаять резистор BR1 на плате;
    • DAC1 и DAC2 . Эти выводы обеспечивают настоящие аналоговые выходы с 12-битным разрешением (4096 уровней) с помощью функции analogWrite() . Эти выводы могут использоваться для создания аудиовыхода с помощью библиотеки Audio .

    Еще пара выводов:

    • AREF . Опорное напряжение для аналоговых входов. Используется совместно с analogReference() ;
    • Reset . Низкий уровень на этом выводе приводит к перезагрузке микроконтроллера. Обычно используется для добавления кнопки сброса на платы расширения, закрывающей доступ к кнопке сброса на самой плате Arduino.
    Таблица соответствия между выводами Arduino Due и портами SAM3X
    Номер вывода Arduino Due Название вывода SAM3X Название соответствующего вывода Arduino Due Максимальный выходной ток (мА) Максимальный потребляемый ток (мА)
    0 PA8 RX0 3 6
    1 PA9 TX0 15 9
    2 PB25 Цифровой вывод 2 3 6
    3 PC28 Цифровой вывод 3 15 9
    4 Подключен и к PA29 , и к PC26 Цифровой вывод 4 15 9
    5 PC25 Цифровой вывод 5 15 9
    6 PC24 Цифровой вывод 6 15 9
    7 PC23 Цифровой вывод 7 15 9
    8 PC22 Цифровой вывод 8 15 9
    9 PC21 Цифровой вывод 9 15 9
    10 Подключен и к PA28 , и к PC29 Цифровой вывод 10 15 9
    11 PD7 Цифровой вывод 11 15 9
    12 PD8 Цифровой вывод 12 15 9
    13 PB27 Цифровой вывод 13 / желтый светодиод "L" 3 6
    14 PD4 TX3 15 9
    15 PD5 RX3 15 9
    16 PA13 TX2 3 6
    17 PA12 RX2 3 6
    18 PA11 TX1 3 6
    19 PA10 RX1 3 6
    20 PB12 SDA 3 6
    21 PB13 SCL 3 6
    22 PB26 Цифровой вывод 22 3 6
    23 PA14 Цифровой вывод 23 15 9
    24 PA15 Цифровой вывод 24 15 9
    25 PD0 Цифровой вывод 25 15 9
    26 PD1 Цифровой вывод 26 15 9
    27 PD2 Цифровой вывод 27 15 9
    28 PD3 Цифровой вывод 28 15 9
    29 PD6 Цифровой вывод 29 15 9
    30 PD9 Цифровой вывод 30 15 9
    31 PA7 Цифровой вывод 31 15 9
    32 PD10 Цифровой вывод 32 15 9
    33 PC1 Цифровой вывод 33 15 9
    34 PC2 Цифровой вывод 34 15 9
    35 PC3 Цифровой вывод 35 15 9
    36 PC4 Цифровой вывод 36 15 9
    37 PC5 Цифровой вывод 37 15 9
    38 PC6 Цифровой вывод 38 15 9
    39 PC7 Цифровой вывод 39 15 9
    40 PC8 Цифровой вывод 40 15 9
    41 PC9 Цифровой вывод 41 15 9
    42 PA19 Цифровой вывод 42 15 9
    43 PA20 Цифровой вывод 43 3 6
    44 PC19 Цифровой вывод 44 15 9
    45 PC18 Цифровой вывод 45 15 9
    46 PC17 Цифровой вывод 46 15 9
    47 PC16 Цифровой вывод 47 15 9
    48 PC15 Цифровой вывод 48 15 9
    49 PC14 Цифровой вывод 49 15 9
    50 PC13 Цифровой вывод 50 15 9
    51 PC12 Цифровой вывод 51 15 9
    52 PB21 Цифровой вывод 52 3 6
    53 PB14 Цифровой вывод 53 15 9
    54 PA16 Аналоговый вход 0 3 6
    55 PA24 Аналоговый вход 1 3 6
    56 PA23 Аналоговый вход 2 3 6
    57 PA22 Аналоговый вход 3 3 6
    58 PA6 Аналоговый вход 4 3 6
    59 PA4 Аналоговый вход 5 3 6
    60 PA3 Аналоговый вход 6 3 6
    61 PA2 Аналоговый вход 7 3 6
    62 PB17 Аналоговый вход 8 3 6
    63 PB18 Аналоговый вход 9 3 6
    64 PB19 Аналоговый вход 10 3 6
    65 PB20 Аналоговый вход 11 3 6
    66 PB15 DAC0 3 6
    67 PB16 DAC1 3 6
    68 PA1 CANRX 3 6
    69 PA0 CANTX 15 9
    70 PA17 SDA1 3 6
    71 PA18 SCL2 15 9
    72 PC30 светодиод "RX" 15 9
    73 PA21 светодиод "TX" 3 6
    74 PA25 (MISO) 15 9
    75 PA26 (MOSI) 15 9
    76 PA27 (SCLK) 15 9
    77 PA28 (NPCS0) 15 9
    78 PB23 (не подключен) 15 9
    USB PB11 ID 15 9
    USB PB10 VBOF 15 9

    Связь

    Плата Arduino Due обладает рядом возможностей для связи с компьютером, с другой платой или с другими микроконтроллерами, а также с различными устройствами, например, с телефонами, планшетами, камерами и т.д. SAM3X обеспечивает один аппаратный UART порт и три аппаратных USART порта для последовательной связи с TTL уровнями (3,3 вольта).

    Порт программирования подключен к микроконтроллеру ATmega16U2, который обеспечивает виртуальный COM порт для связи с программным обеспечением на компьютере (для опознания устройства Windows машинам понадобится inf-файл, машины на OSX и Linux определят плату, как COM порт, автоматически). ATmega16U2 также подключена к аппаратному порту UART SAM3X. Последовательный порт на выводах RX0 и TX0 обеспечивает связь COM-USB для программирования платы через микроконтроллер ATmega16U2. Arduino IDE включает в себя монитор последовательного порта, который позволяет посылать и принимать от платы простые текстовые данные. Светодиоды RX и TX на плате загораются при передаче данных через микросхему ATmega16U2 и USB соединение (но не при передаче данных через выводы 0 и 1 последовательного порта).

    Собственный USB порт подключен к SAM3X. Это позволяет использовать последовательную (CDC) связь поверх USB. Это обеспечивает последовательное соединение с монитором последовательного порта или с другими приложениями на вашем компьютере. Это также позволяет Arduino Due имитировать USB мышь или клавиатуру, подключенную к компьютеру. Для использования этой возможности посмотрите на документацию библиотек Mouse и Keyboard .

    Собственный USB порт может также работать, как USB хост для подключенных периферийных устройств, например, мышь, клавиатура и смартфон.

    SAM3X также поддерживает связь через TWI и SPI. Arduino IDE включает в себя библиотеку Wire для упрощения использования шины TWI. Для связи через SPI используется библиотека SPI .

    Программирование

    Arduino Due может быть прошит с помощью Arduino IDE.

    Загрузка скетчей на SAM3X отличается от загрузки на AVR микроконтроллеры, установленные на другие платы Arduino, так как перед перепрограммированием необходимо стереть флеш-память. Загрузка кода управляется памятью ROM в SAM3X, которая запускается, только когда флеш-память контроллера пуста.

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

    • Порт программирования: для использования этого порта выберите в Arduino IDE "Arduino Due (Programming Port)". Подлкючите Arduino Due к вашему компьютеру через порт программирования (ближайший к разъему питания). Порт программирования использует ATmega16U2 в качестве преобразователя "USB - последовательный порт", подключенного к первому порту UART SAM3X (RX0 и TX0). У ATmega16U2 есть два вывода, подключенных к выводам Reset и Erase SAM3X. Открытие и закрытие порта программирования, подключенного на скорости 1200 бит/с, вызывает процедуру «аппаратного стирания» микросхемы SAM3X, активируя выводы Erase и Reset SAM3X перед установлением соединения через UART. Рекомендуется использовать этот порт для программирования Arduino Due. Этот способ более надежен, чем «программное стирание», которое используется совместно с собственным портом, и будет работать, даже если главный микропроцессор будет поврежден.
    • Собственный порт: для использования этого порта выберите в Arduino IDE "Arduino Due (Native USB Port)". Собственный USB порт подключен непосредственно к SAM3X. Подлкючите Arduino Due к вашему компьютеру через собственный USB порт (ближайший к кнопке перезагрузки). Открытие и закрытие собственного порта, подключенного на скорости 1200 бит/с, вызывает процедуру «программного стирания»: флеш-память стирается и плата перезапускается с загрузчиком. Если MCU по какой-то причине поврежден, то, вероятно, программное стирание работать не будет, так как эта процедура в SAM3X выполняется полностью программно. Открытие и закрытие собственного порта на других скоростях передачи не приводит к перезагрузке SAM3X.

    В отличие от других плат Arduino, которые используют avrdude для прошивки, Arduino Due использует bossac.

    Прошивка ATmega16U2 доступна в репозитории Arduino. Вы можете использовать разъем ISP с внешним программатором (перезаписывающим DFU загрузчик).

    Защита USB от перегрузки по току

    Arduino Due имеет самовосстанавливающийся предохранитель, который защищает USB порты вашего компьютера от короткого замыкания и перегрузки по току. Несмотря на то, что большинство компьютеров обеспечивают свою собственную внутреннюю защиту, этот предохранитель дает дополнительный уровень защиты. Если ток через USB порт превышает 500 мА, предохранитель автоматически разрывает соединение, пока короткое замыкание или перегрузка не будут устранены.

    Мощная плата Arduino DUE имеет 32-битное ядро, производительность которого существенно превосходит 8-ми битные чипы, установленные на других платах итальянского производителя. Питание платформы осуществляется от внешнего источника или от USB порта. На процессор Atmel при его изготовлении записывается загрузчик, что позволяет обойтись без внешних программаторов. Широкий ассортимент входов позволяет осуществлять Arduino DUE простые проекты и решать сложные задачи.

    Платформа укомплектована средствами связи с ПК, другими платами Arduino, планшетами, смартфонами и другими автоматизированными устройствами. Программируется с помощью ПО производителя, загрузить программы на SAM3X можно только стерев flash-память. Осуществить программирование Arduino DUE можно через один из двух USB портов. Выводы платформы аналогичны плате Arduino 1.0, что облегчает использование ее в проектах с применением других продуктов компании. Доступная на Arduino DUE цена делает этот микроконтроллер одним из самых популярных в своем классе.

    Технические характеристики Arduino DUE

    Плата DUE имеет следующие технические параметры:

    • Питание – 3,3 В (не рекомендуется подавать напряжение более этого значения на выводы во избежание повреждения устройства);
    • Flash-память – 512 кБ;
    • ОЗУ микрочипа – 96 кБ;
    • Тактовая частота – 84 МГц;
    • Количество цифровых входов – 54;
    • Количество аналоговых входов – 2;
    • Габариты – 102х53 мм;
    • Расстояние между выводами 2,54 мм.

    The Arduino Due is a microcontroller board based on the Atmel SAM3X8E ARM Cortex-M3 CPU . It is the first Arduino board based on a 32-bit ARM core microcontroller.

    On this page... ()

    Use your Arduino Due on the Arduino Web IDE

    All Arduino boards, including this one, work out-of-the-box on the , no need to install anything .

    The Arduino Web Editor is hosted online, therefore it will always be up-to-date with the latest features and support for all boards. Follow this to start coding on the browser and upload your sketches onto your board.

    Use your Arduino Due on the Arduino Desktop IDE

    If you want to program your Arduino Due while offline you need to install the and add the Atmel SAMD Core to it. This simple procedure is done selecting Tools menu , then Boards and last Boards Manager , as documented in the page.
    Attach the USB micro side of the USB cable to the Due"s Programming port (this is the port closer to the DC power connector). To upload a sketch, choose Arduino Due (Programming port) from the Tools > Board menu in the Arduino IDE, and select the correct serial port from the Tools > Serial Port menu.

    Installing the Arduino Sam Boards core

    If you are using the Arduino IDE version 1.6.2 or newer you need to install the core that supports the Arduino Due. Please follow to install the new core.

    Installing Drivers for the Due

    OSX
    • No driver installation is necessary on OSX. Depending on the version of the OS you"re running, you may get a dialog box asking you if you wish to open the “Network Preferences”. Click the "Network Preferences..." button, then click "Apply". The Due will show up as “Not Configured”, but it is still working. You can quit the System Preferences.
    Windows (tested on XP and 7)
    Linux
    • No driver installation is necessary for Linux.

    Select your board and port

    The uploading process on the Arduino Due works the same as other boards from a user"s standpoint. It is recommended to use the Programming port for uploading sketches, though you can upload sketches on either of the USB ports.

    port follow this steps:

    • Connect your board to the computer by attaching the USB cable to the Due"s Programming port (this is the port closer to the DC power connector).
    • In the "Tools" menu choose "Serial Port" and select the serial port of the Due
    • Under the "Tools > Boards" menu select "Arduino Due (Programming port)"

    Open your first sketch

    Everything is now ready to upload your first sketch. Go to File on the Arduino Software (IDE) and open the Examples tree; select 01. Basic and then Blink

    This sketch just flashes the built in LED connected to Digital pin 13 at one second pace for on and off, but it is very useful to practice the loading of a sketch into the Arduino Software (IDE) and the Upload to the connected board.

    Upload the program

    Press the second round icon from left on the top bar of the Arduino Software (IDE) or press Ctrl+U or select the menu Sketch and then Upload .

    Learn more on the Desktop IDE

    When using the Due as a host, it will be providing power to the attached device. It is strongly recommended to use the DC power connector when acting as a host.

    ADC and PWM resolutions

    The Due has the ability to change its default analog read and write resolutions (10-bits and 8-bits, respectively). It can support up to 12-bit ADC and PWM resolutions. See the and pages for information.

    Expanded SPI functionality

    The Due has expanded functionality on its SPI bus, useful for communicating with multiple devices that speak at different speeds. See the for more details.

    Last revision2017/01/10 by SM

    The text of the Arduino getting started guide is licensed under a Creative Commons Attribution-ShareAlike 3.0 License . Code samples in the guide are released into the public domain.

Похожие публикации