08 - Geschwindigkeitssensor RS232 / NMEA-Ausgang
Der RS232-Ausgang ist vorhanden, um einen Computer-Anschluss zum Konfigurieren der Einstellungen des VBSS über die RACELOGIC-Konfigurationssoftware bereitzustellen. Hierüber können auch Nachrichten im NMEA-Format oder im RACELOGIC-Format für Bremsmessungen ausgegeben werden.
RACELOGIC Datenformat RS232
Protokoll:
115.200 Baud, keine Parität, 8 Datenbits, 1 Stoppbit
Format der Nachricht:
$VB2100stttaaaaaaaaoooooooovvhhAAggGGcc
Parameter | Byteanzahl | Beschreibung |
---|---|---|
$VB2100 | 7 | Kopfabschnitt |
S | 1 |
Satelliten Anzahl der verwendeten Satelliten |
ttt | 3 (MSB zuerst) |
Zeit Zeitstempel seit Mitternacht UTC, wird alle 10 ms erhöht, 24 Bit vorzeichenlose Ganzzahl |
aaaaaaaa | 8 (MSB zuerst) |
Breitengrad Doppelt genaue 64-Bit-Gleitkommazahl (Radianten) |
oooooooo | 8 (MSB zuerst) |
Längengrad Doppelt genaue 64-Bit-Gleitkommazahl (Radianten) |
vv | 2 (MSB zuerst) |
Geschwindigkeit 0,01 Knoten pro Bit |
hh | 2 (MSB zuerst) |
Fahrtrichtung 0,01° pro Bit |
AA | 2 (MSB zuerst) |
Vertikalgeschwindigkeit 0,01 m/s pro Bit |
gg | 2 (MSB zuerst) |
Querbeschleunigung 0,01 g pro Bit |
GG | 2 (MSB zuerst) |
Längsbeschleunigung 0,01 g pro Bit |
cc | 2 (MSB zuerst) | Siehe CRC-Berechnungsbeispiel unten |
CRC-Berechnungsbeispiel:
CRC-Berechnungsbeispiel:
s[n] ist eine Zeichenfolge mit der Nachricht
Polynomial:= 4129
CRC:=0;
for Loop:=1 to Length(s) do
begin
Temp:=s[Loop];
CRC:= CRC xor (integer(Temp) *256);
CRC:= CRC mod 65536;
for i:=7 downto 0 do
begin
if ( (CRC and 32768)=32768) then
begin
CRC:= CRC *2 ;
CRC:= CRC xor Polynomial;
end
else
begin
CRC:= CRC *2 ;
end;
CRC:=CRC mod 65536;
end;
end;
result:=CRC;
Serieller Datenstrom Bremsmessungen
Protokoll:
115.200 Baud, keine Parität, 8 Datenbits, 1 Stoppbit
Format der Nachricht:
$VBBTSTstttvvvvhhVVVVddddddddeeeescc
Die Kopfzeile $VBBTST ist in ASCII geschrieben, während er Rest der Nachricht in hexadezimal-Format geschrieben ist.
Parameter | Byteanzahl | Beschreibung |
---|---|---|
$VBBTST | 7 | Kopfabschnitt |
S | 1 |
Satelliten Anzahl der verwendeten Satelliten |
ttt | 3 (MSB zuerst) |
Zeit Zeitstempel seit Mitternacht UTC, wird alle 10 ms erhöht, 24 Bit vorzeichenlose Ganzzahl |
vvvv | 4 (MSB zuerst) |
Geschwindigkeit (m / s), 32-Bit-IEEE-Float |
hh | 2 (MSB zuerst) |
Fahrtrichtung Überschrift in Grad (0,01 °), vorzeichenlose 16-Bit-Ganzzahl |
VVVV | 4 (MSB zuerst) |
Geschwindigkeit bei Ereignis Geschwindigkeit am letzten Ereignis (m / s), 32 Bit IEEE float |
dddddddd | 8 (MSB zuerst) |
Bremsweg Abstand seit Bremsereignis (m), 64-Bit-IEEE-Gleitkommazahl mit doppelter Genauigkeit |
eeee | 4 (MSB zuerst) |
Zeitpunkt des Ereignisses Zeitpunkt des Ereignisses ab Mitternacht (Sekunden) |
s | 1 (MSB zuerst) |
Status 0x01 für Bremsentrigger, 0x02 für Bremsentrigger aktiv |
cc | 2 (MSB zuerst) | Siehe CRC-Berechnungsbeispiel unten |
Notizen:
- 32-Bit-Floats sind im Little-Endian-Format (Low-Byte zuerst oder Intel-Format)
- Die Bremsentfernungsnummer ist im Big-Endian-Format (High Byte First oder Motorola-Format)
CRC-Berechnungsbeispiel:
s[n] ist eine Zeichenfolge mit der Nachricht
Polynomial:= 4129 (0x1021)
CRC:=0;
for Loop:=1 to Length(s) do
begin
Temp:=s[Loop];
CRC:= CRC xor (integer(Temp) * 256);
CRC:= CRC mod 65536;
for i:=7 downto 0 do
begin
if ( (CRC and 32768)=32768) then
begin
CRC:= CRC *2 ;
CRC:= CRC xor Polynomial;
end
else
begin
CRC:= CRC *2 ;
end;
CRC:=CRC mod 65536;
end;
end;
result:=CRC;
NMEA-Output
WICHTIG - Dies ist bei einem 5-Hz-Gerät nicht verfügbar.
Der VBSS kann 8 NMEA-Nachrichtentypen ausgeben. Die am häufigsten verwendeten sind GPGGA und GPVTG, deren Inhalte im Folgenden gezeigt werden.
$GPGGA,hhmmss.ss,Latitude,N,Longitude,E,FS,NoSV,HDOP,msl,m,Altref,m,DiffAge,DiffStation*cs<CR><LF>
Name | ASCII-Zeichenfolge | Einheiten | Beschreibung | ||
---|---|---|---|---|---|
Format | Beispiel | ||||
$GPGGA | string | $GPGGA | ID der Nachricht | Kopfzeile des GGA-Protokolls | |
hhmmss.ss | hhmmss.ss | 092725.00161229.487 | UTC Time | Aktuelle Zeit | |
Latitude (Breitengrad) | dddmm.mmmm | 4717.113993723.2475 | Latitude (Breitengrad) | Grad + Minuten | |
N | Zeichen | N | N/S-Anzeiger | N=Nord und S=Süd | |
Longitude (Längengrad) | dddmm.mmmm | 00833.9159012158.3416 | Longitude (Längengrad) | Grad + Minuten | |
O | Zeichen | WE | „E/W Indicator“ (O/W-Anzeiger) | E= Ost und W= West | |
FS | 1 Stelle | 1 | Anzeige Positionsbestimmung | Siehe Tabelle 41 | |
NoSV | numerisch | 078 | Anzahl der genutzten Satelliten | Von 0 bis 12 | |
HDOP | numerisch | 1,001 | HDOP | Horizontale „Dilution of Precision“ (Genauigkeitswert) | |
Ms1 | numerisch | 499.69.0 | m | MSL-Höhe | |
M | Zeichen | M | Einheiten | Meter | |
Altref | leer | 48,0 | m | Geoid-Differenz | |
M | leer | M | Einheiten | Meter | |
DiffAge | numerisch | Sekunde | Aktualität der Differenzialkorrekturen | Leere (null) Felder, wenn kein DGPS verwendet wird | |
DiffStation | numerisch | 0 | Diff. Referenzstations-ID | ||
Cs | hexadezimal | *5B*18 | Checksum (Prüfsumme) | ||
<CR> <LF> | Ende der Nachricht |
$GPVTG,cogt,T,cogm,M,sog,N,kph,K*cs<CR><LF>
Name | ASCII-Zeichenfolge | Einheiten | Beschreibung | ||
---|---|---|---|---|---|
Format | Beispiel | ||||
$GPVTG | string | $GPTVTG | ID der Nachricht | Kopfzeile des VTG-Protokolls | |
cogt | numerisch | 77,52 | Grad | Kurs über Untergrund (tatsächlich) | |
T | Zeichen | T | Angebundenes Feld | Tatsächlich | |
cogm | Leer | Kurs über Untergrund (magnetisch) | Nicht ausgegeben (leer) | ||
M | Zeichen | M | Angebundenes Feld | Magnetisch | |
sog | numerisch | 0,004 | Knoten | Kurs bei Bodengeschwindigkeit | |
N | Zeichen | N | |||
km/h | numerisch | 0,008 | km/h | Geschwindigkeit | |
K | Zeichen | K | K | Kilometer pro Stunde - angebundenes Feld | |
cs | hexadezimal | * 0B | Checksum (Prüfsumme) | ||
<CR> <LF> | Ende der Nachricht |