Routage d'horloge à 30 MHz sur plusieurs cartes

9

J'utilise le pilote LED TLC5945 . Le microcontrôleur (j'utilise LPC1343 ) doit fournir une horloge pour son temporisateur / compteur PWM interne. La vitesse d'horloge maximale autorisée est spécifiée à 30 MHz.

J'aurai plusieurs cartes avec TLC5945 en guirlande. Les cartes seront connectées via des connecteurs carte à carte ou des câbles plats courts, la largeur d'une carte est de 10 cm. J'en aurai au maximum 4 connectés en série.

Je n'utiliserai probablement pas la pleine fréquence de 30 MHz, mais néanmoins je veux le faire correctement - comment puis-je acheminer / conditionner le signal d'horloge en le gardant intact?

Si j'ajoute un tampon comme 74HC245 à la sortie de chaque carte, j'obtiendrai un retard de 10ns après chaque tampon, je ne veux pas ça. Dois-je utiliser des tampons d'horloge spécialisés "zéro retard"? Quel type de régime de résiliation dois-je utiliser?

miceuz
la source
2
Un cycle unique à 30 MHz est ~ 33 ns. Est-ce que le décalage d'un tiers d'un cycle unique par planche est si grave?
Toby Lawrence
1
Quelle grande question et réponses. Chaque réponse s'ajoute à la solution, sans répéter aucune des précédentes!
Vorac

Réponses:

20

30 MHz suffisent pour traiter le signal comme un problème de ligne de transmission. Vous devrez faire attention à la disposition des cartes à travers la conception, y compris et surtout au niveau des connecteurs. Vous devrez apporter des broches de terre supplémentaires avec votre signal 30 MHz, ou éventuellement utiliser des connecteurs spéciaux.

Vous aurez besoin d'informations sur la disposition de votre carte, le nombre de couches, et vous devrez peut-être coordonner avec le fabricant de votre carte afin qu'ils puissent cibler une impédance caractéristique spécifique pour vous, ou simplement pour obtenir des paramètres tels que les constantes diélectriques.

Il semble que vous soyez au courant de bon nombre de ces problèmes, mais j'ai pensé qu'il était préférable de les résoudre, car si vous ne faites pas attention, vous pouvez obtenir un design fonctionnel mais émettant beaucoup de RF et ne traversant jamais un Test EMI.

Lignes directrices pour l'acheminement du signal:

  • Calculez l'impédance et la largeur de trace.
  • Acheminez d'abord vos horloges.
  • Si possible, ne faites jamais passer le signal via un via. Si c'est le cas, placez des condensateurs de dérivation près du via.
  • Si possible / applicable, acheminez le signal à travers une couche interne (afin que le sol extérieur et les avions de puissance puissent fonctionner comme une sorte de cage de Faraday). Dans ce cas, le signal doit être acheminé sur une seule couche, sauf pour les vias dont il a besoin pour accéder aux puces.
  • Le signal ne passe jamais nulle part sans plan de masse (ou à proprement parler, un plan de référence).
  • Le signal ne traverse jamais une frontière entre les plans de puissance.
  • Lorsque vous traversez un connecteur, entourez-le de motifs.
  • En guirlande, acheminez directement vers les entrées d'horloge sans utiliser de talons, si possible. Schéma de la marguerite sans talons d'Altera PDF
  • Traversez d'autres signaux perpendiculairement.
  • Si d'autres signaux doivent voyager avec lui, donnez-leur une autorisation. Quatre fois la largeur de la trace.
  • Utilisez une terminaison parallèle à la terre avec une résistance égale à l'impédance caractéristique de la microruban / stripline, ou une terminaison de source si le signal n'a qu'une seule destination. Pour une discussion, voir cette question connexe .

Bien sûr, dans une conception réelle, vous devrez peut-être briser certaines de ces directives.

La plupart de ces règles découlent de l'observation qu'à des fréquences élevées, le courant de retour tentera de se déplacer près du signal, vous devez donc fournir un chemin pour le courant de retour. Si le courant de retour est physiquement séparé, vous créez une antenne parasite. Le plan de masse (ou de puissance!) Qui fournit un chemin pour le courant de retour est appelé la référence. Ne quittez pas le plan de référence. Si vous devez passer par un via, le plan de référence change. Le condensateur de dérivation est réglé entre les nouveaux et les anciens plans de référence.

Vos connecteurs poseront un problème, car ils auront probablement une impédance différente de la PCB, donc ils provoqueront des réflexions et dégraderont le signal. Une option peut être d'utiliser un connecteur commandé par impédance qui correspond à l'impédance de la carte.

Du côté du micrologiciel, vous devrez peut-être expérimenter la force du lecteur pour contrôler la vitesse de bordure. La force d'entraînement maximale est souvent la mauvaise réponse. Votre fournisseur de circuits intégrés devrait être en mesure de fournir un modèle IBIS , avec lequel vous pouvez simuler le circuit pour estimer l'intégrité du signal. À proprement parler, ce n'est pas la fréquence d'horloge qui cause l'intégrité du signal ou les problèmes CEM, mais la fréquence de front (le temps de transition entre haut et bas) car les fronts rapides se manifestent sous forme de transitoires à large bande dans le domaine fréquentiel. La réduction de la force d'entraînement et / ou de la vitesse de balayage réduira la vitesse de front et les émissions harmoniques, tout en augmentant (probablement) la gigue d'horloge. Vérifiez les fiches techniques pour voir quel est le taux de front acceptable pour les récepteurs de l'horloge.

Mon sentiment est que si vous faites vos devoirs, vous n'aurez probablement pas besoin d'une sorte de répéteur de signal. Prenons l'exemple de SCSI, qui est un énorme bus parallèle à grande vitesse distribué sur des câbles à environ 100 MHz. Si possible, envisagez d'investir dans un programme tel que HyperLynx pour simuler votre mise en page.

Altera a un excellent guide pour les problèmes de routage à haute vitesse.

jbarlow
la source
Merci pour vos excellentes informations. D'après votre réponse, je comprends qu'il n'y a aucun moyen que je puisse retirer cela avec des planches gravées bricolage?
miceuz
@miceuz: Eh bien, si c'est un projet de loisir, vous n'êtes pas aussi inquiet pour EMC, alors peut-être. Le consensus qui se dégage est qu'il serait difficile pour les ingénieurs seniors de bien faire les choses, et essayer de le faire soi-même ne facilite rien. D'un autre côté, vous pouvez réduire la fréquence d'horloge si cela ne fonctionne pas dans ce cas. J'essaierais de trouver une autre disposition pour réduire la longueur de la guirlande.
jbarlow
Je voterais deux fois si je le pouvais.
Renan
10

Cela ne vous fera pas de mal de faire tout ce que suggèrent jbarlow et David, mais permettez-moi d'essayer de vous rendre les choses un peu plus faciles (ou peut-être plus difficiles, car je vais dire que vous pouvez probablement vous en sortir avec beaucoup de choses). des choses, mais je ne vais pas promettre ).

Une règle d'or classique est que vous pouvez considérer un circuit comme un circuit groupé si aucune de ses dimensions n'est supérieure à 1/10 de la longueur d'onde du signal de fréquence le plus élevé qui vous intéresse. S'il s'agit d'un circuit unique, vous pouvez considérer vos pistes comme de simples connexions entre des éléments discrets. Si ce n'est pas un circuit unique, vous devez vous soucier des effets de circuit distribué et considérer vos traces comme des lignes de transmission.

Vous parlez d'une fréquence d'horloge de 30 MHz, correspondant à une longueur d'onde de 10 m. Si elle se propage à travers FR4, cette longueur d'onde sera réduite à environ 4,7 m. Et une longueur de circuit de 40 cm. Donc, pour le fondamental du signal d'horloge, vous êtes juste au bord de l'ancienne règle de base.

Problème: Vous n'avez pas seulement à vous soucier de la fréquence d'horloge, mais du nombre d'harmoniques de cette fréquence à transmettre pour donner le temps de montée et de descente que vous souhaitez. Si vous ralentissez délibérément les bords que vous transmettez, vous pouvez probablement vous en tirer avec les 1ère et 3ème harmoniques (David y a fait allusion quand il a mentionné qu'il n'utilisait pas nécessairement la force maximale du lecteur).

Cela vous donne une fréquence d'intérêt maximale de 90 MHz et une longueur d'onde correspondante (en FR4) d'environ 1,6 m. La distance critique est donc de 16 cm. Cela signifie que dans l'ensemble, vous souhaitez fournir un chemin de retour étroitement couplé, définir vos pistes comme des lignes de transmission et terminer avec une impédance appropriée, etc.

Mais vous n'avez probablement pas à payer un supplément pour une impédance contrôlée. Si vous concevez avec des traces supérieures à la largeur minimale disponible auprès de votre fournisseur (disons 8 ou 10 mil), les tolérances normales vous donneront très probablement des performances adéquates.

Et si, en cours de route, vous devez passer par un via, ou passer par un petit espace dans le plan de masse, ou si vous ne pouvez pas placer un condensateur de dérivation juste à côté d'une partie de charge, ne le transpirez pas trop fort. Si vous souhaitez exécuter vos pistes directement de connecteur en connecteur, avec quelques talons de cm pour atteindre les puces de charge sur chaque carte, ce sera correct. Si la longueur de la partie non contrôlée du chemin (ou de la fente dans le plan du sol) est inférieure à quelques cm, cela ne gâchera pas votre journée. Même s'il fait 10 cm, vous vous en sortirez probablement, mais ne poussez pas votre chance.

Par exemple, cela signifie que lorsque vous vous connectez entre des cartes, il n'est pas nécessaire d'utiliser un connecteur à impédance coûteux. Même quelques centimètres de câble ruban suffiront. Une configuration de fils de terre-signal-terre ou terre-signal-signal-terre dans le ruban est une bonne idée, mais ne vous inquiétez pas des câbles à paire torsadée à impédance adaptée ou du câble coaxial.

D'autre part, si vous décidez d'utiliser un tampon sur chaque carte, cela vous permettrait de traiter à peu près le circuit sur chaque carte (à une longueur de 10 cm) comme un circuit regroupé. Vous voudrez gérer le biais du tampon, comme David l'a décrit, et vous devrez limiter les temps de montée et de descente de chaque tampon, mais vous gagnerez beaucoup de flexibilité dans la disposition sur chaque carte sans dégrader les fonctionnalités. Cela dit, plus vous faites pour garder vos chemins de retour proches de vos traces de signal, moins vous risquez d'avoir une mauvaise surprise en ce qui concerne les tests CEM.

Le photon
la source
6

Je pense que la réponse de @ jbarlow est assez juste. Je veux en ajouter, mais je ne vais pas prendre la peine de répéter ce qu'il a dit.

La seule chose sur laquelle je ne serais pas d'accord avec @jbarlow est l'utilisation de répéteurs ou la mise en mémoire tampon de tous les signaux. Ce qu'il dit est correct, "si vous faites vos devoirs ...". Mais c'est ça le problème, faire ses devoirs. Vous pouvez le faire, mais vous aurez besoin de câbles et de connecteurs relativement chers - et alors ce ne sera que «vraiment difficile».

Il ne semble pas que l'ajout de 10 ns de retard pour mettre en mémoire tampon l'horloge sur chaque PCB soit vraiment un problème. Il m'est difficile de le dire avec certitude car vous avez omis beaucoup de détails sur les autres signaux comme BLANK et XLAT. Mais même si c'est un problème, vous pouvez toujours mettre en mémoire tampon TOUS les signaux. Toutes les portes du 74xx245 auront tendance à avoir le même retard (ou au moins similaire), et donc le timing global du pilote LED restera bon.

(Remarque: vérifiez les fiches techniques. Une bonne puce énumérera deux numéros de retard de propagation différents. Un pour une porte individuelle et un autre indiquant la différence ou l'inclinaison du retard entre les portes d'une même puce. Ne me croyez pas sur parole. devra toujours faire une analyse de synchronisation appropriée.)

Obtenir la terminaison et l'impédance des signaux entre les PCB est essentiel pour que cette conception fonctionne. Le contrôle de l'impédance dans les câbles multiconducteurs est toujours difficile, et faire passer un seul signal à travers plusieurs PCB et câbles pose juste des problèmes. Vous aurez un changement d'impédance à de nombreux points le long de la longueur du signal, ce qui créera des problèmes d'intégrité du signal. La mise en mémoire tampon de tous les signaux entre les PCB aidera à gérer cela. Au moins les longueurs de trace et les changements d'impédance sur chaque signal seront réduits au minimum.

L'utilisation de tampons à retard nul n'est pas requise et pourrait en fait aggraver les choses (et les rendre plus chères). Les tampons à retard nul sont vraiment des boucles à verrouillage de phase (PLL) et nécessitent une conception soignée pour fonctionner parfaitement. Dans la plupart des cas, ce n'est pas grave, mais cela pourrait certainement être un problème si votre horloge n'est pas parfaite. Il serait préférable de les éviter pour cette application. De plus, un tampon à retard nul ne convient pas pour mettre en mémoire autre chose qu'une horloge fonctionnant en continu - il ne vous aide donc pas à mettre en mémoire tampon d'autres signaux.


la source
Excellents points. Je suis d'accord que l'approche des signaux tamponnés est probablement beaucoup plus sûre et plus susceptible de réussir.
jbarlow
Comment puis-je mettre un tampon pour terminer le signal? Est-ce MCU-> Buffer-> Terme série-> cable-> Buffer-> TLC5945-> Buffer-> series term-> cable ... ou MCU-> Buffer-> Series term-> cable-> TLC5945-> Buffer -> terme série -> câble ... c'est-à-dire que je dois mettre en mémoire tampon les signaux des deux extrémités du câble ou puis-je relayer sur le tampon et la terminaison pour travailler à la fois pour le connecteur / câble et pour la carte qui vient ensuite?
miceuz
@miceuz Idéalement, vous le tamponneriez deux fois sur chaque carte. Une fois lorsque le signal entre dans la carte via un connecteur. Une autre fois, le signal quitte la carte par l'autre connecteur. Pratiquement, le faire une fois suffit probablement. Ce serait donc MCU-> Câble-> LED-> terme-> buf-> câble-> led-> terme-> buf-> câble-> etc. Notez que la terminaison série-source ne fonctionne que si vous avez une seule charge sur le signal, ce que vous n'avez pas. Vous avez à la fois une puce de pilote LED et un tampon. Vous devriez regarder la terminaison AC, qui a une résistance et un capuchon en série à la terre à l'extrémité distante.