Comment les équipes de conception embarquée peuvent simplifier les E/S et le routage

Zachariah Peterson
|  Créé: Janvier 4, 2023  |  Mise à jour: Novembre 18, 2024
Comment les équipes de conception embarquée peuvent simplifier les E/S et le routage

Les produits électroniques réels deviennent progressivement plus intelligents, tant par la mise en œuvre d'une application embarquée que par des connexions retour à une plateforme ou application cloud. Les équipes de développement embarqué doivent travailler ensemble pour créer ces nouvelles générations de produits. Un domaine où l'ingénieur en conception de PCB, le développeur embarqué, et même l'ingénieur MCAD peuvent être retardés dans la finition d'un projet est dans la sélection des E/S. Cela se produit chaque fois que vous avez des connecteurs, des périphériques et un processeur hôte.

Ainsi, pour aider à simplifier les choses pour les deux parties, je souhaite partager certaines de mes expériences de travail avec les développeurs embarqués pour optimiser la sélection des E/S et le processus global pour compléter la conception du PCB. Avec un peu de collaboration en amont, vous pouvez rendre le routage du PCB et le développement embarqué plus faciles en aval.

Qui fait quoi dans le développement embarqué ?

Je suis d'avis que chaque membre de l'équipe de développement devrait comprendre ce dont les autres membres de l'équipe ont besoin pour réussir. Il s'agit également d'une utilisation efficace des ressources, d'éviter les bourbiers d'ingénierie qui prennent des jours à résoudre, et d'arriver rapidement sur le marché.

 

Ce qu'ils font

Ce dont ils ont besoin

Concepteur de PCB

  • Contraintes de la part du concepteur MCAD
  • Liste des périphériques de
  • Liste des broches d'E/S souhaitées par le développeur embarqué*

Concepteur MCAD

  • Créer le boîtier/enclosure de l'appareil
  • Définir les contraintes (zones interdites, placement, etc.)
  • Modèles 3D de connecteurs
  • Modèles 3D mécaniques
  • Contraintes SI/EMI de la part du concepteur de PCB

Développeur embarqué

  • Développer le firmware embarqué
  • Définir les sorties vers l'application web/cloud (si utilisé)
  • Utiliser les E/S requises par le concepteur de PCB
  • Fonctions E/S du concepteur de PCB
  • Liste des broches d'E/S souhaitées par le concepteur de PCB*

J'ai mis une astérisque (*) sur les entrées de la liste des broches parce que le processus exact d'attribution des E/S dépend du composant spécifique utilisé pour exécuter l'application embarquée. S'agit-il d'un MCU simple, où les E/S disponibles sont fixées à des emplacements spécifiques, ou est-ce un FPGA qui peut avoir un agencement de broches personnalisé dans certaines banques ? L'autre aspect concerne les connecteurs : le brochage est-il standardisé, est-il défini par une autre carte dans l'assemblage, ou peut-il être personnalisé ?

C'est là que nous pouvons commencer à voir le défi impliqué dans un designer de PCB et un développeur embarqué travaillant ensemble sur la sélection des E/S. Comment les deux parties peuvent-elles se réunir et définir les brochages, la sélection des E/S et, en fin de compte, la disposition du PCB ?

Le Développeur Embarqué Définit les Exigences du PCB

À mon avis, cela fonctionne mieux lorsque le brochage sur le processeur principal est flexible, c'est-à-dire que l'application sera instanciée dans un FPGA. Dans ce cas, les E/S peuvent être définies par le développeur dans la logique du dispositif, et le résultat est que le concepteur de PCB devra travailler avec les affectations de broches qui lui sont données.

Le problème est le suivant : si les affectations des broches sont données sur une base individuelle, vous pourriez ne pas obtenir un routage optimal, résultant en un enchevêtrement de connexions se croisant les unes les autres pour atteindre les composants. Au lieu de cela, si le développeur embarqué donne simplement des affectations de banques au concepteur de PCB, alors le concepteur de PCB peut choisir des broches au sein d'une banque pour réaliser des connexions optimales.

PCB FPGA
Capture d'écran montrant les affectations de banques dans un FPGA. Certaines banques prendront en charge différentes interfaces, et le concepteur de PCB peut sélectionner certains pins au sein de ces banques pour l'échange de pins.

En attribuant des banques sur un FPGA au lieu d'un brochage spécifique, le concepteur peut utiliser un outil comme le pin swapping pour déplacer les affectations d'E/S au sein d'une banque de broches. Si le pin swapping est souhaitable, alors un symbole schématique personnalisé pourrait être nécessaire afin de séparer correctement les broches dans leurs banques respectives. L'utilisation d'un symbole personnalisé permet un regroupement beaucoup plus rapide des broches pour les opérations de pin swapping lors du routage du PCB.

Le concepteur de PCB définit les exigences embarquées

À mon avis, cela fonctionne mieux lorsque le brochage du processeur principal est fixe, c'est-à-dire un MCU et ses périphériques. Dans un MCU, les emplacements des E/S sont essentiellement fixes. Vous pouvez avoir une certaine flexibilité quant à la manière dont chaque E/S est utilisée, par exemple lors de l'utilisation d'un groupe de GPIOs. Cependant, les affectations de broches ou de fonctions pour les interfaces standard peuvent être fixes (par exemple, les broches SPI, ADC, PWM, I2C, etc.).

Dans ce cas, je pense qu'il est préférable que le concepteur de PCB sélectionne les broches qu'il utilisera pour correspondre avec différents composants. Le concepteur de PCB doit choisir dans un brochage fixe, donc il devra travailler sur la manière de placer les composants de telle sorte que la disposition du PCB soit résolvable. Une fois placés et routés, c'est le travail du concepteur de PCB d'indiquer au développeur embarqué quelles broches sont utilisées pour certaines fonctions.

STM32 LQFP pinout
Liste d'attribution des pins STM32 LQFP48. Nous pouvons voir comment différentes fonctions de pins sur les GPIOs sont assignées à des positions spécifiques. Cela peut limiter ce qui est fait dans la conception du PCB, donc le concepteur de PCB devrait avoir la liberté de sélectionner les pins qu'il souhaite utiliser, et le développeur embarqué devra suivre cela lors de l'écriture du firmware.

Que se passe-t-il si un brochage de connecteur est standardisé ?

Lorsque le brochage de votre connecteur est standardisé, c'est alors un peu un joker. Je dis cela parce que « standardisé » peut signifier deux choses différentes :

  • Le brochage pourrait faire partie d'une interface standard (Ethernet, USB, etc.)
  • Le brochage pourrait être défini par une autre carte dans l'assemblage ou le système

Si aucune de ces situations n'est applicable, alors votre brochage est personnalisable. Dans les projets où j'ai travaillé avec d'autres cartes dans un assemblage plus large, nous avions souvent la liberté de définir un brochage, généralement parce que nous construisions les deux cartes. Dans tous les cas, les deux parties doivent travailler ensemble pour déterminer un brochage « meilleur » de manière objective pour le connecteur et comment cela s'aligne avec le processeur.

Les équipes qui ont besoin de collaborer sur des produits complexes peuvent accéder à un ensemble complet de fonctionnalités de conception collaborative en utilisant Altium Designer®. Tous les intervenants impliqués dans la conception de produits peuvent accéder à un ensemble complet d'outils pour la conception de PCB qui peuvent soutenir les tâches de développement embarqué, ainsi que les fonctionnalités de conception de câbles et de harnais. Lorsque vous avez terminé votre conception et que vous souhaitez libérer les fichiers à votre fabricant, la plateforme Altium 365™ facilite la collaboration et le partage de vos projets.

Nous n'avons fait qu'effleurer la surface de ce qui est possible avec Altium Designer sur Altium 365. Commencez votre essai gratuit d'Altium Designer + Altium 365 dès aujourd'hui.

A propos de l'auteur

A propos de l'auteur

Zachariah Peterson possède une vaste expérience technique dans le milieu universitaire et industriel. Avant de travailler dans l'industrie des PCB, il a enseigné à la Portland State University. Il a dirigé son M.S. recherche sur les capteurs de gaz chimisorptifs et son doctorat en physique appliquée, recherche sur la théorie et la stabilité du laser aléatoire. Son expérience en recherche scientifique couvre des sujets tels que les lasers à nanoparticules, les dispositifs électroniques et optoélectroniques à semi-conducteurs, les systèmes environnementaux et l'analyse financière. Ses travaux ont été publiés dans diverses revues spécialisées et actes de conférences et il a écrit des centaines de blogs techniques sur la conception de PCB pour de nombreuses entreprises. Zachariah travaille avec d'autres sociétés de PCB fournissant des services de conception et de recherche. Il est membre de l'IEEE Photonics Society et de l'American Physical Society

Ressources associées

Documentation technique liée

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