200 likes | 449 Views
DT2 Projekt-3: Baud Rate Generator & GPS Decoder. GPS Uhr Überblick. GPS Uhr Minimum Features. GPS Decoder. Uart-RX Unit. from GPS RX module. (gegeben). LCD Controller (Loader). LCD Driver. to LCD Display. MaxII CPLD. Sample Punkte des UART. UART RX. Signal abtasten
E N D
GPS Uhr Minimum Features GPS Decoder Uart-RX Unit from GPS RX module (gegeben) LCD Controller (Loader) LCD Driver to LCD Display MaxII CPLD
UART RX Signal abtasten Edge erkennen (Start Bits) Tick für Abtastung generieren Data Bits abtasten Daten Buffer 1 Byte Neues Byte an Decoder melden serial_in rx_data(7:0) rx_data_valid
0 1 2 3 4 5 6 7 Abtasten des seriellen Datenstroms P baud_tick edge T + ½ T T Bit-Pointer
UART RX serial_in Edge Detector Tick Generator rx_data_valid Steuerung clock rx_data(7:0) reset Daten Buffer
Baud Rate GeneratorTick Generator Baud Rate Generator Reset Baud_tick 50MHz Edge
Taktteiler-Baud Rate Generator 50MHz Baud Counter LoadValue -2 ReloadValue LoadValue LoadValue -1 0 0 Edge Baud_tick 1.5/4800 s 1/4800s
GPS Decoder uart_rx_out rx_data(7:0) rx_data_valid Nach dem GPS Telegramm Header suchen Nur die Bytes mit der Zeitinformation abspeichern Zeitinformation an den Display Controller weitergeben 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)
GPS Telegram Link: http://www.kowoma.de/gps/index.htm NMEA-0183 Protokoll : http://www.kowoma.de/gps/zusatzerklaerungen/NMEA.htm
GPS Decoder Statemachine !Valid idle “$“ V V & ! “$“ !V 5 $ V & “G“ V V & ! G 2 P !V V & “P“ V 1 P !V V & “G“ V 0 G , !V V & “,“ V !V
Time Register CLK GPSDecoder VALID sec_einer sec_zehner UART_DATA min_einer 0 1 2 3 4 5 min_zehner std_einer std_zehner
LCD Driver CLK RESET sec_einer CLK sec_zehner RESET LCDController Loader min_einer LCD _ DATA 8 LCDDRIVER DIN LCD _ RS LCDDISPLAY min_zehner LCD _ RW 7 std_einer CHAR _ NUM LCD _ E std_zehner WEN (gegeben)
Schnittstelle: LCD-Loader to LCD-Driver 50MHz Char_num 0 1 2 3 DIN X”41” X”42” X”43” X”44” WEN
LCD – Controller (Loader) CLK Pointer LCD Driver 7 char_num sec_einer sec_zehner 8 DIN min_einer min_zehner std_einer WEN std_zehner Baude Rate Generator Baud_tick
LCD – Controller (Loader) CLK Pointer LCD Driver 7 char_num x “41“ x “42“ 8 DIN x “43“ x “44“ x “45“ WEN x “46“ Baude Rate Generator Baud_tick