Ρολόι συγχρονισμένο από GPS

Ψηφιακά κυκλώματα που δεν εντάσσονται στις παραπάνω κατηγορίες.
Απάντηση
Άβαταρ μέλους
GeorgeVita
Διαχειριστής
Δημοσιεύσεις: 507
Εγγραφή: 04 Σεπ 2013, 21:51
Ονομα: Γιώργος
Επικοινωνία:

Ρολόι συγχρονισμένο από GPS

Δημοσίευση από GeorgeVita »

Ρολόι συγχρονισμένο από GPS

Κάθε GPS module ή GPS mouse (δέκτης μαζί με κεραία) είναι προρυθμισμένο να δίνει τις βασικές πληροφορίες στην έξοδο δεδομένων σύμφωνα με το πρότυπο NMEA-0183.

Εικόνα

Ανάμεσα στις βασικές πληροφορίες είναι και η ώρα UTC, δηλαδή ο παγκόσμια συγχρονισμένος χρόνος για τον μεσημβρινό 0° (Greenwitch). Η ώρα UTC δεν αλλάζει ανάλογα με την εποχή (δεν υπάρχει θερινή ώρα) οπότε η Ελλάδα έχει ώρα UTC+2 το χειμώνα και UTC+3 το καλοκαίρι.

ΝΜΕΑ-0183
Το πρότυπο NMEA-0183 αναφέρεται σε σειριακή σύνδεση τύπου RS-232 ή στην ισοδύναμή της σε επίπεδα τάσεων TTL. Η ρύθμιση της σειριακής πόρτας είναι στα 4800 baud, 8 bits, NO parity, 1 stop bit, NO handshaking (4800-8-Ν-1).
Τα δεδομένα μεταφέρονται σε αλφαριθμητικά "πακέτα" ASCII με αρχικό χαρακτήρα το "$" ακολουθούμενο από τον προσδιορισμό του αποστολέα ("GP" για GPS), τον κωδικό είδους πληροφορίας, τα δεδομένα και στο τέλος οι χαρακτήρες αλλαγής γραμμής (CR+LF). Το χρησιμότερο πακέτο πληροφορίας είναι αυτό που ξεκινά με $GPGGA:

$GPGGA,164350.000,3759.1234,N,02344.12343,E,1,8,1.03,61.7,M,55.2,M,,*76

Εκεί βλέπουμε την ώρα UTC ("164350"=16:43:50) και τις συντεταγμένες του τόπου λήψης ("3759.1234,N"=37°59.1234' Βόρεια και "02344.1234,E"=23°44.1234' Ανατολικά).

Σύνδεση GPS με μC (μικροεπεξεργαστή)
Αν το GPS έχει RS-232 με επίπεδα TTL, η σύνδεση τον μικροεπεξεργαστή θα γίνει απ' ευθείας από το TXD του GPS προς το RX-UART του μC. Σε περίπτωση που έχουμε κλασικό RS-232 με επίπεδα τάσεων +/-3...15V θα χρειαστούμε μια προσαρμογή. Επειδή μας ενδιαφέρει μόνο η λήψη των "default" δεδομένων του GPS, μπορούμε να χρησιμοποιήσουμε το παρακάτω κύκλωμα προσαρμογής:

Εικόνα

Η έξοδος TXD του GPS, θα συνδεθεί στον ακροδέκτη RXD του RS232 (pin 2 στο αρσενικό DB9).

Επεξεργασία δεδομένων, ένδειξη τοπικής ώρας
Το πρόγραμμα του μC διαβάζει συνεχώς τις πληροφορίες στην σειριακή του είσοδο (UART), φιλτράρει τα πακέτα δεδομένων αναμένοντας λήψη του "$GPGGA," και μετά αποθηκεύει σε εσωτερικούς καταχωρητές την πληροφορία της ώρας UTC. Με απλή πρόσθεση +2 ή +3 ώρες βρίσκουμε την τοπική ώρα την οποία θα εμφανίσουμε σε οθόνη LED ή LCD.

Απάντηση

Επιστροφή στο “Λοιπά ψηφιακά κυκλώματα”