Misurare frequenza di commutazione di una linea gpio della MKR1000

La MKR1000 è una scheda molto compatta, dal prezzo contenuto, che permette di realizzare interessanti progetti IoT. Questa scheda è basata sul SoC ATMEL ATSAMW25 (famiglia di dispositivi ATMEL Wireless) ed è l’insieme di questi moduli:

  • MCU SAMD21 Cortex-M0+ 32bit operante alla frequenza di 48MHz
  • Modulo Wi-Fi WINC1500 a basso consumo (2.4GHz IEEE® 802.11 b/g/n)
  • Crittografia per comunicazioni sicure basate sul chip ECC508
  • Antenna implementata sul PCB

La scheda possiede anche un caricabatterie per batterie Li-Po rendendola quindi adoperabile in ambienti dove non è presente una fonte di energia costante.
In questo articolo andremmo a misurare la velocità di commutazione di un pin digitale eseguendo lo stesso codice che ho usato per gli altri gpio speed test.

Questo test è puramente indicativo, è un metodo molto semplice che eseguo per fare un piccolo paragone tra le schede in mio possesso.

La figura seguente mostra lo schema elettrico che ho utilizzato:

MKR1000 Gpio SPeed Test

Mentre il codice seguente è quello caricato sulla scheda MKR1000:

void setup()
{
  //pin5 in uscita
  pinMode(5, OUTPUT);
}
 
void loop()
{
  //ciclo infinito
  while(true)
  {
    //metto il pin5 alto
    digitalWrite(5, HIGH);
    //metto il pin5 basso
    digitalWrite(5, LOW);
  }
}

Il risultato ottenuto è di circa 310KHz:

io speed test mkr1000

Di seguito la tabella comparativa dei test di commutazione ottenuta eseguendo il medesimo codice:

Tipo Scheda Frequenza di commutazione
Genuino 101 320 KHz
Genuino MKR1000 310 KHz
Flyport Ethernet 134.5 KHz
Arduino UNO 125 KHz
Arduino LEONARDO / MICRO 106 KHz
Netduino Plus 2 44.27 KHz
FEZ Panda II 12.7 KHz
Netduino 8.4 KHz