Resistores em série com Tx e Rx


10

Estou criando minha própria placa e usando um ATmega 328 com o gerenciador de inicialização Arduino. Eu tenho um comutador DIP para selecionar um chip FTDI (para programação) a ser conectado aos Rx e Tx do ATMega ou um GPS que emita a série a ser conectada. Eu estava olhando para este esquema para referência: http://arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf

Por que existem 2 resistores em Rx e Tx provenientes do ATMega? Preciso deles apenas para a conexão com o chip FTDI, ou eles também precisam estar presentes no GPS?


Eu diria que eles foram projetados para serem resistores de terminação, mas se você tiver impedância de 1K em um rastreamento de PCB, terá problemas maiores.
drxzcl

11
Por que não perguntar às pessoas que o projetaram?
endolith

Respostas:


10

Um deles está lá para evitar danos que podem ocorrer se o AVR tiver o RxD programado como saída, os pinos nos dois dispositivos podem ser danificados se isso acontecer, pois os pinos do AVR podem gerar e consumir muita corrente. Eu não acho que o outro resistor seja necessário.


Se você deseja adicionar hardware para compensar possíveis erros de firmware, a lista nunca termina. Não sei muito sobre os AVRs, mas a maioria dos microcontroladores acorda com pinos em estado de alta impedância exatamente por esse motivo. Os pinos gerais não se tornam saídas até que o firmware os faça explicitamente. Às vezes, hardware extra para lidar com possíveis erros faz sentido em protótipos, mas para produtos de alto volume com firmware testado, isso é apenas um desperdício. A maioria das saídas digitais sobreviverá bem quando congestionadas, embora eu não faça isso de propósito.
precisa

8
O Arduino é geralmente usado por pessoas como estudantes de arte e design, daí a necessidade de salvaguardas como essa. O OP não deve precisar de resistores lá.
amigos estão dizendo sobre leon

11
Eu acho que pode ser possível definir o Rx no FT232 como uma saída, no modo bit-bang.
Connor Lobo

2
@Olin Reutilizar o pino como um pino de saída é bastante comum, sendo capaz de usá-lo tanto para programação quanto para E / S geral. PORTD é a única porta completa de 8 bits com a qual você tem no arduino, portanto a reutilização das linhas tx / rx é tarifa padrão se você não precisar falar serial durante a operação normal.
John Meacham

5

Não parece que haja uma boa razão para esses resistores. Ambas as partes nesse esquema parecem funcionar em 5V com um terreno comum. Não deve haver necessidade de resistores nas linhas entre os dois chips.

Se as linhas estavam saindo do circuito, pode haver algum motivo para colocar os resistores em série para proteger as peças integradas, mas isso não parece ser o que está acontecendo nesse esquema.

Lembre-se de que este é um esquema do Arduino. Isso significa que há uma boa chance de quem o projetou não fazer isso profissionalmente. Existem muitas superstições por aí. Só porque algo está na rede não significa que está sendo feito corretamente.


6
O Arduino é especificamente destinado a pessoas que são novas nisso. Portanto, projetar o hardware para tolerar erros de software que possam causar conflitos de barramento é senso comum. Eu posso ver uma boa razão para os resistores - as pessoas podem definir acidentalmente as linhas TX / RX para saídas quando não deveriam.
Connor Lobo

Existem boas razões para os resistores estarem lá, verifique as outras respostas.
Marcelo

5

Esta é uma pergunta antiga e já respondida, mas não encontrei em nenhuma das respostas uma das boas e possivelmente uma das razões mais importantes para os resistores estarem lá.

Embora a maioria das pessoas use o RX / TX apenas para conectar o Arduino aos seus PCs para programar o chip e / ou executar a depuração serial, outras usam os pinos RX / TX do Arduino para comunicá-lo com outros dispositivos seriais. Nesse caso, o chip FTDI e este outro dispositivo entrariam em conflito e é muito provável que danifique ambos devido a curto-circuito. Esses resistores "separam" o FTDI do outro dispositivo quando houver um conectado aos pinos do AVR RX / TX, protegendo ambos e permitindo que sejam conectados e conectados simultaneamente.

É importante lembrar que, uma vez que outro dispositivo serial seja conectado aos pinos RX / TX do Arduino, os resistores mascararão os níveis lógicos do FTDI de maneira semelhante ao que ocorre com os resistores pullup / pulldown, portanto, o dispositivo externo tenha "preferência" sobre a comunicação FTDI.


11
isto é exatamente o que eu queria responder, e é muito preciso, pois já procurei esse assunto antes.
elétrons


4

Isso poderia ser feito para impedir que o outro dispositivo fora da placa ligue o Atmel quando este estiver desligado. Devido à corrente que corre através dos diodos de fixação internos do Atmel ...


Bem-vindo ao EE.SE! Geralmente, aconselhamos os usuários a não responderem perguntas antigas, a menos que a pergunta seja credível e não tenha uma resposta. Dito isto, esta pergunta específica tem mais de três anos e tem uma resposta aceita. No futuro, tente não responder a perguntas mais antigas, pois ele coloca a pergunta no topo do feed de perguntas na primeira página e dá uma aparência confusa ao EE.SE. Obrigado!
precisa saber é o seguinte

2
@ Funkyguy, a resposta aceita é, embora não seja uma observação falsa, provavelmente não é a verdadeira razão.
Chris Stratton

2

A adição de um resistor em série de pequeno valor (aproximadamente 100 ohms) a um sinal que está saindo do circuito pode reduzir as emissões de RF. Os resistores no esquema ilustrado não parecem bem posicionados para isso, no entanto. Outro uso para resistores é como um mux realmente barato. Se o chip FTDI tentar acionar o pino RX do Arduino e nada no cabeçalho tentar, o chip FTDI "vencerá", mas se algo no cabeçalho tentar acionar esse pino sem um resistor em série, o dispositivo no cabeçalho " ganhar". Isso pode explicar alguma utilidade para o resistor no pino RX do Arduino. Porém, não tenho certeza de qual propósito o TX serve, a menos que exista outra conexão externa para o fio "TX" conectado ao pino RX do FTDI e não o esteja vendo (se houver uma conexão externa,


2

Eu já vi resistores de 100 ohm em barramentos I2C e UART antes, eles geralmente são para proteção contra ESD. Eles trabalham em conjunto com os diodos de fixação integrados no MCU.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.