Mi chiedo se posso usare il livello ethernet fisico come una porta seriale. È possibile? Il caso sarebbe leggere i segnali con un dispositivo elettronico senza occuparsi delle intestazioni di rete.
Mi chiedo se posso usare il livello ethernet fisico come una porta seriale. È possibile? Il caso sarebbe leggere i segnali con un dispositivo elettronico senza occuparsi delle intestazioni di rete.
Sì, puoi assolutamente abbandonare i livelli del protocollo di rete e inviare i dati "direttamente". Ma probabilmente non lo vorrai.
Quello che fai è usare Ethernet Phy, magnetici e connettori standard. Ma invece di utilizzare un MAC Ethernet (controller di accesso ai media) si utilizza un FPGA per inviare / ricevere dati senza il sovraccarico di rete. Ciò è stato fatto per diverse interfacce "non del tutto compatibili con Ethernet" come Ethersound e altri protocolli industriali.
Una cosa che non puoi abbandonare è la natura del pacchetto. È comunque necessario trasmettere dati in pacchetti da 64 a circa 1500 byte (alcuni Phy consentono pacchetti fino a 8192 byte). Non è possibile trasmettere pacchetti inferiori a 64 byte o superiori a 1500. E si deve tenere conto del corretto "gap" tra i pacchetti. Ma hai il controllo completo su ciò che è nei pacchetti e su qualsiasi intestazione (se presente).
Sto sorvolando su molti dettagli, tuttavia. In realtà non è così facile ei requisiti sono diversi a seconda dello standard Ethernet che si desidera utilizzare (10/100/1000 mbps). In alcuni casi ci sono problemi di codifica del segnale da affrontare.
Ti consiglio di non farlo su Ethernet. Richiede una grande quantità di abilità per progettare la logica FPGA, abilità che la maggior parte delle persone non ha. E i vantaggi di farlo sono minimi. È molto più facile usare semplicemente i controller Ethernet standard e gli stack di protocolli associati che inventare le proprie cose.
Puoi effettivamente eseguire RS232 su un cavo ethernet Cat5. Router e dispositivi simili a volte hanno porte "console" seriali con prese modulari 8P8C (jack RJ45).
Tuttavia, se si desidera inviare dati seriali tramite una scheda NIC Ethernet senza che appaiano pacchetti Ethernet effettivi sul cavo, sfortunato.
D'altra parte, molti produttori vendono convertitori da seriale a ethernet che possono essere usati in coppia per connettere in modo trasparente dispositivi seriali usando l'infrastruttura Ethernet. Cerca "Ethernet Serial"
A volte questi vengono forniti con "ComPort Redirector Software" che crea una porta Com virtuale su un computer. Probabilmente funzionano con la maggior parte delle applicazioni che si aspettano una vera porta seriale. Potrebbero non funzionare se stai eseguendo piccole manipolazioni.
Sulla base della tua domanda penso di sapere cosa vuoi, ma prima vorrei chiarire alcune cose.
Ora passiamo alla tua domanda:
Puoi acquistare dispositivi che trasporteranno seriale su 100BASE-T ma non faranno alcun incapsulamento. Questi dispositivi non funzioneranno con la rete domestica poiché lo switch / hub / router si aspetta che i pacchetti IEEE 802.3 arrivino lungo il cavo e non i pacchetti seriali.
Puoi anche ottenere dispositivi che funzioneranno in seriale su IP ma non è necessario utilizzare un cavo 100BASE-T (o Ethernet).
Sì e no; il rame è rame e il rame RJ45 funziona alla grande per le connessioni seriali, ma non confonderlo per Ethernet a meno che non stia parlando del protocollo Ethernet: switch e altri dispositivi Ethernet non approveranno.
A Cisco piace sicuramente questa idea, per esempio; il cavo standard della console seriale Cisco è RJ45 in rame all'estremità del dispositivo.
No, non con quello che di solito viene inteso come "livello fisico" di Ethernet. Questo include il cavo, il magnete e il PHY (sta per "fisico"). Anche a livello fisico, non stai solo inviando livelli arbitrari 0 e 1 all'altra estremità.
Ci sono anche più cose chiamate "ethernet" che sono diverse a livello fisico. C'è l'originale, 10base-2, 10base-T, 100base-T, ecc. Quelli più vecchi e lenti usavano la codifica manchester, se ricordo bene. A 100 Mbit / s le cose sono state cambiate per ottenere la maggiore velocità. Anche se ti limitassi alle vecchie versioni con codifica manchester da 10 Mbit / s, la risposta sarebbe comunque no. I dati vengono intrinsecamente inviati in pacchetti. Questi hanno un preambolo privato del phy layer che viene utilizzato in parte per il rilevamento delle collisioni (in alcune varianti), la sincronizzazione dell'orologio e l'inizio dell'identificazione dei pacchetti. Poi c'è un segnale di uscita dal pacchetto, come gli impulsi di collegamento, che è gestito nel livello fisico. Poiché Ethernet è accoppiato tramite trasformatore, tutto deve avvenire a una frequenza minima poiché il livello CC viene perso da un'estremità all'altra. Questa è una delle ragioni per la codifica di manchester.
Potresti impostare una ethernet privata con solo un phy a ciascuna estremità e inviare singoli pacchetti. Tecnicamente non hai bisogno di un livello MAC se vuoi solo ottenere pacchetti di bit grezzi da un'estremità all'altra. In pratica, è probabilmente più facile usare anche un livello MAC a ciascuna estremità, anche se vuoi solo pacchetti di bit da un'estremità all'altra. I chip Phy sono solitamente progettati per essere guidati solo da specifici chip MAC, o talvolta si ottengono PHY e MAC tutti integrati in un chip, chiamato MAC / PHY. Puoi ancora inviare pacchetti di dati grezzi a livello MAC ignorando alcune delle cose del wrapper.
Per fare ciò, dovresti prendere il livello fisico PHYceiver da una scheda Ethernet e collegarlo a una porta seriale anziché a un controller Ethernet.
Tieni presente che puoi usare solo questo punto a punto. Non è possibile utilizzare hub o switch. Alcuni hub potrebbero funzionare per fortuna, ma gli switch sicuramente non lo faranno.
Qual è il problema esterno? Probabilmente ci sono modi molto migliori per portare a termine il lavoro.