Widerstände in Reihe mit Tx und Rx

10

Ich mache mein eigenes Board und benutze einen ATmega 328 mit dem Arduino Bootloader. Ich habe einen DIP-Schalter, um entweder einen FTDI-Chip (für die Programmierung) auszuwählen, der an den Rx und Tx des ATMega angeschlossen werden soll, oder ein GPS, das seriell ausgibt, um angeschlossen zu werden. Ich habe mir diesen Schaltplan als Referenz angesehen: http://arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf

Warum kommen 2 Widerstände an Rx und Tx vom ATMega? Benötige ich diese nur für den Anschluss an den FTDI-Chip oder müssen sie auch für das GPS vorhanden sein?

aloishis89
quelle
Ich würde sagen, dass sie als Abschlusswiderstände gedacht waren, aber wenn Sie eine 1K-Impedanz auf einer Leiterplattenspur haben, haben Sie größere Probleme.
drxzcl
1
Warum nicht die Leute fragen, die es entworfen haben?
Endolith

Antworten:

10

Eine davon dient dazu, Schäden zu vermeiden, die auftreten können, wenn der AVR RxD als Ausgang programmiert hat. In diesem Fall können die Pins beider Geräte beschädigt werden, da die AVR-Pins viel Strom liefern und aufnehmen können. Ich denke nicht, dass der andere Widerstand notwendig ist.

Leon Heller
quelle
Wenn Sie Hardware hinzufügen, um mögliche Firmware-Fehler zu kompensieren, endet die Liste nie. Ich weiß nicht viel über AVRs, aber die meisten Mikrocontroller wachen aus genau diesem Grund mit Stiften im hochohmigen Zustand auf. Allgemeine Pins werden erst dann zu Ausgaben, wenn die Firmware dies ausdrücklich vorschreibt. Manchmal ist zusätzliche Hardware zur Behebung wahrscheinlicher Fehler in Prototypen sinnvoll, aber für großvolumige Produkte mit getesteter Firmware ist dies nur eine Verschwendung. Die meisten digitalen Ausgänge überleben gut, wenn sie zusammengeklemmt werden, obwohl ich dies nicht absichtlich tun würde.
Olin Lathrop
8
Das Arduino wird im Allgemeinen von Leuten wie Kunst- und Designstudenten verwendet, weshalb solche Sicherheitsvorkehrungen erforderlich sind. Das OP sollte dort keine Widerstände benötigen.
Leon Heller
1
Ich denke , es kann möglich sein , die Rx auf der FT232 als Ausgang, in Bit-Bang - Modus einzustellen.
Connor Wolf
2
@Olin Die Verwendung des Pins als Ausgangs-Pin ist weit verbreitet. Es ist eine Funktion, ihn sowohl für die Programmierung als auch für allgemeine E / A-Vorgänge verwenden zu können. PORTD ist der einzige vollständige 8-Bit-Port, mit dem Sie auf dem Arduino spielen können. Die Wiederverwendung der TX / RX-Leitungen ist daher Standard, wenn Sie während des normalen Betriebs nicht seriell sprechen müssen.
John Meacham
5

Es sieht nicht so aus, als gäbe es einen guten Grund für diese Widerstände. Beide Teile dieses Schaltplans scheinen mit 5 V und einer gemeinsamen Masse zu betrieben zu werden. In den Leitungen zwischen den beiden Chips sollten keine Widerstände erforderlich sein.

Wenn die Leitungen nicht an Bord gehen, könnte es sinnvoll sein, Widerstände in Reihe zu schalten, um die integrierten Teile zu schützen, aber das scheint nicht das zu sein, was in diesem Schaltplan passiert.

Denken Sie daran, dass dies ein Arduino-Schema ist. Das heißt, es besteht eine gute Chance, dass derjenige, der es entworfen hat, dies nicht professionell macht. Es gibt viele Aberglauben da draußen. Nur weil etwas im Netz ist, heißt das nicht, dass es richtig gemacht wurde.

Olin Lathrop
quelle
6
Arduino ist speziell für Leute gedacht, die neu in diesem Bereich sind. Daher ist es vernünftig, die Hardware so zu gestalten, dass sie tolerante Softwarefehler aufweist, die Buskonflikte verursachen können. Ich sehe einen sehr guten Grund für die Widerstände - Menschen könnten versehentlich die TX / RX-Leitungen auf Ausgänge einstellen, wenn dies nicht der Fall sein sollte.
Connor Wolf
Es gibt gute Gründe, warum die Widerstände da sind. Bitte überprüfen Sie die anderen Antworten.
Marcelo
5

Dies ist eine alte und bereits beantwortete Frage, aber ich habe in keiner der Antworten einen der guten und möglicherweise einen der wichtigsten Gründe dafür gefunden, dass die Widerstände da sind.

Obwohl die meisten Benutzer den RX / TX nur verwenden, um den Arduino mit ihren PCs zu verbinden, um den Chip zu programmieren und / oder serielles Debugging durchzuführen, verwenden andere die RX / TX-Pins des Arduino, um ihn mit anderen seriellen Geräten zu kommunizieren. In diesem Fall würden der FTDI-Chip und dieses andere Gerät in Konflikt geraten, und es ist sehr wahrscheinlich, dass beide aufgrund eines Kurzschlusses beschädigt werden. Diese Widerstände "trennen" den FTDI vom anderen Gerät, wenn einer an die AVR RX / TX-Pins angeschlossen ist, schützen beide und ermöglichen die gleichzeitige Verdrahtung und Verbindung.

Beachten Sie, dass die Widerstände, sobald ein anderes serielles Gerät an die RX / TX-Pins von Arduino angeschlossen ist, die logischen Pegel des FTDI auf ähnliche Weise maskieren, wie dies bei Pullup- / Pulldown-Widerständen der Fall ist haben "Präferenz" gegenüber der FTDI-Kommunikation.

Marcelo
quelle
1
Dies ist genau das, was ich beantworten wollte, und es ist sehr genau, da ich zuvor nach diesem Thema gesucht habe.
ElectronS
4

Dies kann getan werden, um zu verhindern, dass das andere Off-Board-Gerät den Atmel beim Ausschalten mit Strom versorgt. Aufgrund des Stroms, der über die internen Klemmdioden des Atmel fließt ...

user57449
quelle
Willkommen bei EE.SE! Im Allgemeinen raten wir Benutzern, alte Fragen nicht zu beantworten, es sei denn, die Frage ist glaubwürdig und hat keine Antwort. Trotzdem ist diese spezielle Frage über drei Jahre alt und hat eine akzeptierte Antwort. Bitte versuchen Sie in Zukunft, ältere Fragen nicht zu beantworten, da dies die Frage an den Anfang des Fragen-Feeds auf der Startseite bringt und EE.SE einen unordentlichen Blick verleiht. Vielen Dank!
Funkyguy
2
@Funkyguy Die akzeptierte Antwort ist zwar keine unwahre Beobachtung, aber wahrscheinlich nicht der wahre Grund.
Chris Stratton
2

Das Hinzufügen eines kleinen Vorwiderstands (ca. 100 Ohm) zu einem Signal, das nicht an Bord ist, kann die HF-Emissionen reduzieren. Die Widerstände auf dem abgebildeten Schaltplan scheinen dafür jedoch nicht gut aufgestellt zu sein. Eine andere Verwendung für Widerstände ist als wirklich billiger Mux. Wenn der FTDI-Chip versucht, den RX-Pin des Arduino anzusteuern, und nichts im Header versucht, "gewinnt" der FTDI-Chip, aber wenn etwas im Header versucht, diesen Pin ohne Vorwiderstand anzusteuern, wird das Gerät im Header " Sieg". Dies könnte einige Nützlichkeit für den Widerstand am RX-Pin des Arduino erklären. Ich bin mir nicht sicher, welchen Zweck der auf TX hat, es sei denn, es gibt eine andere externe Verbindung für das "TX" -Kabel, das mit dem RX-Pin des FTDI verbunden ist, und ich sehe es einfach nicht (wenn es eine solche externe Verbindung gab,

Superkatze
quelle
2

Ich habe schon 100-Ohm-Widerstände an I2C- und UART-Bussen gesehen, sie dienen häufig dem ESD-Schutz. Sie arbeiten in Verbindung mit den in der MCU eingebauten Klemmdioden.

Thomas O.
quelle