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?
Réponses:
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.
la source
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.
la source