Hi, ich versuche gerade die kommunikation eines GPS chips in einer Navi mitzulesen. Die Pinne heissen RX und TX also gehe ich von UART aus. Einmal pro sekunde kommen wie erwartet Daten, aber ich bekomme die nicht decodiert, da mir Baudrate und die anderen Settings fehlen. Anbei oben ein Screenshot und 10 Sekunden Logic Analyzer Dump Der Chip ist ein Furuno GN-8409B Hat jemand ne Idee, wie man so eine Analyse anfängt, ich habe normalerweise wenigstens mit "probieren" immer was brauchbares gefunden aber hier scheitere ich :-((
" They are also compatible with most computer serial ports using RS232 protocols" und " the NMEA standard is 4800 b/s (bit per second rate) with 8 bits of data, no parity, and one stop bit. " also xx 8N1 - ich habe alle von 1200 bis 115200 versucht, bekomme aber nur kauderwelsch. :-) @Ben Danke für deinen Beitrag der nichts zur Sache beiträgt. Ich vermisse die Zeiten als hier noch wenig Trolle unterwegs waren
Allenfalls ist das GPS zum Einbauen und hat deshalb keinen Max232 konverter, dh die Signale waeren dann TTL, resp das Signal waeren invertiert. Es muss nichts kaputt gehen... kann aber.
Basti schrieb: > Hat jemand ne Idee, wie man so eine Analyse anfängt Erstmal eingrenzen: 1. Die kürzeste Zeit für einen Bitwechsel ist deine Bitzeit. 1/Bitzeit ist deine Baudrate (Bits/Sekunde). 2. So wie es aussieht fährt dein Protokoll negative Logik (Idle auf high) 3. Jetzt noch mit Start und Stop Bits rumspielen, könnte klappen.
Hallo Basti, du hast maximale 4 Flanken in 100µs. Die Symbolrate muss also um 25µs -> ca. 40000 Baud liegen -> 38400 Baud. (~80000) wären möglich, aber unwahrscheinlich. Startbit ist Low, Stopbit ist High, dazwischen n beliebige Datenbits. Dann wiederholt sich das ganze. Suche nach Mustern. Es können auch 9 Datenbits sein oder ein Parity-Bit sein. Die längste Low-Phase könnte dir schon Aufschluss geben. Grüße
@Jetztnicht, X4U Das ist TTL Pegel, also Idle-High. (oder hab ich da was verwechselt?) @Konrad: Leider auch nicht, hab gleich mal verschiedene Baudraten versucht.... Lt. Hersteller Protocol NMEA0183 /FEC Binary Interfaces Single Serial UART, 3 Volt CMOS Digital Levels soweit also UART
Basti schrieb: > Das ist TTL Pegel, also Idle-High. (oder hab ich da was verwechselt?) Hat mit dem Pegel nichts zu tun. Deine Pegel sind die "üblichen", z.B. bei invertierenden Treibern (wie MAX232) für die RS232 Wandlung. Idle Low auf TTL Pegel kommt aber auch vor, deshalb einmal checken. > Protocol NMEA0183 /FEC Binary > Interfaces Single Serial UART, 3 Volt CMOS Digital Levels Auf dem ISO Level bist du aber noch nicht, auch binary Protokolle senden lesbare Zeichen. Probier doch mal Hterm, das zeigt Zeichen auch als binary an. > hab gleich mal verschiedene Baudraten versucht Rechne Sie doch erst mal aus.
X4U schrieb: > Idle Low auf TTL Pegel kommt aber auch vor, deshalb einmal checken. Würde man bei GPS sofort sehen, denn das Signal ist relativ lange idle zwischen zwei Ausgaben - jedenfalls bei 38,4 kBaud. Basti schrieb: > Protocol NMEA0183 /FEC Binary > Interfaces Single Serial UART, 3 Volt CMOS Digital Levels Das bedeutet, dass man für ein PC Kompatibles RS232 einen MAX3232 braucht - das ist die 3.3 Volt Version des Pegelwandlers. Ein 74xx Inverter könnte auch funktioniern, liefert aber keine konformen Pegel. Ausname: Man hat schon ein USB->UART TTL Kabel ohne Pegelwandler rumfliegen. Die gibts bei IBäh.
Habs mit nem CP 2102 versucht also lassen wir mal rs232 aussen vor ;-) (Nutzt das noch jemand?)
Also... es ist 38400 Das Protokoll ist "Furuno Binary" die frames sehen so aus 1075F402A58C3B00A30E0E02280019CC7F0008FFE8FF8E02A58C2400A30E2102190019C6 300004FFE8FF8117070D13150413144822150413144821000685000111FFFFFFFF000400 291003108800000006F21F450F0E089DE21B0F081F832611082C2127120421000016081E CC0B18081E0B7D000000000000000000000000000000000000000000000000007C010000 00FF7FF0FF1D2208100310780800040F0A4014FE220000000000000000811003 1079021504131448237F10031075F402A58C3E00A30DF102280019CC7C0008FFE8FF8C02 A58C1D00A30DD002130018C7190004FFE9FF8617070D1315041314482315041314482200 068500011010FFFFFFFF0004003C1003108800000006F21F450F0E089DE21B0F081F8326 11082B2127120421000016081ECC0B18081E0B7D00000000000000000000000000000000 0000000000000000007C01000000FF7FF0FF1D230E100310780800040F0A4014FE220000 000000000000811003 ich kann auf jeden fall die Uhrzeit und datum erkennen 150413144822 150413144823 etc mal sehen ob ich anhand vom debug output der navi den rest entschlüsselt krieg
Basti schrieb: > es ist 38400 Nu, sach ich doch. ;-) Und 8 Datenbits, Odd Parity, 1 Stop-Bit wird wohl auch stimmen. Das Bild im Eingangspost legt das zumindest nahe.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.