• Nie Znaleziono Wyników

LABORATORYJNY GENERATOR I ANALIZATOR RAMEK ETHERNET Streszczenie:

N/A
N/A
Protected

Academic year: 2021

Share "LABORATORYJNY GENERATOR I ANALIZATOR RAMEK ETHERNET Streszczenie:"

Copied!
5
0
0

Pełen tekst

(1)

Dariusz Kościelnik Jacek Stępień Katedra Elektroniki

Akademia Górniczo-Hutnicza al. Mickiewicza 30, 30-059 Kraków koscieln@agh.edu.pl, stepien@agh.edu.pl

LABORATORYJNY GENERATOR I ANALIZATOR RAMEK

ETHERNET

Streszczenie: W artykule przedstawiono konstrukcję i zasadę działania układów generatora i analizatora ramek Ethernet, wykorzystywanych podczas zajęć laboratoryjnych ze studentami kierunku Elektronika. Urządzenia umożliwiają zapoznanie ze strukturą rejestrów popularnego kontrolera sieci Ethernet, tworzenie i nadawanie własnych ramek oraz ich odbiór i wstępna analizę.

1. WPROWADZENIE

Generacja i analiza ramek Ethernetowych realizowana jest zazwyczaj podczas zajęć laboratoryjnych w oparciu o komputery PC, wyposażone w karty sieciowe. Stworzenie oprogramowania sterującego z poziomu aplikacji użytkownika nadawaniem czy odbiorem ramek, z wykorzystaniem driver’ów systemowych jest zadaniem, któremu sprosta każdy przeciętny informatyk. Wydawać by się mogło, że uniwersalność takiego rozwiązania, bazująca na szerokich możliwościach aplikacji użytkownika predysponuje je do zajęć dydaktycznych. Podejście takie odsuwa jednakże kwestię analizy protokołu sieciowego od zagadnień związanych ze sprzętem w kierunku oprogramowania. Dla konstruktora-elektronika wydaje się wiec to być w jakimś sensie ograniczeniem. Karta sieciowa traktowana jest jako pewnego rodzaju interfejs wejścia/wyjścia, natomiast bezpośrednią generację i odbiór ramek zapewnia odpowiednie wykorzystanie funkcji oferowanych przez driver. Nie pozwala to na bezpośrednie odwoływanie się do rejestrów wewnętrznych kontrolera sieci, jak również ogranicza obserwację jego pracy do zakresu podstawowych funkcji, obsługiwanych przez oprogramowanie systemowe.

Budowa kart sieciowych utożsamiana jest obecnie z firmowymi, najczęściej nieudokumentowanymi od strony technicznej chipsetami układów sterujących, o funkcjach których niewiele wiadomo. Poza takimi rozwiązaniami dostępne są jednak również układy kontrolerów ethernetowych, ogólnego przeznaczenia. Są to układy, o charakterystycznej dla mikrokontrolerów strukturze rejestrowej, pozwalające na skonstruowanie własnego, dedykowanego dla sieci Ethernet urządzenia. Urządzeniem tym może być zarówno klasyczna karta sieciowa, jak i dowolny inny moduł (również niezależny od komputera PC)

pracujący zgodnie z zasadami protokołu IEEE802.3. Taki właśnie układ kontrolera protokołu Ethernet wykorzystano do skonstruowania sprzętowego generatora i analizatora ramek.

2. BUDOWA URZĄDZEŃ

Struktura układowa obydwu modułów jest bardzo podobna. Są to niezależne urządzenia pracujące pod kontrolą mikrokontrolera jednoukładowego firmy Atmel AT89S8252, komunikujące się z komputerem sterującym za pośrednictwem portu szeregowego RS232. Różnice w konstrukcji układów generatora i analizatora ramek sprowadzają się do wykorzystania w układzie analizatora dodatkowego układu zewnętrznej pamięci RAM, przechowującej odebrane ramki danych.

2.1. KONTROLER ETHERNET RTL8019AS Układem odpowiedzialnym za realizację procesu nadawania i odbioru ramek jest jednoukładowy kontroler Ethernet firmy Realtek – układ RTL8019AS. Podstawowe cechy tego układu kontrolera to:

• Kompatybilność ze standardami Ethernet II i IEEE 802.3: 10Base5, 10Base2 oraz 10BaseT,

• Wbudowana pamięć SRAM o pojemności 16KB, • Dwa 16- bitowe kanały DMA,

• 16 bajtowa kolejka FIFO,

• możliwość współpracy z 8, 16 i 32 bitowymi systemami mikroprocesorowymi,

• obsługa transmisji typu unicast (MAC), multicast oraz broadcast.

Strukturę modułową układu przedstawiono na Rys. 1. Może ona umownie zostać podzielona na dwie wzajemnie niezależne części: tor odbiorczy i nadawczy.

Moduł odbiorczy umożliwia zapisywanie odczytywanych zgodnie z taktem zegara bitów, do rejestru przesuwnego. Rozpoczyna pracę w momencie kiedy na wejściu układu wykryty zostanie sygnał nośnej. Wchodzący w skład toru odbiorczego detektor synchronizacji ramki wykrywa znacznik początku ramki SFD (ang. Start Frame Deliminater). Każdy kolejny odebrany bajt jest przesyłany do kolejki FIFO, a licznik odebranych bajtów jest inkrementowany. Wewnętrzny układ DMA nadzoruje przepisywanie

2006

Poznańskie Warsztaty Telekomunikacyjne Poznań 7 - 8 grudnia 2006

(2)

Rys. 1. Schemat blokowy układu kontrolera sieci Ethernet RTL8019AS kolejnych bajtów ramki z pamięci FIFO do bufora

kołowego, zorganizowanego w formie 256-cio bajtowych obszarów (stron) wewnętrznej pamięci RAM. Stąd, po skompletowaniu i weryfikacji całej ramki mogą zostać odczytane przez procesor nadrzędny.

Pierwsze sześć bajtów (czyli adres odbiorcy) następujących po SFD jest sprawdzane przez układ kontroli adresu. Decyduje on na podstawie parametrów wpisanych w rejestrach wewnętrznych kontrolera o przyjęciu, bądź odrzuceniu aktualnie odbieranej ramki. W przypadku adresów typu multicast do sprawdzenia wykorzystywany jest algorytm filtracji hash.

Zadaniem układu generatora i kontroli CRC podczas odbioru jest obliczenie sumy kontrolnej przychodzącego pakietu i porównanie jej z sumą zapisaną na końcu ramki przez stację nadającą. W przypadku zgodności sumy obliczonej i odebranej ustawiany jest znacznik oznaczający poprawność CRC. Jeżeli sumy nie będą zgodne, zapamiętywany jest kod błędu i pakiet zostaje odrzucony (chyba że konfiguracja rejestrów zezwala na przyjęcie pakietów z nieprawidłową sumą kontrolną).

Proces generacji ramki Ethernet podzielić można na trzy etapy:

• przygotowanie danych do wysłania,

• konfiguracja rejestrów wewnętrznych, inicjująca nadawanie,

• sprawdzenie stanu rejestru statusu w celu nadzorowania poprawności transmisji.

Przygotowanie danych do wysłania sprowadza się do odpowiedniego skonfigurowania wewnętrznego kanału DMA układu, a następnie wpisywaniu

danych do wejściowego portu DMA. Zostaną one stamtąd automatycznie przeniesione do pamięci podręcznej kontrolera. Po skompletowaniu całości danych przeznaczonych do transmisji niezbędne jest zaprogramowanie odpowiednich rejestrów „wskaźnikowych” układu, na podstawie których układ samodzielnie konstruuje ramkę Ethernet. Pamięć podręczna przechowywać może więcej niż jedną ramkę danych. Dzięki temu możliwa jest wstępne przygotowanie ciągu ramek transmisyjnych, a ich nadawanie może być przeprowadzane bez konieczności komunikacji z układami zewnętrznymi.

Poprawność procesu transmisji kontrolowana jest poprzez nadzorowanie stanu bitów rejestru statusowego. W wypadku wykrycia błędów lub zakłóceń możliwe jest zgłoszenie przerwania do systemu nadrzędnego.

2.2. ZASADA DZIAŁANIA MODUŁÓW Układy generatora i analizatora ramek pracować mogą w dwóch trybach:

• Trybie zdalnym, w którym podłączone są do komputera PC i pracują pod kontrolą aplikacji sterującej,

• Trybie ręcznym, w którym pracują jako układy niezależne od zewnętrznego komputera a całe sterowanie realizowane jest za pomocą przycisków umieszczonych na urządzeniu.

Schemat blokowy układów przedstawiono na Rys. 2. Układ generatora ramek w obu trybach pracy musi zostać wstępnie zainicjowany przez komputer, który zapisuje do wewnętrznej pamięci dane przeznaczone do transmisji. Cały proces nadawania

TABLIC A ADRESOWA REJESTR STATUSOWY BUFORY DMA REJESTRY DMA UKŁAD DETEKC JI KOLIZJI PROTOKÓŁ PLA C OL C RS BSC ARBITRAŻ BREQ,BACK /AC K, READY /MRD, /MWR ODBIORNIK NADAJNIK M U X GENERATOR C RC RXC RXD 16 BYTE FIFO NAD/ODB FIFO CONTROL LOGIC LICZNIK GENERATOR PREAMBUŁY, JAM TXC RXD TXD 8 8 MAGISTRALA I / O B U F O 8/16 1 MAGISTRALA ADDRES/DANE UKŁAD WERYFIKAC JI ADRESU M U X

(3)

Rys.2 . Schemat blokowy generatora i analizatora ramek Ethernet

odbywa się już niezależnie od komputera PC (urządzenie może zostać od niego odłączone i pracować samodzielnie, po wcześniejszym zapisaniu danych do transmisji w wewnętrznej pamięci nieulotnej). Kolejne etapy przetwarzania danych w procesie transmisji oraz stan urządzenia obrazowany jest na wyświetlaczu LCD, w postaci odpowiednich komunikatów. Wyświetlacz umożliwia również „podejrzenie” zawartości generowanej ramki. Układ może pracować w trybie jednokrotnej generacji ramki (wyzwalanie ręczne) lub w trybie automatycznym – ramka generowana jest wtedy okresowo, co określony zaprogramowany w układzie odcinek czasu.

Analizator ramek może pracować zgodnie z zaprogramowanymi przy pomocy komputera PC parametrami lub przy wykorzystaniu predefiniowanego i zapisanego w kodzie programu zestawu parametrów konfiguracyjnych. Odbierane ramki umieszczane są w pamięci RAM, a na wyświetlaczu pojawiają się informacje o ilości odebranych ramek i stanie urządzenia. Możliwe jest oczywiście również obserwowanie bezpośrednio na wyświetlaczu zawartości pola danych poszczególnych ramek.

Ponieważ w układzie tym, do przechowywania odebranych ramek wykorzystywana jest pamięć ulotna więc aby zapewnić pełna przenośność danych, wyposażone zostało w układ bateryjnego podtrzymania napięcia.

2.3. APLIKACJA STERUJĄCA

Zarówno generator jak i analizator pracować mogą pod nadzorem aplikacji sterującej zainstalowanej na komputerze PC i komunikującej się z modułem za pomocą odpowiednich komunikatów przesyłanych poprzez interfejs RS232.

Zadania realizowane przez aplikację sterująca generatorem ramek są w gruncie rzeczy bardzo elementarne. Sprowadzają się do odczytu z wcześniej skonstruowanego pod dowolnym edytorem pliku tekstowego, zawierającego dane, które mają być wysyłane w postaci ramki Ethernet (pojedynczej lub sekwencji) i przesłania go do urządzenia. Transmisja ramki może zostać przeprowadzona w sposób w pełni automatyczny – po podaniu nazwy pliku z danymi do wysłania aplikacja przesyła dane do kontrolera i programuje go w tryb jednokrotnej transmisji ramki. Jednakże, aby rozszerzyć funkcjonalność oprogramowania oraz przystosować je do zajęć laboratoryjnych zaimplementowana została możliwość samodzielnego programowania wewnętrznych rejestrów kontrolera RTL8019. Rozbudowana funkcja pomocy zawiera opis wykorzystywanych podczas transmisji i odbioru rejestrów wewnętrznych kontrolera. Dzięki temu możliwe jest ręczne, stopniowe konfigurowanie trybu pracy urządzenia oraz obserwacja jaki wpływ na jego pracę mają zmiany

Pamiêæ RAM M agi s tr a la da ny c h Ma gi s tr a la ad re s o w a RS 2 3 2 Mikrokontroler AT89C8252 74HC573 Wyœw ietlacz LCD Dekoder adresu Kontroler sieci RTL8019AS A dr es /D ane Uk³ad zasilaj¹cy (zasilacz/baterie) Układ zasilający (zasilacz/baterie) Wyświetlacz LCD Pamięć RAM

(4)

Rys. 3. Przykładowy ekran aplikacji współpracującej z generatorem ramek zawartości poszczególnych rejestrów sterujących

(Rys. 3). W takim przypadku wysłanie pojedynczej ramki z danymi, wcześniej przesłanymi do kontrolera wymaga znacznie bardziej skomplikowanej obsługi. Przykładowa sekwencja programowania procesu transmisji ramki jest następująca:

• Należy załadować do licznika DMA długość pakietu transmitowanego do pamięci podręcznej kontrolera,

• Następnie określamy miejsce w pamięci w którym znajdują się dane transmisyjne (programujemy rejestry adresu startowego DMA),

• Odpowiednio ustawiamy tryb pracy kontrolera DMA.

• Bajt po bajcie przepisujemy treść pakietu do portu zdalnego DMA.

• Ustawiamy w rejestrze startowym numer wykorzystywanej strony pamięci układu

• Ustawiamy w liczniku bajtów do nadania długość pakietu, który chcemy wysłać z bufora nadajnika, • W rejestrze sterującym ustawiamy parametry

transmisji

• Ustawiamy bity odblokowujące układ nadajnika. Po zakończeniu nadawania pakietu można sprawdzić poprzez rejestr statusowy czy transmisja zakończyła się pomyślnie.

W podobny sposób, programując i odczytując stany poszczególnych rejestrów i pamięci kontrolera możemy realizować inne operacje, np. transmisje niestandardowe – ramek dłuższych i krótszych niż zdefiniowane dla sieci Ethernet itp.

Znacznie bardziej rozbudowana wizualnie jest aplikacja współpracująca z analizatorem ramek Ethernet. Wygląd okna głównego programu przedstawiono na Rys. 4. Zostało ono podzielone na kilka podstawowych obszarów funkcjonalnych,

opisanych na rysunku. W obszarze pamięci RAM analizatora zgromadzone są kontrolki sterujące pamięcią statyczną urządzenia. Pozwalają one na przepisanie ramek z bufora kołowego kontrolera do pamięci RAM oraz pokazują stopień zajętości pamięci. Przesłane z analizatora do komputera i rozkodowane ramki wyświetlane są na ekranie w obszarze odbierania danych.

Za pomocą przycisków w obszarze adresów MAC możliwe jest zapisanie unikatowego, przydzielonego urządzeniu adresu fizycznego oraz określenie adresu rozsyłania grupowego (ang. multicast).

Obszar rejestrów stron pozwala na śledzenia stanu rejestrów kontrolno sterujących związanych z buforem kołowym. Możliwe jest więc nie tylko obserwowanie i analizowanie poszczególnych pól odebranej ramki ale śledzenie stanu rejestrów kontrolera odpowiedzialnych za kontrolowanie procesu odbioru ramki.

Oprogramowanie umożliwia ponadto przeprogramowywanie kodu źródłowego w mikrokontrolerze jednoukładowym AT89S8252.

3. PODSUMOWANIE

Omówione w artykule układy sprzętowego analizatora i generatora ramek Ethernet są w pełni funkcjonalnymi urządzeniami, pozwalającymi na przybliżenie podczas zajęć laboratoryjnych podstawowych mechanizmów działania protokołu Ethernet. Ten typ podejścia do zagadnienia pozwala jednocześnie na bliższe zapoznanie się ze strukturą sprzętową urządzeń sieciowych oraz niskopoziomowymi procedurami programowania układu kontrolera sieciowego. Wykorzystanie tego typu urządzeń pozwala również na łatwą rozbudowę stanowiska laboratoryjnego, np. o oscyloskop, pokazujący stan linii transmisyjnej, czy też „krokowanie” procesu generacji ramki z jednoczesnym podglądem stanu rejestrów wewnętrznych kontrolera.

(5)

Rys. 4. Okno główne programu współpracującego z analizatorem ramek

Niewątpliwie większość z przedstawionych funkcji realizowanych przez urządzenia można byłoby łatwo zrealizować za pomocą oprogramowania na komputer PC, wyposażonego z kartą sieciową, niemniej wydaje się, że dla przyszłego inżyniera-elektronika takie sprzętowe podejście jest znacznie bardzie interesujące.

SPIS LITERATURY

[1] Web 51 - RTL8019AS Packet Driver rev. 1.0 Radek Benedikt http://web51.hw-server.com/

[2] 8019as.pdf, RTL8019AS Realtek Full-Duplex

Ethernet Controller with Plug and Play Function (RealPNP) REALTEK SEMI-CONDUCTOR CO., LTD.

[3] Strona producenta http://www.atmel.com/ [4] Strona producenta http://www.realtek.com.tw [5] Krzysztof Nowicki, Józef Woźniak, Sieci LAN,

MAN i WAN – protokoły komunikacyjne, Wydawnictwo Fundacji Postępu Telekomunikacji, Kraków 1998

Cytaty

Powiązane dokumenty

Dokładna analiza wskazała na obecność DNA kobiety (24–48% preparatu), chromosomu Y (zapewne płodu) i genomów bakterii: Staphylococcus saprophyticus (gronkowiec) (37–66%)

Praktycznie niczym się nie różni, chod w szczegółach się okaże, że nie można tego okna „zminimalizowad”.. Ustalimy teraz rozmiar

Wyznacza się czas trwania całego projektu i jednocześnie łączny czas tych etapów, których przebieg jest krytyczny dla realizacji całego zadania. Łączny czas trwania

align="left" powoduje wyrównanie tabeli względem lewego marginesu, a towarzyszący jej tekst jest umieszczany między prawą krawędzią strony a tabeli

W

Pow ołując się n a wagę owych wydarzeń, stwierdza: „(...) kryzysy te oraz sposoby ich rozwiązywania stanow ią zasadnicze m om enty zwrotne w historii

Z codziennych doświadczeń oraz historii instytutów życia kon­ sekrow anego i stow arzyszeń życia apostolskiego wiadomo, że pro­ ces form acji nigdy się nie

Pierwszym jest rozdział autorstwa Reginy Heller (s. 75–99) poświęcony analizie gniewu jako dominującej emocji w rosyjskiej polityce zagranicznej wobec Zachodu na