DFM-06: GPS Chip: Navman/Telit Modulation: FSK raw: 2500 baud Manchester codiert -> 1250 bit/s Frame: 280 bit, davon 16 bit Header 0x45CF, dann 3 Bloecke (CFG,DAT1,DAT2) mit (56,104,104) bits Interleaved: 7x8, 13x8, 13x8 erweiterter systematischer [8,4]-Hamming-Code, erste 4 bit sind Daten Big Endian GPS_DAT-Block 48bit + 4bit-PCK_ID 0x0..0x8 (letztes nibble): PCK_ID bitpos 0x0 24..31 Counter: 8 bit 0x1 32..47 UTC-msec : 16bit (sec*1e3), GPS = UTC + 18s (ab 1. Jan. 2017) 0x2 0..31 GPS-lat : 32bit, Faktor 1e7 32..47 hor-V m/s: 16bit, Faktor 1e2 0x3 0..31 GPS-lon : 32bit, Faktor 1e7 32..47 direction: 16bit, Faktor 1e2 (unsigned, 0-36000) 0x4 0..31 GPS-alt m: 32bit, Faktor 1e2 32..47 ver-V m/s: 16bit, Faktor 1e2 (signed) 0x8 0..11 Jahr : 12bit 12..15 Monat: 4bit 16..20 Tag : 5bit 21..25 Std : 5bit 26..31 Min : 6bit 0xF 0..47 000000000000 CFG/MEAS-Block beginnt mit nibble 0,1,2, 0,1,3, 0,1,4, 0,1,5, 0,1,6, 0,1,2, ... DFM-06 (341110), NXP Seriennummer/ID: CFG-Block 6xxxxxx (Kanal 6) e.g. 6324695 -> 324695 (fehlt bei aelteren DFMs) DFM-09 (543410), STM32 Seriennummer/ID: CFG-Block Acaaaab (Kanal A) b=0: high 16bit aaaa b=1: low 16bit aaaa e.g. AC00070 : 0x0007 ACDB131 : 0xDB13 -> 0x0007DB13 = 514835 PS-15 Seriennummer/ID: CFG-Block 70aaaab (Kanal 7) b=0: high 16bit aaaa b=1: low 16bit aaaa e.g. 7001040 : 0x0104 7004C61 : 0x04C6 -> 0x010404C6 = 17040582 measure_sensor, Kanaele n=0,..,4: nexxxxx: float24 (4bit_exp + 20bit_mantisse) fn = xxxxx/2^e bei DFM-NXP(8bit) ist letztes nibble=0, d.h. nexxxx0 (somit 4+16=20 bit) n=3: Rs (dfm6-pcb 10k, dfm9-pcb 20k) n=4: 220k n=0: Thermistor + Rs Temperatur-Sensor, DFM-06: NTC-Thermistor EPCOS B57540G0502 ? R/T No 8402, R25=5k f0 = a*(R+Rs) , R: thermistor f3 = a*Rs , Rs = 10k,20k f4 = a*220k , a: A/D-faktor (f0-f3)/f4 = R/220k ntc thermistor approx: R/Ro = exp(B(1/T-1/To)) 1/T = 1/To + 1/B * log(R/Ro) To = 25C = 273.15+25 Kelvin Ro = 5k B(0C..100C) = 3450 Kelvin B(-55C..30C) etwas niedriger (z.B. 3260 Kelvin) R/Ro = (f0-f3)/f4 * 220k/5k EEPROM: GRAW-Kalibrierdaten -80C..+40C ? DFM-06 und DFM-09 haben unterschiedliche Polaritaet bzw. Manchester-Varianten DFM-06 hat Kanaele 0..6 (anfangs nur 0..5) DFM-09 hat Kanaele 0..A Ausnahme: erste DFM-09-Versionen senden wie DFM-06 PS-15 hat Kanaele 0..7 (Polaritaet wie DFM-06) alter Quellcode (Codierung, Telemetrie): https://www.amateurfunk.uni-kl.de/projekte-aktivitaeten/decoder-wettersonden/ Sensor-Info: https://www.imk-tro.kit.edu/download/Diplomarbeit_Fuetterer.pdf