Resistori in serie con Tx e Rx


10

Sto creando la mia scheda e sto usando un ATmega 328 con il bootloader Arduino. Ho un DIP switch per selezionare un chip FTDI (per la programmazione) da collegare a ATMega Rx e Tx, o un GPS che emette seriale da collegare. Stavo guardando questo schema per riferimento: http://arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf

Perché ci sono 2 resistori su Rx e Tx provenienti da ATMega? Ho bisogno di quelli solo per la connessione al chip FTDI o devono essere presenti anche per il GPS?


Direi che dovevano essere resistori di terminazione, ma se si ha impedenza di 1K su una traccia PCB, si hanno problemi più grandi.
drxzcl,

1
Perché non chiedere alle persone che l'hanno progettato?
endolith,

Risposte:


10

Uno di questi è lì per prevenire danni che potrebbero verificarsi se l'AVR ha RxD programmato come uscita, i pin su entrambi i dispositivi potrebbero essere danneggiati se ciò accadesse poiché i pin AVR possono procurarsi e assorbire molta corrente. Non penso che l'altro resistore sia necessario.


Se hai intenzione di aggiungere hardware per compensare possibili bug del firmware, l'elenco non finisce mai. Non so molto sugli AVR, ma la maggior parte dei microcontrollori si sveglia con pin in stato di alta impedenza proprio per questo motivo. I pin generali non diventano output finché il firmware non li rende esplicitamente tali. A volte hardware aggiuntivo per gestire probabili bug ha senso nei prototipi, ma per prodotti ad alto volume con firmware testato questo è solo uno spreco. La maggior parte delle uscite digitali sopravviverà bene se bloccate insieme, anche se non lo farei di proposito.
Olin Lathrop,

8
L'Arduino è generalmente utilizzato da persone come studenti di arte e design, da cui la necessità di salvaguardie del genere. L'OP non dovrebbe aver bisogno di resistori lì.
Leon Heller,

1
Penso che potrebbe essere possibile impostare Rx su FT232 come uscita, in modalità bit-bang.
Connor Wolf,

2
@Olin Riutilizzare il pin come pin di uscita è abbastanza comune, essere in grado di usarlo sia per la programmazione che per l'IO generale è una caratteristica. PORTD è l'unica porta completa a 8 bit che hai sull'arduino con cui giocare, quindi riutilizzare le linee tx / rx è una tariffa standard se non hai bisogno di parlare in serie durante il normale funzionamento.
John Meacham,

5

Non sembra che ci siano buone ragioni per quei resistori. Entrambe le parti su quello schema sembrano funzionare a 5 V con una terra comune. Non dovrebbero essere necessari resistori nelle linee tra i due chip.

Se le linee fossero fuori bordo, allora potrebbe essere utile mettere in serie resistori per proteggere le parti di bordo, ma non sembra essere ciò che sta accadendo in quello schema.

Tieni presente che questo è uno schema di Arduino. Ciò significa che c'è una buona probabilità che chiunque l'abbia progettato non lo faccia professionalmente. Ci sono molte superstizioni là fuori. Solo perché qualcosa è in rete non significa che sia fatto bene.


6
Arduino è specificamente progettato per le persone che non conoscono questo aspetto. Pertanto, progettare l'hardware come errori software tolleranti che potrebbero causare conflitti di bus è di buon senso. Vedo un ottimo motivo per i resistori: le persone potrebbero accidentalmente impostare le linee TX / RX sulle uscite quando non dovrebbero esserlo.
Connor Wolf,

Ci sono buone ragioni per cui i resistori devono essere lì, per favore controlla le altre risposte.
Marcelo,

5

Questa è una domanda vecchia e già risposta, ma non ho trovato in nessuna delle risposte una delle buone e forse una delle ragioni più importanti per cui i resistori devono essere lì.

Sebbene la maggior parte delle persone utilizzi l'RX / TX solo per collegare Arduino ai propri PC per programmare il chip e / o eseguire il debug seriale, altri usano i pin RX / TX dell'Arduino per comunicarlo con altri dispositivi seriali. In questo caso, il chip FTDI e questo altro dispositivo sarebbero in conflitto ed è molto probabile che danneggino entrambi a causa di cortocircuiti. Queste resistenze "separano" l'FTDI dall'altro dispositivo quando ce n'è uno collegato ai pin AVR RX / TX, proteggendo entrambi e consentendo loro di essere cablati e collegati contemporaneamente.

Una cosa da ricordare è che, una volta collegato un altro dispositivo seriale ai pin RX / TX di Arduino, i resistori maschereranno i livelli logici dall'FTDI in un modo simile a quello dei resistori pullup / pulldown, quindi il dispositivo esterno avere "preferenza" rispetto alla comunicazione FTDI.


1
questo è esattamente ciò a cui volevo rispondere ed è molto preciso da quando ho cercato prima questo argomento.
ElectronS,


4

Si potrebbe fare per evitare che l'altro dispositivo esterno offra l'Atmel quando è spento. A causa della corrente che scorre attraverso i diodi a pinza interni dell'Atmel ...


Benvenuto in EE.SE! Generalmente consigliamo agli utenti di astenersi dal rispondere a vecchie domande a meno che la domanda non sia credibile e non abbia una risposta. Detto questo, questa domanda specifica ha più di tre anni e ha una risposta accettata. In futuro, cerca di astenersi dal rispondere alle domande più vecchie poiché porta la domanda in cima al feed delle domande in prima pagina e dà un aspetto disordinato a EE.SE. Grazie!
Funkyguy,

2
@Funkyguy la risposta accettata è, sebbene non un'osservazione falsa, probabilmente non la vera ragione.
Chris Stratton,

2

L'aggiunta di un resistore serie di piccolo valore (circa 100 ohm) su un segnale che sta andando fuori scheda può ridurre le emissioni RF. Tuttavia, i resistori sullo schema illustrato non sembrano ben posizionati. Un altro uso dei resistori è un mux davvero economico. Se il chip FTDI tenta di pilotare il pin RX dell'Arduino e nulla sull'intestazione tenta di farlo, il chip FTDI "vincerà", ma se qualcosa sull'intestazione tenta di pilotare quel pin senza un resistore in serie, il dispositivo sull'intestazione lo farà " vincere". Ciò potrebbe spiegare una certa utilità per il resistore sul pin RX dell'Arduino. Non sono sicuro dello scopo di quello su TX, tuttavia, a meno che non ci sia un'altra connessione esterna per il filo "TX" che è cablato al pin RX dell'FTDI e non la vedo (se c'era una connessione esterna,


2

Ho già visto resistori da 100 ohm su bus I2C e UART, spesso per la protezione ESD. Funzionano in combinazione con i diodi clamp integrati nell'MCU.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.