Układ W3100A zawiera zestaw rejestrów określających jego konfigurację, dostępnych 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.
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.
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
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
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.
Copyright © 2008-2010 EPrace oraz autorzy prac.