IC Max IO Pin Current

8

Je regardais la fiche technique du microcontrôleur ATTiny2313A et elle spécifie une valeur nominale absolue absolue pour le courant continu à travers chaque broche IO à 40mA, et le courant continu maximum à travers les broches de terre / Vcc à 200mA.

Je prévois d'utiliser ce micro contrôleur pour piloter certains écrans LED, il pourrait donc y avoir potentiellement une quantité importante de courant provenant / absorbé. Je sais que je dois absolument garder les courants en dessous de la valeur maximale absolue, mais de préférence, je voudrais garder cela en dessous d'un niveau recommandé, qui malheureusement n'est pas répertorié.

Il en va de même pour une variété d'autres circuits IC (registres à décalage logiques, commutateurs analogiques, multiplexeurs, etc.) que j'ai envisagés d'utiliser pour piloter les écrans LED, qui ne répertorient que les intensités maximales de courant absolues.

Donc, ma question est quelle est généralement une bonne marge de sécurité pour différents circuits CI qui ne listent que les valeurs nominales de courant maximum absolu? Puis-je me cogner 40 mA*et être parfaitement en sécurité? Ou est-ce que je veux un facteur de sécurité confortable de 2x, 3x, etc.?

* remarque: je suppose que je ne dépasse jamais réellement 40 mA, par exemple une 35 mAvaleur nominale avec une 5 mAvariance.

post-note: Je sais qu'il existe des pilotes LED à courant constant spécialement conçus, mais je pense que c'est toujours une question pertinente pour piloter d'autres composants.

helloworld922
la source

Réponses:

8

Les cotes maximales absolues sont là pour vous dire ce qui est (à peu près) garanti d'endommager votre CI s'il est dépassé, elles ne sont pas recommandées pour une utilisation normale (notez le " à celles -ci ou au-dessus ..." dans le premier clip ci-dessous)

Toutes les fiches techniques décentes auront des conditions de fonctionnement recommandées, qui sont celles que vous souhaitez utiliser plutôt que les valeurs maximales absolues. Pour la plupart des petits micros, 15-20mA est une condition de fonctionnement maximale typique.

Dans la fiche technique de votre uC, il donne un tableau montrant les tensions OH et OL sur courant, qui vont jusqu'à 20mA. Notez l'augmentation / la baisse de tension à 20mA et vous pouvez voir que le dépassement entraînera une baisse des niveaux de compatibilité OH et OL (exemple illustré pour une alimentation 5V - les choses sont différentes pour 3,3V et 1,8V)
Par exemple, vous pouvez voir à 25 ° C, la basse tension de sortie est d'environ 0,5 V à 20 mA (plus avec une température plus élevée)
Donc, je suppose que 20 mA max pour les sorties (à 5 V - voir les autres tableaux pour 3,3 V et 1,8 V). Prenez également note des petites notes sous les tableaux détaillant les valeurs d'entrée hi / lo garanties et les valeurs nominales combinées.

Abs Max 1

Abs Max 2

Abs Max 3

Décidez fondamentalement de vos conditions de fonctionnement (température, tension, etc.), lisez attentivement tous les tableaux et faites le calcul pour vous assurer de respecter les spécifications.

Si vous envisagez de piloter certains écrans LED, utilisez une puce de pilote appropriée ou ajoutez des transistors discrets sur chaque broche pour piloter la LED. À moins que vous n'utilisiez que quelques LED d'indicateur de courant faible, c'est généralement la voie à suivre.

Oli Glaser
la source
Oh, durr. Je me demandais pourquoi je ne pouvais pas trouver de conditions de fonctionnement recommandées, je suppose que je cherchais toutes les mauvaises choses.
helloworld922
1
+1 (+100 si c'était possible) pour indiquer que les maxima absolus ne sont PAS les valeurs de conception pour un fonctionnement normal!
Wouter van Ooijen
3

Remarque : Comme d'autres l'ont souligné, les cotes maximales absolues ne doivent jamais être intentionnellement approchées. Ils sont le point de défaillance connu de la puce. Cependant, ils fournissent un point de conception très utile pour comprendre à quelle distance vous êtes de ce maximum. Cette réponse se concentre sur la résolution de ce qui reste de ce problème de conception - à savoir, à quelle distance doit-on être de cette valeur maximale (et pourquoi).

Il y a deux gros problèmes à considérer lors du dimensionnement du courant de sortie dans des situations statiques : la sortie de tension et la sortie thermique.

Sortie de tension

Au fur et à mesure que vous augmentez le courant de sortie, la tension de sortie commencera à "échouer" (être supérieure à celle attendue pour une sortie "basse" et inférieure à celle attendue pour une sortie "haute") en raison de l'impédance de sortie finie du pilote de sortie de la broche GPIO . Cela, à son tour, perturbera le point Q de votre circuit connecté à la sortie.

Ceci est particulièrement intéressant dans le cas d'appareils hautement non linéaires comme les LED. Si vous modifiez un peu la tension que vous appliquez à une LED, la demande actuelle change beaucoup plus par rapport.

Cela conduit au principe général selon lequel vous voulez que la tension de sortie "erreur" ne dépasse pas 10% (pour faciliter votre vie de conception).

Afin d'aller n'importe où près des maximums absolus, vous devrez subir quelque chose comme> 60% d'erreur dans votre tension de sortie. En fait, les spécifications de votre MCU ne vous montrent même pas combien d'erreur il y aurait à ce niveau de sortie.

Vous obtiendrez quelque chose comme 1V sur une sortie "haute" d'un VCC 3V. Ce niveau n'est pas assez élevé pour signaler de manière fiable "élevé" à d'autres appareils (dans les systèmes numériques).

J'ai extrait ce chiffre de votre lien de fiche technique: entrez la description de l'image ici

Pour calculer la limite de courant (ici, étant donné Vcc = 3): 3 - 0,1 (3) = 2,7

À 2,7 V, la limite de courant nominal est de 8 mA, c'est-à-dire un peu moins que ce que vous attendiez de * 30 * mA environ ... ;-)

Une note intéressante de la physique des périphériques est que le côté n (côté bas) dans presque tous les pilotes de sortie CMOS que j'ai examinés est un peu plus fort que le côté haut de type p. En effet, les électrons (le porteur majoritaire dans les FET de type n) se déplacent environ deux fois plus facilement dans le canal que les trous (le porteur majoritaire dans les FET de type p). Pour compenser, les fabricants de puces doublent (environ) la taille du transistor de type p jusqu'à ce que les performances du pilote soient à peu près symétriques, mais le côté bas conserve généralement un léger (<10% d'avantage) malgré tout.

Ce cas ne fait pas exception ... entrez la description de l'image ici

Vous pouvez voir sur cette figure que 0 + 0,1 (3) = 0,3 V -> 9 mA, environ 10% de plus que le 8 mA précédemment.

Vous devez donc installer vos pointages LED dans votre puce si possible. Autrement dit, concevez-les de sorte que la sortie faible = LED allumée. Quelque chose comme ça:

entrez la description de l'image ici

Sortie thermique

Courants élevés dans le pilote de broche = chaleur (évidemment). Heat ++ -> catastrophe. Les circuits d'attaque GPIO sont généralement répartis uniformément sur la périphérie de la puce par nécessité géométrique (souvent, ils déterminent la taille minimale de la puce).

Dans le cas de cette puce Atmel (ATMEGA8, voir ci-dessous), elles le sont très certainement. Les circuits GPIO sont regroupés autour des sites de connexion de fils bleu foncé dans l'anneau cyan autour de la logique (sombre) et des zones de mémoire au centre.

entrez la description de l'image ici

Tout cela n'est qu'une estimation des limites et légèrement ondulé à la main, mais l'ingénierie consiste à faire avancer les choses, alors voilà ... ;-)

L'utilisation de broches voisines à des niveaux de courant élevés devrait entraîner au moins un déclassement linéaire.

Si vous supposez que la pièce distribue la chaleur à peu près également (hypothèse juste pour votre petite matrice), vous pouvez obtenir une approximation de premier ordre en travaillant à l'envers à partir de la valeur maximale absolue (40mA) et en supposant que la broche voisine partagera 100% de la charge de chaleur.

Cela signifie que si vous avez une sortie 40mA (ne le faites pas réellement), ses voisins immédiats devraient être à 0mA. Sortie 20mA -> voisins 10mA, etc ...

Si je l'ai expliqué assez bien, alors il devrait maintenant être clair que vous choisissez le minimum entre les deux méthodes.

DrFriedParts
la source
2

La page 199 vous donne ce que vous voulez savoir. Chaque broche peut en toute sécurité / source / puits recommandé 5/10/20 mA à 1,8 / 3 / 5v, sans trop de chute de tension (+ - 0,5v au courant recommandé). Courant max 40mA par broche, la chute de tension sera plus importante. Ne dépassez pas 60mA out ou in sur toutes les broches combinées à un moment donné. Les pages 218-220 donnent de jolis petits graphiques qui montrent la chute de tension par rapport à la sortie de courant.

Basse tension de sortie VOL (3)
IOL = 20mA, VCC = 5V 0.8v
IOL = 10mA, VCC = 3V 0.6v

Sortie VOH Haute tension (4)
IOH = -20mA, VCC = 5V 4.2v
IOH = -10mA, VCC = 3V 2.4v

  1. Bien que chaque port d'E / S puisse descendre plus que les conditions de test (20 mA à VCC = 5 V, 10 mA à VCC = 3 V) dans des conditions de régime permanent (non transitoire), les points suivants doivent être respectés: 1] La somme de tous La LIO, pour tous les ports, ne doit pas dépasser 60 mA. Si la LIO dépasse la condition de test, le VOL peut dépasser la spécification associée. Il n'est pas garanti que les broches absorbent un courant supérieur à la condition de test indiquée.
  2. Bien que chaque port d'E / S puisse générer plus que les conditions de test (20 mA à VCC = 5 V, 10 mA à VCC = 3 V) dans des conditions de régime permanent (non transitoire), les points suivants doivent être respectés: 1] La somme de tous IOH, pour tous les ports, ne doit pas dépasser 60 mA. Si IOH dépasse la condition de test, VOH peut dépasser la spécification associée. Les broches ne sont pas garanties de fournir un courant supérieur à la condition de test répertoriée.
Passant
la source