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?
arduino
serial
protection
gps
aloishis89
quelle
quelle
Antworten:
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.
quelle
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.
quelle
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.
quelle
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 ...
quelle
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,
quelle
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.
quelle