Arduino SAMD NINA: piedinatura, specifiche e configurazione dell’Arduino IDE – 1

Spread the love

Arduino SAMD NINA
Arduino SAMD NINA

Introduzione

L’evoluzione delle schede Arduino passa attraverso l’utilizzo del processore SAMD21.
In particolare il processore SAMD21 a 32 bit Arm® Cortex®-M0 a bassa potenza all’interno delle schede della famiglia Arduino MKR. La connettività WiFi e Bluetooth® viene eseguita con un modulo di u-blox, il NINA-W10, un chipset a bassa potenza che opera nella gamma di 2,4 GHz. Inoltre, la comunicazione sicura è garantita dal chip crittografico Microchip® ECC508. Oltre a ciò, puoi trovare un caricabatterie e un LED RGB orientabile a bordo.

Il SAMD21 dispone di 14 pin di ingresso ADC con una risoluzione di 12 bit rispetto ai 10 bit dell’ATmega328p.

L’ATSMAD21 è dotato di un controller USB integrato che può essere utilizzato come dispositivo USB o host, in modo da poter controllare un mouse o una tastiera o anche salvare i dati su un’unità flash USB.

Una caratteristica killer è che ha un set di 6 interfacce seriali configurabili che possono essere trasformate in UART, I2C master, I2C slave, SPI master o SPI slave.

Ecco una delle migliori schede Arduino SAMD Amazon Arduino MKR WiFi 1010

Specifiche delle schede Arduino SAMD

Specifiche del microchip SAMD

Arduino SAMD21 core functional units block diagram
Arduino SAMD21 core functional units block diagram
  • CPU e memoria
    • CPU ARM® Cortex®-M0+ che funziona fino a 48 MHz
    • Moltiplicatore hardware a ciclo singolo
    • Micro Trace Buffer (MTB)
    • 32/64/128/ 256 KB Flash autoprogrammabile nel sistema
    • Memoria SRAM da 4/8/16/ 32 KB
  • Sistema
    • Ripristino all’accensione (POR) e rilevamento Brown-out (BOD)
    • Orologio interno 32,768 kHz (RTC), 48 MHz
    • 16 interrupt esterni
    • Interfaccia di programmazione, test e debug del cavo seriale a due pin (SWD)
  • Bassa potenza
    • Modalità di sospensione inattivo e stand-by
    • Periferiche SleepWalking
  • periferiche
    • Controller di accesso diretto alla memoria (DMAC) a 12 canali
    • Sistema di eventi a 12 canali
    • Contatore in tempo reale (RTC) a 32 bit con funzione orologio/calendario
    • Generatore CRC-32
    • 1 × USB OTG a piena velocità
    • Fino a sei interfacce di comunicazione seriale (SERCOM), ciascuna configurabile per vari protocolli.
    • Un’interfaccia Inter-IC Sound (I2S) a due canali
    • Un convertitore analogico-digitale (ADC) a 12 bit, 350 ksps con un massimo di 20 canali
    • Convertitore digitale-analogico (DAC) a 10 bit, 350 ksps
    • Controller tattile periferico (PTC)
    • Touchscreen capacitivo a 256 canali e rilevamento di prossimità
    • 52 × GPIO programmabili

La serie Arduino MKR utilizza in dettaglio un ATSAMD21G18A nel codice che puoi leggere nella variante del processore utilizzata da Arduino, guarda il diagramma

SAMD Microcontroller code explained
SAMD Microcontroller code explained

Specifiche radio NINA-W10

Il modulo WiFi/Bluetooth è controllato tramite l’SPI secondario e include un sistema dual-core con due CPU Harvard Architecture Xtensa LX6 che operano a una frequenza di clock interna massima di 240 MHz (un esp32 ).

  • Memoria del processore
    • ROM da 448 Kbyte per l’avvio e le funzioni principali
    • SRAM da 520 Kbyte per dati e istruzioni
    • 16/32 (NINA-W101 e NINA-W102/NINA-W106) Mbit FLASH per la memorizzazione del codice, incluso
    • crittografia hardware per proteggere i programmi.
    • 1 kbit EFUSE (memoria non cancellabile) per indirizzi MAC, configurazione del modulo, crittografia flash e ID chip
  • Wifi
    • IEEE 802.11b/g/n
    • Potenza in uscita: 15 dBm
    • Velocità dati max: 72 Mbit/s
  • Bluetooth BR/EDR
    • Bluetooth v4.2 + EDR (Numero massimo di slave: 7)
    • Supporto banda: 2,4 GHz, 79 canali (40 canali per bassa energia)
    • Potenza in uscita/velocità dati: 1/2/3 Mbit/s: 5 dBm (1 Mbps 5 dbm per bassa energia)

Sicurezza e crittografia

La sicurezza è garantita dal microchip ATECC508A

  • Coprocessore crittografico con archiviazione sicura delle chiavi basata su hardware
  • Esegue algoritmi a chiave pubblica ad alta velocità (PKI)
    • ECDSA : Algoritmo di firma digitale a curva ellittica FIPS186-3
    • ECDH: Algoritmo Diffie-Hellman della curva ellittica FIPS SP800-56A
  • Supporto per curva ellittica standard P256 NIST
  • Algoritmo hash SHA-256 con opzione HMAC
  • Operazioni host e client
  • Lunghezza chiave a 256 bit
  • Memoria per un massimo di 16 chiavi
  • Due contatori monotonici ad alta resistenza
  • Numero di serie unico garantito a 72 bit
  • Generatore di numeri casuali (RNG) FIPS interno di alta qualità
  • Memoria EEPROM da 10 Kb per chiavi, certificati e dati
  • Opzioni multiple per la registrazione dei consumi e le informazioni di scrittura una tantum
  • Blocco antintrusione per interruttore antimanomissione esterno o abilitazione chip di accensione.

Pinout

Le schede possono avere funzionalità aggiuntive come LED RGB, gestione della batteria, porte aggiuntive ecc.

Arduino MRK WiFi 1010

MKR WIFI 1010 utilizza un modulo WiFi UBlox basato sul chipset ESP32 di Espressif. La scheda rende il lavoro con il WiFi più semplice e a basso consumo rispetto al suo predecessore. La scheda ha molte funzioni per creare facilmente prototipi di dispositivi collegati tra cui la gestione dell’alimentazione della batteria, un chip di sicurezza, un microcontrollore a 32 bit (Cortex-M0+) e una connessione USB che può alimentare anche la scheda. Il chip di sicurezza fornisce connessioni sicure tramite WiFi tramite crittografia SHA-256.

  • Microcontrollore: MCU ARM a bassa potenza SAMD21 Cortex-M0+ 32 bit
  • Alimentazione scheda (USB/VIN): 5V
  • Batteria supportata(*): Li-Po singola cella, 3,7 V, minimo 700 mAh
  • Tensione di funzionamento del circuito: 3,3 V
  • Pin I/O digitali: 8
  • Pin PWM: 12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 10, A3 – o 18 -, A4 -o 19)
  • UART: 1
  • SPI: 1
  • I2C: 1
  • I2S: 1
  • Connettività: Wi-Fi
  • Pin di ingresso analogico: 7 (ADC 8/10/12 bit)
  • Pin di uscita analogica: 1 (DAC 10 bit)
  • Interrupt esterni: 8 (0, 1, 4, 5, 6, 7, 8, A1 -o 16-, A2 – o 17)
  • Corrente CC per pin I/O: 7 mA
  • Memoria Flash: 256 KB
  • SRAM: 32 KB
  • EEPROM: No
  • Velocità di clock: 32,768 kHz (RTC), 48 MHz
  • LED_COSTRUITO: 6
  • Dispositivo USB full-speed e host integrato: inclusi
Arduino MKR WiFi 1010 pinouts low resolution
Arduino MKR WiFi 1010 pinouts low resolution

Qui le specifiche ed il pinout ad alta risoluzione.

Configurazione dell’IDE Arduino

Di default le schede SAMD non sono installate, bisogna andare avanti e cercare “SAMD” .
Tools --> Boards ... --> Boards manager

Arduino SAMD MKR boards manager installation
Arduino SAMD MKR boards manager installation

Ora puoi selezionare la tua scheda SAMD

Arduino SAMD MKR select boards
Arduino SAMD MKR select boards

Primo skecth

Arduino MKR WiFi 1010 ha dei led integrati, uno “normale” sul pin 6.

Qui il classico sketch dei blink.

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN (pin 6) as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

Grazie

  1. Arduino SAMD NINA: piedinatura, specifiche e configurazione Arduino IDE
  2. Arduino SAMD NINA: WiFiNINA, aggiornamento firmware e led RGB
  3. Arduino SAMD (NANO 33 e MKR): file system FAT su memoria flash SPI esterna
    1. Shield Arduino NANO 33 IoT per supporto memorie Flash SPI
    2. Shield Arduino MKR WiFi 1010 per supporto memorie Flash SPI
  4. i2c Arduino SAMD MKR: interfaccia aggiuntiva SERCOM, rete e scanner di indirizzi
  5. Arduino MKR SAMD: file system FAT su memoria flash SPI esterna
  6. Collegamento dell’EByte E70 ai dispositivi Arduino SAMD (Nano 33, MKR…) e un semplice sketch di esempio

Spread the love

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *