Quel est le schéma pour partager un cristal avec deux micros?

20

Comment partager un monocristal (pas un module oscillateur complet) entre deux micros? Est-il correct de tout connecter comme d'habitude pour le premier micro et de connecter directement son XO au XI du deuxième microcontrôleur? Je m'attends à placer les micros très près les uns des autres sur la carte.

joeforker
la source

Réponses:

17

Ce que j'ai fait lorsque je devais partager une horloge entre micros, c'est que le cristal commande l'oscillateur sur un micro, puis utilise la broche de sortie de l'oscillateur (généralement CLKOUT ou OSCOUT) de ce micro pour piloter le second micro.

Je m'attendrais à des problèmes en essayant de piloter deux oscillateurs à partir du même cristal, si pour aucune autre raison que la capacité des longues traces de PCB nécessaires pour passer entre les deux processeurs, cela provoquerait un dysfonctionnement.

schématique

simuler ce circuit - Schéma créé à l'aide de CircuitLab

uɐɪ
la source
1
Certains microcontrôleurs ont une broche de sortie d'horloge distincte qui n'est pas connectée au cristal.
joeforker
2
Les processeurs MSP430 peuvent acheminer n'importe quelle horloge interne (ACLK, SMCLK ou MCLK) hors de leurs broches d'E / S. J'utilise la sortie ACLK (32768 Hz) pour fournir l'horloge de sauvegarde RTC à un appareil GPS pendant les périodes où son alimentation principale est coupée.
2011
7

Ce n'est pas tout à fait ce que vous voulez. Lorsque vous utilisez un cristal pour former un oscillateur, vous utilisez un onduleur interne au microcontrôleur pour entraîner le cristal. Si vous connectez les deux micros au même cristal, ils se battront et ne fonctionneront pas.

Par conséquent, vous voudrez choisir l'un des deux micros pour servir de pilote de cristal (configurer comme indiqué dans la section 6.2.6 de la fiche technique) et l'autre micro pour utiliser une entrée d'horloge externe (6.2.1 de la fiche technique). Modifiez ensuite votre connexion schématique comme ceci:

schématique

simuler ce circuit - Schéma créé à l'aide de CircuitLab

Alternativement, si la symétrie est souhaitée, vous pouvez utiliser un oscillateur externe par opposition à un cristal. Les deux pourraient alors fonctionner en mode horloge externe.

Houston Fortney
la source
Il y a un besoin certain d'ajuster le condensateur supérieur dans cette configuration, si l'on veut profiter pleinement des avantages de la prévisibilité d'un cristal.
Asmyldof
@Asmyldof J'ai vraiment besoin de la précision de synchronisation du cristal. Peut-être que la solution symétrique est nécessaire? Comment un oscillateur externe est-il connecté?
GisMofx
1
donc si C2 = 10pF (en supposant un chargement d'environ 10pF en raison de l'entrée CLKI) et gardez C1 = 22pF, non?
MarkU
1
Non, il apparaîtra tel quel s'il utilisait une horloge externe.
Houston Fortney
1
@GisMofx Je l'ai signalé en demandant que la réponse soit fusionnée, afin qu'elle soit déplacée vers l'autre question, afin qu'elle puisse être préservée.
Passerby
3

Le problème avec cette approche est que la connexion à la seconde entrée de l'oscillateur affectera la capacité sur cette broche et modifiera légèrement la fréquence ainsi que la réduction de la commande de cristal. Cependant, cela n'a peut-être pas d'importance et il est très peu probable qu'il empêche l'oscillation. Lorsque j'ai eu besoin de le faire pour un produit, j'ai utilisé un module oscillateur à cristal pour les deux MCU.

Leon Heller
la source
2
Un peu de capacité supplémentaire sur la ligne de sortie de l'oscillateur n'est pas vraiment un problème. C'est principalement la capacité du côté sortie du cristal, qui est la ligne d'entrée de l'oscillateur, qui forme la charge sur le cristal et doit être à peu près correcte pour obtenir la bonne fréquence dans la plage. Si vous avez besoin de distribuer largement l'horloge, placez une porte tampon CMOS près du micro avec le cristal.
Olin Lathrop
C'est également une excellente idée pour EMI d'éviter de router les signaux d'horloge entre les cartes.
joeforker
3

Vous pouvez construire un oscillateur à l'aide d'une puce inverseuse cheapo (0,1 $) ou d'un générateur d'horloge spécialisé (légèrement plus cher) et alimenter cette horloge aux deux uC.

La simple connexion du cristal aux deux ne fonctionnerait pas (de manière fiable).

BarsMonster
la source
2

Si c'est quelque chose comme les PIC que j'ai utilisés, vous avez un XTALout et un XTALin avec le XTAL réel entre eux et des bouchons (peut-être autour de 22pf) à la masse. Essayez de connecter le XTALout de l'un au XTALin de l'autre.

NickHalden
la source
Il est recommandé d'utiliser un petit condensateur série pour piloter le deuxième oscillateur à partir de la sortie du premier.
stevenvh
1

Fabriquez un oscillateur à partir de votre cristal et un onduleur comme suggéré par BarsMonster, et alimentez-le dans l'entrée d'un CI de tampon de distribution de fanout . Une sortie de tampon de fanout va à l'entrée d'horloge de chaque MCU.

Je ne peux pas vraiment recommander une partie spécifique sans savoir quels micros vous utilisez, mais vous voudriez commencer par ces filtres:

  • Type: Fanout Buffer (Distribution)
  • Nombre de circuits: 1
  • Ratio - Entrée: Sortie: 1: 2
Joe Baker
la source
1
Une liste de 3000 pièces n'est pas vraiment utile. Sélectionnez l'un d'entre eux et expliquez pourquoi c'est un bon choix.
stevenvh
J'hésite à mettre une partie spécifique directement dans la réponse sans savoir quels niveaux logiques etc. il utilise. Je vais mettre des informations sur les filtres de recherche pour les affiner. Pour ce que ça vaut, j'utilise actuellement un oscillateur avec un TI CDCLVC1102 . Il semble que vous puissiez utiliser un CDC3RL02 avec un TXCO et aucun onduleur également.
Joe Baker