Arduino Due: распиновка, схема подключения и программирование
Arduino Due — первая плата семейства Ардуино на основе 32-битного микроконтроллера Atmel SAM3X8E с ARM-процессором на базе ядра ARM Cortex-M3. Обладая тактовой частотой 84 МГц и 32-битной архитектурой, он позволяет выполнять большинство операций над целыми числами в 4 байта за один такт. На плате предусмотрено 54 цифровых вход/выхода (из них 12 можно задействовать под выходы ШИМ), 12 аналоговых входов, 4 UARTа (аппаратных последовательных порта), связь по USB с поддержкой OTG, 2 ЦАП (цифро-аналоговых преобразователя), 2 TWI, разъем питания, разъем SPI, разъем JTAG, кнопка сброса и кнопка стирания.
Подключение и настройка
Для работы с платформой Due в операционной системе Windows скачайте и установите интегрированную среду разработки Arduino IDE.
Добавление платформы
По умолчанию среда программирования настроена только на AVR-платы. Для работы с платформой Arduino Due добавьте в менеджере плат поддержку платформ на ядре ARM Cortex-M3.
Элементы платы
Микроконтроллер 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, плата Due работает от 3,3 В. Максимальное напряжение, которое могут выдержать вход/выходы, составляет 3,3 В. Подав более высокое напряжение (например, 5 В) на выводы Arduino Due, можно вывести плату из строя.
- Цифровые входы/выходы: пины
0
–53
Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 3 или 15 мА в зависимости от вывода микроконтроллера, или ток входа — 6 или 9 мА. К контактам подключены подтягивающие резисторы 100 кОм, которые по умолчанию выключены, но могут быть включены программно. - ШИМ: пины
2
–13
Позволяют выводить аналоговые значения в виде ШИМ-сигнала. Разрешение ШИМ позволяет менять функция analogWriteResolution(). - АЦП: пины
A0
–A11
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 мм
Ресурсы
- Arduino Due в магазине.