Invio dati seriali PIC-PLL

Buongiorno, dovrei realizzare un piccolo trasmettitore (feq. 144.800 Mhz FM ) So già che in commercio ci sono diverse soluzioni, ma per puro spirito hobbistico ho deciso di auto costruirmelo. Ho già realizzato il VCO e funziona alla perfezione ( 144.800ca. a 2,5volt). A questo punto per mantenere stabile il VCO sulla frequenza 144.800 pensavo di controllarlo tramite PLL (mod. LMX1501A in tecnologia SMD ) Questo PLL accetta in ingresso, per settare i registri del divisore, dati inviati in modo seriale e quindi presenta 3 pin : DATA, LE e CLOCK. A questo punto ci vuole un pic della famiglia 16F8X per inviare al PLL i dati in forma seriale, per l'esattezza 19 bit. E qui mi sono un attimo bloccato. I pic per i miei semplici progetti gli ho sempre programmati in basic. Secondo voi posso utilizzare il protocollo SPI per inviare dati al PLL? Accetto vostri consigli o modifiche. Vi ringrazio per l'attenzione.

Reply to
Geppo
Loading thread data ...

Geppo:

La National dice che è obsoleto.

Consiglia lo LMX2316, che viene inizializzato con parole da 21 bit. In tale situazione forse è più semplice, anziché usare lo SPI, mandare il bit da spedire sul pin Data, portare il pin Clock da basso ad alto e poi di nuovo a livello basso, mandare il secondo bit e così via. Dopo il 21esimo bit devi mettere il LE alto e riportarlo immediatamente a livello basso.

Reply to
F. Bertolazzi

Non conosco il Basic dei PIC ma se puoi accedere ai port di I/O non dovrebbero esserci ostacoli. Basta che scrivi una funzione per comandare le tre linee. Il PLL una volta programmato mantiene quella frequenza e il PIC potrebbe in teoria anche rimanere spento. Solo quando decidi di cambiare frequenza il PIC dovra' aggiornare il PLL. In Basic ci impiegher=E0, per esempio, un decimo di secondo, mentre in assembler un millesimo, ma in questo caso non ti accorgi della differenza.

Reply to
grigio

Ne avevo comprati un paio 2 mesetti fa :-( proverò con quelli ormai

Si anche secondo me !

Praticamente genero un onda quadra su un pin per esempio RB0(clock) Quindi mi deve passare dallo stato logico 1 allo stato logico 0 per esempio ogni (1/f)/2. Come frequenza di clock pensato 100khz secondo voi può andare ? Mentre il clock si trova allo stato logico 0 tramite il pin RB1(data) gli invio un singolo bit e cosi per ogni ciclo di clock ricordandomi di portare allo stato logico 0 il pin RB2 (LE) per la durata dell'invio dei dati . Potrebbe andare ?

Grazie ancora!

Reply to
Geppo

Geppo ha scritto:

Ciao, a suo tempo realizzai una programma in PICbasic pro per il comando seriale di questo PLL (in realtà MB1501 fujtsu quello NS è un second source perfettamente compatibile) con un PIC 16F84 ma funziona benissimo anche con il 16F628. Se vuoi ti invio il progemma che è di estrema facilità di comprensione.

Reply to
comtron

Ti ringrazio sai molto gentile... questa è la mia mail: jurighATiol.it AT=@ Grazie mille!

"comtron" ha scritto nel messaggio news:FG12n.8816$ snipped-for-privacy@twister2.libero.it...

Reply to
Geppo

"Geppo" ha scritto nel messaggio news:4b489646$0$1112$ snipped-for-privacy@reader4.news.tin.it...

La banda 144 è per radioamatori. Sicuro di poterci andare? Io non userei la frequenza di 144.800 per la semplice ragione che su questa ci sono i ponti ripetitori. Se vai a rompere in quella zona disturbi più che mai. Un autocostruito e non fatto bene (è non è facile farlo bene) sblattera anche sulle frequenze vicine causando disturbi agli altri utenti. Per finire di quale potenza stiamo parlando?

Un giro nel ng dei radioamatori non farebbe male.

Reply to
Lazer

Ciao ! Ma io sono radioamatore ! Mi serve appunto per creare un trasmettitore APRS ! Potenza parliamo 5 watt max.

73!

"Lazer" ha scritto nel messaggio news:FV12n.119810$ snipped-for-privacy@twister1.libero.it...

Reply to
Geppo

"Geppo" ha scritto nel messaggio news:4b48b18b$0$1111$ snipped-for-privacy@reader4.news.tin.it...

Bene! Allora sai già tutto.

Reply to
Lazer

"Geppo" ha scritto nel messaggio news:4b489f92$0$1101$ snipped-for-privacy@reader4.news.tin.it...

Non serve che sia un'onda quadra, quel che importa sono gli stati dei 3 ingressi del PLL. Ora non conosco il protocollo, ma immagino sia qualcosa: a clock basso prepara il bit, tiri su il clock ed il bit viene letto, cosi via per gli altri bit. Voglo dire che la lettura in genere viene effettuata quando il clock cambia stato, o in discesa o in salita come nell'esempio. Per la frequenza devi guardarti i tempi supportati sul datasheet del PLL, se vai troppo veloce i bit non vengono letti... Per inviare i vari bit puoi usare le funzioni di shift (scorrimento) che immagino ci siano anche nel basic.

ciao giorgio

Reply to
Giorgio Padoan

Ok inizio a capirci qualcosa :-) Nel datasheet del PLL ho trovato questi dati per la comunicazione seriale:

tCS Data to Clock Set Up Time min:50ns tCH Data to Clock Hold Time min:10ns tCWH Clock Pulse Width High min 50ns tCWL Clock Pulse Width Low min:50ns tEW Enable Pulse Width min:50ns

Praticamente il mio clock dovrà avere un periodo di minimo 50ns ?

Grazie ancora a tutti !

Reply to
Geppo

Geppo ha scritto:

Inviato!

Reply to
comtron

comtron:

Vorrei vedere il contrario.

Reply to
F. Bertolazzi

Lazer:

Salvo quotare.

Reply to
F. Bertolazzi

Giorgio Padoan:

Meglio se triangolare. A una certa età, soprattutto se si parte svantaggiati, è meglio pensarci due volte prima di premere invio. Io, ad esempio, non lo faccio.

Ma manco domani.

Maggiura! Eh, se non ci fossi tu...

E' stato bello.

Reply to
F. Bertolazzi

Si hai ragione non so quotare molto bene...non uso spesso i newsgroup perdonatemi ;-) "F. Bertolazzi" ha scritto nel messaggio news: snipped-for-privacy@40tude.net...

Reply to
Geppo

Ho tirato fuori i libri di elettronica delle superiori e mi sono chiarito un po le idee sul clock, il setup e hold! Ringrazio tutti per la preziosa collaborazione al mio quesito, ora mi metto al lavoro e speriamo che tutto vada bene! Grazie ancora!

Reply to
Geppo

"F. Bertolazzi" ha scritto nel messaggio news: snipped-for-privacy@40tude.net...

Evidentemente non mi hai capito: non serve che il periodo tra un fronte del clock e l'altro siano sempre perfettamente uguali. Per cui se il clock lo generi tu alzando ed abbassando un pin col dovuto ritardo va' benissimo, ti ricordo che in genere ci possono essere degli interrups che bloccaco per un attimo il micro, cosi' il periodo tra un clock e l'altro puo' cambiare..

lL'ottanta per cento della mia esperienza proviene dalla programmazione di microcontrollori, per cui hai proprio sbagliato individuo.

Anche qui per far capire che non serve usare un timer per il clock di una periferica.

Questa frase si commenta da sola... non capisco perche' tanto sarcasmo. Secondo me sei uno di quelli che hanno sempre usato il timer per il clock de tali periferiche...

Reply to
Giorgio Padoan

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.