ARDUINO M0 ultimo aggiornamento 1 novembre 2019 |
|
La scheda
Arduino M0 rappresenta, l'estensione semplice ma potente a 32 bit della
piattaforma Arduino UNO. Sulla scheda è presente un processore Atmel
SAMD21 MCU
(ATSAMD21G18), con un 32
bit core ARM Cortex® M0.
Con l'aggiunta della scheda M0, la famiglia Arduino diventa più grande con un
nuovo membro che fornisce maggiori prestazioni.
Per maggiori informazione vedere il sito
Arduino.org
Nota: questa scheda mi è arrivata grazie all'iniziativa del Blog Eletronica Open Source "Sei maker o professionista? Scegli l’abbonamento e la scheda omaggio!"
Riepilogo caratteristiche
|
Esiste anche una versione denominata
Arduino M0 Pro, basata anche questa sul microcontrollore Atmel
ATSAMD21G18, come la versione base dispone di 14 ingressi/uscite
digitali (di cui 12 possono essere utilizzate come uscite PWM), 6
ingressi analogici, una velocità di clock di 48 MHz, due connettori
micro USB, una presa di alimentazione, un connettore JTAG e un pulsante
di reset.
La differenza con la M0 è che la PRO è dotata dell'Embedded Debugger
(EDBG) di Atmel, che fornisce un'interfaccia di debug completa senza
la necessità di software aggiuntivo, rendendo più semplice il processo
di debugging. EDBG supporta inoltre una porta COM virtuale per
programmare il dispositivo e la tradizionale funzionalità Bootloader di
Arduino. La tensione massima che i pin I / O sono in grado di fornire o
tollerare è 3,3V. La porta USB indicata sulla scheda con "Native USB" è
quella nativa in grado di agire come un host USB per le periferiche
collegate, come mouse, tastiere e smartphone (per utilizzare queste
funzioni, vedere USB Host reference pages). Mentre l'altra porta USB "Programming"
è destinata a scopi di debug.
Il Arduino M0 può essere alimentato
attraverso la connessione micro USB o con un alimentatore esterno. La
fonte di alimentazione viene selezionata automaticamente.
Alimentazione esterna (non USB) può essere fornita da un adattatore
AC-DC o da batteria. L'adattatore può essere collegato alla scheda
inserendo una spina 2,1 millimetri di centro-positivo nel jack di
alimentazione della scheda. I fili elettrici della batteria possono
essere inseriti nei pin GND e Vin del connettore di alimentazione.
La scheda rileverà automaticamente quali fonti di alimentazione
disponibili e scegliere quale usare secondo le seguenti priorità:
Alimentazione esterna
Porta USB
Alimentazione esterna è necessaria quando i 500mA attraverso il connettore USB non sono sufficienti per alimentare un dispositivo USB collegato in un'applicazione host USB.
I piedini di alimentazione sono i seguenti:
VIN: La tensione di ingresso alla scheda Arduino quando sta utilizzando una sorgente di alimentazione esterna (rispetto i 5 volt dal collegamento USB o da una fonte di alimentazione regolata). È possibile fornire la tensione attraverso questo pin, o, se la fornitura di tensione tramite il jack di alimentazione, accedere attraverso questo pin. L'intervallo di tensione di ingresso ammesso per questo pin (e per il connettore jack di alimentazione) è 6-20V.
5V: L'alimentatore stabilizzato utilizzato per alimentare il microcontrollore e altri componenti sulla scheda. Questo può venire sia da VIN attraverso il regolatore della board, o essere fornita da USB o da un altra fonte 5V regolata. L'uscita di corrente massima fornita dal regolatore sulla board è 1A (secondo la fonte di alimentazione di ingresso). L'integrato utilizzato sulla board è IC3 tipo MPM3610.
3V3: Tensione di 3.3 volt generato dal regolatore sulla board. Assorbimento massimo è 1A (secondo la fonte di alimentazione di ingresso). L'integrato utilizzato sulla board è IC4 tipo MPM3810GQB-33
GND: GND
IOREF: La tensione alla quale i pin I/O della scheda sono operativi (ad esempio VCC per la scheda). Questa è 3.3V sulla M0.
Il M0 ha un Polyfuse ripristinabile che protegge le porte USB del computer da cortocircuiti e sovracorrenti. Sebbene la maggior parte dei computer forniscono loro protezione interna, il fusibile fornisce un ulteriore livello di protezione. Se più di 500 mA fluisce attraverso la porta USB, il fusibile interromperà automaticamente la connessione fino a quando sarà rimosso il cortocircuito o il sovraccarico.
L' ATSAMD21G18 ha 256 KB di memoria flash
(con 4 KB utilizzati per il bootloader). Il bootloader è programmato di
fabbrica da Atmel e viene memorizzato in una memoria ROM dedicata ed è
protetto con un fusibile NVM.
Sono inoltre disponibili 32 KB di SRAM e fino a 16 KB in emulazione di
EEPROM (che può essere letta e scritta con la libreria EEPROM).
Ciascuno dei 14 pin I/O digitali dello M0 può essere utilizzato come ingresso o uscita, utilizzando pinMode (), digitalWrite () e le funzioni digitalRead (). Queste operano a 3,3 volt con 7mA di corrente DC massima per pin I/O e con una resistenza di pull-up interna (scollegata di default) di 20-60 kOhms. Inoltre, alcuni pin hanno funzioni specializzate:
Serial: 0 (RX) e 1 (TX). Utilizzati per ricevere (RX) e trasmettere (TX) i dati seriali TTL utilizzando la capacità dell'hardware ATSAMD21G18. Si noti che sullo M0, la Serial Class si riferisce alla comunicazione USB (CDC); per i TTL serial sui pin 0 e 1, è necessario utilizzare la Serial1 class.
TWI: 2 (SDA) e 3 (SCL). Supporta la comunicazione TWI utilizzando la libreria Wire..
PWM: i pin 2-13
forniscono un output PWM a 8-bit con la funzione analogWrite (). La
risoluzione del PWM può essere cambiata con la funzione
analogWriteResolution ().
Nota 1: I pin 4 e 10 non possono essere utilizzati contemporaneamente come
PWM.
Nota 2: I pin 5 e 12 non possono essere utilizzati contemporaneamente come
PWM.
SPI: header ICSP. Questi pin supportano la comunicazione SPI utilizzando la libreria SPI. Si noti che i pin SPI non sono collegati i ai pin digitali di I/O digitali come sulla UNO, ma sono disponibili solo sul connettore ICSP. Questo significa che se si dispone di uno shield che utilizza SPI, ma non dispone di un connettore a 6 pin ICSP che si collega a 6 pin ICSP del M0, lo shield non funzionerà.
LED: 13. Vi è un LED incorporato collegato al pin digitale 13. Quando il pin ha un valore alto , il LED è acceso, quando il pin è basso, è spento.
Ingressi analogici: A0-A5. la M0 dispone di 6 ingressi analogici, etichettati da A0 aA5. I pin A0-A5 appaiono nelle stesse posizioni della Uno; Ogni ingresso analogico fornisce 12 bit di risoluzione (cioè 4096 valori differenti). Per default la misura degli ingressi analogici riferita a GND è di 3,3 volt, anche se è possibile cambiare l'estremità superiore del loro intervallo utilizzando il pin AREF e la funzione analogReference ().
DAC: pin A0 fornisce uscite analogiche con 10-bit di risoluzione (1023 livelli) con la funzione analogWrite (). Questo pin può essere usato per creare un output audio utilizzando la libreria audio.
Reset: Portare questa linea LOW per resettare il microcontrollore. Questo è in genere utilizzato per aggiungere un pulsante di reset quando si utilizzano gli shiels che bloccano quello già presente sulla scheda.
La Arduino M0 possiede una serie di periferiche per
la comunicazione con un computer, con un altro Arduino o altri
microcontrollori, e con diversi dispositivi come telefoni, tablet,
telecamere e così via. Il SAMD21 fornisce una UART hardware e tre USARTs
hardware per la comunicazione seriale TTL ( 3.3V)
Il software Arduino include un monitor seriale che consente dati
testuali semplici da inviare da e per la scheda. I LED RX e TX sulla
scheda lampeggia quando i dati vengono trasmessi attraverso il chip e
connessione USB ATSAMD21G18 al computer (ma non per la comunicazione
seriale sui pin 0 e 1).
La porta USB nativa è collegato al SAMD21. Permette la comunicazione
seriale (CDC) tramite USB. Ciò fornisce un collegamento seriale al
Serial Monitor o altre applicazioni sul computer. Consente inoltre alla
scheda di emulare un mouse o una tastiera USB a un computer collegato.
La porta USB nativa può anche fungere da host USB per le periferiche
collegate come mouse, tastiere e smartphone.
Il SAMD21 supporta anche la comunicazione TWI e SPI. Il software Arduino
include una libreria Wire per semplificare l'uso del bus TWI. Per la
comunicazione SPI, è possibile utilizzare la libreria SPI.
L'Arduino M0 può essere programmato con il
software di Arduino (download).
Se si utilizza basato su Linux OS seguire la guida di Arduino su OS
basato su Linux.
Il caricamento degli sketches sul SAMD21 è diverso da come funziona con i
microcontrollori AVR che si trovano in altre schede Arduino: la memoria
flash deve essere cancellata prima di essere riprogrammati. L'operazione
di caricamento è gestita da una zona della ROM dedicata sul SAMD21 che
viene eseguito solo quanto la memoria flash del chip è vuota..
La porta USB: Per utilizzare questa porta, selezionare "Arduino M0 (Native
USB port )" nell'IDE. La porta USB nativa è collegata
direttamente al SAMD21. Collegare la porta USB nativa M0 (quello più
vicino al pulsante di reset) al computer. L'apertura e la chiusura del
della Native Port a 1200bps attiva una procedura di doft erase': la
memoria flash viene cancellata e la scheda viene riavviata con il boot
loader. L'apertura e la chiusura del porta nativa a una velocità di
trasmissione diversa, non resetterà il SAMD21.
http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0
Elenco revisioni | |
24/10/2015 |
Emissione preliminare |