Komunikacja sieciowa z wykorzystaniem mikrokontrolerów Freescale Kinetis

 

 

Jednym z bloków funkcjonalnych wbudowanych w strukturę układów Freescale Kinetis jest moduł komunikacji sieciowej nazwany przez producenta jako ENET lub inaczej MAC-NET. Dzięki niemu, po dodaniu zewnętrznego ukladu PHY można stworzyć kompletne rozwiązanie dla komunikacji w standardzie Ethernet. Na rysunku 1 pokazano sposób budowy węzła sieciowego LAN (Local Area Network) wykorzystującego mikrokontroler Kinetis z modułem MAC-NET.

 

Rys. 1. Budowa podstawowego węzła sieciowego LAN z mikrokontrolerem Kinetis

Rys. 1. Budowa podstawowego węzła sieciowego LAN z mikrokontrolerem Kinetis

 

 

Budowa modułu MAC

Moduł MAC-NET składa się z trzech głównych komponentów:

  • Kontrolera MAC (Media Access Controller), który kontroluje bufory, rejestry, sterownik IEEE15888, interfejs MII (Media Independent Interface) i RMII (Reduced Media Independent Interface),
  • Interfejsu MII/RMII służącego do komunikacji między kontrolerem MAC i zewnętrznym układem PHY,
  • Sterownika IEEE1588 zarządzający znacznikami czasowymi

Wymienione komponenty tworzą razem moduł MAC-NET. Do poprawnej pracy moduł ten wymaga współpracy z innymi wewnętrznymi zasobami mikrokontrolera Kinetis.  Ich wzajemne połączenie przedstawiono na rysunku 2.

 

Rys. 2. Połączenie modułu MAC-NET z innymi zasobami wewnątrz mikrokontrolera Kinetis

Rys. 2. Połączenie modułu MAC-NET z innymi zasobami wewnątrz mikrokontrolera Kinetis

 

 

Cechy modułu MAC-NET

Do głównych cech modułu MAC-NET można zaliczyć:

  • Kompatybilność z kontrolerem FEC obecnym w mikrokontrolerach Freescale Coldfire
  • Duże możliwości warstwy sprzętowej, w tym:
    • Zaimplementowane protokoły IPv4 oraz IPv6,
    • Generowanie i sprawdzanie sumy kontrolnej protokołów IP, TCP, UDP i ICMP,
    • Konfiguracja automatycznego odrzucania błędnych ramek,
    • Dzielenie informacji ramek na 32-bitowe słowa w celu łatwego przetwarzania,
    • Możliwość skorzystania z czasowej synchronizacji transmisji zgodnej ze standardem IEEE1588.

Działanie modułu MAC-NET

W pracy modułu MAC-NET wyróżnić można cztery aspekty działania:

  • Inicjalizację – kroki niezbędne do wykonania w celu uruchomienia modułu MAC-NET,
  • Zarządzanie interfejsem PHY – konfiguracja przygotowująca do pracy PHY,
  • Sterowanie interfejsem MII,
  • Sterowanie interfejsem RMII.
Inicjalizacja

Na inicjalizację modułu MAC-NET składają się następujące kroki:

  1. Włączenie sygnału zegarowego dla MAC-NET
  2. Skonfigurowanie buforów
  3. Zresetowanie kontrolera MAC
  4. Skonfigurowanie wyprowadzeń do pracy w trybie MII lub RMII
  5. Aktywowanie i wyzerowanie przerwań xmit, rx i przerwań od błędów. Ustawienie poziomów i priorytetów dla przerwań
  6. Oczytanie prędkości transmisji z układu PHY i ustawienie takich samych wartości dla modułu MAC-NET
  7. Skonfigurowanie adresu MAC
  8. Ustawienie maksymalnego rozmiaru pakietów
  9. Uruchomienie modułu MAC-NET
  10. Ustawienie modułu MAC-NET do gotowości odbioru danych

O autorze