Symulator depesz NMEA
Urządzenie wykonane na zamówienie firmy FORKOS.
Przeznaczenie
Symulator przeznaczony do wysyłania ciągów znaków ASCII, mający służyć jako generator sygnałów NMEA.
Rozbudowana wersja umożliwia wysyłanie trzech rodzajów depesz:
- Zwykły tekst (znaki ASCII);
- Kombinacja znaków ASCII i wartości losowych o zadanych wartościach;
- Kombinacja znaków ASCII i wartości sinusoidalnie zmiennych o zadanych wartościach.
Oprócz tego możemy do depeszy dodać ciąg znaków określających czas (14 formatów) po łańcuchu znaków ASCII lub po wartościach liczbowych a także włączyć lub wyłączyć opcję obliczania sumy kontrolnej.
Urządzenie programowane jest za pomocą napisanej w Delphi aplikacji na PC, która umożliwia:
- A - Grupa „Zegar”. Wyświetla aktualną datę i godzinę systemową komputera PC. Przycisk „Synchronizuj czas” zapisuje ustawienia zegara systemowego do symulatora NMEA;
- B - Grupa „Czas wysyłania danych”. Umożliwia ustawienie czasu wysyłania depesz przez symulator NMEA. Czas można ustawić w zakresie od 100 ms do 30 s za pomocą suwaka lub okna edycyjnego z dokładnością do 100 ms. Przycisk „Ustaw czas” zapisuje dane do symulatora;
- C - Grupa „Porty komunikacyjne”. Umożliwia wybór transmisji depesz przez port USB lub port RS232. Zaznaczenie okna opcji zapisuje dane w symulatorze;
- D - Grupa „Prędkość transmisji”. Umożliwia zmianę prędkości transmisji depesz. Po zmianie prędkości należy zamknąć port i otworzyć ponownie ze zmienioną wartością prędkości transmisji. Domyślnie prędkość transmisji po uruchomieniu symulatora ustawiona jest na 9600 bps. Po wyłączeniu zasilania bateryjnego symulator powraca do wartości domyślnych (9600,8,1,none,none);
- E - Przycisk „Transmisja testowa”. Umożliwia podgląd depesz i czasu ich wysyłania w oknie terminala;
- F - Przycisk „Odczytaj z urządzenia”. Umożliwia odczyt danych konfiguracyjnych zapisanych
w pamięci symulatora (data i godzina, czas wysyłania depesz, porty komunikacyjne).
Budowa
Po zapoznaniu się z wymogami klienta opracowałem schemat. Urządzenie powinno posiadać port szeregowy dostępny poprzez złącze USB i 3 porty RS232 w standardzie komputera PC. Wybór, gdzie kierowany będzie sygnał wyjściowy dokonywany jest programowo za pomocą aplikacji.
Urządzenie powinno byc zasilane z portu USB, z zewnętrznego zasilacza lub umieszczonych w obudowie akumulatorów. Podczas zasilania z USB lub zasilacza powinno umożliwiać doładowywanie akumulatorów.
Po wytrawieniu i zmontowaniu prototypowej płytki PCB nadszedł czas na programowanie.
Sercem urządzenia jest mikrokontroler AVR ATmega 644. Jak zawsze, program napisany został w języku C, przy pomocy środowiska Eclipse. Program umożliwia zaprogramowanie urządzenia poprzez port USB lub RS232 standardu PC. Można zsynchronizować czas z czasem aplikacji programującej. Aplikacja umożliwia odczyt parametrów zapisanych w pamięci mikrokontrolera. Czas wysyłania depesz można regulować w zakresie od 100 ms do 30 s. Można także wybrać parametry transmisji portu UART. Wszystkie parametry zapisywane są w pamięci EEPROM.
Kilka zdjęć z poszczególnych faz powstawania urządzenia.
Po serii testów i przedstawieniu prototypu klient podjął decyzję o zmianie wyglądu urządzenia. Symulator zyskał bardziej "kompaktowy" wygląd. Więcej informacji o urządzeniu TUTAJ. Wersja ostateczna prezentuje się następująco:
