Qual è lo schema per condividere un cristallo con due micro?


20

Come faccio a condividere un singolo cristallo (non un modulo oscillatore completo) tra due micros? È corretto collegare tutto normalmente per il primo micro e anche collegare direttamente il suo XO all'XI del secondo microcontrollore? Mi aspetto di posizionare i micro molto vicini tra loro sul tabellone.

Risposte:


17

Quello che ho fatto quando avevo bisogno di condividere un clock tra i micros è di far guidare il cristallo all'oscillatore su un micro e quindi utilizzare il pin di uscita dell'oscillatore (in genere CLKOUT o OSCOUT) da quel micro per guidare il secondo micro.

Mi aspetterei problemi nel tentativo di pilotare due oscillatori dallo stesso cristallo, se non altro per il fatto che la capacità delle lunghe tracce PCB necessarie per passare tra i due processori causerebbe un malfunzionamento.

schematico

simula questo circuito - Schema creato usando CircuitLab


1
Alcuni microcontrollori hanno un pin di uscita orologio separato che non è collegato al cristallo.
Joeforker,

2
I processori MSP430 possono instradare qualsiasi clock interno (ACLK, SMCLK o MCLK) dai loro pin I / O. Uso l'uscita ACLK (32768Hz) per fornire l'orologio di backup RTC a un dispositivo GPS per le volte in cui la sua alimentazione principale è spenta.
uɐɪ

7

Non è esattamente quello che vuoi. Quando si utilizza un cristallo per formare un oscillatore, si utilizza un inverter interno al microcontrollore per guidare il cristallo. Se colleghi entrambi i micro allo stesso cristallo, combatteranno e non funzioneranno.

Pertanto, dovrai scegliere uno dei due micro che fungerà da driver del cristallo (configura come mostrato nella sezione 6.2.6 del foglio dati) e l'altro micro per utilizzare un ingresso di clock esterno (6.2.1 del foglio dati). Quindi modificare la connessione schematica in questo modo:

schematico

simula questo circuito - Schema creato usando CircuitLab

In alternativa, se si desidera la simmetria, è possibile utilizzare un oscillatore esterno anziché un cristallo. Quindi entrambi potrebbero funzionare in modalità orologio esterno.


Vi è una netta necessità di regolare il condensatore superiore in questo set-up, se si vogliono ottenere tutti i benefici della prevedibilità di un cristallo.
Asmyldof,

@Asmyldof Ho sicuramente bisogno della precisione di temporizzazione del cristallo. Forse è necessaria la soluzione simmetrica? Come viene collegato un oscillatore esterno?
GisMofx,

1
quindi se C2 = 10pF (presupponendo un caricamento di circa 10pF a causa dell'ingresso CLKI) e mantenere C1 = 22pF, giusto?
MarkU,

1
No, verrà fuori come se stesse usando un orologio esterno.
Houston Fortney,

1
@GisMofx L'ho contrassegnato chiedendo la risposta da unire, in modo che venga spostata sull'altra domanda, in modo che possa essere conservata.
Passante dal

3

Il problema con questo approccio è che la connessione al secondo ingresso dell'oscillatore influenzerà la capacità su quel pin e altererà leggermente la frequenza, oltre a ridurre il cristallo drive. Tuttavia, potrebbe non essere importante ed è molto improbabile che prevenga l'oscillazione. Quando ho dovuto farlo per un prodotto ho usato un modulo oscillatore a cristallo per entrambi gli MCU.


2
Una piccola capacità aggiuntiva sulla linea di uscita dell'oscillatore non è un grosso problema. È principalmente la capacità sul lato di uscita del cristallo, che è la linea di ingresso dell'oscillatore, che forma il carico sul cristallo e deve essere quasi giusto per ottenere la frequenza corretta entro il raggio di azione. Se è necessario distribuire ampiamente l'orologio, posizionare un gate buffer CMOS vicino al micro con il cristallo.
Olin Lathrop,

Inoltre, è un'ottima idea per EMI evitare l'instradamento dei segnali di clock tra le schede.
Joeforker,

3

Puoi costruire un oscilatore usando un chip invertitore cheapo (0,1 $) o un generatore di clock specializzato (leggermente più costoso) e alimentare quel clock a entrambi gli stati Uniti.

Il semplice collegamento del cristallo ad entrambi non funzionerebbe (in modo affidabile).


2

Se è qualcosa di simile ai PIC che ho usato, hai un XTALout e un XTALin con l'XTAL reale tra loro e maiuscole (forse intorno a 22pf) a terra. Prova a connettere XTALout di uno a XTALin dell'altro.


Si consiglia di utilizzare un condensatore di piccole serie per pilotare il secondo oscillatore dall'uscita del primo.
Stevenvh,

1

Crea un oscillatore dal tuo cristallo e un inverter come suggerito BarsMonster, e inseriscilo nell'input di un IC buffer di distribuzione fanout . Un'uscita buffer di dissolvenza va all'ingresso di clock di ogni MCU.

Non posso davvero raccomandare una parte specifica senza sapere quali micros stai usando, ma vorresti iniziare con questi filtri:

  • Tipo: Fanout Buffer (distribuzione)
  • Numero di circuiti: 1
  • Rapporto - Ingresso: Uscita: 1: 2

1
Un elenco di 3000 parti non è davvero utile. Selezionane uno e spiega perché è una buona scelta.
Stevenvh,

Sono titubante nel mettere una parte specifica direttamente nella risposta senza sapere quali livelli logici ecc. Sta usando. Inserirò alcune informazioni sul filtro di ricerca per aiutarti a restringerlo. Per quello che vale, attualmente sto usando un oscillatore con un CDCLVC1102 TI . Sembra che potresti usare un CDC3RL02 con un TXCO e nessun inverter.
Joe Baker,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.