Comprimento máximo do cabo para sinais UART de 3,3V

15

Gostaria de evitar o uso de conversores RS-232 entre dois microcontroladores em duas placas diferentes. Por várias razões, apenas UARTs são suportados, por exemplo, nenhum SPI ou I2C, e eu usarei o cabo CAT5E para os conectores RJ45 entre as placas. A taxa de dados será de 115200bps, possivelmente até 921600bps. O terra é conectado junto com os sinais UART.

Embora atualmente o tenha funcionado conforme necessário, para minha própria educação, existe uma maneira de estimar o comprimento máximo do cabo no qual isso seria confiável?

QuestionMan
fonte
Este lammertbies.nl/comm/info/RS-232_specs.html pode ser útil "Se, por exemplo, um cabo UTP CAT-5 for usado com uma capacitância típica de 17 pF / pés, o comprimento máximo permitido do cabo é de 147 pés".
Kenny
3
O RS232 real tem um balanço de tensão superior a 10 volts entre a marca e o estado do espaço. E o 147 pés é apenas para 19200 baud. O OP está falando sobre 3V3 UART e 115200 a 921600 baud: Isso funcionará apenas com cabos relativamente curtos.
Turbo J
2
Posso sugerir tranceivers RS422? Eles cabiam muito melhor nos cabos de par trançado CAT5E.
Turbo J
Infelizmente não é uma opção.
21412 QuestionMan
Eu tenho uma pergunta: por que 422 tranceivers não são uma opção?
DiBosco

Respostas:

14

Não há uma única resposta segura. Tem muito a ver com o comprimento do cabo, o ruído elétrico circundante e a velocidade com que você deseja ir. A Ethernet usa o cabo CAT5 para transmitir a 10 Mbit / s para a variedade mais lenta; portanto, 1 Mbit / s é facilmente factível se você tomar as devidas precauções . Observe que, com a Ethernet, cada sinal recebe seu próprio par trançado e cada par é cuidadosamente terminado na impedância característica do cabo em cada extremidade. Cada par é acionado de maneira diferenciada e interpretada de maneira diferenciada, e também é projetado para que não possa causar loops de terra.

Se você fizer tudo isso, poderá transmitir dados de 1 Mbit / s no cabo CAT5 por longas distâncias, como 1000 metros. À medida que você faz menos dessas coisas, a distância útil diminui. Se for apenas embarcar no mesmo chassi, por exemplo, provavelmente você não precisará fazer muito especial. Se você estiver saindo da unidade, os drivers e receptores diferenciais de linha podem ser úteis.

Tente algo em sua configuração e observe os sinais na extremidade receptora para ter uma idéia da margem de ruído, ajuste conforme necessário. Talvez use um protocolo que possa detectar e recuperar erros e acompanhar com que frequência isso está acontecendo. Existem muitas maneiras de listar aqui sem mais informações.

Olin Lathrop
fonte
1
Só porque você pode obter 145m de Ethernet não significa que você obteria o mesmo de um sinal TTL de 3,3V no mesmo cabo, apenas porque você está usando uma taxa de bits mais baixa, veja a explicação na minha resposta.
Jason Morgan
2
@ Jason: Note que eu não disse que você faria. Eu disse que você poderia obter longas distâncias com as devidas precauções, como drivers e receptores diferenciais de linha e terminações terminadas.
Olin Lathrop
3
@Olion: No seu post, você parece afirmar que é mais sobre as características de um cabo, e não por que um TTL de 3,3V não vai viajar muito abaixo dele. Para mim, é uma sugestão de compra de um bom cabo, que nós dois sabemos que está errado.
Jason Morgan
7

A Ethernet usa sinalização diferencial, um sinal TTL é de extremidade única.

Ethernet usa pré-ênfase, TTL não.

Ethernet é o modo atual, TTL é o modo de tensão.

A Ethernet usa uma técnica de modulação que reduz o número de arestas, o seu TTL pode não usar (o ASYNC padrão certamente não)

O driver e o receptor Ethernet são compatíveis com a impedância do cabo, a menos que cuidadosamente projetado, o TTL não seria (e, se fosse, não seria o TTL!)

A Ethernet usa um sinal simétrico (usando baralhamento) para criar uma densidade uniforme de 1. A série ASYNC possui um viés embutido que carrega o cabo e deve ser superado para obter um sinal na outra extremidade.

Por esses motivos, apenas porque você pode obter 145m de Ethernet a 1Gbps não significa que você obteria o mesmo (ou até 1000 vezes menos) de um sinal TTL de 3,3V no mesmo cabo.

Eu recomendo usar um driver de sinalização diferencial como o RS422, para isso que ele foi projetado. De fato, o RS422, apesar de rodar em uma tensão mais baixa, é melhor para percursos longos por causa da sinalização diferencial (o RS232 é de extremidade única).
Além disso, os drivers e receptores fazem coisas inteligentes para melhorar a qualidade das bordas, como a pré-ênfase.

Jason Morgan
fonte
O OP já havia declarado, três horas antes da sua resposta, que os transceptores RS422 não eram uma opção.
Tcrosley 15/05
3
Sim eu sei ler. Ainda posso recomendar a solução correta. Só porque o pôster não gosta de ouvir a verdade, isso não significa que não deve ser dito.
Jason Morgan
2
Por que você está chamando isso de TTL o tempo todo? O título diz 3.3V, então definitivamente não é TTL. A unidade TTL possui recursos de coletor / fonte muito assimétricos, enquanto o HCMOS é simétrico. Pode fazer um mundo de diferença dirigindo um cabo.
Stevenvh
O que é "pré-ênfase"?
m.Alin
A pré-ênfase é uma técnica em que a força do inversor (ou seja, impedância de saída) é modulada durante o pulso transmitido. É usado para compensar as características capacitivas e indutivas do cabo e da magnética, na tentativa de apresentar bordas de melhor qualidade ao receptor.
Jason Morgan