Post on 26-Feb-2019
transcript
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- ~~=----- -0III
"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 International 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µsystems 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 Rekenmachines. 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 arithmetic 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 aangesloten 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 reactiesnelheid 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 computer vergroten, bv. assemblers, loaders
Gemiddeld aantal operaties van een computer per tijdseenheid
Een aantal aaneengesloten bits, die als eenheid wordenbehandeld
".
Der PET 2001 ist ein BASIC-Tischcomputer-System.Seine hervorstechenden Eigenschaften ordnen ihn in die Spitzengruppe der Micro-Computer 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 Telefonnummern 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 Umschaltung 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 Zeichen = 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 Kassetteneinheit ist bereits das In~erface nach IEEE 488 (auch bekannt unter der Bezeichnung IECBus) 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 Mikroprozessoren. 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 MikrocomputerProgrammierung. Elektronik, Sonderheft 11, Mtinchen, 1977, pag. 88-95.
(8) Pauwels, ir.F.P.C.; Systeem- en ontwikkelingsprogrammatuur. In: Afdelingsleergang Microcomputers, vakgroep Schakeltechniek van de afdeling Elektrotechniek THD, Delft, Technische Hogeschool, 1977, page71-92.
(9) llenbach, Dipl.-Ing.F.; Strukturierte Programmierung auch bei Microcomputer. Elektronik, Sonderheft 11, Mtinchen, 1977, page 118-123.
(10) Havermans, G.M.J.; Handleiding voor het prakticum Digitale Rekenmachines. 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
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< 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 Automatisierung 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. HewlettPackard 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
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 meetprocedure geprogrammeerd
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.rdafwijking 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_
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 •
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...Ip:
~
~.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