Puxe os resistores no UART


16

Eu estava passando por uma nota de aplicativo AN2606 onde me deparei com este diagrama de conexão:

insira a descrição da imagem aqui

De acordo com meu conhecimento, o UART é do tipo push-pull e o Tx fornece o pull-up necessário e, portanto, não precisamos usar nenhum pull-up externo. Estou faltando alguma coisa aqui?


11
Quando o UART está ocioso, as duas linhas são altas. O bit inicial no UART é a primeira transição Alto para Baixo da linha. Portanto, eles são puxados para cima.
— Swanand

@ swanand - Isso é o que eu pensava. Eu estou querendo saber por que esta nota do aplicativo recomendaria pull ups.
— Whiskeyjack

11
Provavelmente para garantir certos requisitos, como que de alta antes das micro extremidades seus tempos de ciclo de energia ou aumento são rápidos o suficiente ...
— zakkos

11
Eu usei o UART várias vezes no STM32s e não tive pullups, apesar de admitir que não era para o gerenciador de inicialização, então @zakkos pode estar certo. Veja também a nota abaixo do esquema - só é necessário se o host não possui um pull up próprio, portanto parece ainda mais provável que ele esteja lá para garantir algum requisito para o estado da linha.
— Jan Dorniak

2
@swanand - o que eu quis dizer foi - pinos UART são puxados por conta própria. Não devemos precisar de flexões externas, como mostrado na imagem. Os pinos Tx são responsáveis ​​por acionar a linha HIGH sem a necessidade de resistores externos. A resposta de Tony explica a exigência desses resistores. :)
— Whiskeyjack 22/11

Respostas:


17

Enquanto o microcontrolador estiver em redefinição, seus pinos de E / S serão configurados como entradas de alta impedância. Portanto, o pino usado para os dados de transmissão em série UART (TXD) estará flutuando durante esse período. Isso pode causar ruído, causando a transmissão de lixo pelo driver da linha RS232.

Alguns CIs de driver de linha têm resistores de pull-up internos nos pinos de entrada do lado TTL / LVTTL para evitar isso e produzir um estado ocioso RS232. Caso contrário, um resistor de pull-up pode ser adicionado.

Um resistor pull-up no pino de entrada de dados de recepção serial UART (RXD) não é necessário porque o receptor de linha RS232 está sempre conduzindo esse pino.

Observe que o período de redefinição geralmente é um tempo relativamente longo e que quaisquer pinos de E / S usados ​​como pinos de saída são propensos a esse problema e devem ser considerados para um resistor de pull-up ou pull-down.


11
Sobre o RXD, se o lado do host não possuir pull-up no pino 'TXD', o pino 'RXD' no lado escravo (lado do STM32) também poderá precisar de pull-up.
— precisa saber é o seguinte
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.