128
Eindhoven University of Technology MASTER Microprocessor in de meettechniek Verberne, P.M.J. Award date: 1979 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

Eindhoven University of Technology MASTER Microprocessor ... · de besturing voor het uitvoeren van instructies op de juiste manier en in de juiste volgorde, door de juiste stuursignalen

  • Upload
    lamtruc

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Eindhoven University of Technology

MASTER

Microprocessor in de meettechniek

Verberne, P.M.J.

Award date:1979

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

AFDELnm DER ELEKTROTECHNIEK

TECBNISCHE EOGESCnOOL

EINDHOVEN

Vakgroep Heten en Regelen

MICROPROCESSOR

ftlY!}

IN DE NZETTECHNIEK

door P .M.J. Verb<erne

Rapport van het afstudeerwerk (orienteringsfase)uitgevoerd van maart 1978 tot juli 1978in opdracht van prof.dr.C.E.Huldersonder leiding van ir.R.G. van Vliet

- 2 -

Samenvatting

Nadat in dit rapport een toelichting gegeven is over een microcomputer­

systeem, worden een aantal bouwstenen besproken waarbij de voornaamste

de microprocessor zal zijn.

Verder worden toepassingsmogelijkheden van de microprocessor besproken,

waarbij ook aandacht geschonken is aan het werkgelegenheidsaspect.

De microprocessor blijkt veel perspectief te bieden voor toepassing in de

meettechniek.

Tot slot is met behulp van selectiecriteria een voorstel gedaan tot aanschaf

van het microcomputer-systeem PET 2001 met verder nog enkele aanbevelingen

voor training in dit onderdeel der elektronica.

Microprocessor in measurement

Summary

After an explanation about a microcomputer-system some microelectronical

chips have been discussed.

Also a review ,was given about applications with special attention for

measurement and cunse~uences for employment.

The microprocessor appeared to be perspective for measurement.

In conclusion a proposal has been made for purchase of the microcomputer-system

PET 2001, and some references for retraining were given.

- 3 -

Inhoudsopgave

bladzijde:46

1416

22

2526

271 definities van microprocessor2 overzicht toepassingsmogelijkheden

woordenlijstfeature sheets PET 2001

Aanhangse1:

Inleiding

1. Hicroprocessors

1.1 Definitie1.2 Opbouw van een systeem1. 3 Bouwstenen

2. De sociale aspecten

3. Toepassingen

4. De selectie

5. Opleiding

Conclusie

Literatuurlijst

Bijlagen:

- 4 -

Inleiding

Sinds 1970 heeft de elektronica een nieuwe bouwsteen: de microprocessor.

Ontwerpers bekijken altijd of de ontwikkeling van een nieuwe technologie

veel voordeel op zal leveren en er een standaard product voor de industrie

uit kan ontstaan.

Mogelijkheden en voordelen van de microprocessor zijn uitgebreid geanalyseerd

en sinds de introductie is algemeen geaccepteerd dat de microprocessor een

stabiel onderdeel vormt in de bouwstenen-markt van de elektronica.

Het is niet juist voor de microprocessor dezelfde houding aan te nemen als

voor de computer. De computer is een dure machine waarvan de werktijd wordt

gemaximaliseerd en die voor vele taken wordt gebruikt. De microprocessor is

een relatief goedkoop massaproduct. Wij dienen hem te beschouwen als een

bouwsteen, zoals bijvoorbeeld een operationele versterker I.C. dat is.

Microprocessors bieden een uitstekende gelegenheid tot gedecentraliseerde

informatieverwerking. De microprocessor wordt bij de databron geinstalleerd

en neemt daar de databewaking, verzameling en verwerking over. Op deze wijze

kunnen intelligente meetapparaten en dataterminals werk verrichten. In toe­

nemende mate worden meetapparaten met microprocessors uitgerust, zoals bij­

voorbeeld: multimeters, tellers en frekwentieanalysators. De microprocessor

neemt een aantal taken op zich, zoals bijvoorbeeld: het berekenen van meet­

resultaten, uitvoeren' van correcties en normeringen, de organisatie van ge­

compliceerde meetprocedures.

De geestdrift, die de microprocessor oproept, moet gerelativeerd worden

omdat de software niet eenvoudig op te lossen problemen kan geven.

Op tentoonstellingen ( Het Instrument, Interkama ) en door indrukken uit vak­

bladen is bij mij de gedachte gegroeid, dat de microprocessor voor de meet­

techniek een belangrijke ontwikkeling vormt en omdat in de vakgroep Meten

en Regelen die gedachten ook leven, heeft dat geresulteerd in mijn afstudeer­

opdracht. Die opdracht heeft tot doel een microprocessor te gebruiken voor

een meettechnisch probleem.

- 5 -

Dit verslag is gebaseerd op de orienteringsfase van mijn opdracht.

De uitvoeringsfase zal in een tweede verslag aan de orde komen.

Omdat de aanwezige kennis,bij mijzelf en in de groep~iet voldoende was om

direkt tot aanschaf van een microcomputersysteem over te gaan, is allereerst

een voorstudie verricht. Deze omvatte o.m. een cursus over microprocessors.

Een groot aantal personen llit de groep Meten heeft kennis gemaakt met de

microprocessor door middel van een prakticum, dat een onderdeel is vap het

onderNijsprogramma voor E-studenten.

Na verdere studie en peiling der behoeften voor toepassingen in de groep

is een voorstel gedaan tot aanschaf van een micro~omputer-sYflteem

Na het beeindigen van mijn opdracht biedt het systeem de mogelijkheid tot

algemeen gebruik en verdere afstudeeropdrachten in de groep Meten.

- 6 -

1. Microprocessors

Omdat mijn afstudeerwerk niet het onderzoek aan rnaa.' het gebruik van een

microprocessor tot doel heeft, zal ik de microprocessor niet diepgaand

bespreken. Hiervoor wil ik verwijzen naar de desbetreffende literatuur.

1.1 Definitie

Het lijkt zinvol wat langer stil te blijven staan bij het definieren van

het fenomeen microprocessor, omdat het een met veel vaagheden omgeven bouw­

steen is die ook weI onbegrip ontrnoet.

Microprocessorszijn in 1910 ontstaan en sindsdien zijn ze op een explosieve

wijze uitgebreid zowel in aantal als in verscheidenheid en prestatie.

Mede daarom zijn definities over de microprocessor vaag en niet eensluidend.

Dat ligt ook aan het feit dat microprocessors niet wezenlijk verschillen

van andere digitale circuits. Bij microprocessors wordt struct~reel en

functioneel de nadruk gelegd op ontwerp en doel van het circuit.Een aantal grepen uit gegeven definities ( lit.l ) leveren bij voorbeeld op:

WILLIMAN ( Rockwell International ) definieert een microprocessor op basis

van complexiteit of op basis van functionele eigenschappen ( zie bijlage 1 ).

THff&gWIT ( Signetics Coporation ) neemt een ander uitgangspunt voor een

definitie: de microprocessor is een vervangingsbouwsteen van basis-schake­

lingen, die opgebouwd zijn met discrete logica en waarbij hardware wordt

vervangen door een combinatie van hardware en software.

BLOMh~R-BARTENSTEIN ( Siemens ) definieert de microprocessor als de C.P.U.

van een microcomputer. Hij verlegt daarmede het discussiepunt. Prestatie­

vermogen en snelheid rnoeten volgens hem niet als criterium gebruikt worden,

omdat ze afhankelijk zijn van de halfgeleider technologie ( lit.2 ).

Punt van discussie is ook de vraag waar de grens ligt tussen micro- en mini­

computers.

BUNCE ( Memory Devices Ltd. ) beschouwt het meer als een verkoopargument

dan als een elektronica vraagstuk. Volgens hem ( lit.l ) geeft de wijze van

gebruik het verschil aan:

minicomputer: veel gebruikers, die een groot geheugen nodig hebben

microcomputer: voor een speciaal doel, klein geheugen is voldoende.

- 7 -

Dat het niet eenvoudig is om een grens aan te duiden, moge ook blijken uit

een conclusie van BLOMEYER-BARTENSTZIN ( lit.2 ) , die zegt dat een 16 bit

microcomputer altijd een minicomputer is. Hij heeft daarbij de volgende

definities gebruikt:

- een microcomputer is een computer, die een microprocessor als C.P.U. heeft,

voornamelijk uit LSI-bouwstenen opgebouwd is en verder

weinig halfgeleider bouwstenen nodig heeft

- een minicomputer is een computer, die i.h.a. een 16 bit woordlengte heeft,

16 bit-architectuur in registers,geheugen en busbar, en

deze 16 bit parallel verwerkt.

Bovengenoemde stellingnamen spelen bij de keuze van een microprocessor

hun role

Vast staat dat de microprocessor in zijn basl~~Q~_ niet alleen te gebruiken

is.

1.2 Opbouw van een systeem

Deze paragraaf is gebaseerd op de beschrijving van een microcomputer­

systeem door BLOMET£R-BARTENSTEIN ( lit.2 ).

In het algemeen is een systeem een gestructureerd geheel dat aan een in­

gangspoort informat~e opneemt en daarop bep aalde acties onderneemt en

het resultaat aan een uitgangspoort weergeeft. Bij een computer-systeem

kunnen wij twee basis elementen onderscheiden: hardware en software.

De hardware is samengesteld uit computer en periferie. De software is te

verde len in systeem- en werkprogramma's.

De computer kunnen wij opgebouwd denken uit: centrale processor ( CPU ),

geheugen en in- en uitvoerorgaan ( I/O module ).

In fig.l.2.-1 is de opbouw van het systeem schematisch weergegeven.

Een microcomputer-systeem heeft in principe dezelfde opbouw. Zie fig.l.2.-2.

Toch kunnen wij hier enkele bijzonderheden onderscheiden: het busbar-systeem

en de geheugenblokken.

STEVENS ( lit.3 ) beschrijft het busbar-systeem als volgt: het is een aan­

tal bidirectionele paralelle geleiders, die alle eenheden met elkaar door­

verbinden. Ret is opgebouwd uit:

Data bus: datatransport van en naar CPU en andere units

Adres bus: voor geheugen- en I/O selectieadressen

Control en timing bus: pad voor besturingssignalen.

- 8 -

In gedetailleerde schema's worden de drie genoemde bussen afzonderlijk

getekend. In een microcomputer schema staat soms nog een module opgetekend.

Dat blok representeert dan extra logica, bij voorbeeld: interrupt- en

prioriteitsschakelingen, periferie controle logica enz.

De centrale processor eenheid ( CPU ) is een microprocessor. In grote lijnen

is de werking van aIle typen microcomputers gelijk.

COMP TER

systeem prog r•

• l- i- -

( pu geheugen r----- -werk progr.

I ISOFTWARE

if Q - module

\

J

IN ~ PERIFfRI E UIT ...,

fig. 1.2.-1 Opbouw computer-systeem

Bij een computer worden de werkprogramma's telkens gelezen en in het geheu­

gen geplaatst. In het geheugen worden verder tussentijds resultaten van

berekeningen of metingen bewaard.

Bij de microcomputer zal het werkprogramma meestal al gelezen z~Jn ( ROM ­

geheugen ). Ret andere geheuge~blok is beschrijfbaar voor dataopslag ( RAM­

geheugen ).

Ret' in- en uitvoer orgaan zorgt voor de communicatie van CPU met periferie.

De CPU heeft vele taken. In een volgende paragraaf komt hij aan de orde.

I

- 9 -

I( pu rom'

- . ..

ram

bu s

i/o

H!CROCOMPUTER

(

N ..... UlT ~

PER1FERIE .

fig. 1.2.-2 -Opbouw microcomputer-systeem

- 10 -

1.3 Bouwstenen

.Aansluitend op een bespreking van een microprocessor zullen, in het kort,

een aantal bouwstenen zoals geheugens en I/O -modules toegelicht worden.

De theorie voor deze paragraaf is ontleend aan STEVENS ( lit.3 ) en aan

VAN SPRONSEN ( lit.4 ).

1.3.1 De microprocessor

De elementaire functies die de processor moet realiseren, zijn:

de besturing voor het uitvoeren van instructies op de juiste manier en in

de juiste volgorde, door de juiste stuursignalen naar de andere modules te

zenden en het datatransport tussen de eenheden te verzorgen

- de realisatie van de opgedragen rekenkundige, logische en andere bewerkingen

van en op de data

- de verzorging van de totale systeembesturing.

Fig.l.3.-l toont de schematische opbouw van een microprocessor.

Wij kunnen de volgen4e blokken onderscheiden:

- timing en control: dit blok zorgt voor interne en externe besturingssignalenj

het is een gedistribucerde hoeveelheid besturingslogica.

- programmateller en address stack: daar worden adressen bijgehouden van uit

te voeren instructie, eventueel van terugkeeradres bij subroutine.

- instructie register en instructie decoder: uit het geheugen opgehaalde

instructies worden opgeslagen en gedecodeerd. Hieruit worden stuursignalen

afgeleid.

- ALU, hulpregisters, -conditie-flipflops, accumulator: zorgen voor reken­

kundige en logische bewerkingen en voor datamanipulaties.

- adresregister: opslag van het adres van een geheugenplaats bij read/write

of van het adres van een r/O-poort bij in/out.

- buffer: dient voor synchronisatie en aanpassing van de processor aan

externe circuits.

- general purpose registers: o.m. te gebruiken als werkruimte voor de ALU

- 11 -

«

~~

~

LH

A

ED

8(

>t

ALU

1 ~ I b I

IR

TD

UJtil0 r- UJr- oe:<: ......~

~~ZUJ

~0

o-~~

<:

•1\ ~

A I R<Ii

,

~'---

'--

TI MING I CONTROL Ifig.l.3.-l Blokdiagram van een microprocessor

Betekenis van de gebruikte afkortingen in fig.l.3.-l:

AR :adresregister

IR :instructie register

a en b:hulpregisters

A :accumulator

PC :programmateller

. BUF

ID

PSCZ

Bt/mL

: buffer

:instructie decoder

:conditie-flipflops

:general purpose registers

- 12 -

Een elementaire handeling van de CPU is het afhandelen van een instructie.

De CPU heeft voor elke instructie een machinecyclus nodig. De machinecyclus

bestaat uit twee delen: instruction fetch en instruction execution.

Bij de instruction cycle vinden achtereenvolgens een aantal handelingen

plaats:

- programmateller wijst geheugenadres aan

informatie op die geheugenplaats wordt in het instructieregister geplaatst

- programmateller wordt met een verhoogd

Vervolgens wordt de execution cycle~ uitgevoerd:

- decoder interpreteert de inhoud van het instructieregister: adres van de

operand en het soort van operatie

- afhankelijk van het soort operatie, bijvoorbeeld een databewerkingsop­

dracht tussen geheugen en accumulator: operand wordt uit geheugen opge­

haald en in een hulpregister van de ALU geplaatst

- de gewenste actie wordt ondernomen aan de hand van de operatiecode.

Na deze machinecyclus kan weer een volgende instructie afgehandeld worden.

1.,.2 Geheugenbouwstenen

In het algemeen kunnen geheugenbouwstenen verdeeld worden in twee hoofdklas­

sen: "dode geheugens" en "beschrijfbare geheugens".oil u

Binnen de klasse van dode geheugens zijn drie soorten te onderscheiden:

- ROM ( Read Only Hemory ): informatie wordt bij fabricage vastgelegd

- PROM ( Programmable ROM): informatie is eenmaal in te programmeren

- EPROM ( Erasable PROM): met UV-licht is het mogelijk informatie te wissen

en kan enkele malen opnieuw geprogrammeerd worden.

Deze geheugens worden gebruikt voor opslag van vaste programma's of vaste

gegevens.

De beschrijfbare geheugens, meestal RAM ( Random Access Memory) genoemd,

kunnen gelezen en beschreven worden.

Er kan een onderscheid gemaakt worden in statische en dynamische geheugens.

Dynamische geheugens gebruiken interne capaciteiten voor informatie opslag;

dit heeft tot nadeel dat ze na enkele milliseconden "opgefrist" moeten

worden. Statische geheugens hebben genoemd nadeel niet omdat ze uit flipflops

bestaan. Er worden voornamelijk nog statische RM1's gebruikt.

De RAM's hebben de eigenschap dat ze "vluchtig" zijn, dat wil zeggen dat ze

hun informatie verliezen bij het wegvallen van de voedingsspanning.

- 13 -

1.3.3 I/O modules

De communicatie met de microcomputer loopt via het in- en uitvoer orgaan.

Er zijn ve1e realisaties voor het in- en uitvoeren van data, maar in feite

zijn ze in drie basis methoden onder te brengen:

- geprogrammeerde I/O ,.. {Vindt plaats onder besturing

- interrupt ~ van computerprogramma

- direct memory access ( DJ1A ) ~ {vindt plaats onder hardware-

1bes turing

Onder geprogrammeerde I/O wordt verstaan: a1le data overdracht wordt volledig

gecontro1eerd door een prograrr~, dat door de CPU uitgevoerd wordt. Door

middel van de commando's IN en OUT wordt te kennen gegeven of data opgenomen

dan we1 uitgezonden kan worden. De externe logica krijgt dus de commando's.

Met interrupt bedoelen we: externe logica maakt er de microcomputer op

at tent dat een apparaat gereed is voor overdracht van informatie.

Direct Memory Access betekent: deze bouwsteen neemt de besturing over van

de CPU voor data overdracht tussen geheugen en randapparatuur.

- 14 -

2. De sociale aspecten

Naar mijn mening kunnen wij niet zonder meer voorbijgaan aan de discussies,

die momenteel gehouden worden over de invloed van de microelektronica ( in

het bijzonder de microprocessor) op de werkgelegenheid. In Duitsland hebben

de talloze studies geen exacte kwantitatieve resultaten over het aantal ar­

beidsplaatsen opgeleverd. Bij een onlangs hier op de Technische Hogeschool

gehouden congres " Automatisering, een vloek of een zegen?" zijn enigszins

tegenstrijdige uitspraken gedaan ( lit.5 ):

Automatisering bij de banken gaat arbeidsplaatsen kosten. Ir. W.L. van

Dinten voorziet bij de RABO-banken een vermindering van 6000 banen.

De informatieindustrie biedt volgens ir.M.P. van Avoort ( Philips ) grote

kansen voor de werkgelegenheid. Amerikaanse cijfers tonen aan dat 25% van

de arbeidsplaatsen in die sector zullen gaan zitten. Volgens hem heeft

Nederland potentieel dezelfde mogelijkheden.

Wij kunnen ons afvragen of het weI nodig is om de microelektronica op aIle

mogelijke plaatsen in te voeren •

Ret hoofddoel van iedere ontwikkeling en uitvinding is -- om de mensen zware en

eentonige arbeid te besparen en ·zijn levensstandaard te verhogen. WeI

dienen we te beseffen dat welvaart niet de enige voorwaarde is voor welzijn.

Voor verhoogde welvaart is een economische groei noodzakelijk die met een

productiviteitsstijging te bereiken valt. Deze stijging kunnen we op ver­

schillende manieren bereiken. Het grootste effect hebben technologische

innovaties met daarbij de computer in de hoofdrol ( lit.6 ). Zie fig.2.-1

In fig.2.-2 zien we dat aIleen volledig nieuwe systemen meer arbeidsplaatsen

opleveren.

Kan men nu stellen dat de microelektronica kapitaal en / of arbeid besparend

is? Preciese cijfers zijn er niet. Men weet dat bepaalde arbeidsplaatsen

vervallen en dat de kwaliteit van de arbeidsplaats verandert. Voor dit pro­

ces kunnen we twee invloeden aanduiden: producten- en productie elektronica.

Volledig nieuwe microelektronische producten ( zakrekenmachines ) verschaffen

nieuwe arbeidsplaatsen.

In de Meet- en Regeltechniek is de automatisering niet weg te denken. In

Duitsland heeft men voor dit terrein vooruitzichten opgesteld, wat de

microelectronica aan arbeidsplaatsen zal gaan kosten. Zie lit.6 •

- 15 -

Algemeen wordt daar aangenomen dat vervanging van mechanica door elektronica

een reductie van arbeidsplaatsen tot gevolg heeft in de verhouding 3:1 .,

In de BRD zijn nu 110.000 arbeiders in de meet- en regeltechniek, waarvan

60.000 elektrisch, elektronisch en de rest 50.000 mechanisch. Van dezeJ

50.000 zullen dus zoln 33.000 ander werk moeten zoeken.

Volgens dr. J. von Bonin ( ITT) zullen aIle werkzaamheden vervallen,

waarbij de signaalverwerking mechanisch of elektromechanisch plaatsvindt.

Aansluitend nog een optimistisch cijfer: in 1973 waren in de BRD 230.000

mensen in de dataverwerking werkzaam, in 1978 zijn het er 400.000.

Dus de informatieindustrie zal een vergroting van het aantal arbeidsplaatsen

te zien geven, door uitoreiding van fabricage van computers en randappara­

tuur en uitbreiding van verkooporganisaties, service- en softwarehouses.

Voor Nederland zal in grote mate hetzelfde gelden als in de BRD.

Een eenduidige conclusie is niet te trekken, maar er is een tendens dat

over de hele linie het aantal arbeidsplaatsen zal dalen. De histo~ie heeft

tot nu toe laten zien dat technische vernieuwingen nog nooit tot een voort­

durende massawerkloosheid geleid hebben. WeI kunnen we stellen dat invoering

van microelektronica gepaard dient te gaan met de sociale beleidsvoering.

bedrijfskapita

fig .2. -1

h 01 ogi sche inn ovatie

Voor\lClarden voorpr oduetftvLteitsstijging

fig. 2.- 2

JQJ

III...toroi- ~~=----- -0­III

"D

OJ..c...r.J

Invloed van innovatie op arbeid splaatsen

- 16 -

3. Toepassingen

We kunnen ons afvragen in hoeverre microprocessors in de instrumentatie

toegepast worden· NICHOLS ( Logical Service Inc. ) heeft een analyse gemaakt

van het gebruik, zie tabe1 3./1 ( 1it.1 ).

gebruiker 1914 1975

Test/instrumentatie 16% 18%Rege1techniek ( industrie) 13 16Ruimtevaart 13 15Communicatie 16 14Computers enz. 14 13Militaire doe1einden 10 9Medische " 3 3Consument 3 3Kantoor insta11aties 2 2Scholing 2 1Vervoer 1 1Rest 6 5

Tabel 3./1

Gebruik va;'!

microproces sor s

Recentere cijfers heb ik niet ter beschikking, maar de meet- en rege1techniek

is onmiskenbaar een van de grote gebruiksgebieden van de microprocessor.

Om een indruk te geven van de concrete toepassingsmoge1ijkheden is een over­

zichtopgenomen, waarvoor ik naarbijlage 2 wi1_verwijzen.

Van een aanta1 personen staan hun meningen opgetekend ( 1it.1 ) betreffende

de toepassing van microprocessors in de instrumentatie. Hieruit wi1 ik u

een aanta1 zinsneden voor1eggen.

SOUCEK ( University of Zagreb )meent microprocessors vervangen niet aIleen

-hard-wired schake1ingen" maar ook e1ektromechanische systemen. Programmeer-1 _

bare instrumenten brengen nieuw 1even in de 1aboratoria. Door de noodzaak

ontstaan zijn er nu een aanta1 standaarden voor instrument-interfaces. -EenJ

be1angrijke is IEEE 488.

RUSSO ( RCA Laboratories ) geeft het nut aan van microprocessors voor het

automatisch testen,met verhoogde betrouwbaarheid, van componenten, subsyste~

men en systemen. Er zijn wegen geopend voor nieuwe volledig automatisch

werkende instrumenten.

RAPHAEL ( Intel Corporation ) beschrijft het gebruik van microcomputers

a1s een foutenzoekend hu1pmidde1 in systemen, waarbij bijvoorbeeld automa­

tisch een "back-up" ingezet wordt, de fout geisoleerd wordt met moge1ijkhe-

- 17 -

den voor snelle service zodat de continuiteit van een systeem wordt verbeterd.

Een snel groeiend gebied is de "data capture". In de industrie en in de la­

boratoria hebben we te maken met een toenemende stroom van data.

RUSSO zegt daarover: een data acquisitie systeem met een microprocessor

kan zelfstandig bij de databron werken en zonodig data opslaan voor latere

analyse of direct data verwerken. Zo'n systeem is zeer flexibel. Door de

software te wijzigen kunnen .bijvoorbeeld een andere sampling-rate of

calibratie normen ingesteld worden.

-LEE beschrijft in een artikel (Jit.7) hoe een microprocessor instrumenten

kan verbeteren. Zijn visie luidt als voIgt:

De traditionele ontwerpen van instrumenten zijn gebaseerd op een analoge

signaalverwerking.Zie fig.3.-l. WeI is de uitlezing geleidelijk aan meer

van de analoge naar de digitale wijze overgegaan. De eventuele digitale

schakelingen waren voornamelijk AD- en DAomzetters.

De instrumenten die voorzien zijn van microprocessors hebben een andere op­

bouw. Zie fig.3.-2. De microprocessor staat centraal en heeft de hoofdfunctie

in de dataverwerking. De microprocessor laat iedere gewenste vorm toe van

signaalmiddeling, begrenzing of lineaire en niet-lineaire operaties.

Ook voor de transducer heeft dit gevolgenj er is verder geen signaal-~pas­

sing nodig indien aan de aanpassingseisen van de AD-omzetter is voldaan.

Bij de traditionele instrumenten is een grote verscheidenheid aan interfaces

ontstaan. Dit beeld verandert. Er zijn nu interface-standaarden aangenomen:

CAMAC en IEEE Standard 488/1975.

De CAMAC-interface wordt voornamelijk bij nucleaire instrumentatie gebruikt

en IEEE 488. vindt opgang bij laboratorium-instrumenten.

Voor veel instrumenten kan nu eenzelfde interface gebruikt worden. Dit heeft

zijn voordelen voor de fabricage en het ond~rhoud.

De programmeerbaarheid staat toe dat het instrument voorzien wordt van in­

terne zelfdiagnose. Een testprogramma kijkt als het ware of het instrument

nog gecalibreerd is door te vergelijken met in het geheugen opgeslagen tole­

ranties. Dit betekent een vereenvoudiging van het calibreren en het meetklaar

maken.

WeI dienen we te beseffen dat reparatie van dergelijke instrumenten niet met

de conventionele testapparatuur kan geschieden en dat er kennis van software

vereist is.

- 1 8 -

exte rnaldata i/o

~

meas t

transducera~alogsignalprocessor

an al ogor digi tatreadout

fun c t ion s

\'- ---.... ,-- ..JIv

pClnel- controlled

tig.3.-1

measurement

transducer

Opbouw traditioneel

A-Dconverter

instrument

digitalreadout

panel {( ontrols

mi c r 0 proc esse r

( ontrolin t erf ac e

externaldata i/o

fig.3.-2 Opbou\.l instrument met microprocessor

- 19 -

Uit de toepassingen die HOFF ( lit.8 ) heeft aangegeven, heb ik er een

gelicht. HOFF zegt: Zelfs het aantal functies van een digitale multifuctie­

meter kan met een microprocessor uitgebreid worden. De microcomputer kan

een signaal uitmiddelen , statistische grootheden kunnen berekend worden.

Verder kan het niet-lineaire gedrag van sensoren of van circuit elementen

gecompenseerd worden. Met behulp van een ingebouwde referentie kan periodiek

gecalibr~erd L worden en eventueel correcties berekend \'1Orden.

HOFF ziet de beperkingen,die eventueel ontstaan door de programma-executie

tijd,verdwijnen indien de processors sneller worden en krachtiger. Bier

zal de 12L halfgeleider technologie uitkomst kunnen bieden.

Om de achtergronden van de vele microprocessor toepassingen duidelijk te

kunnen maken, heeft HU een algemeen model gevormd voormeet- en regelsyste­

men.( lit.9 ). Door een open-Ius meet-systeem te combineren met een open­

Ius regel-systeem heeft HIT een gesloten-lus s¥steem gevormd. Zie fig.3.-3.

Voor de blokken geldt de volgende beschrijving:

"sensing" : de te meten parameters worden opgenomen en omgezet in elektrische

signalen.

"signal conditioning" : het aanpassen van het signaal aan niveaus en formaat

zodat ze geschikt zijn voor verdere verwerking, uitlezing en/of geheugenop­

slag.

"storage" : behalve programma's kunnen niet verwerkte data en reeds verwerk­

te informatie opgeslagen worden voor vergelijken, trend bepaling, statistische

analyse enz.,

"computation" : data kan zodanig verwerkt worden dat de geboden informatie

eenvoudig en samenhangend geinterpreteerd kan worden.

"signal conversion" : omzetten van digitale signalen.

"actuation" : een elektrisch signaal moet vaak omgezet worden in een andere

vorm, zoals,bijvoorbeeld licht, verplaatsing enz.

"communications" : de overdracht van data en regelsignalen, meestal geheel

over het systeem verdeeld.

HU ziet toepassingsmogelijkheden bij de blokken "communications" en "storage"

maar in belangrijke mate bij "computation". Daar liggen taken zoals: het

reduceren en omzetten van data, het sorteren, limiet bewaking, alarmering,

modelleren, patroon herkenning en trend·bepaling.

- 20 -

ol

stem,- -

~, I subsy

I storage computat ior 1-si 9nal '1' actuation '!' "'I under

I c onversiol I r I contr

I y;- ~, , , I

I

" I I I - -"- \ ..., \ r ) ...-...-,- -

" \ I,. ...-

./..- _ -7-"- \ I ...... ...- - II- -"- .....- ..- -...... - --, - -"-, --- -communicat;ons - sensing

..... - -- ..... .....I ...... -I --..... .....

"':::>I

I

rit sign al -

ronditioni....ng

- - -,

"interfaceto othersystemsor toop e.ratoJt

fig.3.-3 Blokschema van gesloten regel~ of meetsysteem

Bij complexe meet - en regelsystemen krijgen we grote hoeveelheden informa­

tie in vele vormen en op vele plaatsen. Dit leidt volgens HIT tot decentra­

lisatie en hierarchische systeemopbouw. Zie fig.3.-4.

HIT maakt onderscheid in drie niveaus: locaal, supervisie en management ni­

veau. Op locaal en supervisie niveau kunnen microprocessors ingezet worden.

Op locaal niveau zalde capaciteit van de microprocessor niet volledig be­

nut worden, maar zal vanwege de te verkrijgen eenvoud toch een groot toepas­

singsgebied vinden. ~e microprocessor heeft dan meestal een beperkt taken­

pakket: uitlezing op plaatselijke monitors, limiet bewaking enz., maar geen

ingewikkelde berekeningen.

In het gesloten regel of meetsysteem liggen de blokken "sensing" en "actuation"

op locaal niveau.

Op supervisie niveau komt de microprocessor beter tot zijn" recht. Echter

4 bit machines voldoen niet meer. Er liggen taken bij de blokken: "storage",

"computation"en "communication".

Op management niveau zullen we niet veel microprocessors aantreffen omdat

het gehele systeem bestuurd moet worden. Dit vereist groat geheugen en uit­

gebreide rekenfaciliteiten.

- 21 -

management niveau

supervisil3 nh eau

fig.3.-4 Hierarchische opbouw van een complex meet- of regelsysteem

We kunnen nu weI aannemen dat er potentieel veel mogelijkheden zijn am micro­

processors in de meettechniek toe te passen.

Er zijn een aantal projecten aan te wijzen waarbij een microcomputer-systeem

bij het onderzoek van groat gemak ZQU kunnen zijn en nieuwe wegen bewandeld

zouden kunnen worden.

Het zal noodzakelijk zijn eerst met een dergelijk systeem ervaring op te doen.

Te denken valt aan opslag van meetsignalen, en verdere verwerking met -eenvoudige

berekeningen.

Vervolgens zou het microcomputer-systeem ingeschakeld kunnen worden ten dien­

ste van de projecten: onderzoek aan en ontwikkeling van gyro-magnetisch kom­

pas; onderzoek aan magneetveldtransducers, inertiele rotatiesensors.

Naar mijn mening zal het systeem vaker bij e~n project ingezet worden, indien

de mogelijkheden beter overzien worden. Wellicht ontstaan dan oak andere

onderzoeksgebieden.

datapadbreedte

- 22 -

4. De selectie

De keuze van een microprocessor is niet eenvoudig omdat het aanbod zo groot

is en er niet op eenduidige specificaties gekozen kan worden maar op nuance

verschillen.

HUGHES ( lit.10 ) : "De keuze van een microprocessor vraagt om een rij van

overwegingen, die deels de technische doch in overwegende mate de financi~le

gezichtspunten betreffen".

Wat zijn die technische overwegingen? De beoordelingscriteria kunnen we in

drie groepen indelen: software, hardware en systeem.

Onder de software criteria vallen ( lit.2,9,lO ) :

.dataformaat: er is een keuze mogelijk uit datapadbreedten van 2 tot 2n bits.

Meest gangbaar zijn 4, 8 en 16 bits machines. Bit-slice processoren worden

gebruikt bij een hoge dataverwerkingssnelheid of indien een speciale datapad­

breedte vereist is. Tabel 4./1 geeft een indeling aan ( lit.2 ) en tabel 4./2

,t lit.10 ) geeft een indeling,die het zonder meer gebruiken van 8 bits machinesafw· ;"'+: ., y

criteria

eenvoudige besturing, zuiver numeriek

procesbesturing, alphanumeriek

snel, algemene doelen

4 bits

8 bits

minstens 16 bits

Tabel 4./1

criteria

Keuzecriteria

datapadbreedte

grote aantallen, lage snelheid

talrijke berekeningen, hoge snelheid

4 bits

16 bits

Tabel 4./2 Criteria tegen 8 bits machines

.snelheid: de zogenaamde "throughput" wordt gemeten met "benchmark-programma's".

Deze programma's zijn samengesteld uit een mixture van de meest gebruikte

instructies en leveren zo een gemiddelde snelheid Ope De'klokfrekwentie is

geen direpte maat voor de snelheid.

• adresseringsmogelijkheden: deze set heeft zijn invloed op de programma­

executietijd.

- 23 -

Enkele hardware criteria zijn:

• interface: is de microprocessor TTL-compatibel? Dat wil zeggen,kan een TTL

circuit op de microprocessor aangesloten worden?

Werkt de microprocessor met het "handshaking-principe"?

.voedingsspanning: er kunnen typen voorkomen met 3 of 4 spanningen. Voor de

opbouw van een systeem is het minimum het aantrekkelijkst •

•systeem componenten:' zijn er geheugen-, 1/0- en periferiebouwstenen te

verkrijgen?

Tot slot stelt het systeem een aantal criteria:

.instructieset: heeft de microprocessor een krachtige instructieset? Dit is

van belang voor de eenvoud van het progr~eren en de programma-executie­

tijd•

•interrupt: is er interrupt mogelijk en welke mate?

.leverbaarheid: is de leverancier betrouwbaar en zijn er second-sources?

.documentatie: is er voldoende documentatie te verkrijgen?

.prijs: de bouwstenen rondom de microprocessor bepalen vaak de prijs. Is er

nog, bijv~orbeeld,geheugenuitbreiding nodig?

Natuurlijk zijn er al complete systemen samengesteld. De keuze van zo'n

systeem is tevens afhankelijk van de programmeertaal. Programmeren in machi­

netaal is uit den boze en derhalve moet men op zijn minst Assembly nemen.

Deze taal is machinegericht, dat wil zeggen : de instructies zijn een directe

afspiegeling van de mogelijkheden van de microcomputer. Nadeel is dat men de

eigenschappen van de machine goed moet kennen. Voordeel is de snelle program­

ma-executietijd.

Hogere programmeertalen voor microcomputers zlJn Basic en PL/M (Programming

Language for llicrocomputers ). Omdat het programmeren in een interpretatieve

taal,zoals Basic, eenvoudiger te leren is, kan men met een daarop afgestemd

systeem sneller aan het werk. Nadeel is dat de programma's 5 maal zo traag

uitgevoerd worden dan bij Assembly ( lit.10 ).Dat geldt niet voor korte programma's.

Van de direct in ons land verkrijgbare systemen, maakte het systeem dat op-

gebouwd was rond de microprocessor zao een goede indruk. Dit systeem ver-

schijnt als bouw-kit op de markt en moet derhalve nog gea~sembleerdworden.

Verder is er nog een aanvulling nodig met monitor en cassetterecorder.

- 24 -

Nadat aanvankelijk voor dit systeem gekozen was, vond plotseling de door­

braak plaats naar het systeem PET 2001. Dit systeem is opgebouwd rond de

microprocessor MCS 6502, een krachtiger versie van de bekende Motorola 6800.

De MCS 6502 is ook terug te vinden in de KIM en APPLE, die reeds in de

vakgroep aanwezig zijn.

De PET 2001 is gebruiksklaar en bijvoorbeeld voorzien van monito~ en

cassetterecorder. Technisch is het systeem tot veel in staat; bijvoorbeeld

een opvallende eigenschap is, dat de PET een van de eerste systemen is

dat is voorzien van een IEEE 488 bus.

Naar mijn mening kan juist met een kit veel kennis en inzicht opgedaan

worden. Daar staat tegenover dat een "turnkey-systeem" veel sneller toe­

gankelijk zal zijn voor de meeste gebruikers.

Ik zal de features niet opsommen, maar uiteindelijk is een voorkeur uitge­

sproken voor de PET 2001. Zie aanhangsel.

- 25 -

5. Opleiding

Er is nog een ander verschil met minicomputers; bij de~e wordt applicatie­

programmatuur geleverd hetgeem voor microcomputers nog nauwelijks het geval

is. De gebruiker moet het zelf doen.

Meestal zal de gebruiker geen programmeur zijn, omdat bij microcomputers

veel aandacht moet wordem geschonken aan hardware zaken zoals timing, inter­

face enz. Dus de elektronicus komt voor de taak te staan dat hij zal moeten

programmeren.

Velen zijn momenteel nog niet vertrouwd met microprocessors. Vooral tegen de

software ziet men op ( black art ).

Om goed met de microcomputer te kunnen werken dient men kennis te hebben van

de schematische opbouw van microcomputers en van machinetaal. Leren program­

meren in een symbolische taal, zoals Assembly, verdient de voorkeur.

Om aan deze eisen tegemoet te komen, hebben een aantal medewerkers en stu­

denten uit de groep Heten het in onze afdeling bestaande prakticum over

microprocessors verricht. ( Momenteel maakt dit prakticum deel uit van de

opleiding tot elektrotechnisch ingenieur ).

Ret werkelijke prakticum houdt een aantal instructiemiddagen in, waarin de

theorie besproken wordt. Vervolgens moet men een aantal opdrachten uitvoeren

op de SYS-8000 computer.

Ret prakticum werd niet door al onze deelnemers geschikt bevonden. Mogelijke

oorzaken:

- ondanks een tweetal voordrachten en zelfstudie ~erd de theorie nog niet

in voldoende mate beheerst.

- enkele opdrachten leken in feite slechts het uitvoeren van handelingen

( bedienen ).

Voor een verdere of nieuw te starten microprocessor training zullen aanbe­

velingen mijnerzijds niet zo gefundeerd kunnen zijn, maar ik wil u niet

onthouden wat voor mij van nut is geweest.

Als eerste kennismaking:

het boek: I1ikroprozessoren und Mikrocomputer (zie lit.2 )

- het prakticum digitale rekenmachines; dictaten:.Inleiding tot het prakticum digitale rekenmachines ( lit.3 )

Handleiding voor het prakticum digitale rekenmachines ( lit.ll )

- de speciale uitgave van Scientific American over microelektronica ( lit.12 )

- 26 -

- een verslag dat is samengesteld uit de bijdragen van vele specialistenI

op het gebied van microprocessors. Zie lit.l. Ret verslag bevat een lijst

van alle tijdschriften die publiceren over microprocessors. Verder kan

men een bibliografie aantreffen.

Ret vervolg op de inleiding bieden:~

- de cursud'Microprocessors en computers van het instituut Dirksen

dit is een uitgebreide cursus, die aan te bevelen is.

- de twee speciale uitgaven van Elektronik; zie lit.13 •

de serie boeken geschreven door A. Osborne; zie lit.14

Men kan applicaties vinden in:

- tijdschriften zoals: Electronic Design, Elektronik, Electronics en

}licroprocessors.

- verslagen van congressen over microprocessors/computers.

Tot slot een opmerking die het programmeren betreft: het microcomputer­

systeem PET 2001 gaat vergezeld van een cursus programmeren in Basic.

Conclusie

Ret ontzag dat er bestaat voor microcomputer-systemen ( deels al door het

woord ) dient plaats te maken voor nuchtere waardering van dit bouwstenen­

systeem. Overdreven ve~lachtingen zullen misschien wel te-niet worden gmdaan

door de software.

De microprocessor neemt een niet meer weg te denken plaats in de techniek in,

waarbij het gebruik de industrie niet onberoerd laat ( technisch, sociaal ).

In de meettechniek biedt de microprocessor vele perspectieven.

- 27 -

Literatuurlijst

(1) Infotech State of the Art Report; }licroprocessors.Infotech Interna­tional Limited, Maidenhead England, 1977.

(2) Blomeyer-Bartenstein, H.P.; Mikroprozessoren und Mikrocomputer.Siemens Aktiengesellschaft, ~Unchen, 1975.

(3) Stevens, M.P.J. en Veldstra B.; Inleiding tot het prakticum DigitaleRekenmachines.Technische Hogeschool, Eindhoven, 1976.

(4) Spronsen, C.J. van; Infobnatiestroom in de C.P.U••In: Afdelingsleergang }licrocomputers, vakgroep Schakeltechniek vande afdeling Elektrotechniek THD, Delft, Technische Hogeschool, 1977,page 17-29.

(5) Mikroprocessor zal angst voor computer moeten wegnemen. Minicomputer&microsystems data publications, rip 32, juni 1978, p. 5.

(6) Klasche, G.; Mikroelektronik und Arbeitsplatzgefahrdung. Elektronik,Heft 6, 1978, page 46-55.

(7) Lee, R.;I1icroprocessor IC's Improve Instruments. Electronic Design,April 26, 1974, page 150-154.

(8) Hoff, M.E.; Applications for microcomputers in instrumentation.In: IEEE Int. Conv.,1973, paper number 21/1.

(9) Hu, s.c.; Microprocessors in complex control and measurement systems.In: Micro 77, conference record, Lincoln Plaza Forum, Oklahoma City,page 94-98.

(10) Hughes, Ph.; Mikrocomputer-Projekte richtig geplant. Elektronik,Heft 6, 1978, page 63-66.

(11) Havermans, G~M.J.j Handleiding voor het prakticum Digitale Reken­machines. Technische Hogeschool, Eindhoven, voorjaar 1976.

(12) Microelectronics. Scientific American, volume 237, number 3, september1917 •

(13) Mikroprozessoren. Elektronik, Sonderausgabe 1 resp. 11, 1977.

(14) Osborne, A.; An introduction to microcomputers Basic Concepts. 2ndprinting, Sybex, Paris, France, 1977.

An introduction to microcomputers Some Real Products.Sybex, Paris France, 1976.

Eijlage 1

INCREASING COMPLEXITY

MICROPROCESSOR t----~~ MICROCOMPUTER ~ ~ MICROCOMPUTERSYSTEM

Consists of LSIcircuit or setof circuits

Capable of processingiogica1 and arith­metic data underprogram control orin parallel mode

Consists of microprocessorsassembled on boardplus memory andI/O receivers/drivers

Consists of microcomputer(board mounted onchassis) plus applicationpower supplies. controlpanel and peripherals

Qty/Yr < 10000standard circuits

Qty/Yr .. 10-1000 Qty/Yr .. 1-10

Qty/Yr > 10000cus tom ci rcu its

Figure 1: Microprocessor definition by complexity

I~CREASING SPEED. FLEXIBILITY, COMPUTING P,~O~W~ER~ ~

t--------~~ MICROPROCESSORt--------~~ MINICOMPUTERCALCULATOR

Word length (bits) 1. i 4• .!!. 12•••• 16 8. 12 • .l2.. 32Seri aI/para 11 eI 5eria 1 Parallel Parallel'Micro instruction 4-40 microsec 500 nanosec - 1 microsec 200 na nos ec • I microsec

cycle timeIns truct ions 20 - 40 30 - 100 70 - 200Input/Output keyboard. dis- Flexible Flexible

play, printer (Smart interface devices)Bit manipulation No Yes YesInterrupt No Some YesDirect memory access No Some .Usua llyMulti-chip Some Yes TTL or TTL/MaSMicroprogrammable No Some SomeArithmetic BCD (Binary Coded Binary and BCD Binary and BCD

Decimal)

Figure 2: Micropro~e8nor definition by functionalcharacteristics

8 Kopie pag. 8 uit lit.l

Bijlage 2

Overzicht toepassingsmogelijkheden microcomputers:

meetapparatuur

fysische apparatuur

gedecentraliseerdeboordcomputers in

industriele sturing

geneeskunde/biologie

datavenlerking

consumentensecto~~

oscillografenspectrumanalysecomponenten-testapparatuursorteerlogicaweegschalenradarapparatuurmeetinstrumenten waarbij geen bedieningsfoutengemaakt mogen wordendoseersystemenhet controleren van reactors, versnellers,massaspectrometersalarminstallaties voor luchtvervuiling

vliegtuigenschepenvrachtwagensmilitaire systemenruimtevaartprocescontroleverkeersregelingliftensturingdecentrale regelsystemenrobotsystemenmachinebesturingproductiecontrolepersenbesturingtestsystemen voor Ie'sdiagnose-apparatuurlaboratoriumonderzoekpatientenbewakingfysiologische testsystemenpatientenadministratieintelligente terminalsfactureerapparatengeheugensmultiprocessingzakrekenmachinesbankinstallatiesfotokopieermachinesbenzinepompautomatenkasregistersgeldwisselautomatenkabeltelevisieauto'sradio/TV

Hiermede is nog geen uitputtend overzicht gegeven.Overzicht ontleend aan Elektronica Opleiding Dirksen, cursus microprocessors

Woordenlijst

In lit.2,3 is een uitgebreide woordenlijst aanwezig.

ALU

Assembly

BASIC

Bit

Bus

C.P.U.

Data

Handshaking

Hardware

Interface

Interrupt

Periferie

RAM

Ron

Register

Software

Throughput

Woordlengte

Arithmetic and Logical Unit. Een rekenkundig subsysteemvan de processor, dat wiskundige en logische operatiesuitvoert.

Een in symbolische taal geschreven programma dat met eenAssembler omgezet kan worden in machinetaal

:Beginners All purpose Symbolic Instruction Code, hogereprogrammeertaal

Binary digit. Eenheid van informatie

Een pad, waarover digitale informatie van een aantal aan­gesloten bronnen naar een aantal aangesloten bestemmingenkan worden getransporteerd

Central Processing Unit. Reken- en besturingsorgaan

Informatie bestaande uit letters, cijfers, tekens enuitgedrukt in bit

Werkwijze waarbij apparatuur met verschillende reactie­snelheid aangesloten kan worden

Mechanische, magnstische, elektrische en elektronischeapparatuur

Een elektronische koppeling tussen twee apparaten of bouwstenen

Onderbreking van de normale executie van een programma

Externe randapparatuur zoals floppy-disc, teletype

Random Access Memory. lees/schrijf geheugen

Read Only Memory. lees geheugen

Tijdelijk digitaal geheugen circuit

Het totaal van programma's die de mogelijkheden van de com­puter vergroten, bv. assemblers, loaders

Gemiddeld aantal operaties van een computer per tijdseenheid

Een aantal aaneengesloten bits, die als eenheid wordenbehandeld

~,\ :. ~ '"'11 ,'"

-".:-

( -

'. ~ . .' '. ~< ~,,;., ..~ , ;' ,

!-

• "t.'

,~,'

".

Der PET 2001 ist ein BASIC-Tischcomputer-System.Seine hervorstechenden Eigenschaften ordnen ihn in die Spitzengruppe der Micro-Com­puter ein.Die Vielzahl der zur Verfugung stehenden Funktionen und seine groBe Speicherkapazitaterlauben den Einsatz in den meisten technisch-wissenschaftlichen Anwendungen, sowieim finanztechnisch-kommerziellen Bereich.Als Heimcomputer kbnnen Sie mit dem PET 2001 z.B. Sprachen oder Mathematik lernen,Kartenspiele oder Schach spielen, grafische Entwurfe machen, Kuchenrezepte speichernund Menuvorschlage zusammenstellen lassen. AuBerdem kann der PET 2001 Ihr privatesHaushaltsbuch fuhren, helfen die Einkommenssteuererklarung auszufullen oder Telefon­nummern und Geburtstage speichern.Die Einsatzmbglichkeiten von PET 2001 sind fast unbegrenzt!PET 2001 arbeitet in der Computersprache BASIC. In dieser sehr leicht zu erlernendenSprac~'le Iiegen bereits viele fertige Programme aus den verschiedensten Bereichen wieStatistik, Statik, Maschinenbau, Elektrotechnik, Buchhaltung, Lagernaltung ... bis hin zurMondlandung und "Siebzehn und vier" vor.Die v'ielseitigen AnschluBmbglichkeiten von peripheren Geraten erlauben nicht nur dasBetreiben von Druckern oder Floppy-Disk-Laufwerken (zur Speicherung von Daten undProgrammen), sondern auch einer breiten Palette von MeBwertgebern. Selbst dasSteuern oder Regeln von Maschinen ist zu realisieren. Die groBe Auswahl an graphischenZeichen erweitert seinen Ein'satzbereich wesentlich.Die Anwendung des PET 2001 erstreckt sich vom Computer fUr Hobby, Industrie, Schuleund Forschung bis hin zum ProzeBrechner.

Arbeitsspeicher

Der frei verfugbare Schreib-Lese-Speicher (RAM) laSt sich von {f~ytet(..S1andaffl) bzw.---(j 8 kByte (optional) bis zu 32 kByte erweitern. .

Der Festwertspeicher (ROM) hat eine Kapazitat von 14 kByte, aufgeteilt in:8 kByte BASIC-I nterpreter.In Verbindung mit einem neuentwickelten, sehr schneller:l Prozessor machtdieser Interpreter den PET 2001 zu einem der schnellsten und vielseitigstenBASIC-Computer. Hervorstechende Eigenschaften von Commodore-BASICsind:• 960 einfache Variable.. 960 Ganzzahl-Variable• 960 String-Variable• je 960 mehrdimensionale Felder fUr jede dieser 3 Variablen-Arten. Diese

konnen mit Konstanten, Variablen oder Ausdrucken dimensioniert werden.• mehrere Befehle pro Zeile (bis zu 80 Zeichen je Zeile)4 kByte Betriebssystem1 kByte Testroutine1 kByte Monitor fUr Maschinensprache (diese ist dem Benutzerzuganglich)

TastenfeldMit 73 Tasten sind samtliche 64 ASCII-Zeichen ohne Umschaltung zuganglich. Mit Um­schaltung werden die graphischen Zeichen und die Negativdarstellung samtlicher 128Zeichen erreicht.CLEAR loscht den Bildschirm.Programmk~rrekturdurch Oberschreiben, Einfugen oder Loschen von Zeichen.

Bildschirm23 em Schwarz-WeiB-Bi!drbhre mit hoherAuflbsung. Kapazitat 25 Zeilen zu je 40 Zei­chen = 1000 Zeichen in 8 x 8 Matrix-Darstellung. Automatischer Zeilenvorschub beirT!Erreichen des unteren Bildrandes. .64 Standard-ASCII-Zeichen + 64 graphisch\J Zeichen, Negativdarstellung (schwarz dufwei B) flJr samtliche Zeichen mbglich. Blinkender Cursor (Anzeiger) mit voller BewegL',1gs-,freiheit. (Cursorbewegungen sind auch prograrnmierbar.) -

Auftragsbearbelt ung

.>-, '}~:(''':;:'' .. :~ ~~<j~;~~~;'::~: --"

"-··I:'.~I.'-;'\"",'lI';:ZC

'.;~=~:~:~:~"Z'tIt."'."l'Jt~ .. 'f~'~

~~~a-l!'""'..t~ .."'~ "-l·r""'/&t:lo(i:'o'lf.~··~4"'./IIi-

,;:I;.~;;~~t;L~-~ ~~­• ~f '~~r:;:;;,~':"~;1:"J.~~'~-

Alphabetlsches Sortleren

Tngonometrlsches Lernprogramm

Graflk

17 + 4 (BlackJack)

KassetteneinheitDie eingebaute Kassetteneinheit erlaubt eir1e permanente Speicherung von Programmen.Diese kbnnen mit Namen bezeichnet und gezielt aufgerufen werden.Infolge der hohen Stbrsicherheit kbnnen normale Compact-Cassetten Verwendung

. finden.

AnschluB externer Gerate (Interfaci.ng)AuBer einem 8 bit parallelen Ein/Ausgang und einem AnschluB fUr eine zweite Kassetten­einheit ist bereits das In~erface nach IEEE 488 (auch bekannt unter der Bezeichnung IEC­Bus) eingebaut. Hiermit kbnnen gleichzeitig bis zu 15 Bus-kompatible Gerate an den PET2001 angeschlossen werden (MeBgerate, Drucker, Floppy-Disk-Laufwerke, aber auchWandler fur BCD-Parallel-AnschluB, V24-Schnittstelle etc.). Die notwendigen Befehle fUrdie Adressierung und Steuerung dieser Gerate stehen zur VerfIJgung.

Allgemeine Daten

AbmessungenBreite: 42 cmTiefe: 47 cmHbhe: 36 cm

Gewicht: 20 kg

BetriebsdatenNetzspannung: 220 V ± 10%Netzfrequenz: 50 Hz

Lieferb2res Zubehbr

o Drucker 40 oder 80 Zeichen breit9 'Floppy- Dis.ke 2. Kassettee zusatzliche Speicherkapazitatc\) Modeme Software

Mitaeliefertes Zubehbr.....

• AusfUhrliches Bedienungshandbuchmit Programmier-Anleitung

o BAS1C-Kurs auf Kassette.

Commodore-BASIC

Standard-BASIC-AnweisungenLETREAD DATA

IFTHENFOR f\IEXTGOTOPRINTDIMEND

'.ZuordnulJg (kann weggelassen werden)READ liest Daten (numerisch oder alphanumerisch) ins Programm, welcheunter DATA abgelegt sinderlaubt logische Vergleiche (wenn ... dann)ermbglicht SchleifenSprungbefehlAusgabe auf den Bildschirm; ZeilenvorschubDimensionierung von Feldern (Arrays)letzte Anweisung eines Programmes

Erweiterte BASIC-Anweisungen .

ST~P

GETSTOP

RESTORE ermbglicht mehrfaches Lesen von DATAREM erlaubt Zwischentext (Bemerkungen) im ProgrammGOSUB mehrfach' gebrauchte Programmteile kbnnen alsRETURN Subroutine gerufen werdenON .. GOTO fUr berechnete VerzweigungenON .. GOSUB fUr berechnete SubroutinenINPUT Eingabe von Werten von der TastaturDEF FN Definition von Funktionen, welche dann beliebig oft im Programm

aufgerufen werden kbnnenBestimmung der Schrittweite in FOR:-NEXT-Schleifen

'akzeptiert einzelne Zeichen von der Tastaturbeendet ein laufendes Programm

SystemanweisungenRUNNEWCLRCONTLISTFRE

startet ein ProgrammIbscht den ArbeitsspeicherIbscht aile Variablen (einschlieBlich Dimensionierung)setzt Programmausfuhrung forterstellt eine Liste des Programmsergibt die Anzahl freier Bytes im Programmspeicher

SGNINTABSSORSINCOSTANATNLOGEXPRND

Funktionenermittelt das Vorzeichenergibt den ganzzahligen Anteil einer Zahlliefert den Absolutwert einer Zahlermittelt die OuadratwurzelSinus eines Winkels (WinkelmaB Radianten)KosinusTangensArcus TangensnaWrlicher Logarithmus einer ZahlPotenz zur Basis e (e = 2.718 ...)liefert Pseudo-ZufallszahlenWert n· ist fest gespeichert

..

...

r

LEFT$RIGHT$MID$CHR$ASCSTRgVALLEN

SPCTABpas

String-(Zeichenketten-) Funktionen·Aus einem String k6nnen genau spezifizierteSubstrings (Teile des ursprunglichen Strings)herausgenommen werdenwandelt ASCII-Codes in Zeichen umwandelt Zeichen in den entsprechenden ASCII-Co~e

wandelt Zahlen zu Zahlenstringswandelt Zahlenstrings zu normalen Zahlenermittelt die tatsachliche Lange eines Strings

Formatierungsanweisungenbringt eine spezifizierte Anzahl LeerzeichenTabulatorermittelt die nachste verf(jgbare Druckposition

Logische OperatorenAND Verknupft 2 Werte mit der UND-FunktionOR Verknupft 2 Werte mit der ODER-FunktionNOT Negation

Maschinensprach~-Anweisungen

PEEKPOKEUSRSYS

liest einzeln'e 'Bytes aus dem Speicherspeichert einzelne Bytes in spezifizierte Adressen

verbinden das BAS1C-Programm mit der Maschinensprache

OPEI\JCLOSESAVELOADVERIFYPRINT#INPUT#GET#CMD

Input-Output-Anweisungen

Dateier6ffnungSchlieBen eines BlockesSpeichern eines Programmes auf der KassetteLaden eines Programmes von der KassetteVergleichen des Speicherinhaltes mit dem FileWie Print, jedoch auf Gerat #Wie INPUT, jedoch vom Gerat #Wie GET, jedoch vom Gerat #Hauptanweisung fUrVerkehr mit Geraten am IEEE-Bus

Variable-,

ABC ... AA AB AC ... AO A1 A2 . . . ~

Einfache Variable mit voller Genauigkeit und einem Speicherplatzbedarfvon 5 (bzw. 7) Bytes

A% BOlo ... AA% AB% ... A1% A2% ...Ganzzahlvariable mit einem"Bereich von -32000 bis +32000 Lind einemSpeicherplatzbedarf von 2 Bytes

A$ BS ... AAS AB$ ... AOS A1S ...String (Zeichenketten) variable mit einem Speicherplatzbedarfvon 1 Byte/Zeichen

Bei allen 3 Variablenarten sind mehrdimensionale Felder m6glich

SpezialvariableTITI$ST.

durchlaufende Zeit in 1/60 s-Einheiten, quarzgenauTageszeit in Stunden. Minuten, SekundenStatus von Peripheriegeraten

AFDELING DER ELEKTROTECHNIEK

TECHNISCHZ HOGESCHOOL

EINDHOVEN

Vakgroep Meten en Regelen

MICROCOMPUTER-SYSTEEM PET 2001

door P.M.J. Verberne

Deelrapport van het afstudeerwerk

uitgevoerd van juli 1978 tot medio september 1978

in opdracht van prof.dr.C.E. Mulders

onder leiding van ir.R.G. van Vliet

- 2 -

Samenvat ting

Dit rapport beoogt een handleiding te zijn voor gebruik bij het microcompu­

ter-systeem PET 2001 ( Personal Electronic Transactor ) als supplement van

het 'Grote PET Boek'.

Er wordt een beschrijving gegeven van de hardware en software van het PET

systeem.

Omdat het wenselijk is dat programma's zo uniform mogelijk opgesteld word~n,

zijn daarvoor richtlijnen gegeven. Aan dit onderwerp is de meeste aandacht

geschonken, omdat het vaak in de verdrukking komt vanwege de onbekendheid

bij technische gebruikers.

Microcomputer-system PET 2001

Summary

This report aims to be a manual at users of the microcomputer-system PET

( Personal Electronic Transactor) as a supplement of the 'Grote PET Boek'.

A description is given of the hardware and software belonging to the PET 2001.

Chapter three presents some programming rules for obtaining uniform user's

software. This subject gets more attention because it often has been pressed

owing to unknowingness at hardware-oriented users.

8

12

bladzijde:4

5

- 3 -

Inhoudsopgave

Inleiding

1. System hardware

1.1 De microcomputer1.2 De periferie

2. System software

2.1 Programmeertaal2.2 BASIC2.3 Resident software

3. Ret schrijven van programma's

3.1 Ret probleem definieren3.2 De oplossingsmethode3.3 Ret stroomdiagram3.4 Ret coderen3.5 Ret testen3.6 De dokumentatie

Tot besluit 18

Literatuurlijst 20

Bijlagen: 1 Dartmouth R~SIC versus BASIC PET 20012 Memorymap PET 20013 Stroomdiagram-symbolen4 Voorbeeld van een stroomdiagram5 Stroomdiagram-formulier6 BASIC-coderingsformulier1 BASIC statements en commando's8 Elementen van een structogram9 Programma. structuren

- 4 -

Inleiding

Ret eerste gedeelte van mijn afstudeerwerk werd beeindigd met het uitbrengen

van een advies met be trekking tot de aanschaf van een microcomputersysteem.

Er werd ook nagegaan wat microprocessors voor de meettechniek kunnen beteke­

nen. Van bovengenoemde onderwerpen aangevuld met een toelichting over de op­

bouw van een microcomputer-systeem is een rapport uitgebracht.

Een en ander heeft vervolgens geresulteerd in de aanschaf van het micro­

computer-systeem PET 2001.

Dit verslag, waarin de PET 2001 beschreven wordt, is dan ook het vervolg

op het rapport 'Microprocessor in de meettechniek'.

Een aantal aspecten van de hardware en software zijn wat nader bekeken, om­

dat zij in de handleiding van het systeem onvoldoende aan de orde komen.

De handleiding en dit rapport moeten dan ook als een geheel beschouwd worden.

Verder bevat dit rapport een hoofdstuk over het schrijven van programma's.

Biermede wordt beoogd een hiaat in de handleiding te compenseren.

Er zijn een aantal formulieren ontworpen en richtlijnen voor het schrijven

van programma's opgesteld,indien dat mogelijk was aan de hand van DIN-normen.

Op het belang van 'een goede programma-voorbereiding kan niet genoeg gewezen

worden. Onvoldoende voorbereidend denkwerk kan tot gevolg hebben dat veel

tijd nodig zal zijn voor het editten en debuggen. In de praktijk kent men

het volgende, Diet utopische, voorbeeld:

- 2 weken denken en coderen

12 weken testen

- 5 weken denken en coderen

1 week controle aan de schrijftafel

1 week testen.

Door gebruik te maken van stroomdiagrammen bij het maken van programma's,

zou wellicht de indruk kunnen ontstaan dat deze methode beter is dan de

gestructureerde programmeertechniek. Echter, de stroomdiagrammen zijn in

gebruik omdat zij reeds langer toegepast worden en in de literatuur de

boventoon voeren. Het moge duidelijk zijn dat ik de discussie over dit

onderwerp open wil houden, zodat in de toekomst opnieuw een keuze gemaakt

kan worden.

- 5 -

1. System hardware

Een microcomputer-systeem is opgebouwd uit een microcomputer en periferie.

De microcomputer is samengesteld uit een microprocessor met geheugen en

in- en uitvoerorganen ( I/O-modules ).

Van de periferie voor de PET 2001 bespreken we de ingebouwde app~ratuur.

1.1 De microcomputer

Ret schema in fig.l.l.-l laat de architectuur van de ~icrocomputer zien. De

CPU is in dit geval de microprocessor MCS 6502 van MaS Technology. Uit een

producten beschrijving ( lit.l ) heb ik een aantal kenmerken overgenomen•.

Deze microprocessor wordt vaak beschouwd als een uitgebreide versie van de

Motorola MC6800 overeenkomstig de Z80 ten opzichte van de 8080A. Dit is niet

juist omdat instructieset en systeem-bus in het geheel niet compatible zijn.

De MCS 6502 bevat on-chip klok logica, zodat nog slechts een externe kristal

oscillator nodig is. De kloktijd is 1 microsec. en de executietijd van in­

structies ligt tussen 2 en 12 microsec.

Een 8 bit microprocessor heeft 8 datalijnen. De interne databus heeft een

breedte van 8 bit, zodat de aansluiting van de externe databus ( naar CPU,

geheugen, I/O-modules) ook 8 bit breed moet zijn. De databus is bidirectio­

neel en heeft een tristate aansluiting.

De adresbus is monodirectioneel en heeft een breedte van 16 bit, zodat 64k

plaatsen geadresseerd kunnen worden ( 216=65536=64k ). De adresbus van de

MCS6502 heeft een TTL aansluiting. Omdat we bij deze bus geen tristate hebeen,

heeft dat tot gevolg dat de MCS6502 andere control-signals kent dan de Mc6aoo.

Resteert nog de controlbus. Deze heeft 10 lijn~n die diverse input-, output­

signals voeren zoals interrupt-request, read/write enz.

Ret geheugen is als voIgt opgebouwd:

- 14k ROM 7 stuks MOS 2k HCS 6540 chips

8k illU1 16 stuks 1024 x 4 bit static RAM 2114

In de ROM bevindt zich de resident software. In de RA}1 kunnen we data opslaan.

De I/O vindt plaats met behulp van speciale interface logica:

- De MCS6520 is gelijk aan de Motorola Mc6820.PIA = peripheral interface adapter

De chip bestaat uit twee 8 bit I/O poorten. Deze PIA kent een aantal opera­

tion modes: monodirectionele input/output met of zonder handshaking. Voor een

uitvoerige beschrijving verwijs ik naar de databoeken of naar lit.l.

- 6 -

Een van de twee aanwezige PIA's verzorgt de I/O met de cassetterecorder,

het toetsenbord en CRT. De andere PIA verzorgt de I/O volgens de IEEE 488

standaard.

De MCS 6522. Deze derde periferie chip is een uitgebreide versie van de

Motorola 6820. Deze chip voorziet in meer handshaking logica en in pro­

grammeerbare timers. Deze I/O poort staat voor een door de gebruiker te

bestemmen doel ter beschikking. Zie lit.l of de databoeken.

Hiermede zijn de belangrijkste bouwstenen aan de orde geweest. Vermeldens­

waard zijn de mogelijkheid om een tweede cassette-recorder aan te sluiten

op een daarvoor bestemde connector en de mogelijkheid tot geheugenuitbreiding

met 24k via een connector zodat S-lOO geheugeneenheden aangestuurd kunnen

worden.

1.2 De periferie

Tot de ingebouwde periferie behoren een cassetterecorder, een beeldscherm en

een toetsenbord. Een aantal aspecten worden in het kort toegelicht.

De cassetterecorder:

Deze recorder maakt het mogelijk om programma's en data op band op te slaan,

zodoende een extern geheugen vormend.

Een van de bezwaren tegen het inlezen van cassettebanden is de lange access­

time; vooral bij geb~ik van banden die vele files bevatten. Verder wordt

door het Operating System 7,5 sec gewacht voordat data geregistreerd wordt.

Het opzoeken van de file-header kan dan ook tientallen seconden duren.

Door middel van programmatuur wordt de betrouwbaarheid van dataoverdracht

verhoogd door de programma's tweemaal te laden. De data-rate wordt daarmede

gehalveerd tot 500 Baud. We gaan uit van het volgende 12 bits dataformaat:

1 bit ASCII, 1 bit pariteit, 1 start en 3 stop bits. Voor de overdracht van

een byte is derhalve een tijd nodig van 24 msec.

Dit betekent dat het inlezen van een 4k programma ca. 100 sec zal duren.

Dus voor grote programma's en datablokken moet men uitwijken naar snellere

periferie indien de tijd van belang is. Wellicht zal de aangekondigde floppy­

disc hier uitkomst kunnen bieden.

Ret beeldscherm:

Het betreft een standaard 23 cm zwart-wit CRT. De capaciteit is' 1000 tekens

( 25 regels met 40 tekens per regel ) waarbij ieder teken door middel van een

8 x 8 dot-matrix voorgesteld wordt.

De aansturing van het scherm vindt plaats vanuit een karakter-generator, die

- 1 -

in een ROM zit. De ROM kan 256 karakters genereren:

64 ASCII karakters , ten gevolge van het inverse karakter wordt het dan

128 karakters,plus een restant. Dat restant bevat ook nog kleine letters

a tim z, waarbij de grafische tekens op de letter-toetsen dan niet te ge_

bruiken zijn. Door een POKE instructie kunnen we de kleine letters oproepen.

Het vermoeden bestaat dat het resterende deel van de ROM het griekse alfabet

en kantoormachine-symbolen bevat.

Het toetsenbord:

Het toetsenbord is gescheiden in twee delen. Een veld is voor letters en

grafische tekens en een veld is voor cijfers en enkele grafische tekens.

Dit numerieke toetsenbord heeft men gemaakt om data sneller in te kunnen

voeren.

De PET 2001 is voorzien van een IEEE 488/1915 interface bus. Apparatuur die

aan deze standaard beantwoord,kan op deze bus aangesloten worden. Zodoende

kunnen we een data-ac~uisitie systeem opbouwen.

Voor de bediening van het PET systeem verwijs ik naar het 'Grote PET Boek'.

8BITDATABUS-A ...

-..,.

11 n JL..

r--,- I I I O'·DEVI (ES~

prog, ... I 1

(P U ROM RAM I/O-BUg ,I I 0 .... I

I,

t-- .J

11 ft Tf controA

...~ ) 16 BIT ADRES BUS

I (ONTROL LINES -. v

fig,1,1.-1 a rc hi t gC tuu r microcomputer

- 8 -

2. System software

Een van de kenmerken van het PET 2001 systeem is de aanwe~igheid van een

8k ~te BASIC-interpreter in ROM.

Ret PET 2001 systeem kan dus programma's verwerken, die in een hogere pro­

grammeertaal geschreven zijn. Na een korte toelichting over programmeertalen

wordt de software van de PET beschreven.

2.1 Programmeertaal

Mede omdat het werken in machinetaal praktisch ondoenlijk is, zijn andere

programmeertalen ontwikkeld. Op grote schaal wordt de machinegerichte taal

Assembly toegepast.Deze taal vereist een goede kennis van het systeem omdat

de instructies een directe afspiegeling zijn van de mogelijkheden van het

systeem. Voor de diverse fabricaten in microcomputers zijn evenzo vele

versies van Assembly taal ontstaan. Omdat microcomputers voortkomen uit de

hoek der elektronica, waar dus veel hardware kennis is, geniet Assembly

vaak de voorkeur. Van de zijde der software deskundigen is men meer gericht

op de machine onafhankelijke talen.

De middelhoge programmeertalen ( Macro's) zijn vrij recent ontstaan als

een compromis tussen de lage en hoge programmeertalen in. De macro-taal is

nauw verbonden met de gestructureerde programmeertechnieken.

De hoge programmeertalen hebben dus, zoals eerder gezegd, tot voordeel dat

geen preciese kennis' van de microcomputer nodig is.

Een toch wel belangrijk minpunt van hogere programmeertalen is, dat zij in

het algemeen niet zo'n efficiente programma's toelaten. Er is dus meer ge­

heugen nodig.

Voor een uitgebreide beschouwing over de voor- en nadelen verwijs ik gaarne

naar de literatuur. Lit.3 en lit.4.

De gebruikelijke hogere programmeertalen zoals FORTRAN, COBOL, PASCAL en

PL/l zijn te omvangrijk voor microcomputers en bevatten geen faciliteiten

voor direkte regeling van I/O organen.

Er zijn een aantal 'kleinere' hoge programmeertalen ontwikkeld zoals PL/M.

Deze hebben het nadeel dat zij meestal alleen voor systemen van een bepaald

fabrikaat geschikt zijn. Een uitzondering daarop is BASIC.

Ret nadeel van BASIC is de trage verwerking vanwege het interpreteren. Toch

wordt BASIC steeds meer toegepast omdat de taal eenvoudig is en gemakkelijk

te gebruiken.

Ret lijkt mij zinvol nu even stil te blijven staan bij het begrip interpre­

ter.

!language

- 9 -

Wat wordt met een interpreter bedoeld? Een taal moet equivalent zijn met

een processor-definitie en vice versa. Bijvoorbeeld: een definitie van een

machinetaal definieert de hardware die hem begrijpt en ook omgekeerd.Lit.3.

Om een taal te realiseren voor een bepaalde hardware zijn er twee methoden:

- de taal omzetten in de machinecode voor de gegeven hardware

- de hardware de taal laten 'begrijpen'.

De tweede methode kan verwezenlijkt worden door software, die resident

aanwezig is in de hardware. Deze noemt men de interpreter. Zie fig.2.1.-1.

De eerste methode gebruikt een'translator'.

~anslator~L_~-----J.rs-- ~hard'r/are

interpretE'rfig~2.1.-1 relatie tussen interpreter en translator

Door middel van de interpreter kan het systeem de hoge programmeertaal accep-

teren als zijn machinetaal. Nadeel is dat programma's vertraagd worden ver­

werkt door de interpretatieve methode. Bij een translator worden de program­

ma's eerst geheel vertaald en pas dan wordt het verwerkt.

Een ander nadeel van de interpreter is dat er permanent een programma in

de hardware aanwezig moet zijn. Bij de PET 2001 is de interpreter in ROM

aanwezig, zodat niet eerst ingelezen behoeft te worden zoals bij sommige

systemen het geval is ( 8k Byte~ ).

Een voordeel is dat een interpreter relatief eenvoudig te schrijven is en

bestaande programma's kunnen op nieuwe hardware verwerkt worden door de in­

terpreter aan te passen.

2.2 BASIC

Een grote gebruikersgroep van microcomputer~systemenbestaat uit technici

of academici, die geen professionele opleiding tot programmeur hebben genoten.

Zij gebruiken een systeem als hulpmiddel om snel korte berekeningen te maken

of om snel data te kunnen analyseren. De taal moet derhalve eenvoudig zijn.

Omdat een algemene programmeertaal, die de spreektaal benadert, zich gemak­

kelijker eigen te maken is heeft men BASIC ontwikkelt. Studietijd ~ 16 uren.

Ret woord BASIC is een afkorting van Beginner's All-purpose Symbolic Instruc­

tion Code.

BASIC is een op het engels gerichte taal die voor allerlei doeleinden ge­

bruikt kan worden.

Van de tijd die nodig is om programma's te maken, kan niet veel gezegd wor-

- 10 -

den. Dit is afhankelijk van de ervaring van de programmeur en van het pro­

bleem dat om een oplossing vraagt. Een'goede'gebruiker heeft twee tot vier

. maanden nodig om een programma te maken van ongeveer 3k Byte ( lit.5 ).

In de praktijk is gebleken dat de meeste programmalengten liggen tussen

0,5 en 4 kByte. Zie lit.4 op bIz. 107.Roewel BASIC een algemene taal is, zijn er toch weer enkele versies ontstaan.

De basistaal is het Dartmouth-BASIC, maar hierop zijn uitbreidingen gemaakt

die systeem gericht zijn.

Zie bijlagel voor een vergelijking van Dartmouth-BASIC en hetBASIC voor de

PET 2001.

Indien men de diverse BASIC versies vergelijkt, dan treft men behalve enkele

verschillen in symbolen-gebruik de meeste verschillen aan bij de I/O opera­

ties. Bij gebruik van programma's op een ander systeem dan waarvoor ze ge­

schreven zijn, behoeven deze programma's meestal geen rigoureuze verandering­

en te ondergaan.

Ik zal in dit rapport geen cursus in R~SIC opnemen omdat 'Ret Grote PET Boek'

reeds voorziet in een eenvoudige cursus die als introductie kan dienen. Ik wil

weI een literatuur opgave vermelden:

- Albrecht, R.L. en Finkel L. en Brown J.;R~SIC. Wiley and Sons, New York,1973.

Dit is een boek dat als geprogrammeerde cursus voor zelfstudie kan dienen.

Een goede eenvoudige cursus die geen programmatuur ervaring vereist.

- Farina, M.; Flowcharting. Prentice Hall inc., Englewood U.S.A., 1970.

Een boek dat vrij summier de beginselen behandelt.

- Amstel, J.J.van; basic. EIT dictatenserie nr. 3, Academic Service, Den Haag,

1976.

Een cursus waarbij de nadruk ligt op de syntaxis van BASIC. Programmatuur

ervaring is wenselijk.

- Rubin, W.N.; BASIC Programming for Scientists and Engineers. Prentice Hall

Inc., Englewood U.S.A., 1978.

Een boek dat geschikt is voor zelfstudie en vele opdrachten en voorbeelden

bevat.

2.3 Resident software

In het algemeen kunnen we software in twee groepen indelen: de gebruikers­

en de systeemprogrammatuur. Zie fig.2.3.-1.

De gebruikersprogrammatuur is weer onder te verdelen in bron-, object- en

werk-programma's. In hoofdsttL~ 3.5 komen we hierop terug.

- 11 -

De systeemprogrammatuur kan vervolgens weer in twee deelgroepen ingedeeld

worden: de resident- en de cross-software.

Omdat momenteel nog geen sprake is van gebruik van cross-software voor het

PET systeem, laten we deze deelgroep verder onbesproken.

gebruikers- prog,

resid ent cross - softwar

opgebouwd:

prog. ontwikkelingop andere microcomp.

fig 2.3. -1 prog. ontwikkelingop eenzelfde microcomp.

De resident software van het PET systeem is als volgt

- 8k Byte BASIC-interpreter

- 4k Byte Operating System

- lk Byte Diagnostic Software

- lk Byte Monitor

In hoofdstUk 2.1 resp. 2.2 hebben we de interpreter en BASIC leren kennen.

Wat doet het Operating System? Deze software zorgt onder meer voor de cas­

sette I/O, het toets~nbord en de video unit.

De diagnostic software bevat testroutines die de hardware controleren. Als

hulpmiddel is tevens een LED op de print aanwezig.

Bij het systeemis een cassettebandje ( Machine Language Monitor ).aanwezig,

met behulp waarvan de PET in machinetaal geprogrammeerd kan worden. Dit pro~

gramma behoort tot de 'monitor'.

Hoewel bij het gebruik van het systeem in de BASIC-mode een memorYmap niet

nodig is, is deze met het oog op machinetaal en Assembly programmeren toch

samengesteld. Zie bijlage 2.

Opmerkelijk is dat lk Byte RAM voor intern gebruik nodig is, hetgeen we ook

constateren bij het inschakelen van het PET systeem: 7167 Bytes free.

Er blijft dus 7k ~Jte over om het BASIC programma op te slaan.

De microprocessor kan 64k Byte adresseren, daar voor Operating System, I/O

en ROM 32k Byte benodigd is, kan dus nog een geheugen uitbreiding met 24k

Byte plaatsvinden. 64k - (32k ROM) - (Sk RAM )-~ 24k •

Enige regels terug hebben we gesproken over BASIC-mode. Ret PET systeem kent

twee modes: direct- en programmed-mode. Direct mode is het afbeelden van het

resultaat van een uitgevoerde instructie. De andere mode betreft het uitvoe-rA'n V~1""\ maa .......rln_,-.,. .: ........... .f.. ............... -l-4 ...... _ .!_ -. ...... _ ~~_~ n~_ tTT_L r"l. .J.__ ~...,rT1 T"I __ 1_'

- 12 -

3. Ret schrijven van programma's

(~':~.

Naast het schrijven van een programma dient aan een aantal aspecten aandacht

geschonken te worden. Ret schrijven maakt deel uit van een serie stappen

die genomen moeten worden voordat een programma compleet is.

Ret programma stellen we in een zestal stappen op:

- het probleem definieren- de methode voor het oplossen bepalen- het stroomdiagram opzetten- het coderen- het testen en de 'run'- de dokumentatie

,.1 Met probleem defihieren

De eerste stap voor het opstellen van een programma is het analyseren van

het probleem. Hoe dient men daarbij te werk te gaan?

Deel ieder probleem altijd op in zo klein mogelijke eenheden ( modules ).

Beschrijf vervolgens verbaal de modules; zo kort mogelijk maar toch begrij­

pelijk. Tot slot moeten de modules gedefinieerd worden met aIle voorkomende

organisatorische, mathematische, logische~ technische en andere mogelijke

begrippen.

3.2 De oplossingsmethode

De tweede stap die genomen moet worden is:

zet de logische voorwaarden om in booleaanse uitdrukkingen, schrijf de

berekeningen in rekenkundige vormen en schrijf ten slotte voor aIle hande­

lingen de algoritmen Ope

3.3 Ret stroomdiagram

Een van de onderdelen van de programma-documentatie is het stroomdiagram.

Met behulp van het stroomdiagram kunnen we een progr~ma omzetten in een

met programmeertaal geschreven versie.

Een programmeur met ervaring laat vaak de diagr~~en achterwege of volstaat

met korte schetsen of grafische gedachte~steuntjes.

Een waarschuwing daarvoor is hier op zijn plaats, omdat het stroomdiagram

een tweevoudig doel heeft:

voor de documentatie van het prograrrma, die van belang is voor andere

gebruikers

- voor de controle van de werking van het programma voordat het gecodeerd

wordt.

- 13 -

Bij het opz~tten van een stroomdiagram dient men te letten op de volgende

richtlijnen:

- gebruik alleen de standaardsymbolen volgens DIN 66001 ( lit.6 ). Voor het

tekenen van de stroomdiagram-symbolen kan gebruik worden gemaakt van een

sjabloon, dat de belangrijkste symbolen bevat ( zie bijlage 3 ).

zorg voor een goede lay-out:

- zet het diagram zodanig op dat het van boven naar beneden en van links

/~naar rechts gelezen kan worden.

- vermijd kruisende lijnen; gebruik verbindingslijnen alleen indien het

overzicht behouden blijft, anders moet men connectors gebruiken.

- houdt de richtingen voor 'ja' en 'nee' gelijk.

- het diagram heeft zijn hoofdas in de verticale richting. Kleine lussen

( loops ) kunnen in de horizontale richting gezet worden. Grote lussen

worden ter behoud van het overzicht, beschouwt als een deelprogramma

( subroutine die 1 maal aangeroepen wordt ) en ook als zodanig gepro­

grammeerd. Zie bijlage 4 voor een voorbeeld.

-laat voldoende ruimte tussen de symbolen en schrijf alleen trefwoorden

in de symbolen.Er zijn twee manieren om tekst op te nemen in het

diagram. Vaak ziet men dat opmerkingen geplaatst worden in een recht­

hoek, die door middel van een stippellijn verbonden wordt op de desbe­

treffende plaats in het diagram.

Een nieuwe ( nog niet genormeerde ) manier is het nummeren van de blok­

ken en de verklarende tekst in een kolom naast het diagram vermelden,

zodat het overzicht behouden blijft.

kijk of bepaalde handelingen meermalen voorkomen en of ze dan in een sub­

routine geplaatst kunnen worden.

- maak het diagram slechts zo gedetailleerd als voor de eenduidigheid van

het probleem nodig is. Een te dichte benadering tot een soort instructie­

diagram werkt niet verhelderend.

Voor het stroomdiagram bestaan geen genormeerde formulieren. Ook blijken

in de THE geen formulieren in gebruik te zijn.

Voor mijn ontwerp van een stroomdiagram-formulier heeft een formulier uit

li t.'6 model gestaan. Ret formulier is als bijlage 5 toegev~egd.. Ter beperking

van het aantal formulieren moeten voar front- en vervolgpagina's eenzelfde

formulier gebruikt worden.

-~-

3.4 Ret coderen

Aan de hand van het stroomdiagram moet het programma gecodeerd worden. Omdat

er meestal in BASIC gewerkt zal worden, laten we de andere programmeertalen

onbesproken.

Een coderingsformulier BASIC bestaat nog niet in genormeerde vorm. Evenmin

kent men hier in deze TR een standaardformulier. Derhalve heb ik een ont­

werp gemaakt voor een BASIC-coderingsformulier. Zie bijlage 6.

Ret omzetten van het stroomdiagram in het BASIC-programma werkt op het for­

mulier prettiger.

De kop van het formulier spreekt voor zich. Links op het formulier zien we

een kolom voor het regelnummer. Ret is gebruikelijk om voor het eerste

regelnummer 10 te nemen en vervolgens steeds met 10 te vermeerderen ( 20,30

enz. ). Ret maximale regelnummer dat toegestaan is, bedraagt 63999.De tussenruimte in de regelnummers kan eventueel gebruikt worden voor het

invoegen van nieuwe statements of voor het aanbrengen van wijzigingen.

Ret kommentaa~behorende bij het stroomdiagram, dient zoveel mogelijk meege­

nomen te worden. Met behulp van een REMARK-statement kan men kommentaar in

het BASIC-programma vermelden. Een REMARK-statement wordt niet uitgevoerd,

het dient slechts ter infonnatie aan de lezer van het programma. Spaarzaam

gebruik wil ik ontraden.Bij lange programma's ( meer dan 300 statements)

mogen we beperken indien er niet genoeg geheugenruimte ter beschikking

staat.

Een programmaregel kan maximaal 80 karakters bevatten. Omdat het regelnummer

80 het RETURN-karakter moet zijn, resteren 79 plaatsen: zie bijlage 6.Een tweetal opmerkingen zijn hier nog op zijn plaats: spaties zijn optioneel

( behalve in een PRINT-statement ) en op een regelnummer mogen meerdere

statements staan ( gescheiden door de : ) onder bepaalde voorwaarden zoals

geen sprongopdrachten.

Op bijlage 7 staan de BASIC statements en de commando's voor de PET 2001

vermeld. Voor de uitleg van de statements en commando's ve~lijs ik naar de

cursussen progr~neren in BASIC. Rier zal ik volstaan d09r te attenderen

op 'Ret Grote PET Boek'.

- 15 -

3.5 Het testen

Het gecodeerde BASIC-programma wordt het bronprogramma (source program) ge-

°noemd. Vaak moeten we een aantal korrekties uitvoeren voordat het werkpro­

gramma gereed is.

Hoe kunnen we van bronprogramma tot werkprogramma komen? Aan de hand van

fig.3.5.-1 zullen we de achtereenvolgende stappen bekijken. Allereerst zal

ik een aantal termen toelichten ( lit.7, 10 ).

Wat is de 'monitor'? Helaas is de betekenis van 'monitor' niet eenduidig.

Indien men de PET handleiding leest, zou men kunnen denken dit de 'monitor'

dient voor het werken in machinetaal. De 'monitor' geeft ook de mogelijkheid

tot: - invoeren van data en gebruikersprogramma's

- ~itlezen van geheugenplaatsen

- starten van een gebruikersprogramma

- debuggen van een gebruikersprogramma

De Machine Language Monitor moeten we als een deel van de 'monitor' beschouwen.

Communicatie in machinetaal wordt zo mogelijk gemaakt. De Machine Language

Monitor is een voor de PET 2001 aangepaste versie van de TIM ( terminal

interface monitor) die door MOS Technology is ontworpen voor o.a. de MCS6502.

Met deze Machine Language Monitor kunnen we geheugen- en registerinhoud

wijzigen en op de display tonen. Zie het Grote PET Boek lit.2.

Wat is de 'editor'? Dit is een hulpprogramma waarmee de monitor een bron­

programma karakter na karakter in kan laten voeren.

Wat is de 'interpreter'? Zoals we in par. 2.1 hebben gezien, is de interpreter

een vertaalprogramma.

Wat is de 'debugger'? Dit is een hulpprogramma dat het testen van een pro-_

gramma in machinetaal mogelijk maakt.

De programma's editor, interpreter en debugger behoeven niet meer ingevoerd

te worden in de PET 2001. Ze zijn evenals de monitor al als resident software

in ROM aanwezig. Hoewel deze programma's zich naar de gebruiker van de PET

niet zo duidelijk manifesteren, maken zij het testen van de programma's in

drie stappen mogelijk

bran- -, , , ,

prog.. mon i tor bronprog. in monitor ob j eet prog_ mon i tor werkprocode

reel ito r (R 0 M ) linte rpret er I ROM ) rdebugger I R

fig. 3. 5. - 1

g.

OM )

- 16 -

De eerste stap is het corrigeren van fouten die gemaakt worden bij het in­

voeren van het programma.

De tweede stap is het corrigeren van de formele fouten in het bronprogramma.

Wat zijn formele fouten? Rieronder worden verstaan:

- syntax error = fout in algemene opbouw en schrijfwijze van instructies

overflow = getal groter dan 1,70141183 E+38

- undefined statement = niet gedefinieerd statement

Hoe gaan we nu te werk? Ret bronprogramma wordt ingevoerd, by. via het toet­

senbord. Ret toetsenbord van de PET heeft een aantal toetsen voor de 'cursor

control', de 'insert' en de 'delete' functie. Met deze toetsen kunnen we het

bronprogramma corrigeren. De 'list' instructie biedt de mogelijkheid tot

'editing' alvorens het bronprogramma uitgevoerd (run) wordt.

De PET 2001 kent twee 'editing modes':

- direct cursor control mode

- programmed cursor control mode.

De direct mode kan gebruikt worden om programma's te corrigeren. De gepro­

grammeerde edit-functions kunnen worden gebruikt om de lay-out bij het prin­

ten te beinvloeden. Voor de wijze waarop de editing-modes gebruikt moeten

worden, verwijs ik naar het Grote PET Boek. Rierin kan men ook een overzicht

aantreffen van de foutmeldingen die het systeem kan genereren. Lit.2.

Na de eerste stap hebben we een ASCII gecodeerd bronprogramma, dat door de

monitor met behulp van de interpreter omgezet wordt in het objectprogramma.

Bij een 'compiler' wordt het gecodeerde bronprogramma eerst vertaald. Indien

er dan formele fouten geconstateerd worden, krijgen we een lijst met fout­

meldingen. Na correctie kan op de gecorrigeerde plaats het vertalen voort­

gezet worden met behulp van de compiler. Bij de PET 2001 hebben we in plaats

van een compiler een interpreter. Zoals we in-par.2.1 gezien hebben, wordt

een instructie vertaald en uitgevoerd en zo wordt achtereenvolgend het gehele

programma afgewerkt. We beschikken dus niet echt over het objectprogramma.

Zitten er namelijk fouten in het programma, dan wordt de uitvoering bij de

eerste fout al gestopt. De PET keert terug naar het comman~o-niveau, dat wil

zeggen dat na correctie van een fout, het programma niet herstart kan worden

op de gecorrigeerde plaats.

Ret corrigeren door middel van de direct cursor control mode en het uitvoeren

( run ) van het programma kan wel eens enkele keren nodig zijn alvorens een

objectprogramrna wordt verkregen dat ontdaan is van zijn formele fouten.

De derde stap is het corrigeren van een programma met betrekking tot logische

fouten.

- 17 -

Wat zijn logische fouten? Hieronder verstaat men:

onterecht gebruik van bepaalde instructies

- onjuiste volgorde van instructies

- systeemfouten in het stroomdiagram

- foutief beschrijven van I/O opdrachten

Met behulp van de Machine Language Monitor biedt de monitor de mogelijkheid,

door middel van de debugger, het objectprogramma van zijn logische foutente ontdoen.

In de PET handleiding ( lit.2 ) worden de commando's beschreven die ter be­

schlkking staan voor het corrigeren. Helaas is de PET 2001 niet voorzien van

de mogelijkheid om programma's single-step uit te voeren ( run ). We zullen

trachten hiervoor een oplossing te vinden.

Een programma dat ontdaan is van zijn logische fouten en van zijn formele

fouten wordt het werkprogramma genoemd. Dit werkprogramma gaat deel uitmaken

van de dokumentatie.

3.6 De dokumentatie

Tot de laatste stap die genomen moet worden voordat een programma gereed is,

behoort het verzorgen van de dokumerltatie.

Waaruit bestaat die dokumentatie?

- a1gemene programmabeschrijving + prestatie aangetoond met resultaten

- beschrijving van de principes + het stroomdiagram

- coderingsformulieren ( vooral indien geen geprinte program-listing ter

beschikking is )

- bedieningsvoorschriften van de randapparatuur en van de computer

- eventue1e aanwijzingen voor uitbreidingen.

De dokumentatie behoort deel uit te maken van een programma-bibliotheek.

Omdat op de TH een programma-bibliotheek nog in voorbereiding is, lijkt het

mij zinvol alvast een eenvoudig archief voor de werkeenheid Meten samen te

stellen. Een dergelijk archief zou al~ voIgt opgebouwd kunnen worden:

• catalogus van aIle dokumentatie in de vorm van een kaartenbak

• mappen met de dokumentatie

• cassettebak met de programmabandjes.

- 18 -

Tot besluit

In het vorige hoofdstuk hebben we kennis gemaakt met stroomdiagrammen. Ze

dienen als hulpmiddel voor het schrijven van bronprogramma's.

We zijn toen aan de vraag voorbij gegaan of stroomdiagrammen weI de beste

methode is. De andere methode voor het uitwerken van een probleem maakt ge­

bruik van de zogenaamde Nassidiagrammen. Men noemt ze ook weI structogrammen.

De structogram methode gaat uit van een globale indeling en vervolgens steeds

weer indelen in kleinere deelproblemen. Zie lit.8 en 9.

De gestruetureerde programmering kent sleehts drie structuurelementen, te

weten: een element voor de volgorde, een voor de Ius en een voor de eonditie­

test. Zie bijlage 8.

Ter illustratie heb ik een voorbeeld uit lit.9 overgenomen. Zie fig.-l.I

Ret met beide methoden op te lossen probleem luidt: Bepaal de grootste waarde

van de drie variabelen A, B, C. Ken dan de grootste waarde aan de variabele

D toe. In fig.-l staat links het stroomdiagram en reehts het struetogram. .

(start)

~.&.·..:..a__..,

ja nee

fig.-l

D;:: A D:= ( D:= B D:= C

Heide methoden hebben hun voor- en nadelen.

Een nadeel van de stroomdiagrammen is dat de funetionele indeling in modules

verlorenkan gaan, indien de ontwerper te gedetailleerde oplossingssehema's

maakt. Een ander bezwaar is bijvoorbeeld dat een Ius aIleen verlaten kan

worden door een eonditietest.

Een programma dat uit blokkert ( modules) bestaat, bezit een structuur met

vele onderlinge verbindingen. Zo'n programma ontstaat uit een stroomdiagram.

TIe gestructureerde programmering kent een booms true tuur , waarbij aIleen een .

Yerbinding naar net module er boven en/of daarbeneden voorkomt. Zie bijlage9.

- 19 -

Wijzigingen in een programma, dat met een stroomdiagram is opgesteld, z1Jn

niet zo eenvoudig aan te brengen omdat de modules onderling afhankelijk

kunnen zijn. De structogrammen zijn derhalve flexibeler.

De structogrammen worden gedetailleerder beschreven ( gunstig gevolg: minder

kans op onvoorziene mogelijkheden ) zodat er meer geheugenplaatsen nodig zijn.

De 'program running time' zal dan ook langer zijn dan bij de stroomdiagram

methode.

Zonder op deze plaats uitvoeriger in te gaan op de voor- en nadelen van beide

me thoden , is de keus gemaakt ten gunste van de stroomdiagrammen. In de lite­

ratuur treft men voornamelijk nog de stroomdiagrammen aan.

Een andere reden was dat momenteel de ervaring met structogrammen ontbreekt

bij gebruikers van microcomputers. Dit top-down-design ( structogram ) is

afkomstig uit de wereld der gebruikers van grote computers.

Microcomputer-gebruikers vinden het vaak een bezwaar dat met de structogrammen

een algemenere oplossing van het probleem verkregen wordt, dan in feite

vereist is.

In theoretische beschouwingen lijkt de keuze reeds ten gunste van de structo­

grammen te zijn gemaakt. Zie lit.8 en 9.

Ret verdient aanbeveling dat de PET gebruikers regelmatig de keuze van het

diagram ter discussie stellen zolang er met stroomdiagrammen gewerkt wordt.

Tot slot kan nog opgemerkt worden dat de structogrruru~en voor hoge program-,

meertalen geschikter zijn dan voor de lage talen.

Ret ziet er dus naar uit dat, indien het computer-systeem complexer wordt

en het geheugen uitgebreid wordt, het structogram de voorkeur gaat krijgen.

_ 20 -

Literatuurlijst

(1) Osborne, A.; An introduction to microcomputers. Some real products.Sybex, Paris, France, 1976.

(21 Het Grote PET Boek. Electronica Top Internationaal, Bilthoven,Holland, 1978.

(3) Dowsing, R.D.; High-level languages. Microcomputers, vol.2, no.l,february 1978, page 42-43.

(4) Koch, Dipl.-Irif.G.R.; Stand und Trends der Programmierung von Mikro­prozessoren. Elektronik, Mikroprozessoren Software, Sonderheft~,

Mtinchen, 1977, page 107-117.

(5) Labudda, Dipl.-Ing.H.J.; llikroprozessor - Kehrseite der Medaille.Elektronik, Sonderheft 11, Mlinchen, 1977, page 4-6.

(6) DIN Normen 66001. Handbuch der EDV-Dokumentation, Edit Publikation,Mlinchen, 1975.

(7) Gossler, Dipl.-Ing.R.; Entwicklungshilfsmittel fUr die Mikrocomputer­Programmierung. Elektronik, Sonderheft 11, Mtinchen, 1977, pag. 88-95.

(8) Pauwels, ir.F.P.C.; Systeem- en ontwikkelingsprogrammatuur. In: Af­delingsleergang Microcomputers, vakgroep Schakeltechniek van de af­deling Elektrotechniek THD, Delft, Technische Hogeschool, 1977, page71-92.

(9) llenbach, Dipl.-Ing.F.; Strukturierte Programmierung auch bei Micro­computer. Elektronik, Sonderheft 11, Mtinchen, 1977, page 118-123.

(10) Havermans, G.M.J.; Handleiding voor het prakticum Digitale Reken­machines. Technische Hogeschool, Eindhoven, voorjaar 1976.

'~.

Bij1age 1

D = Dartmouth BASIC D P D PP = BASIC PET 2001

Rekenkundige operators: Statements:opte11en + + FOR v=e1 TO e2 STEP e3 x xaftrekken - - FOR v=e1 TO e2 x xvermenigvu1digen * * NEXT v x xde1en / / GOSUB S x xexponent t , RETURN x x

Re1atie operators: GOT TO S xkleiner < < GOTO xk1einer of ge1ijk <= .::=,::< RESTORE x xgroter :> ~ IF ere THEN S x xgroter of ge1ijk "'7= ) ::/=~ PAUSE xgelijk := :::: WAIT I,J,K xniet ge1ijk <) <:;> STOP x x

Logische operators: END x xAND x REM x xOR x IF ere GOTO xNOT x ON e GOTO x

Bib1iotheek-functies: ON e GOSUB xSIN ( X ) x x POKE I,J xCOS ( X ) x x SYS (I) xTAN ( X ) x x TI xATN ( X ) x x TIg xEXP(X) x x USR(X) xABS ( X ) x ~ Stringfuncties:LOG ( X ) x x ASC(X8) jfSQR ( X ) x x CHR$(I) xSGN ~ X ) x x LEFT$(X$,I) xEND X) x x LEN(X$) xINT ( X ) x x MID$(X$,I) xTAB ( I ) x RIGHT$(X$,I) xFRE(I) x STR$(X) xPEEK ( I ) x VAL(X$) xSPC ( I ) x Data dec1araties:

x DIM Z(e1) x xMatrix-statements: DIM Z(e1,e2) x x

MAT A = B x DATA n1,n2, •••••nm x xMAT C = A+B x Toekennings statements:MAT C = A-B x LET v=e x xMAT C = ~B x v=e x xMATC = (k)*B x DEF FNa(d)=e x xMATC = INV(A) x I/O statements:MATC = TRN(A) x INPUT v1,v2, ••• vn x xMATC = ZER x READ v1,v2, ••••vn x xMATC = CON x GET xMATC = IDN x PRINT x xHAT READ A,B,C x PRINT(string) x xMAT PRINT A,B,C x PRINT v1,v2 •••• x x

Commando's: OPEN xCLR x CLOSE xLIST x LOAD xRUN x VERIFY xNEW x c. MJ) "CONT SAVe. l<.x

Bij1age 2

MEMORYMAP PET 2001

RAM: 0000

0279

027Acassettebuffer 1

0339

033A cassettebuffer 21k 03FF

0400vrij voor gebruik

7k 1FFF

memory expansion

24k

ROM: 8000

operating system4k 8FFF

9000

interpreter

8k AFFF

BOOO

1k B3FFtestroutines

:8400

FBFF

FCOO

lk FFFFmonitor

Bijlage 3

STROOMDIAGRAM-SYMBOLEN volgens DIN 66001

~ proces, veer algeroeen gebruik

oDo·oo

>

-1o

C )

decision

subroutine

programmamodificaties ( preparation )

manual operation

input/output

flow line

junction

connector

terminal of interrupt

Bijlage 4

VOORBEELD VAN EEN STROOMDIAGRAM

3 - 6

JA .

15

S USR.

20

NEE

17 1 8

PROG RAMMA DOK.-NR.0:: origineel BLZ.

NAAM FUNK TIE H= herzien

/KOM MENT AAR

STROO MOl AGRAMNR . TEKST

..

L

-

,

PROGRAMM£UR DATUM VfRVOlG BlZ.

-

HERZIEN o OaF'{ DATUM lIE

P ROGR AMMA-NAAM

BA SIC PROGRAMMA

PROGRAMMEUR

LLLI I I I_I I I J I I I I I·' I I f I I ILl I I I I I I I

DATUM DOK-NR. 1HZ.

LETREAD DATA

IF THENFOR NEXTGOTOPRINTDIMEND

RESTOREREMGOSUBRETURNON .. GOTO·ON .. GOSUBINPUTOEF FN

STEPGETSTOP

RUNNEWCLRCaNTLISTFRE

Bijlage 7

Commodore-BASIC

Standard-BASIC-AnweisungenZLJordnulJg (kann weggelassen werden)READ liest Daten (numerisch oder alphanumerisch) ins Programm, welcheunter DATA abgelegt sinderlaubt logische Verglelche (wenn ... dann)ermbglicht SchleifenSprungbefehlAusgabe auf den Bildschirm; ZeilenvorschubDimensionierung von Feldern (Arrays)letzte Anwelsung eines Programmes

Erweiterte BASIC-Anweisungen .ermoglicht mehrfaches Lesen von DATAerlaubt Zwischentext (Bemerkungen) im Programmmehrfach gebrauchte Programmteile kbnnen alsSubroutine gerufen werdenfur berechnete Verzweigungenfur berechnete SubroutinenEingabe von Werten von der TastaturDefinition von Funktionen, welche dann beliebig oft im Programmaufgerufen werden kbnnenBestimmung der Schrittweite in FOR-NEXT-Schleifen

'akzeptiert einzelne Zeichen von der Tastaturbeendet ein laufendes Programm

Systemanweisungenstartet ein Programmloscht den ArbeitsspeicherIbscht aile Variablen (einschlieBlich Dimensionierung)setzt Programmausfuhrung forterstellt eine Liste des Programmsergibt die Anzahl freier Bytes 1m Programmspeicher

r

SGNINTABSSOR

. SINCOSTANATNLOGEXPRND

LEFTZRIGHTSMID$CHR$ASCSTRSVALLEN

SPCTABpas

Funktionenermittelt das Vorzeichenergibt den ganzlahligen Anteil elner lahl!iefert de" Absolutwert einer lahlermittelt die OuadratwurzelSinus elnes Winkels (WinkelmaB Radianten)l< ..,OSlnusTangensArcus Tangensnaturlicher Logarithmus einer lahlPotenz zur Basis e (e = 2.718 ... )liefert Pseudo-ZufallszahlenWert 1t. ist fest gespeichert

String-(Zeichenketten-) FunktionenAus einem String kbnnen genau spezifizierteSubstrings (Teile des ursprunglichen Strings)herausgenommen werdenwandelt ASCII-Codes in leichen umwandelt leichen in den entsprechenden ASCII-Codewandelt lah!en zu lahlenstrings .wandelt lahlenstrings zu normalen lahlenermlttelt die tatsachliche Lange eines Strings

Formatierungsanweisungenbringt eine spezifizierte Anzahl LeerzeichenTabulatorermittelt dIe nachste verfugbare Druckposition

Logische OperatorenAND Verknupft 2 Werte mit der UND-FunktionOR Verknupft 2 Werte mit der ODER-FunktionNOT Negation

Maschinensprache-AnweisungenPEEKPOKEUSRSYS

liest einzeln'e "Bytes aus dem Speicherspeichert einzelne Bytes in spezifizierte Adressen

verbinden das BASIC-Programm mit der Maschinensprache

OPENCLOSESAVELOADVERIFYPR.lNT#INPUT#GET#CMD

Input-Output-Anweisungen

DatelerbffnungSchlieBen eines BlockesSpeichern eines Programmes auf der KassetteLaden eines Programmes von der KassetteVergleichen des Spelcherinhaltes mit dem FileWie Print, jedoch auf Gerat #Wie INPUT, jedoch vom Gerat #Wie GET, jedoch vom Gerat #Hauptanweisung fUr Verkehr mit Geraten am IEEE-Bus

Variable'.

ABC ... AA AB AC ... AO A1 A2 . . . r'\Einfache Variable mit voller Genauigkeit und einem Speicherplatzbedarfvon 5 (bzw. 7) Bytes

A% B% ... AA% AB% ... A1% A2% ...Ganzzahlvariable mit einemBereich von -32000 bis +32000 und einemSpeicherplatzbedarf von 2 Bytes

A$ B$ ... AA$ AB$ ... AO$ A1$ ...String (Zeichenketten) variable mit einem Speicherplatzbedarfvon 1 Byte/Zeichen

Bei allen 3 Variablenarten sind mehrdimen,sionale Felder moglich

SpezialvariableTITI$ST.

durchlaufende Zeit in 1/60 s-Einhelten, quarzgenauTageszeit in Stunden, Minuten, SekundenStatus von PeripheriegeriHen

Bijlage 8

ELEMc."""'NTEN VAN BEN STRUCTOGRAM

A A

B

c

nee

HerhA.al ~ "1." L.c:ll.n~e r

tA.An conolitie worolt:voLo(AAn

c

J)

nee

E.J>

Bijlage 9

Programma structuren

Oe----

Modulair opgezet programma

Programma met boomstructuur, opgezet met structogram

AFDELING DER E1.J:!J"KTROTECHl'UEK

TECHNISCHE HOGESCHOOL

EINDHOVEN

Vakgroep l1eten en Regelen

MEETSYST.s'Et-1 HET DE

MICROCOHPUTER PET 2001

door P.M.J. Verberne

Deelrapport van het afstudeerwerk

uitgevoerd van medio september 1978 tot maart 1979in opdracht van prof.dr.C.E. }fulders

onder leiding van ir.R.G. van Vliet

- 2 -

Samenvatting

Uit de onderz~ekslijnen, die bij het onderzoek naar de toepassing van

microprocessors naar boven zijn gekomen, heb ik gekozen voor het realiseren

van een modern meetsysteem.

De IEEE-488 standaard valt niet meer weg te denken uit de meettechniek.

De implementatie van deze standaard op de PET 2001 maakte deel uit v&~

mijn onderzoek.

In-dit deelrapport heb ik beschreven op welke wijze een meetsysteem ontwor­

pen en opgebouwd kan worden.

Ik heb aangetoond dat het beoogde doel, het verwezenlijken van een intelli­

gent meetsysteem met IEEE-488 bus structuur, mogelijk is.

Bet onderzoek heeft geleid tot een goedwerkend intelligent meetsysteem met

een configuratie, die gebaseerd is op het microcomputersysteem PET 2001.

Bet bleek ook noodzakelijk te zijn de PET 2001 hardware uit te breiden voor

het testen van programmatuur.

Measuring system based on the microcomputer PET 2001

SUmmary

- --Searching-for mIcroprocessor applications in measurement has led to research­

lines, from which I have chosen a modern measuring system.

The IEEE-488 standard can not longer be ignored when dealing with measuring

-systems.

The IEEE-488 implementation on the PET 2001 formed part of my research.

A description is given of the design and the set-up of a measuring system.

I demonstrated that it is possi~le to set up an intelligent measuring system

with an IEEE-488 bus structure based on the microcomputer system PET 2001.

It was necessary to make a hardware expansion of the PET 2001 for the testing

of software.

- 3 -

Inhoudsopgaveb1adzijde:

11

21

31

4

5

\

Inleiding

1. De IEEE 488 - 1975 Bus1.1 Beschrijving van de bus1.2 Co~~unicatie via de bus1.3 Kenmerken van de bus

2. Meetsystemen__ 2.1 Opbouw

2.2 Het adresseren2.3 System operations

3. Gerealiseerd meetsysteem3.1 Ontwerp van een meetsysteem3.2 Operation

4. De microprocessor MCS 65024.1 Aspecten v~~ het MCS 6500 systeem4.2 Pinout van de MCS 65024.3 Programmabesturing

5. Een systeemuitbreiding- 5.1 Statisch testen. 5.2 D,ynamisch testen

_. __ .__ 5.•.3._~fer interface\

Conc1usies en aanbevelingen 36

-----lri-t€ratuur1ijst 37

Bij1agen: 1 Voorbeeld van een meetsysteem2 Stroo~diagram IEEE 488 communicatie3 Systeemstructuren

-4 ..H-P adres codes5 P~T adres codes6 Programma code set H-P 5345A7 Stroomdiagram 'Remote Counting'8 Werkprogramma 'Remote Counting'9 Timing MCS 6502

10 Testschakeling: printuitvoering, connector pin-funkties11 Buffer interface: printuitvoering, connector pin-funkties.

PET expansion connector panel, connectorpin-funkties

Inleiding

- 4 -

.",,;'.

Ret eerste deelrapport behandelt de toepassing van de microprocessor in de

meettechniek en de opbou~ van een microcomputer-systeem. In het vorige deel­

rapport heb ik aandacht geschor~en aan het microcomputer-systeem PET 2001 en

&an de methodiek van het progr~~eren.

Daarbij heb ik roij moeten beperken tot het geven van richtlijnen voor het

opstellen van programma's.

In dit derde deelrapport wordt zonodig gebruik gemaakt van de vorige deel­

rapporten.

In het eerste deelrapport zlJn ep~ele toepassingen van microprocessors be­

sproken. Een van de voorbeelden was het data-acquisitie systeem.

Bij een dergelijk modern meetsysteem spelen een aantal zaken een rol, zoals:

de opbouw van het systeem, de organisatie van de meetprocedure en de ver­

werking van de meetgegevens.

Met name wordt de IERF~488 interface bus toegelicht, omdat zij een wezenlijk

bestanddeel vormt van het moderne meetsysteem, dat in het tweede hoofdstuk

te~ sprake komt. ,Verder zullen we nog aspecten bekijken die van belang zijn voor de systeem

configuratie. Men moet daarbij denken aan: adressering en'syste~ operating'.

Om de theorie aan de praktijk te toetsen, is een meetsyste~m met er~ele

apparaten opgezet. Ret doel van het systeem is het meten van een reeks.frekwenties en daa-~it de gemiddelde waa-~e en de standaard afwijking te

bepalen.

Wellis~aar betreft het een eenvoudig meetsysteem, maar het illustreert toch

afdoende de configuratie van een modern meetsysteem en haar werking.

Tot slot wordt in het rapport een systeemuitbreiding van de PET besproken.

Ret ontbreken van een'single step circuit'bleek een gemis te zijn bij het

testen van programma's. Derhalve is er een prototype gemaakt van een 'single

step circl1it' met buffer interface. Een korte beschrijving van enkele ken­

merken v~~ de microprocessor ?1CS 6502 vormt de inleiding voor het laatste

hoofdstuk, waarin het 'single step circ11it' en een handleiding voor het ge­

bruik van het circuit worden besproken.

Enkele conclusies en aanbevelingen vormen de afsluiting van dit deelrapport

en hebben betrekking op mijn gehele afstudeerwerk.

- 5 -

1. De IEEE 488-1975 Bus

Bij de bespreking van een microcomputer-systeem ( lit.l ) hebben we reeds

kennis gemaakt met het busbar-systeem. Via het busbar-systeem vindt de com­

municatie in de microcomputer tussen de diverse modules grotendeels op de­

zelfde wijze plaats. Communicatie van de microcomputer met perifere apparaten

kap op verschillende manieren plaats vinden.

In het algemeen kunnen we twee bus tJ~en onderscheiden: de parallel bus en

de bit-serie bus.

~ parallel bus wordt gebruikt als microprocessor bus en als bus tussen

systemen. Voorbeelden:

-microprocessor bus: 2650 bus, 6800 bus, 8080 bus, SIOO bus, Z80 bus

-intersysteem bus: IEEE 488 bus, IEEE 583 CAMAC system

Er is een duidelijk onderscheid in microcomputer busbar-systemen en in bus­

bar-systemen voor instrumentatie. De CAMAC bus is eigenlijk een buitenbeentje,

omdat deze standaard aIle facetten van interfacing beschrijft vanaf de bouw-

---stenen tot aan het complete systeem toe.

De bit-serie bus wordt gebruikt om terminals met de microGomputer te koppelen.

----Terminals zoals-, - CRT, teleprinters, TTY. Voorbeelden:

___ -~1!_ Rf32~2C .,_~IA ~422&423

-standard for character codes: ASCII, EBCDIC

We~liswaar zijn de karakter koderingen geen bus standaards, maar weI stan­

daards voor bit-serie ·communicatie. In feite kunnen we een onderverdeling

aanbrengen in synchrone en asynchrone bus standaards. De asynchrone bus

wordt gebruikt bij data rates kleiner dan 20.000 bits/sec. De synchrone bus

bij data rates groter dan 10.000 bits/sec.

We zullen ons hier beperken tot de instrumentatiebus.

De ontwikkelingen in de digitale instrumentatie en in data-acquisitie systemen

maakten het noodzakelijk dat er een standaard kwam voor het koppelen ( inter­

facing ) van meetapparaten. Voor deze instrumentatie bus zijn een aantal

namen in omloop:

-IEC bus ( International Electrotechnical Commission ), deze bus wordt veel

gebruikt door europese fabrikanten, b.v. Philips

-GPIB (General Purpose Interface Bus ), b.v. Tektronix

-HPIB (Hewlett-Packard Interface Bus )

-IEEE 488-1975 bus:Digital Interface For Prograw~able Instrumentation

Deze bussen zijn gelijkYraardig, waarbij IEC aIleen een afwijkende connector

heeft. De naam IEEE 488 bus wordt het mecst gebruikt.

- 6 -

Hewlett-Packard heeft de primaire ontwik-keling op haar naam staan. Het,

handshaking principe is een H-P patent, waarvoor nog steeds iedere producent

·van de IEEE 488 bus een licentie van H-P moet verkrijgen.

De IEEE 488 bus staat precies beschreven in het rapport va."]. IEEE ( lit. 2 ).

Meer gericht op de gebruiker van apparatuur en bouwstenen is de dokumentatie

afkomstig van de desbetreffende fabrikanten. Verder zijn er artikelen in

tijdschriften. Zie lit.3,4,5.

Omdat meetapparatuur en meetsystemen in toenemende mate van deze IEEE 488

bus voorzien worden, acht ik een korte beschrijving hier op zijn plaats.

1.1 Beschrijving van de bus

In de IEEE 488 worden de volgende punten gedefinieerd:

- het bussysteem; inclusief connectors, kabels, signaallijnen, spannings-.

niveau's

funkties van het instrumentatie interface zoals: handshaking, talker,

listener en controller

- berichten en codes voor besturing zoals:.. ... ~.!'_ (~i_st.en). i_~.?C?~e: XOllllll XXX XXXXX

GEL ( go to local)" XOOOOOOI XXX XXXXX,

---Er-is een-bidirectionele-'datastroomover een kabel tussen microcomputer en

meetapparatuur mogelijk. Volgens de standaard heeft de kabel 16 signaallijnen.

De signaallijnen zijn.ih 3 groepen onder te brengen, te weten de databus, de

.data.byte transfer control bus enne general ~~erface management bus.

De databus is bidirecticneel en heeft een breedte van 8 bits ( DIOl-8 ). uedatabus funktioneert als het ware ook als adres- en controlbus. Over deze

databus worden dus data bytes en gecodeerde interface berichten gezonden.

De data byte transfer control bus bestaat uit 3 lijnen: NRFD, NDAC en DAV.

Deze lijnen zorgen voor de 'handshaking' tussen de systemen.

De general interface management bus bestaat uit 5 lijnen: IFC, ATN, SRQ., HEN

en EOI. Deze besturingssignalen regelen de algemene toestand van het systeem.

Voor we de definities van bovengenoemde signalen geven, voIgt eerst de defi­

nitie van de signaalniveau's:

false ( 0 ) = logische nul ( signaal niveau hoog , ).true ( 1 ) = logische een ( signaal niveau laag )

Om aIle bussignalen als low true te h.'UIillen geven, ../orden de ontkenningen

gebruikt voor de signalen RFD en DAC.

- 7 -

De transfer en management signalen worden als voIgt gedefinieerd:

- NRFD ( not ready for data ) true betekent dat de informatie door de luiste­

raar aangenomen kan worden

~ Nn&C ( not data accepted) tr~e betekent dat de luisteraarde informatie

ontvangen heeft

- DAV ( data valid ) true betekent dat de data geldig is

- IFC ( interface clear ) true betekent dat het systeem in een bekende toe-

stand wordt gebracht. Andere namen zijn: EOP ( end output ) en BeL ( bus

clear )

- ATN ( attention) true betekent dat de databus een zeven-bit commando of

zeven-bit adres bevat. False betekent dat de databus data bevat.

Andere naam : MRE ( multiple response enable )

- SRQ ( service request ) true betekent voor de controller dat een apparaat

de aandacht vraagt

- BEN ( remote enable ) true betekent dat de lokale regeling van een apparaat •

uitgeschakeld is ,- EOI ( end or identify ) true betekent het einde van een datatransport.

-----ditsignaal-is een 'flag' - voor -de- controller

1.2 Communicatie via de bus

Apparaten, die via het bus-systeem met elkaar communiceren, kunnen op drie

manieren als deelnemer Iungeren. Ret systeem is op te bouwen met een bestu­

__p~~eenheiden maximaal 14 apparaten.

Op bijlage 1 ziet u een voorbeeld van een mogelijke opbouw van een meetsy­

steem.

We kunnen drie deelnemersrollen onderscheiden:

- controller (besturingseenheid) bestuurt de acties in het systeem

- listener (luisteraar) ontvangt informatie indien hij geadresseerd wordt

- talker ( spreker ) stuurt informatie indien hij geadresseerd wordt

Ret is dus mogelijk dat een apparaat een of meer van de deelnemersrollen

speelt.

De besturingseenheid maakt altijd deel uit van het systeem. Afhankelijk van

het doel van het meetsysteem kunnen er meerdere sprekers en luisteraars zijn.

Er zijn drie basis situaties voor het zenden en ontvangen van data:

instrument - calculator ( rekenorgaan ), calculator - instrument en

instrument - instrument.

In de meeste gevallen zal een calculator dienst doen als controller.

- 8 -

_Op ieder tijdstip mag er slechts een spreker actief zijn terwijl er meerdere

actieve luisteraars roogen zijn. De traagste luisteraar bepaalt de beneden­

grens van de data rate. De bovengrens wordt door IEEE 488 weI vastgelegd en

bedraagt I megabyte / sec.

nus afhankelijk van de implementatie kan een apparaat f~~geren als spreker

of als luisteraar. Ret apparaat moet dan ook als zodanig door de besturings­

eenheid aangesproken worden. Omdat de adressering inherent is aan het systeem

wordt zij besproken in het hoofdstuk over het meetsysteem.

Hoe verloopt de communicatie in het meetsysteem? De toestandsdiagrammen in

het IEEE 488 rapport beschrijven exact het verloop. ~~r een'tijdvolgorde­

diagram is voor de meeste lezers vaak aanschouwelijker. Zie fig.I.2.-1 •

Men ziet het verloop ook weI met een stroomdiagram aangeduid. Zie bijlage 2.

De besturingseenheid kan, nadat zij de ATN lijn true:heeft:ge,maakt, over de

databus een spreekadres en een of meerdere luisteradressen overzenden.

Maakt de besturingseenheid vervolgen~ de ATN lijn false, dan spreekt de

zojuist geactiveerde spreker tot de eveneens geactiveerde IUisteraar(s).I

Deze acties kunnen herhaald worden.

--Ret overzenden V~~ 'data ~ytes 'beantwoordt aan'het handshaking principe.

De handshaking verloopt aldus:-- - -.- - - -- -

De spreker zet de data byte op de databus. Nadat de traagste luisteraar

zich gemeld heeft ( N~D , tl ), maakt de spreker de data geldig ( DAV, t2 )

en wacht totdat de data geaccepteerd wordt. De luisteraar(s) zijn nu bezig

. en kunnen geen nieuwe data. byte ontvangen ( NRFD, t3 ). Nadat de snelste

luisteraar de data ontvangen heeft ( NDAC, t4 ) en ook de traagste luisteraar

dit gemeld heeft ( NDAC, t5 ) kan de spreker de data weer ongeldig maken

( DAV, t6 ). De luisteraars maken zich wee gereed om nieuwe data bytes te

ontvangen ( NDAC, t8 ). De spreker kan weer een nieuwe data byte op de data

bus zetten ( t7 ). De snelste luisteraar meidt zich weer gereed ( NRFD, t9 )

tot aan de traagste luisteraar ( NP~, tlO ). En het beschreven proces her­

haalt zich dan weer.

1.3 Kenmerken van de bus

Tot slot wil ik puntsgewijs nag eIL~ele facetten van de bus bespreken.

- Een van de grootste bezwaren, die geuit kunnen worden tegen de standaard,

is het ontbreken van een norm voor de software. De code en het form3.at van

de berichten worden momenteel door de fabrikanten zelf bepaald. Zie lit.6,5 •

- De gebruikte kabels moeten samen een lengte in meters hebben, die kleiner

,

DI 0 1-8 <. FIRST DATA B1JTE X i S~COND DATA BIJ TE/

7

H r-r~ f··; .-I ,,,l 1 ,

NRFD l !! 1 I I

I

H t:1/ I 1/ t 'II J - I r j\0

DAV I I

L

H~···;-T t ~r-r

NDAC I I! I

L ! ;, S

FIG.1.2~1 TlJDVO LCiORDE DIAGRAM I EEE-4'8~•

-10 -

is dan 2 x aantal app~-aten, vaarbij ~e EaXimale kabellengte gelimiteerd is

op 20 m • Voor grote afstanden is dus een koppeling ( interfacing ) nodig

met de PDV-bus ( Projekt Prozesslenkung mit Datenverarbeitungsanlagen ).

Deze interfaces zijn neg niet als bouwsteen in de handel. Deze interfaces

zijn zelf vaak van een microprocessor voorzien vanNege de complexe f~~ctie.

-.Bet data forrnaat is byte-serial, bit-parallel. Voor de codering gebr~ikt

men de ASCII code. Ret 8-bit binaire woord vormt een byte, die via de 8 pa­

rallelle lijnen verzonden wordt. TIe bytes worden achtereenvolgend ( serial )

verzonden. De data transfer geschiedt asynchroon, hetgeen een flexibele

systeemopbouw toe staat.

- Ret formaat is vrij. Ret ene instrument verzendt data in floating point

fonnat en een ander weer in fixed point formaat. Ook de 'ranges' van de in­

strumenten hebben andere coderino-en en data formats.

Ondanks deze nadelen zijn de voordelen voor de systeemopbouw veel talrijker

en belangrijker. Er wordt gewerkt aan een herziening van de standaard. Zie

lit.6 • •

- 11 -

2. Meetsystemen

2.1 Opbouw

Aan meetsystemen worden steeds meer eisen gesteld, zodat de niet-intelligen­

te systemen op de achtergrond gedrongen worden. Op het Interkama Kongress '77hebben o.a. f1UCKLI en K~LL de nieuwe tendens aangegeven. Zie lit. 7.Enkele wensen en eisen waaraan voldaan moet kunnen worden:

- Metingen moeten gevoeliger en nauwkeuriger verricht worden. Men kan dit be­

reiken door meetgegevens te vergelijken met andere metingen en de voorge­

schiedenis er bij te betrekken.

- Verwerken van grote aantallen meetgegevens, die pas door hun totaliteit de

gevraagde informatie opleveren, terwijl enkele meetgegevens maar een be­

trekkelijke waarde hebben.

- Overdracht van meetgegevens over grote afstanden. Dit wordt veroorzaakt

door verspreiding van de te meten en te testen objekten.

Bet verrichten van metingen op tijdstippen en met een regelmaat die beiden

in te stellen zijn.

- Bet vaak en snel testen van systeemcondities.

Bet testen van complexe onderlinge ,afhankelijkheden, waarbij afzonderlijke

metingen niet mogelijk zijn ( indirekt meten ).

- Flexibiliteit van de meetopstelling omdat de metingen en meetobjekten vaak

"kunnen wijzigen.

- ~~etsystemen moeten gemakkelijk te onderhouden zijn en vooral 'overzichtelijk

blijven.

Een oplossing voor zulke meetsystemen is aIleen denkbaar met intelligente

meetsystemen. Hieronder worden dan systemen verstaan, die opgebouwd zijn met

micro- en/of minicomputers. Men is vaak geneigd om een krachtiger minibased

systeem te nemen, terwijl dat economisch niet verantwoord is en men met een

microbased systeem kan volstaan.

Om aan bovenstaande eisen te kunnen voldoen, moet de opbouw van het meetsy­

steem geschieden met van elkaar onafhankelijke modulen, die gekoppeld kuIL~en

worden via een bussysteem. We kunnen de keuze voor een busstructuur aanneme­

lijker maken door een afweging van voor- en nadelen van diverse systeemstruc­

turen. In lit. 8 worden de structuren besproken. Op deze plaats wil ik enkele

punten naar voren halen.

De noodzaak van een systeemstructuur vindt deels zijn oorzaak bij de lokale

data-acquisitie en deels bij test/meetsystemen.

-- 12 -

Er.zijn diverse structuren mogelijk, zoals bijvoorbeeld: buss truc tuur,

netstructuur, sterstructuur of mengvormen zoals net-sterstructuur. Op bij-

- lage 3 staan enkele structuren getekend.

De andere structuren zijn ten opzichte van de busstructuur gecompliceerder

en kunnen vaak niet met een controller toe. Doorgaans is de systeembetrouw­

baarheid minder ten gevolge van afhankelijkheid van de modulen onderling.

Er is meestal meer apparatuur en bekabeling nodig. Voordeel is dat de

snelheid groter is omdat de modulen onderling meer communicatielijnen hebben.

Fig. 2.1.-1 laat een voorbeeld zien van een intelligent meetsysteem zonder

busstructuur. Fig. 2.1.-2 toont een meetsysteem met busstructuur.

De moderne meetsystemen hebben tot voordeel dat systeemontwikkeling een­

voudiger is, doordat de apparatuur als het ware plug-in units zijn.

Hierdoor zijn veranderingen in de opstelling en van de funkties ook gemak­

ke1ijker te implementeren.

Verder is de betrouwbaarheid van het moderne meetsysteem groter omdat de

modulen ( apparaten ) onafhankelijkzijn.

Natuurlijk is het economische voordeel door -de besparing op bekabeling. Dit

___.~~e_~~_d~re_kt~ok e~n na.~e~l__~~t _gevole;.• AIle c(:)Inmun~catie moet_over die ene

kabel ( Bus ) plaats vinden. Dit v~gt om voorzieningen, opdat oproepen

----¥an· modulen door de-controller herkentkunnen worden ( polling: ). -

Zoals uit het vorige hoofdstuk is gebleken, biedt de IEEF. 488 standaard

bus hiervoor een uitkomst.

Hoe kan men een meetsysteem ontwerpen en.opbouwen? Bij het ontwerpen van een

meetsysteem blijkt het handig te zijn enkele regels te volgen:

1 ProgrammaontwiY~eling. In de analyse van het probleem worden ook de te ge­

bruiken modulen betrokken en wordt de meetprocedure vastgelegd. In mijn

vorige deelrapport staan richtlijnen voor het schrijven van programma's.

Zie lit. 9.2 Adressering. De te gebruiken apparatuur krijgt adressen toegewezen. Ret

is vaak nuttig deze adressen te tabelleren. In paragraaf 2.2 kom ik terug

op het adresseren. Tabel 2.1.-1 laat een voorbeeld zien van een 'address

assignment table'.

3 Set-up. Ret setup diagram toont de configuratie van het meetsysteem. In net

setup diagram worden de modulen ( apparaten ), de kabelverbindingen e.d.

vermeld. Fig. 2.1.-3 laat een voorbeeld zien van een setup diagram.

Bij de set-up hoort verder een'setup manual'. In deze manual vermelden we

- 13 -

de aan te brengen verbindingen ( soorten kabels ) en gebruik van speciale

plug-ins voor apparaten ( bus interface cards ). In de manual komt verder

te staan welke frontpaneel funkties wel lokaal ingesteld moeten worden

en wat de instelwearden zijn. Vaak moeten signaalniveau's met de hand

ingesteld worden.

Het opbouwen en uitvoeren noemen we 'measurement operation'. Bier kunnen we

een aantal punten onderscheiden:

1 Assemblage. Het meetsysteem wordt opgebouwd aan de hand van het.setup dia­

gram en van de manual.

2 ~rogramma invoer. Het pro~~ wordt ingelezen. Dit kan op verschillende

manieren, bijvoorbeeld via het toetsenbord of een cassetterecorder.

Eij een nieuw programma zal er meestal nog een programma verificatie moeten

plaats vinden. Zie lit. 9 voor program editting en debugging bij de PST.

3 Programma executie. Het programma wordt ten uitvoer gebracht ( RUN ).

'.switches gecodeerc

module naam address mode adre.s- ... - •.__. _. - .•. - (PET)

A~ A4 A, A2 Al,- -H-P-53451 electronic 1- 0 0 1 -0 addressable 18

counterH-P 8660 signal 0 0 1 0 0 addressable 4

generator.H:..P 3490) DVM 1 0 1 1 0 addressable 22.. _.

tabel 2.1.-1 address assignment table

controller-

plotter cable PET 2001/\.

] r IEEE 488 bus cables,v

/\ J...." j [ J L'1./

V 'V

H-P l862A H-P 8660B subject H-P 3490Aplotter signal "- under "- DVI~

~ ....generator test

fig. 2.1.-3 setup diagram

iI

\ \

\\

CONTRoLLEn rAnT

, : :

J . i j

.. I I,

DIGITAL I ; SCDJECt' Uf\OEn rRoaRA~NEm.E

VOLT~ETER 'fEST pO'ir.n SUVrLY

. -.., I, I

PRISTER

• ..i

FIG. 2.\-1 MEETSYSTEEM ZONDE~ BUSSTRUCTUUR

.. '"

~~

I

('

,.

\

. ,

nus1

I

. , ., .. . . .

CO~TROtLER r,\RT

· ... , . .. .

DICITAL Sl:BJECT U"OER PR(,CRA"~IEU1.t

VOLT~E:TER TEST PO\;E Il St!l't'LY

-

·• .

PRIST£R ... ,

·.

FIG, 2. 1.-2 MEETSYSTEEM MET BUSSTRUC.TUUR

II..JV1

- 16 -" .

..-.~2.2 Ret adresseren

Bet IEEE 488 systeem heeft een bijzondere adresserings methode voor het aan­

roepen van de sprekers en luisteraars. Ik zal de methode hier toelichten.

Aan iedere module ( apparaat ) in het systeem worden adressen toegekend.

--Daarbij kan een module een spreekadres of luisteradres ofwel beide adressen

hebben. Een module kan bijvoorbeeld via het luisteradres geprogrammeerde

instructies ontvangen en via het spreekadres data verzenden.

Ret komt ook voor dat een apparaat twee lUiste~- en/of twee spreekadressen

heeft. Via het ene luisteradres worden dan b.v. geprogrammeerde instructies

ontvangen en over het andere luisteradres data. Ret is ook mogelijk dat een

apparaat de data in verschillend formaat kan verzenden via de verschillende

spreekadressen. Dergelijke apparaten hebben dan vier in te stellen schakelaars

nl. A5 t/m A2. De adresinstelling met schakelaars bespreek ik verderop.

Veel apparaten hebben verder nog een schakelaar waarmee een 'addressable mode'

"resp. een 'talk-only mode' of 'listen-only mode' kan worden ingesteld. Bij

meetsystemen waarin een controller is opgenomen, IDoeten de apparaten in de

addressable mode gezet worden.

__ -Ret adres -bestaat uit een 7-bit-binaire-code.-Het zesde en-zevende bit van de

code bepalen of we te maken hebben met een spreek- of luisteradres. De eerste

-viJrbits ~lijzen het apparaat aan.

De IEEE 488 standaard bevat weI een lijst met coderingen van bus berichten,.maar legt niet vast hoe dat gecodeerd moet worden. In tabel 2.2.-1 staan ter

illustratie een viertal berichten opgenomen.

mnemonic message DID 8 - 1 ~andshake mana.gement

DAB Data Byte D8 D7 D6 D5 D4 D3 D2 DJ x x x 0 x x x xLAG Listen Address Group x 0 1 x x x x x x x x 1 x x x xTAG Talk Address Group x 1 0 x x x x x x xx 1 x x x xUNL Unlisten x 0 1 1 1 1 1 1 x x x 1 x xxx.

tabel 2.2.-1 Bussignaallijnen en codes

Ret adres gaat er dan als voIgt uitzien:

bitpositie b7 b6 b5 b4 03 b2 blspreekadres 1 0luis teradres 0 1 A5 A4 A3 A2 Al

De bitposities A5 t/m Al moeten meestal door middel van tuimelschakelaartjes

op het apparaat zelf in&~steld worden. In de 'operating manual' van ieder

apparaat staan de specificaties voor het instellen van de adressen.

11 -

H-P gebruikt de ASCII karakter cedering veer de 7-bit binaire cede. Op bij­

1age 4 vindt u een tabel met teegestane adres cedes veer H-P apparatuur.

Voorbeeld: bitpositie b7 b6 b5 b4 b3 b2 blcode 1 0 1 0 0 0 1code 0 1 1 0 0 0 1

In dit voorbeeld is het spreekadres dan Q en het luisteradres 1.

Helaas is het voor de PET noodzakelijk in plaats van de ASCII code een andere

code te gebruiken. Op bijlage 5 staan de adres codes voor de PET, die het

mogelijk maken om H-P apparatuur te adresseren.

Ret door middel van schakelaars ingestelde bitpatroon stelt een binair getal

voor, waarvan de decimale waarde het adres representeert voor' de PET.

Voorbeeld: bitpositie b7 b6 b5 b4 b3 b2 blingesteld 1 0 0 0 1

In dit voorbeeld is het adres van een apparaat dan 17. Aan het soort bus

statement herkent een apparaat dan of het moet spreken of luisteren. Deze

bus statements worden in paragraaf 2.3.4 besproken.

2.; System operations

Enkele belangrijke punten met betrekking tot de werking van de IEEE 488 bus

- - -worden--nader bekeken.

___~;.l Remote- en -local

Indien we een meetprocedure door een controller laten regelen, willen we.vaak dat de apparatuUr lokaal niet meer bediend wordt. Met lokale bedieni~g

- wordt --dan bedoeld, dat de frontpaneel funkties van een apparaat met de hand

ingesteld moeten worden. Het uitschakelen van de frontpaneel funkties en deze

over laten nemen door een controller noemen we 'remote operation' van een

apparaat. De meeste apparatuur wordt door een gecodeerd bericht in de 're­

mote state' gebracht. Bijvoorbeeld: voor de H-P 5345A Counter 'switch to

remote' is de ASCII gecodeerde instructie 'E8'.

Vaak is een apparaat voorzien van een knop Local/Reset, waarmede een appa­

raat dat in de remote state verkeert weer in de local state gebracht kan

worden. Indien men wil voorkomen dat dit gedurende een bepaalde meetproce­

dure gebeurt, dan is er de instructie 'Lo~al Lockout' (110) \olaarmede een

systeem beveiligd kan worden tegen ongeoorloofd ingrijpen.,

Het bussysteem kent een speciaal statement waarmede de bus geactiveerd kan

worden voor datatransport en voer het programmeren van apparatuur. Dit is

bet Bus Command Statement. Dit duiden we aan met de mnemonic CMD.

,

- 18 .

2.3.2 Bus command

We hebben gezien dat het bus command statement nodig is on te kunnen spreken

en luisteren via de IEEE 488 bus. Syntaktisch ziet het bus command statement

er als voIgt uit:

CMD" < command string > "," < program code string '> "

Waaruit is de command string opgebouwd? De command string is samengesteld

uit een'sequence' van gecodee~de adressen en gecodeerde buscommando's.

De program code string is optioneel.

De addressing sequence heeft de volgende basis vorm:

< 'unlisten command ~ < talk address,> < listen addressees) >net 'unlisten command' is een bus co~~do dat ik verderop zal toelichten.

Het talk address bepaalt dus welk apparaat gaat spreken. Bij het geven van

een nieuw talk address wordt de vcrige spreker het zwijgen opgelegd. Vandaar

dat in de addressing sequence geen'untalk command'behoeft te zitten. Er kun-

--nen meerdere apparaten als luisteraar geactiveerd worden.

Het'unlisten co~nand' is weI noodzakelijk. Het voorkomt dat een luisteraar

door een nieuw bus commando ook nog geactiveerd wordt als spreker. De geco­

__. _d:~~z:c:le_§l.dressenvoor deapparatuur vinden we in de toewijzingstabel van de

adressen, die we tegen gekomen zijn in paragraaf 2.1. I

----Iederecode in de'co!Ill!la..'1d string L wordt uitgezonden en geaccepteerd in de

geschreven volgorde.

Met de bus commando's Kan de systeem controller in een keer een response

-··-Yan diverse apparaten ontvangen in plaats van een reeks responsies op een

reeks afzonderlijke berichten. Niet aIle apparatuur reageert echter op aIle

bekende bus commando's. De operating manual van het gebruikte apparaat kan

daarover uitsluitsel geven.

De bus co~ando's zijn in drie categorien onder te brengen:

unaddress co~~ds, universal commands en audressed commands.

- Op 'unaddress commands' wordt door aIle adresseerbare apparaten gereageerd.

We kennen het unlisten commando ( UNL ) en het untalk commando. ASCII ge­

codeerd: ? respectievelijk

Op de 'universal commands' reageren aIle apparaten al dan niet geadresseerd.

Het is rnogelijk dat een apparaat niet aIle universal cO~T.ando's kent.

Voorbeeld: Local Lockout command (LLO) in ASCII code: DCl.

- Op 'addressed co~~ands' reageren de apparaten , die als luisteraar geadres­

seerd zijn. De controller kan hiermede een selecte groep apparaten selec­

teren. Voorbeeld: Go To Local command ( GTL ) in ASCII code: SOH.

"\

- 19 -

2.3.3 Program code

In de vorige paragraaf hebben we gezien dat de 'program code string' deel uit

kan maken van een bus command statement. Omdat we een apparaat in zijn 're­

mote state' willen laten funktioneren, moeten we eerst een grondige kennis

hebben van de bediening van de frontpaneelfunkties. Deze funkties worden

gerepresenteerd door een verzameling van programma coderingen. Ret is zelfs

mogelijk dat bepaalde funkties van een apparaat aIleen door te programmeren

gebruikt ~~en worden. In de operating manual vinden we de verzameling van

programma coderingen ( program code set ) voor het desbetreffende apparaat.

Een greep uit de program code set van een tweetal apparaten:

H-P 5345A Electronic Counter:

Function:

Reset

freq A code F0time interval Fl

II

Gate time: 10 sec1 sec

Switch to local

code GlGCjEQ

H-P 3330B Automatic Synthesizer:

Freq code L • Ampli tude code N~z > +d& ;

Een program code string is een reeks van programma codes. De karakters worden

--gezonden engeaccepteerd in de geschreven volgorde.

We onderscheiden twee categorien:'literals' en 'variable values'.---_. --

Literals zijn reeksen van karakters, die beginnen en eindigen met aanhalings-

tekens. Ze worden gebruikt om de afzonderlijke ke~erken van een apparaat te.progrWTh~eren. Bijvoorbeeld het instellen van de 5345A op het frekwentie-

bereik A geschiedt door middel van de string "F0".

Variable values worden vaak gebruikt om kenmerken te programmeren, die be­

trekking hebben op continu verlopende meetbereiken. De program code string

kent dan een andere syntax: CND "? < talk address > < listen address > "FMT < format list .,. ; iolRT 13, c:: variable list>

Op de eerste regel staat een command string,' en op de tweede-regel een pro-

gram code string. FHT is een formaat statement en WRT is een \'lri te state-

ment. Deze statements kuI'..nen bij een R-P controller gebruikt worden.

2.3.4 PET IEP,B 488 bus statements

De implementatie van het Cl'ID statement levert bij de PET ten opzichte van

R-P een syntaktisch verschil op. Ret C}ID statement van de PET is echter niet

los te denken van de andere bus statements.

Communicatie van de PET ( controller ) met andere apparatuur via de IEEE 488

bus wordt door de BASIC-interpreter beschouwd als het lezen en schrijven uit

files.

- 20 -

Door middel v~~ de statements OPL}f resp. CLOSE worden files geopend resp.

gesloten. Een file is een cestand dat is sa~engesteld uit records. Het is niet

mijn bedoeling files te bespreken. Zie daarvoor de programmatuur boeken.

J;)e statements PRINT #, INPUT # resp. GET;ff maken het schrijven en lezen

van een sequence karakters resp. van een karakter mogelijk.

Syntax van twee s tatements : OPEN < file number", £ sys tem address >CLOSE < file number>

Het file number is eenvrij te kiezen getal tussen 1 en 255. Het system

address is het adres van de luisteraar of spreker die op de IEE8 488 bus is

aangesloten. De adresnummers 1 en 2zijn gereserveerd voor de. ingebouwde

resp. de externe recorder.

Voor het schrijven naar een apparaat moeten we de volgende combinatie van

statements gebruiken: OPEN ~file number>, <: system a.ddress '>CMD <:file number>PRINT <file nUIuber ,>, < variables :>CLOSE <file number>

Variables bestaan uit een string van-ASCII gecodeerde karakters of de waarde

van een variabele.

< v >,

Het verloop van deze bus actie is als voIgt:

":':-he"i- CMD statement activeert de bus

-_bit~bruik van een P~.IN.T#wordt de luisteraar <::>pgeroe~en die in het OPEN

statement is gespecificeerd

- aIle luisteraars worden in de unlisten state gebracht

Voor het ontvangen vanuit een apparaat moeten we de volgende combinatie van

statements gebruiken:

OPEN <f n '), ~ sa) OPEN ~ f n >CMD <fn> CMD <fn '>

n,TPUTjk f n >, <: V '> GET -# <: f n >CLOSE <f n > CLOSE < f n >Bij deze bus acties wordt een spreker opgero~pen om een string van karakters

te verzenden resp. om een karakter te verzenden.

We zien dus dat hier de bus cOmIIland uit een file number bestaat en dat de

adressing sequence vervangen is door een system address in het OPEN statement.

Bij.het Print statement behoeft de P~T niet meerals spreker geadresseerd te

worden. Bij Input, Get statements is de PET luisteraar en behoeft niet als

zodanig geadresseerd te worden. Ben program code string wordt niet in het

C~!D statement geplaatst, maar door middel van een Print statement als een

string verzonden. Het zal nu duidelijk zijn dat ten gevolge V~~ het Print

en Input statement we geen afzonderlijk spreek- of luisteradres nodig hebben,

maar kunnen volstaan met een adres voor een apparaat.

- 21 -

}. Gerealiseerd meetsysteem

Bet is mijn bedoeling geweest om met de PET en aanwezige meetapparatuur

een meetsysteem te verwezenlijken. Daarmee zou dan inzicht verkregen worden

in de werking van de I'::EE 488 bus van de PET en zou met de ontwikkeling yan

meetsystemen een begin kunnen worden gemaakt.

3.1 Ontwerp van een meetsysteem

Ik zal de drie ontwerpfasen ui t paragraaf 2.1 volgen.-

3.1.1 Programma

A Bet probleem definieren.

Ret doel van het meetsysteem is het meten van een reeks signalen ( fre­

kwenties, tijdintervallen ) en het bepalen v~~ de gemiddelde waarde en de

standaard afwijking van de meetwaarden.

De analyse van het probleem.

Bet probleem is direkt te splitsen in twee deelproblemen. Ml. net verrich­

ten van de metingen en de verNerklng van de meetgegevens. Ret eerste deel­

probleem is weer onder te verdelen in twee subproblemen. Ret eerste sub-

_________J~~1?le:em betreft het instellen van de front paneel fUTL~ties v~~ de meet­

apparaten. Eij het tweede subprobleem worden de metingen uitgevoerd.

- ---Ook-het tweede -deelprobleem is onder te verdelen in een tweetal subpro­

blemen: Nl. het rekenen en het afbeelden van de resultaten. ( in ons ge­

val gemiddelde, standaard aiwijking ).

_De meetapparaten die gebrQikt worden,zijn de H-P 5345A Electronic Counter

en een RC-oscillator Peekel 23A, die het subject under test is. De

PET zal als controller dienst doen en omdat de berekeningen niet om­

_vangrijk zijn, fQ~geert de PET ook als calculator. Verder wordt gebruik

gemaakt van de ingebouwde periferie zoals de CRT en cassetterecorder.

B De oplossingsmethode.

Omdat voor ons doel een S-P 5345A gebruikt wordt, moeten we weten hoe de

£unkties door remote control overgenomen kCUlnen worden en welke meetpro­

cedures net apparaat toelaat. Hiervoor kunnen we de operating manual raad­

plegen. Zie lit. 10.

Op bijlage 6 staat de 'program code set' v~~ de 5345A. Daaruit is af te

lezen welke fQ~kties pro~~eerbaar zijn.

Bet voert te ver om alle f~~kties in dit rapport te bespreken. Maar de

'remote operating modes' wil ik wel toelichten omdat ze de meetprocedure

bepalen.

- 22 -

De meetprocedure is afhankelijk van 'Sample Rate', 'Output Modes' en ' Mea­

surement Initiation'.

Voor de duidelijkheid zullen we eerst nog de meet/reken eyeIus van de H-P

5345A bekijken. Zie fig. 3.1.-1.

tl - t3 .de meetcyclus: deze cyclus wordt bepaald door de gate time, ingangs­

signaal en meetfunktie.

t3 - t4 de process time: deze tijd is nodig voor het berekenen van de ant­

woorden en voor het schrijven op het display. Deze tijd ligt tussen---:;~

de 1 en 4 msec, afhankelijk van de funktie en absolute waarde van

de meetwaarde.

t4 - tl' de sample rate time: wachttijd tussen twee metingen. Deze f~~tie

is te programmeren en wordt ge~ombineerd met de Output Modes.

De totale meettijd is derhalve de tijd tl - tI'.

De ingestelde gate time bepaalt de tijdsduur van de meetcyclus. In de MIN.

positie wordt de meetwaarde door middel van een meting bepaalt over de tijds­

duur van een periode. Indien de ingestelde gate time Kleiner is dan de tijds­

duur van een periode dan vindt uitmiddeling plaats. Indien de periodeduur

... _~o.ter is. d~gat~.tim~ wordt. d~.~8:a~~e .tijdens een periode bepaald. Indien

de periodeduur groter is dan 3,4 x gate time dan beeindigt de.counter de

----meting en -geeft-een melding-op het·display.

Om te voorkomen dat dit voorval plaats vindt tijdens een remote measurement

heb ik een routine in het programma geplaatst die dit voorkomt. Deze rou-

.__~ine heb ik 'front panel check' ~noemd.

De 5345A kent twee sample rates: hold en not hold.

De output modes van de 5345A zijn: Only if addressed en Wait until addressed.

De measurement initiation kan op drie manieren geschieden: reset instruktie,

sample rate time run out en take a measurement instruction.

Beschrijving van de measurements initiation:·

samle rate = Not Hold : een meting 'Tordt gestart aan het eind van de sam­

ple rate time

- reset instr~ction kan op ieder moment in een operating cycle gegeven wor­

den en verandert de geprogrammeerde f~~ties niet. Verder wordt het display

gereset en wordt een nieuwe meting gestart.

-'take a measurement'instruction : kan aIleen tijdens de sample rate phase

gegeven worden ( wordt anders genegeerd ) en verandert de geprogrammeerde

funkties niet. Het display wordt niet gereset maar weI wordt een nieurre

meting gestart.

- 23 -

10<meetcyclus

:;\.e:process cyclus I

"I U ---=Ltl t2 t3 t4 tIlann to measurement process sample mtetrigger _time time time

fig. 3.1.-1 operating cycle H-P 5345A

De H-P 5345A kent zodoende een viertal operating modes:

I Sample rate Not Hold met output mode Only if

2 Sample rate Not Hold met output mode \olait until

3 Sample rate Hold met output mode Only if

4 Sample rate Hold met output mode \vai t until

Beschrijving van de remote operating modes:

- Not Hold met only if: er zijn twee mogelijkheden:

- niet als spreker geactiveerd. De 5345A verricht voortdurend metingen

afhankelijk van rate time Min. 0'£ 50 msec. ( "E<." resp. "E4" ). Er is

geen output op de bus.

- als spreker geactiveerd. De meetwaarde wordt nu weI gp de bus gezet.

- ---Not-Hold met Wai t :

- verricht een meting en wacht in een output phase- -" -- -'-- - -_.

- wordt als spreker geactiveerd. De meetwaarde wordt op de bus gezet en

er wordt een nieuw~ meting verricht.

- indien nog als spreker geactiveerd: meetwaarde op bus, opnieuw meten.

- niet als spreker geactiveerd. Wacht in de output phase tot hij opnieuw

als spreker geactiveerd wordt.

- Hold met Only if:

- wordt als luisteraar geactiveerd

- krijgt instruktie om meting te starten dmv "Jl"

- verricht de meting: - wordt aan het eind Van de meet fase geactiveerd

als spreker, zet dan de meet'waarde op de bus en

wacht in de sample rate phase op een nieuwe listen

- niet in de meet fase geactiveerd als spreker, dan

geen output en wordt in sample rate phase gewacht

Hold met Wait:

- wordt als luisteraar geactiveerd

- krijgt instruktie orr. meting te starten dIIlV "Jl"

- verricht de meting en wacht in de output phase

- 24 -

--- -wordt als spreker geactiveerd

- zet meetwaarde op de bus en wacht in sample rate phase

De remote operating modes moe ten dus geprogrammeerd worden.

Het laatste punt dat we hier bij de oplossingsmethode bekijken, is de bercke­

riingsme thode.

Stel dat we N = het aantal metingen noemen en M = gemiddelde waarde en

SA = standaard

Dan geldt:

afwijking en1 IV

M =N"2. Xi. l =-1

tot slot V = variantie. N

1 [AI 2 1. V = -N1 ~(X. ) -y-( ~ X.

.I - <'=1 1 )j i=1 1)2] j SA = tIV

Dit leidt tot het volgende algoritme:

- voor de sequentie~ing neem ik de repetitie: while B do S od

B is een logische expressie: I =< N

S is de procesbeschrijving: SX = SX + X ; SK = SK + Xf2

de berekening: 1'1 =..§! y = SK-N*HT2. SA SQ.R ( y )- voor ; =N N-l

C He t s troomdiagram.

-Het stroomdiagram, dat bij de prograII1l.lla-documentatie hoort, is mer toege­

voegd als bijlage 7.D .- Decodering

De formulieren met het in BA~!g ~~§o~eerd~ w_e~kprogramma zijn als bijlage 8

bijgevoegd•

.. ~ot slot nog een opm~~king: terwille van de illustratie van dit programma­

ontwerp is de programma-documentatie niet geheel conform mijn richtlijnen

uit het tweede deelrapport. Zie eventueel lit. 9.

3.1.2 Adressering

Omdat het systeem beperkt van omvang is, blijft de address assignment table

ook klein. Zie fig 3.1.-1

~oduleswitches gecodeercnaam adresaddress mode ( PET )

AS AA A~ A'? 1\1 -H-P 534511 electronic 1 0 0 1 0 addressable 18

counterPET 2001 microcomputer - - - - - - -

systeem

3.1.3 Set-upfig. 3.1.-1 address assignment table

In fig. 3.1.-2 is het setup diagram voor het meetsystcem gegeven.

- 25 -

controllercalculator A

~IPET 2001

BusH:"'P

1'---7

Vsubject H-P 5345Aunder ... (opt. 011 )test electronic

counter

cable10631-1\

fig. 3.1.-2 Setup diagram

Setup manual:

De PET 2001 wordt met een ASCII bus kabel verbonden met de H-P 5345A.De H-P 5345A is een electronic counter, die indien voorzien van option 011,

geschikt is voor COmIDlLiicatie via d~ IEEE 488 bus. Het te testen apparaat

wordt via een afgeschermde kabel aangesloten op channel A v~~ de H-P 5345A.Voor het te testen apparaat nemen we bijvoorbeeld een RQ-oscillator Peekel 23A.

--~kaal moet de Level Control, de Slope svdtch, Input impedance switch en de

Attenuation switch ingesteld worden in overeenste~~ingmet het aan te bieden

ingangss i gnaal •

. Bv.Level in de midde~stand bij een 0,5 v AC signaal;

Slope + ; 1 Mohm ; ATTEN 1 X •

3.2 Operation

3.2.1 Assemblage

llet meetsysteem wordt opgebouwd aan de hand v~~ het setup diagram ( fig. 3.1.-2 )

en zoals voorgeschreven in de setup manual.

3.2.2 Pro~~ invoer

Het werkpro~amma heb ik op cassette gezet. Het cassette-bandje kan ingelezen

worden via de cassette-recorder, die bij de ingebouwde periferie van d~ PET

hoort.

3.2.3 Executie

Bij de executie van de progra~a's voor dit meetsysteem heb ik een aantal

onvolkome~~eden ~~~en constateren.

~likele van de eerste: problemen, de excessive gate time en de tijdslimiet

in de h~~dshaking, heb ik door middel van software routines ~~en aanpakken.

- 26 -

Deze routines zitten in het ter bescpikking staande werkprogramma.

Er zijn~og problemen met de operating modes van de H-P 5345A. nit betreft

dan het wachten van de H-P 5345A in zijn output phase en de gate time die

groter moet zijn dan 10 msec. Onderzoek op deze punten is niet eenvoudig

met een busanalyzer te doen omdat de PET een tijdslimiet van 65 msec in zijn

handshaking kent.

De meetwaarden worden in dit programma in floiting-point notatie ingelezen,

het is echter interessant om de andere notaties te implementeren.

Al met al mag toch wel de conclusie getrok~en worden dat met de PST als

controller/calculator een geed werkend geautomatiseerd meetsysteem op ~e

bouwen is. Zie verder het hoofdstuk Conclusies en Aanbevelingen.

,

- 27 -

4. De microprocessor MCS 6502

Eij het bespreken van de testschakelingen voor het p~~ 2001 systeem ga ik

er van uit dat de lezer de MCS 6502 kent. Diegenen, die bekend zijn met

de MCS 6502, kurL~en dit hoofdstuk overslaan. Ik zal hier in het kort enkele

punten van de MCS 6502 bespreken; voor een uitgebreide bespreking verwijs ik

graag naar de databoeken en lit. 11, 12.

4.1 Aspecten van het HCS 6500 systeem.

Onder het MCS 6500 systeem verstaatMOS Tec~~ology een systeem, dat opgebouwd

is uit een produktenverzameling v~~ enkele tJ~en microprocessors, PIA's,

-. ROM's enz. Het PET 2001 systeem is in het deelrapport 'microcomputer-systeem

PET 2001' al eerder ter sprake gekomen. In dit hoofdstuk zullen we enkele

aspecten, zoals UQSstructuur, tL~ng enz. wat nader bekijken.

4.1.1 frQSstructuur

In het systeem onderscheiden we dri~ bussen: de adresbus, de databus en de

controlbus. De adresbilS is unidirectioneel en 16 bit breed. Deze bus ver­

schilt van de adresbus van de Motorola Mc6soo.De instructieset van de microprocessor Mc6soo heeft een HALT-instructie. 3ij.

_.. h~t_uitvo~renyan de HALT-instr~ctie stopt de microprocessor na het.ceeindi-

gen van de in gang zijnde instrQctie. De adresbus is dan in de off-state,

want deze bus van d~ ~c6soo heeft een three-state uitgang. De Mc6soo geeft

door middel van een V}t~ ( valid memor/ address ) signaal aan dat het adres

geldig is.

De databus bestaat uit een 8-bit bidirectioneel datapad. De richting van het

datat~~sport wordt gestuurd door het READ/\iRITE signaal. L~dien R/W hoog

is, wordt data naar de microprocessor getransporteerd ( READ ). Indien R/W

laag is, wordt data van de microprocessor naar oa. het geheugen getrans­

porteerd ( ~nuTE ).

4.1. 2 Timing

De timing van aIle datatransporten wordt bepaald door de systeem-klok. De

systeem-klok bestaat uit twee signalen, zogenaamde fase i ( ¢l ) en fase 2

( ¢2 ) kloksignaal. Cp bijlage 9 vindt u een clock timing diagram.

Gedurende de tijd dat fase 1 hoag is, verandert de adresbus en wordt stabiel.

Vervolgens wordt gedurende de tijd dat fase 2 hoag is de data getranspor­

teerd. De tijddiagra~uen voor het lezen en schrijven van data vindt u even­

eens op bijlage 9•

....

- 28 -

A.I.3 System reset

Een power-on- circuit genereert automatisch een reset signaal. Hiermede wordt

bet systeem opgestart volgens een vaste procedure o~dat de inhoud van latches,

registers enz. in het gehele systeem random data bevatten."-

Voar een microprocessor betekent dit, dat de progra~ateller een bekende in-

boud moet krijgen. Deze inhoud moet de eerste instructie v~~ het systeem-pro­

gramma zijn. Een andere belangrijke functie van de system reset is het voor­

komen dat de microprocessor interrupts van periferie interface devices krijgt

voor dat de interne registers van de microprocessor geinitieerd zijn.

4.2 Pinout van de MCS 6502

In fig. 4.2.-1 zien we de pinout van de MCS 6502 chip •

Vss ­RDY¢l(out)IRQfu..£.:NMI

------ --snrcVee

_ _ _ ___ ABOAB1AB2AB}AB4

~AB5

AB6AJrllJ38AB9ABIOAB11

."1 402 393 . 384 375 366 357 -- - - --348 33

- 9 __3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21

RES¢2(out)s.o•¢o(in)n.c.n.c.

- -R/wDBODB1DB2DB3DB4DB5DBODmAB15AB14ABl;AB12Vss

fig. 4.2.-1

top viewpinout iviCS 6502

Pin 9 tim 20 en 22 tim 25 vormen de adresbus ABo tim AB15. De instructieset

van de MCS 6502 bevat geen EALT-instructie en de adresbus heeft een TTL level

output, zodat de adressen altijd geldig zijn.

Pin 33 tim 26 vormen de databus DID tim TIm. Omdat deze bus van de HCS 6502

bidirectioneel is, heeft hij een three-state ui~Toering zoals de MC 6800. De

MCS 6502 heeft echter geen DEE ( data bus enable ) signaalingang omdat deze

bus gekoppeld is aan fase 2 van de klok. De databus is altijd zwevend (floa­

ting) gedurende het eerste deel van de machinecyclus. Er is dus ook geen

TSC ( tri state control ) signaal nodig zoals bij de }~ 6800.

- 29 -

Pin 2 : de l-1CS 6502 kent een RnY ( ready ) signaal dateen taak heeft die

overeenko~t met de verzameling signalen ( TSC, DBE en HALT ) van de Me 6800.

Bet ~Y signaal is laag actief ( low true ).

Het primaire doel van de RDY lijn is de uitvoering van de program fetch

cyclus te vertragen totdat data uit het geheugen ter beschikking komt ( lange

access-time ). De RDY fUlL~tie kan de microprocessor niet stoppen gedurende

een \f.RITE operatie. Wordt gedurende een WRITE cyclus RDY laag, dan worat die

cy?lus afgemaakt en stbpt de microprocessor in de volgende READ cy~lus.

Deze RDY lijn maakt interfacing mogelijk zowel IDet trage PROM's als met snelle

D1'1A.

Pin 34: READ/WRITE lijn. De R/W lijn is hoog, behalve indien de microproces­

sor data naar geheugen of naar periferie-interfaces schrijft. Dus F~D ope­

ratie indien R/W hoog is en ~rrrrTE operatie indien R/w laag is.

Pin 7: SYNC. In plaats van het veel gebruikte EA ( bus available) signaal

genereert de NCS 6502 het SYNC (" synchronisation) signaal, 'tlaarmee geduren­

de een cyclus een cp-code fetch geidentificeerd kan woraen.

SYNC wordt hoog gedurende fase 1 van de op-code fetch en blijft hoog gedu-~nde

____de.rest vall.deze cyclus. 1J0rdt-RDYlaag~maakt, indien SYNC hoog is, dan

stopt de microprocessor in de in gang zijnde toestand. Die toest~~d wordt

- ·aa.ngehouden tot -dat- RDY weer· hoog wordt.

4.~ Progra.:T:ma.besturi!lg.

Voor een uitvoerige bestuderir~ van de programmabesturing verwijs ik naar

de literatuur en naar lit. 12. 13.

Een programma bestaat uit een verzameling instructies, die door de micro­

processor achtereenvolgend uitgevoerd worden. Ben inst~~ctie wordt uitgevoerd

tijdens een machinecyclus. Deze machinecyclus bestaat uit twee delen: de

instructiecyclus en de executiecyclus.

4.~.1. De machinecyclus

Bij de instructiecyclus ( instruction fetch ) wordt de instructie opgehaald

uit een geheugenplaats, die aangewezen wordt door de programmateller, en

wordt dan ( tijdelijk ) in het instr~ctieregistergeplaatst. Vervolgens

wordt de progra.m:llateller met een verhoogd om een nieuwe instructie op te

kunnen halen na uitvoering van de lopende instxuctie.

Bij de executiecyclus ( instruction execution ) wordt eerst de inhoud van het

instructieregister gedecodeerd. Deze registerinhoud bestaat uit tHee gedeel-

- 30 -

ten: de operatie code en het ope~1 adres. Aan de hand van de operatie code

wordt de opdracht uitgevoerd. Eiermede is de machinecyclus beeindigd en kan

de volgende instructie opgehaald en uitgevoerd worden.

Er zijn ook meer bytes instructies ( by. STA store accumulator in memory )

zodat een machinecyclus meerdere instruction fetches zal bevatten. De in­

struction set van de MCS 6502 wordt in lit. 12 uitvoerig beschreven.

4.3.2 Pipelining

Indien we bij het statisch testen gebr~ik gaan maken van het step-circuitrJ,

kunnen we waarnemen dat de microprocessor een adres geeft en dan data bi~~en­

haalt, die genegeerd wordt. Dit verschijnsel heet pipelining en komt voor

bij non-indexed addressing.

De adresbus is 16 bit breed, zodat een instructie uit 2 of 3 byte y~ bestaan.

Om de executietijd van zulke instructies te verkorten, wordt een overlapping

gemaakt waarbij tijdens de interpretatie van data al 'fetching' plaats vindt

van de volgende geheugenplaats.

Bij pipelining heeft een 2-byte instructie slechts twee klok~erioden nodig

en een 3-byte instructie drie klokperioden. Een klokperiQden wordt gedefi-

-- -- nieerd a1s eenvolledige operatie van ieder- van de tlofee fasen~ Zie tijddia­

gram in fig. 4.3.-1.

Address linl \ .... _

Data _l_in_e ---lr\'--- _fig. 4.3.-1 tijddiagram !'1CS 6502

_- }l

5. Een systeem-uitbreiding

Bij het opstarten van een microcomputer-systeem blijkt het meestal nodig te

zijn om het systeem zowel statisch als dynamisch te kunnen testen op het

Uitvoeren van programma's. F~ervoor moeten hardware voorzieningen getroffen

zijn. Nadateen prototype goedgekeurd is, laat men vaak in de marktprodukten

de testfaciliteiten achterwege. De P~T 2001 wordt echter weer betrokken in

experimenten ten behoeve van meetsystemen, zoals de titreerautomaa.t.

5.lStatisch testen.

De methode 00 de microprocessor,bij het uitvoeren van een prograIDDA, een

eyeIus te laten doorlopen, heet 'single step'. Het bevel wordt gegeven door

de operator door middel V~~ een schakelaar op de-testconsole.

We hebben met de 'single step' een aantal mogelijkheden in handen:

algemeen onderzoek van de program flow

onderzoek ten behoeve van grote.delen van het programma naar de geldigheid

van dataoverdracht~ en uit het geheugen. De werking van een groot deel

van de periferie interface hardware kan statisch onderzocht worden, zodat

we Diet de gehele werking dynamisch behoeven te testen. •--- -- -

In het algemeen wordt 'single step'- gedefinieerd als het doorlopen van een

__~ubcy~lus._Een_machinecyclus is dan samengesteld uit een aantal subcycli,

waarvan soort en aantal afhankelijk zijn van de instructie. Er worden dan

vier soorten subcycli onderscheiden: instruction fetch, memory read, memor~

write en input/output. Zie lit. (13).

We dienen er weI op te letten dat MOS Tec~~ology cver'single cycle' spreekt,

hetgeen hetzelfde is als de meer in gebruik zijnde naam 'single step' ( sub­

cyclus ).

Voor het uitvoeren van een subcyclus is dus een machinecyclus nodig.

Vaak behoeven we Diet het pro~~ met behulp van single cycle te onder­

zoeken, maar is het voldoende om aIleen de flo\'1 in een progra..n:na te onder­

zoeken. Bijvoorbeeld de uitvoering van Branch- en JQ~p-operations.

De statische testschakeling is derhalve ook voorzien van de mogelijkheid tot

het testen van 'single instructions'.

5.1.1 Single step

Ret rlokscheoa van het single step circuit vindt u in fig. 5.1.-1.

Omdat we te ~aken hebben met een klein aantal schakclaartjes zijn deze dan

ook voorzien van deboUnce ci~cuits. De testscr~keling ( zie bijlage 10 )

- 32 -

bevat verder een aantal poorten; die de synchronisatie van de signalen ver­

zorgen en de STI~C en \iRITE cycli detecteren. De i~~omende signalen van de

MCS 6502 zijn: phase 2, sync, R/W, power-en reset, datalijnen en adreslijnen.

De uitgaande signalen zijn: system reset, RDY. Intern zijn er nog : display

enable en reset.

Bijlage 10 bevat de printuitvoering van de test schakeling, evenals een lijst

met de connector pin-funkties.

Bet is dus mogelijk, zoals we in hoofstuk 4 gezien hebhen, om de microproces­

sor te stoppen door de RDY-lijn laag te maken. Hiervoor moeten we als voIgt

handelen:

de RUN/HALT schakelaar in de HALT stand zetten

door de single step schakelaar te bedienen ( momentaan ), wordt de RDY-lijn

hoog voor het uitvoeren van een subcyclus ( step ).

De single step command kan de processor gedurende een WRITE subcyclus niet

laten stoppen. De schakeling laat we~ toe dat de processor in een WRITE sub­

cyclus komt. De processor werkt deze subcyclus af en stopt in de eerst volgende

READ subcyclus. In de schakeling is ook een 'data trap' aanwezig waarmede de

-data~-( WRITE) gelatched en aangehouden wordt~gedurende de~volgende READ sub-

_____C!~~us. Een latch reset schakelaar geeft dan de mogelijkheid om de R&iD sub­

cyclus uit te lezen.

De uitlees-schakeling bevat de latches, decoders en het display. Omdat de

databus 8 bit breed is en de adresbus 16 bit, hebben we voor de databus

2 hexadecimale displays nodig en voor de adresbus 4 hexadecimale displays.

De Texas Instruments TIL311 heeft een 4 bit latch, decoder, current driver

en hexadecimaal display geintegreerd in een chip.

5.1.2 Single instruction

De werking van de testschakeling voor single instruction is gebaseerd op het

feit dat de microprocessor een SYl{C-signaal genereert bij iedere OP CODE­

fetch. Met behulp van dit SYl1C-signaal wordt de RDY-lijn gestuurd, zodat de

processor stopt bij een op code-adres op de adresbus en de op code op de data­

bus. De processor wordt in de rL&lt toestand gebracht met behulp van de HALT­

schakelaar en vervolgens kan men door de single instruction schakelaar te

bedienen ( momentaan ) aIle instructies onderzoeken.

De single instruction en de single step bieden dus de mogelijY~eid om de

programmatuur te testen. De beide test-faciliteiten zijn in eell schakeling

ondergebracht.

- 33 -

5.2 D.y.namisch testen

De dynamische testschakeling is vooral van belang indien er een systeemuit­

breiding plaats vindt. Welliswaar is dat voor mijn opdracht niet aan de orde.

Veor de volledigheid is toch voorzien in een dynamische testschakeling.

°Dynamisch testen kan noodzakelijk zijn, omdat veel periferie pas volledig ge­

test kan worden indien de microprocessor op 'volle snelheid' werkt.

We kunnen twee methoden onderscheiden:

- de microprocessor een eenvoudig lusprogramma te laten doorlopen. Ret is

niet noodzakelijk dat het gehele systeem al operationeel is.

- het sturen van de RES-, IRQ- of N}U-lijn van de microprocessor met een

signaalgenerator. Door RES-lijn sturing kan de timing van adres-, data- en

R/W signalen onderzocht worden. Door de IRQ- of 1~1I-lijn te sturen kan de

interrupt polling sequence onderzocht worden ( de huidige PET systeempro­

grammatuur voorziet hierin niet ).

De hierboven genoemde signaallijnen ~en met behulp van een oscilloscoop

of analyzer onderzocht worden. Zie bijlage 10 voor de dynamic reset schakeling.

5.3 Buffer interface

De buffer interface zorgt voor bus-buffering van de MCS ?502. AIle gebufferde

---lijnen-hebben 3-state buffers. De databus is -reeds bidirectioneel uitgevoerd

ten gerieve van andere toepassingen dan de testschakeling. Voor gebruik vall

de testschakeling wordt ae databus aIleen uitgelezen, zodat we slechts RK~D

-- -van de DBB behoeven te enablen.

Fig. 5.3.-1 toont het blokschema van de buffer interface.

De gebufferde signalen en enkele microprocessor-signalen ( GND, RES, IRQ,

NMI en RDY ) staan ter beschikking van de gebruiker via een connector, die

achter op de kast van de PET is gemonteerd.

Bijlage 11 laat de printuitvoering zien van de buffer interface. Om demon­

tage van de PET te vereenvoudigen, zijn aIle MCS 6502 signalen via connectors

van en naar de buffer interface geleid. In bijlage 11 zijn ook aIle connector

pin-fUnkties vermeld.

Tot slot wil ik vermelden dat aIle connectors van de PET yoor een tweede

cassetterecorder, de geheugenuitbreiding, de IEEE 488 bus, de User Port en

de eerder genoemde buffer interface sarnen zijn gebracht op een connector kast

achter op de PET-kast. Zie bijlage 11.

\I . "ysTf M /leSE,,

Reser . .~ >EE.et>(lNlc~-k- / 0 CIAC~/7

VI~

I

Will"'!! ~ <:1-= t.E~":.z;/J'j't.l1y ,fese T

"~ff.z

(//!!!.!..!-

::tJ~-6t>v,y ~E / ..ry4'cH,( . ...JYA/C ' .

CI"'C~/7I f.4TC

!

IIF c./,c/£E.d Ol/A-

) SYA/C¥.( :,cE .Tot .q~y~

Ch~~N"T \.")'N'c 'hPN. i . ( ffiTc ->(

~...~

9~Te--- / I

sy.vc..- r::yetE1J':7.1f4'o 7/~N

PIT L I:E.J" 13L?/JI hie I~,

('~ -'7 i't·..• ,.

\ "::Pop'-.9 y E,f/i'I.{3t £ .... r I Ii

:J \ I II..( i i- tA"/w " \ . \J I.::JJIS'p'.I9)" .I? & J € T \.,._. ~IjE.TEC 701('

YR rR fl.JJRes: •

,.f/w " !

~,

.ff.t ..Hi'll.,..:2ETEc.

~

.1'1

.J'/4.

L'i

-1:1 ~

FI,.. {'. t. - I STe.p clllOlt'lr

- 35 -

microprocessor periferieABB = address bus buffer

AO - A15 ..l\ AO - A15 ..,) if

v v

.eBB = control bus buffer

,phase 2 phase 4-. I'

sync sync..-t(

-...phase 1 phase 1

R/W . R/W.... ,

-- .READ.------_.

+5 v WRI~E I.,- - - .-- .. -.- - -

]IJ - D 7 .. -t>- .. DO - D7 ... ) II1\

'\J II

-<:J- 'l .

DBB = data bus bui'fer

t- tl.v v

BE.J

"'( + 8,5 V ruwe ge1ijkspanning )

• GND GND •

RDY RDY.. ~

fig. 5.3.-1 B1oY~chema buffer interface

- 36 -

Conc1usies en aanbeve1ingen

Met -de PET 2001 is het mogelijk om een intelligent meetsysteem op te bouwen•

.Ret voordeel van dit meetsysteem ten opzichte van een hard-wired meetsysteem,

is de grote f1exibi1iteit. Door de modul8,ire opbouw is het systeem eenvoudig

te wijzigen. De meetfunktie van het systeem is geimp1ementeerd in de gebruikers

progra.r.:rrnatuur, die dan aangepas t k.an worden.

Er resteren nog er.L~e1e punten,die OD nader onderzoek vragen:

De IEF.F'.-488 standaard is een hardware conventie.

Ret is nodig om zelf onderzoek te verrichten aan dataformaat en busberichten

ten behoeve van de PET 2001.

De software van de PET 2001 verdient op een drieta1 punten aanpassing:

de watchdog-routine verwijderen, po11ing-tecr~eken en service request­

routine implementeren.

De onderzoeks1ijnen voor toepassing van microcomputers in de meettechniek

kunnen beiden voortgezet worden:

- Bet gebruik van de PET 2001 als microcomputersysteem ten dienste van ~~n

onderzoekprojekt. Men kan daarbij denken aa-~ signaa10pne~er, een AID omzetter

--- en -de-PET; by. de titreerautomaat.

- Onderzoek aan inte11igente meetsystemen. Bv. een meetsysteem met meerdere-- - - ~ ~-- - -- ~ - _.

sprekers en 1uisteraars en met de PET 2001 a1s controller/calculator.

Een waarschuwing is hie~ ook we1 op zijn p1aats. Er is een tendens te constateren,

waarbij prob1ernen verschoven worden van hardware naar software. De betekenis

en inbreng van de software wordt vaak foutief beoordeeld.

Men moet daarbij we1 bedell-ken dat de software van microcomputersystemen zich

nog in een aanvangsstadium bevindt. :De gebruikers van het microco::lputersysteem

moeten ze1f de programmatuur ont·NiY~elen. Omdat deze programma-ontwikkeling

evenzo geed kostbaar is, verdient het aanbev~ling om naast de door mij aangereikte

programmeer-methodiek ook aandacht te besteden -aan het ontwerpen van algoritmen.

Literatuurlijst

(1) Verberne, P.M.J.; l1icroprocessor in de meettechniek.Technische Eogeschool, ~indhoven, 1978.

(2) IEEE Standard Digital Interface For Programnable Instrumentation;IEEE Standard 488- 1975.The Institute of Electrical and ElectronicEngineers ,Inc. , New York, April 1975.

(~) Hewlett-PacY~ Interface Bus Users Guide.Hewlett-Packard Company,Santa Clara Calif. September 1974•

.(4) Getting Aboard The 488-1975 Bus Motorola Inc.,Geneve, 1978.

(5) Richter, M.; C~t on the IEC bus.Electronic Design, November 22,1976,pag.124-l27.

(6) IEEE-488 bus to get face-lift. Electronics,October 26, 1978,·pag.44-46.

(7). Muckli, Dr.-Ing. ~'I en Hall Dr.-Ing M.; neue T,1ege bei der Automati­sierung von Mess- und prJfsy~temen.

In: Automatisieru....'1gstechnik im ilandel durch Hikroprozessoren,Interkama-Kongress 1977, Springer-Verla,g Eerlin-Heidelberg, 1917,pag.128-l43.

(8) Neunert, Ing.(grad.) H.; Systemtehnik mit r1iY~ocomputern.

In: Elek~roni~, Heft 10, 197~, _p~g.39l-395.

(9) Verberne, P.M.J.; Ydcrocomputersysteem PET 2001. TechnischeHogeschool, Ein~oven, 1918.

(10) __Operating and Service }funual Zlectronic Counter 5345A. Hewlett­Packard Company, Santa Clara, U.S.A., july 1914.

(11) MCS 6500 }licrocomputer Family. Hardware ~funual. Mos Technology Inc,january 1976.

(12) I'1CS 6500 Ydcrocomputer Family. Programming Nanual. Hos TechIlologylric, January 1976.

(13) Stevens, H.P.J. en Veldstra B.; Inleiding tot het prakticum DigitaleRekenmachines. Tec~Jdsche Hogeschool, Eindhoven, 1976.

I.1

,, '

I,~

.I i

'\rt

.iI I,

I ,-!

II,

, -!

]I I

dJl ~

V:EVI~~

DEVICE I DEVICE 2 DEVICE 4ABLE TO ABLE TO A9LETO ABLE TO

TALK. LISTEN TALK & LISTEN LISTEN TALK& CONTROL .

7lH6/2

POSSIBLE SETUP OF AN lEC BUS CONTROLLED SYSTEM

0101-8DATA BUS

t::D,....C,.J.~

DAV } DATA TRANSFER II)

NRFO CONTROL BUS ~NDAC (HANDSHAKE BU~

~

IFC

ATN

SAO } MANAGEMENTBUS

RENEOI

Bijlage 2

- -_. --~, --'.-.-....--_ •._-~----_.~ -.--"--_._---- .-....-

uu.,.

LISTENER

C__END )

YES

PUT NEW DATAON 010 LINES..

DElAY FOR DATATO SETTLE

NO

. ,

-- 0--------NO

-- NO

0) -------G 0

YES

0-

(0 C__(ND~)

FLOW OF A DATA EXCHASGE VIA THE lEe DUS

llijlage 3

Systeemstructuren

~ ...

. .

• v

Buss true tuur

Netstructuur

oOI~

• I..

I'

"'i'

~ ...

.Sterstructuur

.

. _. .", H .

.Bo ...

'" • J to.~r , .

'r'

\j~

-

~~

A ....

Ster-netstructuur

./

Bijlage 4

....

H-P adres codes

adres schakelaars spreekadre luister-adres

A5 A4 A3 A2 Al

0 0 0 0 0 @ SP0 0 0 0 1 A ,

•0 0 0 1 0 13 "0 0 0 1 1 C #:0 0 1 0 0 D $0 0 1 0 1 E %0 0 1 1 0 .F &0 0 1 1 1 G

,0 1 0 0 0 H (0 1 0 0 I' I )0 1 0 1 0 J *0 1 0 1 1 K +0 1 1 0 0 L ,0 1 1 0 1 M -0 1 1 1 0 '- . N •0 1 1 . 1 1 0 /1 0 0 0 0 P 01 0 0 0 1 Q 11 0 0 1 0 . R 2

-- I - . - -0 . -- --- -,-0 .-- - "-1 -- -- 1- ... ~- --8- ---- -3 .-

1 0 1 0 0 T 41 0 1

,0 1 U 5- -. ---- - -- --- -. ----_. -- - ----_.- .. , -

1 0 1 1 0 V 61 0 1 1 1 W 11 1 . 0 0 0 X 81 I' 0 0 1 Y 91 1 0 1 -. -0 - - -z ··1 1 0 1 1 [ ;1 1 1 0 0 \ <:

1 1 1 0 1 ] =1 1 1 1 0 r"\, >

-

Bijlage 5

. PET adres codes

adres schakelaars adres

A5 A4 A3 A2 Al

0 0 0 0 0 00 0 0 0 1 10 0 0 1 0 20 0 0 1 1 30 0 1 0 0 40 0 1 0 1 50 0 1 1 0 60 0 1 1 1 70 1 0 0 0 80 1 0 0 1 90 1 0 1 0 100 1 0 1 1 110 1 1 0 0 120 1 1

.0 1 13

0 1 1 1 0 140 1 1. 1 1 151 0 0 0 0

.16

~- - - ._- -_. - -- --- -1 0 0 0 1 17

'1 0 0 1 0 18. -- '_. -1- --_._-_. -0 -- . ---0 - -_. .. -·1 - 1 19

1 0 1 0 0 201 0 1 0 1 211 o . 1 1 0 221 0 1 1 1 23'1 .- 1

_.-0 0 0 24

1 1 0 0 1 251 1 0 1 0 261 1 0 1 1 271 1 1 0 0 281 1 1 0 1 291 1 1 1 0 30-

"

:Bijlage 6

Program Code Set H-P 5345A

1. Funcllon ASCII

a. Plug In .....•...........••••...•..•.•••. 1<'2b. Frequency A Fec. Period . . . . . . . . . . • . . • .. Fld. Time Interval A to B F3e. Ratio BIA F5

- f. Start F4g. Stop ..................•....•......... ,. F6

38. Display Multlpller Suffix

PERIOD/FREQ. TIME

INTERVAL

GHz nsecMHz IlseckHz msecHz sec

MHz ksee

srrART/RATIO

GMk

,. I

• '1'.1 , : •

ASCII.' "

o (;1._ eG'o.o.C5','e4

:..,.. C30', .

2. Gale Time

8. 10000 sec ...•...••.•.•••••••••••••••••••. G4b. ]000 sec .....•.•...••.••••••••••••••••••• G3c. 100 Ilee G2d. 10sec Gle. 1 sec G0r. 100 ma G?g. 10 ms G>h. J ms ...................................• G=i. 100 IJS •..•..•.•.•••••••••••••••••••••••• G<j. 10 1J8 ••••••••••••••••••••••••••••••••••• G;k. 1 IJS .•...•••.•.••••••••••••.•••.••••••••• G:I. 100 nsec ............•................... G9

. -~I.-r.tin G5

3.11. Display Position

(()igitll from E in Data String)(Digit l'ollition Oefined from Right to Left,

.- Decimal Point on Right Side of Digit)

a. 0 Digits .. 0" 0 D;b. I Digit 0 ••••••••••••••••••••••••••••••••• D:c. 2 Digits D9d. 3 Digits •................................ DBe. 4 Digits D?r. 5 Digits 0•••••••••••••••••••••••• D>g. 6 Digits D=h. 7 Digit!! : D<i. 8 Digits D3j. 9 Di~:its ..........................•...... D2k. 10 Digits DJl. Auto Position + Auto Suffix D0

Multiplier

4. Reset

a. Resetb. Remote Program Initialize

5. Input Amplifier Control

a. COM A or Separateb. Check

6. Local - Remote

a. Switch to Localb. Switch to Remote

7. Output Mode

ONLY IF addressedo WAIT until addressed

8. Remote GAting

EXTERNAL GATEINTEHNAL GATE

9. Sample Rate

(Wait Time Between Measurement)

a. Not Hold

1. Min time (1-5 msec)2. ",50 msec time (required for

Start Function)

b. Hold

1. Take a measurement

10. Accum Mode Sian/Slop

A+BA-~

E7E?

' ... EO

E8

E2E;

E',E3

EL

E<E4

-,.E9

Jl

E=:

.cr· F...5

O••

:~. ,'0 ., ..., ~\. ,...- .~

o •

RESET PUSHBUTrON/POWER UP/12 PROGRAM conditions are F0, GO, 00, E7, EfI, E2,E3, El, E4, E5 o.

NAAM FUN KTIE

u= VI 1~1I1':: ... ,

H= hNzlenDL :.

j----------t-----------------I--·-..--····.

REMOTE COUNTING bepalen van M en SA vanserie meetwaarden

STROOMDI AGRAMNR.

1 /KOMMENT AAR

TEKST

1

start

1

2r----~--........,

frontpanelcheck

nee

1 het instellen van defrontpaneel funktiesvan de H-P 5345A,zoals: funktie,gate time,operation mode

2,3 de. H-P 5345A heefteen ingebouwde timer,die wacht gedurendeeen tijd van 3,5 xgeselecteerde gatetime en dan de metingbeeindigd d.m.v. eenreset. Bij local fronpanel control zou mengate time opnieuw inmoe ten stellen. Dezetest op de excessivegate time wordt nu

·Uoor een routine inhet programma grdaan

4 de invoer van hetaanta1 metingen N envan de wenselijkheidvoor het afbeeldenvan de meetwaarden

remoteprograrnrnin~

5 voor de H-P 5345Aworden de front pane]functions en de meet­procedure geprogram­meerd

PROGP.AMMEUR IJATUM VERVOLli BLZ.I----------------.---t-----.------+-------

verberne I 181109

t-- HER ZIE N _O_O_O_R_· -r-_D_f._~T_U_H --t._._~~~._

---,- ~~" ..n /u

NAAM fUNKTIE

0= orlgineel

11= hi'r zient--------+---------------- I --·------·---- _.. .-_..--- ..-

,>.REHOTE COUNTTI1G bepalen van 11 en So'\. van

serie meetwaarden .1 / 2

STROOMOI AGRAHNR

I<OMMENi AAR

TEKST

1

6

remotemeasurement

6 de R-P 5345A wordtgeinitieerd voorhet starten van eenmeting en vervolgenswordt de meetwaardedoor de PET L~gelezen

de -meetprocedurewordt herhaald tothet opgegeven aantalmetingen •

7

8 van het a&~tal meet­-- - .__.. --- - -waarden wordt de

gemidde1de ·.....aa.rde en__________________ de sta..."1d.aardafwijking

berekend

nee

.....

aantalmetingen

=N?

ja

8 •_.. _compute H,

SA

7

9

display\

I

9 het aantal metingen Nde gemidde1de waardeen de standa.a.rdafwij­king worden op scherr.(CRT) va.~ de PETafgebeeld

end

t-----------------'T--------~-_L---_,__-----PRQG RA M ~-j [UR [JATUH VfRVWG !3LZ.

c--------------------+--------------------- -

verberne 781109 1

/

ZIEDA TUriHER11[ N OOQR tt-------------ii------ --------t

i IBAsIC PkOG~AMM,A.

5LZDOK-NRJATUMI

..~_PROGRA~.!!..A-NAAr-' I PROGRAr"ME~. I I I I

/lEM07E COUll/TINt} VeR -8 e R IJ/.£ ?8 I1o!J " "REGE~ NR 10 20 30 Lo 50 60 70 8-l..l.J.LLLl. U..:.LLL.LlL.LJ....LLLJ...LL..l......LLL..t..JJ.LL L I J.;L L~_L!.-.L1J......L.Li.. I ' I I !.:..J....LLLU..J I I : Ii! I , I 1--l....L..; ._.__ ..~

l J ..

I " I . I-LLJI.k?~. fl:cHLLl8!EiP..'RJ'JEM..-JJ!jI1.~E..'hllJ1J1l>!ELl.J/J'El_WRR.A'.JUE.-'--E'IIL.....:. i I I I : i I .-LU.L. I I I I ": -J- I I...L.U..-L...&....... _-i_ .

! ."....l....LlJ.+...LJJ-l-..LLS"Jl"9Wi)19A'A'A..JlE..J4NflJuM;J.P'.l9111C.rE.R.Z.~ ..Y£JrJJN;eW~J Iii I ! I I I I :: i I I I I I I I ," t._

;" 11f}"...L..LJ2JOt_n1E~JEl"tl"JZ:~-~~L1L~~~l..JflJ;~lt:~_LLL_..1..._LL.u...l....i._..LiI I I I I ! I I I I '. ;: Ii; I I I , I I I, I

" ,up" I .~.t'+-l'?-iE'M...+JLV'&JZ£ltJ"!E.M....PJ9.A1J'"n_~.1..wL~'J...J.J ..l..J_L..L.J I I I I I ! 1 I I! I I I I I I J I ' I It! I I I I I J..-L-

_...l..L..i?yJ_~iLWJT..LL.L.l...l..1...l I I I I I LL..L~...LLJ uLLi....J..L.L+..:.....l I I I I ! L.J I I I! I I I I I I Ii: I ! I I I I It! j-l......J.....JI I.

I : i "

...LL2;~Lt'~1/.fr:11J.j~.l7Y"RLJI.3~EJSJ<=JM/..;k~~I~iN#AAje:'..JV~.flntJE.:t'LEH~1".L1.EA..l1 I J I J I i I I I I i I I I I I 1'1 I

..J.Lr~L_jPAVJM~~lEAJL~-.0~..LJBLJ;(~JCJ~~_1U1~' ": -LJ..J.--l.....1. I ) I I I i I I 1 I : I I; [ I i I I I I I I I

. L(JDi.lLW~\lf9' I (I ~{('&1!!.L'rJ!...JCJ.J!.Jll..Al~I: I PJfz. h1r~_L.l.J....L..!. f 1 I I ! 1 I I I I I I "! I ,,!,! I I I I I I" I I ! I II

'..: ,b:r.> ""7[ ," I .L~ .no ~.,., "'"._,,. "...LL~p~~..!~l.~.L...L~$I?I,-ICl Ir'Lu...=....L~1M1..J I I I I I-LU I I I I I I I , I L J i ( I ! I I I ! I I I I I I' I! I I I I ! I I ,

! hI I 1.,,:.LlL.etl~~.u5t~1 I ) If-Eci ,:t'l 111/1 I I I I I I I I ill: I ! i I I I I I I I I I I I I I I I I I I I I , , I I I I I I I I I I I i I I 1"

I

D ,~ No DJ..~H1Ltl-L" I I I/I--U.~CI 1=1 rtel I t I I I I I I I I I I I I I I I : 1 ! I I I I I I I I I I I I I I I I : , I I ! ! I I ' I I iii'

LLB~.tfJl-».r21....LJ.l.Iclo.1~_~e-Sl~-fI?!'"I I I_I I I I : I I 1--J.....L1.. I I I I I I I I I I I , I I I t" I I I I J ( ! I I I i I I LLLLLW__LI

~l....£~?') t', tlA ~~J.C~jLI I I!! I I ! I ! I I I I ! ! , I ! I I I I I I ! Ii" • ! ! ! ! : I I I ! [ ! I i I I I I I I . , , I ,

•• IJ:l1l121 I , I III fMSlElc:.u~I=t I I I , I I I I I I I I I I j I I

iI ,D.b" .. I' .

i...L.9J.tLL.rr.Jl..m?I I JPI.Il.L.tt!OOC, I-I 1~J.~LLL.LLJ.....LL~LLL.L..Llill 1 I I I I I J I I I ' I I I ! I I ! I I I I 1 I I I ! I I I !.LLJ

~U..l!~J"lilr"~L~r"1!1?11L.1ItI'JC1C.u==t._~;~rt I I 1 I.J...LLl I I 1 I I LLL..LLLLLl.. L1..J ..LLLL..L1 I I I lit. ...-.LLU....L.Ll..J I I I j-L

I. J ..9i4'~ .f.rf.L[JI'1:'-IJ~~ljl::'j~.6JJleICLJ::L 9"~Lu.U_LLI.~_J-LL.l_i.-LLLLU-LLU..J.J.....L.LUJ--L1.J.l..J..J-:..J...L..J i I I I I ! "I i I I

...._,....1 ,.n, •• • ,_J ..... /1 ....... /fl .......... _. _ ........ , f,lj I I, " ••• ,, I !. I • I I , I I I I I I • I I I I I I I I , I I : I I I I I I I I i I.L.l... L_

<:1:1:-<-- --'-.x:-CJ...,.L~

N _J.J ~

tOlco j )

I. lI .I

J ~C> 1r- ~

t •

ISA SiC

I ! j

I !I !

PI-\8G~AMMfi "P R OGR AMHA - NAAM

;

PR OGRAr-': MEUR DATUM DOK-NR 1HZ,

1 I

.JJ1l.t:1JCJ.~J~LJ.fL.J_L.LLL1_.Ll I I I I I I I I I I I I ..L-li..L..L..LJ I I , I I I J I I I I I I , I I I I I I I I I : I i I I I J I J J I I I I I I I

J.f.lJ.e!I.I!fi It! ~1~~l!!lY.~..nJ!LfI&'lr.p"o,J.'3J>...JJ.. I I : I I I I I I I I I I I I I I .LL1..J.J...J..11 I I J I I I , I.:..-LLI I I J I I I I~J:rJroL~;:l~Alld~L.LJ. I I I I 1 I I I I I I I I LLL.u I I I I ! I I I ! I 'I I I I I I I I I I 1 I I I I I I L...Ll , I I ' ! I I I , , I I I I I •

..... ,I ... 1\,_........ 11, •• _- •• h_... ,1'.", I I I •• ,,"" "I I., I ,'1 I I r J I J I I II I, I I I I I lLL..Ll_L.J_l.L...L.-1.-L

i

I/cMt:l7~ aOU/V7IN 9 I J/ElI8eklVlE I 78 II o!J I -( ~

REGEl. N~ 10 20 30 I..fJ 50 60 70 8.iLLLLLLl.J'! I 1 I .1LLLL1...1-11 I I J r LJ__J.LLLLI_l:..LLL: I tIl: I : I ! I I ! ! I LU I I I I I I : I I \ I I '-1_: •

I ! ~

1 i IJ_.R,J1'D~. f1lr.'N'J1.J~'l/jJ))"Fi.r/1():lb-J/5JDLitI'J.JJE'CIJi :rf-LJ.I.e~J a~e: ei /1": I : I' I I I I I I I I 'J I I I I I I I I I I i

, "II.J.....l.tVJ5"':-~:~.:zln{7i._.LW1"l1LM"~~.....l!JCl<ll...m.t£JCdLJtL().At..Q!L.:I~-l.j;".1~E.LEJt!: I I I I I I I I I I I ( I I ,~,

1 ,.,17, i ,.... LJ -,) A - ,/ UO·~·JI" ,'7""'&' I.', .'"r'1I ' ',JU ID 1T."r, .. ,t. ,OIL-Ii I f I I I' I ' , I ! ' I~.l<Jc,;._J.l'j..v.l:'j~ILL.~Ol~l.CL_.l(.-l-'ru.C!--JU.l.-..lLlL..LI.JlLJ..:t"L.L-VJlJ.JEJ'I':I~lI~~ '~-Jl..L...7. . I ! I' I I

..LJ.2~bLJlil~JM.&....Y.f~lt'JZi.....t>.BMe0 C.1hteCJfl "1 I I L...i.-l.LU_L..L-' Ii! I I I I I I I: I I I I I I ! i I I I I I I I j i I I I,I

£JOi..p£JC1'J.1 1/',u.JfLL..L.L..L.J I 1 I I I I I I I I I , I I I I I I !.-L.....L I i I I I I I I . f ! , I Ii' I I 'I I ! I I, I I ! I I 'I I

J~vi t::Y'k\L1lJ I I I I I , I I , ) I 1 I 1 I I I I I I I I i I I I I I I I 1'1 I I I I I I !! J I I I , I : : I I I ! I ! I I

! n u~~O~I;~~~~Z~~~~~ I I I I I I I I J 1'1 I I I I I I I I I I ( I I II J I i I! I ; [I Ii" I I Iii I I I t

I / ~~~~~ I I! II I I I I I I I I I I I I I I I I!

I".lJ-ll>lcLttPUIeI 1/, I I I I I I

I..kfu>~Je'ClM' ill" J I:

I.-LJtj!f~.i....Ct'Sl~1 I ! I ) I I ! I I J ! ! I I ! I , J I [ I ! ! I ! I I ! I ; I I I I J ! I I , ! , J J I I I J I I, J I I ! I I I I I I • I I J I I I I'

"" 'I

..t:lJalJ.t.t;'ld I I I I I I I I ! I I I I J I I I I I 1 I r I I I ! I I I I I I I I I I I ! I I I I I I I I J I ! I I I 1 I I I 1 I J i I I I I I ! I I ' 'II .J~41rr!I' I 'j't-1=lII It'! I ! I ! I ! J I J ! I I I I ! I I I I I I I , I J I ! I I I I I I I I I I I I I J I ! ! I I I I I J I I I ! I ! J ! I I ! I I •

I •

SA SIC

I

II

P\'\CCi!iAMMA:

P ROGR AMMA-NAAM

He H D 7!: Co~N"" ,,/J/1PR OGRAMMEUR

J/E AS E/l AI E

DATUM

78 II oS

DOK-NR

I

~ LZ,

6

Ii

! I I I i I I I I I f I I J I I I I f I II I I I I I I I ! I I I I I J I I I i I ! I I I I J I I I I I I I I ! I I I I I I I I I ! i I I I I I ! 1 I I ;. I

II I I I I ! ! I I I I I ! ! I I ! I I I I I I I I I I I I I L...L.L I I I I I .'.LL...1 I I I I I I I I I I -LLI I I I I I I I I I I I I I I I I ! I I I I I I-LJ.

::::I::::::::::::::: :: ::::::::::::::::: : ' ::::I : : LLLLUl I I I I I I I I ii, I I I LU-LLlJi~; I ::::,: : : ;;1;;; ;I;1I;I;;;II ;I;;,I;: ;I II"; I ; II I I I I , I I I I I I I I I I I I I I I I I t I I I I I ; I

. ", • I I I. I I • I I I I I I I • 1 I I I I I I I , r I LL1..l...LLLu..J..J...LL1...LLL.L.LL.LJ __LLLL

I COMMON CHARACTERISTICS f

"

~c...I­p:

~

~.4"

THRW'''' .... -

-REF "B",

'-- REF "S"I

i., 'I V

I

1

TRoNS ...."

~... i. ....... _. - o,ev I

!- REF "A"I

i.·4V-.J

i-REF "A"

I._ .'1'1

-J 'iF\WS f4--. ~

___:_X _

-~ TAOS .... -- Zk. ~>-

I C' e, .i ...~x '''' --,"~,,,~ ... '""

~2_0V ;

____...;~1l;-- . ~o.ev :i

-- ,,", - i '<r >-: 08'"

+ TMOS 04·- ... TH.... "4Il-I I

\

. ,..TROI .50 04

~.~" 2 Ov :X ../.:<'~ ~.~---.--........ ~....:.....·-t

T.. t. • 04

~:iX'- ::: ~y:-

Timing for Writing Data to Memory or Peripherals

I~ TSH'C ...-

Timing for Reading Data from Memory or Peripherals

ADDRESS FROM

MPU

R/W

ADDRESS FROMMPU

DATA FROM

MEMORY

SYNC

ClATA FROM

MPU

ROY,S.O

RloN

~~'1" 4V/---'!)' -\~_i : .... - 1' ....... <11. -' ...I i,. REF "A" ,- REF "B'

Clock Timing - MCS6502, 03, 04, 05,06

~'"~ -<,uM' ,VI ( 0:\ 1~ i

I

_1J.i.. .tIlt.. ""HlI' •i .1-- REF "B':

Clock Timing - MCS6512, 13, 14, 15

i /""" '{" yo~\ \L _--,

':

0, (OUT)

02(OUT)

0 0 (IN)

I . I-"E' 'A: ' I"I Il \. - -

, 1- ""tI8, -

I I. I... 04 ~~"'~ .. ~ - TI<.lI(i

~ \i?'lV,.I~"'" /--'0.:,'''--- '.11"c...4w'· .• . • .=-=-----

.... P ...... <IIo. -.-.~ - PW'100'1 .......

_J1--·''.:!i-\ ~.... ~....... 11': ._~

''".- .. -. . "Pl:"'t"' rr ",o.~"",~ Pof'o,....o.n,.. ....... Pn.{ .. ",,"',r:- 0'""\_ ..... 11"'\ .... 1,,....

J 1

..........

~ N.1),. 4-=+"",~H-h

It t--II-=""'"!-'-tt-.. I..

"'i--t--tt+'

00 ~~m~

'1 t __... r

J-",~L

J~

I-

_.- I..=-

II

I

.....

r- f-

I-

I-

I-

I---

1-' I-

'" ""'-.\,., ..,... 'I ....

L- 1,J I

11--l-__--I---4>-1,--,,-__IJ..---~_l_j...J..--..l..-l......J-b-L..-.:~

Connector Testschakeling:

pin nr

2345618910111213141516111820222426

~. -. -_.. -28 ._-

30- - --~.-- - - 31 ---- --

32

.funktie

GND-..from signal generatorsingle cycle (closed)

~ from power-on resetsingle cycle (open)+instruction (open) switchto system reset (dynamic)LED syncdisplay latch enable (dynamic)LED waitesysteem reset (open) switch (dynamic)single instruction (closed) swich (dynamic)system reset (closed) switch (dynamic)HALT switchreset display (open) switchRUN switchreset display (closed) switchdisplay latch enable (static)sync •reset (closed) switchR/W

§2 •- --fillY

-reset (open) switch___to .system reset (static)

+5 volt

switches: static resetRUN/HALTsingle cyclesingle instructiondynamic resetdisplay reset (m&~ual)

LED: WRITE-cycleSYNC-cycle

'I '!It A "i' 1 -1'1

"E.;r- ~ . -'!>-I

FJ!3~ -'~~ k-- i~ ~~

,AI!> II ;

~e/~~- r-+=-

-+- ~ ~nBS k- /l~ sy~*, f-+- ~

r-:SIO ~.g/o/ ~/w-7 ! - "7 I ! ~1

7'1( IJt.- "70/ /.1~- 7f".f.'J-

.( "I( -{ -II( ;,..-- " {f

~- -')-- '-- f---, IIJtJl~

R6sf '~, f-+- .-

"":',8.1 ~1!3 /I,c F~,«

~ I--

·11180-7- ~ .. - ~

~, -+- i9~~

~6~

~r,)8i elV.q~~ _

'1 I ., i .~ '1 N-£41 ~"I$L':

---7" F i~-0' , ' 7<t11.~- gNP 7 rJl "';"1/

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

, 1" r~ - of ~y

.-- ~ I---

"

1 + I-- -7 I--

k<- - ~l- .- .

.1>!> 6~-)86 .

',,])~7

, ~ ........ -(-<---.-I 8 ---4- -i 8 f----<~

l Y'!l.)- l'/'~'J-

·of .('1 .( ..-'1

.-- ~ I-----<

"7- I-- 7"-~ I--

~k- - - i-~

";/)60 . l:t .-+.- - ,J ])61 -U>1 1-1--4- '7 1 -

¥-D -1ft! 9/V.-J; .,J;-Vf/-?i" l,/I!i ,~

-

96 polige connector: amphenol 57-40360

pin nr. function pin nr. functioa b c

1 Vss P2 RES 1 GNDI2 ___ n.e. §l RDY 19 GND23 IRQ n.e. n.e. 2 RDY

4 n.e. N11I n.e. 20 ABIO5 from SYNC. DID R/W 3 216 MCS DBI ABO n.e. 21 ABll7 ABI DB3 DB2 4 IRQ8 6502 DB4 AB3 AB2 22 AB129 AB4 DB6 DB5 5 n.e.10 DB? AB6 AB5 23 AB1311 AB? AB14 AB15 6 NMI12 AB13 AB9 ABa 24 AB1413 ABIO ABll AB12 7 SYNC14 - 25 AB15n.e15 n.e. 8 BE16 n.e. 26 DJ5717 n.e. 9 ABO18 n.e. . 27 DB619 n.e. 10 ABI20 n.e.(5) n.e. n.e. 28 DB521 RDY GND2 GND2 . 11 AB2

-- 22 -- ------- -- - ABll pI ABIO 29 DB423 SYNC AB12 IRQ 12 AB324 _. _._----- ___AB14 NlVU AB13 30 DB325 BE AB15 (2;a) n.e. 13 AB426 to DB6 ABD DJ57 31 DB227 AB2 DB5 ABI 14 AB528 peripheral DB; AB; DB4 ;2 DBI29 .._- AB5 DB2 AB4 15 AB630 DBD AB6 DBI 33 DID31 ABa R/W AB7 16 AB732 RES AB9 P2 34 R/H

17 ABa0

35 J218 AB9

. 36 RES.

BE = buffer enable

)

ct> ~ llJ. ~

- .... ~- \J~ ~

't ~.--r-----

~

~~

UJ~

"......~ ~......

~

()

lu "lJ..

\J

ll.. 't.t.::::::

..:r-CQ

1") ~

-'-I) -~-J)

~

CO)~ ""

"')-()

\J

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

-_._. -- --~ ~- -~

~~ "'-/ e",. ct:

-~ ...- :::;,,-co ~

-:II(

~ ....."':>

e-.l~

f""}....- tlJ- ~-

III

~ .... ... ~-III

q,.

'" llJ1--f

_'tf ...- '" co..-::

I'h. ~:::>-

I"'- ... - otln

•J~ G externe cassetterecorder

pin nr. function

1 GND2 +5 V3 motor4 READ5 WRITE6 sense1 n.c.,14 n.c.

J4 = memory expansion portnog niet aangesloten

Jl = IEEE 488 bus--:l>~n -aanslui ting volgens standaard

-- ---fuffer interfacezie pin assi~~ent amphenol 57-40360

J2 = User Port

pin nr. function

1 GND2 GND3 TIl horizontal4 TIl vertical5 Tape write6 Tape 2 read1 Tape 1 read8 Diagnostic sense9 IEEE EOI10 IEEE SRQ.11 TIl video12 Ground13 GND14 CB215 PA116 PA611 PA518 PA419 PA320 PA2 ~

21 PAl22

.PAO

- - - -23 CAl24 GND