Question:
Existe-t-il un moyen d'envoyer des données série sur une couche Ethernet physique sans encapsulation?
Uğur Gümüşhan
2012-01-05 05:06:10 UTC
view on stackexchange narkive permalink

Je me demande si je peux utiliser la couche Ethernet physique comme un port série. C'est possible? Le cas serait de lire des signaux avec un appareil électronique sans s'occuper des en-têtes de réseau.

Ma réponse instinctive est de vous dire d'utiliser un OpenGear. Mais j'appellerais aussi cela l'encapsulation. Bien que je me demande si ce que je considère comme l'encapsulation n'est pas vraiment ce que vous entendez par là ...?
Six réponses:
user3624
2012-01-05 10:08:53 UTC
view on stackexchange narkive permalink

Oui, vous pouvez absolument abandonner les couches de protocole réseau et envoyer des données "directement". Mais, vous ne voulez probablement pas.

Ce que vous faites, c'est d'utiliser des téléphones, magnétiques et connecteurs Ethernet standard. Mais au lieu d'utiliser un MAC Ethernet (contrôleur d'accès aux médias), vous utilisez un FPGA pour envoyer / recevoir des données sans la surcharge du réseau. Cela a été fait pour plusieurs interfaces "pas tout à fait compatibles Ethernet" comme Ethersound et d'autres protocoles industriels.

Une chose que vous ne pouvez pas abandonner est la nature des paquets. Vous devez toujours transmettre des données par paquets de 64 à environ 1500 octets (certains Phy autorisent les paquets jusqu'à 8192 octets). Vous ne pouvez pas transmettre de paquets inférieurs à 64 octets ou supérieurs à 1 500. Et vous devez prévoir le «décalage» approprié entre les paquets. Mais vous avez un contrôle total sur ce qui est dans les paquets, et sur tout en-tête (le cas échéant).

Je passe cependant sous silence beaucoup de détails. Ce n'est en fait pas si simple et les exigences sont différentes selon la norme Ethernet que vous souhaitez utiliser (10/100/1000 Mbps). Dans certains cas, il y a des problèmes d'encodage de signal à résoudre.

Je vous conseillerais de ne pas faire cela avec Ethernet. La conception de la logique FPGA nécessite une grande quantité de compétences - compétence que la plupart des gens ne possèdent pas. Et les avantages de faire cela sont minimes. Il est beaucoup plus facile d'utiliser simplement les contrôleurs Ethernet standard et les piles de protocoles associés que d'imaginer votre propre truc.

Les exigences de longueur de paquet sont imposées pour garantir une détection et une récupération fiables des collisions. Si l'on exploitait un réseau privé avec une longueur de câble maximale différente et des délais de réessai différents, on pouvait autoriser des paquets plus courts ou plus longs. Néanmoins, le codage au niveau des octets utilisé sur Ethernet nécessite que les octets de données soient envoyés consécutivement sans pause, contrairement à la série asynchrone qui peut accepter et conserver des quantités arbitraires de synchronisation entre les octets.
@supercat Ce n'est pas tout à fait correct, du moins pas dans ce contexte. Des paquets plus courts pourraient être acceptables, mais des paquets plus longs ne le seraient pas (à moins que cela ne soit spécifié dans la fiche technique Phy). Le Phy fait quelque chose qui s'appelle "Baseline Wander Correction". Normalement, le Phy utilise l'intervalle entre les paquets pour recalibrer la ligne de base. Si cela n'est pas fait assez souvent, cela se déséquilibre et vous obtenez des erreurs de données. La physique moderne avec un meilleur BWC permet des longueurs de paquet plus longues (a.k.a. Jumbo Packets). La détection de collision joue un rôle, mais ce n'est pas toute l'histoire.
RedGrittyBrick
2012-01-05 05:23:49 UTC
view on stackexchange narkive permalink

Vous pouvez en effet utiliser RS232 sur un câble Ethernet Cat5. Les routeurs et appareils similaires ont parfois des ports série «console» avec des prises modulaires 8P8C (prises RJ45).

Cependant, si vous souhaitez envoyer des données série via une carte réseau Ethernet sans que de véritables paquets Ethernet n'apparaissent sur le câble, vous êtes pas de chance.

D'un autre côté, de nombreux fabricants vendent des convertisseurs série-Ethernet qui peuvent être utilisés par paires pour connecter de manière transparente des périphériques série à l'aide d'une infrastructure Ethernet. Recherchez "Ethernet Serial"

Example from gridconnect.com

Parfois, ceux-ci sont fournis avec un "Logiciel de redirection ComPort" qui crée un port Virtual Com sur un ordinateur. Ceux-ci fonctionnent probablement avec la plupart des applications qui attendent un vrai port série. Ils peuvent ne pas fonctionner si vous faites du twiddling de bas niveau.

enter image description here

De plus, s'il y a un commutateur entre les deux, cela deviendra * très * confus.
Scott Chamberlain
2012-01-05 05:32:11 UTC
view on stackexchange narkive permalink

D'après votre question, je pense que je sais ce que vous voulez, mais je veux d'abord clarifier certaines choses.

  • Ethernet (ou comme la norme s'appelle IEEE 802.3) se trouve sur la couche 2 ( couche de liaison de données) du modèle OSI.
  • Le fil (le câble cat5 / 6 et les connecteurs RJ45) est en fait défini dans la couche 1 ( couche physique), vous avez peut-être entendu parler du terme 100BASE-T avant, qui définit la couche physique.
  • Ethernet n'a pas besoin de fonctionner sur 100BASE-T, et 100BASE-T n'a pas besoin de transporter Ethernet

Passons maintenant à votre question:

Vous pouvez acheter des appareils qui porteront le numéro de série sur 100BASE-T mais ne feront aucune encapsulation. Ces périphériques ne fonctionneront pas avec votre réseau domestique car votre commutateur / concentrateur / routeur s'attend à ce que des paquets IEEE 802.3 arrivent sur le câble et non des paquets série.

Vous pouvez également obtenir des appareils qui fonctionneront en série sur IP, mais il n'est pas nécessaire d'utiliser un câble 100BASE-T (ou Ethernet).

Shane Madden
2012-01-05 05:11:46 UTC
view on stackexchange narkive permalink

Oui et non; le cuivre est du cuivre et le cuivre RJ45 fonctionne très bien pour les connexions série, mais ne le confondez pas avec Ethernet à moins qu'il ne parle du protocole Ethernet - les commutateurs et autres périphériques Ethernet n'approuveront pas.

Cisco aime certainement cette idée, par exemple; le câble de console série Cisco standard est en cuivre RJ45 à l'extrémité de l'appareil. enter image description here

Cela n'utilise pas la [couche physique Ethernet] (http://en.wikipedia.org/wiki/Ethernet_physical_layer), c'est juste des câbles Ethernet. La couche physique comprend la méthode de signalisation, les niveaux de tension, le brochage, etc.
@DavidSchwartz "sans s'occuper des en-têtes de réseau" en sort carrément du domaine d'Ethernet. Compte tenu de cela, je suppose qu'il voulait dire qu'il aimerait utiliser CAT5 pour une connexion série. Uğur, est-ce le cas?
Les en-têtes de réseau ne font pas partie de la couche physique Ethernet. Vous supposez qu'il voulait dire quelque chose de non standard par le terme technique "[couche physique Ethernet] (http://en.wikipedia.org/wiki/Ethernet_physical_layer)". On pourrait penser qu'il aurait dit «câbles Ethernet» ou quelque chose de similaire informel.
@DavidSchwartz Vous avez tout à fait raison, mais il existe également une barrière linguistique potentielle. La formulation de la question m'a amené à penser que Ethernet n'était pas le terme qu'il recherchait. Je supprimerai cette réponse si cela s'avère ne pas être le cas - et j'ai voté pour votre réponse pour avoir répondu à la question réelle au lieu de la question imaginée.
La seule exception à ce qui précède à laquelle je peux penser est IMPI / série sur LAN ou IAMT / SOL qui, je suppose, doit encore nécessiter une encapulation (je n'ai jamais reniflé le trafic avec l'intention de vérifier cela) - en accord avec David Schartz, veuillez fournir plus d'informations pour nous permettre de vous aider.
+1 Je pense que cela répond à ce que le PO avait à l'esprit à l'origine.
Olin Lathrop
2012-01-05 21:15:47 UTC
view on stackexchange narkive permalink

Non, pas avec ce que l'on entend généralement comme la "couche physique" d'Ethernet. Cela comprend le câble, le magnétisme et le PHY (signifie «physique»). Même au niveau de la couche physique, vous n’envoyez pas simplement des niveaux arbitraires 0 et 1 à l’autre extrémité.

Il y a aussi plusieurs choses appelées «Ethernet» qui sont différentes au niveau de la couche physique. Il y a l'original, 10base-2, 10base-T, 100base-T, etc. Les anciens plus lents utilisaient l'encodage Manchester si je me souviens bien. À 100 Mbit / s, les choses ont été modifiées pour atteindre la vitesse supérieure. Même si vous vous limitez aux anciennes versions codées Manchester 10 Mbit / s, la réponse serait toujours non. Les données sont intrinsèquement envoyées par paquets. Ceux-ci ont un préambule privé à la couche phy qui est utilisé en partie pour la détection de collision (dans certaines variantes), la synchronisation d'horloge et le début de l'identification des paquets. Ensuite, il y a une signalisation hors paquet, comme les impulsions de liaison, qui est gérée dans la couche physique. Puisque l'Ethernet est couplé par transformateur, tout doit se produire à une fréquence minimale puisque le niveau CC est perdu d'un bout à l'autre. C'est une des raisons de l'encodage manchester.

Vous pouvez configurer un Ethernet privé avec juste un phy à chaque extrémité et envoyer des paquets individuels. Techniquement, vous n'avez pas besoin d'une couche MAC si vous souhaitez simplement obtenir des paquets de bits bruts d'un bout à l'autre. En pratique, il est probablement plus facile d'utiliser une couche MAC à chaque extrémité aussi, même si vous voulez juste des paquets de bits d'un bout à l'autre. Les puces Phy sont généralement conçues pour être pilotées uniquement par des puces MAC spécifiques, ou parfois vous obtenez le PHY et le MAC tous intégrés dans une seule puce, appelée MAC / PHY. Vous pouvez toujours envoyer des paquets de données brutes au niveau MAC en ignorant certains éléments du wrapper.

David Schwartz
2012-01-05 05:12:19 UTC
view on stackexchange narkive permalink

Pour ce faire, vous devez prendre la couche physique PHYceiver d'une carte Ethernet et la connecter à un port série plutôt qu'à un contrôleur Ethernet.

Notez que vous ne pouvez utiliser que ce point à point. Vous ne pouviez pas utiliser de concentrateurs ou de commutateurs. Certains hubs peuvent fonctionner par chance, mais les commutateurs ne le seront certainement pas.

Quel est le problème extérieur? Il existe probablement de bien meilleures façons de faire le travail.

Faites de votre dernier paragraphe un commentaire. Idéalement, vous devriez poser toutes les questions pertinentes avant de répondre.
Non, vous ne pouvez pas "simplement" prendre un Phy et le connecter à un port série. Les interfaces standard MII / GMII / Etc vers Phy's nécessitent la transmission de certains symboles que vous ne pouvez pas faire avec une simple connexion série.
@DavidKessner Vous avez raison. Vous auriez besoin d'un pointage et d'un encodage que le PHY pourrait tolérer. L'idée est fondamentalement un non-démarreur.
@Kellenjb Je n'ai pas besoin de savoir que pour répondre à sa question, je suggère simplement qu'il pose la mauvaise question.


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 3.0 sous laquelle il est distribué.
Loading...