Introduction à la conception à haute vitesse

Si, comme moi, vous avez une expérience en développement firmware, vous pensez probablement à l’électronique digitale en termes binaires ON-OFF ou HAUT-BAS; ces signaux ON – OFF traversent instantanément le circuit électrique. Le binaire est  perçu comme instantané et fiable. Certainement, selon le point de vue d’un développeur ce niveau d’abstraction est assumé au niveau logiciel !

Mais travailler avec des composants électroniques de plus en plus rapides, avec des vitesses d’horloge qui passent du MHz au GHz, il devient évident que les choses ne sont pas aussi simples. Dans cet article, nous nous pencherons sur certains des facteurs qui rendent la conception des circuits à haute vitesse plus complexe, ainsi qu’a certaines techniques utilisées pour en tenir compte.

Notion de slew-rate

Commençons par le slew rate. Nous devons comprendre qu’une transition entre un état ‘OFF’ et ‘ON’ n’est pas instantanée – la tension transite entre le niveau bas (t.q. 0V) et le niveau haut (t.q. 3.3V) en passant par toutes les tensions intermédiaires, même si elle le fait très rapidement; à un certain instant la tension sera 1.8V et à un autre elle sera à 2.5V, et ainsi de suite. La vitesse à laquelle la transition se fait entre l’état bas et l’état haut est appelée slew rate (vitesse de balayage).

Vitesse

Les signaux électriques se propagent à une certaine vitesse – c’est la vitesse de la lumière. Cette vitesse limite est de 299 792 458 m/s, ce qui est très rapide. Considérons cependant qu’un signal qui se propage à la fréquence 1GHz signal (c.a.d. à période de 1 nanoseconde), parcourt environ 0.3 m/ns, soit 30 cm/ns; ce qui signifie que le long d’un conducteur de longueur 30cm, la première impulsion d’horloge du signal à 1GHz atteint une extrémité du conducteur à l’instant où l’impulsion d’horloge suivante est générée à l’autre extrémité. 

Si nous passons à 3GHz, l’horloge génère déjà sa 3ème impulsion lorsque la première atteint l’autre extrémité du conducteur! Dans ce cas (3GHz, conducteur de 30cm), ceci signifie que notre conducteur de 30cm ‘contient’ 3 impulsions, 3 états haut et bas, répartis sur sa longueur. Nous ne sommes certainement pas dans une instantanéité des états ON/OFF entre les deux extrémités du conducteur!

Stabilité

L’électricité qui parcourt un conducteur génère un champ magnétique autour de ce conducteur – faible cependant. Inversement, lorsqu’un champ magnétique passe dans un conducteur, il génère une tension à l’intérieur du conducteur (via la force électromotrice). Tous les conducteurs du circuit – typiquement les pistes du PCB – sont donc capables de générer ou de recevoir des interférences électromagnétiques qui peuvent induire une distorsion du signal porté par les pistes. De même, chaque piste du PCB peut être vue comme une petite antenne radio, capable de générer et de recevoir des signaux radio qui provoquent un distorsion du signal transporté par les pistes.

Impédance

Comme nous l’avons déjà indiqué plus haut dans la section ‘Vitesse’, les signaux électriques ne sont pas instantanés; se sont des ondes qui parcourent le conducteur. Dans notre exemple de piste à 3GHz / 30cm, il y a 3 ondes – bosses et creux – à chaque instant le long du conducteur. Les ondes sont sujettes à de nombreux phénomènes, dont le plus important est la réflexion.

Supposons que le conducteur est rempli avec de l’eau, tels des canaux remplis. Lorsqu’une onde est générée à une extrémité du canal, elle se propage à une vitesse proche de celle de la lumière jusqu’à l’autre extrémité. Supposons que notre canal ait une largeur de 100cm mais qu’à un certain endroit il se rétrécit brutalement à 1cm de large – lorsque notre onde atteint cette transition de largeur, la plus grande partie de l’onde va rebondir sur ce ‘mur’ pour revenir vers l’émetteur.

 

Réflexion due au changement de largeur.

Si plusieurs sections réduites existent le long du canal, elles produisent plusieurs réflexions qui interférent avec le signal. La plupart de l’énergie du signal n’attendrait pas le récepteur (tout au moins pas au bon moment). Il est donc important que la largeur/hauteur du canal reste constante sur toute sa longueur pour éviter les réflexions.

 

 

Des variations de largeur dégradent le signal.

En termes électriques ce phénomène est représenté par la notion d’“impédance”, qui est une fonction de la résistance, de la capacitance et de l’inductance du conducteur. Pour les projets haute vitesse, il faut tenter de maintenir l’impédance des pistes constante sur leur longueur. Une autre chose à considérer, spécifiquement pour une topologie de bus, est de ‘stopper’ l’onde au niveau du récepteur afin qu’elle ne rebondisse pas – ceci est habituellement réalisé avec une résistance de terminaison qui absorbe l’énergie de l’onde à la fin du bus (comme dans le cas d’une liaison RS485).

 

Intégrité du signal

A présent nous connaissons tous les effets physiques qui peuvent (vont) corrompre l’intégrité du signal lorsque les fréquences sont élevées. Nous devons arrêter de considérer les communications numériques comme binaires, instantanées et stables pour prendre en considération la vitesse de balayage (slew), la vitesse, les interférences magnétiques et l’impédance lors de la conception du circuit.

Penser à l’intégrité du signal pendant la conception du PCB signifie simplement de tenir compte de ces facteurs et mettre en place des contremesures pour être certain que les récepteurs recevront le bon message. Nous indiquons ici quelques techniques usuelles utilisées dans la conception des PCB haute vitesse.

Longueur des pistes

Lorsque nous avons des signaux de communication qui utilisent plus d’une ligne, telle qu’une horloge et des données – éventuellement un bus parallèle avec 8 lignes de données ou plus – alors nous devons nous assurer que les signaux arrivent sur le récepteur au même instant. Comme nous comprenons que les signaux électriques ne se propagent pas instantanément, nous pouvons comprendre que des signaux multiples qui voyagent sur des pistes de longueurs différentes arriveront à des instants différents (même s’ils sont émis exactement au même moment).

 

Des longueurs non adaptées peuvent induire des signaux incorrects au niveau du récepteur.

Considérons un dispositif de communication avec une ligne d’horloge (C) et 2 lignes de données (A et B); si la longueur de la ligne B est considérablement plus longue que la ligne A, alors le signal de l’impulsion horloge #1 sur la ligne B peut potentiellement arriver au même moment que le signal de l’impulsion d’horloge #2 sur la ligne A, ce qui provoque une distorsion avec corruption des de communcations.

 

Pistes A et B de longueurs différentes
Une autre façon de visualiser cela est d’imaginer deux coureurs sur deux pistes différentes. Chaque coureur ne transporte que la moitié du message qui est reconstitué à l’arrivée. Si les 2 coureurs voyagent à la même vitesse et que les pistes sont de même longueur, ils arriveront au même instant à destination et le récepteur assemblera le document correctement. Cependant, si les pistes ne sont pas de même longueur, les coureurs n’arriveront pas au même instant et le document ne pourra pas être facilement reconstitué. D’où l’importance d’égaliser la longueur des lignes – cette possibilité est appelée ‘track-length matching’ ou ‘net tuning’.
Nous avons délibérément augmenté la longueur de la piste A afin qu’elle soit identique à celle de la piste B.

Paires différentielles

Les ‘paires différentielles’ sont une technologie de communication qui est fortement immunisée aux interférences électromagnétiques (donc stables). Une implémentation très connue est celle du bus USB. Une autre est la paire différentielle RS485. Les paires différentielles utilisent une technique de ‘push-pull’ sur les deux conducteurs parallèles– un ‘pousse’ (push) tandis que l’autre ‘tire’ (pull). si une ligne est à l’état ‘haut’, alors l’autre doit être au niveau ‘bas’, et vice versa.

Le signal sur une paire différentielle est mesuré par la différence de  tension sur l’un des deux conducteurs. Les paires différentielles sont routées parallèles et en phase. En plus d’être de même longueur, la mise en phase implique que lorsque la piste tourne ceci va rallonger la piste extérieure par rapport à celle intérieure au virage; il faut donc allonger la piste interne pour les égaliser à nouveau.

Router une paire différentielle.
Piste ajoutée pour conserver la phase.
Piste ajoutée pour conserver la phase.

Toute interférence qui intervient sur une paire différentielle devrait affecter les deux pistes de la même façon, donc la différence entre elles restera constante et stable. Cependant, il est important de conserver les pistes en phases afin que l’impact d’une interférence qui intervient en un point particulier de la piste agisse sur les signaux parallèles de la même façon. 

Effet des interférences sur les 2 lignes qui sont en phase

Couture et blindage des vias

Le blindage des traversées (vias) est une technique pour protéger les pistes des interférences électromagnétiques qu’elles reçoivent ou qu’elles émettent (également connue sous les appellations de ‘Ground Planes’ ou ‘Copper Pours’). Des traversées sont positionnées autour de la piste ou des pistes, sur plusieurs couches. Ceci permet de ‘coudre’ ces couches de plans de masse entre elles, pour créer un blindage autour de la piste.

Blindage de paires par des vias
Plus le ‘slew rate’ est important, plus la vitesse de transition de ces signaux entre les niveaux ‘haut’ et ‘bas’ sera élevée, ce qui générera plus de bruit que pour des ‘slew rate’ plus faibles. Le ‘slew rate’ est habituellement indiqué dans la notice technique des composants (quelquefois configurable comme avec les microcontrôleurs). Ainsi, il n’est pas déterminé lors de la conception du PCB, cependant il faut certainement envisager des blindages pour les signaux associés à des ‘slew rate’ élevés.

Résumé

La conception des circuits à haute vitesse sort de leur zone de confort beaucoup d’ingénieurs en électronique numérique. L’état binaire, l’instantanéité, la stabilité doivent être reconsidérés et il convient de protéger les signaux du PCB. Cet article démystifie la problématique pour les débutants et fournit des axes de solutions.

Scroll to Top