|
|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 8448 (0x2100)
Types: TextFileVerbose
Names: »sptssys19«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
└─⟦72244f0ef⟧
└─⟦this⟧ »sptssys19«
>fo @~SP.TSSYS.19/1~@
>a1 INDLEDNING
LINK-PROTOCOL-HANDLER har til form}l at k|re en linkprotokol over en
>ul
full duplex
linie.
Den transmission LINK-PROTOCOL-HANDLER styrer er
>ul
asynkron
overf|rsel af 1 startbit, 8 databits, 1 paritetsbit og 2 stopbits
med en maksimal hastighed p} 1200 bps.
Protokollen skal fx benyttes til datatransmission mellem TS og VC(IT)
samt mellem alarmnetknuder, der ikke forbindes ved paxnets HDLC-linier.
LINK-PROTOCOL-HANDLER best}r af 3 processer
- LINK-ROUTER (LIR)
- LINK-MASTER (LIM)
- LINK-SLAVE (LIS)
Hver af disse processer beskrives i det f|lgende.
LINK-PROTOCOL-HANDLER kaldes i det f|lgende LPH.
>a1 Telegrammer
De telegrammer LPH sender eller modtager best}r af f|lgende:
<STX><BLL><OPK><datadel><ETX>
hvor
<STX> er start af text (ASCII 2) og denne karakter st}r forrest
i ethvert telegram.
<BLL> er blokl{ngden m}lt i bytes fra og med OPK til og med ETX.
BLL er altid st|rre end eller lig med 2 og mindre end eller lig med
255.
<OPK> er operationskoden for telegrammet.
<datadel> indeholder den meddelelse, der sendes. Datadelen kan indeholde
enhver byte, og den kan v{re tom.
<EXT> er end of text (ASCII 3).
Det vil sige, at <STX>, <BBL> og <EXT> bruges som synkroniseringskarakterer
for teksttransmission.
OPK definerer telegrammets type og er s}ledes den centrale information i
k|rsel af linieprotokollen.
Da linien er full duplex opdeles m{ngden af OPKer i 2 disjunkte m{ngder
for henholdsvis MASTER-OPKer og SLAVE-OPKer.
>a2 MASTER-operationskoder.
MASTER-OPKer er de koder, LIM kan afsende og som LIS kan modtage.
Disse omfatter:
DATA_0 (OPK = 0)
DATA_1 (OPK = 1)
ENQ (OPK = 2)
DATA_0 og DATA_1 benyttes af MASTER til afsending af tekst. ENQ benyttes
af MASTER til afhentning af sidst afgivne svar fra SLAVE.
>a2 SLAVE-operationskoder.
SLAVE-OPKer er de koder, LIS kan afsende og som LIM kan modtage. Disse
omfatter:
ACK_0 (OPK = 4)
ACK_1 (OPK = 5)
NAK (OPK = 6)
RESTART (OPK = 6 (samme kode som NAK))
ACK_0 og ACK_1 benyttes som accept af henholdsvis et modtaget
DATA_0-telegram og et modtaget DATA_1-telegram. NAK benyttes til
anfordring af retransmission af DATA_0 og DATA_1 telegrammer.
RESTART benyttes som svar p} ENQ,
hvis slave ikke har andet at svare.
>a1 Protokol
I det f|lgende beskrives hvorledes protokollen virker ved
- normal dataoverf|rsel
- transmissionsfejl
- opstart
- polling
Protokollen tager h|jde for transmissionsfejl, der ligger indenfor
en hammingafstand p} 4. Dette betyder, at dataoverf|rslen ikke er
100 % sikker ved transmissionsfejl p} 4 bit eller mere i et telegram.
>a2 Normal dataoverf|rsel
Dataoverf|rsel foreg}r altid fra master til slave.
>ne 20
>sp 18
>fg Dataoverf|rsel
N}r master har noget at sende, og der
>ul
ikke
er nogle udest}ende telegrammer, sender den et DATA_i-telegram ( hvor i = 0 eller 1 ).
Hvis slave modtager DATA_i-telegrammet korrekt, sender den et
ACK-i-telegram.
Hvis slave registrerer transmissionsfejl, sender den et NAK-telegram,
hvorefter master
>ul
gentager
DATA_i-telegrammet.
>a2 Transmissionsfejl
N|dvendigheden af de anvendte operationskoder ses af
f|lgende eksempel p} forskellige former for transmissionsfejl.
Hvis der opst}r transmissionsfejl, som registreres af slave, svarer
denne med NAK som beskrevet i forrige afsnit.
Hvis et telegram fra master eller slave
>ul
g}r tabt
ser situationen ud som p} f|lgende figur:
>ne 35
>sp 34
>fg Telegrammer g}r tabt
Efter en timeout sender master et ENQ-telegram for at f}
>ul
gentaget
det sidste telegram fra slave.
Det nummerede ACK-svar vil nu vise om det var DATA-telegrammet
eller slavens svar, der gik tabt.
Herefter kan master forts{tte kommunikationen fra en veldefineret
tilstand.
Hvis et telegram fra master eller slave
>ul
forvanskes
ser situationen ud som p} f|lgende figur:
>ne 36
>sp 34
>fg Telegrammer forvanskes
Efter modtagelse af NAK-svar
>ul
gentager
master sit DATA-telegram.
Slave svarer p} det forvanskede DATA-telegram med NAK, hvis og kun
hvis der er modtaget
>ul
mindst
5 databytes inklusiv <STX>, <BBL> <OPK> og <ETX>, idet den da er
(n{sten)
>ul
sikker
p} at det er et forvansket DATA-telegram.
Slave svarer
>ul
ikke
p} et forvansket ENQ-telegram.
>a2 Opstart
En master starter op med at sende ENQ-telegrammer.
N}r forbindelsen til slave er oprettet, starter denne op med at
svare RESTART.
>ne 30
>sp 28
>fg Forbindelse (gen)oprettes
>a2 Polling
Der findes ikke nogen speciel OPK for polling.
Med pollinterval sekunders mellemrum sender LIM et
ENQ-telegram til aftestning af, om der er forbindelse.
>a1 Modulstruktur
LPH best}r af de tre processer LIR, LIM og LIS.
>ne 32
>sp 30
>fg Modulstruktur
>a2 Link Router (LIR)
LIR er den samme proces som LPH, men den del af LPH, der
>ul
ikke
omfatter LIM og LIS.
LIR foretager routning af de meddelelser den modtager fra
LPH_SEM.
Den kan modtage f|lgende 4 typer:
- brugerrequest om afsending af data (USD)
- brugerrequest om modtagelse af dta (URD)
- protokoltelegram fra master (PTM)
- protokoltelegram fra slave (PTS)
En USD og en PTS sendes videre til LIM.
>sp0
En URD og en PTM sendes videre til LIS.
>a2 Link Master (LIM)
LIM anbringer USD i en LIM-requestk| (FIFO).
LIM behandler et NAK-telegram ved at
>ul
gentage
det sidst afsendte telegram (bufferen sendes igen).
LIM behandler et ACK-telegram ved at kontrollere, om det er lig
med det forventede (ACK_0 eller ACK_1) telegram. Hvis det er det,
returneres den USD-buffer, der st}r forrest i LIM-requestk|. Ellers
sendes et ENQ telegram.
>a2 Link Slave (LIS)
LIS anbringer URD i en LIS-requestk| (FIFO).
LIS behandler et ENQ-telegram ved at
>ul
gentage
det sidst afsendte telegram.
LIS behandler et DATA-telegram ved at kopiere indholdet
over i den forreste URD-buffer i LIS-requestk|.
>a2 Tilstandsdiagram
I det f|lgende beskrives hvorledes henholdsvis LIM og LIS
skifter tilstande under genneml|b af den beskrevne protokol.
>ne 20
>sp 18
>fg Tilstandsdiagram for LIM
1. USD
2. ACK_0 og ingen USD
3. alle svar
4. NAK / ACK_1
5. ACK_1 og flere USD
6. ACK_1 og flere USD
7. ACK_0 og flere USD
8. ACK_1
9. ukendt eller timeout
10. NAK / ukendt / timeout
11. ACK_0 og flere USD
12. ACK_0 og ingen USD
13. ACK_1 og ingen USD
14. ACK_0
15. ukendt / timeout
16. ACK_1 og ingen USD
17. NAK / ukendt / timeout
18. timeout
19. restart
20. svar forskellig fra restart
>ul
POLL
er den tilstand, hvor LIM med pollinterval mellemrum sender en
ENQ og venter p} en USD fra LIR.
Ved modtagelse af en USD sender LIM en DATA_0 og g}r til WACK_0
tilstand.
>ul
WACK_0
er den tilstand, hvor LIM venter p} ACK_0.
ved modtagelse af ACK_0 sender LIM et DATA_1-telegram,
hvis der er flere USDer, hvorefter den g}r i WACK_1-tilstanden.
LIM g}r i POLL-tilstanden, hvis der ikke er flere USDer.
Ved modtagelse af NAK (RESTART) eller ACK_1, retransmitterer LIM
DATA_0-telegrammet og bliver i WACK_0-tilstanden.
Ved modtagelse af en ukendt operationskode eller ved timeout sender
LIM et ENQ-telegram og g}r i ENQ_ACK_0-tilstanden.
>a2 \vrige tilstande.
F|lger senere.
>a2 Brugerinterface
LPH's brugerinterface skal svare til den del af ROUTER's LINE-interface
(HDLC-interface),
der anvendes n}r alarmsystemet anvender ROUTER.
Desuden skal interfacet tilgodese VC(IT)-CONNECTORs brug af dette.
HDLC-interfacet er defineret ved en r{kke meddelelsestyper inddelt
i henholdsvis
- kontrolmeddelelser
- transput meddelelser
>ul
Kontrolmeddelelserne
omfatter
- sense status
- connect
- disconnect
- return all buffers
- return unused buffers
- modem control
- read statistics
- sense line speed
- event
>ul
Transputmeddelelserne
omfatter
- receive
- transmit
Formaterne for de enkelte meddelelser er beskrevet i
"RC3502 COM 201 HDLC DRIVER" (RCSL NO. 43-AA699).
«eof»