Test di commutazione su pin digitale
Ho acquistato di recente la nuova scheda Arduino Leonardo basata sul chip Atmel Mega32U4. Questo microcontrollore possiede un modulo usb integrato che sostituisce il modulo di conversione usb-ttl presente nella Arduino UNO, rendendo la scheda molto ‘snella’ visto l’esiguo numero di componenti che ospita.
La prima prova che voglio effettuare è il classico speed test che ho realizzato anche per le altre schede. Questa verifica consiste nel commutare un pin digitale in modo ripetitivo, utilizzando solamente le istruzioni che permettono di porre il pin digitale a livello alto e a livello basso e, avvalendomi di un oscilloscopio ,misurare la frequenza di commutazione.
Lo sketch caricato sulla Leonardo è il seguente:
void setup() { //pin0 in uscita pinMode(0, OUTPUT); } void loop() { //ciclo infinito while(true) { //metto il pin0 alto digitalWrite(0, HIGH); //metto il pin0 basso digitalWrite(0, LOW); } }
mentre lo schema elettrico del test è il seguente
la frequenza misurata risulta pari a 106 Khz leggermente inferiore a quella ottenuta con la Arduino UNO(125Khz). Ho realizzato una semplice tabella riepilogativa con le varie frequenze delle diverse schede che ho sottoposto al test.
Tipo Scheda | Frequenza di commutazione |
Arduino UNO | 125 Khz |
Arduino LEONARDO | 106 Khz |
Netduino standard | 8.4 Khz |
Fez Panda II | 12.7 Khz |