Quelles valeurs de résistance et de condensateur utiliser pour l'isolement des broches de réinitialisation de l'AVR?

15

Contexte...

Je suis novice dans les applications AVR. J'ai récemment construit deux circuits basés sur ATTINY13 (clignotants LED glorifiés) qui fonctionnaient correctement (indépendamment) sur la planche à pain. Quand je les ai combinés sur une carte à souder avec une alimentation partagée, les choses ont mal tourné. Après de nombreuses recherches, il est apparu qu'ils se réinitialisaient constamment.

J'avais laissé la broche 1 (réinitialisation) de chaque micro non connecté. J'ai recherché des moyens appropriés de gérer la broche de réinitialisation et à partir de cela, j'ai implémenté les éléments suivants:

  1. Ajout d'un condensateur électrolytique de 100 uF en parallèle avec l'alimentation pour aider à tout courant potentiel, l'alimentation serait trop "lente" à gérer.

  2. Ajout d'une résistance de 4,7 K de VCCàRESET

  3. Ajout d'un condensateur céramique 0,1 uF de GNDàRESET

Ces étapes ont résolu complètement le problème.

La question:

La page que j'ai liée ci-dessus fournit des conseils lorsque je fais du FAI (programmation dans le système) que je ne fais pas (encore). (Je programme les micros séparément sans qu'aucun autre composant ne leur soit connecté.)

J'ai vu plusieurs valeurs différentes de condensateur (10nF, 0,1uF, etc.) et de résistance (4.7K, 10K, etc.) et je ne sais pas quels facteurs modifient ces valeurs. Quelqu'un peut-il nous expliquer comment fonctionne la réinitialisation de l'isolement des broches et comment calculer les valeurs des composants à utiliser? Pouvez-vous expliquer quelles valeurs utiliser s'il n'y a pas d'en-tête de programmation dans le système?

Schéma d'isolement des broches de réinitialisation de l'AVR

JYelton
la source

Réponses:

15

Atmel AVR042: Les considérations de conception matérielle de l'AVR nous indiquent que le condensateur sur la broche de réinitialisation n'est pas nécessaire. Personnellement, je pense que c'est exagéré. Il n'y a aucune raison pour que vous continuiez à créer des dizaines de circuits AVR, chacun avec ce condensateur redondant.

Quant à la résistance de rappel de réinitialisation:

La ligne de réinitialisation possède une résistance de rappel interne, mais si l'environnement est bruyant, elle peut être insuffisante et la réinitialisation peut donc se produire de manière sporadique. Reportez-vous à la fiche technique pour connaître la valeur de la résistance de rappel sur des appareils spécifiques. La connexion du RESET afin qu'il soit possible d'entrer à la fois dans la programmation haute tension et dans la réinitialisation ordinaire de bas niveau peut être obtenue en appliquant une résistance de rappel à la ligne RESET. Cette résistance de pull-up s'assure que la réinitialisation ne va pas bas involontairement. La résistance de pull-up peut en théorie être de n'importe quelle taille, mais si l'Atmel®AVR® doit être programmé à partir de STK500 / AVRISP par exemple, le pull-up ne doit pas être si fort que le programmeur ne peut pas activer RESET en tirant la ligne RESET vers le bas. La résistance de rappel recommandée est de 4,7 kΩou plus lorsque vous utilisez STK500 pour la programmation. Pour que debugWIRE fonctionne correctement, le pull-up ne doit pas être inférieur à 10kΩ.

Si vous jetez un coup d'œil aux produits professionnels qui incorporent les micros AVR, tels que l'Arduino, ses nombreux clones, des dizaines de kits de développement, vous constaterez que la plupart utilisent une résistance de 4,7 kΩ ou 10 kΩ.

Et en particulier pour votre ATtiny13, sa fiche technique spécifie que le pullup devrait idéalement s'étendre [20kΩ, 80kΩ].

Jonny B Good
la source
1
20k à 80k, ou 20k divisé par 80k? :)
JYelton
Merci pour le lien Considération sur la conception matérielle Je n'étais pas au courant de ce document!
JYelton
Haha, j'ai utilisé ce signe parce que tout le monde utilise le signe moins. La résistance négative n'aurait aucun sens non plus :)
Jonny B Good
Je vois généralement le tilde (~) signifier «à travers» mais aussi «approximatif». Je suppose que cela dépend du contexte. Merci d'avoir souligné que la fiche technique répertorie la résistance de rappel de réinitialisation, je ne m'étais pas rendu compte qu'elle inclurait ces informations. La fiche technique que j'ai montre que la résistance de pull-up pour la broche de réinitialisation se situe entre 30k et 80k. Au moins, je sais où chercher maintenant. Merci!
JYelton
4
20kΩ80kΩ
7

J'utilise toujours juste une résistance de rappel de 10k à Vcc sur la broche / Reset et je n'ai jamais eu de problème. C'est aussi généralement une bonne idée d'inclure un condensateur 100nF près de la broche Vcc entre Vcc et GND pour un fonctionnement stable de la puce. À mon avis, le condensateur sur la broche de réinitialisation n'est pas nécessaire, c'est-à-dire que je n'en ai jamais inclus un dans un circuit AVR que j'ai développé (et j'en ai beaucoup développé) et cela ne m'a jamais causé de peine.

vicatcu
la source
Pouvez-vous expliquer (ou indiquer un bon tutoriel pour les débutants) comment ces minuscules condensateurs aident en plus ou à la place d'un électrolytique plus grand parallèle à l'alimentation?
JYelton
1
il traite des "fréquences d'ondulation" et peut être un sujet plus compliqué qu'il n'y paraît, mais au minimum 100nF est une pratique standard acceptée pour les condensateurs de dérivation. Voici un (parmi de nombreux) articles de référence qui pourraient être intéressants: seattlerobotics.org/encoder/jun97/basics.html . Vous pouvez également trouver des articles connexes sur ce site en recherchant «bypass» ou «
decoupling
Les grands condensateurs électrolytiques gèrent les basses fréquences, mais sont inefficaces aux hautes fréquences. Les petits condensateurs en céramique (0,1 uF) gèrent les hautes fréquences, mais sont inefficaces aux basses fréquences.
Technophile
Donc, utilisez les deux, l'approvisionnement devrait en avoir un gros de toute façon et avoir le petit localement. L'induction et HF peuvent être un problème, mais à l'extrême. Il est intéressant de noter que les considérations HSVP n'ont pas de diode en série avec cette résistance de broche de réinitialisation.
mckenzm