Arduino due описание на русском. Arduino Due: распиновка, схема подключения и программирование

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

{{#setlogo:ArduinoCommunityLogo.png}}

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

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

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

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

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

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

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

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

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

Питание

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

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

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

USB-порты на Due

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

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

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

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

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

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

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

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

while (! Serial) ;

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

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

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

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

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

USB-хост

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

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

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

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

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

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

OSX

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

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

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

Linux

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

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

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

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

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

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

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

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 - представляет более серьезное решение, по сравнению с . Это первая плата Arduino на основе 32-разрядного ядра.

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

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

Подключение

Для подключения к компьютеру понадобится .

Питание

Arduino Due может быть запитан от USB, через , либо от внешнего источника питания: , , штекер которого (Ø 2,1 мм, центральный вывод - положительный) необходимо подключить к силовому разъему питания. Если внешним источником питания служит аккумуляторная батарея, то её нужно подключить к выводам Vin и GND. Тип источника питания выбирается автоматически.

Подробнее о плате

Arduino Due построена на базе 32-разрядного микроконтроллера Atmel SAM3X8E ARM Cortex-M3 с тактовой частотой 84МГц. В отличии от большинства плат Arduino, Arduino Due работает от 3,3 В, имеет 2 порта I2C, порт CAN, 2 аналоговых выхода (ЦАП), 2 порта microUSB с поддержкой USB OTG - возможность подключения других USB-устройств к USB порту. Наличие контроллера DMA позволяет освободить процессор от ресурсоемких задач. Помимо кнопки Reset имеется кнопка Erase (бортового стирания) удержание которой в течении нескольких секунд, при наличии питания, приведет к аппаратному стиранию данных из Flash-памяти. Загрузчик прошивается на заводе изготовителе в специально для него выделенную область памяти. Следует учесть, что наличие напряжения больше 3,3В на любом входе, может повредить плату.

Программное обеспечение

Скачать (загрузить) программу Arduino IDE для создания, редактирования и загрузки скетчей в Arduino или Genuino, Вы можете с

Плата 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 мА, предохранитель автоматически разрывает соединение, пока короткое замыкание или перегрузка не будут устранены.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: