Si vous travaillez avec un dispositif à haute vitesse, vous aurez probablement besoin de router des paires différentielles entre les composants. De nombreux PCB à haute vitesse incluent des interfaces différentielles qui nécessitent des valeurs d'impédance en mode impair/différentiel spécifiques, et le concepteur de la disposition du PCB devra spécifier ces contraintes géométriques dans leur éditeur de PCB pour s'assurer que les traces ont les bonnes valeurs d'impédance.
La manière la plus rapide et la plus précise de faire cela est de fusionner le calcul d'impédance et la configuration des règles de conception en un seul flux de travail. Altium Designer vous aide à faire cela avec la fonctionnalité Layer Stack Manager, qui transmettra son résultat de calcul à l'éditeur de règles et de contraintes PCB. D'autres fonctionnalités telles que la limite de longueur de découplage, la limite de longueur totale de trace et les limites de déséquilibre de longueur/délai.
Lorsque vous avez besoin d'utiliser des paires différentielles dans votre dispositif, vous devrez définir quels réseaux utiliseront la signalisation différentielle pour interagir avec vos composants. Il ne suffit pas simplement de placer un réseau, un réseau doit être spécifiquement désigné comme faisant partie d'un signal différentiel. L'éditeur de schémas et de mise en page dans Altium Designer® inclut des fonctions de définition de réseaux, et vous pouvez définir des paires différentielles au sein d'un réseau de signal. Tout d'abord, vous devrez sélectionner certains composants qui communiqueront entre eux, les placer dans votre schéma, et définir quels ports utiliseront la signalisation différentielle.
Ici, nous avons trois objectifs :
Pour commencer, nous examinerons le schéma ci-dessous et définirons les paires différentielles dont nous avons besoin pour créer notre signal différentiel. Ce schéma contient un contrôleur USB/Ethernet LAN9514I-JZX de Microchip, un connecteur de bord et quelques connecteurs USB blindés. Ces composants peuvent être trouvés dans le Panneau de Recherche de Pièces du Fabricant au sein d'Altium Designer. Par souci de concision, nous ne regarderons que la "Partie A" de cette liste de broches, étiquetée avec le désignateur "U1A" sur le schéma. Certaines des sorties seront connectées au connecteur de bord de la carte, et d'autres réseaux seront routés vers les connecteurs USB.
Contrôleur USB/Ethernet et certaines connexions dans Altium Designer
Notez que, dans ce schéma, j'ai défini les sorties USB comme des paires différentielles avec un symbole de directive spécial. vous pouvez spécifier quelles connexions sont des paires différentielles en cliquant sur le menu "Place". Mettez en surbrillance l'option "Directives" et sélectionnez "Paire Différentielle". Vous pourrez placer le symbole de directive sur les connexions que vous souhaitez fonctionner comme des paires différentielles. Sélectionnez simplement tous les réseaux qui feront partie d'une paire différentielle.
Ensuite, chaque moitié d'une paire différentielle est définie comme positive ou négative en utilisant le nom de son réseau. L'extrémité positive doit être nommée en utilisant “_P” à la fin de l'étiquette du réseau, et l'extrémité négative doit être nommée en utilisant “_N”. J'ai fait cela pour les lignes USB1-USB3 dans le schéma ci-dessus. Nous pouvons faire de même pour les lignes RX dans la partie inférieure gauche de U1A. Notez que normalement, celles-ci seraient connectées à un circuit de terminaison magnétique et Bob Smith avant d'être routées vers un connecteur RJ45, mais nous utiliserons juste la situation simple ci-dessus pour illustrer le routage de paire différentielle.
Router vos paires différentielles avec succès nécessite la configuration de Classes de Paires Différentielles et de Classes de Réseaux. L'objectif ici est de regrouper plusieurs paires ensemble afin que les mêmes règles de conception puissent être appliquées à toutes les paires du groupe. Ce groupe est une Classe de Paire Différentielle, et vous appliquerez les exigences de géométrie et les exigences d'appariement de longueur dans l'éditeur de Règles de Conception.
Puisque nous devons définir une classe de paires différentielles, nous allons ajouter cela à chaque directive. J'ai défini des classes USB1 à USB 3 pour chacune des connexions montrées dans le schéma. Si vous double-cliquez sur le symbole de directive, vous pourrez définir des classes et des règles de conception pour une connexion dans une paire différentielle. Vous pouvez également cliquer avec le bouton droit sur le symbole de directive et cliquer sur « Propriétés ». Cela ouvrira une boîte de dialogue qui vous permet de spécifier une étiquette, des classes et des règles pour une paire différentielle. Ici, nous allons ajouter la « Classe de réseau de paires Diff. » à chaque paire et assigner un nom de classe pour ce réseau. Ceci est montré ci-dessous pour USB1_P.
Définition d'une classe de réseau de paires différentielles
Vous devrez également ajouter des règles de conception à cette directive. Cela peut être fait dans la boîte de dialogue montrée ci-dessus pour appliquer une règle de conception à un réseau individuel. Si vous souhaitez faire quelque chose comme l'ajustement de longueur pour une paire différentielle, ou pour un groupe de paires différentielles, il est préférable de le faire dans l'éditeur de PCB. Si vous créez une règle à partir de la boîte de dialogue ci-dessus, une nouvelle règle de conception sera créée qui s'applique uniquement à ce réseau. Puisque nous voulons appliquer l'appariement de longueur aux connexions individuelles de USB1 à USB3, nous pouvons simplement définir les Classes de Paires Différentielles montrées ci-dessus et attendre que le schéma soit capturé pour définir une règle de conception pour ces réseaux.
Avant de capturer votre schématique et de commencer le routage, vous devez créer un nouveau PcbDoc qui inclut un profil d'impédance pour vos paires différentielles. Pour cet exemple simple, j'ai créé un PCB à 4 couches avec un profil d'impédance en mode simple (50 Ohm, nommé S50) et un profil d'impédance pour paire différentielle (90 Ohm, nommé D90). Le profil d'impédance pour paire différentielle sera utilisé pour les lignes USB car celles-ci doivent avoir une impédance différentielle définie. Vous pouvez faire cela via le Gestionnaire de Configuration des Couches dans l'Éditeur de PCB. Mon empilement et mon profil d'impédance sont montrés ci-dessous.
Notez que j'ai défini l'espacement entre les traces dans la paire différentielle à la valeur par défaut de 5 mil. Cependant, vous pourriez envisager de changer cela, lisez cet article pour obtenir des conseils sur le réglage de l'espacement de vos traces de paires différentielles.
Définir un profil d'impédance pour le routage de paires différentielles
À ce stade, nous pouvons capturer le schéma sous forme de layout et router les paires différentielles que nous avons définies. J'ai défini des paires différentielles pour le reste des connexions entre le FPGA et le connecteur. Tout d'abord, ajoutez un nouveau PCB à votre projet et capturez votre schéma. Vous pouvez le faire en ouvrant votre PCB vide et en cliquant sur le menu « Design », suivi de « Import Changes From… ». Notez qu'une Room sera créée par défaut à moins que vous ne décochiez l'option dans le dialogue de l'Ordre de Changement d'Ingénierie.
Avant de router, nous devons définir des règles de conception pour les réseaux de paires différentielles dans notre schéma. Cela se fait en ouvrant le dialogue Design -> Rules dans l'éditeur PCB. Ici, nous devons définir les règles suivantes pour que ces réseaux soient conformes à la spécification USB :
Lorsque vous définissez les règles de conception pour ces paires, vous pouvez créer une règle pour chaque réseau et sélectionner le profil d'impédance que vous souhaitez utiliser. Ceci est montré ci-dessous.
Définition des règles de conception pour les réseaux individuels
Comme nous travaillons avec plusieurs paires différentielles qui nécessitent toutes les mêmes règles de conception, une meilleure option est de créer une seule règle de conception qui s'applique à notre classe de paires différentielles. Pour vérifier et créer des classes, ouvrez le dialogue Conception -> Classes dans l'éditeur de PCB. Descendez jusqu'à l'entrée Classes de paires différentielles, faites un clic droit et créez une nouvelle classe. Tant que vous avez correctement défini vos paires différentielles dans le schéma, vous pouvez maintenant ajouter ces paires à votre nouvelle classe. Ceci est illustré dans l'image ci-dessous.
Définition d'une classe pour un groupe de paires différentielles USB
Maintenant, vous pouvez aller à l'éditeur de règles de conception et sélectionner la classe de réseau que vous venez de créer pour la tolérance de longueur et les contraintes de routage, comme cela a été fait pour les réseaux individuels. Sous l'entrée "Où l'objet correspond" dans la fenêtre de règle de conception, sélectionnez la classe de paires différentielles que vous avez définie dans la fenêtre ci-dessus. La règle de conception s'appliquera désormais à tous les réseaux de la classe (USB1, USB2 et USB3). Cela appliquera le profil d'impédance que vous avez défini dans le gestionnaire de pile de couches tant que vous sélectionnez l'option dans la fenêtre de règle de conception.
Des règles de conception supplémentaires qui pourraient être nécessaires pour assurer une impédance constante et maintenir l'intégrité du signal incluent :
La plupart de ces paramètres de règles peuvent être trouvés sous la section Haute Vitesse de l'éditeur de Règles de Conception et de Contraintes PCB.
Il est maintenant temps d'importer les modifications du schématique et de commencer votre agencement de PCB. Nous avons beaucoup travaillé en amont pour définir les contraintes avant de créer l'agencement du PCB, mais désormais, les règles de conception que nous avons établies garantiront que les pistes routées auront l'impédance requise, l'espacement et les règles de correspondance de longueur alors que les paires sont routées. Une fois que vous avez arrangé les composants comme vous le souhaitez, sélectionnez l'option de Routage Différentiel Interactif en haut de la fenêtre de l'Éditeur de PCB.
L'image ci-dessous montre le composant avec lequel nous voulons travailler en cours de routage. Lorsque vous utilisez le routeur interactif, vous avez juste besoin de cliquer sur une extrémité du réseau, et les deux pistes seront routées en tandem au fur et à mesure que vous vous déplacez sur le circuit.
Bien qu'il ne soit pas idéal de laisser des obstacles tomber entre les pistes dans votre paire différentielle, le routeur peut automatiquement déplacer les pistes autour de l'obstacle pendant le routage. Pour illustrer, une résistance a été placée sur le chemin de routage comme montré ci-dessous. À mesure que les pistes approchent du composant, elles seront automatiquement déplacées autour du composant avec le dégagement le plus serré possible. Vous pouvez ensuite cliquer sur le côté éloigné du composant pour définir votre routage autour du composant, et vous pouvez continuer le routage vers la destination.
Notez que cela peut déclencher une erreur de règle de conception pour la longueur maximale non couplée, mais généralement l'évitement d'obstacle sera suivi ici alors que vous vous déplacez autour du composant.
Pour les composants plus complexes, tels que les BGA à nombre élevé de billes ou un connecteur CMS avec un espacement de broches étroit, vous devrez utiliser une stratégie de fanout pour créer des connexions pour vos pistes. Des paramètres de routage supplémentaires dans ces composants peuvent être contrôlés en créant un objet Room autour du composant. Vous pouvez ensuite spécifier des contraintes, telles que les dégagements, à l'intérieur de cette région en utilisant la requête personnalisée "Within Room" lors de la définition des règles de conception. Cela vous permet de contrôler le rétrécissement entre les broches, les longueurs de découplage, les segments parallèles et les dégagements uniquement à l'intérieur de la région de la room, ce qui minimise les désadaptations d'impédance en regardant dans les brochages des composants.
L'image ci-dessous montre deux paires différentielles routées. C'est un processus rapide et facile grâce aux outils de routage interactif dans Altium Designer. À ce stade, vous pouvez appliquer un ajustement de longueur à chaque paire, ou à travers plusieurs paires. Jetez un œil à cet article pour voir comment appliquer l'ajustement de longueur aux paires différentielles.
Routage de paire différentielle terminé dans Altium Designer
Vous pourriez également utiliser le package xSignals pour examiner l'intégrité des signaux de ces réseaux, ou d'un groupe de réseaux. Examiner un groupe de réseaux nécessite de définir une classe xSignals depuis le dialogue Conception -> Classes, tout comme cela a été fait pour créer une Classe de Paires Différentielles. Cela vous permet d'examiner les bords montants et descendants des signaux, ainsi que tout dépassement/affaissement. D'autres règles de conception pour haute vitesse peuvent être appliquées à cette disposition de la même manière que cela a été fait pour la tolérance de longueur et l'impédance différentielle. Les règles de conception présentées ici sont la clé pour un routage rapide et facile des paires différentielles.
Altium Designer unifie les informations de votre conception avec vos outils de routage, assurant que votre prochain dispositif fonctionnera comme prévu. L'environnement intégré dans Altium Designer permet à tous vos outils de communiquer en utilisant le même moteur de conception basé sur les règles. Les meilleurs outils de schématique, CAO, simulation et routage sont exactement ce dont vous avez besoin pour créer les meilleurs PCBs.
Parlez aujourd'hui à un expert Altium Designer si vous souhaitez en savoir plus sur Altium Designer.