Introduction à la conception à haute vitesse

Si, comme moi, vous avez une expérience en développement firmware, vous préférez probablement penser à l’électronique digitale avec marche et arrêt ou haut et bas, ces signaux de marche et arrêt traversant instantanément et avec fiabilité le circuit électrique. Binaire, instantané et fiable. Certainement, depuis le point de vue d’un développeur, ce niveau d’abstraction est assumé au niveau logiciel !

Mais travailler avec des composant électroniques de plus en plus rapides, avec des vitesses d’horloge passant de MHz aux GHz, il est évident que les choses ne sont pas aussi simples. Dans cet article, nous nous pencherons sur certains des facteurs qui rendent la conception de circuits à haute vitesse plus complexes, ainsi qu’a certaines techniques utilisées pour les adresser.

Taux de balayage


Commençons par le taux de balayage, nous devons comprendre qu’il n’existe pas une transition instantanée depuis « éteint » vers « marche » – la tension doit passer du niveau bas (par ex. 0V) au niveau haut (ex. 3.3V), traversant toutes les tensions entre les deux niveaux, même si cela est fait très rapidement ; a un point dans le temps, au cours de la transition, on mesure 1.8V et a un autre 2.5V et ainsi de suite. La vitesse à laquelle la tension transitionne entre le niveau bas et le niveau haut est appelé taux de balayage.

Vitesse


Les signaux électriques ont aussi une vitesse limite – la vitesse de la lumière. La vitesse de la lumière est de 299 792 458 m/s, ce qui est très rapide. Cependant, il faut considérer qu’avec un signal de 1GHz à une période de 1 ns (1 nanoseconde), la lumière ne parcourt que 0.3m/ns ou 30cm/ns, ce qui signifie que pour un conducteur de 30cm, la première pulsation d’un signal de 1GHz est seulement arrivée à l’autre bout du conducteur, quand la prochaine pulsation est générée au début de celui-ci

Mettez un signal de 3 GHz et la source de signal est d’ores et déjà en train de générer la 3ème pulsation au moment ou la première arrive à l’autre bout du connecteur. En y repensant (3 GHz, conducteur de 30cm), cela signifie que notre unique conducteur de 30cm « contient » 3 pulsations, 3 états haut et bas, dans sa longueur. Ce n’est certainement pas un marche/arrêt instantané d’un bout du conducteur à l’autre !

Fiabilité


A n’importe quel moment que l’électricité traverse un conducteur, elle génère un champ magnétique autour de ce conducteur. Mais, quand un champ magnétique traverse un conducteur, il génère une tension dans ce conducteur (via la force électromotrice). Tous les conducteurs d’un circuit – souvent des pistes sur le PCB, sont ainsi capable de à la fois générer et recevoir des interférences électromagnétiques, ce qui peut distordre les signaux qui sont censés passer dans cette piste. Chaque piste d’un PCB peut aussi être vues comme une petite antenne radio, capable de générer et recevoir des signaux radio, qui peuvent distordre les signaux censés passer dans cette piste

 

Impédance


Comme décrit dans la section ‘Vitesse’, nos signaux électriques ne sont pas instantanés, et voyagent en vagues dans nos conducteurs, dans notre exemple de piste 3 GHz / 30 cm, il y a trois vagues – bosses et trous – à l’intérieur du conducteur à n’importe quel moment. Les vagues sont sujettes à différents phénomènes, le plus important étant pour nous la « réflexion ».

Imaginons que nos conducteurs sont comme des canaux/tunnels remplis d’eau. Une vague est crée d’un coté du canal, et traverse le canal (à presque la vitesse de la lumière) vers l’autre côté. Imaginons que le canal est large de 100 cm, mais à un certain point rétrécit pour ne mesurer que 1 cm de longueur – quand notre vague arrive à la section soudainement rétrécie (essentiellement, un mur avec un petit trou dedans), la plupart de la vague va rebondir sur la section rétrécie (mur) et retourner au transmetteur.

S’il y avait plusieurs sections rétrécies dans le canal/tunnel, alors il y aurait de multiples réflexions rebondissant dans le canal, interférant avec le signal. La plupart de l’énergie du signal ne pourrait pas rejoindre le récepteur (du moins pas à l’heure correcte). Ainsi, il est important que la largeur/hauteur reste le plus possible constante, sur sa longueur pour éviter les réflexions.

En termes électrique, ceci est connu comme « l’impédance », qui est une fonction de la résistance, capacité et inductance du conducteur. Pour une conception à haute-vitesse, nous voulons essayer de garder l’impédance des pistes au niveau le plus régulier possible sur la longueur des pistes.
Une autre chose à considérer, particulièrement dans des topologies de bus, c’est que l’on veut stopper la vague au récepteur et ne pas la voir encore rebondir – ceci est souvent atteint avec une résistance de terminaison, qui absorbe l’énergie de la vague a la fin du bus (comme en RS485)

 

 

Intégrité du signal


Nous savons maintenant ce que sont tous ces effets physiques et qu’ils peuvent (vont !) agir pour interférer avec le signal quand les fréquences sont élevées. Nous avons besoin d’arrêter de regarder nos communications comme étant binaires, instantanées et fiables, et commencer à prendre, le balayage, la vitesse, les interférences magnétiques et l’impédance en considération quand nous concevons notre circuit.

Penser à l’intégrité du signal lors de la conception du PCB, veut seulement dire qu’il faut prendre en compte tous ces facteurs et créer une carte avec des contremesures en place pour garantir que nos récepteurs reçoivent le signal attendu. Voici une rapide introduction à certaines des plus communes dans la conception de PCB à haute vitesse.

 

Egalisation de la longueur des pistes


Quand nous avons nos signaux de communication qui utilisent plus qu’une ligne, comme l’« horloge » et « données » – ou encore un bus parallèle avec 8 lignes de données ou plus – nous devons être surs que ces signaux arrivent tous au récepteur au même moment. Quand nous comprenons que les signaux électriques ne voyagent pas instantanément, nous pouvons ensuite comprendre que si plusieurs signaux voyagent sur différentes longueurs de pistes, elles vont arriver au récepteur a différents moments (même si elles ont été transmises au même moment).

Considérez un schéma de communication avec une ligne horloge (C) et deux lignes de données (A et B) ; si la longueur de la ligne de données B est considérablement plus longue que la longueur de la ligne A, le signal correspondant à la pulsation d’horloge no 1 sur la ligne B peut potentiellement arriver au récepteur en même temps que le signal pour la pulsation d’horloge no 2 sur la ligne A, par la même occasion distordant et corrompant les communications.

Une autre façon de visualiser cela est d’imaginer deux coureurs sur deux pistes différentes, chaque coureur porte seulement la moitié du message et est réassemblé à la ligne d’arrivée. Si les coureurs courent à la même vitesse, et les pistes sont de même longueur, ils vont arriver en même temps à l’arrivée et le récepteur pourra rassembler le message correctement.

Mais, si les pistes ne sont pas de la même longueur alors les coureurs n’arrivent pas au même moment et le message ne peut pas être réassemblé facilement. Ainsi, il est très important que les longueurs de pistes dans une communication avec plusieurs lignes soient identiques – ceci est connu comme « track-length matching » or « net tuning »

Paire différentielles


Une « Paire différentielles » est une technologie de communication qui est très immunisé vis-à-vis des interférences électro-magnétiques (et donc fiable). Peut-être que le commune et reconnaissable implémentation de ceci est l’USB. Une autre technologie l’incorporant est le RS485. Les paires différentielles utilisent un système de « pousser-tirer », sur deux conducteurs parallèles, un « pousse » pendant que l’autre « tire ». SI une ligne est au niveau ‘haut’, l’autre doit être au niveau ‘bas’ et vice-versa.

Le signal dans une paire différentielle est mesuré comme la différence de tension soit sur l’un ou l’autre conducteur. Les paires différentielles sont strictement routées parallèles. En plus d’avoir la longueur des pistes égalisée, elles doivent être en phase, ce qui oblige, si la piste prend un tournant – ce qui va rendre la piste extérieure plus longue que le piste à l’intérieur du virage – alors la piste intérieure doit, artificiellement, ajouter un peu de longueur à sa piste, le plus tôt possible pour avoir la distance totale égalisée depuis le début/fin de la paire encore le plus tôt possible.

 

 

N’importe laquelle interférence dans une paire différentielle peut rencontrer, devrai affecter les deux pistes équitablement, donc la différence entre elles reste constante et fiable. Cependant il est important de garder les pistes en phase, afin que si une interférence électromagnétique est subie à un point de la piste, cela va affecter les signaux parallèles de la même façon. Si les signaux ne sont plus en phase, alors la bosse d’une coté peut être affecté alors que le trou de l’autre côté est affecté.

Couture et shield de vias


Comme le nom l’indique, un bouclier de vias est une technique pour « protéger » des pistes des interférences électromagnétiques qu’elles génèrent et reçoivent. Les « Plans d’alimentation » (Aussi connu comme « Plan de masse » ou « Coulées de cuivre »), sont placés pour entourer la/les pistes sur de multiples couches, et des vias sont utilisées pour coudre les couches de plans d’alimentation entre elles, créant un effet « bouclier » autour de la piste

Des taux de balayages importants, la vitesse à laquelle le signal transitionne depuis l’état « bas » à l’état « haut » et vice versa, génèrent plus de bruit électromagnétique que des taux plus bas. Le taux de balayage en lui-même est souvent spécifié dans la datasheet du composant (Des fois configurables, comme avec certains microcontrôleurs) et est donc pas déterminé par la phase de conception du PCB, mais des signaux avec des taux connus et élevés peuvent recevoir plus d’intérêt sur la protection.

La couture de vias est utilisée pour coudre deux plans d’alimentations ensemble. Une raison pour cela est de permettre un retour rapide pour un signal ce qui est très important pour, par exemple, l’égalisation de l’impédance.

 

Résumé


La conception de PCB à haute vitesse amène une grande quantité d’ingénieurs en électronique digitale hors de leur zone de confort au début. Binaire, instantané et fiable ne sont plus des données fixes pour un signal digital et donc nous devons prendre des étapes actives pour protéger les signaux sur le PCB. Avec un peu de chance, cet article démystifie un peu les problèmes pour les débutants et donne des points pour une future recherche.