|
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»