Vitesse potentielle maximale pour le port série rs232
Quel est le potentiel maximum de la vitesse de port série rs232 sur un PC moderne? Je sais que le cahier des charges dit qu'il est de 115200 bps. Mais je crois qu'il peut être plus rapide. Qu'est ce qui influence la vitesse du port rs232? Je crois que c'est résonateur à quartz, mais je ne suis pas sûr.
source d'informationauteur RomanKapitonov
Vous devez vous connecter pour publier un commentaire.
Cela remonte à l'origine de l'IBM PC. Les ingénieurs qui ont conçu, il avait besoin d'un moyen peu coûteux de générer une fréquence stable. Et se tourna vers les cristaux qui ont été largement utilisés à l'époque, utilisé dans n'importe quelle couleur de la TÉLÉVISION aux etats-unis. Un cristal constitué d'exécuter un circuit oscillateur à la fréquence de la salve couleur dans la télévision NTSC standard. Qui est 315/88 = 3.579545 mhz. À partir de là, je suis d'abord passé par l'intermédiaire d'un diviseur programmable, l'un de vous changer pour définir le débit en bauds. L'UART lui-même, puis divise par 16 pour générer les sous-échantillonnage de l'horloge pour la ligne de données.
Donc le plus haut débit que vous pouvez obtenir est par la définition de la cloison à la valeur la plus petite, 2. Qui produit 3579545 /2 /16 = 111861 baud. De 2,3% d'erreur de l'idéal débit en bauds. Mais assez proche, la fréquence d'horloge n'a pas à être exact. Le point de asynchrone de la signalisation, de l'Un dans l'UART, le bit de démarrage toujours re-synchronise le récepteur.
Arriver réel RS-232 matériel en cours d'exécution à 115200 bauds de manière fiable, est un défi important. La norme électrique est très sensible au bruit, il n'y a pas de tentative d'annulation induite par le bruit et pas de tentative de création d'une impédance compensée de la ligne de transmission. Le maximum recommandé longueur de câble à une vitesse de 9600 bauds n'est que de 50 pieds. À 115200 très peu de câbles de faire dans la pratique. Pour aller plus loin vous avez besoin d'une approche différente, RS-422 de signaux différentiels.
Tout cela est de l'histoire ancienne et ne correspond pas exactement à appliquer du matériel moderne, plus. Série True matériel basé sur une puce UART comme 16550 ont été en train de disparaître rapidement, et remplacé par USB émulateurs. Qui ont un pilote personnalisé pour émuler un port série. Ils acceptent un débit en bauds de sélection, mais juste l'ignorer pour le bus USB elle-même, elle ne s'applique qu'à la dernière demi-pouce dans la clé usb que vous branchez l'appareil. Si oui ou non le pilote accepte 115200 que la valeur maximale est un pilote de mise en œuvre détail, ils généralement accepter des valeurs plus élevées.
La vitesse maximale est limitée par les caractéristiques techniques de l'UART du matériel.
Je crois que le "classique" UART PC (le Seize mille cinq cent cinquante) dans les implémentations modernes peut gérer au moins 1,5 Mbps. Si vous utilisez un USB adaptateur série, il n'y a pas de 16550 impliqués et la limite est plutôt définie par le fragment spécifique(s) utilisé dans la carte, bien sûr.
J'utilise régulièrement un RS232 lien de course à 460,800 bps, avec un USB de l'adaptateur.
En réponse au commentaire sur le timing (avec une mise en garde: je suis un logiciel de guy): communication série asynchrone n'est pas de transmettre de l'horloge (c'est la partie asynchrone à droite) avec les données. Au lieu de cela, l'émetteur et le récepteur sont censés convenir au préalable à propos de laquelle le bitrate à utiliser.
Un bit de départ sur la ligne de données indique le début de chaque "caractère" (généralement un octet, mais avec start/stop/bits de parité à l'encadrer). Le récepteur commence alors échantillonnage de la ligne de données afin de déterminer si c'est un 0 ou un 1. Cet échantillonnage est généralement fait au moins 16 fois plus rapide que le débit binaire, assurez-vous qu'il est stable. Donc, pour un UART communiquer à 460,800 bps comme je l'ai mentionné ci-dessus, le récepteur sera d'échantillonnage du signal RX à environ 7.4 MHz. Cela signifie que même si vous l'horloge de l'effectif de l'UART avec une fréquence brute fvous ne pouvez pas vous attendre à recevoir des données de manière fiable à ce taux. Il existe une surcharge.
Oui, il est possible de fonctionner à des vitesses plus élevées, mais la principale limitation est de l'environnement, dans un environnement bruyant, il y aura plus de corruption de données réducteurs de vitesse. Une autre limitation est la longueur du câble entre les appareils, vous devrez peut-être ajouter un répéteur ou d'un autre dispositif pour renforcer le signal.