Visión General
El Arduino Due es una placa microcontrolador basada Atmel SAM3X8E ARM Cortex-M3 CPU (datasheet). Se trata de la primera placa Arduino basado en un ARM core microcontroller.32-bit. Tiene 54 entradas/salidas digitales (de las cuales 12 proporcionan salida PWM), 12 entradas analógicas, 4 UARTs (puertos serie de hardware), un 84 MHz de reloj, una conexión USB OTG capaces, 2 DAC (de digital a analógico) , 2 TWI, un conector de alimentación, una cabecera de SPI, un encabezado JTAG, un botón de
reset y un botón de borrado.
Esquemas y Diseños
Archivos EAGLE : arduino-Due-reference-design.zip
Esquemas: arduino-Due-schematic.pdf
Asignación de pines: SAM3X Pin Mapping page
Resumen
Microcontrolador |
AT91SAM3X8E |
Voltaje de funcionamiento |
3.3V |
Voltaje de entrada (recomendado) |
7-12V |
Voltaje de entrada (limite) |
6-20V |
Pines E/S digitales |
54 (12 proporcionan salida PWM) |
Pines de entrada analógica |
12 |
Intensidad por pin |
130 mA |
Intensidad en pin 3.3V-5V |
800 mA |
Memoria Flash |
512 KB disponibles para todas las aplicaciones de usuario |
SRAM |
96 KB (dos bancos: 64KB y 32KB) |
EEPROM |
-- KB |
Velocidad de reloj |
84 MHz |
Alimentación
El Arduino Due puede ser alimentado vía la conexión USB o con una fuente de alimentación externa. El origen de la alimentación se selecciona automáticamente.
Las fuentes de alimentación externas (no-USB) pueden ser tanto un transformador o una batería. El transformador se puede conectar usando un conector macho de 2.1mm con centro positivo en el conector hembra de la placa. Los cables de la batería pueden conectarse a los pines Gnd y Vin en los conectores de alimentación (POWER)
La placa puede trabajar con una alimentación externa de entre 6 a 20 voltios. Si el voltaje suministrado es inferior a 7V el pin de 5V puede proporcionar menos de 5 Voltios y la placa puede volverse inestable, si se usan mas de 12V los reguladores de voltaje se pueden sobrecalentar y dañar la placa. El rango recomendado es de 7 a 12 voltios.
Los pines de alimentación son los siguientes:
- VIN. La entrada de voltaje a la placa Arduino cando se está usando una fuente externa de alimentación (en opuesto a los 5 voltios de la conexión USB). Se puede proporcionar voltaje a través de este pin, o, si se está alimentado a través de la conexión de 2.1mm , acceder a ella a través de est pin.
- 5V. La fuente de voltaje estabilizado usado para alimentar el microcontrolador y otros componentes de la placa. Esta puede provenir de VIN a través de un regulador integrado en la placa, o proporcionada directamente por el USB o otra fuente estabilizada de 5V.
- 3V3. Una fuente de voltaje a 3.3 voltios generada en el chip FTDI integrado en la placa. La corriente máxima soportada 50mA.
- GND. Pines de toma de tierra.
- IOREF. Este pin en la placa Arduino proporciona la tensión de referencia con el que el microcontrolador opera. Un escudo correctamente configurado puede leer el voltaje pin IOREF y seleccione la fuente de alimentación adecuada o habilitar traductores de tensión en las salidas para trabajar con el 5V o 3.3V.
Memoria
El SAM3X tiene 512 KB (2 bloques de 256 KB) de memoria flash para almacenar código. El cargador de arranque se preburned en fábrica de Atmel y se almacena en una memoria ROM. La SRAM disponible es de 96 KB en segundo banco contiguo de 64 KB y 32 KB. Toda la memoria disponible (Flash, RAM y ROM) puede acceder directamente como un espacio de direccionamiento plano.
Es posible borrar la memoria Flash del SAM3X presionando el botón de borrado. Esto eliminará el dibujo cargado actualmente de la MCU. Para borrar, pulse y mantenga pulsado el botón ERASE durante unos segundos mientras se enciende la placa.
Entradas y Salidas
Cada uno de los 54 pines digitales se puede utilizar como entrada o salida, utilizando pinMode () , digitalWrite () , y digitalRead () funciones. Funcionan a 3,3 voltios. Cada pin puede proporcionar una corriente de 3 mA o 15 mA, dependiendo de la clavija, o recibir una corriente de 6 mA o 9 mA, dependiendo de la conexion. También tienen una resistencia pull-up interna (desconectada por defecto) de 100 KOhm . Además, algunos pines tienen funciones especializadas:
· Serie: 0 (RX) y 1 (TX)
· Serie 1: 19 (RX) y 18 (TX)
· Serie 2: 17 (RX) y 16 (TX)
· Serie 3: 15 (RX) y 14 (TX)
Cada uno de los 54 pines digitales en el Duemilanove pueden utilizarse como entradas o como salidas usando las funciones pinMode(), digitalWrite(), y digitalRead() . Las E/S operan a 5 voltios. Cada pin puede proporcionar o recibir una intensidad máxima de 40mA y tiene una resistencia interna (desconectada por defecto) de 20-50kOhms. Además, algunos pines tienen funciones especializadas:
Usado para recibir (RX) transmitir (TX) datos a través de puerto serie TTL (con 3,3 V Nivel). Los pines Serie: 0 (RX) y 1 (TX) están conectados a los pines correspondientes del ATmega16U2 USB-to-Serial TTL chips.
- PWM: de 2 a 13. Proporcionar 8-bit de salida PWM (Pulse Wave Modulación, modulación de onda por pulsos) de 8 bits de resolución (valores de 0 a 255) a través de la función analogWrite().
- SPI: SPI header. (cabecera ICSP en otras placas Arduino) .
Estos pasadores de soporte de la comunicación SPI con la biblioteca de SPI . Los pines SPI se desglosan en la central 6 pines, que es físicamente compatible con el Uno, Leonardo y Mega2560. El encabezado de SPI sólo se puede utilizar para comunicarse con otros dispositivos SPI, no para la programación de la SAM3X con la técnica In-Circuit Serial Programming-. El SPI del Due también ha avanzado las características que se pueden utilizar con los SPI methods for Due.
"L" LED: 13. Hay un LED integrado en la placa conectado al pin digital 13, cuando este pin tiene un valor HIGH(5V) el LED se enciende y cuando este tiene un valor LOW(0V) este se apaga.
- TWI 1: 20 (SDA) y 21 (SCL)
- TWI 2: SDA1 y SCL1 .
Apoyo TWI comunicación con la biblioteca Wire.
- Entradas analógicas: pines de A0 a A11.
El Due tiene 12 entradas analógicas, cada una de ellas puede proporcionar 12 bits de resolución (es decir, 4096 valores diferentes). Por defecto, la resolución de las lecturas es de 10 bits, la compatibilidad con las otras placas Arduino Es posible, cambiando la resolución del ADC con analogReadResolution () . El due en los pins de entradas analógicas, comenzando desde 0V hasta un valor máximo de 3.3V. La aplicación de más de 3,3 V en el vencimiento de los pins dañará el SAM3Xchip. El analogReference () se ignora.
- DAC1 y DAC2.
Estos pines proporciona verdaderas salidas analógicas con 12-bits de resolución (4096 niveles) con el analogWrite () función. Estos pines se puede utilizar para crear una salida de audio utilizando la biblioteca de audio.
- AREF
Tensión de referencia para las entradas analógicas. Se utiliza con analogReference ().
- Reset
Suministrar un valor LOW(0V) para reiniciar el microcontrolador. Típicamente usado para añadir un botón de reset a los shields que no dejan acceso a este botón en la placa.
Comunicaciones
EL Arduino Due tiene un número de pines que facilitan la comunicación con un ordenador, Arduino Due facilita la comunicación con otros microcontroladores, y dispositivos diferentes, como teléfonos, tabletas, cámaras, etc. El SAM3X ofrece un hardware UART y tres de hardware USART para TTL (3,3 V) comunicación serial.
El ATmega16U2 proporciona un puerto serie virtual en el ordenador. El software incluye un monitor de puerto serie que permite enviar y recibir información textual de la placa Arduino. (Para reconocer el dispositivo, las máquinas de Windows se necesita un archivo. inf, pero las máquinas OSX y Linux reconocerá la tarjeta como un puerto COM automáticamente .). El 16U2 también está conectado a la SAM3X UART hardware. De serie en los pins RX0 y TX0 ofrece de serie a USB para la programación de la comunicación a través de la junta ATmega16U2 microcontrolador. El software de Arduino incluye un monitor de serie que permite simples datos de texto que se envían hacia y desde la placa. El RX y TX LED en el tablero parpadea cuando los datos se transmiten a través de la ATmega16U2 chip y conexión USB al ordenador (pero no para la comunicación en serie en los pines 0 y 1).
El puerto USB nativo está conectado a la SAM3X . Permite la serie (CDC) de comunicación a través de USB. Esto proporciona una conexión serie con el Monitor de serie u otras aplicaciones en el equipo. También permite que el Due de emular un ratón o teclado USB a un ordenador conectado. Para utilizar estas funciones, consulte el ratón y el teclado páginas de referencia de la biblioteca.
El puerto USB nativo también puede actuar como un host USB para periféricos conectados, tales como ratones, teclados y teléfonos inteligentes. Para utilizar estas funciones.
Programación
El Arduino Due se puede programar con el software Arduino. Para más detalles mirar referencia y tutoriales.
Bocetos Carga de la SAM3X es diferente a los microcontroladores AVR se encuentran en la placa Arduino otras cosas porque la memoria flash tiene que ser borrado antes de ser re-programado. Cargar en el chip está gestionado por la ROM en el SAM3X , que se ejecuta sólo cuando la memoria del chip flash está vacía.
Cualquiera de los puertos USB se pueden utilizar para la programación de la placa, aunque se recomienda utilizar el puerto de programación debido a la forma en que el proceso de borrado de la viruta se controla:
Puerto de programación: Para utilizar este puerto, seleccione "Arduino Due (Puerto de Programación)" como su tablero en el IDE de Arduino. Conecte el Due puerto de programación (el más cercano a la entrada de alimentación) a la computadora. El puerto de programación utiliza el 16U2 como un chip USB a serie conectado a la primera UART delSAM3X ( RX0 y TX0 ). El 16U2 tiene dos pines conectados a los pines de Reset y Borrado de la SAM3X . Apertura y cierre del puerto de programación conectada a 1200bps desencadena una "erase duro" procedimiento de la SAM3Xchip, y activar el borrado de contactos de reajuste en el SAM3X antes de comunicarse con el UART. Este puerto es el recomendado para la programación del vencimiento. Es más fiable que el "borrado suave" que se produce en el puerto nativo, y debería funcionar incluso si el principal MCU se ha estrellado.
Puerto Natales: Para utilizar este puerto, seleccione "Arduino Due (puerto USB nativo)" como su tablero en el IDE de Arduino. El puerto USB nativo está conectado directamente a la SAM3X . Conecte el Due de puerto USB nativo (el más cercano al botón de reset) a su ordenador. Abrir y cerrar el puerto nativo a 1200bps desencadena un procedimiento de "borrado suave": la memoria flash se borra y el tablero se reanudará con el gestor de arranque. Si la MCU estrelló por alguna razón, es probable que el procedimiento de borrado suave no funcionará como este procedimiento ocurre totalmente en software en el SAM3X . Abrir y cerrar el puerto nativo a una velocidad de transmisión diferente, no se restablecerá el SAM3X .
A diferencia de otras placas Arduino que utilizan avrdude para cargar, el Due se basa en bossac.
El ATmega16U2 código fuente del firmware está disponible en el repositorio de Arduino . Usted puede utilizar el encabezado ISP con un programador externo (sobrescribir el gestor de arranque DFU). Ver este tutorial aportado por el usuario para obtener más información.
Protección contra sobretensiones en USB
El Arduino Mega tiene un multifusible reinicializable que protege la conexión USB de tu ordenador de cortocircuitos y sobretensiones. A aparte que la mayoría de ordenadores proporcionan su propia protección interna, el fusible proporciona un capa extra de protección. Si mas de 500mA son detectados en el puerto USB, el fusible automáticamente corta la conexión hasta que el cortocircuito o la sobretensión desaparece.
Características Físicas y Compatibilidad de Shields
La longitud y amplitud máxima de la placa Duemilanove es de 4 y 2.1 pulgadas respectivamente, con el conector USB y la conexión de alimentación sobresaliendo de estas dimensiones. Tres agujeros para fijación con tornillos permiten colocar la placa en superficies y cajas. Ten en cuenta que la distancia entre los pines digitales 7 y 8 es 160 mil (0,16"), no es múltiple de la separación de 100 mil entre los otros pines.
El Debido Arduino está diseñado para ser compatible con la mayoría de los escudos diseñados para el Uno, Diecimila o Duemilanove. Pines digitales 0 a 13 (y los pines adyacentes AREF y GND), entradas analógicas 0 a 5, el cabezal de alimentación, y "ICSP" de cabecera (SPI) son en puntos equivalentes. Además, el principal UART (puerto serie) se encuentra en los mismos pines (0 y 1). Tenga en cuenta que 2 C no se encuentra en los mismos pines en la causa (20 y 21) como los Duemilanove / Diecimila (entradas analógicas 4 y 5).