Ethernet w układach elektronicznych. Część 1

| Technika

Dynamiczny rozwój techniki i rosnące wymagania konsumentów sprawiają, że urządzenia zdolne do komunikowania się przez Internet zaczynają odgrywać coraz większą rolę. W przypadku współczesnych urządzeń multimedialnych, takich jak konsole, telefony komórkowe czy PDA, łączność z Internetem jest niemalże podstawowym wymogiem.

Ethernet w układach elektronicznych. Część 1

Stos TCP/IP

Rys. 5. Budowa pakietu TCP

Stos TCP/IP pośredniczy w wymianie danych między warstwą MAC oraz warstwami wyższymi realizującymi obsługę np. poczty elektronicznej. Nazwa sugeruje, że stos ten jest zbudowany w oparciu o dwa protokoły: IP (Internet Protocol) oraz TCP (Transmission Control Protocol). Protokół IP został zaprojektowany z myślą o wykorzystaniu w sieciach bazujących na komutacji pakietów. Głównym założeniem było przesyłanie datagramu z punktu źródłowego do punktu docelowego w oparciu o adres o stałej długości.

Ponadto protokół IP został stworzony z myślą o fragmentacji danych na mniejsze części z możliwością złożenia z nich całej wiadomości po stronie odbiorcy. Warto zauważyć, że każdy datagram jest traktowany jako niezależny i niezwiązany z żadnym innym datagramem. W ramach zadań związanych z protokołem IP wymienia się także routing między sieciami, czyli mechanizmy kierowania pakietu przez poszczególne węzły do punktu docelowego. Cztery najważniejsze elementy datagramu (oprócz pola danych) to:

  • rodzaj usługi - określający pożądaną jakość, na co składa się określenie priorytetu oraz pożądaną wydajność, niezawodność czy opóźnienie sieci,
  • czas życia (Time to Live) - parametr ten jest zmniejszany o jeden za każdym razem, gdy pakiet jest przetwarzany przez węzeł w sieci (np. router), w sytuacji, gdy wartość ta spadnie do zera, pakiet zostanie zniszczony; mechanizm ten sprawia, że żaden pakiet nie może krążyć w sieci w nieskończoność,
  • opcje - pozwalają umieścić dodatkowe informacje związane z bezpieczeństwem czy sposobem trasowania drogi datagramu w sieci,
  • suma kontrolna - wykorzystywana do weryfikacji poprawności datagramu.

Rys. 6. Moduł konwertera RS232-Ethernet (DS203) produkcji Tibbo

Na rysunku 3 pokazano nagłówek pakietu IP. Protokół TCP jest protokołem połączeniowym (w przeciwieństwie do np. UDP), co oznacza, że przesyłane nim dane zostaną dostarczone do odbiorcy bez błędów i w całości. Po wysłaniu pakietu urządzenie nadawcze rozpoczyna odliczanie, jeżeli w ustalonym czasie nie nadejdzie potwierdzenie, to pakiet zostanie uznany za stracony i transmisja zostanie ponowiona. Cała transmisja ma charakter niejako wirtualny, gdyż przekazywanie danych odbywa się za pomocą adresów i numerów portów urządzenia docelowego oraz źródłowego.

Port stanowi w tym przypadku numer zapisany w jednym z pól ramki, na podstawie którego urządzenia rozpoznają przeznaczenie pakietu. Tym samym istnieje możliwość stworzenia niezależnych kanałów komunikacyjnych w ramach jednego urządzenia. Przykładowo dane przesyłane przez port 80 są przeznaczone dla usług HTTP, a odebrane z portu 110 - dla usługi POP3. Warto jeszcze dodać, że komunikacja w ramach protokołu TCP ma charakter komunikacji klient-serwer. Serwer oczekuje na połączenie, które inicjowane jest przez klienta.

Sprowadza się to do wysłania pakietu z ustawioną flagą SYN (synchronize), na co host odpowiada odesłaniem pakietu z ustawionymi flagami SYN oraz ACK (jeżeli zaakceptuje połączenie od klienta). W odpowiedzi klient przesyła pierwszy pakiet danych z ustawioną jedynie flagą ACK. Schematycznie przedstawiono to na rysunku 4. Połączenie może zakończyć każda ze stron, wysyłając pakiet z ustawioną flagą FIN (finished), na co druga strona w odpowiedzi odsyła pakiet z potwierdzeniem (ustawiona flaga ACK i czasem także FIN). Budowę ramki TCP pokazano na rysunku 5.

Konwertery RS232-Ethernet

Rys. 7. Moduł MiiNePort E1 produkowany przez firmę Moxa

Podłączenie własnego urządzenia do sieci jest najłatwiejsze do zrealizowania, gdy wykorzystywane są gotowe, zintegrowane moduły komunikacyjne. Udostępniają one interfejs sieciowy oraz prostszy interfejs (np. RS232), do którego podłącza się najczęściej mikrokontroler pracujący w projektowanym urządzeniu. Oczywistą zaletą takiego rozwiązania jest duża prostota, dostęp do dokumentacji producentów, prostsza konfiguracja i łatwiejsza integracja z projektowanym urządzeniem.

Niewątpliwą wadą takich modułów jest ich wyższa cena w stosunku do zintegrowanych kontrolerów oraz większe rozmiary. Na rynku można spotkać zintegrowane moduły do komunikacji sieciowej pochodzące od różnych producentów. Przykładem mogą być produkty firmy Tibbo stanowiące interfejs pomiędzy Ethernetem oraz standardowym portem szeregowym. W ofercie producenta dostępny jest moduł DS203 (rys. 6) będący serwerem urządzenia szeregowego (Serial Device Server), zaprojektowany z myślą o starszych urządzeniach wyposażonych jedynie w port COM.

Niekiedy nawet wiekowe rozwiązania muszą zostać podłączone do sieci Ethernet np. w celu wykorzystania istniejącej już w firmie infrastruktury sieciowej do komunikacji z nadrzędnym komputerem. Dzięki przygotowanym przez Tibbo rozwiązaniom możliwe jest bezpośrednie podłączenie urządzeń mających jedynie interfejs RS232 do sieci. Moduł DS203 prześle dane z portu szeregowego przez sieć do miejsca docelowego w sposób niezauważony przez dołączony do niego układ.

Rys. 8. Moduł Eddy-CPU v2.5 produkowany przez firmę SystemBase

Udostępnione przez producenta sterowniki pozwalają także na zainstalowanie w systemie operacyjnym wirtualnego portu szeregowego, dzięki którym komunikacja przez Internet staje się całkowicie transparentna. Oczywistą zaletą jest możliwość znaczącego zwiększenia dystansu pomiędzy komputerem oraz urządzeniem oraz zdalne sterowanie jego pracą. Zabudowując moduł Tibbo w obudowie starszego urządzenia, można praktycznie bez żadnego wysiłku zastąpić wiekową komunikację przez port szeregowy współczesną komunikacją przez sieć Ethernet.

Konwertery RS232 <-> Ethernet dostarcza także Moxa oferująca m.in. moduł MiiNePort E1 (rys. 7) przeznaczony do zabudowy we własnym urządzeniu. Umożliwia on wymianę danych przez standardowy interfejs RS232 bądź RS485. Moduł może pracować w jednym z pięciu trybów. Jednym z nich jest wspomniany już wcześniej wirtualny port szeregowy, dzięki któremu zarówno od strony urządzenia, jak i aplikacji uruchomionej na komputerze jest on widziany jako zwyczajny port COM.

Wykorzystując moduł firmy Moxa, można przesyłać dane w postaci pakietów UDP bądź TCP. Warto zauważyć, że MiiNePort E1 może pracować w trybie TCP jako serwer, klient bądź spełniać obie te funkcje jednocześnie. Dostęp do ustawień konfiguracyjnych modułu jest możliwy poprzez port szeregowy lub sieć Ethernet, a sama konfiguracja jest wprowadzana przez konsolę bądź terminal.

Zobacz również