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

Windows 10

Плата 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 к компьютеру понадобится USB-кабель типа Micro-B. USB-кабель необходим как для питания, так и для прошивки устройства.

Один конец кабеля с разъемом micro-USB вставьте в разъем для программирования Arduino Due (находится возле разъема питания). Для прошивки скетча необходимо в среде программирования Ардуино IDE из меню Tools > Board выбрать пункт Arduino Due (Programming port), а также из меню Tools > Serial Port выбрать соответствующий последовательный порт.

Основные отличия от плат на основе микроконтроллеров ATMEGA

В целом, для программирования и работы с Arduino Due используются те же принципы, что и с другими моделями Ардуино. Однако, есть и несколько ключевых отличий Due от других плат.

Печатная плата Due похожа на модель Arduino Mega 2560.

Напряжение

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

Устройство может быть запитано, как от USB, так и от разъема питания. Во втором случае, напряжение питания должно лежать в диапазоне от 7В до 12В.

В Arduino Due есть импульсный стабилизатор напряжения с высоким КПД, соответствующий требованиям, предъявляемым USB-хост устройствам. Благодаря этому, Ардуино может служить источником питания для какого-либо USB-гаджета, подключаемого к штатному USB-порту, выполняющего роль хоста. Ардуино может работать в качестве USB-хоста только при питании от внешнего источника.

Последовательные порты на Arduino Due

В Arduino Due есть два USB-порта. Штатный USB-порт (обозначен на рисунке, как Native ) соединен непосредственно с процессором SAM3X и поддерживает последовательную CDC-связь через объект SerialUSB . Второй USB-порт - это порт для программирования (обозначен на рисунке, как Programming port). Он подключен к контроллеру ATMEL 16U2, выступающего в роли USB-UART преобразователя. По умолчанию для загрузки программ и взаимодействия с Ардуино используется порт для программирования.

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

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

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

Микроконтроллер SAM3X отличается от AVR-микроконтроллеров тем, что перед перепрошивкой его флеш-памяти, ее содержимое сперва необходимо стереть. Чтобы сделать это вручную, необходимо где-то на секунду зажать кнопку очистки памяти, нажать кнопку Upload в среде Ардуино, а затем нажать кнопку сброса.

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

Штатный порт

Процедура программной очистки (т.н. "soft-erase") автоматически активируется при закрытия порта, открытого на скорости 1200 бит/с. При это очищается флеш-память контроллера, устройство сбрасывается и стартует загрузчик. Если по какой-либо причине во время этого в процессоре произойдет сбой, то вероятнее всего soft-erase не произойдет, поскольку эта процедура выполняется программно самим контроллером.

Открытие и закрытие штатного порта на скоростях, отличных от 1200 бод, не приведет к перезагрузке контроллера SAM3X. Для того, чтобы использовать программу Serial Monitor для наблюдения данных, отправляемых вашим скетчем, необходимо добавить несколько строк кода в программный блок setup(). Такой фрагмент заставит контроллер SAM3X дождаться открытия порта SerialUSB перед выполнением основной программы:

While (!Serial) ;

Нажатие кнопки сброса на Arduino Due приводит не только к перезагрузке SAM3X, но и к сбросу USB-соединения. В случае, если программа Serial Monitor открыта, то после разрыва соединения необходимо закрыть и заново открыть ее для восстановления сеанса связи.

Порт для программирования

USB-порт для программирования взаимодействует с USB-UART преобразователем Ардуино, который в свою очередь соединен с первым UART`ом микроконтроллера SAM3X (а именно, с выводами RX0 и TX0). Причем микросхема USB-UART преобразователя управляет также выводами Reset и Erase главного микроконтроллера. При открытии последовательного порта, USB-UART преобразователь перед тем, как обмениваться данными с UART`ом контроллера, формирует на выводах Erase и Reset активный уровень сигнала, что приводит к очистке памяти SAM3X. Этот способ более надежен, чем "программная очистка" при использовании штатного USB-порта, и работает даже в случае зависания процессора.

Для программного взаимодействия с этим портом в среде разработки Ардуино используйте объект "Serial". Аналогично построена работа с USB-портом и на Arduino Uno, поэтому все программы, написанные для Uno, будут так же работать и на Due. Кроме того, порт для программирования Arduino Due ведет себя так же, как и последовательный порт Uno, в том плане, что USB-UART преобразователь в составе устройства сбрасывает главный контроллер при каждом открытии последовательного порта.

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

USB-хост

Arduino Due может работать в качестве USB-хоста для периферийных устройств, подключаемых к порту SerialUSB. Для получения дополнительной информации и примеров кода, см. справку по USB-хост .

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

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

В Arduino Due есть возможность изменять разрядность для считывания и формирования аналоговых величин (которые, по умолчанию, равны 10 и 8 битам, соответственно). Максимальная разрядность АЦП и ШИМ составляет 12 бит. Для получения дополнительной информации см. описание функций analogWriteResolution() и analogReadResolution() .

Расширенные возможности SPI

Установка драйверов для Arduino Due

OSX

  • В операционной системе OSX установка драйверов не требуется. В зависимости от установленной версии ОС, при подключении устройства к компьютеру должно появится диалоговое окно, предлагающее открыть Сетевые настройки (“Network Preferences”). Кликните "Network Preferences...", дождитесь появления окна и нажмите кнопку "Apply". Arduino Due появится в системе под статусом "Not Configured", но при этом будет работать нормально. Теперь можно выйти из системных настроек.

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


Linux

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

Прошивка программы в Arduino Due

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

Для прошивки своей программы через порт для программирования, сделайте следующее:

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

После выполнения указанных действий можно прошивать в Ардуино свою программу.

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.

Мощная плата 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 мм.

Arduino Due - это мощная Arduino, основанная на 32-битном ARM-процессореAT91SAM3X8E от Atmel. Он обладает тактовой частотой 84 МГц, а его 32-битная архитектура позволяет выполнять большинство операций на целыми числами в 4 байта за один такт.

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

  • 96 Кб SRAM (оперативная память)
  • 512 Кб флеш-памяти (для хранения программы)
  • Прямой доступ к памяти (DMA) для задач, активно работающих с данными в памяти
  • 54 цифровых входов/выходов; 12 из них поддерживают ШИМ (PWM)
  • 4 аппаратных последовательных порта (UART)
  • 12 аналоговых входов
  • 2 цифро-аналоговых преобразователя (DAC) для 2 аналоговых выходов
  • 2 шины TWI / I²C
  • SPI-разъём
  • JTAG-разъём
  • Поддержка USB On The Go (USB OTG) для подключения других USB-устройств

Внимание! В отличии от большинства плат Arduino, родным напряжением Arduino Due является 3,3 В, а не 5 В . Соответственно, выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Подача большего напряжения может повредить процессор! Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.

Контакты Arduino Due

  • Цифровые входы/выходы: контакты 0–53. Работают на напряжении 3,3 В. В режиме выхода могут выдавать ток 3 или 15 мА (в зависимости от контакта); в режиме входа - принимать ток 6 или 9 мА (в зависимости от контакта). К контактам также подключены подтягивающие резисторы по 100 кОм, которые по умолчанию выключены, но могут быть включены программно.
  • Аппаратные последовательные порты (RX/TX): 0/1, 19/18, 17/16, 15/14. Передача данных осуществляется на уровне 3,3 В. Первая пара также соединена с чипом ATmega16U2, отвечающим за подключение через USB к компьютеру.
  • Широтно-имульсная модуляция (ШИМ/PWM): контакты 2–13. Дают возможность выдавать аппаратный шим с разрешением 8 бит (256 градаций).
  • SPI - отдельная группа контактов 2×3. На Arduino Due используется только для общения по SPI-интерфейсу с другими устройствами. Он не может быть использован для программирования контроллера, как на других Arduino. По расположению он в точности совпадает с расположением на , Arduino Mega 2560, Arduino Leonardo, а следовательно даёт возможность работы с платами расширения его использующими, таких как Ethernet Shield.
  • CAN-шина: контакты CANRX и CANTX. Позволяют использовать Arduino Due в автомобильных сетях. Поддержка с программной стороны пока не реализована производителем.
  • Встроенный светодиод: контакт 13 (L). Для простой индикации. В отличии от Arduino Uno и Mega, он поддерживает ШИМ.
  • Шины TWI/I²C: 20(SDA)/21(SCL), SDA1/SCL1. Для общения с периферией по синхронному протоколу, через 2 провода.
  • Аналоговые входы: контакты A0–A11. Принимают сигнал до 3,3 В. Большее напряжение может вывести процессор из строя. Аналоговые входы предоставляют разрешение до 12 бит (4096 градаций), хотя по умолчанию настроены на разрешение в 10 бит для совместимости со скетчами для других моделей Arduino.
  • Цифро-аналоговый преобразователь: контакты DAC1 и DAC2. Позволяют выдавать настоящий аналоговый сигнал с 12-битным разрешением (4096 градации), например, для устройств, связанных с обработкой звука.
  • Сброс процессора: RESET. Позволяет аппаратно перезагружать плату.
  • Входное напряжение: Vin. Выдаёт напряжение, поданное внешним источником, либо может являться входом для внешнего питания.
  • Стабилизированные 5 В: контакт 5V. Позволяет получать ровные 5 В и ток до 800 мА.
  • Стабилизированные 3,3 В: контакт 3.3V. Позволяет получать ровные 3,3 В и ток до 800 мА.
  • Общая земля: GND.
  • Опорное напряжение для плат расширения: IOREF. Платы расширения должны «советоваться» с этим контактом, чтобы правильно определять родное напряжение родительской платы. Arduino Due выдаёт на IOREF 3,3 В.

Память Arduino Due

  • На борту SAM3X - 2 блока по 256 Кб флеш-памяти для хранения программы
  • Загрузчик (bootloader) располагается в отдельной памяти только для чтения и прошит на заводе Atmel
  • Оперативная SRAM-память поделена на 2 банка: 64 и 32 Кб

Любая память доступна для последовательной адресации из программы. Содержимое флеш-памяти (программа) может быть очищено зажатием на несколько секунд кнопки Erase на плате.

Коммуникация

Arduino Due позволяет взаимодействовать с компьютером, другими Arduino, микроконтроллерами и различными устройствами вроде телефонов, планшетов, фотоаппаратов. Для этого плата предоставляет три аппаратных последовательных порта (UART/USART), две шины TWI/I²C, интерфейс SPI и USB-порт.

Один USB-порт (programming) используется для прошивки Arduino Due. Он подключён к чипу ATmega16U2 на плате, который является мостом между USB и аппаратным портом SAM3X, используемым для программирования процессора и связи с компьютером.

Второй USB-порт (native) может использоваться для связи с другими устройствами как в режиме slave (эмуляция мыши, клавиатуры), так и в режиме host (приём данных с фотоаппаратов, управление мышью, клавиатурой, телефоном).

Совместимость

Платформа по своему форм-фактору полностью совпадает с Arduino Mega 2560. Это означает механическую совместимость со всеми платами расширения для Arduino Mega, Arduino Uno, Arduino Leonardo.

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

Питание, защита USB и принципы взаимодействия аналогичны другим моделям Arduino.

Габариты Arduino Due

Размер платы составляет 10,16 × 5,3 см (против 6,9 × 5,3 см базовой модели). Гнёзда для внешнего питания и USB выступают на пару миллиметров за обозначенные границы. На плате предусмотрены места для крепления на шурупы или винты. Расстояние между контактами составляет 0,1” (2,54 мм), но в случае 7-го и 8-го контакта - расстояние: 0,16”.

Где купить Arduino

Наборы Arduinoможно купить на официальном сайте и в многочисленных интернет-магазинах.

Наиболее привлекательные цены, постоянные спецпредложения и бесплатная доставка на сайтах китайских магазинов