MARS-A

Verze pro tisk

Protokol MARS-A pro MORSE

(MARS rev.4)

verze 7.45

6. listopadu 2013

1. Úvod

MARS-A je plně duplexní protokol s 32 bitovou adresou, s detekcí chyb (založenou na 16 bitovém kontrolním součtu nebo 16 bitovém CRC) a s korekcí chyb. MARS-A se dá označit jako protokol nejvíce přátelský k uživateli ze síťových protokolů systému MORSE. Při jednoduchém uživatelském interface umožňuje přístup ke všem službám datové sítě MORSE.

Tímto protokolem je nahrazen zastaralý protokol MARS-U (MARS rev.2), který byl vybaven 16 bitovou adresou). Delší adresa je potřebná zejména pro mobilní aplikace v síti MORSE. Nový protokol obsahuje také jiné typy rámců.

2. Formát dat

Příklad datového rámce ve formátu MARS-A:

|FT/2|FN/2|R/1|S/11| PT/8|H/1|L/1|R/3|N/3 |  A/32   | DATA |F/8|BCW/16|
|       C008       |  89 |      05        |690F 1244| AAAA |   | 98EC |
FT/2

frame type, typ rámce

FN/2

frame number, číslo rámce

R/1

repeat

S/11

size, délka dat linkové vrstvy,   S= délka dat + 6  [byte]

PT/8

packet type

H/1

H2N bit
nastaven na 1, je-li vysílající DTE=Host, A/32 je adresa destination
nastaven na 0, je-li vysílající DCE, A/32 je adresa source

L/1

lokální mód

R/3

rezerva

N/3

síťové číslo

A/32

adresa destination nebo source podle parametru H/1

DATA

uživatelská data, délka dat je   S – 6  [byte]

F/8

doplněk na sudý počet bytů celého rámce

BCW/16

kontrolní součet

Podrobný popis formátu je uveden dále.

2.1. Fyzická vrstva

Fyzická vrstva je určena možnostmi hardware v systému MORSE. V principu může MARS-A pracovat s libovolnou konfigurací kanálu. Standardně se předpokládá asynchronní komunikace mezi DTE-DCE na duplexním interface V.24 jen s použitím signálů RXD, TXD a zem (3 drátová komunikace). Pro komunikaci vyššími rychlostmi a na větší vzdálenosti je možno použít interface RS422. Synchronní komunikace je možná pouze přes interface V.24.

2.2. Linková vrstva

Linková vrstva protokolu může pracovat s libovolným fyzickým interface, který umožňuje plně duplexní asynchronní komunikaci s 8 bitovými daty. Pro přenos dat je plně transparentní, nelze tedy použít Xon/Xoff pro řízení toku dat. Také není třeba používat hardwarový handshake, protože řízení toku dat zajišťuje sám protokol. Pro svoji jednoduchost je tato linková vrstva vhodná pro spoje se zanedbatelnou četností chyb. Rámec má vždy sudý počet byte. Je sestaven z 16 bitového návěští, bloku dat (vždy sudý počet byte) a 16 bitového kontrolního slova (BCW).

Linková vrstva může obsahovat 3 typy rámců:

  1. Datový rámec

  2. Řídicí rámec

  3. Servisní rámec

Standardní komunikace sestává z datových a řídicích rámců:

  Příklad: 
Datový rámec:C009 0900 690F 8105 AB11 223A A828
Kontrolní rámec:8106
  Odpověď: 
Datový rámec:E009 0900 690F 8106 CD33 442F 881C
Kontrolní rámec:A106

Datový rámec

Datový rámec (podle předchozího příkladu):

      | L/16 |       LLD/size         | F/8 | BCW/16 |
        C009   0900 690F 8105 AB11 22   3A     A828
L/16

Label – návěští.

LLD/size

Link layer data – data linkové vrstvy.

F/8

Stuffing – doplněk – 1 byte s libovolnou hodnotou použitý k dosažení sudé velikosti rámce. Tento doplňkový byte je zahrnut do BCW.

BCW/16

Block Control Word – kontrolní součet počítaný defaultně jako podélná parita přes 16 bitová slova v celém rámci (pomocí XOR). Lze také zvolit mód CRC-16, odpovídá RFC 1662 (stejně jako protokol PPP). CRC verzi je nutno zvolit v konfiguraci protokolu.

Návěští – 16 bits (1 Word) je uspořádáno takto:

      | FT/2 | FN/2 | R/1 |     S/11     |
         11     00     0    000 0000 1001    ( = 0xC009 )
FT/2

Frame Type – typ rámce

  • 11 – uživatelský rámec (normální mód)

  • 10 – řídicí rámec (ACK…)

  • 01 – rezervováno pro interní použití

  • 00 – servisní rámec linkové vrstvy

FN/2

Frame Number – číslo rámce – při opakovaných rámcích se neinkrementuje

R/1

Repeat – opakovací bit

  • 0 – rámec je vysílán poprvé

  • 1 – opakovaný rámec

S/11

Size – délka dat linkové vrstvy (LLD), délka datového pole v bytech, nepočítá se návěští, doplněk ani BCW

Řídicí rámec

Řídicí rámec:

      | FT/2 | FN/2 | CC/4 |   CT/8    |
         10     00    0001   0000 0110    ( = 0x8106 )
FT/2

Frame Type – typ rámce

  • 11 – uživatelský rámec (normální mód)

  • 10 – řídicí rámec (ACK…)

  • 01 – rezervováno pro interní použití

  • 00 – servisní rámec linkové vrstvy

FN/2

Frame Number – číslo rámce – shodné s FN potvrzovaného rámce

CC/4

třída řídicího rámce – normálně 0x1

CT/8

typ řídicího rámce

  • 0x06 – ACK – datový rámec byl správně přijat

  • 0x05 – NAK – datový rámec nebyl správně přijat, špatný kontrolní součet nebo velikost

  • 0x04 – REJ – datový rámec byl správně přijat ale fronta datagramů je plná

Servisní rámec

Služba zjištění času: čtení GMT z DCE

Formát dotazu:

   | L/16 |0001/16| BCW/16 |

Formát odpovědi:

   | L/16 |0081/16|gmtsec/32|tfix/1|R/5|msec/10| BCW/16 |
Služba zjištění času: čtení GMT a místního času z DCE

Formát dotazu:

   | L/16 |0002/16| BCW/16 |

Formát odpovědi:

   | L/16 | 0082/16 | gmtsec/32 | tfix/1 | ts/1 | R/4 | msec/10 |
   | sec/8 | min/8 | hour/8 | day/8 | month/8 | year/8 | BCW/16 |
  • Časová informace je platná, když je vysílán první bit prvního byte rámce.

  • Přesnost čtení času je lepší, než 1 milisekunda.

  • Při opakování rámce je časová informace aktualizovaná před vysíláním, takže opakovaný rámec se liší od předchozího.

Služba nastavení času: synchronizace vnitřních hodin v DCE

Formát příkazu k nastavení času:

   | L/16 | 0003/16 | gmtsec/32 | R/6 | msec/10 | BCW/16 |
  • Časová informace je platná v okamžiku, kdy je přijat první bit prvního byte rámce.

  • Přesnost časové synchronizace je lepší než 1 milisekunda.

Formát potvrzení o vykonání synchronizace:

   | L/16 | 0083/16 | BCW/16 |

Význam položek:

L/16

label – návěští

Čas GMT:

gmtsec/32

běžný čas v sekundách,
uplynulý od 00:00:00 GMT, 1.ledna 1970

msec/10

probíhající milisekunda v běžné sekundě, max. 999ms tedy 0x3E7

tfix/1

kvalita zachycení času v CU

  • 0 – čas CU se správně synchronizován (podle konfigurace)

  • 1 – čas CU není správně synchronizován

ts/1

letní čas (1 – zapnut)

R/4, R/5, R/6

rezervováno, musí být nula

Místní čas (včetně časového pásma a letního času):

sec/8

sekundy

min/8

minuty

hour/8

hodiny (0–23)

mday/8

den v měsíci (1–31)

month/8

měsíc (0–11)

year/8

rok (letopočet mínus 1900)

2.3. Síťová vrstva

Síťová vrstva obsahuje síťovou hlavičku a data, tedy podle předchozího příkladu:

    | SÍŤOVÁ HLAVIČKA  |  DATA  |
      0900 690F 8105    AB11 22

Síťová hlavička (včetně příkladu):

    |   PT/8  | H/1 | L/1 | R/3 | N/3 |    A/32   |
     0000 1001   0     0    000   000  0x690F 8105  ( =0x0900 690F 8105 )

Data síťové vrstvy:

    |  DATA  |
      AB11 22
PT/8

typ paketu, viz další kapitola

H/1

H2N bit
nastaven na 1, je-li vysílající DTE=Host, A/32 je adresa destination
nastaven na 0, je-li vysílající DCE, A/32 je adresa source

L/1

local
0 – normal
1 – local mód, povel setru !l, přitom je doporučeno A/32 = 0

R/3

rezervováno, musí být nula

N/3

síťové číslo (přenáší se po síti)

A/32

adresa

  • Číslování paketů N/3 není povinné. Přenáší se pouze nejnižší 3 bity pořadového čísla. Číslo je dodáno na cílovou adresu a může sloužit ke kontrole pořadí dodaných paketů (síť MORSE nezaručuje přesné dodržení pořadí).

  • Adresa je buď adresou source (Host přijímá paket) nebo adresou destination (Host vysílá paket). Paket přichází do CU přes CNI (Channel to Node Interface), které může převádět uživatelský adresový prostor na adresový prostor MORSE, např. pomocí masky.

  • Max. dovolená délka dat v síťové vrstvě MORSE je 1626 byte. Delší pakety nejsou v systému definovány. Optimální velikost paketu pro systém MORSE je 200 – 400byte.

2.4. Typy paketů

Složení Typu paketu:

|U/1|B/1|R/1|subt/5|
U/1

security bit linkové vrstvy

B/1

broadcast (multicast) bit

R/1

rezerva

subt/5

subtyp

Subtypy paketů je možno rozdělit do 5 skupin:

  1. Uživatelské pakety

  2. Žádosti o služby

  3. Servisní zprávy

  4. Systémové zprávy

  5. Speciální pakety

Popíšeme zde nejdůležitější subtypy paketů MORSE:

09h – USER DATA

uživatelská data – Základní typ paketu pro přenos dat od zdroje (source) do cíle(destination).

0Ah – PROT DATA

protokol – Tento typ dat je určen pro řízení toku dat v uživatelském protokolu. Zpracování obou uvedených typů paketů v síti MORSE je ekvivalentní. Pakety jsou odesílány na adresu destination podle cesty a priorit nastavených na zúčastněných adresách. V případě ztráty paketu je chybové hlášení doručeno k původnímu odesílateli. Paket, který nese toto chybové hlášení, se však také může ztratit, tentokrát již bez další zprávy.

10h – SERVICE REQUEST

servisní požadavek – požadavek o službu MORSE

12h – SERVICE REPORT

servisní zpráva – zpráva služby MORSE

0Ch – PACK ERROR
REPORT

paket s chybovou zprávou – zpráva o chybách v sítí MORSE. První word je Error Number (číslo chyby), zbývající část zprávy obsahuje podrobnější informace o chybě v síti. Generování těchto zpráv je možno zapnout nebo vypnout pro celou síť.

Dále jsou uvedena některá čísla chyb:

  • 1 – PACKET_NOT_CONFIRMED – paket není potvrzen

  • 2 – STORE_TIMEOUT – vyčerpán store timeout

  • 3 – NO_CHANNEL_ASSIGNED – není přiřazen kanál

  • 4 – ACCESS_TIMEOUT_ERROR – vyčerpán access timeout

  • 6 – WRONG_PACKET_FORMAT – špatný formát paketu

  • 7 – DEST_PROT_MISSING – chybí cílový protokol

  • 8 – WRONG_PATH – špatná cesta

  • 9 – WIRE_LINK_FAIL – chyba na drátové lince

2.5. Pořadí bytů

Všechny 2bytové a 4bytové hodnoty jsou přenášeny v normálním pořadí. Nejvyšší byte je přenášen první, pak nižší byte. (Pozor, formát procesorů Intel je typicky opačný).

3. Implementace v MORSE

3.1. Struktura paketu

Složení paketu použitého v následujícím příkladu:

F008 0980 690F 8902 AAAA B32F

Podrobněji rozepsáno (viz kapitola Formát dat):

F     0     0    8    0    9    8    0     690F 8902 AAAA B32F    byte
11 11 0 000 0000 1000 0000 1001 1 0000 000                        bit    
__ __ _ _____________ _________ _ ____ ___ _________ ____ ____
FT FN R   velikost       PT     H L,rez  N  adresa   data  BCW    význam
          (8 bytů)   |<--                             -->|

Zde je H = 1, proto adresa je považována za destination.

3.2. Vstup a výstup paketu protokolem MARS-A

V tomto příkladu paket ve formátu MARS-A vstupuje portem SCC2 do CU 690F8901, projde sítí MORSE a pak je vyslán z CU 690F8902 do portu SCC3. Monitorované body jsou označeny značkou *

      *          *                                             *
rxsim -> SCC0    ->  690F8901      ->    690F8902     ->  SCC1 -> tx
        MARS-A       source              destination      MARS-A
        protocol     address             address          protocol
>>
12:29:37.101 rxsim  12 | S02
F008 8980 690F 8902 AAAA 332F

12:29:37.102 tx      2 | S02
B106

CNI mon     |toa     frm    |dst      src     |           size|TT N
12:29:37.102|               |690F8902 690F8901|S02I   OUT    2||89 0usr 0
AAAA

12:29:37.135 tx     12 | S03
D008 8900 690F 8901 AAAA 13AC

12:29:38.143 tx     12 | S03
D808 8900 690F 8901 AAAA 1BAC

Monitoring obsahuje 5 částí:

  1. Přijímaný paket, H=1, adresa je destination.

  2. Potvrzení ACK na SCC2.

  3. Paket vyslaný z SCC2 do nódu 690F8901, obsahuje pouze data.

  4. Paket vyslaný z portu SCC3, H=0, adresa je source.

  5. SCC3 nedostal ACK, proto je paket portem SCC3 vyslán opakovaně.

3.3. Další příklady.

V následujícím příkladu odešleme do rádiového modemu dotaz na softwarovou verzi a dostaneme odpověď. Typ paketu je 10h nebo 12h, dotaz na softwarovou verzi systému je formulován jako 3 byte E0277600 (nebo E027 následovaný binárně kódovanou SW verzí v odpovědi). Adresa rádiového modemu 690F0501 zde figuruje jako destination i source. Protokol je konfigurovaný v módu s kontrolním součtem.

// vysílání & příjem
16:51:55.87|tx S0   14
D00A 1080 690F 0501 E027 7600 3AA3
16:51:55.87|rx S0    2
9106
16:51:55.88|rx S0   36
E020 1200 690F 0501 E027 0000 0045 01B2 0000 0000 0041 01B2 0000 0000 0042
01B2 0000 7FFD
16:51:55.90|tx S0    2
A106

// vysílání & příjem s ACK za rámcem
16:52:11.42|tx S0   14
E00A 1081 690F 0501 E027 7600 0AA2
16:52:11.42|rx S0   36
F020 1201 690F 0501 E027 0000 0045 01B2 0000 0000 0041 01B2 0000 0000 0042
01B2 0000 6FFC
16:52:11.43|rx S0    2
A106
16:52:11.45|tx S0    2
B106

// vysílání & příjem
16:52:12.44|tx S0   14
F00A 1082 690F 0501 E027 7600 1AA1
16:52:12.45|rx S0    2
B106
16:52:12.45|rx S0   36
C020 1202 690F 0501 E027 0000 0045 01B2 0000 0000 0041 01B2 0000 0000 0042
01B2 0000 5FFF
16:52:12.48|tx S0    2
8106

// vysílání & příjem s opakováním
16:52:20.89|tx S0   14
C00A 1083 690F 0501 E027 7600 2AA0
16:52:21.99|tx S0   14
C80A 1083 690F 0501 E027 7600 22A0
16:52:23.09|tx S0   14
C80A 1083 690F 0501 E027 7600 22A0
16:52:23.09|rx S0    2
8106
16:52:23.11|rx S0   36
D020 1203 690F 0501 E027 0000 0045 01B2 0000 0000 0041 01B2 0000 0000 0042
01B2 0000 4FFE
16:52:23.14|tx S0    2
9106


// vysílání bez odpovědi 
16:52:33.04|tx S0   14
D00A 1084 690F 0501 E027 7600 3AA7
16:52:34.13|tx S0   14
D80A 1084 690F 0501 E027 7600 32A7
16:52:35.22|tx S0   14
D80A 1084 690F 0501 E027 7600 32A7
16:52:36.32|tx S0   14
D80A 1084 690F 0501 E027 7600 32A7
//(bude generováno chybové hlášení...)

3.4. Příklad služby linkové vrstvy

Nastavení a přečtení času (pomocí linkové vrstvy protokolu).

PLC posílá synchronizační povel, který nastavuje čas v CU,
GMT:17.8.2007, 08:29:35.873
monitorováno na SCC2 synchronizovaného CU,
vnitřní čas v CU se přijetím povelu změnil z 08:35:24 na 08:29:26
>>
08:35:24.870 rx;i   12 | S02
0008 0003 46C5 4E56 03E7 0B7F
08:29:26.992 tx      6 | S02
0002 0083 0081
08:29:26.992 tx      2 | S02
8106
08:29:27.002 rx;i    2 | S02
8106


PLC připojené přes MARS-A se dotazuje na čas, CU odpovídá delším formátem,
GMT:17.8.2007, 08:29:35.873
monitorováno na SCC2 dotazované CU:
>>
08:29:35.873 rx;i    6 | S02
0002 0002 0000
08:29:35.874 tx     18 | S02
100E 0082 46C5 4E5F 436A 231D 0811 076B 771B
08:29:35.874 tx      2 | S02
8106
08:29:35.890 rx;i    2 | S02
9106


PLC připojené přes MARS-A se dotazuje na čas, CU odpovídá,
GMT:17.8.2007, 08:32:21.232
monitorováno na SCC2 dotazované CU:
>>
08:32:21.232 rx;i    6 | S02
0002 0001 0003
08:32:21.232 tx     12 | S02
2008 0081 46C5 4F05 40E8 69A1
08:32:21.232 tx      2 | S02
8106
08:32:21.245 rx;i    2 | S02
A106

Fragment programu v jazyce C, který převádí binární GMT na ASCII:

void main()
{
  time_t t=0x388BAD40;
  struct tm *gmt;
  gmt = gmtime(&t);
  console.printf("GMT is: %s", asctime(gmt)); 
}

3.5. Spojení přes telefonní nebo GSM modem

Spojení je určeno pro občasné použití, např. pro změny konfigurace ve vzdálené komunikační jednotce (CU):

  CU -- TM ---telefonní síť--- TM -- CU

HW uspořádání a routing jsou podobné, jako při spojení asynchronní linkou, viz příklad v příručce Jak na Morse. Propojení telefonního modemu a SCC je doporučeno plnou linkou RS232. Při použití 3 drátového propojení propojíme navíc piny DTR a DSR na tel. modemu. V telefonním modemu je nutno nastavit parametr AT&K0 (vypnutí řízení toku dat), ATQ0, ATV1. Funkce autoanswer může být zapnuta, je však prováděna i z CU. Vzhledem k různým vlastnostem telefonních modemů je nutno konfiguraci předem vyzkoušet.

Rychlost 19200 bit/sec je vhodná pro pevné linky (lze použít až 57600), pro GSM použijeme max. 9600. Rychlost se v každém případě musí shodovat s rychlostí telefonního modemu.

Pomocí SPe 0t nastavíme parametry protokolu MARS-A shodně na obou CU:

MARS-A parameters:
(a):1000ms  (r):5  (c)rc:OFF  (G)SM:1  no traffic t(i)meout:0sec
(t)el.:                    
Opposite retranslation address:00000000
(l)oc:OFF  loc (s)ource:00000000
(R)emote dial-up :OFF   DO ORDER SPECIAL CABLE! DO SET IDLES TO 30!
(q)uit
>>
(G)SM:1

ve volajícím CU aktivuje funkci telefonního spojení, ve volaném CU zapne AA (autoanswer)

t(i)meout:30

vypne telefonní spojení při pauze delší než 30 sec

Může být nastaveno buď na 0 (funkce je vypnuta) nebo na čas alespoň 30sec, protože po navázání spojení jsou vysílány udržovací pakety každých 20sec a tak se za normálních podmínek zabrání ukončení spojení.

NAVÁZÁNÍ SPOJENÍ:

Vložíme telefonní číslo (t)el.:    do parametru protokolu MARS-A ve stejném tvaru, jako při telefonním volání:

        25  linka ve firemní síti
 566618578  veřejná linka
0566618578  volání z firemní sítě „přes nulu

Neukládejte tento parametr povelem (w)rite, pouze proveďte inicializaci:

(q)uit Enter
(I)nit Enter

Telefonní modem naváže spojení, což se projeví takto:

  • LED označená OH (Off Hook) se rozsvítí, modem začal pracovat.

  • Modem volí číslo (slyšitelné).

  • Pokud byl počátek navazování spojení úspěšný, nastane vyjednávání parametrů spojení, což se projeví jako různé tóny po dobu několika sekund. Po úspěšném vyjednání se rozsvítí LED CD (Carrie Detect).

  • Od této chvíle je možno komunikovat mezi oběma rádiovými modemy po telefonní lince, tedy například zkusit povel ! a měnit konfiguraci v protější CU.

Po automatickém vyslání holding paketu se adresa protější CU objeví v parametrech MARS-A jako „Opposite retranslation address“. Pokud potřebujeme ukončit spojení, provedeme Init s prázdnou položkou (t)el.:     v parametrech MARS-A.

Zkontrolujeme ukončení spojení, které se projeví jako zhasnutí LED CD a OH. V případě problémů můžeme ukončit spojení vypnutím a zapnutím telefonního modemu. Z Main menu zvolíme SPe0t a zkontrolujeme, je-li parametr (t)el.:     prázdný. V jiném případě by telefonní modem navazoval spojení při příštím startu CU.

3.6. Přístup (R)emote dial-up

Tento vzdálený přístup přes telefonní modem nahrazuje připojení servisní šňůrou. Konfigurace:

  PC -- TM ---telefonní síť--- TM -spec.cable- CU
PC

PC s OS Linux a s programem rr_setrdial

TM

telefonní modem

spec.cable

křížený kabel RS232, ve kterém je propojen pin CD s pinem DTR na opačném konci kabelu

CU

CU řady MR400, fw 746 nebo vyšší, konfigurace defaultní s výjimkou parametru
(R)emote dial-up :ON

Vzdálená CU je připojena sériovým portem přes „Special dial-up cable“ k telefonnímu modemu. CU může být v defaultní konfiguraci, použitý SCC má nastaven protokol MARS-A se zapnutým parametrem (R)emote dial-up :ON. Je vhodné nastavit parametr idle na vyšší hodnotu, například
SPe 2i   RX (i)dle:100.

V programu rr_setrdial nastavíme parametry obsahující telefonní číslo a číslo portu. Po spuštění program naváže spojení s cílovým TM a pak spustí rr_setr.

Po připojení TM-spec.cable-CU začne CU vysílat každých 30 sec ASCII povel autoanswer ATS0=1. TM si nastaví rychlost podle CU. Až PC přes rr_setrdial vytočí vzdálený TM, pak ten přijme volání, nastaví CD=1 a tím se na CU objeví DTR=1. Teprve při DTR=1 může CU posílat data přes TM do vzdálené aplikace rr_setr.

Nyní můžeme v cílové CU pracovat se Setrem podobně, jako při připojení servisní šňůrou. Nejsme připojeni přes SCC0, jako v případě servisní šňůry ale přes SCC použitý pro „special dial-up cable“. Zapojení kabelu:

SCC              25-pin male
(radiomodem)    (dial-up modem)

1 - CD    ---   20 - DTR
2 - RxD   ---    2 - TxD
3 - TxD   ---    3 - RxD
4 - DTR   ---    8 - CD
5 - GND   ---    7 - GND
6 -              6 - DSR
7 - RTS   ---    5 - CTS
8 - CTS   ---    4 - RTS
9 -              9 - NC - NOT CONNECTED

4. Nastavení parametrů protokolu

MARS-A parameters:
(a):1000ms  (r):5  (c)rc:OFF  (G)SM:0  no traffic t(i)meout:0sec
(t)el.:                    
Opposite retranslation address:00000000
(l)oc:OFF  loc (s)ource:00000000
(R)emote dial-up :OFF   DO ORDER SPECIAL CABLE! DO SET IDLES TO 30!
(q)uit
>>

Linková vrstva protokolu se konfiguruje pomocí parametrů:

(a)

ACK timeout v milisekundách

(r)

Počet opakování (nepočítá se první pokus)

(c)

OFF = zabezpečení podélnou paritou, defaultně nastaveno

ON = zabezpečení CRC

(G)

spojení přes telefonní modem, viz kapitola 3.5 – „Spojení přes telefonní nebo GSM modem“

(i)

automatické ukončení telefonního spojení

(t)

volané telefonní číslo

Opposite retranslation address:00000000
Používá se v retranslačním módu při spojení dvou CU drátovou linkou, po navázání spojení se zde automaticky zobrazí adresa protistanice.

(l)

OFF = normální stav

ON = lokální retranslační mód pro servisní účely, komunikace se vzdálenou nenakonfigurovanou CU přes protokoly MARS-A, viz příručka Jak na MORSE, kapitola Lokální mód

(R)

OFF = normální stav

ON = (R)emote dial-up servisní přístup do vzdáleného CU přes tel. síť, viz kapitola 3.6 – „Přístup (R)emote dial-up“

Základní parametry jsou dva:

  • (a) – ACK timeout – čas po vyslání datového rámce, po který vysílající stanice čeká na potvrzovací (ACK) rámec. Pokud nepřijde ACK, je rámec opakován.

  • (r) – počet opakování – je-li počet opakování vyčerpán a vyprší ACK timeout, je síťová vrstva informována, že paket je ztracen.

Stavový diagram na vysílací straně protokolu linkové vrstvy má jen dva stavy:

Stav „klid“ a stav „čekání“,ve kterém je očekáván ACK rámec. Ihned po obdržení požadavku na vyslání datového rámce přejde stav „klid“ do stavu „čekání“ aby přijal ACK. Po přijetí ACK nebo až uplyne timeout po posledním opakování se linková vrstva protokolu vrátí do stavu „klid“. Protokol ve stavu „čekání“ odmítá všechny požadavky na vyslání rámce.

Přijímající strana reaguje ihned po obdržení správného datového rámce vysláním rámce ACK. Při správném rámci je ACK vyslán ihned po jeho skončení, proto musí být ACK timeout nastaven delší než čas potřebný pro vyslání nejdelšího rámce. Chybný rámec je zrušen.

Mezi dvěma znaky rámce nesmí být mezera delší, než je nastaveno v parametru idle. Rozdělený rámec je vyhodnocen jako chyba i kdyby k tomu došlo vlivem hardwarového handshake.

5. Historie protokolu MARS

revision 0 (MARS M) 3/1999

dvě 2 bytové adresy, datový rámec typu 00, nečíslované ACK, velikost uvedena v síťové hlavičce

revision 1 (MARS U) 4/1999

jedna 2 bytová adresa, datový rámec typu 01, nečíslované ACK

revision 2 (MARS U) 4/1999

jedna 2 bytová adresa, datový rámec typu 01, číslované ACK

revision 3 (MARS A) 12/1999

jedna 4 bytová adresa, datový rámec typu 11, číslované ACK, doplněno REJ, NAK, doplněno pole DTE/DCE, synchronizace času v linkové vrstvě

revision 4 (MARS A) 9/2001

doplněn broadcast a security bit do typu paketu