Longueur de câble maximale pour les signaux UART 3,3 V

15

Je voudrais éviter d'utiliser des convertisseurs RS-232 entre deux microcontrôleurs sur deux cartes différentes. Pour diverses raisons, seuls les UART sont pris en charge, par exemple aucun SPI ou I2C, et j'utiliserai un câble CAT5E vers des prises RJ45 entre les cartes. Le débit de données sera de 115200 bps, peut-être jusqu'à 921600 bps. La masse est connectée avec les signaux UART.

Bien que je l'utilise actuellement aux longueurs dont j'ai besoin, pour ma propre formation, existe-t-il un moyen d'estimer la longueur maximale de câble à laquelle cela serait fiable?

QuestionMan
la source
Ce lammertbies.nl/comm/info/RS-232_specs.html peut être utile "Si, par exemple, un câble UTP CAT-5 est utilisé avec une capacité typique de 17 pF / ft, la longueur de câble maximale autorisée est de 147 pieds."
kenny
3
Le Real RS232 a une oscillation de tension de plus de 10 Volts entre la marque et l'état spatial. Et le 147 pieds est pour 19200 bauds seulement. OP parle d'UART 3V3 et de 115200 à 921600 bauds: cela ne fonctionnera qu'avec des câbles relativement courts.
Turbo J
2
Puis-je suggérer des émetteurs-récepteurs RS422? Ils s'adapteraient beaucoup mieux aux câbles à paires torsadées CAT5E.
Turbo J
Pas une option, malheureusement.
QuestionMan
J'ai une question: pourquoi les 422 émetteurs-récepteurs ne sont-ils pas une option?
DiBosco

Réponses:

14

Il n'y a pas de réponse sûre unique. Cela a beaucoup à voir avec la longueur du câble, le bruit électrique environnant et la vitesse à laquelle vous voulez aller. Ethernet utilise un câble CAT5 pour transmettre à 10 Mbit / s pour la variété la plus lente, donc 1 Mbit / s est facilement réalisable si vous prenez les précautions appropriées . Notez qu'avec Ethernet chaque signal obtient sa propre paire torsadée, et chaque paire est soigneusement terminée à l'impédance caractéristique du câble à chaque extrémité. Chaque paire est entraînée différentiellement et interprétée différentiellement, et est également conçue de manière à ne pas provoquer de boucles de masse.

Si vous faites tout cela, vous pouvez transmettre des données à 1 Mbit / s sur un câble CAT5 pour de longues distances, comme 1000 mètres. Comme vous faites moins de ces choses, la distance utilisable diminuera. Si c'est juste bord à bord dans le même châssis, par exemple, alors vous n'avez probablement pas besoin de faire beaucoup de choses spéciales. Si vous sortez de l'unité, les pilotes de ligne différentielle et les récepteurs peuvent être utiles.

Essayez quelque chose dans votre configuration et regardez les signaux à la réception pour avoir une idée de la marge de bruit, ajustez-les si nécessaire. Peut-être utiliser un protocole qui peut détecter et récupérer des erreurs, et garder une trace de la fréquence à laquelle cela se produit. Il y a trop de façons de lister ici sans plus d'informations.

Olin Lathrop
la source
1
Ce n'est pas parce que vous pouvez retirer 145 m d'Ethernet que vous obtiendriez la même chose d'un signal TTL 3,3 V sur le même câble simplement parce que vous utilisez un débit binaire inférieur, voir l'explication dans ma réponse.
Jason Morgan
2
@ Jason: Notez que je n'ai pas dit que vous le feriez. J'ai dit que vous pouviez obtenir de longues distances avec les précautions appropriées, telles que les pilotes de ligne différentielle et les récepteurs et les extrémités terminées.
Olin Lathrop
3
@Olion: D'après votre message, vous semblez dire qu'il s'agit davantage des caractéristiques d'un câble que de la raison pour laquelle un TTL 3,3 V ne voyagera pas très loin. Pour moi, cela se lit comme une suggestion d'acheter un bon câble, que nous savons tous les deux faux.
Jason Morgan
7

Ethernet utilise une signalisation différentielle, un signal TTL est asymétrique.

Ethernet utilise la préaccentuation, TTL non.

Ethernet est le mode courant, TTL est le mode tension.

Ethernet utilise une modulation tachnique qui réduit le nombre de fronts, votre TTL pourrait ne pas (l'ASYNC standard ne le fait certainement pas)

Le pilote et le récepteur Ethernet sont adaptés à l'impédance du câble, sauf s'ils sont soigneusement conçus, le TTL ne le serait pas (et s'il l'était, ce ne serait pas le TTL!)

Ethernet utilise un signal symétrique (en utilisant le brouillage) pour créer une densité égale à 1. La série ASYNC a une polarisation intégrée qui charge le câble et doit être surmontée pour obtenir un signal à l'autre extrémité.

Pour ces raisons, ce n'est pas parce que vous pouvez obtenir 145 m d'Ethernet à 1 Gbit / s que vous obtiendriez le même (ou même 1000 fois moins) d'un signal TTL 3,3 V sur le même câble.

Je recommande d'utiliser un pilote de signalisation différentielle tel que RS422, c'est pour cela qu'il est conçu. En effet, le RS422, bien qu'il fonctionne à une tension inférieure, est meilleur pour les longs trajets en raison de la signalisation différentielle (RS232 est asymétrique)
.En outre, les pilotes et les récepteurs font des choses intelligentes pour améliorer la qualité des bords tels que la préaccentuation.

Jason Morgan
la source
L'OP avait déjà déclaré 3 heures avant votre réponse que les émetteurs-récepteurs RS422 n'étaient pas une option.
tcrosley
3
Oui, je peux lire. Je peux toujours recommander la bonne solution. Ce n'est pas parce que l'affiche n'aime pas entendre la vérité que cela ne doit pas être dit.
Jason Morgan
2
Pourquoi l'appelez-vous tout le temps TTL? Le titre indique 3,3 V, ce n'est donc certainement pas TTL. Le lecteur TTL a des capacités puits / source très asymétriques, tandis que HCMOS est symétrique. Peut faire toute la différence en conduisant un câble.
stevenvh
Qu'est-ce que la «préaccentuation»?
m.Alin
La préaccentuation est une technique où la force d'attaque (c'est-à-dire l'impédance de sortie) est modulée pendant l'impulsion transmise. Il est utilisé pour compenser les caractéristiques capacitives et inductives du câble et du magnétique afin de présenter des bords de meilleure qualité au récepteur.
Jason Morgan