School of Engineering DT2 Projekt-2: Baud Rate Generator & GPS Decoder.
-
Upload
kreszenz-straus -
Category
Documents
-
view
104 -
download
0
Transcript of School of Engineering DT2 Projekt-2: Baud Rate Generator & GPS Decoder.
School ofEngineering
DT2 Projekt-2:Baud Rate Generator & GPS Decoder
School ofEngineering
GPS Uhr Überblick
UARTRX
Infra-struktur
GPSReceiver
GPSDecoder
DisplayDriver
Display
DebugI/O
50MHzOszillator
CPLD
LED
MAXII Board
Reset
School ofEngineering
GPS Uhr Minimum Features
Uart-RXUnit
GPSDecoder
LCD Unit
LCDController
LCDDriver
MaxII FPGA
from GPSRXmodule
to LCDDisplay
School ofEngineering
Sample Punkte des UART
School ofEngineering
uart_rx_in
serial_in
UART RX
uart_rx_out
rx_data(7:0)
rx_data_valid
Signal überabtasten
Edge erkennen(Start Bits)
Tick für Abtastung generieren
Data Bits abtasten
Buffer 1 Byte Byte am Decoder weitergeben
School ofEngineering
Abtasten des seriellen Datenstroms
P
edge
TT + ½ T
baud_tick
0 1 2 3 4 5 6 7Bit-Pointer
School ofEngineering
serial_in
UART RX
rx_data(7:0)
rx_data_valid
EdgeDetector
clock
reset
TickGenerator
DataAbtaster
School ofEngineeringBaud Rate Generator
Tick Generator
BaudRate
Generator
50MHz
Edge
Reset Baud_tick
School ofEngineering
Taktteiler-Baud Rate Generator
LoadValue
LoadValue -1
LoadValue -2 0
50MHz
Edge
Baud Counter
Baud_tick
ReloadValue 0
1/4800s1.5/4800 s
School ofEngineering
uart_rx_out
rx_data(7:0)rx_data_valid
GPS Decoder
gps_time
sec_einer(7:0)sec_zehner(7:0)min_einer(7:0)min_zehner(7:0)std_einer(7:0)std_zehner(7:0)
Nach dem GPS Telegramm Headersuchen
Nur die Bytes mit der Zeitinformation abspeichern
Zeitinformation an den Display Controllerweitergeben
School ofEngineering
GPS Telegram
Link: http://www.kowoma.de/gps/index.htmNMEA-0183 Protokoll : http://www.kowoma.de/gps/zusatzerklaerungen/NMEA.htm
School ofEngineering
ASCII Zeichensatz
School ofEngineering
idle
5
2
1
0
,
G
P
P
$
!V
!V
!V
!V
!V
!Valid
V
V
V
V
V“$“
V & “G“
V & “P“
V & “G“
V & “,“
V & ! “$“
V & ! G
GPS Decoder Statemachine
School ofEngineering
GPSDecoder
0
1
2
3
4
5
UART_DATA
sec_einer
sec_zehner
min_einer
min_zehner
std_einer
std_zehner
CLK
VALID
Time Register