Je travaille sur un projet MSP430 qui me demande de router la sortie d'un périphérique vers l'entrée d'un autre périphérique. Ainsi, j'ai deux broches MCU connectées directement l'une à l'autre. Cela me semble suspect car il y a la possibilité d'une erreur de programmation provoquant les deux sorties (éventuellement en conflit). Il y a aussi le problème des états de démarrage et de programmation.
Dans le pire des cas, si une broche conduit HI, l'autre conduit LO, les broches GPIO ont généralement beaucoup plus de capacité de dissipation que de source ... donc ce sera un peu comme prendre une sortie HI et la court-circuiter à presque. sol. Qu'est-ce qui est mauvais ... mais à quel point est-ce mauvais? Est-il susceptible d'endommager le MCU?
Je vois souvent des exemples sur le Web de personnes utilisant Arduinos pour allumer une LED entre deux broches sans résistance, et je n'ai entendu parler d'aucune histoire de quiconque faisant frire autre chose que la LED. De toute évidence, vous ne voudriez pas faire cela dans un produit, mais les fabricants essaient-ils généralement de protéger le MCU contre les surcharges des broches GPIO?
En y repensant rétrospectivement, la mise en place d'une résistance de limitation de courant entre les deux broches aurait évité tout souci, mais même un changement matériel mineur est une chose très difficile à faire à ce stade.
Pour référence future et pour le bénéfice de la postérité, quelqu'un a-t-il d'autres idées sur la bonne façon de minimiser les risques de connecter deux broches MCU ensemble, et plus généralement, de minimiser les risques qui découlent de la possibilité de surcharger une broche GPIO?
la source
Réponses:
Ce n'est pas un problème mais si vous craignez qu'il y ait peut-être un conflit de sorties, connectez-les avec une résistance de 1k ohm. Cela limitera le courant en conséquence.
Si cependant, l'entrée a besoin de bords vraiment rapides, alors lorsque vous êtes sûr que cela fonctionne, pontez le 1k ohm avec un court ou 100 ohms peut-être.
Le bonus supplémentaire d'avoir la résistance est que si vous avez la conception engagée sur PCB, cela vous donne une option de recâblage facile.
C'est le même problème avec les entrées inutilisées - reliez-les à la terre ou au Vcc et vous risquez de tirer un courant important de l'appareil sans aucun moyen facile de déterminer ce qui se passe - liez via un 1k si inutilisé ou peut-être 10k.
La limitation de surcharge est effectuée sur certaines puces, mais uniquement en raison du fait que les transistors ne peuvent pas intrinsèquement fournir des "amplis", mais cela peut fonctionner contre vous car si vous avez plusieurs broches o / p court-circuitées à la masse (ou entre elles) et que chacune se limite gracieusement, vous pouvez toujours dépasser la valeur nominale maximale du courant dans les broches d'alimentation de l'appareil.
Pour le MSP430 série 2, la page 21 de ce document indique: -
Cela me dit que si les courants de sortie combinés de plusieurs broches atteignent une certaine limite, les capacités de sortie de toutes les autres broches (même celles qui peuvent être légèrement chargées) peuvent être altérées de la même quantité, voire pire.
la source
Le plus gros problème est, comme vous l'avez mentionné, les erreurs de programmation. Il existe un potentiel de problèmes, vous devez donc coder soigneusement. En dehors de cela, tant que les broches ne sont pas les deux sorties avec des niveaux différents, ça va.
Il n'est pas rare d'utiliser deux broches pour piloter une seule source (en combinant la sortie de courant).
L'utilisation de deux broches pour piloter une led (ou deux) n'est pas rare non plus. Bien que l'utilisation d'une résistance ne soit pas recommandée, vous pouvez vous en tirer. Si votre tension de sortie est relativement proche de la tension directe des LED, la consommation de courant peut ne pas être un problème. Et il y a l'affaissement de la tension des broches. À mesure que le courant augmente, la tension à cette broche diminue (Vcc à Vcc - 0,3 à -1, etc.). À mesure que le courant diminue, la tension augmente (de Gnd à Gnd + 0,3v à + 1v, etc.). C'est un peu une bénédiction qui se corrige d'elle-même, mais il ne faut pas s'y fier.
Et comme vous l'avez déjà dit, une simple résistance de limitation de courant pourrait être utilisée.
la source