Considerazioni in libertà (dalla ML)

Visto che il numero di interessati al PSoC è in percentuale abbastanza alto, almeno sul numero di robottari attivi in lista, penso che sia utile continuare a scambiarci le idee per chiare, tra noi e anche a chi lo guarda solo da lontano, cosa può e cosa non può fare questa linea di componenti.

1 - NON E' UN SOSTITUTO DI PIC, DSPIC O ALTRE MCU A QUEL LIVELLO. Almeno nella serie PSoC1 la MCU interna è abbastanza sempliciotta confrontata con gli standard ai quali siamo ormai abituati.
2 - Chi non ha esigenze di condizionare segnali analogici PUO' FARNE TRANQUILLAMENTE A MENO e continuare ad usare la propria MCU preferita.
3 - Le potenzialità dei PSoC, grazie a tutte le possibili combinazioni tra i vari moduli, sono moltissime ma non infinite. Ci sono alcune limitazioni sui collegamenti possibili che vanno studiate bene, per questo il Designer è fatto molto bene. Il circuito va progettato bene prima di mettersi a programmare, altrimenti c'è il rischio di buttare gran parte del proprio lavoro. Per fortuna non si buttano invece componenti, basta cancellare tutto e ricominciare da capo, vuoi mettere il vantaggio?
4 - Ogni modulo ha una serie enorme di registri di configurazione. Questo permette di risolvere moltissime delle esigenze che normalmente si trova davanti chi lavora con l'elettronica analogica, ma richiede un certo sforzo per capirle. Spesso il "default" funziona bene ma non sempre.
5 - L'elettronica analogica richiede delle conoscenze sia teoriche che pratiche abbastanza vaste prima di essere messa in funzione, a differenza di quella digitale nella quale si può partire molto facilmente e specializzarsi "on-the-job". Anche se per arrivare a buoni risultati bisogna studiare molto in entrambi i campi. Il PSoC è un sistema che semplifica moltissimo la vita del progettista analogico ma, se non si conosce almeno un po' della teoria necessaria, sarà difficile anche solo capire cosa offre. Diciamo che permette di partire facilmente anche solo con una base teorica e non pratica, ma almeno quella ci vuole.

Volevo anche spiegare, con un esempio pratico, che per fare alcune cose NON E' SUFFICIENTE UN DSPIC al posto di un PSoC come qualcuno afferma.
Perfettamente in linea con il pensiero di Vincenzo sto ragionando su un progetto reale, una vera esigenza pratica, il filtro a 4KHz per le gare explorer.
Un filtro fatto con il DSP di un dsPIC può fare sicuramente molte più cose di un filtro passa-qualchecosa fatto ad operazionali, anche se ci vuole un po' di conoscenza matematica anche qui e…. non si può prescindere dalla programmazione in C.
Il DSP lavora sul segnale campionato dalla porta AD, quindi va amplificato il segnale proveniente dai microfonini ad elettrete, diciamo almeno un centinaio di volte per avere un livello sufficiente. Di solito si usano almeno tre microfoni miscelati tra loro. Siamo già arrivati ad almeno due operazionali. I microfoni captano tutti i rumori dell'ambiente, quelli del vociare del pubblico come quelli dei motori del robot stesso, oltre al presentatore che spara centinaia di watt di audio distorto sugli altoparlanti. Il tono da riconoscere è, se ci dice bene, allo stesso livello del rumore ambiente. Se amplifichiamo tutto indistintamente qualche stadio sicuramente satura ed introduce a sua volta segnali spuri che rendono ancora più difficile la decodifica. Quindi un minimo di passa banda va introdotto in qualche stadio, e siamo a tre op-amp. Dal momento che lavoriamo a tensione singola dobbiamo introdurre una massa virtuale, e allora aggiungiamo resistenze o, dato che ci avanza un op-amp, usiamo questo per la massa virtuale di tutti gli altri stadi. Se poi ci mettiamo davanti un PGA riusciamo anche a fare un po' di guadagno automatico per evitare saturazioni e per non dover stare in continuazione a lavorare di trimmer. Pensiamo ai componenti attivi che abbiamo messo, ai componenti passivi che ci sono intorno e ai relativi collegamenti. Forse non siamo ancora arrivati al costo di un PSoC come pura spesa di componenti ma… quanto ci è costato in termini di tempo?
E poi… avete mai provato a mettere insieme qualche op-amp e fargli guadagnare qualcosa più di 1? L'autoscillazione è dietro l'angolo, se non si ha un po' di pratica è molto più facile ottenere un generatore di segnali che un amplificatore.
A questo punto, il dsPIC a che serve più? Ci basta un AD per leggere il segnale e far eseguire una qualche azione quando il livello supera una soglia prefissata.
E se invece ci metto un solo PSoC? Senza componenti esterni? Che programmo e riprogrammo come voglio senza dissaldare condensatori e resistenze? E magari uso anche la parte digitale per fare un modulo a se stante che collego al bus I2C come fosse una bussola o un SRF08 da interrogare col processore principale? Mi sono semplificato la vita per questa specifica esigenza? Io dico di si.

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