Pourquoi ne pas implémenter 1 Gbit / s, alors que tout ce dont j'ai besoin est de 20 Mbit / s?


27

Contexte

Je travaille avec un client sur un grand projet qui nécessite une puce de mise en réseau personnalisée pour répondre aux exigences de transfert de données au sein du projet. Le réseau est destiné à envoyer de petits paquets à quelques centimètres d'un PCB à un autre via un seul câble à paire torsadée. Nous allons concevoir et spécifier le protocole réseau, et une autre société sera responsable de la mise en œuvre du silicium.

J'estime que le débit de données de 20 Mbps entre les nœuds fera facilement face à la quantité de données qui doit être envoyée, avec beaucoup d'espace pour la tête si la quantité de données augmente à l'avenir.

Problème

Le client me demande pourquoi je ne spécifie que 20Mbps. Pourquoi pas quelque chose comme 1Gbps? Ce ne serait pas mieux? Intuitivement, je pense que monter massivement le débit de données au-delà de ce qui serait nécessaire est une mauvaise idée. Au départ, je pensais que le câblage devrait être blindé (ce que je ne veux pas), mais en regardant les catégories de câbles Ethernet, je vois que Gigabit Ethernet peut fonctionner sur un câble Cat 6, qui n'a pas besoin d'être blindé.

Autres contraintes

  • Le projet est désespérément limité par l'espace, et n'avons-nous pas de place pour des choses comme le magnétique, sauf s'il s'agit d'un très petit composant (0603 max).
  • Les câbles doivent être aussi fins et flexibles que possible.
  • L'appareil fonctionnera avec une alimentation enfichable, il n'y a donc pas d'exigence particulière de faible puissance.

Question

Quels sont les problèmes, en termes de conception de silicium, de câblage et d'autre chose, qui peuvent être rencontrés à 1 Gbit / s, qui ne seraient pas aussi graves à 20 Mbit / s? Dois-je suivre la suggestion de mon client de mettre en œuvre le réseau à 1 Gbit / s, ou dois-je insister pour ne mettre en œuvre que ce qui est requis?

Nous sommes soumis à un NDA strict, donc je ne peux pas donner trop de détails sur nos exigences. Mais veuillez laisser un commentaire si une clarification est nécessaire.


3
Si l'application a besoin d'un débit de 20 Mbps, alors une norme plus ancienne de 100 Mbps serait suffisante, compte tenu de tous les frais généraux et autres. La question se posera donc sur le coût de mise en œuvre, la disponibilité future des pièces. Avez-vous vérifié les coûts correspondants? Aussi, que voulez-vous dire "en termes de conception de silicium"? Envisagez-vous de concevoir votre propre silicium?
Ale..chenski

9
1 Gbit / s peut être un excès ... 100 Mbit / s peut être une prochaine étape de vitesse plus appropriée .... si le client est soucieux de pérenniser l'appareil, peut-être explorer l'utilisation de la compression de données ...... peut-être démontrer le client combien de débit de données est atteint avec 20 Mbps ... montrez-leur une vidéo youtube HD et expliquez que la bande passante n'est que de 8 Mbps environ
jsotola

12
Pourquoi voulez-vous un protocole "réseau" pour une connexion point à point?
Le Photon

20
Concevoir "un protocole réseau" à partir de zéro ne semble pas être une idée particulièrement judicieuse. Cela pourrait être assez coûteux pour la conception, la mise en œuvre de la couche physique, la validation de la couche physique, puis la couche de protocole, tous les logiciels associés et leur validation, etc. etc. Avez-vous entendu parler de HSIC, une sorte d'USB sur 1.2VLVCMOS?
Ale..chenski

20
S'il vous plaît, préparez une démonstration avec des circuits intégrés Ethernet 100M sans magnétisme pour la démonstration à l'utilisateur et à vous-même, ce qui peut être fait avec des pièces standard standard. Ne faites pas de silicium personnalisé, de protocoles personnalisés, sans comprendre pourquoi les standards ne le feront pas.
Neil_UK

Réponses:


24

Quelques raisons:

Puissance

Une vitesse plus rapide signifie plus de puissance. Non seulement vous avez besoin de circuits analogiques plus rapides, qui consommeront plus d'énergie, mais tous vos appareils électroniques qui les entourent doivent être plus rapides. Vos systèmes numériques, vos verrous, la gestion de l'horloge, etc. Si vous obtenez ce 1 Gbit / s en utilisant la signalisation à plusieurs niveaux, vous avez maintenant besoin de meilleurs ADC et DAC. Vous devrez peut-être commencer à gérer un filtrage plus complexe. Vous pourriez commencer à exiger la FEC qui doit également suivre.

Taille de puce

Plus rapide signifie plus de choses. Vous avez besoin d'une meilleure stabilité d'horloge, ce qui signifie des circuits plus gros. Vous avez besoin d'un meilleur timing, ce qui signifie un système de récupération d'horloge plus complexe. Vous devrez peut-être passer à l'utilisation du DSP pour effectuer l'égalisation des canaux. Votre FEC potentiellement nécessaire a besoin d'un espace de puces.

Sensibilité à l'environnement

Si vous passez de quelques dizaines de mégabauds à tout ce qui est nécessaire pour le gigabit, vous deviendrez beaucoup plus sensible à l'environnement. De petites discordances qui pourraient être imperceptibles à quelques dizaines de MHz deviennent des talons résonnants à des fréquences plus élevées. Les réflexions peuvent commencer à provoquer des performances intermittentes. Un câble entaillé en raison d'un abus au fil des ans (je ne connais pas l'environnement d'application de votre produit) peut convenir à des vitesses inférieures, mais entraîner de mauvaises performances lorsque vous montez plus haut.

Effort de conception

Je pense qu'il est évident d'après toutes les questions supplémentaires que j'ai discutées ci-dessus que le temps et les efforts nécessaires pour concevoir un lien de communication plus rapide sont importants. Cela seul devrait être une raison suffisante.

EMI

Une vitesse plus rapide signifie qu'il peut être plus difficile de répondre aux exigences EMI.


5
@Rocketmagnet: Il convient également de souligner que le gig-E 802.3 1000Base-T réel sur Cat5e envoie des signaux dans les deux directions à la fois sur 4 paires de fils, ainsi que l'utilisation d'un codage à plusieurs niveaux, pour maintenir les fréquences à la même 125 MHz comme 100Base-T . Ainsi, chaque récepteur doit soustraire ce que son propre émetteur envoie, pour obtenir uniquement le signal envoyé par l'autre extrémité.
Peter Cordes

2
@PeterCordes - C'est très intéressant, j'examinerai cela. Mais cela semble beaucoup plus complexe que le LVDS de base.
Rocketmagnet

2
@Rocketmagnet: oui, GigE sonne comme un très mauvais choix pour cela. Il y a une raison pour laquelle les émetteurs-récepteurs GigE utilisent plus de puissance que 100M.
Peter Cordes

24

Les signaux TTL (asymétriques, non terminés) peuvent facilement gérer 20 Mbps ou plus - regardez SPI, par exemple. Si vous ne faites que quelques pouces, un câble ruban et des connecteurs IDC (ou un fond de panier quelconque) vous permettront de passer d'une carte à l'autre.

1 Gbit / s vous place dans le domaine de la gestion des traces, connecteurs et câbles à impédance contrôlée. Les récepteurs devront utiliser des techniques PLL / DLL pour maintenir la synchronisation et séparer l'horloge / les données, alors qu'à une vitesse plus lente, une logique synchrone normale sera suffisante. L'excès de 50 × et les maux de tête supplémentaires n'en valent tout simplement pas la peine, si vous êtes sûr que 20 Mbps suffiront dans un avenir prévisible.


J'ai déjà conçu (il y a environ 25 ans) un protocole de bus série personnalisé pour le contrôle carte à carte et l'état des cartes dans un rack de télécommunications. Une sorte de croisement entre I 2 C et SPI - des signaux unidirectionnels comme SPI, mais des adresses de périphériques intégrés comme I 2 C.


En supposant que nous avons déjà l'intention d'utiliser des traces, des câbles et des connecteurs à impédance contrôlée, y a-t-il d'autres problèmes?
Rocketmagnet

1
Les récepteurs devront utiliser des techniques PLL / DLL pour maintenir la synchronisation et séparer l'horloge / les données. À une vitesse plus lente, une logique synchrone normale sera suffisante.
Dave Tweed

10
Cela dépend des détails de votre technologie d'implémentation que vous n'êtes probablement pas en mesure de divulguer. Si vous utilisez des FPGA (comme l'implique votre utilisation de la balise), notez que tous les principaux fournisseurs proposent des solutions prêtes pour la communication puce à puce à différentes vitesses. Vous seriez bien avisé de l'utiliser pour votre couche physique et d'implémenter votre protocole personnalisé par-dessus.
Dave Tweed

1
Concevoir un bloc pll n'est pas anodin et acheter l'IP peut facilement vous coûter 50-100k $
Mike

1
@Tustique Vous pensez qu'il est trivial de concevoir votre propre PLL sur silicium?
user253751

14

La question évidente est: "Est-ce que 1 Gbps signifie Ethernet 1000BASET?" Si c'est ce que pense le client, votre exigence selon laquelle «nous n'avons pas de place pour des choses comme les magnétiques» les exclut immédiatement. Ethernet utilise des magnétiques sur la couche physique, et lorsque j'ai conçu une interface il y a quelques années, les magnétiques faisaient partie d'un cube d'environ 1 pouce.

Vous dites que vous utilisez des FPGA, mais vous ne dites pas à qui. Si vous optez pour Xilinx, vous devez savoir que les modèles actuels prennent en charge nativement LVDS, ce qui semble idéal pour votre objectif. Les premiers systèmes LVDS (téléviseurs haute définition) fonctionnaient à 122 Mbps, et la technologie peut aller bien au-delà d'un Gbps si vous en avez vraiment besoin. Étant différentiel, et en supposant que vos deux cartes n'utilisent pas de motifs flottants, l'immunité au bruit est excellente.

En ce qui concerne votre choix spécifique de fréquences d'horloge, ajouter plus de marge que vous pensez que vous avez besoin est l'une de ces décisions qui peuvent sauver votre bacon à l'avenir, donc je n'exclurais pas de choisir quelque chose comme 100 MHz, mais cela dépend de vous. Vous pourriez familiariser votre client avec la loi de Roberge (Jim Roberge était un professeur d'ingénierie électrique bien connu au MIT il y a quelques décennies): "Ceux qui demandent plus de bande passante que nécessaire méritent ce qu'ils obtiennent." Certes, il parlait de systèmes d'asservissement, mais le principe reste valable dans un éventail remarquablement large de disciplines.


7
Ethernet n'a pas besoin de magnétiques si vous effectuez une connexion non standard. Il est assez fiable s'il est mis en œuvre sans l'isolement.
Jack Creasey

1
@JackCreasey mais peut-on encore l'appeler Ethernet ?
Mels

2
Il n'est certainement pas conforme à la norme IEEE 802.3. Il ne se connectera pas à un point final conforme, mais j'ai dit qu'il ne serait pas conforme sans le magnétique. Je doute qu'il passerait la suite de tests pour les signaux sur la connexion du fond de panier, mais il devrait passer tout le reste, y compris la gigue. Je l'appellerais toujours Ethernet, mais vous ne le pouvez pas.
Jack Creasey

2
Pour info: le seul résultat de Google pour "Ceux qui demandent plus de bande passante que nécessaire méritent ce qu'ils obtiennent." est cette réponse.
user253751

11

L'application que vous décrivez n'a pas de sens pour passer directement à une solution de silicium personnalisée. Les débits de données que vous prévoyez peuvent être facilement gérés par la technologie FPGA à prix modéré et le FPGA peut être programmé pour implémenter le protocole spécial si vous croyez vraiment qu'un tel protocole est nécessaire.

Plus souvent, vous devriez envisager une couche physique standard, puis créer un protocole personnalisé en plus. Pour une bande passante nette du canal de communication de 20 Mbps, vous devez prévoir une surcharge de protocole d'une certaine quantité car le cadrage, le codage de vérification des erreurs et la synchronisation consomment une partie de votre bande passante. Considérez donc peut-être une bande passante brute plus élevée pour tenir compte de cette surcharge.

Une fois que votre conception a été prouvée, vous pouvez vous adresser au fournisseur FPGA et lui demander de produire une conception de puce dure à partir de la programmation FPGA. Cette approche atténue tous les risques de développement précoce et réduit les coûts NRE globaux de manière considérable par rapport à la "plongée dans du silicium personnalisé simplement parce qu'il semble cool".


C'est exactement la voie que nous avons l'intention de prendre.
Rocketmagnet

11

La vraie question est de savoir pourquoi concevoir un protocole alors que tout existe déjà.

Pour les solutions Ethenet, vous prenez 10/100 et non 1 GbE car c'est toujours un peu moins cher et beaucoup plus facile à mettre en page. Soit dit en passant, Ethernet peut fonctionner sans magnétique. Mais cela nécessite un MAC, qui peut être un IC supplémentaire. Ou en avez-vous un dans un microcontrôleur?

20Mbps est quelque chose qui correspond à Rs485 ou à une telle couche, ce qui est encore moins cher et plus simple. Les paires torsadées sont livrées avec toutes sortes de câbles, plus ou moins flexibles, avec des connecteurs ou simplement soudés à votre PCB.

Ah, le plus important. Il est plus facile de foirer avec 1 Go. Mais s'ils ont besoin de place pour poursuivre leur croissance, cela limite moins.

Conclusion: vous devez comprendre la configuration système requise.


10

Je suggérerais que la route la plus simple avec les meilleures chances de succès et le moins de surcharge logicielle serait d'implémenter une connexion Ethernet à 100 Mbps. Vous pouvez l'implémenter sans aucun magnétisme impliqué lorsque les distances sont petites.

Voici un début avec des informations sur le contrôleur PCI-Ethernet Intel 8255 et une note d'application sur les connexions sans le magnétisme.
Je ne suggère pas que vous utilisiez le 8255, mais vous pouvez obtenir l'IP (10/100 / 1000Mbps) pour n'importe lequel des FPGA que vous utiliserez probablement très facilement, et c'est bien débogué.

En supposant que vous ayez un processeur dans le mélange, la prise en charge d'un contrôleur Ethernet standard est un moyen très peu d'effort logiciel pour implémenter un réseau point à point.
Nous avons utilisé un tas de ce type de connexions point à point sur des cartes mères spécialisées chez Intel, elles étaient faciles à déboguer et très fiables.


4
Bien que Ethernet pourrait faire le protocole, 100 Ethernet base a une minimum exigence de distance de 1 mètre (ce bit moi il y a quelques années en utilisant un Ethernet sur la mise en œuvre de fond de panier). L'OP a mentionné que la distance était de quelques pouces, ce qui exclut plutôt Ethernet sur la couche physique.
Peter Smith

1
@PeterSmith, la distance minimale NE S'APPLIQUE PAS à Ethernet sans le magnétique. Cela fonctionnera à seulement quelques pouces.
Jack Creasey

5

Les réponses ici sont techniques, je donne une perspective d'ingénierie des exigences:

Ma vision est simple

  • Vous avez besoin d'au moins 20 Mbps pour le faire fonctionner, alors ne spécifiez pas 20 mais "20 ou plus" pour l'application.

  • tout matériel plus rapide répond également à vos besoins

  • si le matériel plus rapide est moins cher / plus facile à développer en raison des normes existantes, alors vos exigences peuvent également être satisfaites par celles-ci.

  • Si le client en veut plus, essayez de déterminer s'il y a quelque chose derrière (il se peut qu'il planifie déjà des mises à niveau et souhaite rester compatible entre les cartes lors du remplacement)


3

Puissance, intégrité du signal et synchronisation. J'ai travaillé sur une puce avec une interface à 25 gbps et cela signifiait une fréquence d'horloge de 1,6 GHz et une tonne de puissance. Si nous avions pu fonctionner à 19,2, la fréquence d'horloge aurait été de 1,2 GHz. Plus de 200 ps de marge supplémentaire par période d'horloge, cela aurait été d'une grande aide.

Je n'ai jamais fait de conception de carte, mais je m'attends à ce que 20 Mbps ne posent aucun problème. 1 Gbps n'est toujours pas si difficile, mais beaucoup plus difficile que 20 Mbps.

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.