Eindhoven University of Technology MASTER Opbouw van een ... · buscontroller (8288), twee (...

78
Eindhoven University of Technology MASTER Opbouw van een netwerk van gedistribueerde processoren Wormmeester, E.J. Award date: 1982 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

Transcript of Eindhoven University of Technology MASTER Opbouw van een ... · buscontroller (8288), twee (...

Eindhoven University of Technology

MASTER

Opbouw van een netwerk van gedistribueerde processoren

Wormmeester, E.J.

Award date:1982

Link to publication

DisclaimerThis document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Studenttheses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the documentas presented in the repository. The required complexity or quality of research of student theses may vary by program, and the requiredminimum study period may vary in duration.

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

APDELllfG DER ELEK'l'ROTECBHIEX

'l'ECBNISCBE BOGESCBOOL

EINDHOVEN

Vakgroep Digitale Systemen .

L:~1-1NISCHt: HOGESCHOOl.

EINDliOVI..N

I- STUDlE81BLlOTHEEK ft.___E_LE_-K_l_·A_O_T_E__'-C~i'.,..;i"~j..E!<~.~~I~~U;'.

.opbouw van een netwerk van

gedistribueerde p~ocessoren.

door E.J.Wormmeester.

Rapport van het afstudeerwerk

uitgevoerd van febr.~981 tim mei 1982

in opdracht van prof.ir.A.Beetman

onder ~eiding van ir.B.H.J.H.Dortmans

en ir.J.Xemper.

- 2 -

De afdeling der elektrotechniek van de technische hoge­

school Eindhoven aanvaardt geen verantwoordelijkheid voor de

inhoud van dit rapport.

- 3 -

Samenvatting.

In dit verslag worden twee ontwerpen voor gedistribueerde

computer systemen beschreven. De ontwerpen verzorgen

zelfstandig de cOllllllunicatie tussen de a&ngesloten apparatuur

onderling, zodat "parallel processing" van jobs en tuu

.:>gelijk is.

Bet eerste ontwerp betreft een groot &ysteem _t zeer snel­

le cOlllllunicatie (10 MBaud) op data niveau en snelle coamaunica­

tie (1 MBaud) op cOlllmand niveau. De data co.lunicatie loopt

daarbij in de centrale over 88n non-blocking schalcelnetwerk,

zodat de verschillende data stromen elkaar niet vertragen.

Alle COlllDand cOllllllunicatie loopt in de centrale over een enkel­

voudige coamunlcatie bus. Bierdoor kunnen cOlDllWll\d berichten wel

enigszins vertraagd worden.

Bet tweede ontwerp betreft een kleine.r &ysteem_ met snelle

data en command comaunicatie over een eokelvoudige verbinding

naar de centrale en een non-blocking schakelnetwerk in de cen­

. trale. De data en cOlDlllAnd cOllllllWlicatie· lopen hierb~j dua over

dezelfde verbindingen.

In de bijlagen worden hardware realisaties behandeld voorl

I Serieele cOBllllunicatie van ..erdere zenders over een enkel­

voudige bus,

II Serieele cOllllllunicatie (op 1 Mbaud) met galvanische ontkop­

peling over een verbinding van eokele tiental1en meters,

III: Serieele cOllllDunicatie volgens BOLe-protocol <Wer een ..­

trix.

Slotwoord.

Verklaring van de gebruikte afltortingen.

Literatuur.

Bijlage 11.II.J.

11.2

Bijlage III.

III.J.

111.2

111.3Bijlage IV.

Conclusies en

- 5 -

De line drivers I isolating receivers.

De line drivers.

De isolating receivers.

De Matrix Communication Controller.

De fla.g generator.

De transmitter aynchronisatie.

De bus interface logic.

De clock signalen.

aanbevelingen.

blz.

60

6J.

63

66

67

68

7J.

74

76

77

78

79

- 7 -

De voordelen van de nieuwe opze~ z1Jns

1. De CPO hoeft zich niet meer _~ alle cOlllDlunicatie bezig ~e

houden.

2. Er kunnen meerdere (gespeciaJ.iseerde) CPO- s worden toege­

pa.s~.

3. Be~ sys~eem lean eenvoudig worden ui~gehreid.

4. Ui~val van een CPU leidt niet meer ~o~ het ui~valen van he~

hele syet....

om een opzet volgens figuur 0.2 te reaJ.iseren, is be~ nodig

&an elk apparaa~ ( device ) in~elligentie en buffers ~oe ~e

V08gen. Bet resul~aat biervan III08t zijn, da~ vanui~ de cen~raJ.e

heschouwd, alle apparatuur op dezelfde vijze wordt aangestuurd.

Voor de centrale hestaan er dus geen cardreaders, keyboards,

tape uni~8, diBks, CPU- s, beeldschexmen of pri.n~ers. De centra-

o[

0HMUNI[

ATI0N

[·fNTRf

.. -

Piguur 0.2

De nieuwe opbouw van het computer syateea.

- 8 -

le kent: alleen input: devices, st:orage devices, processor

devices en out:put: devices (zie lit:.4 hfd.6).

In de eerst:e vier hoofdst:ukken wordt: &en opzet: uit:gewerltt:,

die le1.dt: t:ot: een zeer snel en groot: &yst:e8ll. In de daarop

volgende hoofdst:ukken wordt: een ltleiner syst:e8ll uit:gewerltt:.

In de bijlagen worden de hardware realisat:ies van enkele

SPeciale serieele CODIIIlwUcat:ie cont:rollers besproken. Deze

cont:rollers zijn t:oegePa8t: in de &yst:eem ontwerpen.

Boofdstuk 1.

- 9 -

Opbouw van een intelligent netwerk.

Bet hier te bespreken ontwerp behandelt een netwerk dat

allerlei digitale apparatuur (device8) met elkaar verbindt.

Een device kan daarbij b.v. een cardreader. een printer of ean

disk-unit zijn. maar ook een volledig computersysteem al8 de

Burroughs-7700.

De device8 zelf kunnen alleen datgene, waarvoor ze zijn

ontworpen. Wij willen echter dat de devices met elkaar kunnen

co_uniceren. In ons netwerk wordt daarom aan ieder device

intelligentie en buffercapaciteit toegevoegd. ZO-n device met

extra intelligentie en buffercapaciteit noemen we in bet

vervolg een PIFO (Pully Independent Punctional. Onit ) ( zie

£iguur 1.1).

DanJtzij deze toevoegingen zijn de PIFO,- s te bes~houwen als

eenheden die bepaa1de taken geheel zelf8tandig kunnen

uitvoeren. Dit laat8te kan op verzoek worden gedaan (b.v. een

printopdracht voor een printer) maar ook op-' eigen' . ini.tiatief

(b.v. het lezen van kaarten door een cardreader). Voor een

verdere uitwerking hiervan wordt verwezen naar literatuur "

hfd.2 en 3.

Een opdracht die een device van een gebruiker ontvangt,

noemen we een job. Om een job door het totale 8ysteem te laten

uitvoeren, moeten de ver8chillende taken (task8) van ean

opdracht (job) met de bijbehorende gegeven8 (datapointers die

naar de benodigde datafile8 verwijzen) worden doorgegeven van

de ene PIFO naar de andere PIFO (zie ook lit." hfd.").

'\.

r - - -. - - - - - - -

buffersDevice

)J p·s

FIFU

figuur 1.1

Componenten van een FIFO.

-tL--data

I-rl--- command

J

- 10 -

Voor het verwerken van een job wordt deze eerst

onderverdeeld in een jObdescription, taskdescriptions,

da.tapointers en datafiles (zie ~it." hfd.1 en 2). De eerste

drie zijn hoofdzakelijk korte berichten; de datafi~es zul~en

veelaJ. . lange berichten Z1Jn. Voor deze twee soorten

berichtenstromen zijn twee aparte verbindingen ontworpen.

De jobdescription, de taskdescriptions en de datapointers

worden over de ·command· verbindingen doorgegeven van de PIPO

naar zijn CIU (Command Interface Unit). De CIU· s staan dicht

bij elkaar en in directe verbinding met elkaar via de command

lijnen (Deze lijnen worden in de rest van het versag de

. inter-cIU ~ijnen' genoeDld) . via het cODlllland netwerk in de

centrue hebben de PIPO· s dus een mogelijkheid tot cOllllllunicatie

met elkaar (zie figuur 1.2).

matrix kolom li'nen

FIFU FIFU

2 n

command li"nen

DIU1

--------------

FIFU

1

datamatrix

comma~netw.

figuur 1.2

B10kschema van de gekoppelde intelligente devices.

- 11 -

Voor het verzenden van de (grote) datafiles ataan aparte

"data" verbindingen tussen de PIPO" s ter beschiklc:ing. Deze

verbindingen laten een hoge baudrate toe en bezitten in de

centrale een matrix-structuur, waardoor de datatransporten

gelijktijdig en toch onafhankelijk van elkaar plaats kunnen

vinden. Deze matrix-structuur is gerealiseerd m.b.v. een DIU

(Data Interface Unit) en de matrix kolomlijnen (zie ook

hoofdstuk 4). De DIU vormt in feite een "passief" doorgeefluik,

dat in de gewenste stand gezet kan worden door de CIU.

In de volgende hoofdstukken wordt nader ingegaan op de

opbouw en de realisatie van de hier besproken blokken.

- 12 -

Boofdstuk 2. Opbouw van de CIU' s .

De COlllllal1d Interface Unit (CIU) is opgebouW'd vo1gens het

blokschema. van figuur 2 .1.

om ervoor te zorgen dat de verschillende onderdelen van de

CIO zovee1 mogelijk onafhanke1ijk kunnen werken, is gekozen

voor een opbouw met Io-Processoren ( lOP) in

remote-configuratie. Cit levert een opbouw voor de CIU' e

volgens figuur 2.2. Door deze keuze lean het gehee1 in blokken

worden onderverdeeld, die alleen via een Dlultimaster (eyste..... )

bus met elkaar zijn verbonden (zie Intel Hultibus

Specification; documentnwaber 9800683). !fede hierdoor is het

haalbaar en zelfs aantrekkelijk, om de verschillende blokken op

aparte prints te bouwen.

In de volgende paragrafen worden de verechillende blokken

behandeld.

r - -------I

0 matrixI I

contr.UI mul-

I command

Ibuffermemo t i

f

I bus pr: contr:

I commandI camm.

contr.I

I command

Iprocessor

Iin~er-C IU

I comm.contr.-_ •..- ~_.' ..

figuur 2.2--

Opbouw van de CIU.

figuur 2.1

B1okschema. van de CIU.

IIt

DIU I control1"1

II

com-I Vt ...

com- status mand

~mand 'II v

FIFUcomm. !'l...JIcommand ~

I ~ buffercontr: memo ~ pro-I ces-

I sor

I I IA ....

inter. inter- status -

~ CIUI'll 101

CIU~ command 1\...1'

Iij nen Icamm. buffercontr. N"1' memo ~

13 -

2.1 De Command Processor.

De Command Processor (CP) verricht de verwerkingstaken van

de CIa. De CP meet de ontvangen berichten interpreteren,

admi.nistreren en tevens de benodigde respons initia.liseren. Bet

samenstellen van nieuwe berichten, behoort ook tot de taak van

de CP. Voor het uitvoeren, doorgeven resp. ontvangen van

berichten staat de CP indirect in verbindinq met zijn DIU, zijn

PIFO en met de andere CIU· s •

De berichten van de CP naar de DIU bestaan louter uit

opdrachten een bePaalde verbinding te rea.liseren. Berichten van

en voor de FIFO lopen via een command buffer van en naar de

command communication controller. Berichten van en voor de

andere CIU· s lopen via een command buffer van en naar de

inter-eIU communication controller.

De cp-print bestaat uit de CPU met zijn clockgenerator, een

hoeveelheid geheugen, een timer, een interrupt controller en

een busseparator (zie figuur 2.3). De aangegeven geh~ugengroot-

-~--

,.------- -II I mclock gen.~

bus arb.u

8284I

8289I I IJl I I t

timer int. contr.I I iCPU I bus cont r. I

8253 8259I

8086 I 8288 I mI I aI

latch I I Sc

local bus T tI

~.. 8282I e

.----.. I I rlatch PROM

, IJ IRAM -;-J' transc.

8282 ¢b

""16k "" B k I -J; 8.286 u1 r 1 r I bus separator I s

---------.----. ao.-

decoders-

8205.- -

.....--figuur 2.3

Opbouw van de Command Processor.

- 14 -

te is slechts als ordegrootte indicatie bedoeld. De timer is

toegevoegd om mogelijk te malten dat de CPU wordt gewaarschuwd

als de respons op een door hem geinitialiseerd bericht te lang

op zich laat wachten. De interrupt: controller ia toegevoegd,

omdat de CPU zowel van de beide communicatie controllers als

van de timer een aeintje meet kunnen krijgen, dat een bericht

klaar staat resp. dat een bericht te lang op zich laat wachten.

De bU8separator best&&t uit een busarbiter (8289), een

buscontroller ( 8288 ), twee ( adres- )latches ( 8282 ) en 1:wee

(data-) transceivers (8286). Samen leveren zij de koppeling

tussen de 10ka1e bus en de multimaater bus.

Dankzij de busseparator k&n de CP vrijwel ongestoord een

programma afwerken. Alleen tijdens het ophalen/wegzetten van

gegevens uit/in het command buffer memory wordt de CP SOBIS iets

vertraagd, als andere controllers tegelijkertijd in dat geheu­

gen willen werken. Aangezien de instructie fetch al~ijd in-- het

lokale geheugen plaats vindt, kan de multimaster bus vrijwel

zeker nooiteen bottle-neck gaan vonten.

Daar het gehele CIU~perating system (prograJllDa)bij de CP

zit, IIlOet er vrij veel ruiDrte voor PROM" s en RAM" s worden

gereserveerd op de CP-print.

2.2 De Command Communication Controller.

De Coamulnd Communication Controller (CCC) zorgt voor de

cOllllllunicatie· tUBsen de CIU en zijn PlFO. De contoller zorgt

daarbij voor l

Bet testeD/in stand houden van de verbinding

Bet doorgeven van berichten naar de l!'IFU

Bet ontvangen van berichten van de PlFO

Bet cOlDlDunicatie protocol.

De CCC dient hierbij zo veel mogelijk zelfstandig te werken.

Bet her~alen . ( of om herhaling vragen) van een verminkt

overgekomen bericht, behoort dus ook tot de ta8k· van deze

controller •. De vereiate .snelheid varLde_ berichten overdracht

uaaalc1: toegang tot het (command buffer) geheugen op mm.-basis

noodzakelijk. Al deze funeties tezamen kunnen worden

gerealiseerd m.b.v. een Bigh-level Data Link Controller (8274),

i~ combinatie met een Io-Processor (8089) (zie figuur 2.4).

- 15 -

-,--'"

,---------- II

II

I ine drivers clock gen. bus arb.~ ,IT

FIFU~ iso. rec. 8284 I 8289 ~ uI

JC JLI Ir- ,I

tim e rI tHOLe lOP I bus contr.~hl 8253 ~ I'~

,8274 8089 I 8288 I

I <; lo I I mT 1Il

I

G~ ~ ~ , I latcha

local bus l- I S

I . I 8282 ~t

I e.....---.. I

~latch PROM RAM ~ transc.r

J8282 '" 4 k '" 2 k I v _.8286 ~ b

i i 1 rI uI II bus separator t s

L - - - -- - - --decoder

.'--

8205 _l.--"""'figuur 2 .•

Opbouw van de COIIIID&ll<i C~un1cation Controller.

De co_unicatie tussen de CCC en de cOllllll&l1d processor vindt

.plaats via een geheugen (het ea-a.nd buffer metaOry).

De CCC-print bestaat uit 88n lOP met zijn clockgenerator,

88n HOLe controller, een timer, geheugen en een busseparator.

De print bevat tevens de line drivers en de isolating receivers

voor de verbindingen met de PlPO. De line drivers &ijn buffers

voor het sturen van een SO Ohm lijn. De isolating receivers zijn

opto-couplers ...t wat fase-herstel loqica era.heen. De t~r

heeft als taak, de processor een seintje te geven als respons

op een bericht aan de PlPU te lang op zich laat wachten. In het

lokale geheugen hoeven aIleen de cOIIlIIlunicatie subroutines

( start, .stop, herhaal, etc) te staan. Da.arom is er slechts. . .

weinig ru1mte voor RAM". en PROM"s gereserveerd op de

CCc-print. De aangegeven -geheugengrootte is weer als

ordegrootte indicatie bedoeld. De bU8seParator is analoog aan

die van de command processor.

-·1.6 -

2.3 De Inter-CIU Communication Controller.

De Inter-CIU C08llllunication COntroller (ICCC) zorgt: voor de

comaunicatie tussen deze CIU en de andere CIU"s. De controller

zorgt: daarbij voor:

Bet doorgeven van commando"s aan de andere CIU"s

Bet ontvangen van COllllD&ndo" s voor deze cm van andere

CIU"s

Bet comaunicatie protocol.

De leec dient bierbij zo veel moqelijk zelfstandig te

werken. Bet herba1en (of om herbaling vragen) van een veXDlinkt

overgekomen bericbt en bet bevestigen van een goede ontvangst.

beboren tot de taken die de leec onafhankelijk moet kunnen

verricbten. Gezien de vereiste snelheid van de - bericbten.

zullen deze op DM-basis in bet ( command buffer) gebeuqen

moeten worden gezet. Aangezien alle CIU"s in contact meeten

kunnen treden met alle andere CIU"s. kan er voor de

comeunicatie lijnen een matrixvoJ:8l worden gekozen. Bij de

verwachtte belaating van die verbinding. lijkt bet voorlopig

voldoende om een enkele enelle serieele lijn te realiseren.

Een parallelle data-bus verbinding zou bier ook kunnen. aaar

dan zouden er speciale lijnen en/of bardware nodig zijn voor

bet bepalen van de zender INtt de booqste prioriteit. Hocbten de

inter-CIU lijnen een bottle-neck van bet syatee. g&&n vor-en.

dan lijkt de aaatrixvormi.ge opzet (met variabel zendadres en

vast ontv&ngstadres) een betere keuze.

Voor de realisatie van de Icee is er beboefte aan &en enelle

serie~le cOD1Dlunicatie controller. die bericbten ontvangt: en

zendt over een gemeenscbappelijke lijn. De lijn meet

functioneren zonder een centrale contro1.ler. Deze zou bet

gedecentraliseerde karakter van bet bele oni:werp ( met de

daarbij beborende voordelen) namelijk weer teniet doen en

wa&rscbijnlijk de eerste bottle-neck gaan vormen bij bogere

belaatingsgraden van het gebele &ystee•.

Aangezien we geen eerieele communicatie O9ntroller behben

gevonden die aan al onze eisen voldoet, is biervoor een

controller ontworpen' en' gereaJ.iseerd-••b-.v. baais coaponenten

(zie biervoor bij lage I). De ICee kan nu worden gerealiseerd

•.b. v. een lOP (b. v. de 8089 va:n . Inte]. ) en voornoemde serie4Ue

communicatie controller (zie figuur 2.5).

- 17 -

---- .......

in t er- ._------ -.CIU I I

lijnen clock gen. t bus arb.I m

/' r-+-l u8284 I 8289 I I

I I

J J~ ..r;-- It

IS eria I ti mer lOP I bus contr. I I

l.........:) ..comm.contr. 8253 8089 I 8288 I Pm

T r T I I aI

I :L s,""

I Iat chlocal bus I I t

I 8282~ I

eI r

r----. I I

la tc h PROM RAM ~ transc. UI ..bI T

8282 ..... 4 k ..... 2 k I r 8286~I

U- '-- ----- -~ II

~ i 'f - - sI I-I bus separator I

---------- decoder - -

-8205 .... .-:....1.-

figuur 2.5

Opbouw van de Inter-eIO Communication Controller.

De Icee-print bevat dU8 een lOP I1118t zijn clockgenerator, de

8p8ciaal ontworpen 8erieele communicatie controller, geheugen,

een bU88eparator en een timer. De aangegeven geheugengrootte 18

weer al8 ordegrootte indicatie bedoeld. - De timer maaltt het

mogelijk om de prioriteit. van een bericht te verhogen al8 het

doorgeven ervan te lang gaat duren. De 8erieele cOBaunicatie

controller heeft namelijk al~ 8peciale eigen8chap, dat er

(zodra de 8erieele cOllllllunicatie lijn i8 'vrijgegeven door de

laat8te gebruiker) al8 eer8te een prioriteits ~e op de lijn

wordt gezet. Bet inter-eIO bericht met de hoog8te prioriteit

wordt daarna als eerste doorgegeven. De controllers met

berichten van lagere prioriteit g&an automati8ch van de lijn.

Dit alle8 wordt volledig hardware gereal;8eer~, want. software

matig was de gewen8te snelheid niet reali8eerbaar. In bijlaqe

I wordt een hardware reali8atie van zo'n-8erieele communicatie

controller beschreven. De tranBllli.ssie 8nelheid i8 zelf8 zo hoog

gedacht (ca. 2 Mbit/8ec), dat _~Et aanvoer en afvOftr van re8p.

naar het ( command buffer) geheugen op DIO\-basis JDOet

geschieden. Dit laat8te wordt verzorgd door de lOP (8089).

- 18 -

2.4 De matrix controller.

De matrix controller heeft a.l.s enige taak, h8't in de

opgedragen stand zetten van de DIU. Gezien de opzet van de DIU

(zie boofdstuk 4) is dat te realiseren met een enkele a-bits

latch. Deze laatste zet de IlUItiplexers van de DIU in de

gewenste stand. De gehele matrix controller bestaat uit een

latch met een adres-decodering ( zie figuur 2.6) . Bet is

duidelijk niet nodig hier een aparte print voor te reserveren.

Ret plaatsen van de matrix control~er op de ICee-print lijkt de

handigste keuze, want dat is de enige print van de CIU die ni8't

tevens voor de PlPO kan worden gebruikt (zie hoofdstuk :3) •

DIU

..........~~

Idecoder lowe t

i. . . . addr m

a5te

~ latch r....--- 74L5373

data brotU5

~~l.-o

figuur 2.6

Opbouw van de matrix controller. .

- 19 -

2.5 Bet command buffer memory.

Bet collllllal1d buffer memory moet een vrij groot geheugen zijn.

Alle binnengekomen, maar neg niet door de CP vezwerkte

berichten, moeten erin kunnen, terwijl ook voor de uitgaande

collllBal\do· 8 altijd ruimte beschilrbaar moet zijn. Gezien de

benodigde geheugenruimte is er gekozen voor dynaa1sche RAIl· s

met de daarbij benodigde dyn. RAIl controller, adres decoders en

data buffers (zie figuur 2.1).

-,...-"-

dyn.RAM MWTC mcontr. MRDC u

J

8202 addr t

I.-- I

J ~ mdyn. RAM a

I st·

64 k e"i ~ J ~

r

latch latch bu

8282 8282 s

1I J ~data

vI.--,

figuur 2.1

Opbouw van het coaaand buffer _lBOry.

- 20 -

2.6 De bus priority controller.

De bus priority controller moet er voor zorgen, dat er nooit

van meerdere kanten tegelijk op de aulti.auter bus wordt

gewerkt. Daartoe volstaat het gebruik van een priority encoder,

een decoder en een (10 HHz-) oscillator (zie figuur 2.8). De

rest van de benodigdheden zitten al in de busarbiters (8289).

De bus priority controller bevat dermate weinig componenten,

dat hij gemakkelijk op 88n van de andere prints Un worden

bijgev08gd.

..."..... ...

mpro encoder u

I74L5148 t

i

ma

decoder 5t

74L5138 er

boscilla t or '10MHz u

s74L5124 l,.....-~- .figuur 2.8

Opbouw van de bus priority controller.

- 21 -

Boofdst:uk 3. Opbouw van de PlFO.

De Fully Independent: Functional anit: (PI!V) is opgebouwd

volgena het: blokschema. van figuur 3.1. Ook bij de, PIPU' s is weer

gekozen voor een opzet: met: Io-Processoren in de

remot:e-configurat:ie. nit: levert een opbouw voor de PIPO volgens

figuur 3.2. De bericht:enat:rooa is nu als volgt: • Ben bericht:

vana.f de CIa koIlt binnen bij de COIIIIIand cOIaUnication

controller, die het: in bet: COGIID&nd buffer _.,ry zei: • De

C~ Procesaor (CP) wordt: gewaarschuwd, dat: er &en bericht

voor hell staat:. De CP l ..at: het bericht: en ziet b •v • dat er

------~

CIU

de­It--~vi­

ce

devicecomm.can tr.

datacamm.

-c-on t.r.

commandcomm.can tr.

commandprocessor

data/comm.. buffer

memo

r-fs pr.contr.1t i

-.mul-

mas-

. t e r

L __

--------

~ databuffer

h memo

~ datarr-, buffer

memo

status d' dr;===:::::;:-'! eVlc e 1"-1.0_-'1 e-~ comm. vi-~ contr. ce

Sal'

I Ir..--_s_t_a....;t;..;:u;...s~_-J da t a I

"-" comm.~ DIU'I"'"'\; contr. I

I

i Iicom- ~ I

status com·mand roo mand I

u commandA...1' comm.~ CIUbuffer contr. I

ron mem.. ~ . _ I~ pro- - -

I II

.f II I

II

II

I1 ces-1

II

I

1- _

figuur 3.1

Blokschema. van de PIFO.

figuur 3.2

Opbouw van de PIPtJ.

- 22 -

om een nieuwe dataf1le wordt gevraagd. De CP zet een verzoek om

de da~1le in het command buffer aemory en meldt d1t &aD de

dev1ce COIIIaIUzUca:t10n controller. Deze laat8te g88ft het verzoek

door aan het dev1ce. Bet device zoekt de file en geeft he. door

&aD de device ClOIIIIIlun1cat10n controller, die h.. in het data

buffer DteJIIOry &et. Zodra het daar in zijn geheel 8taat, wordt

de CP gew&ar8chuw. Deze geeft via de cOllllBAnd cOlBulUcat10n

controller &an de CIU door, dat de file klaar staat. ZOdra de

CIU ..ldt dat de DItJ 1n de j uiste stand 8taat, wordt de data

co-.uzUcat10n controller toe8t..u.ng gegeven, de da~1le te

verzenden. OVer de DIU lijnea ontvangt de data ~cat10n

controller of een beve.-tig1ng van goede ontvangst of 88n

verzoek om herhal1ncj. Al.a de f1le goed overgeJcOBlen 1s, dan

wordt d1t ten8lotte doorgegeven &an de CIU. Andere ber1chten

leveren een 800rtgelijke berichtenatroom. Alle8 wordt vanaf de

COIUlUn1cat10n controller8 1n het datalco.-and buffer ...-oxy. -.

gezet, waarna de belanghebbende wordt gewaarschuwd dat er 1eta

voor hea klaar staat.

In de volgende paragrafen worden de verschillende blOkken

apart; behandeld.

3.1 De Command Proce880r.

De C~d ProceS80r (CP) verricht de verwerk1ngstaken van

de PIFO. De CP zorgt voor de 1nterpretat1e en de verwerk1ng van

de b1nnenkolaende ber1chten, texw1jl de CP tevena u1tgaande

ber1chten samenatelt. Voor het doorgeven van ber1chten staat de

CP via .en coa.a.nd cOllllDUn1cat10n controller 1n verb1nd1ng met:

z1jn CIU. De be~1chten van en naar het 4ev1ce lopen v1a een

device commun1cat10n controller.

De CP-pr1nt bevat een CPU ..t zijn clockgenerator, vrij veel

geheugen, een timer, een interrupt controller en 88n bus­

separator. Bet geheugen II08t vr1j groot z1jn, want de CP ver­

r1cht al. de verwerk1ngstaken van de PIFO. De aangegeven geheu­

gengrootte 1s slecht8 al8 ordegrootte1.ndicat1e· bedoeld, de

fe1te11jk benod1gde geheugengrootte ilJ n9g onbeltend en zal af­

hanke11jk z1jn van het 800rt dev1ce dat de PIPU vond:. De and_

- 23 -

re onderde1en verrichten dus &11een cOllllunicatie taken I De

timer is toegevoegd om de CP een seintje te kunnen geven als de

respons op een bericht te lang op zich 1aat wachten .- De

interrupt controller zorqt: ervoor dat de CP van iedere

cOllllunicatie controller of van de timer een seintje kan krijgen

dat een bericht k1aar staat resp. te lang op zich 1aat wachten.

De busseparator bestaat net &1s bij de CIU uit een busaxbiter

(8289), een buscontro11er (8288), tliee (adres-) latches (8282)

en een (data-) transceiver (8286). Deze busseParator maak1: weer

dat de CP zijn taken kan verrichten, zonder vee1 gehinderd t:e

worden door het tege1ijkertijd werken van de comnmicatie

controllers.

Aangezien de CP van de PlPU qua schema in niets verschi1t

1D8t: die van de CIU (zie hoofdstuk 2.1 figuur 2. 3 ), kan hiervoor

deze1fde print worden gebruikt. Bet enige verschi1 tU8sen de CP

van de PIPU en die van de CIU is het programma dat: in de PROM- s

staat.

3.2 De COmmand Communication Controller.

De Command COllllllunication COntroller ( CCC ) zorgt voor de

cOllllllunicatie tussen de PlPO en zijn CIU. De taken die deze

controller bi.nnen de PIPU BIOet verrichten, komen exact: overeen

met die, welke de CCC in de cm II08st verrichten (zie hoofdst:uk

2.2). Bet is dan ook vanze1fspreltend, dat voor de CCC in de PIPU

deze1fde print kan worden gebruikt a1s voor die in de cm.Piguur 2.4 toont de CCC i.n de tot nu toe bereikte mate van

detail.

-3•• 3 " De Device C01Dlllunication Controller.

De Device C01Dlllunication Controller (DeCC) zorgt voor de

communicatie tussen het device en de PlPU.Aangezien het device

bier een protocol voorschrij~, zu11en er ve1e ~n DeCC-8

nodig zijn. Daarmee is de DeCC het enige circuit binnen het sys

- 24 -

teem dat niet universeel toepasbaar is. Waarschijnlijk zal het

veelal nodig Z1]n om het PROM-programma van de device

controller in de PlPO en dat van de cOllllDilnd processor in de cmaf te laten hangen van het type device dat is aangesloten. Zen

universeel programma zou te veel geheugenruimte kosten. De

DeCC-print bevat in ieder geval een Io-Processor met zijn

clockgenerator, een timer, vat gebeugen, een busseparator en

een specifieke device link controller (zie figuur 3.3). Deze

laatste vorlrt de eigenlijke verbinding met bet device. Voor de

lOP kan (i. v . m. de koppeling naar de multi master bus) bet beste

een 8089 worden gekozen. De busseparator is weer betzelfde als

de vorige.

-'--

mi - - - - - - - -I

I I de viceu~

bus arb.I.r I clock gen.

I~ ft

-

8289I

8284t I

i• I r ~ JL ~

I I device~ bus contr. 1 lOP timer

-' link ~ ~m~ I

a 8288 I 8089 contr. 8253s I I T i i I

I ~II J ~t~ latche rr+- I local bus

8282 ::II .:..

1r ~r I

I I

Wl-.,

bI

transc.~ RAM PROM IatchIu 7 8286

5 0, . . . . . . . . 8282I , 1r i r~b~~s~e.a.!:~~r~1

L~decoder

I--

8205-- -

figuur 3.3

Opbouv van de Device Communication Controller.

- 25 -

3.4 De Data Communication Controller.

De Data Communication Controller (DeC) zorqt voor de snelle

data link van deze PIFO vla de DIO"s naar de DeC van een andere

PIFO. De data wordt hierbij niet qelezen of gelnterpreteerd.

Alleen het toevoegen van een CRC, het checken op CRC, het

lndelen In blokken en het nummeren van die blokken behoort tot

de taak van de DeC. Bet herhalen (of OIl herhalinq vraqen) van

een blok is tevens lets dat de DCC zelfstandiq doet. Bet

resultaat is, dat als de DeC wordt gevraagd een file te

verzenden, dit ook altijd correct wordt qeregeld door de DOC.

_.--~

---------,I Im I bus arb. I clock gen. line driversu IA ...

~DIUI~ 8289 I 8284 . ISO. ree.

It I

'----:L JL ~ CI

i II buscontr: lOP data link timerI... I

iLcontroller ~ ~I'" '8253m~T'" 8288 I 8089

a I I .. II

.I :

T5 IA I la tch ~ ., .t I local busI

e I.... 8282 ~l.... " ~ ~

Ir I

I --b~ transc. ~ PROM RAM la tch

I

u~ 8286 !:II "\# 4 k "\# 2 k 8282I

5 II .J i " i i

Ibus separator:---------decoder

1..- -I' 8205 ._l--l-

figuur 3.4

Opbouw van de Data Communication Controller.

- 26 -

De aanvrager (meestal de CP) hoeft zich dus geen zorgen te

maken om dat transport. Hi.j initialiseert het en ontvangt een

gereedmelding.

De DeC-print bevat een Io-Processor met zijn clockgenerator,

een timer, wat geheugen, een busseparator en een speciale

datalink controller met line drivers en isolating receivers

( zie figuur 3.4). De timer is weer toegevoegd om de top te

waarschuwen als een ontvangsthevestiging te lang op zich laat

wachten. De datalink controller moet zorg dragen voor het

toevoegen en ehecken op de CRC aangezien de IOP dat niet in het

vereiste t8lllPO (minstens 1.0 Mbitjs) lean. De linedriver moet een

50 Ohm lijn kunnen sturen, terwijl de isolating receiver

bestaat uit een opto-coupler met wat fase herstel logica

(eventueel hetzelfde schema als in de COIIIDtal1d CODIIRunication

COntroller). De IOP werkt hoof~zakelijk als ~-controller en

heeft dus slechts een geringe geheugenruimte (PRQII en RAIl)

nodig. De busseParator mag ondertussen als bekend worden

verondersteld.

3.5 Bet data/command buffer memory.

Bet data/command buffer memory moet een vrij groat geheugen

zijn. AIle binnenkomende en uitgaande commando's lopen via dit

geheugen, voordat ze worden doorgegeven. tn verband met de

grootte van het hier benodigde ~geheugen is er gekozen voor

dynamische RAM's met de daarbij behorende dynami.ache RAIl

controller, adres decoders en data buffers (zie figuur 2.7).

Aangezien dit geheugen in feite identiek is &an het c01llllUU\d

buffer memory van de CIO, kan hiervoor l')etzelfde type print

worden gebruikt.

- 27 -

3.6 De bus priority controller.

De bus priority controller beveiligt (net als die in de CIU)

het gebruik van de multimaster bus. Boeve1 hier vier

potentieele "masters" zijn i.p.v. drie, is hiervoor geen extra

electronica nodig. oak hier Jean worden volstaan met een

priority encoder, een decoder en een (10 MHz) oscillator (zie

figuur 2.8).

- 28 -

Boofdstuk 4. Opbouv van de DIU.

De Data Interface Unit (DIU) maakt het doorverbinden van de

ene PlPO na.ar de andere PlPO' s lI0gelijk (zie figuur 4.1). Dat

doorverbinden geschiedt in opdracht van de matrix controller in

de CIU en lDOet snel worden gerealiseerd. Gezien de korte

ma.x.iaum overschakeltijd, vallen toepassingen ID8t aechanisc:he

contacten (relais) af. Toepassing van thyristor-matrices (zie

lit. 3 v.a.blz.44) kosten een vrij aanzienlijke hoeveelheid

hardware en vallen af, JDede gezien de gewenste

gedecentraliseerde opzet.

Er is gekozen voor een opzet ID8t vaste zendlijnen en

multiplexers voor de ontvangstlijn selectie (zie figuur 4.2).

Omgekeerde opzet (vaste ontvangstlijnen en omschakelbare

zendlijnen) heeft als nadeel, dat er moet worden gewerJrt met

open-collector uitgangen en pull-up weerstanden. - Die -opzet

verlaagt de maximale data transportsnelheid, terwijl de

benodigde demultiplexers (b.v.de 74159) meer vermogen

consWfleren.

. In de volgende paragrafen worden de onderdelen van de DIU

afzonderlijk behandeld.

01 ... i .. n 01 ... i .. n

-

'\.

-;1;lin e driver s

iso. receivers

t

multiplexers

1 r!.L--". decoders

-

F

C

-------oit-

--.,...J 0 IUo -

FIF~I/

CIUo L--r----.--k----f4----1

-------.,FIFU. 1'----:--0(- ~--)!- { r- - - _- - 't- - -... , -_ .. ~- .... ---- I I

CIU. I'-_~ - II .. t----- .. --.-_

- --... I- - - ~OIUI ~ _- -__ ~ _ _ _

matrixkolom­Iij nen

matrixkola m­Iij nen

figuur 4.1

Blouchema. van de DIU.

figuur 4.2

Opbouw van de DIU.

- 29 -

4.1 De line drivers en de multiplexers.

De line drivers met isolating receivers, zijn drivers voor

een 50 Ohm lijn. De isolating receivers zijn uitgevoerd met

opto-couplers en wat faseherstel logica (zie bijlage II). Dit

gedeelte van de DIU is daa.rmee identiek aan de line drivers in

de data communication controller van de PlPU.

Voor de verbinding naar de PlPU zijn een data en een clock

signaal nodig. Deze twee signalen zijn voor alle transporten

verschillend en IIOeten dUB beide over de llatrix worden

getransporteerd. De PlPU krijgt een vast paa.r • zendlijnen' op

de llatrix. Deze lijnen worden bepa.a..ld door de bedrading op de

matrix kolOBllijnen print. Alle DIU-kaarten kunnen daa.rdoor

volkomen identiek zijn. Voor de 'ontvangst zijde' van de

verbinding met de matrix kolOBllijnen, is gebruik geaaakt van. -.

multiplexers. Bet control signaa.l vanuit de eIU bestaat uit een

8 bits adres. Dit adres wordt gedeeltelijk gedecodeerd en

gedeeltelijk direct verbonden met de multiplexers (zie figuur

4.3). Biermee kan elke gewenste verbinding binnen een f sec

worden gerealiseerd.

I .~-

r-- "multiplexers •...I

I 74L5251 II·0

J II

I deco-.

dersI

- ~ multi plexe rs 0

--' - 74L5251 J:II..

--, - ~,.....-

trix· rna74L5138 - · kolon - II

· lijnenII

- ·· "I} Il- multipl exers II

II

data 74L5251 I-'"~

clock .. -

... ' l

figu~_J: ..4. 3 _. __ ._

Opbouw van een matrix rij .

o1 , n.

- 30 -

Voor elke acht: verbindingen zij n t:wee mult:iplexers nodig (voor

dat:a resp. clock signaal). Een decoder kan maximaal 64

verbindi.ngen helpen select:eren.

4.2 De mat:rix kolomlijnen.

zoaJ.s in de vorige paragraaf al is aangegeven, best:aan de

mat:rix kolomlijnen uit: lijnparen. De mat:rix kolOll1ijnen print:

zorgt: ook voor de adres t:oewijzing van de DIU zender. De groot:t:e

van de mat:rix kan (in 8't:appen) worden aangeput: aan de g8W8nat:e

groot:t:e (door de 8-bit:s adres8ering begrenst: t:ot: maximaa] 256).

Een opzet: met: groeist:appen van 16 verbindingen lijkt: een

handige keuze. Een grot:er sy-st:eell lean dan worden opgezet:

vo1gena figuur 4.4.

jr············..H M ~I ~~I~ ~r········.....M ~I .. =3;....

I~ M M···············.~I ~=~c.

a.

figuur 4.4

St:rukt:uur van de mat:rix koloalijnen bij max.48 DIU"s.

Piguur 4.4 b en c t:onen de buffers die nodig zijn, zodra bet:

syst:eell grot:er dan 16 wordt:. De fan-out: van de DIU uit:gangen.. ~ . . .

naar de aat:rix laat: geen onbegrenade ongebufferde vergrot:ing

van bet: syst:eem t:oe. Het:- apart: willen -st:uren van bet: st:ukje

kabe1 (kort: houdenl Hoeft: nooit: Jlli8er dan SO em. t:e zijn) leidt:

- 3~ -

tot het kiezen van twee buffers achter elJcaar. Bet verschil in

riaetime en fa..lltime van een buffer, leidt tot de keuze van

inverting buffers •.De circuits van figuur 4.4.b en van 4.4.e

kunnen deaelfde zijn. De rechthoeltige gedeelten atellen een

printje voor met 32 buffers, een connector naar de matrixprint

en een verbinding voor de kabel naar het andere bufferprintje.

Piguur 4.4.b en 4.4.c zijn lIet dezelfde priritjea te

rea..lieeren. De matrix kolomlijnen print Jean er uitzien ale

getekend in figuur 4.5.

0...., 0 e-- ~ --0---00

~I0 0-- ~ --0----00...., 0- ---e-- --0----0

~l : 1~J

0- --0- ----0----0

011 011 ~--0- --0---0

20 1 I I I --0-- --0---0

0' o I I o-W-~

--0----0I 0' 0++ I

o I I I -0------0

o I I o I I o-W- --0--1--.!..~no I I -<> I I o-W. --o-W.

~ ~ ~ ~ ~datao clock

0 1 2 I n [figuur 4.5

Ontwerp van de matrix koloalijnen print.

[

01------(

01-----(

0----(

0----<oo

0...-----­0...----<0------(

0----10..------(

0----(

Boofdstuk s.

- 32 -

Evaluatie.

Bet in de vorige hoofdstukken behandelde ontwerp bevat veel

meer hardware dan de bedoeling was. Maar IIli.j n mening is voor he't

realiseren en voldoende onders'teunen van een 10 Mbaud

da'tacommunica'tie weI degelijk zoveel hardware nodig. Zeker alB

de systeemopze't van P.v.d.Eijnden (li't.4) word't aangehouden

(aparte da'ta en command lijnen).

om di't aan te 'tonen is een simula'tie van he't systeem

overwogen. Oit de simulatie zou o.a. moeten blijken va't de

beze't'tingsgraden van de diversE!! processoren zijn (bij een

systeem me't meerdere PIPO" s ) . Bierui't zou o. a. de

noodzakelijkheid of de overbodigheid van de gekozen opze't met

remo'te processoren kunnen blijken. Made door 'tijdgebrek zijn we

nie't aan een simula'tie toegekomen.- --

Er zijn bovendien nag enkele nie't 'tot op componen'ten niveau

gespecificeerde segmen'ten in he't ontwerp. Di't be'treft met name

de "serial communication con'troller' - in de CIO, -de • line

drivers / isola'ting receivers" in CIU, DIO en PIFO, de

•da'ta-link con'troller' in de PIPO en de 'device-link

controller' in de PIFO (zie figuur 5.1).

Aan de eerste twee onderwerpen is aandacht bes'teed. De

resul1:a.'ten daarvan vind't u in bij lage I en II. Be't derde

onderwerp (de "da'ta-link controller' in de PIFO) 1s opgelos't,

zodra de nieuwe 10 Kbaud BDLC-controller (van In'tel-) op de

aarkt komt en zal 'tot die 'tijd vrij veel, s1mpele hardware of

enkele DLA'S vereisen. Be't vierde onderwerp is volledig device

afhankelijk en om die reden nag nie't nader bekeken.

Device

- --Idev. Ilink Icant. I----

FIFU

III.dr./lisa. r... - --

II. dr: / I

---"'iso.. r. 1___ .J

DIU

[IU

I ser.Icom.I cant.

figuur 5.1.' _.- -- - -- ---,--

Bet on'twerp, me't de vernoemde segmen'ten.

- 33 -

5.1 Naar een nieuwe sxsteem opzet.

Aangezien de hardware behoefte van het behandelde ontwerp

te groat was bevonden. was er behoefte aan een beoordeling van

de consequenties van een andere 8ysteelllOpzet. Dit laatste

vooral ten aanzien van een mogelijke hardware reductie. Deze

alternatieve systeemopzet kan op verschillende wijzen gebeuren.

Us aerste ward gedacht aan aan systeem. waarbij de data en

de cOJmD&nd link tussen de PIPO en het DIO-eIO pa.ar worden

samengevoegd tot een enkele varbinding (zie figuur 5.2.b) .

Verder is overwogen om de data-matrix ook te gebruilten voor

het doorsturen van de command8 (zie figuur 5.2.C).

matrixDIU kolom,. - - -'

I lijnenI. I -

Idevlce,I. FIFU- - __ I

[IU

a.

matrix,.---. kolomI1d . I lijnen

I eVlce l DIUI[/U1 FIFU inter- - __ I

CIU lijnen

b.~.. - - _.

II -

d . I ~---.

DIU I[/UI eVlce l ' ---:-J

I FIFU- - __ I..........

matrixkolomlijnen

c.

figuur 5.2

a. Aparte data en coaamand lijnen.

b. Alleen in de centra.le aparte data en· command lijnen.

c. Data. en COIlIIDa.nd cOllllllunicatie over de matrix:

- 34 -

Bet samenvoegen van de data en de cOllllllAnd link heeft als

voordeel, dat in de PIFO een communicatie-eontroller vervalt

(en daa.xaee oak de line-drivers, isolating receivers, etc in ~

PIFO en DIU). Wel JDOet er nu voor worden gezorgd, dat data en

commands kunnen worden onderscheiden. Door de gewijzigde

systeemopzet wordt het mogelijk OlD de splitsing van data en

commands van een job ("fork", zie lit.4 par.3.3.l) pas in de

"centrale" ~it te voeren. Uit ei.mulaties zal -.oeten blijken, of

het voordelig is, om dat te doen.

Bet tweede punt (het gebruik van de data-matrix voor de

cam.and c08llllunicatie ) vereist, dat de ma.trix cOIIaunicatie

controller een vaste ontvangstlijn ltrijqt (er is geen "CIU"

meer die vertelt op welke lijn BaOet worden geluieterd). OlD dan

tach met iedereen te kunnen communiceren, most de zendkant op

al de matrix kolomlijnen kunnen worden gezet (zie figuur 5.3).

o 1 .. i .-c. . n.

comm.~,

contr. ---.--select -

e--.

matrix kolom lijnen

figuur 5.3

Opbouw van ee~ aatrix rij.

Dit laatste heeft de volgende consequentiee.

Ten aerste moeten er nu open-colle~tor uitgangen worden

gebruikt naar de matrix, want er kunnen lIl8erdere zenders op een

zelfde lijn willen. Deze open-eollector,lijnen (met pull-up

weerstanden) hebben een lagen baudrate dan een lijn aan een

totem-pole uitgang, want de lijncapaciteit zal aanzienlijk

zijn, ~zien de benodigde bedradingelenqte van de matrix koloa

lijnen. Verder moet er hardware wordentoegevoegd,' die voorkOlllt

dat de zenders elkau_l,I__,berichten_v~EB1nken. Dit vereiet

bijvoorbeeld een mogelijkheid tot luisteren naar een lijn, voor

en tijdens het zenden op die lijn. Er zullen dus niet alleen

- 35 -

( open collector ) demultiplexers (b. v . 7U59 ), maar oak ( low

power) multiplexers nodiq zijn.

Bet clock siqnaal voor de ID&trix cOllllllunicatie kan nu

centraal worden opqewekt. DaarOlll kunnen de ID&trix clock-lijnen

worden vervanqen door een enkele clock-lijn.

Omdat nu zowel data als collB4llds over de matrix qaan, ID08ten

beiden onderscheidbaar worden. Dat verzwaart de taak van die

com.unicatie controller.

Verder is de s1mpele matrix uitbreidinq volqens fiquur 4.4

nu niet meer moqelijk, want de ..trix meet nu bidirectioneel

werken. Be1: uitbreiden van de matrix was overigens in bet oude

ontwerp, qezien een potentieele overbelastinq van de inter-eIU

lijnen, w&arschijnlijk toch al af te raden (tenzij een

inter-eIU ID&trix wordt toeqepast) • Danltzij de coaaand

communicatie over de datamatrix vervallen de aparte !nter-cIU

lijnen.

Op een rijtje qezet leveren de veranderinqen het volqende ops

Hadelen

Laqere data baudrate.

Busy detectie voor de

ma.trix kolOlll1ijnen.

'1'aakverzwarinq voor de

...trix cOlllllUnicatie

controller.

Matrix niet uitbreid­

baar.

Voordelen

Veel minder hardware.

Inter-eIU lijnen vervallen.

Een coaBunication controller

verval.t •

Enkelvoudiqe ID&trix koloalijnen.

ZOWel bij het s&menvoeqen van data en command link tussen

PIFO en CIU-DIU, als bij het sturen van commands over de ma.trix,

meet onderscheid worden &angebracht tussen data en commands.

Dat zou l? v. kunnen met &en negende bit, of door dat gegeven in..- .

het eerste byte van elk block-transport te zetten.

'Een syateemopzet die -uitga.ande van de 1. Mbaud multi proto­

col serial controller (8274 van Intell zie lit.6)- werkt met

- 36 -

een baudrate van slechts ~ Mbaud, heeft grote voordelen. De

IIm.-controller kan bij deze baudrate namelijk nog lokaal worden

geconfiqureerd. Verder worden de line drivers/isolating

receivers eenvoudiger of kan een veel grotere afstand worden

overbrugd.

Biermee vervalt de noodzaak tot het gebruiken van

remote-( 10- )processoren 1 Bet volgende rekenvoorbeeld toont dat

aan.

stel beide zenders en ontvangers z.1Jn aktief op ~ Mbaud

(b.v. matrix-link en PlPU-link zijn beide aktief). Er moeten

dan 4 x 1 Mbaud / 8 - 500 k bytes / sec met het geheugen worden

uitgewisseld. Een byte (via een IIm.-controller) ophalen uit het

geheugen, bezet de bus voor ongeveer ~ fS (bij de 8237

IIm.-controller). 500 kbytes/sec bezet de bus dus voor ongeveer

50'1 Biermee is ook direct duidelijk, waarODl in het oude

ontwerp (met een tienmaal zo hoge baudrate) het werken in de

local lRClde onhaalbaar was.

Een bus bezettin98graad van 50' alleen al voor de

IIm.-accessen lijkt oak een onduldbare situatie. Bierbij giogen

we er' echter vanuit, dat alle kanalen actief met data (of

cOlllllUlnd) transport bezig waren. Dat laatste is een situatie,

die maar weinig voorkomt (tenzij alle berichten automatisch

worden geechoed ) • DaarODl is een ontwerp met een local

IIm.-controller toch accepta:bel,· ondanks de vier 1 Hbaud

kanalen.

Boofdstuk 6.

- 37 -

Opbouw van sen intelligent netwerk (2).

Be"t intelligente netwerk II08t in staat zijn om allerlei

devices met elkaar te verbinden (zie hfd.~). Bij dit ontwerp

willen we weer een non-blocking cOlDlllUnicatie netwerk

realiseren. De keuze voor een aatrix struktuur in de centrale

blijft daaroDl gehandhaafd. In het ontwerp is een duplex ~. llbaud

data/COIIIID&nd link tussen device en centrale voorzien en tevens

coaau.nd cOlDllunicatie over de llla.trix.

Aan elk device wordt een controller toegevoegd, die in

verbinding staat met de centrale. In de centrale wordt gezorgd

voor de verbinding naar de CCU' s (COIlIIlunication Centre Unit- s)

van de andere devices (zie figuur 6.1).

De verbinding tussen de tJDC en de CCU overbrugt de a.fstand

tussen device en centrale en zorgt ( dankzij de_. isola.ting

receivers) tevens voor de ga~vanische ontkoppeling van device

en centrale ( ter voorkOllling van aardingsproblelD8n) . Delle

verbinding vereist 4 adere (liefst twee atg.schermde

aderparen) •

I""'-'m

Universal Communi-~ at

Device Device - L ~ cation W rController Centre i

0 0 Un i t 0[-II X

, • ·• · · k0. . ~ I

Dev .. U DC IC'" ...lI CCU ~ 0- mi i I ~

· · • I· - · ij• • • n

~e

7- ~ ~·n

Dev. UDC ~ C C U

" n "---,..

~

figuur 6.~

BlOkschema van het.intelligente-netwerk.

- 38 -

De overbrugbare afstand is afhankelijk van de baud-rate, de

kabelkwaliteit en de complexiteit van de toegepaste faseherstel

logica. Een paar honderd meter lijkt zonder veel moeite

overbrugbaar, zoals uit metingen is gebleken (zie bij lage II).

om het doorgeven van een command block over de matrix niet

te veel te vertragen, is het belangrijk, dat de maxjmum data

block lengte niet te groot wordt gekozen. A1s voor een maxi mum

block grootte van 256 byte wordt gekozen, dan zal het

overbrengen van zoO n block ruim 2 ms duren (256 x 8 / 1.000000

sec) •

Een command block wordt dan hoogstens 2,5 ms opgehouden door

data transport, mits de prioriteit van een command block altijd

hoger is, dan die van een data-block. Grotere vertraging van

command blocks kunnen alleen ontstaan, als meerdere ceo's

tegelijk een command block willen zenden naar een bepaalde CCO.

In de volgende hoofdstukken zijn de CCO en de ODC nader

uitgewerkt.

- 39 -

Boofdstuk 7. Opbouw van de CCO' s.

Een C01lllllunication Center Unit (ceo) heeft de volgende taken;

Bet communiceren met de andere CCO"S via de matrix.

Bet cOlllllluniceren met zijn mx:.Bet uitvoeren van de operating system taken.

Bet interpreteren van de ontvangen berichten.

De CCO is opgebouwd volgens het blokschema. van figuur 7 .1.

De CPU (8088) verricht de initialisatie- en de verwerki.ngs­

taken.

VDC

".

',matrix kolom Iijnen "~ oJ

It.\

clockgen. \

\

8284 - . . - ...... ...-I

JlI

1 I..II -

RAM PROM CPU DMA line dr, I8088 8237-2 i sol. rec:• ..

!.. MPSC'

8274, ~ ...

Ir<i

~ la tch ti mer int.contr.ft- matrix-

r 8282 8253 8259 dr./rec~f0-

ri'decoder8205 -

fo-- - _"I ~ ... -----"?

figuur 7.1

Opbouw van een CCO;·-

-40-

De communicatie van en naar de UDC wordt verricht door de

Multi Protocol Serial Controller (8274) via de line drivers/

isolating receivers (zie bijlage II). Degekozen baudrate

( 1Mbaud) leidt tot de noodzaak van byte aanvoer op DHA basis.

Daarom is er een mm.-controller (8237-2) toegevoegd.

De communicatie tussen de CCU's onderling loopt over de

matrix kolomlijnen. Een matrix-rij bestaat uit multiplexers.

demultiplexers en hardware. die ervoor zorgt. dat een ceo niet

op een lijn gaat zenden als er al op die lijn wordt gezonden.

In bijlage III wordt zoo n matrix communication controller

beschreven.

De timer (8253) is toegevoegd om. ervoor te zorgen. dat de

CPU een seintje kan krijgen als de ontvangst bevestiging van

een verzonden bericht te lang uit blijft.

De interrupt controller (8259) zorgt voor het doorgeven van

de interrupts van de !lPSC. de timer en de matrix

driver/receiver naar de CPU.

De clockgenerator (8284) levert de 4Jmz clock signalen voor

de CPU. de DMA-controller en de HPSC (zie bijlage IV).

Bet geheugen dient voor de opslag van het ceo-programma en

de andere gegevens (files. pointers. etc.). De vereiate

geheugengrootte is nog niet bekend.

- 41 -

Boofdstuk 8. Opbouw van de tme" s.

Een Universal Device Controller (tme) heeft de volgende

taken:

Bet cOlDDluniceren met het device I volgens het (door het

device) voorgeschreven protocol..

Bet communiceren met zijn ceo.Bet (voor- )bewerken van de ontvangen berichten.

De UDC is opgebouwd volgens het blokschema van figuur 8.1.

De opbouw van en tme komt in hoge mate overeen met die van

een ceo (vergelijk fig. 7.1). In feite is de ceo te beschouwen

als een speciaal type tme , waarbij het "device" vordt gevormd

door de matrix kolomlijnen en de andere CCU" 8.

eeu

, .Devlce

- ~

\

clock gen. I

8284 ' I

- "". -\,

II1l 1,...

RAM PROM CPU DMA line dr:/.8088 8237-2 isol. rec.

~ ;:0

I.....

1... ., .. p ... MPSC

82744 ~ • -;.: v •

,', I ~,

,....... .. ... ..L la tch ti mer int.contr.~ devic e

r 8282 8253 8259 link ~...................... ':

con tr.~ ~

,I I I -

.--l I I

decoder I II I

8205 ,. _ _ .s _7_ _ _,

l- I

figuur 8.1.~--- --. - _. ----.-

Opbouw van een tme.

- 42 -

De ODe bestaat uit een verwerkingseenheid (CPO). geheugen

(RAM en PROM). communicatie componenten (OMA-controller. MPSe

en line drivers/isolating receivers). bus- en system-support

( latches. decoders. clockgenerator. timer en interrupt

controller) en een device link controller.

De device link controller (DeLe) mag gebruik maken van het

vrije kanaal van de MPSe of van twee ingangen van de

DMA-controller. Tevens staan de DeLe enkele ingangen van de

interrupt controller ter beschikking. Dankzij het nog vrije

kanaal van de MPse zijn een aantal serieele protocollen met

weinig extra hardware in de DeLe te realiseren.

De DeLe zal voor elk type device apart moeten worden

ontworpen. De software van de UOC moet oak worden aangepast aan

het type device. dat op de UOC is aangesloten. In feite zullen

de UOC"s dan ook niet algemeen uitwisselbaar zijn.

Aangezien er in de ODe weI een behoorlijk groot "universeel"

stuk zit. lijkt het interessant om dat universeIe gedeelte op

een aparte kaart te zetten. Bet universele gedeelte kan dan

bestaan uit een CPO (8088). een DMA-controller (8237-2). de

MPse (8274) met line drivers/isolating receivers. RAM. adres

latches en decoders. de timer (8253) en de interrupt control.ler

( 8259 ). De device afhankelijke componenten (DeLe en het

PROM-programma) kunnen dan op een aparte kaart worden gezet. Er

kan oak een print met het universele gedeelte worden ontworpen.

waarop ruimte is gereserveerd voor de DeLe.

Er kan zelfs worden gedacht aan een opzet. waarbij het

universele gedeelte van de ODe tevens wordt toegepast in de

eco' s. Bet "device" afhankelijke gedeelte van de eco bevat dan

de matrix driver/receiver en de PROM"s.

Een opzet als hierboven beschreven. resulteert in een

netwerk opbouw volgens figuur 8.2.

Device

~--------_.~ ------,:device link ~...~ univ :I t I ...

1"--""1 : controller: : proc. : ....e:-._-'j-r ~...,...-~ I " I ~. -

:+ program ;'f"': sect.:UDC

:~~i~~~~ ..;-~~-t~i~--: ~ m~trix• I' I

:proc.: :driver/rec.: • k II I I I - :(~ om:sect. "....~ + program:______ J ~

'._ CCU li~nen~

figuur 8.2

Netwerk opbouw bij toepassing van universeIe processor secti'es.

Bijlage I.

- 43 -

.Serieele communicatie van meerdere zenders op

een lijn.

Bij communicatie met meerdere zenders op een enkele lijn

ontstaat &1tijd een prableem, &1s meerdere zenders gelijktijdig

gebruik willen malten van die lijn. Bij lijnen, die grote

afstanden moeten overbruggen, is niet te voorkomen, dat

berichten elkaar dan verminken. De looptijd van het sign&&1

over de lijn wordt namelijk zo groot, dat een zender &1 een

tijdje op de lijn kan zenden, voordat hij merkt, dat een (veraf

gelegen) andere zender &1 begonnen was. Aangezien het botsen

van berichten (collision) in zulke systemen niet kan worden

voorkomen, zijn er complexe wachttijd algorithmen on1:worpen.

Deze moeten voorkomen dat de cOllllDunica.tie op de lljn gaat

stagneren als de belasting van de lijn toeneemt.

In ons ontwerp treedt het prableem van meerdere zenders op

_ een lijn &11een binnen de ,cOllllDunicatie centr&1e op. In het

eerste ontwerp is dat op de inter-eItJ· lijnen. In het tweede

ontwerp is dat op de matrix kolOllllijnen. In beide gev&11en is

de afstand tussen de zenders minder dan een meter. Bij de door

ons gedachte baudrate kan een zender dan altijd direct zien of

er een andere zender op de lijn zit.

Oitera.ard moeten de zenders m.b. v . een open-collector

uitgang op de lijn staa.n, anders zouden er defecten kunnen

ontstaan, zodra meerdere zenders gelijktijdig willen ga.a.n

zenden.

b7

-44-

1.1 Communicatie op de inter-CIO lijnen.

Voor de cOllllllunicatie op de inter-cIO lijnen is een protocol

ontworpen en een circuit gerealiseerd.

Bet protocol gaat uit van een data-lijn, een klok-lijn en

een byte synchronisatie-lijn. De open-collector uitgangen van

de zenders lUken, dat een "nul" op een lijn dOlllineert boven een

"een".

De byte synchronisatie-lijn wordt tijdens bet achtste bit

(b7) "nul" gemaakt, en is de rest van de tijd "een". Bet

protocol schrij ft voor, dat het achtste bit van elke byte "nul"

meet zijn, tenzij het het laatste byte betreft. Door deze twee

gegevens is het voor de zenders erg eenvoudig om te zien of de

lijn vrij is. Als de data-lijn "een" is tijdens de "nul" van b7

(due data? - 1), dan is de lij n vrij. In het andere geval is de

lijn bezet (zie figuur 1.1 r.

+ - - - - - - - -vrij - - - - - - - +---------bezet - - - - - - - - ..

data I LIITIJJrprloritY-byte+ adres-by t e+,e data-b yte+2e data·

data

~ - - - - - - - - be z e t - - 0- __ _+_________vr i j _ _ _ _ _ _ _ _ _ ...

JJJIIITDJ iii! [[( -!--data byte-+,aatste byte--1

figuur 1.1

Byte synchronisatie en data sig~alen.

'\,

Er kunnen lIl8erdere zenders wachten op het vrij komen van de

lijn. Zodra deze wordt vrijgegeven, zullen zij allen op de lijn

gaan zenden.De meeste zenders zullen echter al tijdens het

zenden van hun eerste byte van de lijn gaan. Als een zender

namelijk een "nul" aantreft op de lijn~ terwijl een ~een" was

bedoe1d, dan zal die zender onmiddell~j~_ophoudenmet zenden.

De zender die de "nul" had veroorzaakt, heeft van dit alles

niets gemerkt en gaat gewoon door met zenden.

N

N

START

lees adres-by te

meld nieuwe byte

lees volgende bIte'

iI:

- 45 -

N

y

N

N

y

START

zend priority- byte

zend volgende byte

vraag nieuwe byte

b.

- _._--figuur 1.2

a. P1ow-diagram voor het: ont:vanger prot:ocol.

b. P1ow-diagram voor het: zender pr.ot:oco1. , -

-46-

Bet eerste byte is het "prioriteits-byte" genoemd. Door h.t

domineren van de "nul" en het olUlliddellijk van de lijn gaan bij

een onterechte "nul", blijft de zender met de hoogste

prioriteit over. Er zijn 128 prioriteits niveaux (7 bits).

Alle berichten kOlll8n op de data-lijn te staan. Alle CIU"s

luisteren dan ook naar die ene lijn. Er moet voor worden

gezorgd, dat alleen de berichten voor de betreffende CIU in het

geheugen worden gezet. Daart:oe wordt als tweede byte altijd het

ontvanqer &dres verzonden. De ontvanger met dat &dres z&1 de

rest van het bericht naar binnen halen. De andere ontvangers

doen dat Diet. Radat de lijn weer is vrijgegeven (data7 - 1),

wachten alle ontvanger. op een prioriteits-byte (data7 - 0),

waarna ze het volgende byte weer met hun adres vergelijken.

In figuur 1.2 zijn de protocollen voor de ontvanger en de

zender weergegeven in de vona van een flow-diagram.

OIl een bericht aan alle ontvangers tegelijk te kunnen- -

zenden, helmen de ontvanger. 1:ve. adressen. Zij reageren op hun

prive-adre. en op het algemene Adre. (11111~1)~

Door de hoge ~udrate van het signaal (er i. gewerkt: ..t

2 MBa), JDOeten de byte. op IlIA-baai. in het geheugen worden

gezet. De .eri"le cOllaunicatie controller genereert daarom oak

een DRQ (ma request) en verwacht een nACIC (OM acknowledve).

Als het DACIC-signaal te laa.t ko.t, ontst&&t er een fout

situatie. In zoo n geval ltrijqt de CPU een interrupt;, zodat deze

bet ca-municatie protocol kan herstarten.

1.2 Realisatie van de inter-CIU link controller.

De inter-CIU link controller is gerealiseerd a.b.v. een

aantal eenvoudige '1'"l'L-IC" s.

De gewenste modulaire opzet van de communic&tie centrale

..akt, dat alle CIU's identiek moeten zijn. Aangezien er geen

electronica op de achter print mag zitten (beh&1ve eventueel

enkele pull-up weer.tanden), IDOeten alle .signalen in de

controller worden opgewekt. De controlle-r besta&t daaroa uit

een clock generator, een byt~synchroni~ator, een zender, een

ontvanger en Bystem interface logica (zie figuur 1.3).

- 47

interCIUbus

1 clock generator~ -~::::=:::::::?;;:;;~C~IO~Ck

Ibyte synchr. t-~---==:::::;:7"'bb'7

I transmitter ~-I--r--~"-

I receiver ~-

_ system inter­

face logic

systembus

figuur 1.3

Blok8chema van de inter-CIO link controller.

Alle clock generatoren JDOeten exact synchroon lopen. Daartoe

is een 8peciaa.l circuit toegepast (aie figuur 1.4). De werking

is a18 voIgt. Zodra de clock-lijn hoog word~, Start timer '1'1.

Al8 deze timer afloopt, wordt tu.er '1'2 gestart. De clock-lijn

wordt nu weer laag getroJcken door de invertor (met

open-collector uitgang). PU als alle timers '1'2 zijn afgelopen,

gaat de data-lijn weer OIIhoog en starten alle tillers '1'1

opnieuw. Op deze wij ze word~' een 2 MHz clocksignaa.l

gegenereem.

'------l A

,~5V1k II

ITI

)- - ~- --'D--J..-~"./(lo(k

--.,.7406 --/

"

QI---r---1T28','QT174LS123A

e

clock

Q1

Q2

figu~_~ _I . ~

Clock generator circuit en tiaing signalen.

- 48 -

Voor de byte-synchronisa~ie is een signaal nodig da~ elk

ach~s~e bi~ de b7-1ijn naar beneden ~rek~ (zie figuur 1.5). Een

. nul· op de b7-1ijn veroorzaakt (indirect) een synchrone clear

van de ~eller, zoda~ de cirC\.li~s in alle CIO· s synchroon zullen

lopeno

- --""

5Vrl.,

11r: :I I

- - ..;T

- - -""--:,

- --"

- - - ,>---'------".,..... bY

o Qclockf(fiJ --+---i>f D-FF

74L574o

C/ock(Q1J f

b7=rJL....- U'--__c1ear~ 1 U---.LJ~. '---_

figuur 1.5

Byte-synchronisa~iecircui~ en ~imdng signalen.

I.2"~

- 49 -

Realisatie van de ontvanger.

De ontvanger moet berichten voor zijn eIO van de lijn halen

en (op mm.-basis) in het geheugen laten zetten (zie ook figuur

I .2a).

De ontvanger bekijkt of het adres-byte (chan. free. databyte )

overeenkOUlt met het adres van de eIO (adres equal). Als dat zo

is (receiver selected), dan wordt het byte in een buffer gezet

(load byte) en wordt een RxDRQ (receiver DMA request) gegeven

voor deze en de volgende bytes van het bericht. Zodra bet

laatste byte binnen is ( d7-~ ) , wordt de ontv&nger weer

•Passief" (receiver selected). De ontv&nger bekijkt weer of bet

volgende bericht voor zijn eIO is.

Bet adres byte heeft zeven vrije bits, dus er zijn ~28

verschillende adressen IDOgelijk. Da.arvan is "~27" (ll~~~~~) ale

algemeen adres gereserveerd.

Alle ingelezen bytes worden door de ontv&nger 1n-betbuffer

gezet en aan een DMA-controller geaeld (RxDRQ). Als een byte

verloren gaat, omdat de DMA-controller te laat reageert (RxDAClt

is te laat ), dan wordt de ontvanger verder 9ebl~eerd

( receiver error) en wordt een interrupt gegenereerd. De

ontvanger kan weer geactiveerd worden, door een "reset receiver

error- te-geven.

Figuur 1.6. a en b tonen de tiJlli.ng signalen van de ontvanger

voor, tijdens en na het ontvangen van een bericht. In figuur 1.7

is bet schema. van de ontvanger getekend.

b7 -U'---__UL.-- LJ I~ .data ---~--.JL-..l...---l...--J...-----l_.L.---l...-___!_-----l_.L.---l...---L----l.-l..-...l..-___+_----l.-.L...-_:_---'-----J.-.L...---'---___7_-----'--

, ~'" e b VIE----- priori ty- byt e---~~~---- adres-byt e -----;""llofi"';------1 data yt e ---~;>'O'<:E--: I ,

'IIo,chJree ----l ---:J9--fr _

RxDRQ ----l--:- --=---'--_

rec.sel., L- \ __

load byte +Lt-- ------'----'--_

data byte ----~"G_---l-----------I r --I

adres eq .. -.-L ~IL___II -----.C~---lL-------------

Piguur I.6.a .,

Ontvanger timing-signalenl van vrije lijn tot aotieve ontvanger.

-LJ UL-- UL- u=b7

c10 CK -LLi...LLL..Ll.....LLL.L.l-LLl.--LJLL..Ll....LLL...LJ-LL..l.....l...-LL...L.l......LLL...L..l......L...L..L...l-JL....L...L...1.-L-.L....L.....L....JL......L--'----.L---L-

- - - - - - - - - ,- - - - -- - - - - - - - - - - - - -.I I

RxDRQ ---....:..-~L!.... ___L~ ...._:..... _

ch,free ---------------~.---------.......L--------r~

r ec. seI. -I--- ---L ---"'-__

load byte ---.lL-4- -----L..L- _

dat~ byte -------------...L.--+--...,..------------l----,~"--\ ,.--, ~--,

adres eq. ~:_..!.- ...L----!...'-+-------------------,1/;:1--

Piguur 1.6.~

IOntvanger timing-signalen, van actieve ontvanger naar 'passieve' ontvanger.

IIIII)

resetreceivererror

eceiverelected

RxDRQ

receivererror

data bytechannel free

aO - - • - - a6""'"---CIU adres---'

data¢--- ~'...-- 0 QI- - 0 Q J QI-r-s

-- LS164 ' tB~t LS74 _ £=Bl>tLS 74 ' +bO~"lLS107clock-- t o QI-I- 0 - 'T K -

ABCOEFGH Clr elrI -,.

$Id7pS.--

Vtf--

,'95- I--- &-- 10'1 byte. Ps--

~, ¢--l~ 374 bO + J Q~I

,91- ~

c 110 ci<I>US107_,I 9'--- r- equal Kct GildO~ OE

. I I IACK 40.

H>-J QI-r-?'

'1- A=B A=BI- bO-PlLS107LS85 LS85 r- K Clr

.~. III }I I1I I

T ,/.

r

RxD

rdatabus

l

Piguur 1.7'\

De ontvanger.I

I I

1.2.2

- S3 -

Realisa'tie van de zender.

De zender moe't berich'ten op de lijn ze't'ten, als daarom

gevraagd word't door zijn C10 (reques't 'to send). Na on'tvangs't

van he't verzoek, wach't de zender op he't vrijkomen van de lijn

(channel free). Als de lijn vrij is gegeven (da'ta7-1) word't a.l8

eers'te he't priori'tei'ts byte (priori'ty by'te) op de lijn geze't.

Zi't de zender nog op de lijn na he't zenden van he't priori'tei'ts

byte, dan had hij blijkbaar de hoogs'te priori'tei't en kan hij

verder gaan me't he't zenden van he't berich't. Als de zender

'tijdens he't zenden van zijn priori'tei'ts byte van de lijn moe't

(omda't een andere zender me't hogere priori'tei't ook op de lijn

wilde), dan gaa't hij weer wach'ten op he't vrijkomen van de lijn.

Er hoef't dan geen (sof't-ware) hers'tel procedure 'te . worden

ges'tar't, wan't de zender on'thoud't he't priori'tei'ts by'te zelf. Da't

cirkel't n.l. rond in zijn schuifregis'ter. "Alleen als- een zender

na he't priori'tei'ts byte van de lijn word't gehaald, moe't de hulp

van sof't-ware worden ingeroepen (via· T-error - 'tranftli't'ter

error) •

Us vanui't de C1U een berich't moe't worden verzonden, dan zal

de procedure als voIgt moe'ten verlopenl

1. Ze't he't berich't k1aar in he't geheugen (eers'te by'te I &dres­

byte I res't I da'ta-bytes).

2 . Maak de . reques't 'to send' 1aag.

3. Rese't de 'tran81lli't'tor error FP (maak rese't hoogl .aak rese't

1aag).

". Geef de DIm.-con'tro11er de benodigde gegevens (begin adres,

1engte berich't).

S. Z8't he't priori'tei'ts byte in he't buffer van de zender.

6. Maak de . reques't 'to send' hoog.

Be't berich't zal daarna zo spoedig moge1ijk op de 1ijn worden

geze't. Als er meerdere berich'ten vers'tuurd moe'ten worden, dan

kunnen die ach'ter elkaar worden geze't (adres, da'ta, priori'ty,

adres, da'ta, .•• , priori'ty, adres, da'ta). Ui'teraard moe't he't

1aa'ts'te bi't van elk berich't . r zijn (d7 van he't 1aa.'ts'te by'te

- 1).

Us de zender he't1~~s't~ by'te -!~_~Et't (laa'ts'te) berich't

heef't verzonden, dan za1 de '1'XD~ ('transmi't'ter DMA reques't)

- 54 -

niet meer worden beantvoord door de DMA-controller ( geen

TxDACJC). Daardoor wordt de "transmitter error" -l'P geset (er

wordt een interrupt gegeven) en gaat de zender van de lijn.

Als het te lang duurt voor een ber1cht op de lijn kan, dan

kan er behoefte bestaan aan het verhogen van de priorite1t van

dat ber1cht. Dat kan met de volgende procedure:

1. Maak de . request to send· laag (- clear de "priority byte

loaded· -l'P ) •

2. Zet het nieuwe pr1or1teits byte in het buffer van de zen­

der.

3. Maak de "request to send" weer hoog.

P1guur I.B"a en b tonen de timing signalen van de zender

voor, tijdens en na het zenden van een bericht. Piguur I.B.c

toont de timing signalen van de zender als een bericht het

eerste "prioriteits gevecht" verliest. In figuur 1.9 1s het

schema van de zender getekend.

tilUI

"TXDR·Q, l.-4 ,.......----1;--...:...-J.. --.L

r'--'--

pr.byteloaded-__-o---;- ---L ...l...- ~r--

load P+S---~---------+l.\_~f_--_-+-.l-L---~~----,----I----'-

datain te rn-------- +_-.L---l_.l...---.l....---l_...l...-.....Lf_..L---.l---'_..L--L..-----l_...L.---'-~=_

requestto send --.l --\_/- +- _

loadbuffe r L--.l-----------\-\--_---L_...L.-----: ---T ~/----'-----

ch~nnel

ifre e -----o-------------\r\----...:..--\----...:....---------L-----t-------:-' .

permissionto send------------------.L--+------I~-----\-----_r_-

Piguur I.8.aI

Zender timing-signalen, van vrije lijn tot actieve zender.

b7,_UL- ~;LJL.- UL...- _

------------""t

data -.L-L+~-l~LL---L-L_lJ.~'t_-------------------

TXDRQ__---4----L..L---.L L-- .......:- ~-------

pr.byteloaded ~~-------------- _

loadP.s --Al-4---+- _

- - - - - - - - - - - - - - - - - - -data r----r-r----r-r---,---.-tT--:- - - - - - - - - - - - - - I : I :

intern_...L~_L-..l_Li---JL-L--l-+..L-.J..--l~~~_~~_..!....-~'---.:~.....:---=-_...:...----=-- _I

requestto send -----------.-.:..-\-9;:--l-------------------­

loadbuffer------fl~---.L _\_~ri_------------------_

ch~nnelfre e ------l------_~--.JLI- _j " ------e-+-----------,permission

to send-__f-_~--------.L--------------------

Piguur I.8.b

Zender timing-signalen, van actiev8 zend~ tot vrije lijri.

"-

clock"-

LJ "- LJ LCb7 U "-

"-

data'"

data "-

intern"-

request "-

to send "- tiloJ

loadbuffer

channelfree ",.

permiissioflto send'

'\,

load p..S'\,

TxDRQ"-

~r. bcftte"-

oa ed "-

Piguur I.8.cI

Zender timing-signalenJ piority-strijd ve~lies en automatische herstart.

f cloCk data J Q ermissi

b7 Jto s nd

Jclock

1101l',.

Piguur 1.9,

De zender.

data

J Q

lLS107K Q

channelfree

I

\IICD

- 59 -

1.3 Naar een nieuwe in~er-CIO link con~roller.

In de vorige paragrafen is een serieele cOlDDlunica~ie

con~roller behandeld, die werk~ me~ een vrij eenvoudig

pro~ocol.

Be~ is jammer, da~ he~ pro~ocol vereis~. da~ de sof~ware he~ ~e

verzenden berich~ eers~ omwerk~ (zoda~ bi~ 7 "0" word~ bij alle

bytes behalve de laa~s~e). Di~ nadeel is on~s~aan, doorda~ de

zender geladen word~ m.e~ woorden van B bi~s. Eigenlijk zouden

we een pro~ocol van negen bi~s wi1len hebben. Be~ negende bi~

kan dan als ~ussen-byte/laa~s~e-byteindica~or worden gebruik~.

Een cOlDDlunica~ie con~roller die m.e~ negen bi~s werk~, is

vrij eenvoudig ~e malten vanui~ he~ huidige circui~.

Aan de clockgenera~orhoef~ nie~s ~e worden veranderd.

In he~ byte-synchronisa~iecircui~ hoef~ al1een de buffer

(7407) van decoder-ui~gang b7 naar ui~gang bB ~e worden geze~.

In de on~v~ger moe~en de clock van de "receiver sel8Cted"-!'P

en de ROR-ingang bij "load byte" van bO a,.aar bB worden geze~.

Er is nu aan de on~vangen bytes nie~ meer ~e zieri, waar 88n

berich~ eindi~. Daarom lij1ct he~ zinvol om een • end of

message"PP ~e se~~en, zodra de "receiver selected"-!'P gecleard

word~ • Deze "end of message" -FP kan dan sen in~errupt

veroorzaken.

In de zender zijn de wijzigingen ingrijpender. Er .ae~

hardware worden ~oegevoegd om ~e zorgen, da~ de zender he~

negende bi~ ·zelf" genereert. A1s de T-error PP word~ ges~uu.rd

me~ bB i.p.v. bO, dan word~ T-error "hoog", zodra he~ laa~8~e

byte is verzonden (de DMA-con~ro11er geef~ geen TxDACIt lleer).

T-error is nu ~e gebruiken aJ.s 9de bi~. "Da~a in~ern" 1K>e~

daartoe ~ijdens be omschaltelen van he~ schuifreqis~er naar

T-error. om ~e zorgen da~ he~ priori~ei~s-bytecorrec~ blijf~,

ondanks een verloren "priori~ei~s gevech~" ~ moe~ da~ byte nu na

negen c10ckpulsen een keer rond zij n gegaan. Daarom word~ bB op

de "clock inhibi~"-ingang van he~ schuifregis~er geze~.

Na~uurlijk is he~ nu nie~ meer mogelijk om meerdere berich~en

ach~er elkaar ~e verzenden zonder hulp van de CPO.

D60rda~ de in~er-CIU cOlDDlunica~ie is. vervallen ( zie

hoofds~uk 5), is deze nieuwe opze~ nie~ verder ui~gewerkt.

Bijlage II .

- 60 -

De line drivers en isolating receivers.

In beide systeem ontwerpen van dit verslag wordt bij de

koppeling van een serieele comm.unicatie controller naar een

transm.issie lijn gebruik gemaakt van "line drivers/isolating

receivers" •

Voor het verzenden van de bits over een transmissie-lijn

kunnen niet direct de uitgangen van de comm.unicatie controller

worden gebruikt. De kanaal i.mpedantie is daarvoor te laag. De

signal.en aan het eind van de lijn zijn ook niet direkt te

gebruiken als ingangs signaal voor de communicatie controller.

om problemen met aardlussen te voorkomen, wordt aan de

ontvangstkant gebruik gemaakt van opto-couplers.

De zend signalen worden op twee draden gezet. De systeem

aarde hoeft daarbij niet met de transmissie-lijn te worden

verbonden. De twee dra.den komen in de ontvanger binnen op twee

opto-couplers. Daarolll hoeft de kabel ook &an de ontvanger kant

niet aan een systeem aarde. De transmissie-lijn kan dus

volkomen onafhankelijk worden geaard (zie figuur II ".1. ) •

trans­

mitter

,\.

Piguur IL1.

Aarding van de transmissie-lijn.

re­cei-

ver

Elke transm.issie-lijn heeft een beperkte bandbreedte.

Wil:len we die zoveel lIlOgelijk benutten. dan kan het clock

signaal niet direkt worden gebruikt (het clock signaal verei8t

een tweemaal zo hoge bandbreedte al.s het data. signaal). Daarom

is· voor codering gekozen (zie Iit • 3 hfd. 3-. 2 ). .

In figuur II.2.a is het toestandsdiagram van de code

getekend. Piguur II .2 .0))- -toOnt de --i1fnstroom bij gegeven

datastroom.

- 61 -

De volgende paragrafen behandelen een ontwerp voor de line

drivers en voor de isolating receivers. Deze ontwerpen zijn

gerealiseerd en blijken geed te voldoen bij 1 MBaud

c01llllWnicatie. De vereiste/geleverde data en clock eignalen

vQldoen aan de gegevens/eisen van de in het verslag toegepaste

MPSC (8274, zie lit.6). Voor de 10 MBaud-link in de Da'ta

Communication Controller van hoofdstuk 3 is een ander ontwerp

nodig, tenzij alleen zeer korte afstanden hoeven te worden

overbrugd.

data ilJ"- ..L-__......O.

clock

Piguur 11.2

a. Toestandediagram van de code (L-llnks, R-rechts, D-dood).

b. De lijnetromen bij gegeven dataetroom.

II .1. De line drivers.

Bet data en clock eignau van de eerieele cOlllDunicatie

controller ('1'zD en '.l'xC) moeten worden gecodeerd volgene de code

van figuur II.2.a. Daartoe moeten de uitgangen van de line

drivere ( R en L ) voldoen aan hun Jearnaugh diagraJlllll8n ( zie

figuur 11.3). Als R hoog is, dan is L ~aag en loopt de stroom

door de tran81lliesielijn rechtsom (zie figuur II.2.b). Ale L

hoog is "en R laag, dan loopt de stroom··linksOlD.. Als R en L

beiden l&&g zijn, dan loopt er g~en stroom ("D", zie figuur-,_._"-

II.2.a).

R

L

0 0 1 1

0 X X 0

datadiagram veer R.

- 62 -

.R

L

1 0 0 0

1 X X 0

datadiagram veer L.

Piguur II.3

Itarnaugh diagr....n voor de line drivers R en L.

In figuur II. 4 is het codeer circuit met de beide line

driven ge1:ekent. Voor het sturen van de cOlllllUnicatie 1ijnen

zijn 50/75 Ohlll line drivers (74128) toegepast. Deze line. - -'-

drivers vo1doen.... goed bij 1 MBaud cOlllDUnicatie over 50 l118'ter

kabe1 ( gebruiJcte kabe11 ~lden 8777) • WOrdt de Jcabe~lengte

vergroot (tat b. v . 150 meter), dan b1ijkt het signaal aan de. .

ui1:gang van de kabe1 te klein te worden OBI de opto-coup1ers van

de ontvanger aan te sturen.. Bij gratere afstanden .cet daaroa

de baudrate OBllaag, of de .line driver outputspanning OIahoog

(b.v. door MOS-drivers toe te passen).

- - - -TxD ~ data J .Q RI

~ L5107I Iserial 'f K Q 128

I 1communication1 I linecontroller

J Q I

-I clock+ L5107 LITxC

I .,K Q I

- - - 128

Piguur n.4

Set circuit van de line drivers-.

-- -- - - _.-----

- 63 -

11.2 De isolating receivers.

Oit het signaa1 op de kabel 1lI08t het data en het clock

signaa1 (1bD en RxC) voor de BeriHle cOllllUUnicatie controller

worden hervonnen. AlB ingangscircuit zijn twee Bnelle

opto-couplerB ( 6Hli7 ) toegepast. Deze zorgen voor de

galvaniBche Bcheiding' tU8Ben kabel en ontvanger.

De data op de kabel wordt gecodeerd verondenteld volgeM

de code van ~iguur II. 2a. Als de BtrooJa rechtBOIIl loopt o~ a.l8

laatBte rechtsom liep, dan iB data . r. AlB de BtrOOll link8011.

loopt o~ alB laatste link8011l liep, dan iB data ·0·.

Bet verkrijgen van een :betrouwbaar clock Bigna.al iB

lastiger. Er moet een clockpulB kOlll8n (JDiMtens leons breech

zie lit.6, blz 32) bij elke overgang van het ontvangen

ingang88ignaal. Een ove1;gang van ·R· naar ·L· wordt (door de

beperkte bandbreedte van de kabel) &an de -ontvangstkant gezien

als een overgang van OR· naar ·D·, gevolgd door een overgang van

° D· naa.r . L· (zie ~iguur 11.6). Bet clock herwinnings c~rcuit

III08t ervoor zorgen, dat zoo n trage ·Il· naar ·L· overgang toch

maar &en enkele clockpuls oplevert. Zen korte . D· periode 11&9

dUB geen clockpuls veroorzaken, terwijl een lange ·D" dat wel

IIIOet doen. Bet schelM. van ~iguur 11.5 toont een isolating

receiver circuit, dat uit het lijn signaal, het gewen8te clock

en data Bignaa.l herleidt.

clock lfiCII serial

tcOtrItrICI·lnic.tion

I con-I troller

- Il:>-:'-:-~ RX0

L586

+5

1Ie

~ 0 QR

0 Q 0

6N137 LS174

6MHz

L0 Q 0 QQ

line

Piguur 11.5

Bet circuit van de i80lating receivers.

'/ \ / \ / \ I \ / \Jline] \ I \ 7 \ I \ 7 l

-I-R-f-L-f-R-t--O-+-R-t--L-+-O-f-L-f-R-+-O--+-L--+-O-f-R-t-

iR -.J I I I L I

I GlI •i L ] I 0 I [ I

I R[

I "

Le

data-.J I I, l--

I

I ,

Piguur 11.6 I

Timing-signalen van de ~801ating reoeiver8.

- 65 -

Bij i:oepassing van een lagere baudrai:e (i. v.m. hei:

overbruggen van &en groi:ere afst:and) moet. de clock frequeni:ie

van de D-FP" s mee oll1aag, wani: verlenging van de kabel vergrooi:

de (onbedoelde) "D" periode i:uBBen &en overqanq van "~" naar

. L" en omgekeerd. De kabeldemping neeJIt naaelijk i:oe, zodai: hei:

langer duurt voor hei: Bignaal &an de oni:vanqsi:kani: hei:

drempelniveau van de opto-coupler overschrijdi:.

- 66 -

Bijlage III. De Matrix Communication Controller.

In de CCO· B (zie hfd. 7) wordt gebruik gemaakt van een llatrix

driver/receiver. Deze bijlage behandelt een ontwerp voor zo·n

matrix driver/receiver (zie fig.III.1).

De ontworpen Matrix COllllllunication Controller (IICC) kan op

een normale Dlicro-proces8omWl. worden aangesloten en zorgt voor

de verbinding tus8en een BDLC-controller en een 16 kanaaJ.s

matrix. Voor de BOLe is hierbij gedacht aan de 8274 (&en 1 II

baud MPSC van Intel). De geleverde resp. verei8te Tldl, TiC, RxD

en RxC signa.l.en sluiten aan bij de ei8en re8p. gegevens van die

HOLe.

Er is &en gemeenschappelijk clock signaal nodig. Biertoe

wordt hetzelfde 8chema gebruikt a.l.s in bijlage I (zie fig.I.4).

TxO TxC

matrix

kolom

lijnen

clock generator

flag generator

- -,- - - --I

transmitter I demux' lI I I.I synCh.logic I data sel. :I '- - - - - - - _, - - - - _Ibus

inter­face

logic

-----,II1,I

I

I

I IIL _

. Figuur 111.1

De Matrix Communication Controller.

111.1

- 67 -

De flag-generator.

De BOLe-receiver verwacht, zolang er geen bericht op z~jn

lijn staat. continu "flags" (01111110) aan te treffen op zijn

lijn. Daaroa is een flaggenerator toegepast. die automatisch

flags op de ontvangerlijn zet. tenzij een zender een bericht op

die lijn zet. Dankzij het BOLe-protocol veten WI. dat tijdens

een bericht. ten hooqste vijf ~ een "1" op de 1ijn staat

(daarna wordt automatisch een "0" tussen gevoegd). Ra een

opeenvolging van zes "enen" mag worden aangenomen. dat de lljn

niet wordt gebruikt door een zender en zet de flaggenerator

a1tijd tvee "nullen" op de lijn (zodat er "flags" ontstaan). De

enige complicatie die deze methode veroorzaaltt. is dat het

eerste bit van het eerste byte van een bericht a1tijd een "nul"

JDOet zijn. zou dat een "1" zijn. dan veroorzaakt de tweede "nul"

van de flaggenerator een 'l'-error. Deze cOlllplicatie kan het best

in de soft-vare vorden opgelost (b.v.: eerste byte - verzend

adAs < 128 ).

PiguurIII.2 toont een flaggenerator circuit (JDet de

bijbehorende timing signalen). dat aan de gest.lde eisen

voldoet.

De ROR-poort JDOet een open-collector uitgang bezitten •

..line---r-----""'--<Q+

'J---------,

o

'-------'---clock

line..J -...JLI ....L...._---JD-.C:=

count I 2 I 3 I 4 I 5 I 6 I 7 I 2 I 3 I 4 .I 5 I 6 I 7 I 8 I 2 I 2 I 3 I 2 I 3 [

•Q,+Q2t... --=-- l...-_--I. _

Pigu~ II~ .2De flaggenerator.

III.2

- 68 -

De 'transmi't'ter synchronisa'tie.

Be't 'te verzenden berich't is bes'teDld voor een bepaalde ceo.Daar elke ceo een eigen on'tvanger-lijn heef't, moe't de zender op

die bepaa].de lijn worden geze't. Da't gebeurt m.b.v. een

(open-eollec'tor) demul'tiplexer (74159) en twee da'ta selectors

(74oLS 251), die worden ges'tuurd door een (vier bi'ts) adres

regis'ter (74LS175).

De zender mag pas op de gewens'te lijn gaan zenden, ala die

lijn vrij is. Da't laa'ts'te is he't geval, als er "flags" op de

lijn s'taan. De zender JDag ech'ter nie't op een willekeurig .-en't

op een vrije lijn gaan zenden. Om ervoor 'te zorgen da't de

on'tvanger he't berich't correct; binnen krijgt, moe't de zender

zich synchroniseren me't de on'tvanger. Da't gebeurt door de

zender 'te blokkeren (TxC blijft: "0") na de "0" die volgt op de. -.-

"enen" van een flag (op de TxD-lijn). Als de zender een berich't

heef't (request 'to send - "1" ), dan word't hij op de lijn gelaten

(permission 'to send - "1") 'tijdens de eers'te "0" van een flag

op die lijn (dus als LP laag word't). De zender ze't dan (via de

demul'tiplexer) he't berich't op de lijn en con'troleert (via zijn

da'ta-selec'tors) of he't berich't nie't word't venlinkt. Ha het: eind

van he't berich't gu't de zender weer van de lijn. Als zijn

berich't word't venlink't (doorda't een andere zender oak op die

. lij n is gun zenden), dan gu't de zender direk't van de l1jn

(T-error).

op Il&'trix-adres "0" zijn de "ou't" en de "in" op t:wee aparte

aanslui'tpennen geze't. Bierdoor is. een ui1:breiding van bet;

aan'tal ma'trix lijnen 1III0gelijk. Er zijn slech'ts ext:ra

demul'tiplexers, da'ta selec'tors en adres la'tches nodig.

Piguur 111.3 'toon't he't schema van he't 'trannd't'ter

synchronisa'tie circui't . Piguur 111.4 'toon't de bijbehorende

'timing signalen.

- 69 -

TxD

reset If

clock

LS164t

y

. '( I-+--+-+-+-+-......._--r-!line

;LS251 ~C1-+-+..,o

perm. to senddf

J Qpermission

K Q ~LS107to send• LS107 K CLR

..J CLR 0-

J

If

reset

159 T·errtil,.A8C ree.

if0 conn.

Piguur III.3.~"'--'-- -

Bet transmitter synchronisatie--clrcuit.

. clock

1"iC ------l0llDl .JlJJlDllllDlLDlL_

line lJL....- --L ~ ;J;LJL....- --'-__----'IT

..,oI

M-IL-- ---l-- _

d f'

Tx 0 ----l~

IT

perm.to send

request - - - - - - ­to send -------------+f...L..l4------

t:JlD

tt"t-lPI::sIIIa....tt" I'Ijtt" ....lD

~t-l~

1lI t-l

~ Hg. 1-:1H

t-l .0 oil-::s....1lI

~....lD

tt"

E:::sIl:l

III....Il:l::s......lD::s.

III.3

- 71 -

De bus interface logic.

De bus interface logic is ontworpen om de llatrix

cOllllllunicatie controller (MCC) direJet aan te kunnen sluiten op

een norma1e micro-processor bus. De MCC is daarOll voorzien van

CS, WR en RD aansluitingen en beeft een read en een write

register.

De registers bestaan uit de volgende bits.

WIU'l'E register,

Matrix zend-adres

Hew adres

Request to send

Reset data-flag

'----------------- Reset transBLitter error

READ register,

Matrix zend-adres

Receiver connectedRequest to send or

permission to send

Data-flag

-Transmitter error

- 72 -

q'-~ 0 Q I-----+-...J--+--req.to sendr-~ t L574 -perm.to send

mQIo- ?

dO 0-~-----'-+-+--+--l01 Q1 10-

d, 0] 0l r---d2 OJ OJ 1----'

d 3 Ot 373 Q~ !------'d4 0$ Q$I-----+----rec.conn.d5~ 0, Q, !-----+-......,dS 01 Ql 1-----+--+-- d fd7-. ~ "Ef. -T-error

I I

-+J-t-+-l L..-----i--I\\ L __i~-r::r- reset If

Piguur III. 5

De bu~ in~erface logic.

Piguur III.S ~oon~ he~ schema van de bus in~erface van de

HCC.

De IICC moet: worden geini~ialiseerd nada~ de serial

COIIIaunica~ion con~roller (HPBC) i8 geini~ialiseerd. Ter

ini~iali8a~ie moe~ he~ volgende byt:e in het: wri~e regis~er

worden geschreven l 1. 1. 0 x x x x x. Bie~e word~ een even~uele

~ransai.~~er error gereset:, de MCC gesynchrordseerd op de IIPSC

en een even~uele "reques~ ~o send" inge~rokken. De MCC 8~aa~ nu

klaar voor gebruik.

Ala een berich~ 1808~ worden verzonden over een bepaalde

lijn, d.an worden eers~ de DHA-con~roller en de IIPSC geree4

gema.ak~. Daarna kan he~ geven.~e zend &dres worden ge.electeerd

en de "reques~ ~o send' _worden gegevJ!ln_!:toor in he~ write regis-

-po 73 -

~er ~e schrijven: 001 1 AJAzA,Ao • De MCC zal daarna he~

berich~ op de gewens~e lijn ze~~en, zodra deze lijn vrij blijkt:

~e zijn.

Be~ veranderen van he~ zend adres mag alleen plaa~s vinden

als er op da~ momen~ geen . reques~ to send' of . permission ~o

send' is. De bus in~erface logic. zo~ ervoor da~ he~ alleen dan

zal gebeuren.

De MCC is eenvoudig m.b.v. een ULA (OncolllDl:i~~ed Logic Array)

~e realiseren (me~ ui~zondering van de clock genera~or?).

Dankzij deze ~echniek hoef~ de MCC 81ech~s weinig

prin~-oppervlak~e~e kos~en.

Bijlage IV.

74 -

De clock sign&1en.

De eisen, die de CPU (8088), de ~-controller (8237-2) en

de HPSC (8274) stellen aan hun clock sign&1en, z1.Jn zeer

verschillend. In de volgende tabel zijn de gegevens van het

CLlt-signa.a.l van de clockgenerator ( 9294) genoteerd Ilet

daaronder de eisen van boveng.noemde IC"s.

8284

Clock Period

II1n Max

125

Clock low time

Kin Max

2/3TCLCL-15

Clock high t1llle

Hin Max

1/3'l'CLCL+2 ns

8089

9237-2

200 2000 2/3'l'CLCL-15

70

1/3'l'CLCL+2

120

ns

ns

8274 250 4000 105 2000 105 2000 ns

'l'abel IV.l

Clock signaal geg.v.ns en eisen.

Omd..t er twee duplex 1Mbaud verb1ndingen -.oaten worden

ondersteund, lijkt een 4 HIlz klok aan te bevelen. C. dan &an de

in tabel IV.l weergegeven eisen te voldoen, lean het circuit van

f1guur IV.l worden toegepast.

bentueel kunnen de CPU en de DIG.~ontroller nog 1ets worden

versneld, door een 5 HIlz klok toe te passen. Daart:oe volst....t

een 15 MHz kr1stal aan de clockgener~tor ( 8284) met een

inv.rsie van het CLlt-s1gna.a.l voor de OMA-controller. Bet

clocksignaal voor de HPSC kan dan worden gere..liseerd met een

..parte clockgenerator of door een vierdeler achter het 15 HIlz

OSC-signaal van de clockgenerator te zetten. De clockfrequentie

van de MPSC wordt 1n dat l ....tst. geval 3,75 MHz.

- 75 -

8088 8237-2 8274

Cl Kf--..-l----\X1 Vee

=r==:J-IJ Q

.---~.~ 74LS107I-:- O_s-lc r.-------+---l K Cl R

OSC

ClK

Q

I'iguur IV.l.4 MHz Clock generatie circuit en signalen.

- 76 -

Conclusies en aanbevelingen.

De twee in dit verslag behandelde ontwerpen voor gedistri­

bueerde computer systemen, vertegenwoordigen twee uitersten.

Bet ontwerp van de eerste vier hoofdstukken belooft zeer hoge

prestaties, maar vereist erg veel hardware. Vandaar dat ik het

tweede ontwerp veel levensvatbaarder acht. Ratuurlijle lean oolc

een opzet met een da1:a-matrix en een couaand-bus in de centrale

wqrden overwogen (evenals een aantal andere tussen

oplossingen). De daarbij te verlcrijgen (tempo) winst zal

waarschijnlijk niet opwegen tegen de extra (hardware) leosten.

Bij de verdere ontwikkeling van het systeem meet aljns in­

ziens worden uitgegaan van het ontwerp, zous dat in de laatste

hoofdstukken is behandeld. De volgende punten leunnen daarbij

worden onderscheidenl

1. Realisatie van de CCO"s.

2. Ontwerp van enkele device link controllers.

3. balisatie van de tJDC" s.

4. SOftware van de CCU"s.

5. Software van de tJDC"s.

Bet ontwerpen van de grote lijnen in de software lean plaats

vinden zonder de aanwezigheid van CCO" 8 en UOC" s. Bet verder

uitwerken en testen van de software vereist de aanwezigheid van

enkele ceo"s en tJDC"s. Stmulatie van het systeem lean nuttige

resultaten opleveren t. a.v. bezettingsgraden en maximum through

put, maar zal ve~delijle behoorlijle complex zijri.

- 77 -

Slotwoord.

Tot slot "il ik allen hedanlten, die mij tijdens mjn afstu­

deerwerk met raad en daad hebben bijgestaan. In het bijzonder

betreft d1t ir.P.v.d.Eijnden en ir.M.Stevens en mijn coaches

1r . B. Dortmans en ir •J . Kemper • Bun koaunentaar en opmerkingen

hebben de voortgang van mijn afstudeerwerk in hoge aate

beinvloed.

Eindhoven, mei 1982.

E.Wormmeester.

eec

ceoCIU

CP

CPU

caeDAClt

DCC

DeCC

DeLe

DIU

DItA

OROPI1'Gpp

BOLe

IC

ICee

lOP

MCC

)lpSC

PROM

RAM

'l"l'L

UDC

tJLA

- 78 -

verklaring van de. gebruikte a.£kortingen I

Command Communication controller

Communication Centre Gnit.

Command Interface Gnit.

Co-,and Processor.

Central Processor Gnit.

Cyclic Redundancy Check.

DMA Acknowledge.

Data CoDDunication Controller.

Device Communication Controller.

Device Link Controller.

Data Interface Unit.

Direct Memory Access.

DItA Request.

Pully Independent Punctional Unit.

'Plip Plop.

High level Data Link Controller.

Integrated Circuit.

Inter-cIU Communication Controller.

I/o-processor.

Matrix Communication Controller.

Multi Protocol Serial Controller.

ProgrUllllahle Read only MeRaory.

Random. Access He.ary.

Transistor Transistor Logic.

Universal Device Controller.

Uncommitted Logic Array.

- 79 -

Literatuur.

(1) Baendel, P.A.C.van, Non-blocking interne communicatiecen­

trale voor een processorsysteem. Afstudeerverslag, nr ECB

626, THE-EB, 1975.

(2) Belvoort, A.G.M.van; Input-output communicatie systeem voor

een processorsysteem. Afstudeerverslag, nr ECB 655, THE-EB,

1976.

(3) Engbersen, A.P.J.; antwerp van een non-blocking communica­

tie netwerk voor een processorsysteem. Afstudeerverslag, nr

ECB 720, THE-EB, 1978.

-(4) Eijnden, P.M.C.M.van den, Jobhandling in een netwerk van

gedistribueerde processoren. Afstudeerverslag, nr ECB 838,

THE-EB, 1981.

(5) Intel, The 8086 Family User"s Manuel. october 1979, nr

9800722-03, Intel Corporation 1978,1979.

(6) Intel, 8274 Multi-Protocol Serial Controller (MPSC). preli­

minary report, nr APN-01701B, Intel Corporation 1980.

( 7) Texas Instruments Incorporated, The TTL Data Book for De­

sign Engineers, Second Edition, Texas Instruments Incorpo­

rated 1976. '\.