2013-01-21 18 views
13

È possibile leggere i bit direttamente dalla interfaccia di connessione ethernet fisica da un'interfaccia PC standard di Ethernet?driver a basso livello ethernet per leggere i bit off strato PHY

esempio, supponiamo che io voglio usare la presa ethernet di un computer portatile come una sonda logica differenziale (utilizzando un cavo Ethernet standard). Potrei scrivere potenzialmente un driver per ottenere i bit o c'è un limite a quanto può scendere un pilota?

In sostanza, il livello fisico invia semplicemente il flusso di bit al driver di periferica o esegue qualsiasi decodifica che influirà sull'interpretazione dei bit o causerà il malfunzionamento del dispositivo (ad esempio utilizzando un diverso schema di codifica).

Immagino che cosa si riduce a, è, possiamo usare la porta Ethernet come qualsiasi collegamento di comunicazione differenziale digitale standard scrivendo un driver adatto o siamo limitati alla specifica ieee (8b/10b, ecc ...).

+0

direi, tu sei molto meglio con un adattatore da USB a RS232, o un Arduino, che è possibile programmare per saltare attraverso cerchi di fuoco di qualsiasi tipo in pochi minuti ... o se qualcosa, per (molto) bassa larghezza di banda, prenderei anche in considerazione la scheda audio ... – ppeterka

+0

@ppeterka Non è bassa larghezza di banda e non è a breve distanza.Si tratta fondamentalmente di comunicazioni digitali che utilizzano un protocollo diverso rispetto alla rete Ethernet standard. – jsmdnq

+0

@jsmdq Posso leggere, grazie. Anche se ciò che proponi è possibile, sarebbe molto dipendente dal dispositivo (per non parlare del fatto che devi ottenere la documentazione per tutti i dispositivi per iniziare anche con esso) e impiegherebbe molto tempo. Ecco perché ho scritto quello che ho scritto. A proposito, perché ne hai bisogno? Che cosa non è adatto per Ehternet? – ppeterka

risposta

2

Per rispondere a breve, probabilmente non.

Ecco alcuni dei motivi per cui:

Su un collegamento livello hardware, non c'è alcuna connessione elettrica tra il computer ed il cavo ethernet, è isolato elettricamente da piccolo trasformatore ed è aggiornato e non segnale pilotato da tensione, quindi questo sarà il primo problema da superare, in quanto dovresti inviare una corrente piuttosto precisa su due linee anziché una tensione su una singola linea. Ethernet transformers

interfaccia PHY Hardware: Quindi il passo successivo, è che questo non è controllato dalla CPU in cui viene eseguito il codice, ma da un'interfaccia Chip ethernet PHY, e non ci si può in alcun modo (facile) di lampeggiare e controllarlo. Alcuni chip PHY diversi ti consentono un diverso livello di accesso, ma dubito che troveresti qualsiasi dispositivo che ti permetta di controllare direttamente l'interfaccia di trasmissione e, anche se fosse così, dovrebbe essere implementato nel driver che è altrettanto improbabile. Ethernet PHY Controller

Forse alcune altre soluzioni le osservazioni di cui sopra, se si vuole avere il controllo diretto IO su un computer, la soluzione migliore è su una porta seriale o parallela, forse si possono trovare Ethernet seriale o USB alla porta seriale e poi giocare con quello, ma questo sarebbe segnali digitali.

Un'altra cosa che si può decidere di utilizzare è l'ingresso del microfono, in quanto questo accetta segnali analogici e si può avere il controllo diretto su di esso, anche se fate attenzione a non bruciare il vostro computer. (Ho visto qualche banda magnetica con carta di credito usando quella sui cellulari).

+0

Esistono carte che consentono l'accesso a livello di PHY? Questo è quello che mi chiedo, per lo scopo della taglia. Anche se c'è l'hardware di debug o qualcosa del genere. – Brad

+0

@Brad Perché non utilizzare l'hardware incorporato? Lì in genere hai molto più controllo su tutto. Prendiamo ad esempio Zedboard (forse non è il miglior esempio, ma il primo che mi è venuto in mente perché l'ho usato per sostituire lo strato IP con un proprio protocollo). Lì puoi controllare completamente il chip PHY (devi guardare in dettaglio nella scheda tecnica del PHY, se ti permette quello che devi fare), ma è davvero un casino! – yar

+0

@yar Sarebbe bene. Conosci qualcuno che non sia tanto un casino? :-) Non voglio inventare il mio hardware tanto quanto voglio guardare i frame Ethernet non conformi da altri dispositivi. – Brad

1

È possibile utilizzare libpcap/WinPcap per fare questo. Tuttavia non sei completamente libero nella scelta di ciò che scrivi/leggi sul filo. per esempio. il preambolo e la SFD devono essere lì. Questo è così fondamentale (a causa della resistenza al rumore), che l'hardware tipico non supporta nulla di diverso.

Se si desidera controllare completamente tutto, accedere all'hardware incorporato, trovare una scheda che utilizza un PHY che può fornire tali informazioni e un processore in grado di gestire le velocità dei dati.