Est un débit en bauds de 115200 ou plus?
Lors de l'exécution de certains tests avec un FT232R USBtoRS232 Puce, qui devrait être capable de gérer des vitesses allant jusqu'à 3Mbaud/s, j'ai le problème que mon débit réel est seulement autour de 38kbaud/s ou 3,8 KB/s.
J'ai cherché sur le web, mais je ne pouvais pas trouver tout compareable de données, de preuve ou de réfutation de cette limitation.
Alors que je suis à la recherche plus loin dans la présente, je voudrais savoir, si quelqu'un ici a compareable de données.
J'ai testé avec mon propre code et avec cet outil ici:
http://www.aggsoft.com/com-port-stress-test.htm
Des paramètres serait 115200 8n1 64Byte de données par paquets.
Je me serais attendu à de tels résultats:
à 115200 baud -> effectivement 11520 byte/s ou 11,52 KB/s
à 921600 baud -> 92,16 KB/s
J'ai besoin de confirmer une vitesse minimale de 11,2 KB/s, une meilleure vitesse d'environ 15-60 KO/s.
Basé sur la feuille de données, ce ne devrait pas être axé sur le problème de la réalité, je suis coincé à 3,8 KB/s - du moins pour le moment.
Edit:
Oh mon dieu, trouvé une assez bonne idée de la - mon transferrate est fortement dépendante de la taille des paquets. Ainsi, alors que l'aide de 64 Octets des paquets, je me retrouve avec 3,8 KB/s, en utilisant 180Byte paquets, il sowewhat en moyenne autour de 11,26 KB/s et la lumière principale est allé, quand j'ai vérifié la vitesse de 1 Byte packets -> autour 64B/s!
L'ajout de maths -> 11,52 KB/s divisé par 180 égale à 64B/s. Donc, fondamentalement, la vitesse s'adapte à la taille en octets. Est-ce exact? Et pourquoi est-ce?
Dans un port série, il n'y a pas de "paquets", flux d'octets. La différence que vous voyez, à cause du temps perdu à cause de la surcharge dans les appels d'API à votre pilote de série, pas la vitesse du port lui-même. Si vous faites des appels avec de petites quantités de données, la charge est plus grande. Si vous faites un appel depuis qui offre un énorme tampon, puis le numéro de série du matériel est toujours plein et maximise le débit
Vous êtes en assimilant le débit en bauds avec débit, mais il est presque impossible d'atteindre les 100% d'utilisation du canal de données. Le raccordement d'un " champ d'application de la fil. Vous pouvez réellement mesurer le débit en bauds par la largeur de la bits. Vous ne verrez pas de "ralentissement", mais voir les morts ou les périodes d'inactivité entre char images. En augmentant le temps mort entre les images est ce que vous appelez "vitesse lente", mais il a réduit le débit.
ouais, j'ai utilisé le terme de "paquets" un peu trompeur - ce que j'ai essentiellement ement, par la présente, sont les appels à la fonction qui envoie mes données. Je suis en train de travailler sur l'amélioration de mon installation et d'ajuster mon programme pour envoyer des gros blocs de données. merci pour les bons conseils 😉
poster sur de l'électronique.stackexchange? de SOI qui est tristement célèbre pour ridiculiser ces questions. Je ne recommanderais pas de n'importe qui sans un EE degré de poser des questions.
OriginalL'auteur Jook | 2012-12-11
Vous devez vous connecter pour publier un commentaire.
Les résultats que vous observez sont en raison de la manière de Série sur USB fonctionne. Ce n'est USB1.1 puce. L'USB ne les transferts à l'aide de paquets et pas en continu comme par exemple en série. Si votre appareil permettra d'obtenir un temps de tranches de fenêtre et c'est le pilote à utiliser cette fenêtre efficacement. Lorsque vous définissez une taille de paquets de 1 vous ne pouvez transmettre un octet par USB paquet. Pour transmettre de l'octet suivant, vous devez attendre votre tour. Habituellement périphérique USB a un tampon sur l'extrémité du périphérique où il peut mettre en mémoire tampon les données entre les transferts et, ainsi, de conserver le taux de sortie constante. Vous êtes en vertu de l'écoulement de cette mémoire tampon lorsque vous définissez la taille de paquet trop faible. La tranche de temps sur USB1.1 est de 10 ms, qui ne vous donne 100 transferts par seconde pour être partagée entre tous les appareils.
Lorsque vous faites une "envoyer" appel à toutes vos données vont dans un transfert de garder des applications interactives de travail de droit. Il est préférable d'utiliser la taille de transfert maximale pour réaliser la meilleure performance sur les périphériques usb. Ce n'est pas toujours possible si vous avez de l'application interactive, mais surtout possible lorsque vous êtes en application de transfert de données.
OriginalL'auteur user420783