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.
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.
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
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.
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.
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.
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.
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.
Copyright Labcenter Electronics Ltd. 2024
Traduction française
Copyright Multipower France 2024