Pourquoi la transmission série numérique est-elle utilisée partout? SATA, PCIe, USB


47

En regardant SATA, PCIe, USB, SD UHS-II, il m’a semblé qu’ils étaient tous identiques: train de bits numérique série, transmis à l’aide de paires différentielles (généralement codées 8b / 10b), avec quelques différences au niveau des couches lien / protocole.
Pourquoi Pourquoi est-ce devenu la norme?
Pourquoi n’existe-t-il pas de protocoles de communication système répandus qui recourent fortement à des méthodes de modulation avancées pour obtenir un meilleur débit de symboles? Est-ce que je manque quelque chose? Ce n'est pas une question de "série vs parallèle" mais une question de "signalisation numérique vs analogique modulée"


7
Eh bien, quelles sont les alternatives?
PlasmaHH

27
Il y avait des parallèles, mais il fallait beaucoup de cuivre et de très larges câbles.
Jeroen3

7
Et c'est bien sûr comment DDR fonctionne toujours aujourd'hui.
MSalters

10
Et la série a dépassé le parallèle pour les câbles d’imprimante, et autres, lorsque l’électronique était si bon marché que le convertisseur série-parallèle était meilleur marché que le fil.
Hot Licks

4
Pourquoi ne proposez-vous pas "certaines méthodes de modulation avancées", afin que nous puissions comprendre ce que vous voulez dire et comparer avec "flux de bits série"?
Ale..chenski

Réponses:


30

Pourquoi n'y a-t-il pas de protocoles de communication système répandus qui recourent fortement à des méthodes de modulation avancées pour un meilleur débit de symboles?

Si la connexion cuivre de base entre deux points prend en charge un débit numérique supérieur au débit de données que doit "transmettre" l'application, pourquoi ne pas s'embarrasser de la signalisation haute vitesse différentielle standard?

L'utilisation d'un schéma de modulation avancé est généralement utilisée lorsque le "canal" a une bande passante beaucoup plus limitée que le cuivre ou la fibre.


Merci! Bien qu’il y ait eu de très bonnes réponses, c’est celle que je cherchais!
artemonster

3
Une question simple nécessite une réponse simple, mais vous ne pouvez pas empêcher les gens de vouloir couvrir plus de terrain que ce qui était requis par la question initiale.
Andy aka

1
et c’est une bonne chose :) j’ai beaucoup appris des autres réponses car elles étaient assez instructives.
artemonster

68

Il y a deux raisons principales à la montée des séries

1) C'est possible. Les transistors à faible coût sont en mesure de gérer la commutation en GHz depuis une décennie, suffisamment longtemps pour que la capacité soit utilisée et devienne standard.

2) C'est nécessaire. Si vous souhaitez déplacer des données à très grande vitesse de plus de quelques centimètres. Cette distance commence à exclure les liens carte à carte PCI, et exclut définitivement le système mobo vers le disque dur, ou mobo / settopbox pour afficher les connexions.

La raison en est biaisée. Si vous transmettez plusieurs signaux parallèles le long d'un câble, ils doivent arriver dans une petite fraction de la même période d'horloge. Cela permet de réduire la fréquence d'horloge, de sorte que la largeur du câble doit augmenter. À mesure que les débits de données augmentent, cela devient de plus en plus délicat. La possibilité d’augmenter le taux dans l’avenir est inexistante, double ou quadruple largeur ATA?

La façon de tuer le démon biaisé est d'aller en série. Une ligne est toujours synchronisée avec elle-même, il n’ya rien qui la rende asymétrique. La ligne transporte des données auto-cadencées. C'est-à-dire qu'il utilise un schéma de codage de données (souvent 8b / 10b, parfois beaucoup plus élevé) qui fournit une densité de transition minimale garantie permettant l'extraction de l'horloge.

La perspective d’une augmentation du débit de données ou de la distance dans le futur est excellente. Chaque génération apporte des transistors plus rapides et une plus grande expérience dans la fabrication du médiium. Nous avons vu comment cela s’est passé avec SATA, qui a démarré à 1,5 Gb / s, puis est passé à 3 pour atteindre 6 Gb / s. Même des câbles bon marché peuvent fournir une impédance suffisamment cohérente et une perte raisonnable, et des égaliseurs sont intégrés à l'interface silicium pour traiter les pertes liées à la fréquence. La fibre optique est disponible pour de très longues distances.

Pour des débits de données plus élevés, plusieurs liaisons série peuvent être utilisées en parallèle. Ce n'est pas la même chose que de mettre des conducteurs en parallèle, qui doivent être adaptés dans le temps à moins d'un cycle d'horloge. Il suffit d’adapter ces voies en série à une trame de données de haut niveau, qui peut être longue ou égale à ms.

Bien entendu, l’avantage de la largeur des données ne s’applique pas uniquement aux câbles et aux connecteurs. La série profite également à la zone de la carte à circuit imprimé entre les connecteurs et la puce, au brochage de la puce et à la zone de silicium de la puce.

J'ai un angle personnel à ce sujet. En tant que concepteur travaillant sur la radio définie par logiciel (SDR) à partir des années 90, j’avais l'habitude de prendre des postes chez des personnes comme Analog Devices et Xilinx (et toutes les autres sociétés ADC et FPGA) (elles nous rendaient visite et nous demandaient de temps en temps). me faisant exécuter autant de connexions différentielles en parallèle entre des CAN et des FPGA multi-100 MHz, alors que nous commencions à peine à voir la technologie SATA émerger pour remplacer ATA. Nous avons finalement obtenu JESD204x, nous pouvons donc connecter des convertisseurs et des FPGA avec seulement quelques lignes série.


7
Les PCI Express 3 et 4 utilisent l’encodage 128b / 130b.
Peter Smith

11
Quelle est la Nb/(N+2)bnomenclature que les gens utilisent ici?
Détly

17
@detly les 8b / 10b , 64b / 66b sont les deux formes de codage de code de ligne . Dans le contexte des communications série, le codage de ligne est nécessaire pour pouvoir effectuer une récupération d’horloge] ( en.wikipedia.org/wiki/Clock_recovery ).
Trevor Boyd Smith

4
@tolos - le facteur de vélocité pour la plupart des arômes de matériaux contenant des BPC ordinaires est d'environ 50% (6 in / ns).
Peter Smith

4
@supercat c'est exactement comment plusieurs voies sont gérées, chaque voie a sa propre horloge indépendante. Les données sont encadrées et réparties sur toutes les voies. Lorsque le récepteur dispose de toutes les images, il agit sur les données. Cela permet un biais lié à la longueur de la trame de données, qui peut être nous ou même ms, comme je l’ai dit dans ma réponse. Tel est le sens du nombre de voies dans PCIe et de la façon dont les 2xHDMI sont gérés pour un affichage hautes performances.
Neil_UK

24

Si vous voulez un exemple de quelque chose qui est largement utilisé, mais différent, regardez 1000BASE-T Gigabit Ethernet. Cela utilise des câbles parallèles et un codage de signal non-trivial.

Généralement, les gens utilisent des bus de série parce qu'ils sont simples. Les bus parallèles utilisent plus de câbles et souffrent d'un biais de signal à des débits élevés sur des câbles longs.


9
GbE a été créé en investissant de l'argent dans le problème de la transmission de davantage de données sur les vastes quantités de câblage Cat 5 existant. Cela ne ressemblerait probablement pas à cela si une nouvelle interface était conçue sans souci de compatibilité avec les versions antérieures. Cf. comment 10GbE ne fait pas de percée sérieuse dans les environnements commerciaux / domestiques car il nécessite l’installation d’un nouveau câblage Cat 6a.
Barleyman

10GbE peut toujours fonctionner sur cat5e ou cat5 en fonction de la longueur et / ou de la qualité du câble.
user3549596

12

Pour ajouter aux autres bonnes réponses:

Les problèmes signalés dans d'autres réponses (notamment le déséquilibre entre les signaux parallèles et le coût des fils supplémentaires dans le câble) augmentent à mesure que les distances des signaux augmentent. Ainsi, il existe une distance à laquelle le port série devient supérieur au parallèle et cette distance a diminué à mesure que les débits de données ont augmenté.

Le transfert de données en parallèle se produit toujours: à l'intérieur des puces, ainsi que la plupart des signaux dans les cartes de circuits imprimés. Cependant, les distances requises par les périphériques externes - et même par les lecteurs internes - sont maintenant trop éloignées et trop rapides pour que les interfaces parallèles restent pratiques. Ainsi, les signaux auxquels un utilisateur final sera maintenant exposé sont en grande partie série.


4
Le meilleur exemple de signalisation parallèle à grande vitesse est probablement la mémoire RAM, en particulier dans les PC.
Jan Dorniak

Excellente réponse, pointe directement vers le problème fondamental de la synchronisation temporelle entre domaines spatiaux. Une chose à noter, vous pouvez toujours avoir plus de 2 symboles sur une liaison série, ce qui vous permet de tirer un avantage des communications parallèles en utilisant la modulation pour coder plus de bits par baud
crasic

@ JanDorniak, il convient de noter que la mémoire DDR * contient des bits d'échantillonnage de données utilisés pour la synchronisation. Cela permet de diviser un bus large en plusieurs bus plus petits. Il est plus facile d’acheminer plusieurs bus parallèles 8 bits que d’acheminer un seul bus 32 bits.
Caleb Reister

@CalebReister ne le savait pas. C'est toujours parallèle. J'ai personnellement eu une situation où un PC moderne fonctionnerait ou non selon l'emplacement dans lequel la DDR4 était insérée. En fin de compte, UEFI imposait une latence inférieure à la capacité de la mémoire.
Jan Dorniak

11

Les techniques de modulation avancées nécessiteraient que vous transmettiez et receviez des signaux analogiques. Les CAN et CNA fonctionnant à des centaines de MHz ont tendance à être coûteux et consomment pas mal d’énergie. Le traitement du signal nécessaire au décodage est également coûteux en silicium et en puissance.

Il est simplement moins coûteux de créer un meilleur moyen de communication capable de prendre en charge les signaux binaires.


1
bon point. спасибо за ответ :)
artemonster

8

Pourquoi le flux de bits série est-il devenu si courant?

L'utilisation de liaisons série présente l'avantage de réduire la taille physique de la connexion. Les architectures de circuits intégrés modernes comportent tellement de broches que cela a créé un besoin pressant de minimiser les exigences d'interconnexion physique imposées à leur conception. Cela a conduit à développer des circuits fonctionnant à des vitesses extrêmes aux interfaces de ces circuits en utilisant des protocoles série. Pour la même raison, il est naturel de minimiser les demandes d'interconnexion physique ailleurs dans toute autre liaison de données.

La demande initiale pour ce type de technologie peut également provenir des conceptions de transmission de données par fibre optique.

Une fois que la technologie de prise en charge des liaisons à grande vitesse est devenue très courante, il était tout à fait naturel de l’appliquer à de nombreux autres endroits, car la taille physique des connexions en série est beaucoup plus petite que les connexions en parallèle.

Pourquoi n’existe-t-il pas de protocoles de communication système répandus qui recourent fortement à des méthodes de modulation avancées pour obtenir un meilleur débit de symboles?

Au niveau du codage, les schémas de codage pour la communication numérique peuvent être aussi simples que NRZ (non-retour à zéro) , un code de ligne légèrement plus compliqué (par exemple 8B / 10B) ou beaucoup plus compliqué, comme QAM (modulation d'amplitude en quadrature) .

La complexité augmente les coûts, mais les choix dépendent également de facteurs qui dépendent en définitive de la théorie de l'information et des limites de capacité d'un lien. La loi de Shannon, du théorème de Shannon-Hartley, décrit la capacité maximale d'un canal (considérez cela comme "la connexion" ou "le lien"):

Capacité maximale en bits / seconde = bande passante * Log2 (1 + signal / bruit)

Pour les liaisons radio ( LTE ou WiFi, par exemple), la bande passante va être limitée, souvent par des réglementations légales. Dans ces cas, QAM et des protocoles complexes similaires peuvent être utilisés pour obtenir le débit de données le plus élevé possible. Dans ces cas, le rapport signal sur bruit est souvent assez faible (10 à 100 ou, en décibels, 10 à 20 dB). Il ne peut aller si haut avant d’atteindre une limite supérieure dans la bande passante et le rapport signal sur bruit donnés.

Pour une liaison filaire, la bande passante n'est régulée que par l'aspect pratique de la mise en œuvre. Les liaisons filaires peuvent avoir un rapport signal sur bruit très élevé, supérieur à 1000 (30 dB). Comme mentionné dans d'autres réponses, la largeur de bande est limitée par la conception des transistors commandant le fil et recevant le signal, ainsi que par la conception du fil lui-même (une ligne de transmission).

Lorsque la bande passante devient un facteur limitant mais que le rapport signal sur bruit ne l'est pas, le concepteur trouve d'autres moyens d'augmenter le débit de données. Il devient une décision économique de passer à un schéma de codage plus complexe ou à un câblage plus complexe:

Vous verrez en effet les protocoles série / parallèles utilisés lorsqu'un seul fil est encore trop lent. PCI-Express fait cela pour surmonter les limitations de bande passante du matériel en utilisant plusieurs voies.

Dans les transmissions par fibre, ils n'ont pas besoin d'ajouter plus de fibres (bien qu'ils puissent en utiliser d'autres s'ils sont déjà en place et non utilisés). Le peut utiliser le multiplexage par division d’onde . Généralement, cela est fait pour fournir plusieurs canaux parallèles indépendants, et le problème d'inclinaison mentionné dans d'autres réponses ne concerne pas les canaux indépendants.


1
Bonne réponse. Cela me rend curieux de savoir si quelqu'un pourrait (ou l'a déjà fait?) Faire quelque chose comme implémenter 256-QAM à des vitesses USB3 pour des vitesses de transfert vraiment incroyables ...
mbrig

FWIW, le monde de la fibre commence à développer et à déployer des schémas de modulation plus complexes. PAM-4 arrive pour les réseaux Ethernet 100 et 400 G, et les systèmes de télécommunication commencent (je crois, mais ce n'est pas mon domaine) à utiliser une MAQ cohérente.
Le Photon

mais, vraiment, si le RSB d'une ligne filaire est si bon, pourquoi ne pas extraire chaque bande de bande passante possible? Pourquoi pousser dans les fréquences GHZ (avec tous les problèmes pertinents), où vous pourriez aller beaucoup plus lentement et employer une certaine modulation / codage. Ne serait-ce pas plus pratique?
artemonster

Vous pouvez le faire. Cela devient une décision économique.
Jim

1
QAM nécessite un opérateur, il n’a donc aucun sens de faire autre chose que PAM pour le numérique «bande de base». Il est utilisé dans le domaine optique, en utilisant la lumière elle-même comme support. Sur du cuivre, vous ne feriez que construire un émetteur-récepteur radio. Cela nécessiterait beaucoup plus de circuits analogiques à haute vitesse, ainsi que toute la complexité et la consommation accrue qui en découlent. Les sérialiseurs et les désérialiseurs sont relativement simples en comparaison. IMHO, nous sommes plus susceptibles de voir des modulateurs et des détecteurs photoniques au silicium intégrés que de passer à la MAQ sur cuivre.
alex.forencich

1

Prenez quatre semi-remorques avec une charge utile. Quatre voies par autoroute latérale. Pour que les camions réussissent à transporter la charge utile parallèle, ils doivent être parfaitement côte à côte, on ne peut pas être en avance ou en retard sur les autres de plus d’un pouce, disons. Les collines, les courbes, n'a pas d'importance. Varier trop et c'est un échec total.

Mais demandez-leur de prendre une voie et la distance qui les sépare peut varier. Bien que cela soit vrai linéairement, il faut parcourir quatre fois la distance entre l'avant du premier camion et l'arrière du dernier pour déplacer les charges utiles, mais elles ne doivent pas être parfaitement espacées. Juste dans la longueur d'un camion, la cabine, la charge utile et la longueur de la charge utile doivent être correctement positionnées et espacées.

Ils vont même jusqu'à être parallèle, pcie, réseau, etc., mais si ce sont techniquement des chemins de données séparés, ils ne sont pas parallèles en ce sens qu'ils doivent partir et arriver en même temps, en utilisant l'analogie de camion des quatre camions peuvent rouler sur quatre voies à peu près parallèles mais peuvent varier, les camions sont marqués par la voie dans laquelle ils sont arrivés, de sorte que, lorsqu'ils arrivent à l'autre extrémité, les charges utiles puissent être combinées dans le jeu de données d'origine. Et / ou chaque voie peut être un ensemble de données en série et en ayant plus de voies, vous pouvez déplacer plusieurs ensembles de données en même temps.


Les voies n'ont pas besoin d'être parfaitement "alignées". Les interfaces modernes à plusieurs voies utilisent des méthodes plus sophistiquées d'alignement des symboles que d'être parfaitement côte à côte.
Ale..chenski

1
C'est ce que j'ai dit.
old_timer

1

En complément du commentaire de Dmitry Grigoryev .

La transmission analogique est toujours plus sujette aux erreurs que la transmission numérique. Une transmission série numérique, par exemple, a des flancs cadencés, où un signal analogique flotte en quelque sorte entre 0V et VDD. Les interférences sont donc beaucoup plus difficiles à détecter. On pourrait en tenir compte et utiliser la signalisation différentielle, comme dans Audio.

Mais ensuite, vous rencontrez ce compromis vitesse / précision des CAD / ADC. Si vous devez parler à des systèmes numériques, l'utilisation d'une transmission numérique est beaucoup plus logique, car vous n'avez pas besoin d'une traduction DA-AD fastidieuse.

Cependant, si vous avez un ordinateur analogique fonctionnant sur des tensions de commande analogiques, il en reste quelques-uns. Ils ressemblent à des synthés modulaires analogiques. Les choses sont différentes et vous pouvez généralement construire des ordinateurs analogiques uniquement pour des tâches spécifiques. Drôle de présentation en allemand sur l'informatique analogique.

S'agissant des synthés analogiques modulaires, ils constituent également une sorte d'ordinateurs analogiques, spécialement conçus pour effectuer des calculs d'appels lorsque des signaux changent.

Il existe donc une transmission analogique en informatique, mais limitée à des domaines très spécifiques.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.