283 73 22MB
German Pages 36 [44] Year 1988
Z E I T S C H R I F T FÜR M I K R O E L E K T R O N I K
•
mtmatam
pr
SBjtr
•
• COMPUTERTECHNIK • INFORMATIK
n a «•
,
Heft -
i v i i i v r u | j r u ^ t i 5 > 5 > u r i e c ; n n i K — VEB Verlag Technik Berlin
m f
ISSN 0232-2892
Hü:
'S.
s 1
O Schwerpunkt: O MP-Kurs:
• |
A/D-Wandler
PASCAL
&
4
Die Ausstellung „Wissenschaft und Produktion der DDR im Dienste des Volkes" anläßlich des 750jährigen Bestehens von Berlin hat ihre Pforten geschlossen. Anhand etwa 1300 Exponaten die zum großen Teil in Funktion gezeigt wurden - konnten sich die Besucher von der Leistungskraft unserer Volkswirtschaft überzeugen. In dem großen Komplex Mikroelektronik dominierten im Eingangsbereich die Grafik-Terminals, die mittels Datenfernübertragung an den neuen 32-BitComputer von Robotron angeschlossen waren (Bild 1). Gemeinsam mit den modernen Anlagen des VEB Carl Zeiss JENA - z . B. dem automatischen Überdeckungsrepeater zur Belichtung von Wafern - bildet diese Technik die Voraussetzung zur Entwicklung und Produktion hochintegrierter Schaltkreise. Für ein breites Einsatzspektrum vorgesehen ist der 16-Bit-Computer A 7150, der mit seinen Verbesserungen gegenüber dem A 7100 vor allem CAD-Aufgaben auf höherem Anforderungsniveau bearbeiten kann (Bild 2). Mit dem neuen Betriebssystem DCP 3.1. wird sowohl die Brücke zu der weit verbreiteten MSDOS-kompatiblen Standardsoftware geschlagen als auch Programmkompatibilität zu künftigen 16-Bit-Personalcomputern hergestellt. Umfangreiche Aufgabenlösungen wurden mit der mehrplatzfähigen CAD/CAM-Arbeitsstation auf der Basis des K-1600-Systems demonstriert (Bild 3). Inzwischen weit verbreitet sind für Aufgaben in den unterschiedlichsten Bereichen unserer Volkswirtschaft 8-Bit-Computer wie der PC 1715, dessen Weiterentwicklung 1715W mit dem vergrößerten Hauptspeicher und dem modifizierten Betriebssystem eine komfortablere und leistungsfähigere Benutzeroberfläche gewährleistet. Noch besser ausschöpfen kann man die Ressourcen der Personalcomputer oft, wenn sie nicht als Einplatzsystem, sondern im Verbund arbeiten. Eine praktische Demonstration dafür gab die Humboldt-Universität zu Berlin mit dem lokalen Netz ROLANET. Es nutzt als Übertragungsmedium Lichtwellenleiter, die über passive optische Sternkoppler und separate Knotenrechner die PC miteinander verbinden (Bild 4). Somit kann zum Beispiel teure Peripherie von allen angeschlossenen PC gemeinsam genutzt werden. (Fortsetzung siehe 3.
Umschlagseite)
Leistungsfähige Computertechnik in aiien volkswirtschaftlichen Bereichen
Zeitschrift für Mikroelektronik • Computertechnik • Informatik 1. Jahrgang • ISSN 0232-2892
Mikroprozessortechnik, Heft 9 • 87 Herausgeber Kammer der Technik, Fachverband Elektrotechnik Verlag VEB Verlag Technik, Oranienburger Str. 13/14, DDR-1020 Berlin; Telegrammadresse: Technikverlag Berlin; Telefon: 28700, Telex: 0112228 techn dd
' i,' -15 V nigiialrmsse TFT Anolog-_ ikSl eingang Arolog-masse
L'crxhen\Storten
Verlagsdirektor Klaus Hieronimus Redaktion Ingo Paszkowsky, Verantwortlicher Redakteur (Tel.: 2870203); Hans Weiß, Redakteur (Tel.: 2870371); Sekretariat Tel.: 2870381
Freigebe
Gestaltung Christina Kaminski (Tel.: 2870288) Beirat Dr. Ludwig ClaBen, Prof. Dr. sc. Dietrich Eckhardt, Dr. Heinz Florin, Prof. Dr. sc. Rolf Giesecke, Joachim Hahne, Prof. Dr. sc. Dieter Hammer, Dr. sc. Thomas Horn, Prof. Dr. Albert Jugel, Prof. Dr. BerndJunghans, Dr. Dietmar Keller, Prof. Dr. sc. Gernot Meyer, Prof. Dr. sc. Bernd-Georg Münzer, Prof. Dr. sc. Peter Neubert, Prof. Dr. sc. Rudolf Arthur Pose, Prof. Dr. sc. Michael Roth (Vorsitzender), Dr. Gerhard Schulze, Prof. Dr. sc. Manfred Seifart, Dr. Dieter Simon, Dr. Rolf Wätzig, Prof. Dr. sc. Jürgen Zaremba Lizenz-Nr. 1710 des Presseamtes beim Vorsitzenden des Ministerrates der Deutschen Demokratischen Republik Gesamtherstellung Druckerei Märkische Volksstimme Potsdam Erfüllungsort und Gerichtsstand Berlin-Mitte. Der Verlag behält sich alle Rechte an den von ihm veröffentlichten Aufsätzen und Abbildungen, auch das der Übersetzung in fremde Sprachen, vor. Auszüge, Referate und Besprechungen sind nur mit voller Quellenangabe zulässig.
Referenzspan lungsquelfc
Seite 260
SYNA- Modul PLZ/SYS Programmteile ( einschließlich Prozedur PARSE)
SYNA - Generator
Redaktionsschluß: 24. Juli 1987 AN (EDV) 49837 Erscheinungsweise monatlich 1 Heft Heftpreis 5,-M, Abonnementspreis vierteljährlich 15,- M Auslandspreise sind den Zeitschriftenkatalogen des Außenhandelsbetriebes BUCHEXPORT zu entnehmen. Bezugsmöglichkeiten DDR: sämtliche Postämter; SVR Albanien: Direktorije Quendrore e Perhapjes dhe Propaganditit te Librit Rruga Konference e Pezes, Tirana; VR Bulgarien: Direkzia R.E. P„ 11 a, Rue Paris, Sofia; VR China: China National Publications Import and Export Corporation, West Europe Department, P.O. Box 88, Beijing; ÖSSR: PNS - Ustredni Expedicia a DovozTisku Praha, Slezskä 11,120 00 Praha 2, PNS, Üstredna Expedicia a Dovoz Tlaie, Poäta 022,885 47 Bratislava; SFR Jugoslawien: Jugoslovenska Knjiga, Terazija 27, Beograd; Izdavaöko Knjizarsko Produzece MLADOST, llica 30, Zagreb; Koreanische DVR: CHULPANMUL Korea Publications Export & Import Corporation, Pyongyang; Republik Kuba: Empresa de Comercio Exterior de Publicaciones, O'Reilly No. 407, Ciudad Habana; VR Polen: C.K.P.i.W. Ruch, Towarowa 28,00-958 Warszawa; SR Rumänien: D.E.P. Bucure?ti, Piaja Scinteii, Bucure§ti; UdSSR: Sämtliche Abteilungen von Sojuzpeäat' oder Postämter und Postkontore; Ungarische VR: P.K.H.I., Külföldi Elöfizetesi Osztäly, P.O. Box 16.1426 Budapest; SR Vietnam: XUNHASABA, 32, Hai Ba Trung, Hä Nöi; BRD und Berlin (West): ESKABE Kommissions-Grossobuchhandlung, Postfach 36, 8222 Rubpolding/Obb.; Helios-Literatur-VertriebsGmbH, Eichborndamm 141-167, Berlin (West) 52; Kunst und Wissen Erich Bieber OHG, Postfach 46, 7000 Stuttgart 1; Gebrüder Petermann, BUCH + ZEITUNG INTERNATIONAL, Kurfürstenstraße 111, Berlin (West) 30; Osterreich: Helios-Literatur-Vertriebs-GmbH & Co. KG, Industnestraße B13,2345 Brunn am Gebirge; Schweiz: Verlagsauslieferung Wissenschaft der Freihofer AG, Weinbergstr. 109, 8033 Zürich; Alle anderen Länder: örtlicher Fachbuchhandel; BUCHEXPORT Volkseigener Außenhandelsbetrieb der Deutschen Demokratischen Republik, Postfach 160, DDR - 7010, und Leipzig Book Service, Talstraße 29, DDR 7010 Leipzig
Mikroprozessortechnik, Berlin 1 (1987) 9
Grammatik Beschreibung
PLZ/SYS-Modul PLZ/SYS Programmteile {einschließlich Prozedur PARSE )
Datendefinitionen und Semantik Prozeduren
PLZ/SYS - Ubersetzersysteme
Seite 275
Zum Titelbild Ein Spitzenexponat auf der Ausstellung „Wissenschaft und Produktion der DDR im Dienste des Volkes" war die von der Friedrich-Schiller.Universität Jena entwickelte und im VEB Mikrofontechnik Gefell produzierte automatische Laser-Beschriftungsanlage ALBA. Auf ihr entstand das im Titelbild gezeigte Ausstellungssignet als Gravur in eine Plasttafel. Die Beschriftung von Plastschildern für die Industrie ist zwar ein Haupteinsatzgebiet der Anlage, jedoch erlaubt ihre Vielseitigkeit auch die Gravur bzw. Strukturierung von Metallen. Hartmetallen, Gummi, Keramik und Glas. Der Strahl des cw-Neodym-YAG-Lasers wird dabei von einem Mikrorechner - z . B. MC 80 - gesteuert und über die verfahrbare Optik auf das Material fokussiert.
Inhalt Dialog 258 MP-lnfo 259 Klaus Christen: Analogwerterfassung mit den A/D-Wandlern C571 /C570 260 Thomas Schmidt: Zeitoptimierte A/D-D/ABaugruppe mit C571 /C565 262 Christian Heß: C571D an U880-Systemen 264 Dieter Zühlke: Einplatinenrechner als Schnittstelle zwischen Analogund Digitaltechnik 266 Dirk Mehlhorn, Hans-Joachirh Bauer: Transformationsprogramm für dBasell- und TURBO-PASCAL Dateien 269 MP-Kurs Claus Kofer: PASCAL (Teil 1) 271 Uwe Hübner: Automatische Erzeugung von Syntaxanalysatoren 275 Wolfgang Brandt: BASIC-Programm zur StereoDarstellung von Molekülen 277 Andreas Bogatz: U880-Editor für Mikrorechner 278 Bernd Petzold: EPROM-fähige TURBO-PASCALProgramme 279 Klaus-Dieter Kirves: BASIC-Sprachübersicht für KC85/, KC87 und SCP-BASICInterpreter 280 MP-Computerclub Hans-Jochen Bachmann: Elektronische Taktfrequenzumschaltung beim Z 1013 282 D. Lauter: Speichererweiterungsmodul am KC87 Horst Völz: Zu einem Ergebnis des Rundfunk-BASIC-Lehrganges Probleme, Tricks und kurze Routinen Horst Völz: Speichern von Bildschirmirlhalten beim KC85/2 und /3 MP-Börse 285 MP-Bericht 287 257
Dialog E3 Veröffentlichung von Programmen im DUMP-Format Die Veröffentlichung von Softwarelösungen als Anregung und Vorbild hat zweifellos eine große Bedeutung für die Qualifikation und in eingeschränktem Maße auch für die Nachnutzung. Es ist erfreulich, daß mit Ihrer Zeitschrift jetzt das passende Podium dafür existiert. Setzt man eine qualifizierte Kommentierung voraus, gibt es bei der Veröffentlichung von Quelltexten auch keine Schwierigkeiten. Ein Ausweichen auf das DUMP-Format macht das Unterfangen fragwürdig (s. Schlenzig; Heft 1; 3. US und Lennartz; Heft 4; S. 126). Sofern nicht Platzgründe dazu zwingen, ist die Veröffentlichung der Assembler-Quelltexte zu fordern. Nichts ist frustrierender, als in fremden Programmen die Fehlerursache zu suchen, wenn nur der Maschinencode vorliegt. Dieser Beschäftigung fröne ich trotz Kontrollsummen beim Artikel von Schlenzig schon eine Weile. Ist die Veröffentlichung im DUMP-Format unumgänglich, müssen Datensicherungsverfahren, die über Prüfsummen hinausgehen, eingesetzt werden. Ein entsprechendes Verfahren wäre in MP zu veröffentlichen. Ein Beispiel für eine derartige Routine ist von Heyder im Funkamateur 11/86, Seite 565 beschrieben. Druckfehler (in beiden Artikeln finden sich Beispiele) machen die Wiedergabe als Faksimile eines ComputerAusdrucks wünschenswert. Die Prüfung der Software ist von Ihrer Seite aus sicher schwierig, erscheint aber speziell bei DUMP-Veröffentlichungen im Interesse der Leser für sinnvoll. Dr. Volkmar Richter, Paretz Sie sprechen ein Problem an, daß uns seit längerem beschäftigt. Unabhängig davon, ob es sich um Quelltexte oder HEX-DUMPs handelt, streben wir an, die Programme original von der Vorlage, die wir vom Autor erhalten, zu veröffentlichen (Faksimile). D. h., sie werden für den Druck in der Zeitschrift durch die Drukkerei vom Programmausdruck reproduziert. Dabei ist es besonders wichtig, daß weißes Papier und ein möglichst neues, schwarzes Farbband verwendet werden. Nur mit dieser Verfahrensweise lassen sich Fehler, die beim Satz des Pro258
grammtextes entstehen könnten, vermeiden. DUMP-Veröffentlichungen möchten wir in Zukunft nur als Ausnahme gelten lassen, u. a. aus Platzgründen. Abschließend noch einige Ausführungen zur Prüfung der der Redaktion für eine Veröffentlichung eingereichten Software. Jedes Programm wird vor seinem Abdruck in MP begutachtet bzw. getestet. Wie jeder weiß, werden einige Fehler oft erst später sichtbar. Deswegen hat der Autor in erster Linie die Verantwortung für das fehlerfreie Funktionieren eines Programmes. So versteht es sich - im Interesse aller Leser - von selbst, nur Lösungen einzureichen, die vom Autor ausgiebig getestet wurden.
EE3
Computerkabinett
In unserem Betrieb soll ein Computerkabinett eingerichtet werden. Die Ausstattung soll vorerst aus einem Büro- und einem Personalcomputer bestehen. Zur Gestaltung des Raumes haben wir folgende Fragen: • Welches Raumklima (Temperatur, Feuchte) wird verlangt? • Sind Schallschutzmaßnahmen erforderlich? Wenn ja, welche? • Welche elektrischen Anschlußwerte je Computer sind notwendig?
* Initialisierung
• Wie hoch ist der Platzbedarf? usw. Seidel VEB Bau Grimmen, Produktionsbereich Berlin, KlementGottwald-Allee 292, Berlin, 1120 Leider können wir zu den von Ihnen aufgeworfenen Problemen keine detaillierte Auskunft geben. Da sie aber sicher von allgemeinem Interesse sind, veröffentlichen wir Ihre Fragen an dieser Stelle. Vielleicht erhalten Sie von anderen Lesern die gewünschten Informationen.
Rätsel um Pi Für mich war es eine ausgesprochene Freude, daß auch Sie vom Fach, wie viele Tageszeitungen, auf den jr-Trick hereingefallen waren (MP 6/87, 2. Umschlagseite). Unglücklicherweise war meine Entgegnung auf die Veröffentlichung bereits im Heft 5/87 der „Technischen Gemeinschaft", Seite 2 erschienen. Ich hoffe, Sie verstehen den Spaß. Prof. Dr. Karl-Heinz-Werler, Magdeburg Wir bedauern den Fehler und bitten unsere Leser um Nachsicht. Die Anzahl der Stellen müßte richtig lauten: 133554000.
Msumm
SET TALK O F F S T O R E C H R < 0 ) TO M s u m m S T O R E 1 TO Z DO W H I L E Z
STS C570 Fl STS 1 fOnADC2...7
DL Sil
,. i
£8
>
'•Vi Lis-
Bild3
Zusammenschaltung
t 1 6 7
6
i STS
Bild 4 Mikrorechneranpassung U855
des C571 mit Mikrorechner auf U880-Basis
ff
ADC 8 ADC Bit 8
7
T
lIS von ADC2...7
£1
$
~ÄST
V2 DL 123
ES
(CÌ71) ADR2 RD
S A
I DL030
C.5 ADR1 M
PIO
7
£2
DB3 DB2
Vi DL 123
ADC Bit 8
von acht C571 (Multiplexbetrieb) mittels PIO
5V HD-" •fßVo— 100n
r
u
cc+
D Auswahl des E inganges I
J
TL
Bit 1
Mode 0
9 1 2
U f 6 7
Ii
A
Q (lH C 1 2 3
MSB
8 9 10
"a
%
< H H 100n b-W
3
>
baten
LSB
Iis DL 115
-15V 0—
r
Die Digitalisierung sich schnell ändernder Analogsignale erfordert einen Abtast-/Halteverstärker (AH V). Er speichert das Eingangssignal für die Dauer der Umsetzung und dient gleichzeitig als Impedanzwandler. Die Abtast-/Halteschaltung MAB 3 9 8 (Tesla) erfaßt einen 10-V-Eingangssignalsprung mit der benötigten 10-Bit-Genauigkeit in 4jus. Die Wandlungszeit pro Kanal beträgt damit 3 4 p s (Erfassungszeit tacq = 4 u s , Umsetzzeit tc, max. = 30 fis). Als Haltekondensator wird ein 1-nF-Polystyrol-Kondensator verwendet. Wird eine Umsetzung am A/D-Wandler gestartet, geht der A H V In der im Bild 5 gezeigten Konfiguration automatisch für die Dauer der Umsetzung in den „Halte"-Zustand über. Mit dem Spindeleinstellregler P 1 wird der
Mikroprozessortechnik, Berlin 1 (1987) 9
M
Vcc-
< M
MAB 16 E
V
Abtast-/Halteverstärker:
STS
100n
100n j Umsetzstart
•
ADC
2 3
16
bzw.O-.AlOV
9 1 2 3 >T
CC1
S 1
16 -jf-
E1...E16
U
AMX
< H h '
dHF
»CC2
Stotus
C571
47JU S/H
Nullpunkt für das gesamte System eingestellt.
Bild 5
•
masseanschluß des A/D-Wandlers als Mittelpunkt - zu verbinden. Zu diesem Punkt wird auch die Digitalmasse geführt.
A/D-Wandler:
Mit der Wahl der Betriebsart des Wandlers wird der Eingangsspannungsbereich des Datenerfassungssystems von - 5 V . . . + 5 V oder von 0 . . . + 1 0 V festgelegt. Der Endwertabgleich für das gesamte System wird mit dem Spindeleinstellregler P 2 vorgenommen. Die +5-V-Betriebsspannung ist gegen Digitalmasse und die -15-V-Betriebsspannung ist gegen Analogmasse jeweils nahe am Schaltkreis mit 4 7 ^ F und 100 nF (keramischer Scheibenkondensator) abzublocken. Um Verkopplungen zwischen den analogen und den störbehafteten digitalen Signalen zu vermeiden, sind separate Masseführungen zu verwenden. Alle Masseleitungen sind sternförmig - mit dem Analog-
16-Kanal-10-Bit-Datenerfassungssystem
Systemumsetzzyklus Die Wandlung der Eingangsspannung
an
den Analogkanälen geschieht im Normalfall in folgender zeitlicher Reihenfolge: 1. Nach der Ausgabe/Übernahme der Kanaladresse des anzuschaltenden Eingangs muß weiterhin die Zeit für das Einschwingen des Signals am Eingang des A H V berücksichtigt werden. 2. Mit der Ausgabe eines positiven Impulses von t p ä 2,us an den Eingang „Umsetzstart" wird der Umsetzvorgang gestartet. Fortsetzung auf Seite 262
261
Zeitoptimierte A/D-D/A-Baugruppe mitC 571 IC 565 Thomas Schmidt, Torsten Greiner Technische Hochschule Leipzig, Sektion Automatisierungsanlagen Einführung Mit dieser Baugruppe sollen bei einer Auflösung von 8 Bit schnell veränderliche analoge Signale erfaßt und analogdigital umgesetzt werden, so daß sie auf einer Rechnerschnittstelle (z. B. EMR) verfügbar sind. Gleichzeitig, d. h. im time-sharing, soll die Ausgabe und D/A-Wandlung von im Rechner verarbeiteten Werten über die gleiche Schnittstelle gewährleistet werden. Die Anwendungsgebiete erstrecken sich von der^R-gesteuerten Signalverarbeitung (z. B. NF-Signale) über die intelligente Sensorik (digitale Kennlinienkorrektur/Störgrößenkompensation) bis zur Prozeßsteuerung. Damit ist eine schnelle Reaktion auf die sich ändernde Prozeßgröße möglich, so daß z. B. die Geschwindigkeit einer durch Mikroprozessor gesteuerten Regelung beachtlich gesteigert werden kann. Die Schaltung stellt eine Applikation mit der nach dem Verfahren der sukzessiven Approximation arbeitenden IS C571 D dar IM, 121. Da für zeitoptimale Verarbeitung bei 8-BituR-Systemen die Umsetzungsbreite auf 8 Bit beschränkt bleibt, ist in diesem Falle auch der Einsatz des Anfalltyps C570 D möglich. Dabei ist jedoch zu beachten, daß auch die Umsetzzeit beim C 570 größer sein kann 121, so daß es in jedem Fall von Vorteil ist, ausgemessene Exemplare für zeitkritische An-
Thomas Schmidt (24) studiert nach seiner Berufsausbildung mit Abitur als E-Monteur seit 1982 an der Technischen Hochschule Leipzig, Fach Automatisierungstechnik. Er ist Beststudent, bereits seit dem 1. Studienjahr Hilfsassistent und Mitglied in zwei Jugendforscherkollektiven. Dipl.-Irtg. Torsten Greiner (29) studierte an der Technischen Hochschule Karl-Marx-Stadt (jetzt Technische Universität Karl-Marx-Stadl), Sektion Informationstechnik, im Fach Geräteteehnik. Seit 1983 ist er als wissenschaftlicher Assistent an der Technischen Hochschule Leipzig tätig und arbeilet gegenwärtig an einer Dissertation auf dem Gebiet der intelligenten Sensorik.
(Fortsetzung
von Seite 261)
3. Der AHV wird in den „Halte"-Zustand geschaltet, und vom Statussignal wird mit H-Pegel die laufende Umsetzung angezeigt. 4. Da für die Dauer des Umsetzzyklus die Analogeingangsspannung vom AHV gehalten wird, kann inzwischen die Kanaladresse des nächsten anzuschaltenden Eingangs vom Adreßregister übernommen werden. Das Umschalten des Analogmultiplexers bleibt also ohne Einfluß auf die Umsetzdauer pro Kanal. 5. Die Beendigung des Umsetzzyklus wird durch den Übergang auf L-Potential am Statusausgang signalisiert. Der AHV geht in den „Abtasf'-Zustand über.
262
Wendungen einzusetzen. Für den D/AWandler genügt der Anfalltyp C 5658 D. Die Umsetzzeit des C 571 von 15-30 fis (exemplarabhängig) wird als guter Kompromiß zwischen aufwendigen schnellen Parallel-A/ D-Wandlern und hochgenauen, langsameren integrierenden A/D-Wandlern angesehen, da eine weitere Verringerung der Umsetzzeit die notwendige Zeit zur Verarbeitung im Mikrorechner bei Ausnutzung der maximal möglichen Umsetzrate ebenfalls verkürzen würde. Diese zur Eingabe, Ausgabe, Modifikation der Steuersignale und Datenverarbeitung benötigte Zeit liegt aber bereits an der Grenze der durch die Baugruppe ermöglichten Umsetzzeit von 20-35 us, so daß auf höhere Abtastgeschwindigkeiten zugunsten eines minimalen Hardwareaufwands verzichtet wurde. Für sich schnell ändernde analoge Signale (du/dt S 0,4 V/ms) macht sich eine Sampleand-Hold-Schaltung erforderlich /3/, um die Spannung am Eingang des A/D-Wandlers während der Umsetzzeit konstant zu halten, da ansonsten ein unvertretbar hoher Meßfehler auftreten würde (zulässige Abweichung der Analogspannung am C 571 während der Umsetzzeit beträgt 1/4 LSB = 10 mV). Funktionsbeschreibung Zunächst soll anhand Bild 1 die prinzipielle Arbeitsweise der Baugruppe erläutert werden. Um sie so universell wie möglich einsetzen zu können, wurde ein empfindlicher Eingangsspannungsbereich von 0 . . . 0,1 V vorgesehen. Auf Grund des hohen Eingangsspannungsbedarfes des C571 von 10 V macht sich eine Vorverstärkung des Signals um Vu = 100 notwendig, die sich in 2 Stufen zu je Vu = 10 aufteilt. Zwischen diesen Verstärkerstufen befindet sich die Sample-andHold-Schaltung, da mit einer solchen Anordnung ein gutes Einschwingverhalten erreicht wird. Die erste Stufe (N1) bildet einen hochohmigen Eingang (= 10 i!) und ermöglicht gleichzeitig das niederohmige Laden des Speicherkondensators. Dieser gewährleistet zusammen mit dem Tortransistor (SFET) ein Speichern der Analogspannung für die Zeit der A/D-Umsetzung (Sample-
. Nach einer Erfassungszeit von ä 4 ^ s kann das nächste Umsetzstartkommando ausgegeben werden. Zwischenzeitlich können die A/D-Wandler-Daten vom Mikroprozessor gelesen werden. Literatur IM Fachbereichsstandard Entwurf 9/85*. 10-BitAnalog-Digital-Wandlerschaltkreise C 5 7 1 D, C 5 7 1 D1 und 8-Bit-Analog-Digital-Wandlerschaltkreis C 570 D 12/ Informationsblatt C570 D, C571 D d e s V E B H F O
El KONTAKT m VEB Halbleiterwerk Frankfurt (Oder), Abt. EECS, Markendorf, 1201; Tel. 4 6 3 2 6 4
and-Hold-Schaltung). Die zweite Verstärkerstufe (N2) sichert die notwendige hochohmige Abtastung des Speicherkondensators und stellt die so aufbereitete Eingangsspannung dem A/D-Wandler zur Verfügung. Durch eine LH-Flanke am Steuertakt c, der vom Rechner programmtechnisch realisiert werden kann, wird mit dem Strobe STB 1 der in dem zurückliegenden Meßzyklus gewonnene Wert in das Latch RG1 eingeschrieben, der notwendige Lösch-Startimpuls (US) von 2/
Bild 3 Byteeingabe mit Auslösung der A/D-Wandlung durch /HALT & SYN
Mikroprozessortechnik, Berlin 1 (1987) 9
bei der auf die Nutzung des Interruptsystems verzichtet wurde. Das zugehörige Zeitverhalten ist in Bild 6 dargestellt. Nach einem Initialstart des ADU werden die weiteren Umsetzungen durch seine eigenen Statusmeldungen ausgelöst. Gleichzeitig werden die Daten in die PIO-Eingaberegister eingeschrieben. Die CPU kann somit zu jedem beliebigen Zeitpunkt den zuletzt umgesetzten Wert von der PIO übernehmen. Dazu wurde durch eine Strobesperre hardwaremäßig realisiert, daß während und zwischen den beiden notwendigen IN-Befehlen zum Einlesen der 10 Bit aus der PIO in die CPU kein Strobe möglich ist.
_twlsn>T50ns c gültig
IMPI0A IN PIO B
35=
>
Bild 5 Selbständige Umsetzung durch den C571 D
265
Strobeimpuls ausgelöst. Die ersten gültigen Daten werden eingeschrieben, wenn /RES H ist, bevor SA' = H wird, da sonst die Umsetzung sofort wieder ausgelöst wird und beim Strobeimpuls u. U. die Datenleitungen bereits wieder hochohmig sind. Aufgrund der üblichen Realisierungen des /RES stellt dies aber keine Einschränkung der Funktionsfähigkeit dar, und auf eine Impulsverkürzungsschaltung hierfür kann verzichtet werden. Strobesperre Zum Einlesen der im PIO-Eingaberegister abgespeicherten Daten eignet sich z. B. folgende Befehlsfolge: IN LD IN LD
PIOA E, A PIOB D, A
Durch die Strobesperre wird gewährleistet, daß während und zwischen den beiden eigentlichen Portleseoperationen (Takt-Zustände T3 der Maschinenzyklen M2 der CPU-IN-Befehle) das RS-Flipflop 3 rückgesetzt ist und der Eingang der L-aktiven Impulsverkürzungsschaltung H-Potential führt. Ein Strobeimpuls wird somit verzögert, bis Q3 gesetzt wird. Zur Erkennung einer bevorstehenden Leseoperation der PIO durch die CPU dient das Laktive Signal _ /RD' = /IORQ + /CS + /RD + C/D, Die Rücksetzung /R3 = /RD' + B/A wird nur im Befehl IN PIOA erfüllt. Q3 wird auf L geschaltet und damit ein Strobe so lange verzögert, bis /S3 = /RD' • B/A durch den Befehl IN PIOB das RS-Flipflop wieder setzt und Strobe erlaubt wird. Die Impulsverkürzung wurde aus zwei RS-Flipflops realisiert, da das NAND-Gatter D1.4 in einer anderen Schaltung verwendet wurde und auf einen zusätzlichen Schaltkreis verzichtet werden sollte. Die CPU sendet die Signale /IORQ, /CS, /RD, C/D und B/A mindestens 2 Takte (ca. 800 ns) vor dem eigentlichen Lesen der Daten /4/. Dadurch ist gewährleistet, daß unter Berücksichtigung der Verzögerungs- und Flankenübergangszeiten das Rücksetzen des RS-Flipflops 3 und, im worst case, ein unmittelbar vor der Bedingung /R3 = L begonnener Strobeimpuls (Dauer ca. 200 ns) beendet sind. Die Gesamtverzögerungszeit der Strobesperrung (realisiert mit CMOS-Schaltkreisen bei 5 V Betriebsspannung) beträgt in der realisierten Variante 200 ns, die Gesamtflankenübergangszeit 60 ns. Der Hersteller garantiert aber nur, daß die Gesamtverzögerungszeit tvges. S 1,2/xs ist. Für industrielle Anwendungen empfiehlt sich deshalb der Einsatz von LS-OR-Gattern des DL 032 D. Bei der Strobefreigabe durch Setzen des RS-Flipflops 3 ist es notwendig, /S3 zu verzögern, bis die Portleseoperation im Befehl IN PIOB erfolgt ist. Das wird durch C3 realisiert. In der Initialisierungsphase der PIO erfolgt durch eine Initialeingabe in Port B ein Anfangssetzen des RS-Flipflops. Eine einfachere Realisierung der Strobesperre stellt die Beschaltung von BRDY der PIO an D1.2 dar (gestrichelt dargestellt). Die Verbindung mit Q3 entfällt, wodurch D2 eingespart werden kann. In dieser Variante wird nach einem Strobeimpuls noch eine Umsetzung ausgelöst, der nächste Strobe und so-
266
mit der nächste Start einer Umsetzung werden aber unterbunden, bis PlO-Port B gelesen wurde. Synchronisation der AID-Wandlung Zur Synchronisation der A/D-Wandlung durch ein externes /SYN-Signal wird dieses an beide Eingänge von D1.1 geschaltet. Die Verbindungen mit /STB und /RES entfallen. Durch C4 kann die Auslösung der Umsetzung verzögert werden, bis evtl. auftretende Übergangsvorgänge des Analogsignals (z. B. durch Choppern oder Multiplexen) abgeklungen sind. Durch den Einsatz von 3 bzw. 4 Logikschaltkreisen kann die Zeit, bis der zuletzt umgesetzte ADU-Wert in einem Doppelregister der CPU abgespeichert ist, auf eine Meßzeit nach Gl. (3) verringert werden. tM = tLESEN= 12/iS
(3)
Verwendung des C 570 D Bei Verwendung des C570D kann ggf. die Abgleichschaltung nach Bild 2 entfallen. (Siehe hierzu /1/.) Die Bits 10 und 9 entfallen, so daß alle Daten über PlO-Port A gelesen werden können. In den Bildern 3 und 5 bleiben somit die PlO-Ports B unbenutzt. Weiterhin können in Bild 5 die Gatter D 4.1, D 1.3 und D 3.3 sowie C3 entfallen. Der Ausgang von D 2.4 wird direkt mit D1.2 verbunden. Bei Strobesperrung durch RDY der PIO ist ARDY zu verwenden. Durch die Softwarereduzierung kann z. B. die Lesezeit auf 4,5//s gesenkt werden, bis die Daten dem Akkumulator zur Verfügung stehen.
Bei Umsetzung nach Bild 3 unter Verwendung dynamischer RAMs im verwendeten Mikrorechner und deren Refresh im Transparent-Mode ist längeres Verweilen im Haltzustand der CPU zu vermeiden, da aufgrund zu häufigen Refreshs thermische Probleme auftreten könnten. Bezüglich der aufgenommenen bzw. aufgebrachten Ausgangsströme des verwendeten CMOS-Gatters beim Treiben von GR/ ST treten keine Probleme auf, da laut /7/ der Steuerstrom / l m / < 40//A ist. Die Umsetzzeit des eingesetzten Exemplars betrug tc = 18//S. Die vorgestellten Applikationen stellen Beispiele dar, die Anregungen für Schaltungen mit dem C 571D an U880Systemen geben sollen.
Literatur IM Krüger, K.: Analogwerteingabe in Kleincomputer. Radio Ferns. Elektron., Berlin 35 (1986) 9, S. 557-558 121 Data Acquisition Databook: 10 Bit Analog to Digital Converter AD 571. Analog Devices 1982 /3/ Datenblatt: C 570 D , C 571 D. VEB Halbleiterwerk Frankfurt/O. /4/ Kieser, H.; Meder, M.: Mikroprozessortechnik. VEB Verlag Technik, Berlin 1984 /5/ Schmidt, T.; Greiner, T.: Zeitoptimierte A/D-D/ A-Baugruppe mit C 571 /C 565. Mikroprozessortechnik, Berlin 1 (1987) 9, S. 262 161 Katalog: Aktive elektronische Bauelemente. VEB Kombinat Mikroelektronik, Erfurt 1985 /7/ TGL 43269. 10-Bit-Analog-Digltal-WandlerSchaltkreise C 571 D.
Schlußbemerkung Durch die Realisierung von Hardwarestrukturen bei den beschriebenen Applikationen unter Verwendung von, bei den auftretenden Frequenzen noch als verlustarm zu bezeichnenden, CMOS-Schaltkreisen kann die Meßzeit bis auf 12/iS (C570D: 4,5/is) gesenkt werden.
Kl KONTAKT @ Technische Hochschule Leipzig, Sektion Automatisierungsanlagen, WB 3, Karl-Liebknecht-Str. 132, Leipzig, 7030; Tel. 3943139
Einplatinenrechner als Schnittstelle zwischen Analogund Digitaltechnik Dieter Zühlke VEB Mikroelektronik „Karl Marx" Erfurt Vorgestellt wird eine Platine, die bei Kleinund Bürorechnern als Bindeglied zu Steuerungs- und Regelungsprozessen sowie für die Erfassung und Abspeicherung von Analogsignalen gedacht ist. Das System umfaßt jeweils 8 Multiplexkanäie bei AD-Wandlung (C571) und DA-Wandlung (C565) sowie einen Einchip-Mikrorechner (EMR) U 884 mit SRAM (z. B. U 6516) als Speicherblock und drei verschiedene digitale Anschlußmöglichkeiten.
Vorbemerkungen Die ADDA-EMR 02 und 03 ist eine universelle Platine (K1520-Format), die für keinen speziellen Anwendungsfall entwickelt wurde. Im folgenden sollen neben der Beschreibung der Funktionsblöcke auch einige Anwendungsbeispiele angedeutet werden. Hauptanwendungsgruppen sind neben dem Rationalisierungsmittelbau auch Schul- und Bildungseinrichtungen. Die Funktionsblöcke (Bild 1) sind: • EMR-Speicher-Block (U882XM oder U884XM) Variante 02 mit 7x28poligen Fas-
Mikroprozessortechnik, Berlin 1 (1987)9
Strobeimpuls ausgelöst. Die ersten gültigen Daten werden eingeschrieben, wenn /RES H ist, bevor SA' = H wird, da sonst die Umsetzung sofort wieder ausgelöst wird und beim Strobeimpuls u. U. die Datenleitungen bereits wieder hochohmig sind. Aufgrund der üblichen Realisierungen des /RES stellt dies aber keine Einschränkung der Funktionsfähigkeit dar, und auf eine Impulsverkürzungsschaltung hierfür kann verzichtet werden. Strobesperre Zum Einlesen der im PIO-Eingaberegister abgespeicherten Daten eignet sich z. B. folgende Befehlsfolge: IN LD IN LD
PIOA E, A PIOB D, A
Durch die Strobesperre wird gewährleistet, daß während und zwischen den beiden eigentlichen Portleseoperationen (Takt-Zustände T3 der Maschinenzyklen M2 der CPU-IN-Befehle) das RS-Flipflop 3 rückgesetzt ist und der Eingang der L-aktiven Impulsverkürzungsschaltung H-Potential führt. Ein Strobeimpuls wird somit verzögert, bis Q3 gesetzt wird. Zur Erkennung einer bevorstehenden Leseoperation der PIO durch die CPU dient das Laktive Signal _ /RD' = /IORQ + /CS + /RD + C/D, Die Rücksetzung /R3 = /RD' + B/A wird nur im Befehl IN PIOA erfüllt. Q3 wird auf L geschaltet und damit ein Strobe so lange verzögert, bis /S3 = /RD' • B/A durch den Befehl IN PIOB das RS-Flipflop wieder setzt und Strobe erlaubt wird. Die Impulsverkürzung wurde aus zwei RS-Flipflops realisiert, da das NAND-Gatter D1.4 in einer anderen Schaltung verwendet wurde und auf einen zusätzlichen Schaltkreis verzichtet werden sollte. Die CPU sendet die Signale /IORQ, /CS, /RD, C/D und B/A mindestens 2 Takte (ca. 800 ns) vor dem eigentlichen Lesen der Daten /4/. Dadurch ist gewährleistet, daß unter Berücksichtigung der Verzögerungs- und Flankenübergangszeiten das Rücksetzen des RS-Flipflops 3 und, im worst case, ein unmittelbar vor der Bedingung /R3 = L begonnener Strobeimpuls (Dauer ca. 200 ns) beendet sind. Die Gesamtverzögerungszeit der Strobesperrung (realisiert mit CMOS-Schaltkreisen bei 5 V Betriebsspannung) beträgt in der realisierten Variante 200 ns, die Gesamtflankenübergangszeit 60 ns. Der Hersteller garantiert aber nur, daß die Gesamtverzögerungszeit tvges. S 1,2/xs ist. Für industrielle Anwendungen empfiehlt sich deshalb der Einsatz von LS-OR-Gattern des DL 032 D. Bei der Strobefreigabe durch Setzen des RS-Flipflops 3 ist es notwendig, /S3 zu verzögern, bis die Portleseoperation im Befehl IN PIOB erfolgt ist. Das wird durch C3 realisiert. In der Initialisierungsphase der PIO erfolgt durch eine Initialeingabe in Port B ein Anfangssetzen des RS-Flipflops. Eine einfachere Realisierung der Strobesperre stellt die Beschaltung von BRDY der PIO an D1.2 dar (gestrichelt dargestellt). Die Verbindung mit Q3 entfällt, wodurch D2 eingespart werden kann. In dieser Variante wird nach einem Strobeimpuls noch eine Umsetzung ausgelöst, der nächste Strobe und so-
266
mit der nächste Start einer Umsetzung werden aber unterbunden, bis PlO-Port B gelesen wurde. Synchronisation der AID-Wandlung Zur Synchronisation der A/D-Wandlung durch ein externes /SYN-Signal wird dieses an beide Eingänge von D1.1 geschaltet. Die Verbindungen mit /STB und /RES entfallen. Durch C4 kann die Auslösung der Umsetzung verzögert werden, bis evtl. auftretende Übergangsvorgänge des Analogsignals (z. B. durch Choppern oder Multiplexen) abgeklungen sind. Durch den Einsatz von 3 bzw. 4 Logikschaltkreisen kann die Zeit, bis der zuletzt umgesetzte ADU-Wert in einem Doppelregister der CPU abgespeichert ist, auf eine Meßzeit nach Gl. (3) verringert werden. tM = tLESEN= 12/iS
(3)
Verwendung des C 570 D Bei Verwendung des C570D kann ggf. die Abgleichschaltung nach Bild 2 entfallen. (Siehe hierzu /1/.) Die Bits 10 und 9 entfallen, so daß alle Daten über PlO-Port A gelesen werden können. In den Bildern 3 und 5 bleiben somit die PlO-Ports B unbenutzt. Weiterhin können in Bild 5 die Gatter D 4.1, D 1.3 und D 3.3 sowie C3 entfallen. Der Ausgang von D 2.4 wird direkt mit D1.2 verbunden. Bei Strobesperrung durch RDY der PIO ist ARDY zu verwenden. Durch die Softwarereduzierung kann z. B. die Lesezeit auf 4,5//s gesenkt werden, bis die Daten dem Akkumulator zur Verfügung stehen.
Bei Umsetzung nach Bild 3 unter Verwendung dynamischer RAMs im verwendeten Mikrorechner und deren Refresh im Transparent-Mode ist längeres Verweilen im Haltzustand der CPU zu vermeiden, da aufgrund zu häufigen Refreshs thermische Probleme auftreten könnten. Bezüglich der aufgenommenen bzw. aufgebrachten Ausgangsströme des verwendeten CMOS-Gatters beim Treiben von GR/ ST treten keine Probleme auf, da laut /7/ der Steuerstrom / l m / < 40//A ist. Die Umsetzzeit des eingesetzten Exemplars betrug tc = 18//S. Die vorgestellten Applikationen stellen Beispiele dar, die Anregungen für Schaltungen mit dem C 571D an U880Systemen geben sollen.
Literatur IM Krüger, K.: Analogwerteingabe in Kleincomputer. Radio Ferns. Elektron., Berlin 35 (1986) 9, S. 557-558 121 Data Acquisition Databook: 10 Bit Analog to Digital Converter AD 571. Analog Devices 1982 /3/ Datenblatt: C 570 D , C 571 D. VEB Halbleiterwerk Frankfurt/O. /4/ Kieser, H.; Meder, M.: Mikroprozessortechnik. VEB Verlag Technik, Berlin 1984 /5/ Schmidt, T.; Greiner, T.: Zeitoptimierte A/D-D/ A-Baugruppe mit C 571 /C 565. Mikroprozessortechnik, Berlin 1 (1987) 9, S. 262 161 Katalog: Aktive elektronische Bauelemente. VEB Kombinat Mikroelektronik, Erfurt 1985 /7/ TGL 43269. 10-Bit-Analog-Digltal-WandlerSchaltkreise C 571 D.
Schlußbemerkung Durch die Realisierung von Hardwarestrukturen bei den beschriebenen Applikationen unter Verwendung von, bei den auftretenden Frequenzen noch als verlustarm zu bezeichnenden, CMOS-Schaltkreisen kann die Meßzeit bis auf 12/iS (C570D: 4,5/is) gesenkt werden.
Kl KONTAKT @ Technische Hochschule Leipzig, Sektion Automatisierungsanlagen, WB 3, Karl-Liebknecht-Str. 132, Leipzig, 7030; Tel. 3943139
Einplatinenrechner als Schnittstelle zwischen Analogund Digitaltechnik Dieter Zühlke VEB Mikroelektronik „Karl Marx" Erfurt Vorgestellt wird eine Platine, die bei Kleinund Bürorechnern als Bindeglied zu Steuerungs- und Regelungsprozessen sowie für die Erfassung und Abspeicherung von Analogsignalen gedacht ist. Das System umfaßt jeweils 8 Multiplexkanäie bei AD-Wandlung (C571) und DA-Wandlung (C565) sowie einen Einchip-Mikrorechner (EMR) U 884 mit SRAM (z. B. U 6516) als Speicherblock und drei verschiedene digitale Anschlußmöglichkeiten.
Vorbemerkungen Die ADDA-EMR 02 und 03 ist eine universelle Platine (K1520-Format), die für keinen speziellen Anwendungsfall entwickelt wurde. Im folgenden sollen neben der Beschreibung der Funktionsblöcke auch einige Anwendungsbeispiele angedeutet werden. Hauptanwendungsgruppen sind neben dem Rationalisierungsmittelbau auch Schul- und Bildungseinrichtungen. Die Funktionsblöcke (Bild 1) sind: • EMR-Speicher-Block (U882XM oder U884XM) Variante 02 mit 7x28poligen Fas-
Mikroprozessortechnik, Berlin 1 (1987)9
externe Spticheranforderung P
8 x Analogeingang (iSV)
mcT
>~sv
•
UIWtA-sv —
AID-MndlerBlock w-&rDom3-msaxt it-mom 8 Kanäle BlodtdKond/e CSV HO Bit 3-Bit Select des I 12 Bit AID-Wandier-
Takt, RESETPower-Down Logik und SpannungsObmachg.
interner ROM U 27 IE bzw. arm
Bild 1 Funktionsblöcke der
: ausgong Ift5V)
B-Bit Daten WitJIO AdreBtHH \ Speicherblack latch Adresse Ik 28 polige Fassungen und fijrS RAMund/oderEPROH OatenSchlafsteuerunq treib Dt1 Paralleler ¡10Crr) 8 BitEoderA 3x8 Bit M W 5 V) aus und löst beim Unterschreiten einer Triggerschwelle eine H/LFlanke am Ausgang aus, die vom EMR als Interruptquelle genutzt werden kann. Auf die Beschreibung der RESET- und PowerDown-Logik soll hier verzichtet werden. Ihre Aufgaben sind: - Sicheres Umschalten in den Schlafzustand der Register des EMR und der SRAMs - exakte Rücknahme des aktiven RESETZustandes auch bei langsam steigender Betriebsspannung. IFSS-Block Als Basis der Kopplung dient der IFSS-Standardanschluß (Interface zum sternförmigen Anschluß von Ein- und Ausgabegeräten mit serieller Informationsübertragung). Dieser besteht aus zwei Stromschleifen (Sender und Ejnpfänger) für 20 mA. Über Optokoppler erfolgt eine galvanische Trennung zwischen der ADDA-EMR und der Übertragungsleitung. Der EMR bestimmt die Bitrate (110... 19 200) und das serielle Datenformat der asynchronen Übertragung. Durch die Anschlüsse P20, P21, P22 kann der EMR über eine Verknüpfungslogik entscheiden, mit welchen der 2 Geräte (z. B. aktive Tastatur und Wirtsrechner) er in Verbindung tritt oder ob er die Datenleitung durchschaltet (Bild 3). 3 x 8-Bit-Ein- oder Ausgabelatch Als Latch sind DS8282D verwendet worden, die je nach Bestückung als Ein- oder Ausgabetor fungieren. Die Datenleitungen sind an die getriebenen Speicherleitungen ange-
schlossen. Über die Adreßleitung A8, A9 und A10 werden die Latches angesprochen. Durch den Anschluß P27 (L -» l/U und H -> Speicher) wird ohne Einschränkung des Daten- und Programmspeicherbereiches eine klare Trennung von diesen erreicht. Dies ist besonders bei der Abspeicherung umfangreicher Meßreihen und bei dem externen Speicherzugriff von Vorteil. DMA-Anschluß Um einen schnellen und damit auch umfangreichen Datentransfer zu ermöglichen, ist ein direkter Speicherzugriff notwendig. Dies wird vom EMR programmtechnisch durch die Möglichkeit des hochohmig Schaltens von Port 0 und 1 und der Steuerleitungen AS, DS und R/W unterstützt. Die Schnittstelle umfaßt diese Leitungen zuzüglich der notwendigen Leitungen BUSAK (P32) und BUSRQ (P35). Wesentliches Kriterium der Gegenstelle ist, daß sie zeitmultipiex Adressen (16 Bit) und Daten (8 Bit) senden und empfangen kann. ADW-Block Im Bild 4 ist das Schaltbild des Analog-Digital-Wandlers dargestellt. Die Ports P10... 17 und P00 ... 03 sind auf Eingang programmiert. Über das obere Nibbel von Port 0 wird der Kanal des Multiplexers (V4051D) ausgewählt, der seinen Analogwert auf den Kondensator C in der Abtastphase gibt. Danach wandelt der C 571D den Wert, und er kann vom EMR zur Weiterverarbeitung gelesen werden. Mit dem Anschluß P23 wird die Steuerlogik gestartet, und am Anschluß P24 wird das Ende der ADW vom C 571D registriert. Im nächsten Abschnitt wird ein Programm für 8-Kanal-AD- und -DA-Wandlung gezeigt. Technische Daten: Anzahl der Kanäle: maximal 8 Spannungspegel: +/-5V Auflösung: 10BitbeiC571D 8Bit bei C 570D Umsetzzeit: 15...30^sbeiC571D (typisch 1 8 . . . 20fis) 15 ... 40¿iS bei C 570D Abtastzeit: 5/^s DAW-Block Der Digital-Analog-Wandler ist im Bild 5 dargestellt. Die Ports 0 und 1 sind auf Ausgabe
267
H-J' -O-Jc V
(
V
Bild 4
IxBOSii Dp y > y y
>
y
y
>
y
y
s>
y
y
t>
y
y
>
y
y
0
y
y
>
y
P23 iogik
A/D-Wandler-Btock
l.OC
3.03 ü»J COOK
P 0000 P P P P P P P P P P P P P P P P P P P P P P P P P P P
2 x BO dl Dp
000070 000231 000492 0006AO OOOB82 OOOAE6 OOOD08 OOOF54 001218 0014AO 001646 001956 001CE6 001F64 00226B 002498 0026A8 002846 002B£6 002E92 0030AO 003292 003*AO 0034HA 003850 003AAF 0031«
FD 00 9E EE AE F8 E? £2 EA EE E2 E2 Fa E2 F* EO El E2 F8 9C EC AC EC CC FD
04 F7 20 DF OD 10 08 96
Bild 5 DIA- Wandler-Block
swr SOURCE STATEMENT 1 ADDA_ANALOG MODULE 4 5 'fi'«» Dn*«?n vo* ADW wcrdpn urbpr die A*1rp«?r, TURBO-PASCAL)} S1 [[LW: ]DATEINAM. TYP] [1] {I für Input (Transformation TURBO-PASCAL^-dBasell)} (DATEINAM. TYP: = Name/Typ derdBasellbzw. REDABAS-Datei) Leistung 1. Output S1 erzeugt 1. Die TURBO-PASCAL-Direktzugriffsdatei DATEINAM. RAN auf dem (angegebenen/ aktuellen) Laufwerk. 2. Die Deklarations-Quelltextdatei DATEINAM. DEK auf dem (angegebenen/aktuellen) Laufwerk. (Extensionen werden automatisch gesetzt). 2. Input S1 überträgt den Inhalt der TURBO-PASCAL-Direktzugriffsdatei DATEINAM. RAN in die dBase Ii-Datei DATEINAM. TYP auf dem (angegebenen/aktuellen) Laufwerk. Parameter maximale Breite der dBasell-Datei: 1000 Zeichen/Zeile maximale Länge der dBasell-Datei: 65 535 Zeilen Transformationsparameter Standard: Felder in dBasell 4>
Variablen in
TYP LÄNGE n C L 1 N 1-2 N 3-4 N 5-max N 2-max
TURBOPASCAL DEZIMALST. TYP [LÄNGE] 0 STRING [n] 0 BOOLEAN 0 BYTE INTEGER 0 0 REAL REAL 1-68
Weitere Liefermöglichkeiten: Felder in dBase! I => N|1-m{m ;B1< 1. 7) : NEXT I 1 l 1 0 PRINT'SolI k o r r i g i e r t werden ? " 1120 LS-INKEYS: IF LS=""THEN 1120 1130 IF LS="N" THEN 380 1140 INPUT"Welche Bindun« Rull k o r r i g i e r t werden " ; I 1150 INPUT'Neue Bindun« i . j " ; B I ( I , 1 ) . B I ( I . 2 ) 1160 GOTO 1110 1 170 FOR I I TO N: A Y - B U , « ) : AZ=B( I, P) . J=I+N 1180 B ( J . < J ) - A Y * . 9 9 0 2 6 8 * A Z » . 1 3 9 1 7 3 * S I 1190 B< J , D ••AZ«. 990266- AY». 139173«5I 1200 B ( J . T ) = B ( I . T ) : N E X T I : RETURN ] 210 FOR 1-1 TO 2 0 0 : Cl-C»( I )+Cl : C 2 ( D = C 1 : NEXT I 1220 HH=1: GOTO 700
/10/ /11/ /12/
sor Programming Using PLZ. Winthrop Publishers, Cambridge, 1979 Anwenderdokumentation PLZ/SYS. VEB Robotron Buchungsmaschinenwerk, Karl-MarxStadt, 1984 Waite, W. M.; Goos, G.: Compiler Construction. Springer, New York, 1984 Aho, A. V.; Ullman, I. D.: Principles of Compiler Design. Addison-Wesley, Reading, 1978 CCITT High Level Language (CHILL). Recommendation Z.200, Geneva, 1985
IS KONTAKT @ VEB Zentrum für Forschung und Technologie Nachrichtenelektronik, Edisonstraße 63, Berlin, 1160; Tel. 63812241.
fragen beim Autor) erlauben die Berechnung der kartesischen Koordinaten aus internen Koordinaten (Bindungslängen, Bindungswinkeln und Torsionswinkeln) sowie die beliebige Rotation von Molekülen oder Molekülteilen. Damit ist die Modellierung insbesondere von Biomolekülen leicht möglich. Aufgrund des zur Verfügung stehenden Speicherplatzes darf die Zahl der zu zeichnenden Punkte jedoch nicht 4 5 5 0 übersteigen, was jedoch bisher noch in keinem Beispiel erreicht wurde.
El KONTAKT ® Martin-Luther-Universität Halle, Sektion Chemie, Weinbergweg 16, Halle, 4050; Tel. 622213
K r f r t e ^ j r h p irc.i
2 1
1 1 /on
Tetraeder
1
1
4
1
4
5
4
Tetraeder B«?i - s p i e l 1 t?t r at?1« «13
- Bytezuweisung - Doppelbytezuweisung - Zeichenkettendefinition - Speicherreservierung angegebener Länge (Eintrag von NOP) - Markenwertzuweisung als Konstante - Ende der Übersetzung - f ü r H L , z. B. LDM, A — > L D (HL), A -stellt den Programmzähler auf die angegebene Adresse
"
y>
* :
it Li
H »mj«>,* (I*HIH>.»
u
C.ilfti S.o H.all I.nsef! L.Ii* tl.Oi* H.f! P.riM R.fH T.«t
t.«**
Dialogbetriebsart
tung gerollt. Mit Hilfe von Steuerkommandos (ctrl-Taste) können verschiedene Hilfsfunktionen aufgerufen werden; Tafel 2 vermittelt dazu eine Übersicht. Verschiedene der Steuerkommandos fordern Parameter an, die wahlweise als absolute Zahlenangaben, relative Zahlenangaben oder in symbolischer Form (Marke, eventuell mit Offset) angebbar sind. Abschließend zeigt Tafel 3 die möglichen Pseudobefehle, die auch den blockorientierten Übersetzerlauf unterstützen.
4mal mehr Speicher. Bei Aufgabenstellungen, die besonders viele arithmetische Funktionen beinhalten, liegt das Verhältnis besser. Die unbestrittenen Vorteile der Verwendung einer Hochsprache hinsichtlich Lesbarkeit, Änderungsfreundlichkeit und Portabilität wiegen diesen Nachteil aber bei weitem wieder auf. Neben der erwähnten Änderung des Laufzeitmoduls liegt außerdem ein PASCAL-Programm vor, das die Erzeugung von INLINECode aus der PRN-Datei des ASM (Makroassembler unter SCPX) gestattet. Optional kann der Quelltext des Assemblerprogramms als Kommentar mit in die INLINEAnweisung aufgenommen werden. Externe Marken erscheinen mit ihrem Namen im Inline-Code. Zur Testunterstützung wurde außerdem eine Möglichkeit der schrittweisen Abarbeitung der TURBO-PASCAL-Programme unter Ausnutzung der U-Compilerdirektive erarbeitet. Dr. B. Petzold
Kl KONTAKT ^ Forschungszentrum für Bodenfruchtbarkeit Müncheberg, Abt. wissenschaftlicher Gerätebau, Wilhelm-Pieck-Str. 72, Müncheberg, 1278; Tel. 82241
279
Tafel 2 Steuerbefehle im Dialogbetrieb
Tafel 3 Übersicht zu den Pseudobefehlen
Back Anzeige 5 Befehlszeilen zurückschalten Delet Streichen bis ausschließlich angegebener Adresse; ohne Angabe: anstehenden Befehl streichen Go Anzeige ab 5 Befehlszeilen vor angegebener Adresse; ohne Angabe ab 5 Zeilen vor Programmende (4xOFFH) Halt Markierung der angegebenen Adresse als Haltepunkt; ohne Angabe: Haltepunkt am bearbeiteten Befehl I nsert Einfügen von Leerbefehlen (NOP) bis ausschließlich angegebener Adresse; ohne Angabe ein Leerbefehl (Voraussetzung: RAM hinter Programm auf benötigter Länge frei) Link Binden des Programmes mit bearbeitetem Befehl auf angegebener Adresse; ohne Angabe Binden auf momentanen Bereich im Speicher M ove Verschieben des Programmes und der Marken von Adresse 1 bis ausschließlich Adresse 2 (ohne Angabe von Adresse 2 bis Programmende) auf Bereich ab zu bearbeitender Zeile (Voraussetzung: RAM auf Länge ab Bearbeitungsadresse frei) Next Anzeige 5 Zeilen vorwärts schalten Print Drucken ab Adresse 1 bis ausschließlich Adresse 2; ohne Angabe von Adresse 2 bis Programmende (4xOFFH) RAM Anzeige HEXA/ASCII ab angegebener Adresse; ohne Angabe ab Bearbeitungsadresse Test Übergang in den Testmodus ab angegebener Adresse; ohne Angabe ab Bearbeitungsadresse
DB... DW... DM 'Zeichenkette' DS...
maximal 30 Zeichen. Verschiedene Pseudobefehle unterstützen den blockorientierten Übersetzerlauf. In der Dialogbetriebsart können Programme erstellt, geändert und verschoben werden. Ein Testprogramm ermöglicht den Programmtest im Schrittbetrieb oder im Lauf bis zu einem vorgebbaren Haltepunkt. Als Ergänzung kann ein Speicherbereich HEXA/ ASCII angezeigt werden, wobei durch einen dynamischen Bildaufbau sich ändernde Zellen beobachtbar sind. Im Sinne einer guten Programmübersicht befindet sich die zu bearbeitende Programm-
zeile in der Bildmitte, wobei der Cursor unter dem ersten Zeichen des Markenfeldes steht. Somit werden 5 Zeilen vor und 6 Zeilen nach der Bearbeitungszeile sichtbar. Die von der Tastatur erzeugten Zeichen werden direkt auf die Bearbeitungszeile geschrieben (auch Tabulation, horizontale Cursorbewegungen und clear) und nach Betätigung der Enter-Jaste wird die Zeile übersetzt bzw. eine Fehlermeldung ausgegeben. Wird die Bearbeitungszeile jedoch mit vertikalen Cursorbewegungen verlassen, so wird der alte Zustand der Bearbeitungszeile regeneriert und das angezeigte Bild in der entsprechenden Rich-
Bild 1 Schirmbild während der
EPROM-fähigeTURBOPASCAL-Programme
computer) Arbeitszellen im Bereich von 0000H ... OOFFH (Grundseite) benutzt, wurde das Laufzeitmodul (etwa 8 KByte) so verändert, daß diese Datenbereiche auf eine beliebige andere Adresse verschoben werden können. In Verbindung mit der CHNCompileroptlon des TURBO-PASCAL-Compilers entstehen EPROM-fähige Programme, in denen auch die READ- und WRITE-Prozeduren möglich sind. Die Speicheraufteilung für ein solches Programm kann dann z. B. so aussehen:
Durch den Einsatz moderner hochintegrierter Schaltkreise lassen sich bei geringem Platzund Energiebedarf relativ hohe Speicherkapazitäten realisieren. Damit wird es möglich, auch die Systemsoftware von Geräten des wissenschaftlichen Gerätebaus ganz oder teilweise in höheren Programmiersprachen zu erstellen. International hat sich vor allem C bei den 16-Bit-Prozessoren für diesen Zweck durchgesetzt. Aus folgenden Gründen erschien die Verwendung von TURBO-PASCAL in unserer Einrichtung sinnvoll: • ausgezeichnete Programmierumgebung • einheitliche Programmiersprachen für System und Anwendersoftware • genügende Code- und Laufzeiteffizienz der compilierten Programme •problemlose Einbindung von Assemblerroutinen •flexible Möglichkeiten zur Programmänderung • vorhandene Programmiererfahrungen. Da die unter SCPX lauffähige Variante von TURBO-PASCAL (Bürocomputer, Personal-
Mikroprozessortechnik, Berlin 1 (1987) 9
EPROM Turbo-Laufzeitmodul Gerätedriver (Code) Anwenderprogramme (Code) RAM Anwenderprogramme (Daten) Gerätedriver (Daten) Grundseite Der eigentliche TURBO-PASCAL-Compiler bleibt unverändert. Die Gerätedriver oder auch ein komplettes Betriebssystem können ebenfalls ganz oder teilweise in TURBOPASCAL geschrieben werden. Abhängig von der konkreten Problemstellung benötigen die Programme im Verhältnis zu Assemblerprogrammen erfahrener Programmierer 2- bis
EXT... END M ORG...
. :v ; w
CÄ» .¡>B
i i i tor :
EI'ITOR:
P.SH i RS* ; TOH Ü PUSH IC
0)m cm c«8 ssr ass «MC >1« «13
- Bytezuweisung - Doppelbytezuweisung - Zeichenkettendefinition - Speicherreservierung angegebener Länge (Eintrag von NOP) - Markenwertzuweisung als Konstante - Ende der Übersetzung - f ü r H L , z. B. LDM, A — > L D (HL), A -stellt den Programmzähler auf die angegebene Adresse
"
y>
* :
it Li
H »mj«>,* (I*HIH>.»
u
C.ilfti S.o H.all I.nsef! L.Ii* tl.Oi* H.f! P.riM R.fH T.«t
t.«**
Dialogbetriebsart
tung gerollt. Mit Hilfe von Steuerkommandos (ctrl-Taste) können verschiedene Hilfsfunktionen aufgerufen werden; Tafel 2 vermittelt dazu eine Übersicht. Verschiedene der Steuerkommandos fordern Parameter an, die wahlweise als absolute Zahlenangaben, relative Zahlenangaben oder in symbolischer Form (Marke, eventuell mit Offset) angebbar sind. Abschließend zeigt Tafel 3 die möglichen Pseudobefehle, die auch den blockorientierten Übersetzerlauf unterstützen.
4mal mehr Speicher. Bei Aufgabenstellungen, die besonders viele arithmetische Funktionen beinhalten, liegt das Verhältnis besser. Die unbestrittenen Vorteile der Verwendung einer Hochsprache hinsichtlich Lesbarkeit, Änderungsfreundlichkeit und Portabilität wiegen diesen Nachteil aber bei weitem wieder auf. Neben der erwähnten Änderung des Laufzeitmoduls liegt außerdem ein PASCAL-Programm vor, das die Erzeugung von INLINECode aus der PRN-Datei des ASM (Makroassembler unter SCPX) gestattet. Optional kann der Quelltext des Assemblerprogramms als Kommentar mit in die INLINEAnweisung aufgenommen werden. Externe Marken erscheinen mit ihrem Namen im Inline-Code. Zur Testunterstützung wurde außerdem eine Möglichkeit der schrittweisen Abarbeitung der TURBO-PASCAL-Programme unter Ausnutzung der U-Compilerdirektive erarbeitet. Dr. B. Petzold
Kl KONTAKT ^ Forschungszentrum für Bodenfruchtbarkeit Müncheberg, Abt. wissenschaftlicher Gerätebau, Wilhelm-Pieck-Str. 72, Müncheberg, 1278; Tel. 82241
279
5T8W « H w .
BASIC-Sprachubersicht fiir KC85/3, KC87 und SCP-BASIC-lnterpreter BASI
K'WS
s«»®-«
*t££/3
•«A8S(X> Z«V
T.iK'X'
Y
!•»:
f>eCH-Cad« J«s e-it«-- Ze>cb«ns 6Ti2,S)
i«K»i
DELETE A.E
DELETE A,E
DELETE A,E
5 » FEUD.W5
01» FELWAK
01« FEUMWt!IE,J„.ai
IK,J...I
«ITKoli,»)
SLGM
15ct ^»C^rtnproj.-sa»
BUMS
isTstc::,«:
!€E= «
s m c a iiltf*eM
l3dt J t i f ' t l i vw S s m t t e
cvo
v-EiPril FIELD M l » . ,
^ i T
3CS5I
i
•
lOSCM
cssn
EBSOAIFthlrtaoa) '•EXFiXj
i « j t FroygancMt! ftnaniahi
i a - j t ve-fijgSaPa.: Spatc^cr an
1
CSWION 0Str jaSt„ vw
s
IF ESA«« WES...
feat
a n > » w t i w r w « t % t 2 t i««J
l'*f«!-t Z«ic",e'> *'Mk«. LIKE
...:
It U t i n
LI« W
var
4 Mikroprozessortechnlk, Berlin 1 (1987) 9
".HE
I I « IWin*
I est Zeiie von Dote'
ftoUlnr.
I
RtaiD&tlZE startet den Zufallsj^vatof S*HftW!g—7T~=
.von
J fit AC-
l'CSt Daten b>J$ DATA-Z«iien
j »t"
i ennzeichnet '.owto-
¡.IST
l i s t e t Progras» qus
LIST [ni
IIS' ÖJ
LIST Cn3,t»3
Utn
l i s t e t au* S e r i t aus
L15WNAHE"
LISTWNANE"
(LLISTi
u m
druckt P
(3RINT|ni
LPRINT V o r . . .
z u g t Posi Ii cm des Ocuekkopfes
LPRIHT
g ' b t PRINT-Anweisung an Drucker (PRINT*n)
UftllR
dfuckt
fqrwtiert
? "
if. ;
»157«« bildet T»ilte«€ht»kett«
HÌ»RISHT*'.W,N> A*«RIGWT»(BM> AI"RI5HTSNJ
WO
berechnet Pseudozufollszohl
A»RND
A»RNC
A«RWKS>
RSE7
trägt Zeichtnkette m Satz ei« startet Prograw»
RUNCnì
RUNCnl
RUN Cn3
rettet Prepow
iCSAME)
(CSAVE)
SAVE "NAWE"£,öp.J
RUN
RSET A*«B»
RUN •*«X)
««SGNfX)
A*SGNtX'
NERGE
• ischt P r c g r a M t e i l e
HERSE'C'Ote' *
SIN
berechnet SmuSfun«on
Y«SIN(K)
Y»SM«Ì
mww
«15«
erzeugt TuiIzeichenkette
tQtM)
erzeugt Töne
•SET
im
mondeIt doppelt genaue Zahl
mit
•ondeit I i t e g e r z a h l
SPC
in S-Byte-Zeichen^ette
A»«W5»iX)
in *-8vte-Zerchankette bei Division
i l l l l f i l
HWoM'wttl*
A-«»gTi8)
¿egt Sy«»yzeieher- »est
VÜLL N
«nnaelt Zahl in O k t o l w f t ue
NEH
«xicxr.Twja
NEXT IXC.Y...33
u«NGT'S>
berechnet öuednetwyriel
STEP
bestieet Schfittwrite be-
STEP Au«
Uor
-UBI
wandelt Zi»',
SM^tttft
(8'
»JUi » 8
3
B
3a
W
BS«KTÌ