8-900-374-94-44
[email protected]
Slide Image
Меню

Arduino due характеристики – Arduino Due (дополнено) | Аппаратная платформа Arduino

Содержание

Arduino Due (дополнено) | Аппаратная платформа Arduino

Arduino Due, вид спереди Arduino Due, вид сзади
Общие сведения

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

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

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

Расположение выводов Due повторяет цоколевку Arduino 1.0:

  • TWI: Выводы SDA и SCL расположены рядом с выводом AREF.
  • Вывод IOREF, который позволяет с помощью правильной конфигурации адаптировать присоединенную плату расширения к напряжению, выдаваемому Arduino. Благодаря этому платы расширения могут быть совместимы и с 3,3-вольтовыми платами типа Due и с платами на базе AVR, работающими от 5 В.
  • Неподключенные выводы, зарезервированные для использования в будущем.

Преимущества ядра ARM

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

32-битное ядро, позволяющее выполнять операции с данными шириной 4 байта за 1 такт (более подробную информацию смотри на странице int type).

  • частота процессора (CPU) 84 МГц.
  • 96 КБ ОЗУ.
  • 512 КБ флеш-памяти для хранения программ.
  • контроллер DMA, который разгружает центральный процессор от выполнения интенсивных операций с памятью.
Схема, исходные данные и расположение выводов

Файлы EAGLE: arduino-Due-reference-design.zip

Схема: arduino-Due-schematic.pdf

Расположение выводов: SAM3X Pin Mapping page

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

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

AT91SAM3X8E

Рабочее напряжение

3,3 В

Входное напряжение (рекомендуемое)

7-12 В

Входное напряжение (предельное)

6-20 В

Цифровые Входы/Выходы

54 (на 12 из которых реализуется выход ШИМ)

Аналоговые входы

12
Аналоговые выходы 2 (ЦАП)
Общий выходной постоянный ток
на всех входах/выходах

50 мА

Постоянный ток через вывод 3,3 В 800 мА
Постоянный ток через вывод 5 В 800 мА
Флеш-память 512 КБ доступно всего для пользовательских приложений
ОЗУ 96 КБ (два банка: 64 КБ и 32 КБ)
Тактовая частота 84 МГц
Питание

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

Внешним (не USB) источником питания может быть либо AC/DC преобразователь («wall wart» — адаптер в одном корпусе с вилкой), либо батарея. Адаптер подключается к разъему питания платы 2,1 мм штепсельной вилкой с центральным положительным контактом. Выводы батареи подключаются к контактам Gnd и Vin разъема POWER. Плата может функционировать при внешнем питании от 6 до 20 В. Но если напряжение питания опускается ниже 7 В, на выводе 5 В  может оказаться меньше пяти вольт, и плата будет работать нестабильно. Если же подается напряжение более 12 В, может перегреться стабилизатор напряжения, что приведет к повреждению платы. Рекомендуемый диапазон напряжений – от 7 до 12 В.

Ниже перечислены выводы питания:

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

Флеш-память SAM3X составляет 512 КБ (2 блока по 256 КБ) для хранения программ. Загрузчик (бутлодер) записывается Atmel при производстве и хранится в специально отведенном для него ПЗУ. Доступный объем ОЗУ составляет 96 КБ в двух смежных банках – 64 КБ и 32 КБ. Вся доступная память (флеш-память, ОЗУ и ПЗУ) может адресоваться напрямую как плоское адресное пространство.

Существует возможность стереть флеш-память SAM3X с помощью встроенной кнопки стирания. При этом из микропроцессора удалится текущая загруженная программа. Для стирания нажмите и несколько секунд удерживайте кнопку стирания при включенном питании платы. 

Входы и Выходы
  • Цифровые входы/выходы: выводы с 0 по 53
    Каждый из 54 цифровых выводов 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 соединены с соответствующими выводами последовательного контроллера ATmega16U2 USB-to-TTL. 
  • ШИМ: выводы с 2 по 13 
    На них реализуется 8-битный выход ШИМ с помощью функции analogWrite(). Разрешение ШИМ можно менять, используя функцию analogWriteResolution().
  • SPI: разъем SPI (разъем ICSP на других платах Arduino)
    Данные выводы служат для связи по SPI с использованием библиотеки SPI. Сигналы SPI выведены на центральный 6-контактный разъем, который физически совместим с Uno, Leonardo и Mega2560. Разъем SPI можно использовать только для связи с другими устройствами SPI, но не для программирования SAM3X по технологии внутрисхемного последовательного программирования (ICSP). SPI на Due также имеет расширенные функции, доступные при использовании Расширенных методов SPI для Due.
  • CAN
    : CANRX и CANTX
    На этих выводах поддерживается протокол связи CAN, но пока его не поддерживают программные интерфейсы (API) Arduino. 
  • «L» LED: 13 
    Встроенный светодиод, подключенный к цифровому выводу 13. При высоком уровне сигнала на данном выводе, светодиод включается, при низком – выключается. Возможно также убавить яркость светодиода, поскольку вывод 13 одновременно является выходом ШИМ.
  • TWI 1: 20 (SDA) и 21 (SCL)
  • TWI 2: SDA1 и SCL1 
    На данных выводах с использованием библиотеки  Wire поддерживается связь по TWI.
  • Аналоговые входы: выводы с A0 по A11 
    Плата Arduino Due имеет 12 аналоговых входов, каждый из которых может обеспечить разрешение 12 бит (т.е. 4096 различных значений). По умолчанию установлено разрешение 10 бит для совместимости с другими платами Arduino. Разрешение АЦП можно менять при помощи функции analogReadResolution(). Аналоговые ходы Due производят измерения от уровня земли до максимального значения 3,3 В. Приложение к этим выводам напряжения свыше 3,3 В вызовет повреждение кристалла SAM3X. Функция analogReference() на Due игнорируется.
    Вывод AREF подключен к аналоговому выводу опорного напряжения SAM3X через резисторный мост. Для активации вывода AREF необходимо отпаять с печатной платы резистор BR1.
  • DAC1 и DAC2 
    На выводах ЦАП  DAC1 и DAC2 предоставляются достоверные аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite(). Данные выводы можно использовать для создания аудиовыхода, используя при этом библиотеку Audio. 

Другие выводы:

  • AREF 
    Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
  • Reset 
  • По низкому уровню на этой линии происходит сброс микроконтроллера. Типичное применение вывода Reset – добавление кнопки сброса на плату расширения, которая перекрывает эту кнопку на микроконтроллере. 
Связь

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

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

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

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

Контроллер SAM3X поддерживает, кроме того, связь по интерфейсам  TWI и SPI.  Программное обеспечение Arduino включает в себя библиотеку Wire для облегчения работы с шиной TWI; смотрите более детальное описание в документации. Для связи через SPI воспользуйтесь библиотекой SPI.

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

Arduino Due можно запрограммировать с помощью программных средств Arduino (скачать). Более детальная информация содержится в справочнике.

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

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

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

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

Исходный код программы для ATmega16U2 доступен в  архиве Arduino. К разъему ISP можно подключать внешний программатор (перезаписывая загрузчик DFU). Более подробную информацию можно найти в инструкциях для помощи пользователям.

Токовая защита разъема USB

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

Физические характеристики и совместимость с платами расширения

Максимальная длина печатной платы Arduino Due равна 4 дюйма, а ширина – 2,1 дюйма, без учета USB соединителей и разъема питания, которые выступают за приведенные габаритные размеры. Три отверстия под винты позволяют закрепить плату на поверхности или в корпусе. Обратите внимание, что расстояние между цифровыми выводами  7 и 8 составляет  160 мил (0.16″, 4,064 мм), не кратно промежуткам в 100 мил (2,54 мм) между остальными выводами.

Arduino Due сделан совместимым с большинством плат расширения, разработанных для Uno, Diecimila или Duemilanove. Цифровые выводы с 0 по 13 (и соседние выводы AREF и GND), аналоговые входы с 0 по 5, разъем питания, разъем «ICSP» (SPI) расположены одинаково на всех платах. Более того, основной UART (последовательный порт) находится на тех же выводах (0 и 1).
Пожалуйста, обратите внимание, что шина  I2C расположена в Arduino Due на других выводах (20 и 21), не так как в Duemilanove / Diecimila (аналоговые входы  4 и 5).

arduino.ru

Arduino Due [Амперка / Вики]

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

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

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

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

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

Микроконтроллер Atmel SAM3X8E ARM Cortex-M3

Сердцем платы Arduino Due является 32-битное ARM ядро AT91SAM3X8E с тактовой частотой 84 МГц, 512 КБ флеш-памяти и 96 ОЗУ, превосходящее по производительности обычные 8-битные микроконтроллеры.

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

Микроконтроллер ATmega16U2 создает порт программирования для связи микроконтроллера SAM3X с USB-портом компьютера . При подключении к ПК Arduino Due определяется как виртуальный COM-порт. Перепрошивка микросхемы 16U2 производится через ICSP разъём используя стандартные драйвера USB-COM.

Пины питания

  • VIN: Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.

  • 5V: На вывод поступает напряжение 5 В от стабилизатора напряжения на плате, независимости от того, как запитано устройство: от адаптера (7–12 В), от USB (5 В) или через вывод VIN (7–12 В). Питать устройство через вывод 5V не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.

  • 3.3V: 3,3 В от стабилизатора напряжения платы. Максимальный ток — 800 мА. Cтабилизатор также обеспечивает питание микроконтроллера SAM3X.

  • GND: Выводы земли.

  • IOREF: Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения на нём, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами.

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

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

  • Цифровые входы/выходы: пины 053
    Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 3 или 15 мА в зависимости от вывода микроконтроллера, или ток входа — 6 или 9 мА. К контактам подключены подтягивающие резисторы 100 кОм, которые по умолчанию выключены, но могут быть включены программно.

  • ШИМ: пины 213
    Позволяют выводить аналоговые значения в виде ШИМ-сигнала. Разрешение ШИМ позволяет менять функция analogWriteResolution().

  • АЦП: пины A0A11
    12 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 12-битного числа (4096 значений). По умолчанию выставлена разрядность — 10 бит, для совместимости с другими платами. Разрешение АЦП можно менять с помощью функции analogReadResolution(). Аналоговые входы платы производят измерения от 0 до максимального значения 3,3 В. Если подать на вход напряжения свыше 3,3 В — это вызовет повреждение кристалла SAM3X.

  • TWI/I²C: пины 20(SDA), 21(SCL)и TWI 2/I²C 2: SDA1 и SCL1
    Для общения с периферией по синхронному протоколу, через 2 провода. Для работы используйте библиотеку Wire.

  • SPI: Пины SPI выведены на центральный 6-контактный разъем, совместимый с Uno, Leonardo и Mega2560.
    Для коммутации по интерфейсу SPI используйте библиотеку SPI.

  • UART: Serial: пины 0(RX) и 1(TX); Serial1: пины 19(RX1) и 18(TX1);Serial2: пины 17(RX2) и 16(TX2); Serial3: пины 15(RX3) и 14(TX3).
    Эти выводы используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Выводы 0(RX) и 1(TX) соединены с соответствующими выводами микросхемы ATmega16U2, выполняющей роль преобразователя USB-UART. Для связи Arduino Due с компьютером через порт программирования, используйте класс Serial.

  • DAC1/DAC2: На выводах ЦАП DAC1 и DAC2 доступны аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite(). Данные выводы можно использовать в качестве аудиовыхода, используя библиотеку Audio.

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

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

Разъём Programming USB

Разъём предназначен для прошивки платформы Arduino Due с помощью компьютера. Для использования этого порта выберите в Arduino IDE в качестве вашей платы «Arduino Due (Programming Port)». При этом также производится стирание предыдущей прошивки. Аппаратное стирание более надежно, чем «программное стирание», которое происходит на собственном USB порте, и будет работать даже при повреждении главного микропроцессора. В программное обеспечение Arduino входит монитор последовательной шины, который дает возможность компьютеру обмениваться простыми текстовыми сообщениями с платой подключенной через Programming USB посредством контроллера ATmega16U2.

Разъём Native USB

Чтобы использовать этот порт, выберите в Arduino IDE тип вашей платы «Arduino Due (Native USB Port)». Native USB port подключен к SAM3X, тем самым осуществляя последовательную связь (CDC) посредством USB обеспечивая подключение к монитору последовательной шины, или другим приложениям на вашем компьютере. Открытие и закрытие собственного порта при скорости передачи 1200 бит в секунду запускает процедуру «программного стирания»: флеш-память стирается и плата перезапускается с помощью загрузчика. Также это дает Due возможность эмулировать USB мышь или клавиатуру.

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

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

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

ICSP-разъём для ATmega2560

ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega2560. Также с применением библиотеки SPI данные выводы могут осуществлять связь с платами расширения по интерфейсу SPI. Линии SPI выведены на 6-контактный разъём, а также продублированы на цифровых пинах 50(MISO), 51(MOSI), 52(SCK) и 53(SS).

ICSP-разъём для ATmega16U2

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

Распиновка

Принципиальная и монтажная схемы

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

  • Микроконтроллер: AT91SAM3X8E

  • Тактовая частота: 84 МГц

  • Напряжение логических уровней: 3,3 В

  • Входное напряжение питания: 7–12 В

  • Портов ввода-вывода общего назначения: 54

  • Максимальный ток с пина ввода-вывода: 3 или 15 мА (в зависимости от вывода)

  • Максимальный выходной ток пина 3.3V: 800 мА

  • Максимальный выходной ток пина 5V: 800 мА

  • Портов с поддержкой ШИМ: 12

  • Портов, подключённых к АЦП: 12

  • Разрядность АЦП: 12 бит

  • Flash-память: 512 КБ

  • Оперативная память: 96 КБ

  • Габариты: 101×53 мм

Ресурсы

wiki.amperka.ru

описание и возможности – Электроника-РА


Ещё одно готовое устройство от 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/I2C может быть подключен к выводам 20 (SDA), 21(SCL). Отметим, что к выводам на плате подключены подтягивающие резисторы 100 кОм, по умолчанию отключенные. Необходимо подключать резисторы при организации сетевого обмена. 
  • Выводы А0–А11 внизу – аналоговые входы. Обрабатывающий сигналы с этих входов АЦП 12-битный, а значит входы могут использоваться в достаточно серьёзных приложениях. Стоит отметить, что конфигурация по умолчанию 10 бит, смена разрешения выполняется программным способом. Ещё одно замечание – для использования вывода AREF следует удалить из схемы резистор BR1. 
  • На плате всего 2 полноценных 12-битных аналоговых выхода DAC1 и DAC2. 
  • Вывод RESET при подаче низкого уровня инициирует перезагрузку контроллера. 
  • Вверху, слева от вывода 13, расположен вывод AREF – опорное напряжение АЦП и выводы SDA1, SCL1 для интерфейса TWI1/I2C1. 
В выводы могут устанавливаться платы расширения (шилды). Подключать можно весь спектр устройств 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/I2C1 и картридер.
Органы управления 
На плате установлена кнопка 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. Необходимыми предпосылками для успешной работы с устройством будет:


el-ra.ru

Arduino Due R3 — Обзор и технические характеристики платы

Новая плата Arduino Due R3 намного лучше своей прежней версии. По крайней мере это заметно по техническим характеристикам и описанию производителя.

Перейти в магазин

Описание устройства

В комплекте с микросхемой поставляется только шнур. Перейдя на сайт производителя, можно прочитать полезную инструкцию по тому как установить драйвер. Его установка происходит в знакомой многим пользователям среде. Лично я использовал версию 1.6.8.

После установки драйвера появляется возможность работать через программный порт, или же через USB порт. Естественно, лучше работать через программный порт, потому что так проще, так рекомендуется и все действия во время программирования понятны.

Во всем остальном, все, кто работал с предыдущими версиями Ардуино, не заметят почти никакой разницы в работе с новой платой. Кроме, возможно трех видов питания всех устройств, к которым оно подключается. И не все библиотеки понимают процессор этой микросхемы.

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

Микроконтроллер:AT91SAM3X8E
Входное напряжение (рекомендуется)7В — 12В
Рабочее напряжение3.3V
Входное напряжение (пределы)6-16В
Пины/цифровые54 (из которых 12 обеспечивают выход ШИМ)
Аналоговые входные контакты:12
Аналоговые выходы:2 шифта
Выходной ток Общее постоянного тока на всех линиях ввода / вывода:130 мА
постоянного тока для 3.3V штифта:800 мА
постоянного тока для 5V штифтом:800 мА
Память512 кб все доступные для пользовательских приложений
SRAM96kb (два банки: 64KB и 32KB)
Тактовая частота84MHz

Подключение платы к порту программирования

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

После этого вы заметите сообщение в левой нижней части экрана вашего монитора — «Доступны обновления для некоторых ваших библиотек». Надо отметить, что это сообщение немного отличается от предыдущих версий Ардуино. В нынешней версии процедура загрузки будет показана более подробно, чем это было раньше. Поэтому вам понадобится какое-то время, чтобы привыкнуть к ним.

В конце загрузки компонентов произойдет автоматический ресет параметров. Обращаю внимание, что такое возможно только если вы подключились через программируемый порт. В случае с USB портом вам придется «ресетить» параметры вручную.

Итог

Если вам кажется, что ваш текущий Arduino уже не слишком «тянет» ваши требования или не удовлетворительно справляется со своими задачами, рекомендую переходить на это устройство.

Отзывы пользователей

Максим Шевцов (Кременчуг)

Я рекомендую забыть вообще про этот Ардуино, и переходить на любой STM 32. Потому что порты на DUE сделаны просто ужасно. Мне кажется, что это самый большой недостаток этой платы. Сборка к тому очень кривая. А если пытаешься заменить ее дешевыми китайскими аналоговыми, то получается еще хуже. И, кстати, встроенный DAC совсем не пригоден для использования.

Александр Овечкин (Гомель)

Я купил эту плату. В принципе, она меня устраивает. Единственное, что могу сказать, что на нее я ничего не установил. Потому что все мое внимание занял ESP 8266. Так что ардуиновская плата даже со всеми своими плюсами не может тягаться с еспехой. Лично я ее поставил в одном проекте вместо Меги.

Перейти в магазин

Вконтакте

Facebook

Twitter

Google+

bazaroved.ru

Arduino Due — «ЗЛО» крепчает 🙂 / Блог им. well-man2000 / Сообщество EasyElectronics.ru

Официально вышла ардуина на ARM-е, что-то эта новость не мелькала здесь…

Почему-то не умирает эта ардуина нисколько, судя по китайским магазинам — продажи только растут и растут. А сейчас у неё, вообще, ограничений былых не будет: на новой плате стоит 32 бит МК ARM Cortex-M3 86МГц, 512K флаш + 96K ram (чипы ARM Cortex-Mx являются текущим де-факто стандартом MCU для младших embedded devices).

Вполне возможно, что Atmel выкарабкается с помощью этой новой Arduino. И возможен вал говнокода ПО для Arduino Due на Wiring-е уже и для промышленности — писать для STM32/NXP LPC/Milandr/Stellaris и прочих ARM под C/C++ с ихними зубодробительными библиотеками или до боли в глазах по даташиту — еще то удовольствие и мазохизм для большинства жаждущих сваять что-то.

Кроме того, чтобы полностью, так сказать, соответствовать современным реалиям — возможно вскоре и свою RTOS замутят или же FreeRTOS прикрутят.

Масса плат для коптеров — это та же Arduino, только в другой pcb-hardware оболочке, но с кодом на Wiring-е. Где-то даже видел на фото китайский LCD дисплей, у которого вместо процессора воткнута сзади Arduino mini.

Сама Arduino классическая слабовата бывает по кол-ву периферии/пинов. Но те, кто освоился с ней, берут потом Arduino Mega, у которой нет такой проблемы. Новая Arduino Due сделана как раз в ее конструктиве.

Итак, возможно, что вскоре разработка МК устр-ва будет заключатся в следующем:

1. Отмакетировать hardware на Arduino и быстро заговнокодить написать ПО на Wiring-е.

2. Спроектировать платку какую нужно — круглую/квадратную со всей необходимой обвязкой на борту под чип Atmel SAM3X8E и с распиновкой обвязки под пины Arduino, т.е. под reference design её электрической схемы.

3. Все, можно запускать в производство.

4. Потребитель увидев лэйбл «Arduino Inside» — выберет именно это изделие из всех аналогичных, поскольку можно самому быстро и без ненужных умственных усилий и денежных затрат на «спеца» посмотреть/изменить/допилить ПО.

Поскольку страсть людей/юзеров/неофитов, будучи не профи, посмотреть как это сделано, полазить самому ручонками и контролировать самому это что-то — просто неистребима, тем более, если это все создавалось для уровня школяра.

Вроде бы все вокруг постепенно становится все более и более сложным, но побеждает в итоге примитивизм и простота или brute-force(грубая сила и мощь). Теперь у Arduino есть обе эти составляющие успеха в XXI веке 🙂

Opa! Arduino Style! B)

P.S. По крайней мере, альтернативы ей как букварю для начинающих, школяров и уже и даже студентов (на плате модный ARM + готовые шилды) — просто нет. Ну а LaunchPad + Energia и LeafLabs Maple со своим ПО — это просто клоны чужой хорошей идеи.

P2.S. Как уже отметили: еще одна большая ниша применения старой и тем более новой Arduino — легко программируемое МК ядро (в разном hardware исполнении) для оконечных узлов сети DIGITAL HOME (датчиков/приводов/исполнит.устр-в). Коммуникацию в такой сети можно реализовать на протоколе MODBUS с физической средой на шлейфах RS-485/радио-UART и/или поверх TCP/IP на Wi-Fi/Ethernet. Есть еще вариант на шлейфах CAN-bus.

Центральными узлами такой сети так и просятся быть Android планшеты со своим, как будто специально для этого предназначенным, интерфейсом на основе тач-скрина (аналог — панельные пром.компы и банкоматы).

Стоит взглянуть на усердно клепаемую китайцами серию «планшетов для самоделкина» FriendlyARM Mini/Tiny210x за $160-200 (например, Tiny210V2 SDK) на MCU SoC Samsung S5PV210 (ARM Cortex-A8 1GHz + PowerVR SGX540 3D Graphic Engine), в отличии от популярных ныне среди любителей процов(MCU SoC) Broadcom BCM2835 (Raspberry Pi, которую уже поставили на поток в Китае 🙂 и Allwinner A10/A13 (см.например, Olinuxino и linux-sunxi.org) имеется вменяемый даташит и BSP (Board Support Package) уже и для Android 4.0 и Linux 3.0.8 (см. ftp внизу странички www.friendlyarm.net/downloads).

Ahtung, kamerades! Такие open source технологии, как Arduino вместе с Android, до самого минимума снижают порог вхождения в домашнюю пром.автоматизацию. Весьма перспективный и новый очень жирный сектор электроники и эмбедда, который уже вот-вот начнет развиватся просто обвальными темпами.

we.easyelectronics.ru

Arduino Due — ProGDron.com

Arduino Due — плата микроконтроллера на базе процессора Atmel SAM3X8E ARM Cortex-M3. Это первая плата Arduino на основе 32-битного микро- контроллера с ARM-ядром.

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

Плата Arduino Due

 

 Характеристики платы Arduino Due

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

AT91SAM3X8E

Рабочее напряжение

3,3 В

Входное напряжение (рекомендуемое)

7–12 В

Входное напряжение (предельное)

6–20 В

Цифровые входы/выходы

54 (на 12 из которых реализуется выход ШИМ)

Аналоговые входы

12

Аналоговые выходы

2 (ЦАП)

Постоянный ток через вход/выход

50 мА

Постоянный ток для вывода 3,3 В

800 мА

Постоянный ток для вывода 5 В

800 мА

Флеш-память

512 Кбайт

ОЗУ

96 Кбайт (два банка: 64 Кбайт и 32 Кбайт)

Тактовая частота

84 МГц

Общие сведения

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

Внимание: в отличие от других плат Ардуино, рабочее напряжение Arduino Due составляет 3.3В. Соответственно, максимальное напряжение, которое могут выдержать его выводы, равно 3.3В. Подача на вывод большего напряжения (например, 5В) может привести к выходу платы из строя.

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

  • Выводы SDA и SCL (TWI) расположены возле вывода AREF.
  • Присутствует вывод IOREF, позволяющий платам расширения подстраиваться под рабочее напряжение Ардуино. Благодаря этому, платы расширения могут быть совместимы как с 3.3В-Ардуино (подобными Due), так и с 5В-Ардуино на основе микроконтроллеров AVR.
  • Предусмотрен свободный вывод, зарезервированный для будущих целей.

Преимущества использования ядра ARM

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

  • 32-битное ядро позволяет обрабатывать 4х-байтовые данные всего за один такт. (Для получения более подробной информации см. описание типа int).
  • Тактовая частота — 84 МГц.
  • Объем оперативной памяти SRAM составляет 96 КБайт.
  • Объем флеш-памяти программ — 512 КБ.
  • Наличие DMA-контроллера, позволяющего разгрузить центральный процессор от выполнения ресурсоемких операций с памятью.

Схема, исходный проект и расположение выводов

Файлы EAGLE: arduino-Due-reference-design.zip

Схема: arduino-Due-schematic.pdf

Расположение выводов: распиновка SAM3X

Питание

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

В качестве внешнего источника питания (не USB) может использоваться сетевой AC/DC-адаптер или аккумулятор/батарея. Штекер адаптера (диаметр — 2.1мм, центральный контакт — положительный) необходимо вставить в соответствующий разъем питания на плате. В случае питания от аккумулятора/батареи, ее провода необходимо подсоединить к выводам Gnd и Vin разъема POWER.

Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12В.

Ниже перечислены выводы питания, расположенные на плате:

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

Память

Объем флеш-памяти программ микроконтроллера SAM3X составляет 512 КБ (2 блока по 256 КБ). Устройство выпускается с прошитим загрузчиком, расположенном в отдельной памяти ПЗУ. Объем доступной оперативной памяти SRAM составляет 96 КБ, представляющих собой два смежных банка памяти по 64 КБ и 32 КБ соответственно. Вся доступная память (Flash, ОЗУ и ПЗУ) имеет общее линейное адресное пространство.

Кнопка удаления, расположенная на плате, позволяет очистить Flash-память микроконтроллера SAM3X и стереть текущую загруженную программу. Для этого необходимо нажать и удерживать ее в течение нескольких секунд.

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

  • Цифровые входы/выходы: выводы 0 — 53 С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 54 цифровых выводов может работать в качестве входа или выхода. Рабочее напряжение этих выводов составляет 3.3В. Максимальный выходной ток каждого вывода колеблется в пределах от 3 мА до 15 мА (в зависимости от вывода), а максимальный входной ток — от 6 до 9 мА (в зависимости от вывода). Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 100 кОм. Помимо этого, некоторые из выводов могут выполнять дополнительные функции:
  • Последовательный интерфейс Serial: выводы 0 (RX) и 1 (TX)
  • Последовательный интерфейс Serial 1: выводы 19 (RX) и 18 (TX)
  • Последовательный интерфейс Serial 2: выводы 17 (RX) и 16 (TX)
  • Последовательный интерфейс Serial 3: выводы 15 (RX) и 14 (TX)

Используются для получения (RX) и передачи (TX) последовательных данных (уровень напряжения TTL 3.3В). Выводы 0 и 1 соединены с соответствующими выводами микросхемы ATmega16U2, выполняющей роль преобразователя USB-UART.

  • ШИМ: выводы со 2 по 13

С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ можно изменить с помощью функции analogWriteResolution().

  • Интерфейс SPI: выводы SPI (на платах Ардуино разъем ICSP)

С применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI. Линии SPI выведены на 6-контактный разъем по центру платы, физически совместимый с Uno, Leonardo и Mega2560. Обратите внимание, что разъем SPI не предназначен для внутрисхемного программирования микроконтроллера SAM3X и может использоваться только для связи с другими SPI-устройствами. Кроме того, в Arduino Due SPI имеет ряд дополнительных возможностей, которые можно использовать с помощью специальных методов.

  • Интерфейс CAN: выводы CANRX и CANTX

Данные выводы поддерживают протокол связи CAN, однако на данный момент его реализация в Arduino API пока отсутствует.

  • «L» светодиод: вывод 13

Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW — выключается. Помимо этого, яркость свечения светодиода можно регулировать, поскольку вывод 13 может работать как ШИМ-выход.

  • Интерфейс TWI 1: выводы 20 (SDA) и 21 (SCL)
  • Интерфейс TWI 2: выводы SDA1 и SCL1

С использованием библиотеки Wire данные выводы могут осуществлять связь по интерфейсу TWI.

  • Аналоговые входы: выводы A0 — A11
  1. В Arduino Due есть 12 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 12-битного числа (4096 значений). Разрядность АЦП, взаимодействующего с этими выводами, по умолчанию, установлена в 10 бит (для совместимости с другими платами Ардуино). Изменить разрядность АЦП можно с помощью функции AnalogReadResolution»На аналоговые входы Arduino Due можно подавать напряжение в диапазоне от 0 до 3.3В. При подаче большего напряжения микроконтроллер SAM3X может выйти из строя. Функция AnalogReference() в Arduino Due игнорируется.

На плате вывод AREF соединен с выводом опорного напряжения микросхемы SAM3X через резисторный мост. Для использования вывода AREF необходимо выпаять резистор BR1.

Аналоговые выходы 12-битного цифро-аналогового преобразователя. С помощью функции analogWrite() позволяют формировать 4096 различных уровня напряжения. Данные выводы могут использоваться для создания   удио-выхода смотреть библиотеку Audio.

Другие выводы на плате:

Опорное напряжение АЦП. Используется функцией analogReference().

Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения.

Связь

Arduino Due предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами, а также с различными устройствами, такими, как телефоны, планшеты, камеры и т.д. В микроконтроллере SAM3X есть один аппаратный UART и три аппаратных USART для реализации последовательных интерфейсов с TTL-уровнем напряжения 3.3В.

USB-порт для программирования на плате взаимодействует с микросхемой ATmega16U2, выполняющую роль USB-UART преобразователя, который при подключении к компьютеру определяется как виртуальный COM-порт. (Для корректной идентификации на Windows-системах потребуется .inf-файл, на системах с OSX и LINUX плата распознается автоматически). Микросхема 16U2 соединена с аппаратным приемопередатчиком UART микроконтроллера SAM3X. Для программирования микроконтроллера через микросхему ATmega16U2 используются выводы RX0 и TX0. В пакет программного обеспечения Ардуино входит специальная программа, позволяющая считывать и отправлять на Ардуино простые текстовые данные. При передаче данных через микросхему-преобразователь USB-UART во время USB-соединения с компьютером, на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1, без использования USB-преобразователя, данные светодиоды не задействуются).

Штатный USB-порт на плате также соединен с контроллером SAM3X и предназначен для последовательной (CDC) передачи данных через USB. Данный порт позволяет Ардуино взаимодействовать с различными приложениями на компьютере (например, Serial Monitor или др.). Использование штатного USB-порта при подсоединении к компьютеру позволяет Arduino Due работать в качестве USB-мыши или клавиатуры. Более подробную информацию об   этом см. в справке по библиотекам Mouse и Keyborad.

Штатный USB-порт также может работать как USB-хост и поддерживает подключение периферийных устройств, таких как мыши, клавиатуры или смартфоны. Более подробную информацию об этом см. в справке по библиотеке USBHost.

В микроконтроллере SAM3X также реализована поддержка последовательных интерфейсов TWI и SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной I2C; для получения более подробной информации см. документацию. Для работы с интерфейсом SPI используйте библиотеку SPI.

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

Arduino Due программируется с помощью программного обеспечения Ардуино (скачать). Для получения более подробной информации см. справку и примеры.

Процесс загрузки программ в микроконтроллер SAM3X отличается от процесса прошивки AVR-микроконтроллеров, используемых в других платах Ардуино. Особенность SAM3X заключается в том, что для его перепрошивки требуется предварительно очищать Flash-память контроллера. Такая необходимость обусловлена тем, что процесс загрузки программы контролируется загрузчиком в ПЗУ SAM3X, который запускается только при условии отсутствия программы во Flash-памяти микроконтроллера.

Таким образом, любой из USB-портов может использоваться для прошивки платы. Тем не менее, рекомендуется использовать USB-порт для программирования («Programming Port» на рисунке) в силу некоторых особенностей процесса очистки памяти микроконтроллера:

  • Порт для программирования: Для использования этого порта в среде разработки Arduino IDE в качестве рабочей платы выберите «Arduino Due (Programming Port)». Подсоедините Due к компьютеру, соединив USB-кабель c разъемом для программирования (расположенным ближе к разъему питания). Порт для программирования взаимодействует с микросхемой 16U2, выполняющей роль преобразователя USB-UART. Микросхема 16U2 в свою очередь соединена с первым UART микроконтроллера SAM3X (выводы RX0 и TX0), а также управляет его выводами Reset и Erase. При открытии и закрытии порта на скорости 1200 бод, на выводах Erase и Reset формируется активный уровень, что приводит к очистке памяти микроконтроллера. Таким образом, срабатывает так называемая процедура «аппаратной очистки» перед взаимодействием с UART SAM3X. Этот способ более надежен, чем «программная очистка» при использовании штатного USB-порта, и работает даже в случае зависания процессора. Именно поэтому для прошивки Arduino Due рекомендуется использовать порт для программирования.
  • Штатный USB-порт: Для использование этого порта в среде разработки Arduino IDE в качестве рабочей платы выберите «Arduino Due (Naive USB Port)». Штатный USB-порт соединен непосредственно с микроконтроллером SAM3X. Подсоедините Due к компьютеру, соединив USB-кабель со штатным USB-разъемом (расположенным ближе к кнопке сброса). Открытие и закрытие порта на скорости 1200 бод приведет к срабатыванию процедуры «программной очистки», во время которой очищается flash-память, перезагружается микроконтроллер и стартует загрузчик. Поскольку эта процедура выполняется исключительно программой самого микроконтроллера SAM3X, то в случае зависания последнего процесс очистки может не произойти. При этом открытие/закрытие штатного порта на различных скоростях не поможет перезагрузить микроконтроллер.

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

Исходный код прошивки микроконтроллера ATmega16U2 доступен в репозитории Ардуино. Прошить микроконтроллер можно через разъем для внутрисхемного программирования ISP с помощью внешнего программатора (в этом случае затрется DFU-загрузчик).

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

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

Физические характеристики и совместимость с платами расширения

Максимальная длина и ширина печатной платы Arduino Due составляет 10.2 см и 5.4 см соответственно, с учетом USB-разъемов и разъема питания, выступающих за пределы платы. Три крепежных отверстия позволяют прикреплять плату к поверхности или корпусу. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 не кратно традиционным 2.54 мм и составляет 4 мм.

Arduino Due спроектирован таким образом, чтобы обеспечивать совместимость с большинством плат расширения для Uno, Diecimila или Duemilanove. Расположение основных выводов платы полностью эквивалентно: цифровые выводы 0 — 13 (а также смежные выводы AREF и GND), аналоговые входы 0 — 5, разъем POWER и разъем «ICSP» (SPI) — все выводы расположены на одинаковых расстояниях друг относительно друга. Кроме того, линии основного приемопередатчика UART соединены с одними и теми же выводами (0 и 1). Пожалуйста, обратите внимание, что номера выводов I2C на Arduino Due (20 и 21) отличаются от выводов Duemilanove / Diecimila (аналоговые входы 4 и 5).

Основные версии плат Arduino представлены следующими моделями:

Due — плата на базе 32-битного ARM микропроцессора Cortex-M3 ARM SAM3U4E;

Leonardo — плата на микроконтроллере ATmega32U4;

Uno — самая популярная версия базовой платформы Arduino;

Duemilanove — плата на микроконтроллере ATmega168 или ATmega328;

Diecimila — версия базовой платформы Arduino USB;

Nano — компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B;

Mega ADK — версия платы Mega 2560 с поддержкой интерфейса USB-host для связи с телефонами на Android и другими устройствами с интерфейсом USB;

Mega2560 — плата на базе микроконтроллера ATmega2560 с использованием чипа ATMega8U2 для последовательного соединения по USB-порту;

Mega — версия серии Mega на базе микроконтроллера ATmega1280;

Arduino BT — платформа с модулем Bluetooth для беспроводной связи и программирования;

LilyPad — платформа, разработанная для переноски, может зашиваться в ткань;

Fio — платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки;

Mini — самая маленькая платформа Arduino;

Pro — платформа, разработанная для опытных пользователей, может являться частью большего проекта;

Pro Mini — как и платформа Pro, разработана для опытных пользователей, которым требуется низкая цена, меньшие размеры и дополнительная функциональность.

 

www.progdron.com

Arduino Due | ELEKT.TECH

Содержание страницы

Общие сведения

Arduino Due — плата микроконтроллера на базе процессора Atmel SAM3X8E ARM Cortex-M3 (datasheet). Это первая плата Arduino на основе 32-битного микроконтроллера с ARM ядром. Плата содержит все, что необходимо для поддержки микроконтроллера.

Arduino Due, вид спереди

Arduino Due, вид сзади

На ней имеется 54 цифровых вход/выхода (из них 12 можно задействовать под выходы ШИМ), 12 аналоговых входов, 4 UARTа (аппаратных последовательных порта), a генератор тактовой частоты 84 МГц, связь по USB с поддержкой OTG, 2 ЦАП (цифро-аналоговых преобразователя), 2 TWI, разъем питания,  разъем SPI, разъем JTAG, кнопка сброса и кнопка стирания.

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

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

Расположение выводов Due повторяет цоколевку Arduino 1.0:

  • TWI: Выводы SDA и SCL расположены рядом с выводом AREF.
  • Вывод IOREF, который позволяет с помощью правильной конфигурации адаптировать присоединенную плату расширения к напряжению, выдаваемому Arduino. Благодаря этому платы расширения могут быть совместимы и с 3,3-вольтовыми платами типа Due и с платами на базе AVR, работающими от 5 В.
  • Неподключенные выводы, зарезервированные для использования в будущем.

Преимущества ядра ARM

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

32-битное ядро, позволяющее выполнять операции с данными шириной 4 байта за 1 такт (более подробную информацию смотри на странице int type).

  • частота процессора (CPU) 84 МГц.
  • 96 КБ ОЗУ.
  • 512 КБ флеш-памяти для хранения программ.
  • контроллер DMA, который разгружает центральный процессор от выполнения интенсивных операций с памятью.

Схема, исходные данные и расположение выводов

Файлы EAGLE: arduino-Due-reference-design.zip

Схема: arduino-Due-schematic.pdf

Расположение выводов: SAM3X Pin Mapping page

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

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

AT91SAM3X8E

Рабочее напряжение

3,3 В

Входное напряжение (рекомендуемое)

7-12 В

Входное напряжение (предельное)

6-20 В

Цифровые Входы/Выходы

54 (на 12 из которых реализуется выход ШИМ)

Аналоговые входы

12
Аналоговые выходы2 (ЦАП)
Общий выходной постоянный ток
на всех входах/выходах

50 мА

Постоянный ток через вывод 3,3 В800 мА
Постоянный ток через вывод 5 В800 мА
Флеш-память512 КБ доступно всего для пользовательских приложений
ОЗУ96 КБ (два банка: 64 КБ и 32 КБ)
Тактовая частота84 МГц

Питание

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

Внешним (не USB) источником питания может быть либо AC/DC преобразователь («wall wart» — адаптер в одном корпусе с вилкой), либо батарея. Адаптер подключается к разъему питания платы 2,1 мм штепсельной вилкой с центральным положительным контактом. Выводы батареи подключаются к контактам Gnd и Vin разъема POWER. Плата может функционировать при внешнем питании от 6 до 20 В. Но если напряжение питания опускается ниже 7 В, на выводе 5 В  может оказаться меньше пяти вольт, и плата будет работать нестабильно. Если же подается напряжение более 12 В, может перегреться стабилизатор напряжения, что приведет к повреждению платы. Рекомендуемый диапазон напряжений – от 7 до 12 В.

Ниже перечислены выводы питания:

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

Память

Флеш-память SAM3X составляет 512 КБ (2 блока по 256 КБ) для хранения программ. Загрузчик (бутлодер) записывается Atmel при производстве и хранится в специально отведенном для него ПЗУ. Доступный объем ОЗУ составляет 96 КБ в двух смежных банках – 64 КБ и 32 КБ. Вся доступная память (флеш-память, ОЗУ и ПЗУ) может адресоваться напрямую как плоское адресное пространство.

Существует возможность стереть флеш-память SAM3X с помощью встроенной кнопки стирания. При этом из микропроцессора удалится текущая загруженная программа. Для стирания нажмите и несколько секунд удерживайте кнопку стирания при включенном питании платы.

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

  • Цифровые входы/выходы: выводы с 0 по 53
    Каждый из 54 цифровых выводов 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 соединены с соответствующими выводами последовательного контроллера ATmega16U2 USB-to-TTL.
  • ШИМ: выводы с 2 по 13
    На них реализуется 8-битный выход ШИМ с помощью функции analogWrite(). Разрешение ШИМ можно менять, используя функцию analogWriteResolution().
  • SPI: разъем SPI (разъем ICSP на других платах Arduino)
    Данные выводы служат для связи по SPI с использованием библиотеки SPI. Сигналы SPI выведены на центральный 6-контактный разъем, который физически совместим с Uno, Leonardo и Mega2560. Разъем SPI можно использовать только для связи с другими устройствами SPI, но не для программирования SAM3X по технологии внутрисхемного последовательного программирования (ICSP).
  • CAN: CANRX и CANTX
    На этих выводах поддерживается протокол связи CAN, но пока его не поддерживают программные интерфейсы (API) Arduino.
  • «L» LED: 13
    Встроенный светодиод, подключенный к цифровому выводу 13. При высоком уровне сигнала на данном выводе, светодиод включается, при низком – выключается. Возможно также убавить яркость светодиода, поскольку вывод 13 одновременно является выходом ШИМ.
  • TWI 1: 20 (SDA) и 21 (SCL)
  • TWI 2: SDA1 и SCL1 
    На данных выводах с использованием библиотеки  Wire поддерживается связь по TWI.
  • Аналоговые входы: выводы с A0 по A11 
    Плата Arduino Due имеет 12 аналоговых входов, каждый из которых может обеспечить разрешение 12 бит (т.е. 4096 различных значений). По умолчанию установлено разрешение 10 бит для совместимости с другими платами Arduino. Разрешение АЦП можно менять при помощи функции analogReadResolution(). Аналоговые ходы Due производят измерения от уровня земли до максимального значения 3,3 В. Приложение к этим выводам напряжения свыше 3,3 В вызовет повреждение кристалла SAM3X. Функция analogReference() на Due игнорируется.
    Вывод AREF подключен к аналоговому выводу опорного напряжения SAM3X через резисторный мост. Для активации вывода AREF необходимо отпаять с печатной платы резистор BR1.
  • DAC1 и DAC2
    На выводах ЦАП  DAC1 и DAC2 предоставляются достоверные аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite(). Данные выводы можно использовать для создания аудиовыхода, используя при этом библиотеку Audio.

Другие выводы:

  • AREF 
    Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
  • Reset 
  • По низкому уровню на этой линии происходит сброс микроконтроллера. Типичное применение вывода Reset – добавление кнопки сброса на плату расширения, которая перекрывает эту кнопку на микроконтроллере.

Связь

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

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

Собственный USB порт  (Native USB port) подключен к SAM3X. Это позволяет осуществлять последовательную связь (CDC) посредством USB. Таким образом обеспечивается подключение к монитору последовательной шины, или другим приложениям на вашем компьютере. Также это дает Due возможность эмулировать для присоединенного компьютера  USB мышь или клавиатуру.

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

Контроллер SAM3X поддерживает, кроме того, связь по интерфейсам  TWI и SPI.  Программное обеспечение Arduino включает в себя библиотеку Wire для облегчения работы с шиной TWI;  Для связи через SPI воспользуйтесь библиотекой SPI.

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

Arduino Due можно запрограммировать с помощью программных средств Arduino.

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

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

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

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

Токовая защита разъема USB

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

Физические характеристики и совместимость с платами расширения

Максимальная длина печатной платы Arduino Due равна 4 дюйма, а ширина – 2,1 дюйма, без учета USB соединителей и разъема питания, которые выступают за приведенные габаритные размеры. Три отверстия под винты позволяют закрепить плату на поверхности или в корпусе. Обратите внимание, что расстояние между цифровыми выводами  7 и 8 составляет  160 мил (0.16″, 4,064 мм), не кратно промежуткам в 100 мил (2,54 мм) между остальными выводами.


Arduino Due сделан совместимым с большинством плат расширения, разработанных для Uno, Diecimila или Duemilanove. Цифровые выводы с 0 по 13 (и соседние выводы AREF и GND), аналоговые входы с 0 по 5, разъем питания, разъем «ICSP» (SPI) расположены одинаково на всех платах. Более того, основной UART (последовательный порт) находится на тех же выводах (0 и 1).
Пожалуйста, обратите внимание, что шина  I2C расположена в Arduino Due на других выводах (20 и 21), не так как в Duemilanove / Diecimila (аналоговые входы  4 и 5).

elekt.tech

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *