Question:
Pourquoi l'USB n'utilise-t-il que 2 lignes pour RX, TX au lieu de plusieurs lignes de données?
mhashim6
2018-11-16 18:14:52 UTC
view on stackexchange narkive permalink

Ne serait-il pas plus rapide s'il y avait plusieurs lignes de données (disons 8) pour transmettre / recevoir des données (disons des octets séquentiels) au lieu d'utiliser une seule ligne pour transmettre des bits séquentiels?

Il serait beaucoup plus difficile de le faire fonctionner à des vitesses élevées en utilisant plusieurs fils.Il y a une bonne raison derrière cela, mais écrire une réponse qui explique pourquoi prendrait trop de temps - et je ne suis probablement pas la meilleure personne pour l'expliquer.
dupe: [Pourquoi la transmission série numérique est-elle utilisée partout?] (https://electronics.stackexchange.com/q/393462/50736)
C'est ainsi que l'USB type C est configuré.Avec plusieurs lignes de données.
@ratchetfreak Je pense que vous n'avez même pas besoin d'aller aussi loin, l'USB 3.0 a 4 lignes de données au lieu de 2.
J'ai l'impression que beaucoup de ces réponses répondent comme si l'USB avait 1 fil de transmission et 1 fil de réception, alors qu'au lieu de cela, il n'avait qu'une seule paire différentielle.Les deux côtés émettent et reçoivent sont sur cette paire différentielle.Cela le distingue au moins du SATA.
Vous ne devriez pas faire la différence entre la communication série et parallèle qui vous donnera une réponse plus simplifiée.
Parce que c'est série, ce qui a du sens si l'USB est universel.Cela fonctionne en 16, 32, 64 bits etc.
@PSyLoCKe qui n'a rien à voir avec cela.La taille du transfert peut également être arbitraire dans une interface parallèle.
Cinq réponses:
Marcus Müller
2018-11-16 18:20:03 UTC
view on stackexchange narkive permalink

Ce serait en effet plus rapide si, au lieu d'une ligne, vous alimentiez plusieurs lignes à la même horloge de symboles.

Mais l'objectif principal et principal de l'USB est de fournir une interface série simple (d'où le S en USB) entre des appareils à bas prix (d'où le U en USB) avec un câblage léger et peu coûteux.

C'est pourquoi l'USB ne fait pas de lignes de données parallèles: ce n'est tout simplement pas le créneau qu'il est censé remplir.

De plus, ne négligez pas que le fait d'avoir plusieurs voies parallèles à grande vitesse nécessite que le système d'émetteur-récepteur introduise un effort relativement élevé pour compenser différents biais sur différentes lignes, ce qui à des taux élevés est inévitable.

Il est souvent moins coûteux de faire fonctionner quelque chose deux fois plus vite que de construire deux des variantes les plus lentes, à moins que vous ne parliez vraiment directement à du matériel qui est dans son principe brut bit-parallèle (par exemple, des puces de mémoire DDR).

Pourriez-vous expliquer comment U en USB est lié aux «appareils à faible coût»?
USB = bus série ** universel **.Par «universel», on voulait dire qu'il était conçu pour être le bus à bas prix pour tous les types de périphériques informatiques à bas prix.
Chris Fernandez
2018-11-16 20:24:54 UTC
view on stackexchange narkive permalink

L'un des principaux obstacles à tout type de bus parallèle est le biais. Si vous avez 8 fils séparés transportant tous des données, il est important que tous les bits arrivent à peu près au même moment. Sinon, les bits de l'octet A pourraient se mélanger avec les bits de l'octet B.Cela signifie que la longueur de ces fils parallèles doit être adaptée, à un certain pourcentage de la vitesse d'horloge, de sorte que le temps de trajet du signal sur le fil est à peu près le même. Plus la vitesse d'horloge est rapide, plus la tolérance sur la longueur entre les fils parallèles est étroite.

Sur une conception de PCB pour quelque chose comme une carte mère, des contraintes de conception très strictes sont monnaie courante. Les traces de PCB peuvent atteindre 1 mil ou mieux, ce qui est assez bon pour implémenter des interfaces parallèles à grande vitesse. Un exemple courant de ceci est l ' interface de mémoire DDR. Cette interface repose sur une communication parallèle pour déplacer les données à des débits très élevés, mais il n'est possible d'implémenter ces interfaces (à un prix abordable) qu'en interne.

Imaginez essayer de construire un câble d'ordinateur externe avec plus de 30 connexions de fils, toutes les longueurs égales à moins d'un millième de pouce! Ces câbles seraient très chers par rapport au câblage USB.

Les ordinateurs plus anciens utilisaient un port parallèle, qui avait 8 lignes de données mais ne pouvait atteindre qu'un débit de données d'environ 2,5 Mo / s. Comparez cela aux 60 Mo / s d'USB 2.0, sans parler des nouvelles saveurs d'USB.

Vous pouvez réellement contourner cela avec un entraînement aux liens sur plusieurs voies, et * c'est fait * même sur des liens généralement liés aux PCB comme PCIe - mais cela ne vaut vraiment la peine de le faire que si vous vous évitez beaucoup de problèmes en parcourant ce montant.des ennuis.
PCIe est en fait une connexion série qui n'utilise qu'une seule paire différentielle de lignes pour Rx et une autre paire pour Tx.Les multiples * voies * PCIe * ne sont * pas * des lignes de signal parallèles.Ils n'ont besoin que d'une synchronisation basée sur les trames transmises, pas sur les signaux numériques.Il y a eu une discussion sur cette question sur [electronics.se] il y a quelques semaines.
bonne prise, mise à jour
https://electronics.stackexchange.com/a/393469/87770
Manu3l0us
2018-11-16 18:26:59 UTC
view on stackexchange narkive permalink

Bien que la réponse de Marcus soit correcte à 100%, je tiens à ajouter que l'USB 3.2 Gen 1x2 et Gen 2x2 utilisent deux voies de données dans chaque direction tandis que les voies fonctionnent toujours à 5 Gbit / s resp.10 Gbit / s chacun.

CrossRoads
2018-11-16 21:52:46 UTC
view on stackexchange narkive permalink

L'USB n'a pas de lignes Rx & Tx.Il a une paire de lignes différentielles, similaires à RS485, avec le signal d'horloge & de données codé ensemble.L'expéditeur envoie les données dans un sens en utilisant les deux fils, et le récepteur renvoie les données dans l'autre sens en utilisant les deux lignes.

Sinon, oui, un bus parallèle de signaux peut être très rapide.Idéal pour les courtes distances pour les raisons déjà mentionnées.

Exemple de transfert de données USB:

enter image description here

mic_e
2018-11-17 00:16:39 UTC
view on stackexchange narkive permalink

Comme indiqué dans d'autres réponses,

  • Vous avez raison, si vous utilisez deux fois plus de voies, vous obtenez deux fois la vitesse.
  • Auparavant, les bus parallèles (avec de nombreuses voies de données) étaient répandus. Les exemples sont l'interface d'imprimante parallèle, PATA et PCI. Mais il est difficile de construire des bus parallèles rapides car les différences de longueur des fils individuels entraîneront des différences de synchronisation. Les bus parallèles sont encore largement utilisés sur les PCB (DRAM, QSPI, GMII, ...) et sur les puces (AXI, AHB, QPI, ...), mais pour des distances plus longues, il est en fait beaucoup moins cher de construire un haut une liaison série plus rapide qu'une liaison parallèle à faible vitesse avec le même débit de données. Les liaisons de données modernes à très grande vitesse et à plus longue distance telles que Gigabit Ethernet, PCIe et USB3 ont plusieurs voies de données, mais chacune de ces voies est une liaison série à haut débit totalement indépendante; les flux de données provenant des liaisons individuelles sont à nouveau combinés ultérieurement. C'est pourquoi vous pouvez mettre une carte graphique PCIe x16 dans un slot PCIe x1 avec un adaptateur approprié (ou une violence suffisante).
  • Les bus parallèles ont plus de fils (duh), donc le câble sera plus épais, plus lourd et plus cher, ainsi que le connecteur.

Historiquement, lors de la conception de l'USB, le transfert de données à haute vitesse n'était pas son objectif principal. L'objectif principal était de créer un système de bus universel et bon marché pour connecter des périphériques tels que des claviers, des souris et des imprimantes. Une conception parallèle aurait été un mauvais choix; cela aurait ruiné la petite taille révolutionnaire du connecteur et probablement augmenté suffisamment le coût de l'USB pour empêcher son adaptation généralisée.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...