Projet Pi.MX8 - Structure schématique et placement des composants

Lukas Henkel
|  Créé: Février 5, 2024  |  Mise à jour: Juillet 24, 2024
Pi.MX8_Chapter_II

Chapitres

1
Pi.MX8 Project – Introduction and Overview
| Created: January 18, 2024
2
Component Placement and Layout Planning
| Created: February 06, 2024
3
Board Layout Part 1
| Created: February 22, 2024
4
Board Layout Part 2
| Created: March 21, 2024
5
Board Layout Part 3
| Created: June 24, 2024
6
Board Layout Part 4
| Created: July 23, 2024
7
PCB Assembly
| Coming soon

Bienvenue dans le deuxième volet du projet de module de calcul open-source Pi.MX8 ! Dans cette série d'articles, nous explorons la conception et les tests d'un système sur module basé sur un processeur i.MX8M plus de NXP.

Dans la mise à jour précédente, nous avons discuté de la motivation derrière ce projet ainsi que des fonctionnalités que notre module devrait avoir et des composants que nous aimerions utiliser pour les implémenter.

Cette fois, nous aimerions nous concentrer sur la structure du schéma de conception et comment nous pouvons commencer avec la mise en page du PCB.

Structure du schéma

Commençons par examiner comment le schéma est organisé. Deux approches sont généralement utilisées pour gérer la capture de schéma ; les conceptions plates et hiérarchiques.

Un schéma plat peut être mieux imaginé comme un grand schéma sur une seule page qui est simplement divisé en plusieurs feuilles. Les connexions entre les feuilles peuvent être établies en utilisant par exemple des connecteurs hors feuille.

Dans un schéma de circuit hiérarchique, le design peut être divisé en blocs fonctionnels qui sont représentés comme des symboles de feuille, qui à leur tour peuvent être interconnectés ou même imbriqués. Cette approche est souvent utilisée dans les grands designs car elle permet de décomposer plus efficacement un grand schéma en blocs qui peuvent être conçus et visualisés indépendamment les uns des autres. Les connexions entre ces blocs fonctionnels sont établies à l'aide de ports qui seront représentés sur le symbole de feuille. À l'exception des objets d'alimentation (VCC, GND, etc.), seuls les ports sont utilisés pour lier les feuilles de schéma ensemble.

Le schéma du Pi.MX8 utilise cette topologie hiérarchique :

Test of button

Le design est divisé en plusieurs blocs fonctionnels—tous représentés dans une seule feuille de niveau supérieur. Ici, toutes les connexions entre les feuilles séparées sont établies. Ce design utilise seulement un niveau hiérarchique.

Le SoC iMX8 est divisé en plusieurs parties qui sont placées sur plusieurs feuilles. Sur la feuille de niveau supérieur, le grand symbole au centre de la page représente le SoC. Les deux grands symboles de feuille sur le côté gauche et droit de la page représentent les deux connecteurs de carte à carte du module Pi.MX8. Tous les autres blocs fonctionnels sont représentés avec leur propre symbole de feuille.

Chaque page suit la même philosophie de conception. Les interfaces quittant une page de schéma sont codées par couleur pour représenter le niveau de tension de l'interface. Les réseaux faisant partie du réseau de distribution d'énergie sont dessinés avec une épaisseur de ligne importante.

Intégrer des notes pour des paramètres de configuration spécifiques, des conventions de nommage ou des remarques générales peut accélérer le processus de débogage et de mise en route, tout en servant de rappel pour le processus de routage du PCB.

Page de schéma incluant des notes et un codage couleur

Ajouter des notes à un schéma Altium Designer à partir d'un tableau Excel ou de captures d'écran prises à partir d'une fiche technique est aussi simple que Ctrl+C, Ctrl+V :

 

Le schéma du circuit lui-même est actuellement encore sujet à des modifications et est donc toujours en cours de développement. Nous approfondirons le schéma dans une mise à jour ultérieure.

Bien que le schéma subira quelques changements mineurs dans les prochaines semaines, nous pouvons déjà commencer à planifier l'agencement du PCB.

Planification de l'agencement du PCB

Dans la phase de planification de l'agencement, nous souhaitons définir le stack de couches et élaborer une stratégie sur la manière de router la carte. Comme première étape pour définir un stack de couches et une approche de routage, nous pouvons placer les composants clés sur la carte. Cela nous aidera à estimer les besoins en espace et la densité de routage qui sont tous deux des facteurs importants à considérer pour définir un stack de couches et une stratégie de routage. Les composants clés dans ce contexte sont des pièces qui ont un grand impact sur le placement des composants, ce qui est le cas pour les exemples suivants :

  • Des pièces avec une position prédéfinie sur le PCB, par exemple les connecteurs, les LED indicateurs, les entretoises SMD ;

  • Des pièces avec beaucoup de réseaux à router, par exemple les SoCs, les dispositifs de mémoire, les MCUs ;

  • Des pièces qui occupent beaucoup d'espace sur la carte, par exemple les gros inducteurs, les interrupteurs, les dissipateurs thermiques.

Préparation de l'espace de la carte

Avant de placer des composants sur le module Pi.MX8, la première chose que nous aimerions faire est de définir quelques conditions limites. Dans le contexte du module, ce sont des caractéristiques mécaniques et des dimensions dictées par le format du module que nous souhaitons utiliser.

Selon une liste d'outils MCAD utilisés avec lesquels nous intégrons, ces informations peuvent être transmises à l'éditeur de disposition de PCB en utilisant le MCAD CoDesigner. Dans notre cas, nous importerons un fichier DXF qui a été créé en utilisant Spaceclaim Engineer. Ce contour DXF est importé et placé dans une nouvelle couche mécanique appelée « Référence » :

Mechanical dimensions and connector locations of the PCB

Dimensions mécaniques et emplacements des connecteurs du PCB

Avec le contour en place, nous pouvons ajouter les trous de montage aux emplacements corrects en utilisant les options de capture dans l'éditeur de PCB. Les connecteurs de carte à carte peuvent être placés sur la couche inférieure du module de la même manière :

Positioning of mounting holes and connectors on the PCB

Positionnement des trous de montage et des connecteurs sur le PCB

Sur la couche supérieure, un connecteur U.FL pour une antenne externe est placé sous le trou de montage supérieur gauche. Sous le connecteur, une antenne à puce pour le fonctionnement WiFi et Bluetooth est placée. La position de cette antenne intégrée ne doit pas être changée car de nombreux cartes de base existantes utilisent une région de réserve en cuivre sous l'emplacement de l'antenne.

L'antenne est un composant de bibliothèque qui inclut non seulement l'antenne à puce elle-même, mais aussi une certaine géométrie en cuivre et des points de référence où les composants d'adaptation doivent être placés. Ces informations peuvent être trouvées dans la fiche technique de l'antenne. En intégrant ces informations dans le composant de bibliothèque, nous nous assurons que la géométrie prédéfinie ne soit pas accidentellement modifiée.

Defining the antenna location

Définir l'emplacement de l'antenne

À ce stade de définition de l'espace de la carte disponible pour le routage et le placement des composants, il peut également être judicieux d'ajouter un anneau de garde le long du bord du PCB. Un anneau de garde est une piste en cuivre qui court le long du bord du PCB sur toutes les couches et est connecté à la terre à intervalles réguliers à l'aide de VIAs. Un anneau de garde placé le long du bord de la carte empêchera les émissions rayonnées des couches internes vers l'environnement. Les anneaux de garde sont également utilisés dans d'autres configurations sur un PCB, par exemple pour l'électronique analogique de précision où les courants de fuite circulant à travers les contaminations de surface doivent être tenus à l'écart des zones avec des nœuds à haute impédance très sensibles. Si de telles caractéristiques sont requises, elles doivent également être prises en compte lors de la phase de planification de l'agencement.

Placer un anneau de garde le long du bord de la carte à ce stade précoce de la conception est important car, même si cela peut ne pas sembler difficile à ajouter plus tard, un anneau de garde peut occuper une quantité significative d'espace. Typiquement, la géométrie en cuivre doit avoir une distance minimale de 0,2mm – 0,3mm par rapport au bord usiné de la carte. Ajoutez à cela la largeur de la trace de l'anneau de garde de 0,6mm par exemple et encore 0,1mm pour la distance de l'anneau de garde aux autres traces en cuivre et la carte se retrouve soudainement réduite de 2mm dans chaque direction. Surtout si des connecteurs sont placés près du bord de la carte ou si la densité des composants sur la carte est très élevée, cela peut faire une grande différence lors du routage.

PCB with guard ring

PCB avec anneau de garde

Une autre limitation que nous devrions considérer pour le placement des composants est le fait que certains composants peuvent être sensibles aux contraintes mécaniques. Selon la situation de montage d'un PCB à l'intérieur d'un boîtier, certaines zones d'une carte peuvent subir des contraintes mécaniques significatives. Des exemples typiques de tels scénarios sont les trous de montage ou les dissipateurs thermiques qui appliquent une pression de montage externe à un PCB.

C'est également quelque chose que nous devrions garder à l'esprit pour le module Pi.MX8. Le module sera monté à l'intérieur d'un boîtier en aluminium en utilisant les quatre trous de montage. Dans cette configuration, le circuit imprimé et le boîtier sont rigidement connectés l'un à l'autre. Étant donné que l'aluminium a un coefficient de dilatation thermique différent de celui du FR4, la carte commence à se déformer dès que le système chauffe. L'ampleur de cet effet dépend des caractéristiques matérielles exactes impliquées et de la différence de température observée par l'assemblage.

Nous pouvons simuler la dilatation thermique du module monté à l'intérieur du boîtier en aluminium. En calculant le gradient du vecteur de déplacement, nous pouvons voir que la carte subira un mouvement, en particulier à proximité des trous de montage :

Mechanical stress caused by thermal expansion

Contrainte mécanique causée par la dilatation thermique

Si le PCB est utilisé dans un environnement à haute vibration, le même principe s'applique en ce qui concerne les contraintes élevées à proximité des trous de montage.

Mais, pourquoi est-ce important pour le module Pi.MX8 ? Il y a des composants sur le module qui sont sensibles aux contraintes mécaniques externes. Ces composants sont de grands condensateurs céramiques. Ces condensateurs peuvent facilement se fissurer s'ils sont soumis à des contraintes mécaniques. Souvent, les condensateurs échouent avec un court-circuit, provoquant une défaillance catastrophique de tout le système. Pour cette raison, les grands condensateurs céramiques ne doivent pas être placés près des trous de montage ou des bords de carte en V-cut. Ce dernier subit également un stress mécanique élevé lors de la séparation du panneau. Plus le condensateur est grand, plus il est sensible aux charges mécaniques dans le PCB.

Pour nous, cela signifie de garder les condensateurs céramiques plus grands que 0603 qui n'utilisent pas de terminaison souple à au moins 3,5 mm des trous de montage. Cette mesure varie en fonction de la situation de montage de la carte et a été dérivée de la simulation pour la carte Pi.MX8.

En gardant cela à l'esprit, le placement préliminaire des composants clés sur la carte Pi.MX8 est le suivant :

Preliminary placement of the key components

Placement préliminaire des composants clés

L'idée derrière ce placement de composants et son impact sur le choix de l'empilement des couches fera partie de la prochaine mise à jour. Restez à l'écoute pour suivre les progrès du module Pi.MX8 !

A propos de l'auteur

A propos de l'auteur

Lukas is a passionate hardware designer with more than 10 years of experience in the electronics industry. As a co-founder of his own engineering services company, he has had the privilege of working on many exciting projects, taking on challenges ranging from precision analogue design to high-speed PCB layout and power electronics.

As a strong supporter of the open-source philosophy, Lukas has made it his goal to give anyone interested an insight into the construction and functioning of modern electronic devices. Driven by that goal, he has founded the company Open Visions Technology (OV Tech GmbH), which aims to bring highly repairable, fully documented state-of-the-art consumer hardware to the market.

Lukas firmly believes that with today's online access to know-how and tools, anyone with an idea, drive, and passion can create extraordinary things. He is looking forward to being part of an enthusiastic community and is excited to see how people bring their ideas to life.

Ressources associées

Documentation technique liée

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.