Pagina 1 di 2

Fornire un clock da PIC

MessaggioInviato: 23 set 2012, 19:16
da spud
Un saluto a tutti.
Devo far comunicare due pic32 attraverso due modem tda5051 (che gestiscono la comunicazione su power line) uno che riceve e uno che trasmette. Questi modem hanno bisogno di un clock a 8Mhz; per risolvere problemi dovuti alla sincronizzazione tra PIC e modem e per semplificare il circuito è stato deciso (non da me :mrgreen: ) di eliminare il quarzo del modem e di fornire il clock da un piedino del PIC generandolo via software.

Qual è il modo migliore e più efficente di fare questo?

I PIC sono montati su due schede Uno32 e per programmarle uso un linguaggio pseudo C identico a quello di Arduino.

Grazie a tutti O_/

Re: Fornire un clock da PIC

MessaggioInviato: 23 set 2012, 19:27
da DirtyDeeds
spud ha scritto:fornire il clock da un piedino del PIC generandolo via software.


Un clock a 8 MHz generato via software non mi sembra veramente una bella idea, per almeno due motivi:

1) Non so a che frequenza utilizziate il PIC, ma quasi sicuramente una frazione consistente dei suoi cicli di clock finirebbe per essere occupata a generare l'altro clock.

2) Il periodo di un clock generato via software è soggetto a variazioni dipendenti dall'attività della cpu, e ciò non è buono.

Molti micro hanno dei divisori interni che possono essere utlizzati per generare dei clock secondari, piuttosto vedete se riuscite a cavarvela con quelli.

Re: Fornire un clock da PIC

MessaggioInviato: 23 set 2012, 19:36
da spud
Ciao Foto UtenteDirtyDeeds, grazie per la risposta.

DirtyDeeds ha scritto: Non so a che frequenza utilizziate il PIC, ma quasi sicuramente una frazione consistente dei suoi cicli di clock finirebbe per essere occupata a generare l'altro clock.


il PIC va a 80Mhz, diciamo che per ora il problema si può trascurare perché quello che vogliamo fare è solo spedire un dato e vedere che dall'altra parte sia ricevuto, questo perché il circuito è a uno stadio embrionale e il suo scopo è il test del modem.

DirtyDeeds ha scritto:Molti micro hanno dei divisori interni che possono essere utlizzati per generare dei clock secondari, piuttosto vedete se riuscite a cavarvela con quelli.


era proprio un sistema di questi che mi sarebbe piaciuto utilizzare, però ho paura che l'ambiente che usiamo per programmare la scheda di sviluppo non ci consenta di andare così a basso livello.

Re: Fornire un clock da PIC

MessaggioInviato: 23 set 2012, 19:56
da TardoFreak
Io ho provato i TDA5051 e non mi sembrano per niente buoni. Per la power-line communication ho trovato ottimi i PSoC della Cypress.
Comunque,
Mi pare che uno o più timer del PIC32 si possano configurare in modo da commutare un pin di uscito dopo n impulsi di clock (con il compare register) il che produrrebbe una frequenza precisa per i fatti suoi.

Re: Fornire un clock da PIC

MessaggioInviato: 23 set 2012, 20:00
da spud
Grazie Foto UtenteTardoFreak provo e vedo cosa viene fuori, che tu sappia posso gestire i timer interni con il liguaggio che uso per programmare?

Re: Fornire un clock da PIC

MessaggioInviato: 23 set 2012, 20:02
da TardoFreak
Non c'è niente da gestire. Se non ricordo male (è da un po' che non lavoro sui PIC32) imposti i registri in modo opportuno e ti ritrovi la frequenza senza fare nient' altro.
Il timer ed il registro comparatore funzionano per gli affari loro.

Re: Fornire un clock da PIC

MessaggioInviato: 23 set 2012, 20:35
da Orso71
TardoFreak ha scritto:Io ho provato i TDA5051 e non mi sembrano per niente buoni.

Puoi dare qualche dettaglio? Volevo provarli, ma questa tua affermazione mi ha raffreddato. Come li hai provati? Che set up di verifica hai creato? Quali sono i problemi riscontrati?

Re: Fornire un clock da PIC

MessaggioInviato: 23 set 2012, 22:28
da spud
Con timer0 non ce la faccio, ho calcolato che con prescaler a 2 ottengo 10MHz mentre con 4 vado sui 5MHz, esattamente 1MHz sopra e sotto il range di frequenze di funzionamento del modem ||O

Re: Fornire un clock da PIC

MessaggioInviato: 23 set 2012, 22:30
da simo85
Non devi usare il TMR0 e nessun timer. Puoi settare i registri dell'oscillatore di sistema.

Re: Fornire un clock da PIC

MessaggioInviato: 23 set 2012, 22:33
da spud
Hai sotto mano un esempio di codice? perché non sono molto esperto e questa cosa non l'ho mai fatta.