• No results found

Op beide ISDN systemen wordt het protocol van de fysische laag door de hardware uitgevoerd zodat we voor de B-kanalen verder geen protocollen nodig hebben om de

digitale telefoon (zie figuur 2.2, B-channel, circuit-switched) te implementeren. We moeten aIleen de protocollen voor het D-kanaaI realiseren die door de CCITI gedefinieerd zijn.

De protocollen die door het CCITI worden voorgesteld, kunnen weergegeven worden door toestandmachines. Op iedere laag bevindt zich verder een aantal processen die allemaal een specifieke functie hebben. Deze zijn ook door toestandmachines weer te geven. Ieder proces bezit een aantal parameters en kan met andere processen communiceren door het gebruik van primitieven. De toestand van een proces verandert afhankelijk van de interne parameters en de binnenkomende primitieven. Deze toestandsverandering kan tot gevolg hebben dat dit proces zijn interne parameters verandert of zelf primitieven gaat verzenden en op deze manier weer andere processen beYnvloedt. Voor het beheer van deze processen, parameters en primitieven is een besturingssysteem nodig dat de volgende eigenschappen bezit:

• een snelle interrupt afhandeling

• een klein aantaI hardware interrupts

• beheren van een groot aantal processen

• prioriteiten per proces

Deze eigenschappen zijn doorH. Oudelaar [4] in een besturingssysteem geiinplementeerd.

Het besturingssysteem heeft een structuur zoals in figuur 3.12 is getekend.

MSG MSG

Fig. 3.12 : Structuur van het besturingssysteem

De berichten ('messages') die de onderlinge communicatie verzorgen, komen in wachtrijen

te staan met verschillende prioriteiten (0, 1 of 2). De 'dispatcher' vormt het hart van het besturingssysteem en verwerkt de berichten uit die wachtrijen waarbij de wachtrij met de hoogste prioriteit als eerste wordt verwerkt (laagste nummer en de laagste laag (1».

Daama komt pas de volgende wachtrij aan de beurt. Komt er een bericht binnen met een hogere prioriteitdanwordt deze meteen bij de volgende verwerkingsslag van de dispatcher verwerkt. De dispatcher kan uit de berichten het bestemmingsproces bepalen en het naar dit proces doorstur~nmits de toestand van het bestemmingsproces het toelaat.

De communicatie met de hardware geschiedt met interrupts die bij de MITEL kaarten door een timer en de SNIC, en bij het terminal board door een timer, de DMA, de IOPC's, en de DSC worden gegenereerd. Iedere interruptbron heeft een interrupt-service-routine waarin de precieze reden van het interrupt wordt onderzocht en verder wordt verwerkt door het evt. versturen van berichten naar de wachtende processen.

De processen hebben elk een datastructuur waarin de volgende parameters zijn opgenomen:

• de toegang tot het proces (BLOCKED of RUNNING)

• de prioriteit

• de huidige toestand ('state') van het proces en evt. een subtoestand

• procesparameters (max. 8 bytes)

AIle mogelijke toestanden waarin de verschillende processen kunnen komen zijn opgenomen in de toestandtabellen (state-tables). In deze tabellen worden aIle mogelijke berichten, die in een bepaalde toestand toegestaan zijn, gekoppeld aan verwerkingsroutines van het proces die deze berichten verder moeten afhandelen.

De berichten maken van een andere datastructuur gebruik:

• het type bericht

• proces waarvoor het bericht bestemd is

• proces waarvan het bericht atkomstig is

• bericht parameters (max. 5 bytes)

Inde vele protocollen zijn ook tijdslimieten gebruikt. De timers die voor deze protocollen zijn gedefinieerd worden bij MITEL/pC combinaties door een DOS interrupt steeds weer bijgewerkt. Op het terminal board wordt een interne 80186 timer gebruikt. De timers hebben de beschikking over de onderstaande velden:

• toestand van de timer (USED, FREE)

• de te verstrijken tijd

• het bericht dat verstuurd moet worden bij het verstrijken van de tijd

• proces dat de timer gebruikt, waarheen het bericht moet worden verstuurd

• laag 3: de huidige call

De bovenstaande berichten, processen en timers worden allen vanuit de dispatcher bestuurd. Om de protocollen te kunnen testen moeten we de dispatcher kunnen beYnvloeden. Daarom zijn er monitor routines geschreven waarmee direct processen, berichten, registers, interrupts, etc. bekeken, bestuurd en gecontroleerd worden. De meeste opties waren echter voorafgaand aan dit afstudeerprojekt nog met mogelijk op het terminal board

3.4 Sarnenvatting

In dit hoofdstuk hebben we de twee ISDN systemen beschreven die op de vakgroep Digitale Infonnatiesystemen aanwezig zijn. Beide systemen zullen worden gebruikt om een ISDN telefoonverbinding op te zetten via het

srr

interface.

Bij de MITEL kaarten moet de software voor het DNIC worden omgezet naar het SNIC, zodat voor een ISDN telefoonverbinding uiteindelijk het SNIC, de DX en de D-Phone worden gebruikt. De aanpassing van de ISDN software wordt beschreven in het volgende hoofdstuk.

Op het ISDN terminal board zijn voor deze telefoonverbinding een DSC en een IDPC aanwezig. De interrupts die door de verschillende tenninal-bouwstenen worden gegenereerd, komen binnen bij de besproken interrupt-controller (PIC).

Op beide ISDN systemen is het besturingssysteem geiinplementeerd dat door H. Oudelaar [4] is geschreven. Een aantal van de ISDN protocollen zijn met behulp van dit besturingssysteem al gerealiseerd, maar op het terminal board waren de Call Control I Resource Management protocollen en de uitgebreide Monitoring Dispatcher nog niet ge'implementeerd. Een beschrijving van deze implementatie voIgt in hoofdstuk 5 en 6.

4. Software ontwikkeling t.b.v. het Mitel SiT interface

De Mitel kaarten kunnen onderling worden verbonden door een vierdraads srr interface met behulp van de SNIC. Het is echter tot nu toe niet mogelijk geweest het Srr interface te gebruiken voor een verbinding tussen de Mitel kaarten door het telkens weer optredend synchronisatieverlies [8]. Door dit synchronisatieverlies gaat telkens weer data verloren en loopt het communicatieprotocol vast.

Volgens 1.R.H. Claessens [10] zouden de data-recovery procedures, die het juiste protocolverloop zouden verzekeren, nog niet zijn germplementeerd, maar bij nader onderzoek bleek dit niet juist te zijn. De timers die voor deze procedures noodzakelijk zijn, waren in de software uitgeschakeld, een standaard instelling van de protocol monitor. Dit werd gedaan om de protocol monitor de tijd te geven de berichten, frames en andere statusberichten op het beeld weer te geven zonder dat het protocol in de time-out procedures terecht zou komen waarbij een bericht opnieuw verzonden zou moeten worden omdat dit niet op tijd werd bevestigd. We kunnen dus weI gebruik maken van de error-correctie procedures maar we moeten dan weI de protocol monitor geheel uitschakelen.

Dit is alleen een oplossing als vaststaat dat er geen fouten meer in de protocollen voorkomen.

De protocollen zijn dus eerst geiinplementeerd en getest door gebruik te maken van het V-interface waar vrijwel nooit een fout optreedt. Hierna is met behulp de veranderde low-level driver (van DNIC naar SNIC aansluiting) en de uitgeschakelde monitor nogmaals geprobeerd een telefoonverbinding te maken, wat uiteindelijk ook lukte. Het duurde echter vele minuten voordat de protocollen waren afgewerkt. Omdat we toch graag willen weten hoe het protocol zich gedraagt, moeten we de timers beter kunnen controleren met de protocol monitor. De inhoud van de huidige timers kunnen weI in stapjes worden verlaagt, de zogenaamde 'Stepped Timers'. Ditwi!zeggen dat bij iedere dispatcher cyclus de inhoud van de timers met een verlaagd worden. De timers zijn dus athankelijk van de snelheid waarmee de verschillende subroutines van de protocollen worden doorlopen en daarvoor is geen vaste tijdsspanne aan te geven.

In de volgende paragrafen behandelen we de veranderingen aan de timers, de low-level drivers en de telefoonverbinding over de SNIC.

Bij het testen van de telefoonverbinding tussen de MITEL kaart en het ISDN terminal

board kwam later naar voren dat het D-Phone IC een interne fout bevatte. Het maakte gebruik van een gemverteerde Jl-Iaw codec die dus niet voldeed aan de CCITT aanbevelingen. Verder bleek nog dat ook het SNIC niet in orde was. Beide IC's moesten vervangen worden. De problemen met o.a. de synchronisatie op het S/f-interface en enkele verschillen, die tijdens de ontwikkeling van de software waren gevonden, met de aanwezige datasheets werden door deze vervanging opgelost. Ret is dan echter niet meer mogelijk een telefoonverbinding te leggen omdat er maar een IC set beschikbaar was. Zo zijn er twee verschillende codecs bij de MITEL kaarten in gebruik. WeIkan nog een data link verbinding worden gemaakt.