www.eprace.edu.pl » rejestrowanie-multimediow » Układ interfejsu sieciowego W3100A » Opis funkcjonalny

Opis funkcjonalny

Układ W3100A zawiera zestaw rejestrów określających jego konfigurację, dostęp­nych przez interfejs mikroprocesora. Programowanie układu W3100A polega na wpisywaniu odpowiednich wartości do tych rejestrów. Wśród nich na szczególną uwagę zasługują dwie grupy: rejestry poleceń i rejestry statusowe – każdego z nich po jednym dla każdego kanału. Rejestr poleceń umożliwia wydawanie poleceń poprzez wpisanie do niego odpowiedniego kodu. Mogą to być polecenia inicjalizacji układu, otwarcia lub zamknięcia gniazda (ang. socket), nawiązania lub zakończenia połączenia (w trybie pracy z protokołem TCP), wysłania lub odebrania danych, testu pamięci. Rejestry statusowe natomiast zawierają informację o tym, czy dana operacja zakończyła się powodzeniem.

Synchronizacja pracy mikroprocesora z układem W3100A może odbywać się poprzez przerwania generowane przez W3100A lub techniką przeglądania (ang. polling) rejestru statusowego.

Celem ułatwienia korzystania z układu producent dostarcza interfejs API, zawierający funkcje implementujące obsługę wszystkich możliwości układu W3100A przy użyciu mikroprocesora. Funkcje te są napisane w języku C.

Obsługiwane protokoły

Każdy z czterech kanałów może być skonfigurowany na etapie otwarcia gniazda do pracy z jednym z czterech protokołów: TCP, UDP, IP, Ethernet MAC. Protokół TCP jest połączeniowy, wobec czego w jego przypadku muszą być używane polecenia nawiązania połączenia lub oczekiwania na połączenie nadchodzące oraz zakończenia połączenia. W przypadku pozostałych protokołów transmisja odbywa się bezpołączeniowo, więc w/w polecenia nie są stosowane.

Zestawianie i rozłączanie połączenia w trybie pracy z protokołem TCP

Protokół TCP jest protokołem połączeniowym. Oznacza to, że przed rozpoczęciem transmisji zestawiane jest tzw. połączenie wirtualne, co wiąże się z wyznaczeniem trasy od nadawcy do odbiorcy. W trakcie transmisji wszystkie pakiety danych będą przesyłane trasą ustaloną na etapie zestawiania połączenia. Takie postępowanie ma na celu zagwarantowanie, że pakiety przyjdą we właściwej kolejności oraz że żaden z nich nie zostanie zagubiony lub zduplikowany.


Rys. 6.2. Diagram zestawiania połączenia z protokołem TCP:

a) czynnie, b) biernie


Podczas zestawiania połączenia jedno z urządzeń uczestniczących w procedurze pracuje w trybie czynnym (wysyła pierwszy pakiet SYN), a drugie w trybie biernym (nasłuchuje oczekując na pakiet SYN). Zestawianie połączenia w trybie czynnym bądź biernym nie ma związku z późniejszym kierunkiem przesyłania danych. Układ W3100A ma możliwość rozpoczynania połączenia zarówno w trybie biernym, jak i czynnym, do czego służą odpowiednie bity w rejestrach poleceń poszczególnych kanałów. Przebieg procedur czynnego i biernego zestawiania połączenia zilustrowano na diagramach (rys. 6.2) zaczerpniętych z [3].

Gdy wszystkie dane zostaną przesłane, połączenie musi zostać zakończone. W przypadku zakończenia również jedno urządzenie pracuje czynnie (wysyła żądanie zakończenia FIN), a drugie biernie. Diagram rozłączania przedstawiono na rys. 6.3.


Rys. 6.3. Diagram rozłączania połączenia z protokołem TCP:

a) czynnie, b) biernie

Wysyłanie i odbieranie danych

W celu buforowania nadawanych i odbieranych danych układ W3100A został wyposażony w 16kB wewnętrznej pamięci RAM. Pamięć tę użytkownik może w pewnym zakresie dowolnie podzielić pomiędzy poszczególne kanały. Przy odbieraniu i nadawaniu danych wykorzystuje się 4-bajtowe rejestry wskaźników. Każdy kanał dysponuje oddzielnym zestawem rejestrów, dwóch do nadawania i dwóch do odbioru danych. W każdej takiej parze jeden z rejestrów stanowi wskaźnik dla zapisu danych do pamięci, a drugi do odczytu. Pamięć pracuje jako bufor cykliczny.



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.