PCIe, diagnostiquer et améliorer un diagramme oculaire


18

J'ai mis en œuvre une conception qui utilise PCIe. Il est quelque peu différent dans la mesure où l'interface PCIe est utilisée comme voie de communication puce à puce sur un seul PCB (par exemple pas de connecteur PCIe).

Le périphérique complexe racine est un Freescale i.MX6 qui est compatible PCIe Gen 2 et le périphérique avec lequel je communique est un module WiFi Marvell qui est un périphérique conforme PCIe Gen 3. Il s'agit d'une interface à une seule voie fonctionnant à 2,5 Gbit / s.

J'ai fait quelques mesures d'intégrité du signal en soudant un oscilloscope haute vitesse avec des problèmes de différentiel appropriés juste de l'autre côté des bouchons en ligne illustrés ci-dessous:

entrez la description de l'image ici

Pour l'horloge, le diagramme des yeux semble assez bon:

entrez la description de l'image ici

Mais les données TX ne sont pas tellement:

entrez la description de l'image ici

La puce WiFi a des terminaisons sur puce, donc je ne pense pas que je suis censé avoir besoin de terminaisons supplémentaires, mais je peux me tromper.

J'ai trouvé quelques registres qui peuvent être définis dans le processeur i.MX6 pour le périphérique PCIe mais je ne sais pas exactement ce qu'ils font réellement. Un peu d'essais et d'erreurs ne m'ont pas permis d'aller très loin non plus.

entrez la description de l'image ici

J'ai vérifié que la disposition suit les règles de routage appropriées et le PCB a été construit avec l'impédance correcte. Évidemment, j'ai un peu de gigue dans le système, mais il semble également que j'ai un problème de réflexion ou de désaccentuation. J'espère que quelqu'un pourrait décrire ce qu'il voit mal avec mon diagramme des yeux et / ou suggérer des moyens de le réparer.

À votre santé!


question cool. J'espère voir de bonnes réponses.
juste le

1
Où mesurez-vous votre œil tx?
Some Hardware Guy

Et à quoi ces registres sont-ils réglés?
Some Hardware Guy

Quelques questions: quel TX est le problème? le i.MX6 à Marvell ou Marvell à i.MX6? Quel type de filtrage d'alimentation avez-vous mis en place autour de l'émetteur qui se comporte mal ou de ses rails d'alimentation d'horloge? Quelles sont les valeurs actuelles de ces registres?
akohlsmith

@SomeHardwareGuy Je mesure l'oeil tx juste de l'autre côté de ces condensateurs encerclés. En termes de disposition, les condensateurs pour l'horloge et le TX sont juste à côté de la puce WiFi. La distance totale de routage des paires est d'environ 2,5 pouces. Le i.MX6 fait en fait partie d'un SOM qui se branche sur un connecteur SO-DIMM et je n'ai conçu que la carte qui «transporte» ce SOM et la puce WiFi.
Funkyeah

Réponses:


22

Il y a un certain nombre de choses qui vous feront cela.

Vous n'avez pas précisé la longueur de l'interface. Je dirige fréquemment la puce vers la puce PCIe et vous devez vraiment en tenir compte car vous obtiendrez une atténuation d'environ 0,18 dB par pouce en raison des pertes d'effet de peau et d'environ 0,5 dB par pouce en raison de l'absorption diélectrique sur le FR4 `` ordinaire ''.

Je pense que vous pourrez peut-être obtenir de meilleurs chiffres à partir de la fiche technique des PCB si vous la téléchargez et regardez la tangente de perte. Jetez un oeil à Isola 370HR pour une fiche technique typique. Les chiffres ci-dessus sont assez précis au taux de 5 GHz. Au taux de 2,5 Go, les chiffres sont un peu plus faibles, avec une perte totale de ~ 0,4 dB par pouce.

Je suppose qu'en dehors de la cassure et des condensateurs de couplage, vous utilisez un routage monocouche pour l'interface. Les transitions de couches peuvent facilement faire des choses très désagréables au signal. Impédance contrôlée sera un peu différente couche à l'autre et les réflexions sont le résultat naturel (il existe des moyens de le faire avec succès le routage multi-couche, mais il faut une grande quantité de soins et quelques trucs inhabituels pour atteindre).

PCI Express (et Infiniband pour cette matière), le taux de montée et la chute du signal à l'émetteur a un minimum de montée et de chute pour réduire au minimum les problèmes EMI, et que le temps est 0.25UI, ce qui donne des objets de signalisation 10GHz sur les liens gen 2 et des artefacts à 5 GHz dans la génération 1 qui doivent être pris en considération.

Le champ de désaccentuation ci-dessus vous aide à avoir un œil propre sur le récepteur en réduisant l' amplitude de non-commutation par rapport à l'amplitude de lancement nominale.

Si vous perdez trop d'amplitude au niveau du front de commutation du signal, définissez ce champ sur une valeur plus élevée. Vous pouvez également régler l'amplitude de lancement nominale un peu plus haut également.

Autres questions que vous pourriez examiner:

Où, par rapport à l'émetteur, se trouvent les condensateurs de couplage? Ils doivent être aussi proches que possible des broches de transmission. Une fois qu'ils ont plus d'une demi-longueur d'onde de 10 GHz (environ 0,6 pouces sur FR4) [le double de cette distance pour les liaisons 2,5 Gb / s], ils refléteront très certainement l'énergie.

J'ai eu des problèmes avec des géométries de condensateur de 0402 ou plus dans la génération PCI express. 2 et j'utilise maintenant des dispositifs à géométrie inverse (0204) pour l'inductance série effective réduite. Ceux-ci semblent faire le travail très bien.

En regardant de près le diagramme des yeux pour les bits de transition (belle portée que vous avez, soit dit en passant - c'est ce dont vous avez besoin pour ce genre de choses), le lecteur de signal initial semble conduire une ligne terminée (le signal passe à 0,5 V (nominal) de la manière classique de la ligne de transmission). Ce n'est pas une ligne particulièrement longue (le temps d'aller-retour est l'endroit où le signal passe à la pleine V [nominale]).

vous dites que le lien fonctionne à 2,5 Gb / s (gen 1) et c'est ce que montrent les traces de l'oscilloscope, mais vous voudrez peut-être expérimenter avec le champ de désaccentuation (regardez dans le manuel de référence ainsi que la fiche technique électrique (voir la note ci-dessous.) Les valeurs de désaccentuation «standard» sont pour un lien nominal, pas un lien intégré comme vous avez ici (et ce que je fais aussi régulièrement). Si vous pouvez l'obtenir à environ 6 dB, vous pouvez obtenir de meilleurs résultats.

La désaccentuation nominale est de 3,5 dB pour Gen 1 et de 6 dB pour Gen2. Je note que le champ ci-dessus semble impliquer qu'un lien Gen 2 est de 3,5 dB - vous voudrez peut-être creuser un peu à ce sujet. Le lien que vous avez nécessite un minimum de 3,5 dB de désaccentuation.

Notez que l'œil sur le récepteur sera très différent, mais c'est là que cela compte . À titre expérimental, lisez les compteurs d'erreurs dans le processeur (la plupart d'entre eux ont un compteur pour les tentatives); si vous ne voyez pas d'erreurs significatives, vous poursuivez peut-être quelque chose qui n'est pas vraiment un problème. Si vous voyez un grand nombre d'erreurs, cela peut peut-être aider.

Encore une chose: les amplitudes de lancement excessives et la désaccentuation sont tout aussi mauvaises que de les régler trop bas.

Peut-être que cela vous aidera un peu: j'espère bien.

Remarque: Freescale documente tout, c'est juste que parfois il n'est pas à l'endroit où vous vous attendez à le trouver. Assurez-vous également d'avoir les derniers errata de l'appareil.

Mettre à jour . Ajout de notes sur les géométries des condensateurs.

Jusqu'au nœud 2,5 Gb / s, les périphériques 0402 conviennent. Ma calculatrice pratique montre qu'un appareil 0402 typique a environ 10 ohms d'impédance (inductive) à cette fréquence et 21 ohms à 5 GHz (la fréquence d'intérêt la plus élevée). Ce n'est pas trop mal dans un système différentiel de 100 ohms car l'impédance effective d'une paire étroitement couplée est légèrement inférieure à une addition directe.

L'auto-résonance de cet appareil est de 19 MHz, bien en dessous de toutes les fréquences d'intérêt, donc tout bruit de phase est dû à l'ESL. Le maintien de l'impédance à moins d'environ 1/3 de l'impédance de piste effective signifie que le bruit de phase (et donc un ISI supplémentaire) que nous obtiendrons est compris entre 1 et 17 degrés (une piste asymétrique d'une paire étroitement couplée est généralement (Z (diff) / 2) * 1,25, donc pour 100 diff, l'impédance asymétrique est d'environ 65 ohms). Cette quantité de bruit de phase est gérable.

À 10 GHz, l'impédance effective est d'environ 44 ohms et peut commencer à interférer avec la paire différentielle en introduisant un bruit de phase excessif sur la bande de fréquence d'intérêt car la phase maximale est maintenant d'environ 34 degrés. Bien que j'aie réussi la génération 2 avec des appareils 0402, j'ai également eu des problèmes avec des courses plus longues et j'utilise maintenant des appareils à géométrie inverse 0204 pour cette vitesse et plus.

Pour les liaisons codées 8b / 10b, la bande de fréquence d'intérêt va du débit binaire / 5 au débit binaire * 2. La limite inférieure est limitée par le codage de la longueur de la plage et la limite supérieure est limitée par l'exigence de spécification pour les temps de montée et de descente minimaux .

L'ESL pour différentes géométries:

0402: environ 700pH

0204: environ 300pH

0805: environ 1nF

Mise à jour Ajout de commentaires sur 50% des amplitudes de lancement initial.

Considérons une ligne de transmission terminée à la source et à la destination à l'impédance caractéristique de la ligne, Z0.

Au lancement initial, en supposant que la ligne est longue par rapport à la longueur d'onde du signal, le point de lancement ira à 50% de l'amplitude de lancement en raison de l'effet diviseur de tension (l'émetteur ne voit que la ligne de transmission à ce point).

Une fois que l'énergie arrive au point de destination et commence à s'élever au point 50%, l'énergie à la source a effectivement «rempli» la ligne d'énergie et monte à la pleine amplitude de lancement. À strictement parler, la ligne de transmission à destination voit un diviseur de tension et l'effet de diviseur à la source disparaît à mesure que la sortie se rapproche de DC (en gardant à l'esprit que l'effet de ligne de transmission ne s'applique qu'aux transitions).

Cela pourrait également être visualisé comme le niveau d'énergie de 50% descendant de la ligne de transmission jusqu'à la terminaison finale et se reflétant ensuite au niveau complet. C'est pourquoi nous voyons un «temps aller-retour» au point 50% à n'importe quel point de la ligne.

Votre graphique montre précisément ce comportement à un point de la ligne qui n'est pas encore au port de destination , car ce point de 50% se déplace en fait le long de la ligne.

Au niveau du récepteur, une fois que l'énergie a atteint 50%, la pleine énergie de la ligne suit et la tension au niveau du récepteur continue d'augmenter, donnant une transition en douceur d'un niveau à l'autre.

Cela pourrait également être visualisé comme le point de tension de 50% se déplaçant le long de la ligne vers le récepteur, puis réfléchissant à 100% (le récepteur atteint DC en premier). Pour cette raison, la tension à 50% vue en tout point de la ligne indique le temps d'aller-retour entre ce point et le récepteur.

Cette discussion est aussi valable pour les signaux différentiels que asymétrique.

Votre graphique ci-dessus montre donc le comportement classique d'une ligne de transmission avec de petites excursions au-delà du comportement attendu. En fait, c'est l'un des yeux d'émetteur les plus propres que j'ai vus.


Bonne réponse. Peut-être ajouter une référence ou des mesures où vous voyez des reflets de vos bouchons en cas de perte grave? Je n'ai jamais vu ça et je pense que c'est plus un mythe.
Rolf Ostergaard

1
Dans les commentaires ci-dessous, j'ai précisé que la longueur est d'environ 2,5 pouces. En fait, nous utilisons Isola 370HR et avons géré la mise en page avec beaucoup de soin. Cela dit, nous utilisons également un SOM qui rend pratiquement impossible de placer les bouchons près de l'émetteur. Je mesure du côté récepteur des capuchons de couplage qui est aussi proche que possible du récepteur avant que les routes ne tombent dans une couche intérieure à impédance contrôlée.
Funkyeah

Cela dit, la belle réponse ci-dessus. Je vais le marquer comme correct même s'il ne mène pas directement à la résolution de mon problème particulier car il a tellement de connaissances utiles. Des suggestions de bonnes ressources sur ce sujet? Je trouve que les connaissances réellement pratiques sont enfermées dans les points d'alimentation et le livre blanc occasionnel.
Funkyeah

Rolf: les bouchons provoqueront une certaine réflexion s'ils sont assez éloignés, et cela peut être géré mais il doit être reconnu, surtout si le signal doit provenir d'une couche intérieure vers et depuis les bouchons, en ajoutant quelques vias. La discontinuité n'est pas énorme, mais si le budget de liaison est étiré, ce peut être la paille qui a brisé le dos du chameau.
Peter Smith

Peu de questions supplémentaires si cela ne vous dérange pas! Que voulez-vous dire lorsque vous comparez 0,5 V initial à Vfull et mentionnez le temps de parcours ...? Voulez-vous dire que la première partie consiste à mesurer la réflexion et le signal et la dernière partie est juste un signal? Est-ce approprié de voir ou de mal? Quoi qu'il en soit pour l'enlever?
Funkyeah
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.