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

Konsola szeregowa


Biblioteka powłoki MQX jest częścią MQX i pozwala na wykonywanie komend w docelowym systemie zarówno przez konsolę szeregową, jak i za pośrednictwem klienta Telnet. Poza typowymi funkcjami powłoki, można dodawać własne komendy użytkownika. Może to być użyteczne do konfiguracji parametrów aplikacji, monitorowania i kontroli obsługi PTP. Lista wbudowanych komend zdefiniowanych dla aplikacji demonstracyjnej IEEE1588 znajduje się w tabeli 3.


 


Tab. 3. Przegląd wbudowanych komend powłoki


























Polecenie Funkcja
exit Użycie — exit
Zamyka powłokę.
Użycie — ptp [on|off]
on – uruchamia funkcję IXXAT IEEE1588
off – zatrzymuje funkcję IXXAT IEEE1588
ptp
ptpdisplay Użycie — ptpdisplay <opcja> <on|off>
Decyduje, jakie informacje o uruchomieniu IEEE1588 będą wyświetlane po wykonaniu polecenia show.
 
Opcje:

  • offs – chwilowe przesunięcie względem modułu nadrzędnego (niefiltrowane / filtrowane)

  • mtsd – chwilowe opóźnienie master-slave (niefiltrowane / filtrowane)

  • stmd – chwilowe opóźnienie slave-master (niefiltrowane / filtrowane)

  • owd – chwilowe opóźnienie jednokierunkowe (niefiltrowane / filtrowane)

  • meanDrft – chwilowy dryft [ps/s] pomiędzy modułem podrzędnym a nadrzędnym

  • gmstraddr – chwilowy adres głównego modułu nadrzędnego

  • mstraddr – chwilowy adres modułu nadrzędnego
cfgparam Użycie — cfgparam [<option> <value>]
Pozwala na zmianę konfiguracji protokołu PTP i parametrów konfiguracji sieci.
Zmienione wartości są zapisywane w pamięci nieulotnej i stosowane po restarcie.
 
Opcje:

  • clkClass – klasa lokalnego zegara

  • scldVar – log2 przeskalowanej wariancji lokalnego zegara

  • prio1 – priorytet 1 lokalngo zegara

  • prio2 – priorytet 2 lokalngo zegara

  • domNmb – numer domeny lokalnego zegara

  • slaveOnly – 0 = tylko slave, 1 = slave lub master

  • dlrqIntv – log2 opóźnienia w stosunku do zapytania

  • AnncIntv – log2 odstępu od zgłoszenia

  • anncRcptTmo – maksymalne opóźnienia otrzymania zgłoszenia

  • syncIntv – log2 odstępu synchronizacyjnego

  • pdelReqIntv – log2 odstępu przed wykonaniem zapytania

  • ip_addrX – adres IP interfejsu X

  • ip_netmaskX – maska interfejsu X

  • ip_gatewayX – adres bframy interfejsu X

  • mac_addrX – adres MAC interfejsu X

  • autorun – on|off
netstat Użycie — netstat
Wyświetla statystyki TCP/IP
show Użycie — show <on|off>
Wyświetla bieżący czas IEEE1558 i inne informacje o czasie IEEE1558 zależne od opcji
wywołania komendy konsoli cfgparam.
Opcje:

  • on – rozpoczyna wyświetlanie bieżącego czasu i przesunięcia (co sekundę)

  • off – zatrzymuje odświeżanie biezącego czasu i przesunięcia
help Użycie — help [<komenda>]

  • <komenda> = polecenie, dla którego chcemy otrzymać pomoc

 


Aby skonfigurować powłokę linii szeregowej, która stanowi domyślny interfejs użytkownika, należy połączyć komputer PC i gniazdo UART płytki szeregowej TWR-SER2 przewodem RS232. W celu ustalenia połączenia należy skonfigurować następujące ustawienia portu szeregowego:



  • Prędkość transmisji 115200 bodów

  • 8 bitów danych

  • Parzystość: brak

  • Bit stopu: 1

  • Kontrola przepływu: brak

Usługa powłoki jest uruchamiana automatycznie po resecie. Rysunek 9 przedstawia wiadomość powłoki i linię poleceń wyświetlaną po uruchomieniu.


 


Rys. 9. Konsola linii szeregowej

Rys. 9. Konsola linii szeregowej


 


Konsola Telnet


W celu aktywacji serwera Telnet, opcje konfiguracji kompilacji QX1588DEMOCFG_ENABLE_TELNET_SERVER muszą zostać ustawione w pliku MQX1588DEMO.h (tabela 2).


Podczas używania konsoli Telnet, wbudowana powłoka jest dostępna po utworzeniu połączenia z zestawem TWR-K60N512-KIT. Stanie się to po wprowadzeniu komendy open <adres IP> na preferowanym przez użytkownika kliencie Telnet. Zbiór komend powłoki Telnet jest taki sam, jak dla szeregowej linii poleceń (tabela 3).


 


Rys. 10. Konsola Telnet

Rys. 10. Konsola Telnet


 

O autorze