2013-01-21 21 views
13

Czy można odczytywać bity bezpośrednio z fizycznego interfejsu połączenia ethernetowego ze standardowego interfejsu komputerowej sieci Ethernet?niskopoziomowy sterownik ethernetowy do odczytu bitów off warstwy phy

np. Załóżmy, że chcę użyć gniazda ethernetowego laptopa jako logiki różnicowej (przy użyciu standardowego kabla ethernetowego). Czy mógłbym potencjalnie napisać sterownik, żeby dostać się do bitów, czy też istnieje granica, jak niski może być kierowca?

Zasadniczo warstwa fizyczna wysyła strumień bitów do sterownika urządzenia lub wykonuje dekodowanie, które wpłynie na interpretację bitów lub spowoduje nieprawidłowe działanie urządzenia (np. Przy użyciu innego schematu kodowania).

Domyślam się, do czego to się sprowadza, czy możemy używać portu Ethernet jako standardowego cyfrowego łącza komunikacyjnego, pisząc odpowiedni sterownik, czy też ograniczamy się do specyfikacji ieee (8b/10b, etc ...).

+0

Powiedziałbym, że jesteś o wiele lepszy dzięki adapterowi USB do RS232, lub Arduino, które możesz zaprogramować, aby przeskoczyć przez płonące obręcze dowolnego rodzaju w ciągu kilku minut ... Lub jeśli coś, dla (bardzo) niska przepustowość, rozważałbym nawet kartę dźwiękową ... – ppeterka

+0

@ppeterka To nie jest niska przepustowość i nie jest to niewielka odległość.Jest to w zasadzie komunikacja cyfrowa z wykorzystaniem innego protokołu niż standardowa sieć Ethernet. – jsmdnq

+0

@jsmdq Mogę przeczytać, dzięki. Nawet jeśli to, co proponujesz, jest możliwe, byłoby wysoce zależne od urządzenia (nie wspominając już o tym, że musisz przygotować dokumentację dla wszystkich urządzeń, aby nawet zacząć), a zajęłoby to dużo czasu. Dlatego napisałem to, co napisałem. BTW, dlaczego tego potrzebujesz? Co to za zwykły ole Ehternet nie nadaje się? – ppeterka

Odpowiedz

2

Odpowiedzieć wkrótce, prawdopodobnie nie.

Oto niektóre z powodów, dlaczego:

na link sprzętowej warstwy, w rzeczywistości nie ma połączenia elektrycznego między komputerem a kabel ethernet, to jest elektrycznie odizolowane od małego transformatora i jest aktualny i nie sygnał napięciowy, więc będzie to pierwszy problem do pokonania, ponieważ trzeba wysłać dość precyzyjny prąd przez dwie linie, a nie napięcie w jednej linii. Ethernet transformers

Interfejs PHY Sprzęt: Wtedy następnym krokiem jest to, że jest to po prostu nie jest sterowany przez CPU, gdzie Twój kod jest wykonywany tylko przez interfejs Chip Ethernet PHY, a tam nie masz (łatwy) sposób flashowania i kontrolowania go. Niektóre różne układy PHY pozwalają na różny poziom dostępu, ale wątpię, czy znalazłbyś coś, co umożliwiłoby ci bezpośrednią kontrolę nad interfejsem transmisji, a nawet gdyby tak było, musiałoby zostać zaimplementowane do sterownika, co jest również mało prawdopodobne. Ethernet PHY Controller

Może niektórych innych rozwiązań jak powyższe komentarze, jeśli chcesz mieć bezpośrednią kontrolę IO na komputerze, najlepszym rozwiązaniem jest nad portem szeregowym lub równoległym, być może można znaleźć Ethernet do szeregowego lub USB do portu szeregowego, a potem baw się tym, ale to będą sygnały cyfrowe.

Inną rzeczą, której możesz chcieć użyć, jest wejście mikrofonowe, ponieważ akceptuje ono sygnały analogowe i możesz bezpośrednio nad nim sterować, ale zachowaj ostrożność, nie spalając komputera. (Widziałem jakaś karta magnetyczna na karcie bankowej używała tego na telefonach komórkowych).

+0

Czy są jakieś karty, które umożliwiają dostęp do poziomu PHY? Właśnie tego się zastanawiam, dla celów nagrody. Nawet jeśli istnieje sprzęt do debugowania lub coś takiego. – Brad

+0

@Brad Dlaczego nie używać osadzonego sprzętu? Tam zazwyczaj masz o wiele większą kontrolę nad wszystkim. Weźmy na przykład Zedboard (może nie najlepszy przykład, ale pierwszy, który przyszedł mi do głowy, ponieważ użyłem go do zastąpienia warstwy IP własnym protokołem). Tam możesz całkowicie kontrolować chip PHY (musisz szczegółowo przejrzeć arkusz danych PHY, czy pozwala ci to, co musisz zrobić), ale to naprawdę bałagan! – yar

+0

@yar To byłoby w porządku. Wiesz o tym, że nie ma tyle bałaganu? :-) Nie chcę wymyślać własnego sprzętu tak bardzo, jak chcę patrzeć na niezgodne ramki Ethernet z innych urządzeń. – Brad

1

Możesz użyć libpcap/WinPcap, aby to zrobić. Niemniej jednak nie jesteś całkowicie wolny w wyborze tego, co piszesz/czytasz na drucie. na przykład preambuła i SFD muszą pozostać. Jest to tak fundamentalne (ze względu na poziom hałasu), że typowy sprzęt nie obsługuje niczego innego.

Jeśli chcesz całkowicie kontrolować wszystko, przejdź do osadzonego sprzętu, znajdź płytkę, która używa PHY, która może dostarczyć ci te informacje i procesor, który jest zdolny do obsługi szybkości transmisji danych.