Considerazioni - riconfigurazione on fly

Sto guardando le possibilità di configurazione e ho trovato questa cosa eccezionale:

Multiple configurations give you a visual method to make your PSoC alter its
operation and configuration of the digital and analog blocks while running. This is
intended to give you greater flexibility and power in your designs. It works particularly
well if there are functions in your design that don’t need to be happening all the
time, but only need to happen at specific moments. After a specific task is done, that
function can be freed up to perform another purpose.

Bisogna infatti cambiare un po' il modo di vedere il microcontrollore. Siamo abituati con i PIC ad avere un certo numero di periferiche fisse, che possono essere o meno utilizzate ma sono comunque fisse: un certo PIC avrà i TImer1, 2, e 3, un altro avrà anche il 4 e 5. I dsPIC hanno timer a 16 bit, nei 18F bisogna usare 2 timer a 8 bit per averne uno a 16 e così via. Configurazioni equivalenti saranno disponibili per altre periferiche. Finito quel numero di periferiche bisogna passare ad altri tipi di PIC se ne servono di più.

Con i PSoC ci sono i moduli generici che possono essere configurati secondo le proprie necessità. Attenzione, non tutte le configurazioni e i collegamenti sono possibili, ci sono diverse limitazioni ma sono comunque tante possibilità. Abbiamo 16 moduli digitali, ci posso mettere, ad esempio, diversi timer. Un timer a 8 bit occupa un modulo uno a 16 due, fino a 32 bit che ne occupa quattro. Però li posso mettere come voglio.
Altro esempio, una UART occupa due blocchi, se non uso mai la parte TX posso usare il device RX, che mi occupa un solo blocco digitale. Con un po' di pratica e di smanettamenti si possono fare veramente tante cose.
Una flessibilità ancora più grande è permessa dalla riconfigurabilità. Tramite il Designer posso creare tante configurazioni e richiamarle quando mi servono in maniera dinamica all'interno del mio programma. Ovviamente ci sono delle limitazione dovute ai collegamenti esterni e alle diverse situazioni, vanno studiate molto bene per non creare segnali strani, glitch o altre cose che potrebbe essere fastidiose o addirittura dannose durante la commutazione, però offrono ancora più possibilità

Ed il bello è che tutto questo si fa dal designer, in maniera grafica. Durante il build vengono create le varie configurazioni che sono richiamabili con le apposite librerie dal programma.

Se avete notato infatti, il Designer fa gran parte del lavoro di organizzazione del progetto. Organizza tutti i file, mette tutte le librerie necessarie nel folder del progetto, costruisce il file assembler di boot che configura tutti i registri per quella specifica configurazione, eccetera.

Ci sono moltissime librerie per fare le cose che normalmente servono, un esempio per tutti, il modulo LCD che permette di usare in maniera semplice, come fosse una periferica della MCU un display LCD classico.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License