Implementacja protokołu PTP IEEE 1588 V2 na mikrokontrolerze Kinetis K60

Demo IEEE1588


W tej części opisano sposoby budowy aplikacji demo1588 z wykorzystaniem zestawu TWR-K60N512 i oprogramowania demonstracyjnego.


Konfiguracja sprzętu i ustawienia zworek

Następujące części zestawu TWR-K60N512-KIT muszą zostać użyte i połączone ze sobą w celu utworzenia platformy sprzętowej:



  • Płytka mikrokontrolera TWR-K60N512 w wersji C

  • Płytka szeregowa TWR-SER

  • Płytki łączące – główna i pomocnicza

Zgodnie z opisem zawartym w instrukcji Getting Stated with Freescale MQX RTOS, należy sprawdzić ustawienia następujących zworek, by zapewnić poprawne działanie dema:


 


Tab. 4. Ustawienia zworek TWR-K60N512 w wersji C






J6 – na pozycji 2-3 Zegar procesora jest pobierany z płytki TWR_SER

 


Tab. 5. Ustawienia zworek na płytce TWR-SER












CLK_SEL 3-4  
CLKIN-SEL 2-3 Zegar procesora jest pobierany z PHY
ETH-CONFIG J12 9-10 Wybór trybu komunikacji RMII

 


Demo może zostać skonfigurowane w sposób, gdzie dwie płytki są połączone bezpośrednio z użyciem skrętki Ethernet. Jest to prosty tryb połączenia, używany często do oceny dokładności systemu i ogólnej wydajności. Konfiguracja bezpośrednia wykorzystująca dwa moduły TWR-K60N512-KIT została zilustrowana na rysunku 15. Aplikację można obsługiwać tylko za pomocą konsoli szeregowej.


Rysunek 16 pokazuje inne ujęcie dema, które składa się z dwóch lub więcej modułów TWR-K60N512-KIT. Switch / Hub Ethernet zapewnia połączenia między wszystkimi płytkami. Węzeł podrzędny może być obsługiwany za pomocą konsoli szeregowej lub konsoli Telnet, a także przeglądarki internetowej Internet Explorer lub aplikacji IXXAT PTPManager. Użytkownik może także śledzić komunikację za pośrednictwem protokołu IEEE 1588 między jego węzłami dowolnym programem analizującym protokoły sieci, np. WireShark.


Także inne płytki testowe ze wsparciem IEEE1588 mogą zostać wykorzystane w aplikacji demonstracyjnej, by powiększyć sieć IEEE 1588. Są to następujące płytki ColdFire i PowerQUICC:



  • ColdFire M5234BCC

  • ColdFire M52259EVB

  • ColdFire TWR-MCF54418 KIT

  • PowerQUICC MPC8360MDS

  • PowerQUICC MPC8313E-RDB

  • i.MX28 Evaluation Kit

 


Rys. 15. Konfiguracja demonstracyjna punkt-punkt

Rys. 15. Konfiguracja demonstracyjna punkt-punkt


 


Rys. 16. Demo zostało rozszerzone o dodatkowe węzły IEEE1588

Rys. 16. Demo zostało rozszerzone o dodatkowe węzły IEEE1588


 


Pomiar synchronizacji zegarów

Pomiaru synchronizacji zegarów można dokonać za pomocą sygnałów PPS (Pulse-Per-Second) generowanych przez mikrokontroler Kinetis K60. Sygnały te są wytwarzane bezpośrednio przez czasomierz (domyślnie ENET0_TMR) i przekazywane do rejestrów portu GPIO PTC18. Wyprowadzenie GPIO jest podłączone do nóżki J9-21 pierwszej płytki systemu TWR-ELEV.


By zmierzyć i porównać sygnały PPS pochodzące z różnych płytek, należy dołączyć sondę oscyloskopu do wyprowadzenia J9-21 pierwszej płytki TWR-ELEV. Rysunek 17 przedstawia pomiar synchronizacji za pomocą oscyloskopu.


By zbadać dokładność synchronizacji zegarów, przeprowadzono test z użyciem zestawów TWR-K60N512-KIT podłączonych bezpośrednio. W tabeli 6 znajdują się parametry konfiguracji stosu IXXAT 1588 użyte do testów:


 


Tab. 6. Konfiguracja stosu 1588 użyta do pomiaru dokładności synchronizacji zegarów

































Konfiguracja 1588 Wartość
Podstawowy typ zegara Zwykły zegar
Struktura pomiaru opóźnienia Bezpośredni
Praca jednokrokowa Nie
Opóźnienie zgłoszenia 2 sekundy
Opóźnienie wiadomości synchronizacyjnej 0,25 sekundy
Opóźnienie zgłoszenia żądania 0,25 sekundy
Użyty filtr Minimalny
Rozmiar okna filtru 6
Okres pomiaru pół godziny

 

O autorze