RS-tracker/dfm/dfm06.txt

124 wiersze
2.6 KiB
Plaintext

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