Résistances en série avec Tx et Rx

10

Je fais ma propre carte et j'utilise un ATmega 328 avec le chargeur de démarrage Arduino. J'ai un commutateur DIP pour sélectionner soit une puce FTDI (pour la programmation) à connecter aux Rx et Tx de l'ATMega, soit un GPS qui produit des sorties série à connecter. Je regardais ce schéma pour référence: http://arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf

Pourquoi y a-t-il 2 résistances sur Rx et Tx provenant de l'ATMega? Ai-je besoin de ces informations uniquement pour la connexion à la puce FTDI, ou doit-il également être présent pour le GPS?

aloishis89
la source
Je dirais qu'ils étaient destinés à être des résistances de terminaison, mais si vous avez une impédance de 1K sur une trace PCB, vous avez des problèmes plus importants.
drxzcl
1
Pourquoi ne pas demander aux personnes qui l'ont conçu?
endolith

Réponses:

10

L'un d'eux est là pour éviter les dommages qui pourraient se produire si l'AVR a programmé RxD en sortie, les broches des deux appareils pourraient être endommagées si cela se produisait car les broches de l'AVR peuvent générer et absorber beaucoup de courant. Je ne pense pas que l'autre résistance soit nécessaire.

Leon Heller
la source
Si vous allez ajouter du matériel pour compenser d'éventuels bogues du micrologiciel, la liste ne se termine jamais. Je ne connais pas grand-chose aux AVR, mais la plupart des microcontrôleurs se réveillent avec des broches à haute impédance pour cette raison. Les broches générales ne deviennent des sorties que lorsque le micrologiciel le fait explicitement. Parfois, du matériel supplémentaire pour faire face aux bogues probables est logique dans les prototypes, mais pour les produits à volume élevé avec un firmware testé, ce n'est qu'un gaspillage. La plupart des sorties numériques survivront bien lorsqu'elles sont coincées ensemble, bien que je ne le fasse pas exprès.
Olin Lathrop
8
L'Arduino est généralement utilisé par des gens comme les étudiants en art et en design, d'où la nécessité de telles protections. L'OP ne devrait pas avoir besoin de résistances là-bas.
Leon Heller
1
Je pense qu'il peut être possible de régler le Rx sur le FT232 en sortie, en mode bit-bang.
Connor Wolf
2
@Olin La réaffectation de la broche comme broche de sortie est assez courante, pouvoir l'utiliser à la fois pour la programmation et les E / S générales est une fonctionnalité. PORTD est le seul port 8 bits complet que vous avez sur l'arduino pour jouer, donc la réutilisation des lignes tx / rx est un tarif standard si vous n'avez pas besoin de parler en série pendant le fonctionnement normal.
John Meacham
5

Il ne semble pas y avoir de bonne raison pour ces résistances. Les deux parties de ce schéma semblent fonctionner sur 5V avec une masse commune. Il ne devrait pas y avoir besoin de résistances dans les lignes entre les deux puces.

Si les lignes se détachaient, il pourrait être utile de mettre des résistances en série pour protéger les pièces embarquées, mais cela ne semble pas être ce qui se passe dans ce schéma.

Gardez à l'esprit qu'il s'agit d'un schéma Arduino. Cela signifie qu'il y a de fortes chances que celui qui l'a conçu ne le fasse pas professionnellement. Il y a beaucoup de superstitions. Ce n'est pas parce que quelque chose est sur le net que c'est bien fait.

Olin Lathrop
la source
6
Arduino est spécifiquement destiné aux personnes qui sont nouvelles dans ce domaine. Par conséquent, la conception du matériel pour qu'il tolère les erreurs logicielles susceptibles de provoquer des conflits de bus relève du bon sens. Je peux voir une très bonne raison pour les résistances - Les gens pourraient accidentellement régler les lignes TX / RX sur des sorties alors qu'elles ne devraient pas l'être.
Connor Wolf
Il y a de bonnes raisons pour que les résistances soient là, veuillez vérifier les autres réponses.
Marcelo
5

C'est une vieille question à laquelle on a déjà répondu, mais je n'ai trouvé dans aucune des réponses l'une des bonnes et peut-être l'une des raisons les plus importantes pour que les résistances soient là.

Bien que la plupart des gens utilisent le RX / TX uniquement pour connecter l'Arduino à leur PC pour programmer la puce et / ou effectuer un débogage série, d'autres utilisent les broches RX / TX de l'Arduino pour le communiquer avec d'autres périphériques série. Dans ce cas, la puce FTDI et cet autre appareil entreraient en conflit et il est très probable que cela endommagera les deux en raison d'un court-circuit. Ces résistances "séparent" le FTDI de l'autre appareil lorsqu'il y en a un connecté aux broches AVR RX / TX, protégeant les deux et leur permettant d'être câblés et connectés simultanément.

Une chose à retenir est qu'une fois qu'un autre périphérique série est connecté aux broches RX / TX d'Arduino, les résistances masquent les niveaux logiques du FTDI d'une manière similaire à celle des résistances pullup / pulldown, donc le périphérique externe avoir une «préférence» sur la communication FTDI.

Marcelo
la source
1
c'est exactement ce à quoi je voulais répondre, et c'est très précis puisque j'ai déjà cherché ce sujet.
ElectronS
Tu veux dire comme cela? electronics.stackexchange.com/questions/77562/…
Passant
4

Cela peut être fait pour empêcher que l'autre périphérique hors tension alimente l'Atmel lorsqu'il est hors tension. En raison du courant qui passe par les diodes de serrage internes de l'Atmel ...

user57449
la source
Bienvenue à EE.SE! Généralement, nous conseillons aux utilisateurs de s'abstenir de répondre aux anciennes questions, sauf si la question est crédible et n'a pas de réponse. Cela dit, cette question spécifique a plus de trois ans et a une réponse acceptée. À l'avenir, essayez de vous abstenir de répondre à des questions plus anciennes, car cela place la question en haut du fil de questions sur la première page et donne un aspect désordonné à EE.SE. Merci!
Funkyguy
2
@Funkyguy la réponse acceptée n'est pas une observation fausse, mais probablement pas la vraie raison.
Chris Stratton
2

L'ajout d'une résistance série de petite valeur (100 ohms environ) sur un signal qui est hors-bord peut réduire les émissions RF. Cependant, les résistances sur le schéma illustré ne semblent pas bien placées pour cela. Une autre utilisation des résistances est un multiplexeur vraiment bon marché. Si la puce FTDI essaie de piloter la broche RX de l'Arduino et que rien sur l'en-tête n'essaie, la puce FTDI "gagnera", mais si quelque chose sur l'en-tête essaie de piloter cette broche sans résistance série, le dispositif sur l'en-tête " gagner". Cela pourrait expliquer une certaine utilité pour la résistance sur la broche RX de l'Arduino. Je ne sais pas à quoi sert celui sur TX, cependant, à moins qu'il n'y ait une autre connexion externe pour le fil "TX" qui est câblé à la broche RX du FTDI et que je ne le vois tout simplement pas (s'il y avait une telle connexion externe,

supercat
la source
2

J'ai déjà vu des résistances de 100 ohms sur les bus I2C et UART, elles sont souvent destinées à la protection ESD. Ils fonctionnent en conjonction avec les diodes de serrage intégrées dans le MCU.

Thomas O
la source