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:
Преимущества ядра ARM
На Due установлено 32-битное ARM ядро, превосходящее по производительности обычные 8-битные микроконтроллеры. Наиболее значимые отличия:
32-битное ядро, позволяющее выполнять операции с данными шириной 4 байта за 1 такт (более подробную информацию смотри на странице int type).
Файлы 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 В.
Ниже перечислены выводы питания:
Флеш-память SAM3X составляет 512 КБ (2 блока по 256 КБ) для хранения программ. Загрузчик (бутлодер) записывается Atmel при производстве и хранится в специально отведенном для него ПЗУ. Доступный объем ОЗУ составляет 96 КБ в двух смежных банках – 64 КБ и 32 КБ. Вся доступная память (флеш-память, ОЗУ и ПЗУ) может адресоваться напрямую как плоское адресное пространство.
Существует возможность стереть флеш-память SAM3X с помощью встроенной кнопки стирания. При этом из микропроцессора удалится текущая загруженная программа. Для стирания нажмите и несколько секунд удерживайте кнопку стирания при включенном питании платы.
Другие выводы:
В 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, использующих для загрузки avrdude, Due полагается на bossac.
Исходный код программы для ATmega16U2 доступен в архиве Arduino. К разъему ISP можно подключать внешний программатор (перезаписывая загрузчик DFU). Более подробную информацию можно найти в инструкциях для помощи пользователям.
На 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 на основе 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.
Сердцем платы Arduino Due является 32-битное ARM ядро AT91SAM3X8E с тактовой частотой 84 МГц, 512 КБ флеш-памяти и 96 ОЗУ, превосходящее по производительности обычные 8-битные микроконтроллеры.
Микроконтроллер 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, можно вывести плату из строя.
Цифровые входы/выходы: пины 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. |
Разъём предназначен для прошивки платформы Arduino Due с помощью компьютера. Для использования этого порта выберите в Arduino IDE в качестве вашей платы «Arduino Due (Programming Port)». При этом также производится стирание предыдущей прошивки. Аппаратное стирание более надежно, чем «программное стирание», которое происходит на собственном USB порте, и будет работать даже при повреждении главного микропроцессора. В программное обеспечение Arduino входит монитор последовательной шины, который дает возможность компьютеру обмениваться простыми текстовыми сообщениями с платой подключенной через Programming USB посредством контроллера ATmega16U2.
Чтобы использовать этот порт, выберите в Arduino IDE тип вашей платы «Arduino Due (Native USB Port)». Native USB port подключен к SAM3X, тем самым осуществляя последовательную связь (CDC) посредством USB обеспечивая подключение к монитору последовательной шины, или другим приложениям на вашем компьютере. Открытие и закрытие собственного порта при скорости передачи 1200 бит в секунду запускает процедуру «программного стирания»: флеш-память стирается и плата перезапускается с помощью загрузчика. Также это дает Due возможность эмулировать USB мышь или клавиатуру.
Native USB может также работать как USB хост для подключенных периферийных устройств: мыши, клавиатуры и прочего.
Разъём для подключения внешнего питания от 7 В до 12 В.
ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega2560.
Также с применением библиотеки SPI
данные выводы могут осуществлять связь с платами расширения по интерфейсу SPI. Линии SPI выведены на 6-контактный разъём, а также продублированы на цифровых пинах 50(MISO)
, 51(MOSI)
, 52(SCK)
и 53(SS)
.
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
Сфера применения
Разработка, загрузка и отладка проекта
el-ra.ru
Новая плата 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 кб все доступные для пользовательских приложений |
SRAM | 96kb (два банки: 64KB и 32KB) |
Тактовая частота | 84MHz |
После подключения микросхемы, в настройках программы нужно убедиться в том, что порт действительно принадлежит Ардуино DUO COM5. Плата выбирается очень просто. Сначала ее нужно скомпиллировать, а затем уже выгрузить.
После этого вы заметите сообщение в левой нижней части экрана вашего монитора — «Доступны обновления для некоторых ваших библиотек». Надо отметить, что это сообщение немного отличается от предыдущих версий Ардуино. В нынешней версии процедура загрузки будет показана более подробно, чем это было раньше. Поэтому вам понадобится какое-то время, чтобы привыкнуть к ним.
В конце загрузки компонентов произойдет автоматический ресет параметров. Обращаю внимание, что такое возможно только если вы подключились через программируемый порт. В случае с USB портом вам придется «ресетить» параметры вручную.
Если вам кажется, что ваш текущий Arduino уже не слишком «тянет» ваши требования или не удовлетворительно справляется со своими задачами, рекомендую переходить на это устройство.
Максим Шевцов (Кременчуг)
Я рекомендую забыть вообще про этот Ардуино, и переходить на любой STM 32. Потому что порты на DUE сделаны просто ужасно. Мне кажется, что это самый большой недостаток этой платы. Сборка к тому очень кривая. А если пытаешься заменить ее дешевыми китайскими аналоговыми, то получается еще хуже. И, кстати, встроенный DAC совсем не пригоден для использования.
Александр Овечкин (Гомель)
Я купил эту плату. В принципе, она меня устраивает. Единственное, что могу сказать, что на нее я ничего не установил. Потому что все мое внимание занял ESP 8266. Так что ардуиновская плата даже со всеми своими плюсами не может тягаться с еспехой. Лично я ее поставил в одном проекте вместо Меги.
Перейти в магазинВконтакте
Google+
bazaroved.ru
Вполне возможно, что 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 — плата микроконтроллера на базе процессора 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:
Благодаря использованию 32-разрядного ядра ARM, Arduino Due во многом превосходит типичные платы на базе 8-разрядных микроконтроллеров. Наиболее существенные отличия заключаются в следующем:
Файлы 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В.
Ниже перечислены выводы питания, расположенные на плате:
Объем флеш-памяти программ микроконтроллера SAM3X составляет 512 КБ (2 блока по 256 КБ). Устройство выпускается с прошитим загрузчиком, расположенном в отдельной памяти ПЗУ. Объем доступной оперативной памяти SRAM составляет 96 КБ, представляющих собой два смежных банка памяти по 64 КБ и 32 КБ соответственно. Вся доступная память (Flash, ОЗУ и ПЗУ) имеет общее линейное адресное пространство.
Кнопка удаления, расположенная на плате, позволяет очистить Flash-память микроконтроллера SAM3X и стереть текущую загруженную программу. Для этого необходимо нажать и удерживать ее в течение нескольких секунд.
Используются для получения (RX) и передачи (TX) последовательных данных (уровень напряжения TTL 3.3В). Выводы 0 и 1 соединены с соответствующими выводами микросхемы ATmega16U2, выполняющей роль преобразователя USB-UART.
С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ можно изменить с помощью функции analogWriteResolution().
С применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI. Линии SPI выведены на 6-контактный разъем по центру платы, физически совместимый с Uno, Leonardo и Mega2560. Обратите внимание, что разъем SPI не предназначен для внутрисхемного программирования микроконтроллера SAM3X и может использоваться только для связи с другими SPI-устройствами. Кроме того, в Arduino Due SPI имеет ряд дополнительных возможностей, которые можно использовать с помощью специальных методов.
Данные выводы поддерживают протокол связи CAN, однако на данный момент его реализация в Arduino API пока отсутствует.
Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW — выключается. Помимо этого, яркость свечения светодиода можно регулировать, поскольку вывод 13 может работать как ШИМ-выход.
С использованием библиотеки Wire данные выводы могут осуществлять связь по интерфейсу TWI.
На плате вывод 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» на рисунке) в силу некоторых особенностей процесса очистки памяти микроконтроллера:
В отличие от других плат Ардуино, для программирования которых используется avrdude, процесс прошивки Arduino Due осуществляется с помощью программы bossac.
Исходный код прошивки микроконтроллера ATmega16U2 доступен в репозитории Ардуино. Прошить микроконтроллер можно через разъем для внутрисхемного программирования ISP с помощью внешнего программатора (в этом случае затрется DFU-загрузчик).
В 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 — плата микроконтроллера на базе процессора 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:
На Due установлено 32-битное ARM ядро, превосходящее по производительности обычные 8-битные микроконтроллеры. Наиболее значимые отличия:
32-битное ядро, позволяющее выполнять операции с данными шириной 4 байта за 1 такт (более подробную информацию смотри на странице int type).
Файлы 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 В.
Флеш-память SAM3X составляет 512 КБ (2 блока по 256 КБ) для хранения программ. Загрузчик (бутлодер) записывается Atmel при производстве и хранится в специально отведенном для него ПЗУ. Доступный объем ОЗУ составляет 96 КБ в двух смежных банках – 64 КБ и 32 КБ. Вся доступная память (флеш-память, ОЗУ и ПЗУ) может адресоваться напрямую как плоское адресное пространство.
Существует возможность стереть флеш-память SAM3X с помощью встроенной кнопки стирания. При этом из микропроцессора удалится текущая загруженная программа. Для стирания нажмите и несколько секунд удерживайте кнопку стирания при включенном питании платы.
Другие выводы:
В 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, использующих для загрузки avrdude, Due полагается на bossac.
На Arduino Due имеется самовосстанавливающийся предохранитель, назначение которого – защитить USB порты вашего компьютера от короткого замыкания и перегрузки по току. Несмотря на то, что в большинстве компьютеров есть встроенная защита по току, этот предохранитель дает дополнительную защиту. При токе через USB порт более 500 мА связь автоматически обрывается предохранителем до прекращения перегрузки или короткого замыкания.
Максимальная длина печатной платы Arduino Due равна 4 дюйма, а ширина – 2,1 дюйма, без учета USB соединителей и разъема питания, которые выступают за приведенные габаритные размеры. Три отверстия под винты позволяют закрепить плату на поверхности или в корпусе. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 составляет 160 мил (0.16″, 4,064 мм), не кратно промежуткам в 100 мил (2,54 мм) между остальными выводами.
elekt.tech