Pour achever cette série sur les contraintes de conception et de fabrication des circuits imprimés, après avoir traité des pistes de cuivre, de leurs espacement puis de l’interconnexion des couches à l’aide de trous métallisés, il semble logique de s’attarder sur le dernier constituant des PCB que sont les diélectriques utilisés pour séparer lesdites couches. Si cet élément peut sembler anecdotique dans le cas de montages électroniques standard, il revêt une grande importance dans des applications plus spécifiques. On traitera ici :
des circuits flexibles ou rigid/flex d’une part,
des circuits rapides ou radio-fréquence d’autres part.
Dans la première catégorie, le diélectrique sert essentiellement à remplacer un câble (typiquement en nappe) tandis que dans la seconde, le diélectrique a un impact important dans la propagation des signaux : la géométrie de l’ensemble « conducteurs + isolant » joue en effet dans ce cas un rôle fondamental que nous allons détailler.
Les circuits flexibles et flexo-rigides (rigid/flex en anglais) sont déjà fait l’objet d’articles dans ce blog:
« Les PCB flexo-rigides et votre avenir: Conception intelligente et efficace » dans lequel les intérêts de ce type de PCB sont listés avec notamment l’économie de connecteurs, de câbles ainsi que d’opérations d’assemblage (souvent manuel) entre deux cartes rigides ainsi qu’une meilleure intégration 3D (on pense notamment aux appareils photographiques – cf. figure 1),
« Réflexion sur les flexo-rigides », partie 1 et partie 2 qui reprend davantage les contraintes inhérentes à cette solution technique et renvoie à la version online du « Altium Rigid-Flex PCB Design – A guide book for designers » que l’on trouve encore au format PDF ici.
Figure 1. Exemple d’intégration 3D de circuits « rigid/flex » dans un appareil photographique Canon EOS R (source : Konari Vision)
Un point essentiel à retenir sur ces circuits flexibles ou flexo-rigides (pour reprendre le terme des autres articles) est que l’adhérence du cuivre sur le substrat utilisé (du polyimide, également connu sous son nom commercial « Kapton® ») est moins importante qu’avec du FR4 par exemple : il faut donc limiter autant que possible le stress induit par la flexion. Cela implique notamment :
des rayons de courbure à respecter,
des designs spécifiques des couches TOP et BOTTOM,
des plans de cuivre non pleins (sous forme de grilles),
des découpes éventuelles pour faciliter la flexion notamment avec plus de 2 couches fexibles,
l’élargissement des pistes au niveau des pastilles pour augmenter l’adhérence (teardrops – cf. figure 2).
Figure 2. Création de « teardrops » à l’interface piste/pastille avec la commande Tools > Teardrops…
On notera d’ailleurs que les circuits flexibles peuvent être utilisés de manière statique (pour une intégration en 3D dans un environnement compact) mais aussi de manière dynamique pour connecter des dispositifs mobiles (et généralement motorisés). Il est clair que, dans ce dernier cas, les contraintes seront plus fortes. La fatigue mécanique potentielle doit être prise en compte afin d’obtenir un produit fiable tout au long de sa vie.
Pour finir, même si ces éléments flexibles servent principalement pour la connectique, le montage de composants est parfaitement possible du fait de l’excellente tenue en température du Kapton (typiquement jusqu’à 400°C). Il est donc parfaitement à même de supporter le process de refusion pour le brasage de composants CMS. Néanmoins, si le PCB est flexible, tel n’est pas le cas des circuits intégrés qui auront tendance à rigidifier localement la carte et induire un stress mécanique supplémentaire sur les pastilles de cuivre. Cela doit également être pris en compte dans les courbures prévues sur un tel PCB.
Pour la mise en œuvre d’un design « rigid/flex », il convient de suivre rigoureusement la méthode suivante :
Aller dans le « Layer Stack Manager » pour y sélectionner parmi les « features » (bouton en haut à droite de la page) disponibles « Rigid/Flex » (cf. figure 3),
Figure 3. Sélection de la « feature » Rigid/Flex dans le Layer Stack Manager
Par défaut, l’empilement par défaut se nomme Board Layer Stack. On peut voir à la figure 3 qu’il est déjà configuré de manière asymétrique alors que par défaut, tout ajout de couche ajoute en fait une paire symétrique par rapport au centre du PCB. Pour permettre cette asymétrie, il suffit de décocher la case « Stack Symmetry » dans la rubrique Board de l’onglet Properties. On notera d’ailleurs qu’il s’agit du seul endroit où l’on peut changer le nom du « stack ». En s’inspirant de l’exemple fourni (Bluetooth_Sentinel.PcbDoc) avec le logiciel, nous le renommons « Rigid » puisqu’il comprend l’ensemble des couches de la partie rigide (incluant une couche flexible en polyimide comme on peut le voir entre Layer 2 et Bottom Layer).
Ce nom « Polyimide » a été ajouté manuellement car il n’existe pas dans la liste prédéfinie dans le logiciel. De même, les autres isolants sont renommés FR-4 et le type « Dielectric » de tous ces isolants est affecté par « Copier/Coller » car les seules options disponibles sont « Core » et « Prepreg » déjà évoqués dans l’article précédent.
Avec le bouton « + » présent à côté de la sélection du « Stack » (en haut à gauche de la page – cf. figure 4), on peut créer un nouvel empilement : dans le cas de la figure 4, on peut voir l’empilement « Flex » (renommé dans l’onglet « Properties » dans laquelle on a cette fois coché la case « Is Flex ».
Figure 4. Configuration de l’empilement « Flex » avec seulement une feuille de polyimide entourée de deux couches de cuivre (Layer 2 et Bottom Layer)
Figure 5. PCB vierge avec par défaut une seule région affectée de l’empilement « Rigid »
Figure 6. Découpage d’un PCB vierge en trois zones à l’aide de deux lignes tracées avec la commande « Define Split Line »
Figure 7. Accès aux configurations des zones distinctes du PCB
Figure 8. Configuration d’une zone (nom, stack associé, fixe ou non)
Remarque : Custom Coverlays permet de choisir un vernis épargne (solder mask) spécifique pour une zone. Nous ne l’utilisons pas ici mais à ce sujet, vous pouvez consulter l’aide en ligne ici.
Pour la zone « Flex », sa flexibilité est identifiée automatiquement et un trait orange est ajouté au milieu de la bande. Il s’agit de la ligne suivant laquelle la courbure est appliquée (elle peut par ailleurs être définie manuellement à l’aide de la commande « Design > Define Bending Line ». En outre, on peut voir une zone colorée en orange autour de ce trait : elle représente la zone de courbure dans la mesure une largeur donnée est affectée (Affected area width) avec un rayon de courbure (Radius), tous les deux paramétrables avec une « bending line » (cf. figure 9). Un angle de flexion (Bending angle) doit également être spécifié et un dernier paramètre entier nommé « Fold Index » permet de décaler les flexions les unes par rapport aux autres lorsqu’il y en a plusieurs (cf. exemple du « Bluetooth_Sentinelle »).
Figure 9. Configuration de la courbure
Une fois la ligne de courbure définie, on peut basculer dans la vue 3D pour tester la flexion comme on peut le voir à la figure 10.
Figure 10. Essai de flexion en vue 3D
Figure 11. Exemple de flexions sur un PCB simple (mais avec des composants…)
Lorsque les fréquences de signaux mis en œuvre dans un circuit imprimé (ou plutôt les fronts de commutation pour des signaux logiques) sont rapides – cf. [1] – au regard de la vitesse des ondes électromagnétiques dans le milieu considéré, les phénomènes de propagation doivent être pris en compte dans la conception d’une interconnexion. Les PCB n’échappent pas à cette règle dans la mesure où une piste sur un circuit imprimé (en vis-à-vis d’un plan de masse) est une ligne de transmission au même titre qu’un câble coaxial. Le comportement d’une telle ligne (micro-ruban ou microstrip en anglais) est bien connu et son impédance caractéristique se trouve dans la plupart des ouvrages traitant de circuits RF (par exemple [2]) :
Attention : Ces formules sont une approximation de la réalité. Elle sont déduites d’une configuration idéalisée dans laquelle les effets de bord ne sont pas pris en compte. Seule une analyse numérique (simulation électromagnétique 3D) de la configuration réelle peut donner des résultats réellement précis.
Néanmoins, on peut constater avec ces relations que l’impédance caractéristique dépend non seulement de la géométrie avec la largeur W de la piste et l’épaisseur h du diélectrique séparant cette piste et le plan de masse mais elle dépend également de la permittivité relative du matériau diélectrique utilisé entre les deux couches de cuivre.
Il est donc particulièrement important de bien renseigner les paramètres du Layer Stack Manager comme rappelé à la figure 12., à savoir l’épaisseur des couches de diélectrique (Thickness) ainsi que la constante diélectrique Dk (qui correspond à la permittivité ). En effet, il n’est pas nécessaire d’effectuer de longs calculs pour déterminer la largeur requise pour les pistes si on souhaite obtenir une impédance caractéristique donnée : en sélectionnant l’onglet « Impedance » en bas de la page, on peut créer un profil d’impédance entre les différentes couches (par défaut, il s’agit d’une impédance de 50 ohm qui est définie entre « couples de couches » (Top Ref/Bottom Ref) conduisant à une certaine largeur de piste.
Figure 12. Paramétrage des diélectriques (constante diélectrique = permittivité relative + épaisseur) en vue de l’obtention d’impédances contrôlées
Un problème secondaire peut apparaître suivant la nature du diélectrique utilisé. Dans la plupart des cas, il s’agit d’un tissu en fibre de verre imprégnée d’une résine mais la densité du tissu peut varier fortement d’un matériau à un autre. Les matériaux les plus adaptés aux applications RF présentent en effet un tissage dense de manière à garantir une bonne homogénéité de la permittivité diélectrique alors que dans le cas du FR-4 par exemple, le tissage fait apparaître des « trous » dans lesquels il n’y a que de la résine. Dans ces conditions, une piste qui serait alignée avec un ensemble de fils de verre verrait une impédance (et aurait une vitesse de propagation) différente de celle vue par une piste qui serait placée d’un « vide » constitué uniquement de résine. Pour pallier ce problème, une technique recommandée par certains fabricants de semiconducteurs tels que Texas Instrument [3] consiste à incliner les pistes par rapport à la direction des fibres pour « moyenner » l’effet de variation de permittivité. De cette manière, on peut obtenir un comportement répétable d’un circuit imprimé à un autre car il est bien évident que rien ne garantit que les fibres tombent toujours au même endroit sur un lot de PCB.
L’inclinaison qui est recommandée dans [3] est comprise entre 10 et 35° et peut parfaitement être obtenue avec un routage en mode « Any Angle » et ensuite de se servir d’une première piste comme appui pour tracer d’autres pistes en parallèle.
Remarque : Le routage « Interactively Route Multiple Connections » ne proposant pas cette option (en tout cas jusqu’à la version 19.1.8 d’Altium Designer®), la solution ci-dessus semble être la plus satisfaisante (tout du moins à ma connaissance) et assez rapide. Il convient de noter que la mise en œuvre de zig-zag (à ne pas confondre avec les serpentines/meanders d’équilibrage de longueurs de pistes) ou de pistes inclinées demeure assez rare (voir un exemple ici) mais il est probable qu’à l’avenir cette technique apparaisse plus fréquemment dans des cartes mettant en œuvre des signaux numériques toujours plus rapides (avec des débits > 6 Gbps d’après [4]). A noter que la version 20 d’Altium Designer bientôt disponible propose dans ses nouvelles fonctionnalités une augmentation des capacités de routage « Any Angle » comme on peut le voir ici.
Une autre problématique des circuits rapides provient du caractère impulsionnel du courant d’alimentation consommé (propre aux circuits CMOS). Dans de telles circonstances, la garantie d’une tension stable passe par un découplage efficace : des condensateurs branchés entre le rail d’alimentation et la masse (d’où le nom de condensateur de découplage) lissent cette tension et pour garantir une efficacité optimale, il faut que l’ondulation de courant circule principalement dans le(s) condensateur(s) (pont diviseur de courant – cf. figure 13).
Figure 13. Pont diviseur de courant entre ligne d’alimentation et condensateur de découplage (cas idéal à gauche et « réaliste » à droite)
Si la connexion depuis l’alimentation est naturellement inductive (on considère très grossièrement une inductance linéique de 1µH par mètre de connexion), le condensateur est lui-même imparfait. En plus de sa capacité (idéale), on lui adjoint :
une résistance série équivalente (notée ESR pour Equivalent Series Resistance dans les datasheets),
une inductance série équivalent (notée tout naturellement ESL).
Ces éléments sont intrinsèquement présents dans toute capacité réelle (on raffine ensuite plus ou moins le modèle pour inclure des fuites, un ESR dépendant de la fréquence, etc.). L’élément le plus gênant pour un découplage devant traiter une large bande de fréquences est bien évidemment l’ESL qui doit être aussi faible possible pour ne pas altérer l’efficacité du découplage aux plus hautes fréquences du courant consommé par le circuit à découpler. En pratique, on doit utiliser différentes technologies de condensateurs, différentes tailles et différentes localisations pour assurer un découplage convenable. Des directives assez précises peuvent être trouvées pour cela dans les datasheets de circuits rapides tels que des FPGA [5] :
Les condensateurs polarisés (de forte valeur mais avec un comportement capacitif sur une bande de fréquences réduite) peuvent être placés loin du circuit à découpler (Lloc n’a alors que peut d’importance car leurs ESL et ESR les rendent inopérants lorsque la réactance Lloc.w devient significative),
Les condensateurs en céramique (de type MLCC en boitier CMS) doivent être placés d’autant plus près du circuit à découpler que leur taille devient petite (l’ESL devient faible mais l’inductance Lloc devient également critique).
L’inductance Lloc peut même devenir significative à cause des vias si le condensateur se trouve en dessous du circuit à découpler avec un PCB trop épais. Dans ce cas, l’introduction du condensateur dans une cavité à l’intérieur même du PCB est envisageable (sous Altium Designer, la marche à suivre peut être trouvée ici).
Dans cet article, nous avons vu l’importance que peut avoir une caractérisation précise des intercalaires diélectriques utilisés entre les différentes couches de cuivre d’un PCB. Cela porte non seulement sur la nature des matériaux (qui peuvent être flexibles) mais aussi sur leur épaisseur. En effet, ces deux aspects jouent un rôle important dans l’impédance (et la vitesse de propagation) que peuvent présenter des lignes de transmission réalisés sur un PCB. Nous verrons dans un prochain article que la caractérisation des différentes épaisseurs des constituants d’un PCB peut également s’avérer importante d’un point vue plus géométrique dans le contexte d’une intégration mécanique d’un circuit imprimé.
[1] Grounds and grounding, a circuit to system handbook, Elya B. Joffe, Kay-Sang Lock, Wiley-IEEE Press, 2011.
[2] Microstrip Filters for RF/Microwave Applications, Jia-Sheng Hong, M. J. Lancaster, John Wiley & Sons.
[3] High-Speed Interface Layout Guidelines, Application Report, Texas Instruments, Aug. 2014/Oct. 2018.
[4] PCB Dielectric Material Selection and Fiber Weave Effect on High-Speed Channel Routing, Application Note, Altera, January 2011.
[5] 7 Series FPGAs PCB Design Guide, UG483 (v1.14), Xilinx, May 21, 2019.