Frequenzimetro con PSOC

Frequenzimetro con UDB

Realizzare un frequenzimetro con un PSOC è relativamente semplice. Si può implementare con diversi metodi, io ho voluto usare i blocchi UDB (Universal Digital Block)  anche per imparare ad usarli correttamente.
I blocchi UDB hanno il grosso vantaggio di essere autonomi rispetto dalla CPU. Una volta configurati ed attivati svolgono la loro funzione senza impegnare la CPU.

In questo esempio, un modulo PWM genera il clock di riferimento, mentre un contatore misura i periodi della frequenza da misurare (all'interno del periodo di clock di riferimento).

L'intervento della CPU è richiesto, via interrupt, solo al termine del tempo di misura, per recuperare il valore contato e visualizzarlo sul display.

Il conteggio avviene in 100 mS, ma può essere conveniente modificato. Il contatore è configurato a 24 bit, quindi può contare fino a 16777215.

Il valore viene letto, convertito in decimale e visualizzato sul display.

Il clock di riferimento è generato all'interno del PSOC e non è particolarmente preciso e stabile (2%). Questo problema si può risolvere utilizzando un clock esterno, soluzione prevista dal PSOC.

Resta da individuare la massima frequenza gestibile dal modulo di conteggio. Certamente dipende dal modello PSOC utilizzato.  Io sto usando il PSOC 4. Il modulo UDB Contatore è sincronizzato con una frequenza interna di 12 MHz. E' ragionevole aspettarsi una massima frequenza di 6MHz. Non ho fatto prove verso valori alti, certamente si arriva fino a 2MHz.

L'esempio è molto semplice e il circuito, realizzato su un kit (CY8CKIT-49-42xx), deve essere pilotato da un segnale ad onda quadra 0-5 Volt. Una successiva implementazione può prevedere l'uso degli operazionali interni al PSOC, per amplificare e squadrare un segnale analogico generico.

Ho usato alcuni pin per poter visualizzare e misurare alcuni segnali interni, cosa non strettamente necessaria nella implementazione finale.
Il blocco Bootlodable è necessario per caricare il software via USB.

Alcune risorse usate sono limitate dal processore utilizzato, ad esempio il PSOC 5 consente maggiore flessibilità. Inoltra nulla vieta di usare maggiormente la CPU e implementare il frequenzimetro completamente via software.

Progetto completo del frequenzimetro.

Programma main.c.

 

Categoria: 

Tags: 

Mi piace: 

0
No votes yet