Układ wykonałem głównie dla sprawdzenia kontrolera ENC28j60. Funkcją tego układ jest pobranie czasu z serwera czasu za pomocą protokołu SNTP i wyświetlenie go na wyświetlaczu LCD 2x20. Układ komunikuje się z dowolnym serwerem SNTP/NTP poprzez stos protokołów ARP/IP/UDP/SNTP, dodatkowo zaimplementowany jest protokół ICMP/ECHO czyli tzw Ping. Do komunikacji wykorzystywany jest port 123 protokołu UDP.
Na wyświetlaczu wyświetlane są:
- godzina
- data
- dzień tygodnia
- strefa czasowa (CET/czas zimowy i CEST/czas letni przełączane w ustawieniach)
- czas ostatniej aktualizacji czasu
- ustawienia zegara
- wersja programu
W ustawieniach można zmienić następujące parametry:
- adres IP zegara
- maskę sieci
- adres IP bramy
- adres IP serwera czasu
- adres MAC zegara
- okres aktualizacji od 1 do 65535 sekund lub ręcznie
- strefa czasowa CET/CEST
Wszystkie ustawienia pamiętane są po odłączeniu zasilania.
Do sterowania zegara wykorzystane są 4 przyciski P1, P2, P3, P4
Funkcje przycisków.
- Dla głównego ekranu
P1 - Menu ustawień
P2 - Podgląd czasu ostatniej aktualizacji
P3 - Ręczne wymuszenie aktualizacji czasu
P4 - wersja oprogramowania- Dla ekranu ustawień
P1 - Wybór następnego parametru
P2 - W zależności od ustawianego parametru
Adresy IP i MAC - Następna pozycja
Okres aktualizacji - P3 i P4 x100
P3 - +1 / +100
P4 - -1 / -100Po wyjściu z menu nastepuje zapis ustawień do pamięci EEPROM oraz aktualizacja czasu.
Fajne? Ranking DIY