GPS

Verze pro tisk

Protokol GPS pro MORSE

verze 7.45

16. února 2007

1. Úvod

Přijímač GPS zpracovává polohové signály z družic. Z těchto signálů určuje zejména čas a umístění na zemském povrchu (zeměpisná šířka a délka, nadmořská výška). Data z GPS můžeme použít pro aktivní sledování vozidel, například vysíláním dat z vozidla v určených časových intervalech na dispečink.

Data z GPS se mohou zpracovávat různými režimy. Podle typu zpracování se k informacím z GPS „přibalují“ další informace a podle nastaveného kritéria vznikají pakety odesílané do sítě MORSE.

2. Formát dat

Datagram začíná „Typem RF zprávy“, který může nabývat různých hodnot.

0x06

GPS BASIC, souřadnice, rychlost

0x05

přerušeno spojení s GPS na RS232

0x07

GPS RSS, souřadnice, Base, RSS

0x08

GPS REC, přenos přes rekordér

0x00

obsolete – GPS BASIC old

0x01

obsolete – nahrazeno typem 0x08

0x02

obsolete – nahrazeno typem 0x08

0x03

obsolete – nahrazeno typem 0x04

0x04

obsolete – nahrazeno typem 0x05

Dále jsou popsány jen aktuálně používané typy.

2.1. GPS BASIC

Datagram pro přenos základních informací z protokolu GPS do řídicího centra.

Význam jednotlivých parametrů:

Typ RF zprávy:

0x06

Délka paketu:

16 byte

Parametr (p)eriod:

(p) > 0, zapnuto

Režim (m)ode:

(M) MOBILE/RSS/TIME

Formát paketu:

|type/8|fix/2|sec/6|lat/32|lon/32|speed/8|azimuth/8|status/16|height/16|

Meaning of items:

type - 1 byte - typ RF zprávy = 0x06
fix  - 2 bity – typ informace o poloze
       00 – není fixována
       01 – je fixována 2D, není diferenciální korekce
       10 - je fixována 2D, je diferenciální korekce
       11 - je fixována 2D, není informace o dif. korekci
sec  - 6 bitů - sekunda v běžící minutě
lat  - 4 byty - zeměpisná šířka v 1/100000 minuty,  
       MSB = 0 znamená  N - sever
             1 znamená  S - jih
lon  – 4 byty - zeměpisná délka v 1/100000 minuty,  
       MSB = 0 znamená E - východ
             1 znamená W - západ
speed   - 1 byte - rychlost v km/h (max 255) 
azimuth - 1 byte - azimut v 1/256 kruhu
status  - 2 byty - MSByte,LSByte - car status 
   MSByte obsahuje informace o stavu vstupů připojené jednotky MTS, 
          SEP, ADIO
          0x03 - příklad - ADIO vstupy DI0 i DI1 jsou ve stavu ON
   LSByte obsahuje ve svém LSBit informace o stavu signálu RTS:
          0x00 - RTS = log 1 (-5 až -15V) nebo je odpojen
          0x01 - RTS = log 0 (+5 až +15V)
height  - 2 byte - nadmořská výška v jednotkách 0,1 m, rozsah 0...6500m,
          0xFFFF = není fixováno v módu 3D

2.2. Lost Connection

Ztráta spojení s GPS.

Typ RF zprávy:

0x05

Délka paketu:

1 byte

Parametr (p)eriod:

(p) > 0, nemá vliv na intervaly vysílání zprávy

Režim (m)ode:

(M) MOBILE/RSS/TIME

Formát paketu:

|type/8|
type – 1 byte - type of RF message = 0x05

Zpráva je vysílána na adresu (d)st při ztrátě spojení mezi portem SCC a GPS.

2.3. GPS RSS

Datagram pro měření pokrytí území rádiovým signálem.

Typ RF zprávy:

0x07

Délka paketu:

16 byte

Parametr (P):

(P) > 0, zapnuto

Režim (m)ode:

(M) MOBILE/RSS/TIME

Formát paketu:

|type/8|fix/2|sec/6|lat/32|lon/32|base/32|res/8|RSS/8|

Význam jednotlivých parametrů:

type - 1 byte - typ RF zprávy = 0x07
fix  - 2 bity - typ informace o poloze
       00 - není fixována
       01 - je fixována 2D, není diferenciální korekce
       10 - je fixována 2D, je diferenciální korekce
       11 - je fixována 2D, není informace o dif. korekci
sec  - 6 bitů - sekunda v běžící minutě
lat  - 4 byty - zeměpisná šířka v 1/100000 minuty,  
       MSB = 0 znamená  N - sever
             1 znamená  S - jih
lon  – 4 byty - zeměpisná délka v 1/100000 minuty,  
       MSB = 0 znamená E - východ
             1 znamená W - západ
base - 4 byte - adresa použité základnové stanice
res  - 1 byte - rezerva
RSS  - 1 byte - RSS (-dBm)( Received Signal Strength) - síla signálu 
       základnové stanice

Položky fix, sec, lon, lat jsou nulové při ztrátě spojení s GPS.

2.4. GPS REC

Datagram pro přenos základních informací z protokolu GPS do řídicího centra s využitím funkce Rekordéru. Pracuje pouze ve firmwarovém modulu K.

Typ RF zprávy:

0x08

Délka paketu:

34 byte

Parametr (p)eriod:

(p) > 0, zapnuto

Režim (m)ode:

(m) MOBILE+REC/RSS/TIME

Formát paketu – platí prvních 20 byte, další jsou „proprietary“ tj. mohou být při vývoji změněny:

|type/8|fix/2|sec/6|lat/32|lon/32|speed/8|azimuth/8|status/16|height/16|
|gmt/32|ft/32|no/32|base/32|DQ/8|RSS/8|

Význam jednotlivých parametrů:

type - 1 byte - typ RF zprávy = 0x06
fix  - 2 bity - typ informace o poloze
       00 - není fixována
       01 - je fixována 2D, není diferenciální korekce
       10 - je fixována 2D, je diferenciální korekce
       11 - je fixována 2D, není informace o dif. korekci
sec  - 6 bitů - sekunda v běžící minutě
lat  - 4 byty - zeměpisná šířka v 1/100000 minuty,  
       MSB = 0 znamená  N - sever
             1 znamená  S - jih
lon  – 4 byty - zeměpisná délka v 1/100000 minuty,  
       MSB = 0 znamená E - východ
             1 znamená W - západ
speed   - 1 byte - rychlost v km/h (max 255) 
azimuth - 1 byte - azimut v 1/256 kruhu
status  - 2 byty - MSByte,LSByte - car status 
   MSByte obsahuje informace o stavu vstupů připojené jednotky MTS, 
          SEP, ADIO
          0x03 - příklad - ADIO vstupy DI0 i DI1 jsou ve stavu ON
   LSByte obsahuje informace o stavu CU:

   |res/11|st_cold/1|st_gps/1|st_rf/1|st_pwr/1|st_rts/1|

   res:     0 - rezerva   
   st_cold: 0 - normální stav
            1 - proběhl COLD START (POWER ON)
   st_gps:  0 - spojení s GPS pracuje
            1 - spojení s GPS přerušeno
   st_rf:   0 - mobilní spojení pracuje
            1 - mobilní spojení přerušeno
   st_pwr:  0 - napájení ze sítě
            1 - napájení z baterií
   st_rts   0 - RTS = log 1
            1 - RTS = log 0

height - 2 byte - nadmořská výška v jednotkách 0,1 m, rozsah 0...6500m,
         0xFFFF = není fixováno v módu 3D 
gmt    - 4 byte - běžný čas v sekundách uplynulý od 00:00:00 GMT, 1.1.1970
ft     - 4 byte - format time - čas GMT, kdy proběhlo formátování 
         rekordéru, slouží k identifikaci rekordéru
no     - 4 byte - pořadové číslo záznamu v rekordéru
base   - 4 byte - adresa použité základnové stanice
DQ     - 1 byte - data quality - kvalita signálu základnové stanice
RSS    - 1 byte - RSS (-dBm)( Received Signal Strength) - síla signálu 
         základnové stanice

Položky fix, sec, lon, lat jsou nulové při ztrátě spojení s GPS.

Posledních 20 záznamů rekordéru lze prohlížet povelem iR0. Záznamy mají délku 20byte (type….gmt), teprve při vyslání do sítě MORSE jsou doplněny o zbývajících 14byte.

2.5. GPS BASIC old

Datagram shodný s GPS BASIC, je však kratší o položku heihgt/16 a reaguje odlišně na ztrátu spojení s GPS. Nedoporučuje se.

Typ RF zprávy:

0x00

Délka paketu:

14 byte

Parametr (p)eriod:

(p) > 0, zapnuto

Režim (m)ode:

(o) mobile/obsolete

Formát paketu:

|type/8|fix/2|sec/6|lat/32|lon/32|speed/8|azimuth/8|status/16|

3. Implementace protokolu v systému MORSE

Data z GPS jsou předávána sériovým portem do protokolu a ten pak odesílá datagramy podle zvoleného módu do sítě MORSE. Příklady těchto datagramů jsou uvedeny dále.

3.1. GPS BASIC and GPS RSS

Příklad uvádí oba režimy. Většina aplikací používá pouze režim GPS BASIC.

Na adresu (d)st:690F80AAh je s periodou (p):10s odesílán datagram GPS BASIC obsahující informaci o souřadnicích a výšce. GPS se nepohybuje, proto údaj o rychlosti je nulový a azimut obsahuje náhodnou hodnotu.

Na adresu RSS (D)st:690F80BBh je odesílán datagram GPS RSS s informací o souřadnicích, o adrese aktuální stanice Base 690F8101 a síle signálu RSS=0x55 to je 85dec.

12:50:11.000|                 |690F80AA 690F8011|S02I   OUT  16| 09 0user
064A 11BA 20A0 05BF F5E0 009A 3F00 1876
12:50:15.000|                 |690F80BB 690F8011|S02I   OUT  16| 09 0user
074E 11BA 208C 05BF F5D6 690F 8101 1E55

Položka 0x3F00 „status“ obsahuje data vyslaná z připojeného zařízení MTS, SEP nebo modulu ADIO. Jedno z těchto zařízení je připojeno například k sousednímu nódu a jeho cílová adresa je shodná s nódem určeným pro GPS. Protokol GPS tato přijatá data začlení do datagramu GPS BASIC odešle je společně se zprávou o poloze na adresu (d)st. Uvedený příklad 0x3F odpovídá stavu, kdy na SEPu jsou digitální vstupy DI0 až DI5 ve stavu ON a vstupy DI6 a DI7 ve stavu OFF. Nejnižší bit „0“ položky 0x3F00 pochází ze signálu RTS na sériovém portu GPS. Odpovídá stavu, kdy je vodič RTS odpojen nebo je ve stavu ON, tedy log 1. Přivedením stavu OFF, například spojením se sousedním vodičem CTS, by se status změnil na 0x3F01.

3.2. Ztráta komunikace s GPS

Ztráta spojení s GPS na sériovém portu je hlášena do centra. Na adresu (d)st:690F80AAh je místo datagramu GPS BASIC odesílána zpráva „05“. Tato je poprvé vyslána 3 sekundy po ztrátě spojení s GPS, dále pak každých 60 sec.

Na adresu RSS (D)st:690F80BBh je s periodou (P):10s odesílán datagram obsahující nuly na místě souřadnic.

12:49:05.000|                 |690F80AA 690F8011|S02I   OUT   1| 09 0user
05
12:49:05.000|                 |690F80BB 690F8011|S02I   OUT  16| 09 0user
0700 0000 0000 0000 0000 690F 8101 1E55

3.3. GPS REC

Přenos s podporou rekordéru lze využít v případě, že mobilní rádiové spojení do centra je občas přerušeno. Rekordér je část paměti v radiomodemu, do které jsou zapisovány datagramy z protokolu GPS. Teprve odtud jsou pak předávány do rádiové sítě. Je-li rádiové spojení přerušeno, jsou datagramy ukládány pouze v rekordéru. Po obnovení spojení jsou pak odeslány do centra. Tuto činnost v centru zajišťuje A-GPS daemon. Modem musí obsahovat fw modul K.

Příklad datagramu za normálního provozu:

11:25:47.004|                 |690F80AA 690F8011|S00I   OUT   34| 09 3user
0840 11BA 20AA 05BF F69E 00FF 0000 1886 41E6 4CAA 41E6 2D60 0000 0471 
690F 8101 1E47

Ztráta rádiového spojení:

12:55:54.004|                 |690F80AA 690F8011|S00I   OUT   34| 09 4user
0840 11BA 138A 05BF F3BA 00F4 0004 15E9 41E6 61C9 41E6 2D60 0000 0BDC
0000 0000 00FF

V datagramu je nastaven bit „st_rf“ = 1 v 7. wordu 0x0004, adresa bázové stanice je nulová. Datagramy jsou generovány, ukládány do rekordéru, předávány do nódu, nejsou však vysílány rádiovým kanálem.

Ztráta spojení s GPS:

14:13:28.014|                 |690F80AA 690F8011|S00I   OUT   34| 09 0user
0800 0000 0000 0000 0000 0000 0008 0000 41E6 73F8 41E6 2D60 0000 0F6D 
690F 8022 1D3C

Bit „st_gps“ = 1 v 7. wordu 0x0008, souřadnice jsou nulové. Je vygenerován pouze 1 datagram.

3.4. Transparentní přenos

Příklad dat přijímaných portem SCC2 z GPS, zobrazeno v kódu ASCII:

08:44:52.099 rx;i  129 | S02
$GPRMC,074452,V,4934.1067,N,01604.6597,E,000.0,000.0,131204,002.2,E*60
$GPGGA,074452,4934.1067,N,01604.6597,E,0,00,,,M,,M,,*59

Transparentní datagram odesílaný na adresu (A)tra dst:690F80CCh při parametru N(M)EA:GPRMC, zobrazeno v ASCII:

08:44:52.100|                 |690F80CC 690F8011|S02I   OUT   73| 09 2user
$GPRMC,074452,V,4934.1067,N,01604.6597,E,000.0,000.0,131204,002.2,E*60

4. Nastavení parametrů protokolu v CU

GPS parameters:
h(w) type:GARMIN
(m)ode:MOBILE/RSS/TIME
(c)orr. mode:OFF
(t)ime sync:OFF

(d)st:690F80AAh  (p)eriod:10s  d(i)stance:0*100m
(r)egion of interest:OFF
(W):0  (N):0
(E):0  (S):0
TX (f)ix only:OFF

RSS (D)st:690F80BBh  (P):10s
(A)tra dst:00000000h (a)tra period:0s  N(M)EA:        
(G)ps state  o(b)solete stuff
(q)uit
>>

Význam jednotlivých parametrů:

h(w) type:GARMIN – volba typu připojené GPS
  (G) GARMIN
  (M) MOTOROLA

(m)ode:MOBILE/RSS/TIME  - pracovní režim protokolu
  (M) MOBILE/RSS/TIME          - základní režim, generuje datagramy 
                                 GPS BASIC
  (m) MOBILE+REC/RSS/TIME      - gen. datagramy GPS REC, pouze fw modul K
  (T) CORR. SOURCE TRANSPARENT - příjem dat od zdroje korekcí, transparent
  (R) CORR. SOURCE RTCM        - příjem dat od zdroje korekcí, mód RTCM
  (o) mobile/obsolete          - generuje datagramy GPS BASIC old
  (O) OFF

(c)orr. mode:OFF - využití korekcí v cílové GPS
  (O) OFF - vypnuto
  (T) CORR. TARGET TRANSPARENT - zapnuto, transparentně
  (R) CORR. TARGET RTCM        - zapnuto, mód RTCM

(t)ime sync:OFF - synchronizace vnitřních hodin modemu podle signálu GPS
  o(n)  - zapnuto
  o(f)f - vypnuto

Parametry pro vysílání informace o poloze:

(d)st:690F80AAh   - cílová adresa
(p)eriod:10s      - perioda odesílání zpráv, (p):0 zastaví vysílání
d(i)stance:0*100m - po vložení nenulové hodnoty jsou generována také 
                    hlášení při změně polohy GPS o zvolenou vzdálenost

Vysílání těchto zpráv je ovlivněno parametry (r)egion, (f)ix a připojením GPS.

(r)egion of interest: - zpráva na adresu (d)st je odeslána jen za 
   podmínky, že výsledné souřadnice leží uvnitř obdélníku (W),(E),(N),(S),
   používá se pro odfiltrování chybných souřadnic
   o(n)  - zapnuto
   o(f)f - vypnuto

TX (f)ix only:ON - zpráva na adresu (d)st je odeslána jen za podmínky,
  že GPS zachytila potřebná data, "je fixovaná"
  o(n)  - zapnuto
  o(f)f - vypnuto

(W):0 - West  - západní okraj oblasti
(E):0 - East  - východní
(N):0 - North - severní
(S):0 - South - jižní
      - hranice oblasti (r)egion of interest v jednotkách 1/100000 minuty,
        západní zeměpisná délka se vyjadřuje záporným číslem,
        jižní zeměpisná šířka se vyjadřuje záporným číslem

Příklad vymezení oblasti 12deg až 19deg východní zeměpisné délky a 48deg až 51deg severní zeměpisné šířky (Česká republika):

(r)egion of interest:ON
(W): 72000000  (N):306000000
(E):114000000  (S):288000000                 ...48 x 6000000 = 288000000

Parametry pro vysílání zpráv o poloze a o síle signálu od CU Base:

RSS (D)st:690F80BBh - cílová adresa 
(P):10s             - perioda odesílání zpráv, (P):0 zastaví vysílání

Parametry pro vysílání transparentních dat:

(A)tra dst:00000000h - cílová adresa 
(a)tra period:0s     - perioda odesílání zpráv, (a):0 zastaví vysílání
N(M)EA: prvních 5 ASCII znaků požadované části zprávy.

Například pokud komunikace GPS -> CU vypadá takto:

09:32:29.459 rx;i  141 | S02
$GPRMC,083229,A,4934.1109,N,01604.6641,E,000.0,167.5,101204,002.2,E*72
$GPGGA,083229,4934.1109,N,01604.6641,E,1,05,4.2,635.1,M,44.2,M,,*45

můžeme znaky GPGGA vložit do parametru M:

N(M)EA:GPGGA

a pak je celá druhá část zprávy odesílána transparentně v hexadecimálním tvaru na adresu (A)tra.

(G)ps state – pomocné parametry pro GPS:

Gps state:
(s)tatus
GARMIN:
(d)isable all
(9)600
(e)nable selected sentences
(r)eset unit
(q)uit
>>

(s)tatus - informace o stavu GPS:
>>GPS status:
NSat:5                  - počet zachycených satelitů
Fix:1                   - 1 = fixováno, 0 = ne
lon:16.077715deg        - zeměpisná délka, stupně
lat:49.568445deg        - zeměpisná šířka, stupně
alt:621.300000m 3Dfix:1 - nadmořská výška, fixováno pro 3D
speed:0.000000km/h      - rychlost mezi posledními dvěma body
azimuth:355.600000deg   - směr mezi posledními dvěma body
UTC:2004-12-10 8:50:20  - čas GMT
vstat:0000              - pomocná data o stavu vozidla, shodné s položkou
                          "status" v paketu GPS BASIC

Other parameters are only determined for development purposes.

(d)isable all
(9)600
(e)nable selected sentences
(r)eset unit

5. History

Tento popis platí od verze fw704, porobné uspořádání parametrů protokolu od fw705. Datagramy s rekordérem jsou vyzkoušeny ve verzi K673.