Inviare dati seriali tra PIC 16f84 e PLL

Ciao a tutti !!! Dovrei realizzare il software che mi permetta di gestire il seguente schema. Devo collegare un pic (pensavo ad un 16f84) ad un PLL ( LMX1501 )per il controllo della frequenza di sintoni a di una radioVHF FM che stò realizzando. Il problema è questo. Il PLL accetta in ingresso dati trasmessi in modo seriale tramite 3 piedini ( DATA, CLOCK, LE ). Il pic 16f84 non ha i seguenti pin e quindi mi sono venuti in mente una soluzione. Battezzo un pin del PIC come clock e una come data. Siccome devo inviare una sequenza di 14 bit pensavo di creare una variabile con array composto appunto da 14 celle. Creo un ciclo dove faccio andare il pin del clock a 1 e successivamente invio il primo bit del mio array seguito da un ritardo che determina la durata del clock. Successivamente pongo il bit di clock a 0 per la stessa durata e cosi via fino all'invio dei 14 bit. Potrebbe funzionare ? L'unica cosa è che nel datasheet del PLL non è specificato a quale frequenza posso generare il clock ... avete suggerimenti in merito ?

Vi ringrazio in anticipo fin da ora !!! CIAO !!!

Reply to
Geppo
Loading thread data ...

ma.

La tecnica di cui parli si chiama bit banging ed =E8 diffusa in assenza di un'USART che fa il lavoro via hardware. Un'alternativa sarebbe quella di orientarti verso un modello pi=F9 recente di microcontrollore. Anche in casa Microchip, il 16F84 =E8 considerato obsoleto e componenti come il 16F628 possono rimpiazzarlo con funzioni pi=F9 avanzate, fra cui una USART.

Se ancora vuoi implementare il bit-banging, io avevo scritto anni fa delle routine per la I2C:

formatting link
Con qualche sforzo, probabilmente si potranno adattare al protocollo Microwire (utilizzato dalla tua PLL), che non =E8 troppo dissimile dalla SPI. Se non mi ricordo male, Microchip vende diverse EPROM che utilizzano il protocollo Microwire e non dovrebbe essere difficile trovare codice adatto a tecniche di bit banging su microcontrollori privi di USART. Una ricerca rapida mi ha fornito qualche application note, fra cui la seguente:
formatting link
(c'=E8 il pdf con le descrizioni ed un archivio contenente il codice)

Reply to
Darwin

Geppo ha scritto:

A pagina 6 del datasheet dovresti trovare la tabella con tutti i timing; in ogni caso non scendere sotto i 50 nS tra un ciclo di clock e l'altro, e mantieni alto il clock per un tempo non inferiore ai 10 nS. A spanne direi che se gli butti dentro un clock anche a 100 Khz o più non dovrebbe lamentarsi. Non sono specificati valori tipici e massimi, quindi ti direi di stare tranquillo: il dispositivo non è particolarmente critico. Tempo fa avevo scritto un driver per il pll MB87006A e riuscivo tranquillamente a impostarlo con frequenze di clock variabili da 10 uS a 50 mS.

Ciao

Reply to
qUAD dAMAGE

Vi ringrazio per le risposte molto esaurienti !!! Faccio una correzzione al post iniziale ... al PLL devo inviare 2 sequenze di bit in modalità seriale, la prima da 15 bit e la seconda da 18 bit in ordine MSB. Non essendo un esperto elettronico ho realizzato progetti in basic (Mikrobasic ) e speravo di potrelo realizzare anche questo in basic. Potrei usare anche la modalità SPI ? ( naturalmente cambiando PIC ) e impostarlo come master ?

Grazie ancora e ciao !!!

"qUAD dAMAGE" ha scritto nel messaggio news:498d3685$0$11378$ snipped-for-privacy@news.tiscali.it...

Reply to
Geppo

Potrei usare anche USART ma devo impostare anche il BPS ? "Geppo" ha scritto nel messaggio news:498d7dfb$0$834$ snipped-for-privacy@reader5.news.tin.it...

Reply to
Geppo

Pestando alacremente sulla tastiera "qUAD dAMAGE" ebbe l'ardire di profferire:

Non credo possa neppure arrivarci con un 16f84 a questi timing così bassi...

--
If you have a procedure with 10 parameters, you probably missed some.
News 2002 [v 2.3] / StopDialer / PopDuster - http://www.socket2000.com
 Click to see the full signature
Reply to
Due di Picche

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.