Post on 06-Apr-2015
transcript
School ofEngineering
DT2 Projekt-3: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
LCDController(Loader)
LCDDriver
MaxII CPLD
from GPSRXmodule
to LCDDisplay
(gegeben)
School ofEngineering
Sample Punkte des UART
School ofEngineering
serial_in
UART RX
rx_data(7:0)
rx_data_valid
Signal abtasten
Edge erkennen(Start Bits)
Tick für Abtastung generieren
Data Bits abtasten
Daten Buffer 1 Byte Neues Byte an Decoder melden
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)
EdgeDetector
clock
reset
TickGenerator
Daten Buffer
Steuerung
rx_data_valid
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
School ofEngineering
LCD Driver
(gegeben)
CLK
CHAR_NUM
DIN
WEN
LCD_DATA
LCD_RS
LCD_RW
LCD_E
8 LCDDRIVER LCD
DISPLAY7
LCDController
Loader
sec_einer
sec_zehner
min_einer
min_zehner
std_einer
std_zehner
RESET
CLK
RESET
School ofEngineering
Schnittstelle: LCD-Driver to LCD-Display
School ofEngineering
Schnittstelle: LCD-Loader to LCD-Driver
50MHz
Char_num
WEN
0 1 2 3
X”41” X”42” X”43” X”44”DIN
School ofEngineering
BaudeRate
Generator
Pointer
LCDDriver
sec_einer
CLK
DIN
char_num7
8
Baud_tick
WEN
LCD – Controller (Loader)
sec_zehner
min_einer
min_zehner
std_einer
std_zehner
School ofEngineering
BaudeRate
Generator
Pointer
LCDDriver
x “41“x “42“x “43“x “44“x “45“x “46“
CLK
DIN
char_num7
8
Baud_tick
WEN
LCD – Controller (Loader)