Вы здесь

Arduino Due

Arduino Due - это мощная плата микроконтроллера, основанная на Atmel SAM3X8E ARM Cortex-M3 CPU. Это первая плата Arduino, основанная на 32 - битном микроконтроллере с ядром ARM. 
 
 
ПРЕДУПРЕЖДЕНИЕ: В отличие от других плат Arduino , Arduino Due работает от 3.3В. Максимальное напряжение при котором работают вход/выход составляет 3.3В. Вы испортите плату, подав высокое напряжение, такое как 5В на вход/выход.
 
Плата содержит все необходимое для поддержки микроконтроллера; просто подсоедините его к компьютеру с помощью микро-USB кабеля или снабдить питанием его с помощью  AC-DC адаптера  или батареи для начала. Due совместима со всеми Adruino шилдами, которые работают от 3.3В и с разводкой выводов Arduino 1.0.
Расположение выводов Due повторяет разьемы выводов Arduino 1.0

TWI: выводы SDA и SCL расположеные рядом с выводом AREF.

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

неподключенные выводы, предназначенные для использования в будущем.

Преимущества ARM ядра
На Due установлено 32-битное ARM ядро, превосходящее по производительности обычные 8-битные микроконтроллеры. Наиболее значимые отличия:
32-битное ядро, позволяющее выполнять операции с данными шириной 4 байта за 1 такт 
частота процессора (CPU) 84 МГц.
96 КБ ОЗУ.
512 КБ флеш-памяти для хранения программ.
контроллер DMA, который разгружает центральный процессор от выполнения интенсивных операций с памятью.
Характеристики 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 может осуществляться с помощью USB кабеля или допольнительного питания. Источник питания выбирается автоматически. Источником дополнительного питания могут быть AC-DC адаптер или батареи.Адаптер подключается к разъему питания платы 2,1 мм штепсельной вилкой с центральным положительным контактом. Выводы батареи подключаются к контактам Gnd и Vin разъема POWER. Плата может функционировать при внешнем питании от 6 до 20 В, но рекомендуемый диапазон напряжений – от 7 до 12 В.
Ниже перечислены выводы питания:
VIN. Это входное напряжение для платы Arduino, когда она питается от внешнего источника питания (в противоположность 5 вольтам, поступающим через USB соединение или от иного регулируемого источника питания). 
5V. Данный вывод служит выходом регулируемого напряжения 5 В со встроенного стабилизатора на плате. Сама плата может питаться через разъем питания постоянного тока (7-12 В), либо через USB соединитель (5 В), либо через вывод VIN на плате (7-12V). Питающее напряжение через выводы 5 В и 3,3 В подается в обход стабилизатора и может повредить вашу плату. Мы не советуем так делать.
3.3V. Питание 3,3 В, вырабатываемое встроенным стабилизатором. Максимальный выходной ток 800 мА. Стабилизатор также обеспечивает питание микроконтроллера SAM3X.
GND. вывод земли.
IOREF. Данный вывод платы Arduino обеспечивает опорное напряжение, при котором работает микроконтроллер. Верно сконфигурированная плата расширения может считать напряжение на выводе IOREF и выбрать соответствующий источник питания, или разрешить использование выходных преобразователей напряжения для работы с 5 В или 3,3 В.
Память Arduino Due
Флеш-память SAM3X составляет 512 Кб для хранения кода. Загрузчик записывается в Atmel при производстве платы и хранится в специально отведенном для него ПЗУ. Доступный объем ОЗУ составляет 96 КБ в двух смежных банках – 64 КБ и 32 КБ. Вся доступная память (флеш-память, ОЗУ и ПЗУ) может адресоваться напрямую как плоское адресное пространство.
Существует возможность стереть флеш-память SAM3X с помощью встроенной кнопки стирания. При этом из микропроцессора удалится текущая загруженная программа. Для стирания нажмите и несколько секунд удерживайте кнопку стирания при включенном питании платы.  
  
Входы и Выходы
Цифровые входы/выходы: выводы с 0 по 53
Каждый из 54 цифровых выводов Due может использоваться в качестве входа или выхода, с помощью функций pinMode(), digitalWrite() и digitalRead(). Выводы работают от 3,3 В. Каждый вывод может выдавать (как источник) ток 3 мА или 15 мА, в зависимости от вывода, или получать (как приемник) ток 6 мА или 9 мА, в засимости от вывода. На них также имеются внутренние нагрузочные резисторы (по умолчанию они отключены) номиналом 100 кОм. Кроме этого, некоторым выводам назначены специализированные функции:
Последовательная линия: 0 (RX) и 1 (TX)
Последовательная линия 1: 19 (RX) и 18 (TX)
Последовательная линия 2: 17 (RX) и 16 (TX)
Последовательная линия 3: 15 (RX) и 14 (TX)
Эти выводы используются для приема (RX) и передачи (TX) последовательных данных TTL (с уровнем 3,3 В). Выводы 0 и 1 соединены с соответствующими выводами последовательного контроллера ATmega16U2 USB-to-TTL. 
ШИМ: выводы с 2 по 13 
На них реализуется 8-битный выход ШИМ с помощью функции analogWrite(). Разрешение ШИМ можно менять, используя функцию analogWriteResolution().
SPI: разъем SPI (разъем ICSP на других платах Arduino)
Данные выводы служат для связи по SPI с использованием библиотеки SPI. Сигналы SPI выведены на центральный 6-контактный разъем, который физически совместим с Uno, Leonardo и Mega2560. Разъем SPI можно использовать только для связи с другими устройствами SPI, но не для программирования SAM3X по технологии внутрисхемного последовательного программирования (ICSP). SPI на Due также имеет расширенные функции, доступные при использовании Расширенных методов SPI для Due.
CAN: CANRX и CANTX
На этих выводах поддерживается протокол связи CAN, но пока его не поддерживают программные интерфейсы (API) Arduino. 
"L" LED: 13 
Встроенный светодиод, подключенный к цифровому выводу 13. При высоком уровне сигнала на данном выводе, светодиод включается, при низком – выключается. Возможно также убавить яркость светодиода, поскольку вывод 13 одновременно является выходом ШИМ.
TWI 1: 20 (SDA) и 21 (SCL)
TWI 2: SDA1 и SCL1 
На данных выводах с использованием библиотеки  Wire поддерживается связь по TWI.
Аналоговые входы Arduino Due: выводы с A0 по A11 
Плата Arduino Due имеет 12 аналоговых входов, каждый из которых может обеспечить разрешение 12 бит (т.е. 4096 различных значений). По умолчанию установлено разрешение 10 бит для совместимости с другими платами Arduino. Разрешение АЦП можно менять при помощи функции analogReadResolution(). Аналоговые ходы Due производят измерения от уровня земли до максимального значения 3,3 В. Приложение к этим выводам напряжения свыше 3,3 В вызовет повреждение кристалла SAM3X. Функция analogReference() на Due игнорируется.
Вывод AREF подключен к аналоговому выводу опорного напряжения SAM3X через резисторный мост. Для активации вывода AREF необходимо отпаять с печатной платы резистор BR1.
DAC1 и DAC2 
На выводах ЦАП  DAC1 и DAC2 предоставляются достоверные аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite(). Данные выводы можно использовать для создания аудиовыхода, используя при этом библиотеку Audio. 
Другие выводы:
AREF 
Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
Reset  
По низкому уровню на этой линии происходит сброс микроконтроллера. Типичное применение вывода Reset – добавление кнопки сброса на плату расширения, которая перекрывает эту кнопку на микроконтроллере. 
Связь(средство общения)
У Arduino Due есть определенное количество возможностей для общения с компьютером, телефоном и другими устройствами. Порт программирования подключен к  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. Исходный код программы для ATmega16U2 доступен в архиве Arduino. К разъему ISP можно подключать внешний программатор (перезаписывая загрузчик DFU).
                                                   
Защита USB
На Arduino Due имеется самовосстанавливающийся предохранитель, который защищает USB порты вашего компьютера от короткого замыкания и перегрузки по току. Также  большинство компьютеров обеспечивает свою собственную внутреннюю защиту по току, а этот предохранитель дает дополнительную защиту. При токе через USB порт более 500 мА связь автоматически обрывается предохранителем до устранения перегрузки или короткого замыкания.