Moduł sieciowy z układem ENC28J60
Komunikacja z wykorzystaniem sieci ethernetowych przestała być domeną jedynie komputerów. Dostępnych jest wiele układów, prostszych lub bardziej złożonych, umożliwiających przyłączenie nawet małych mikrokontrolerów do wspomnianych sieci.
Transmisja danych w środowiskach mikrokontrolerów z wykorzystaniem sieci ethernetowych wymaga „posiadania” dwóch elementów: wbudowanego bloku MAC (Media Access Control, czyli odpowiednika karty sieciowej) oraz układu PHY, którego zadaniem jest obsługa warstwy fizycznej, czyli przyłącza. W wariancie 100 Mbps (prędkość transmisji 100 megabitów na sekundę) te dwa elementy z reguły są fizycznie rozdzielone. Blok MAC jest podzespołem wewnątrz mikrokontrolera i zajmuje się przetwarzaniem sygnałów cyfrowych. Z kolei układ PHY charakteryzuje się pracą analogowo-cyfrową. Te dwa „fragmenty” łączone są ze sobą poprzez znormalizowany interfejs. Najczęściej jest to MII (Media Independent Interface) wymagający 16 pinów lub RMII (Reduced Media Independent Interface) wymagający 7 pinów. Taki rozdział wynika z kilku powodów: technologicznych (układy logiczne mikrokontrolera oraz analogowe układy wejściowe PHY różnią się technologią wykonania) oraz użytkowych (brak wbudowanego PHY pozwala projektantowi wybrać, czy medium transmisyjnym jest miedź, czy światłowód).
W zakresie prędkości transmisji 10 Mbps z reguły blok MAC oraz PHY są łączone w jednej strukturze. Oprócz tytułowego ENC28J60 popularnym jest choćby CS8900, którego podstawową wadą jest konieczność „utylizacji” dużej liczby pinów. Obecne mikrokontrolery dysponują dosyć mocno ograniczoną liczbą styków do komunikacji ze światem zewnętrznym, toteż interfejsy szeregowe (a taki występuje w układzie ENC28J60 ) do komunikacji mikrokontrolera z zewnętrznymi układami zyskują na znaczeniu.
Układ ENC28J60
Układ ENC28J60 produkowany przez Microchip jest kontrolerem obsługującym jeden port 10 Base-T, z automatycznym wykrywaniem prędkości w ramach mechanizmu o nazwie autonegocjacji. W chwili dołączenia układu ENC28J60 do switcha ethernetowego, oba urządzenia, jeszcze przed realizacją przesyłania danych użytkowych, zaczynają wymieniać między sobą specjalne sygnały, w rezultacie których obie strony mogą ustalić optymalny wariant pracy. Pozwala to na pracę wspomnianego układu nawet w sieciach 100 Base-T (o prędkości 100 Mbps).
Tytułowy kontroler ethernetowy ma zintegrowany w jednym chipie zespół MAC oraz warstwę PHY na 10 Mbps, co pozwala na proste użycie go w jakimkolwiek systemie mikroprocesorowym, wymagana jest jedynie obsługa interfejsu SPI (ang. Serial Peripheral Interface). Jest to szybki, synchroniczny interfejs komunikacyjny do przesyłania danych między mikrokontrolerem a układami peryferyjnymi. Pozwala on na przesyłanie wszelkiego rodzaju informacji: transmitowanych danych oraz stanu wewnętrznych rejestrów kontrolera. Sam układ wymaga napięcia zasilającego o wartości 3,3 V. Nowoczesne mikrokontrolery również posługują się identycznym napięciem zasilającym. W przypadku użycia układu w środowiskach o napięciu zasilającym o wartości 5 V (jak przykładowo w Arduino), mogą powstawać pewne obawy. Konstruktorzy tego interfejsu sieciowego zadbali, aby piny łączące go z mikrokontrolerem tolerowały na swoich wyprowadzeniach napięcie 5 V.
Przyglądając się budowie wewnętrznej układu (rysunek 1), można dostrzec, że zawiera on w sobie pamięć RAM o pojemności 8 kB. Jest to pamięć dwuportowa, gdyż pozwala na jednoczesny dostęp do swoich komórek zewnętrznemu mikrokontrolerowi (poprzez SPI) jak i wewnętrznym układom transmisyjnym. Umożliwia to bezkolizyjne przesłanie danych, gdyż automat nadający/odbierający dane nie może czekać na dostęp do danych, jak również w kontrolerze SPI nie są przewidziane cykle oczekiwania (wszystko musi być dostępne natychmiast).
(…)
——– ciach! ——–
To jest tylko fragment artykułu, którego pełna wersja ukazała się w listopadowym numerze czasopisma Zrozumieć Elektronikę (ZE 11/2026). Pełną wersję czasopisma znajdziesz pod tym linkiem. Natomiast niepełna, okrojona wersja, pozwalająca zapoznać się z zawartością numeru ZE 11/2026 znajduje się tutaj.
Andrzej Pawluczuk
apawluczuk@vp.pl
Uwaga! Wskazówki, jak nabyć pełne wersje dowolnych numerów ZE znajdują się na stronie:
https://piotr-gorecki.pl/n11.
