           ES535-SIOS - Anwenderhandbuch

                 - vorlufig -


1 Allgemeine Beschreibung

Das Entwicklungssystem ES535 mit 80C535-Prozessor ist ein vielseitiges
System sowohl fr die Programmentwicklung als auch fr den direkten
Einsatz als universelles Me- und Steuerungssystem. Neben der
Mglichkeit, Programme ber die serielle Schnittstelle in das RAM des
Systems zu laden und zu starten, gibt es zahlreiche Direktkommandos, die
einen Einsatz als Me- und Steuerungs-Interface ermglichen, das vom PC
aus einer Hochsprache heraus verwendet werden kann. Zustzlich
enthltlich ist ein angepater BASIC52-Interpreter. Das ES535-SIOS ist
ein 80C535-Entwicklungssystem mit zustzlichen Peripherie- Elemeten. Die
Platine ist identisch mit der des SIOS-Interface. Das Gert wird jedoch
als offenes System mit unterschiedlicher Systemsoftware ausgeliefert.

Whrend das ES535 ein Punktrasterfeld fr zustzliche Hardware-Elemente
hat, besitzt das ES535-SIOS bereits zustzliche Hardware auf dem Board:
Die Platine verfgt ber einen 12V-Anschlu, Spannungsregler,
einstellbare Ausgangsspannung 5-12V und praxisbewhrte Anschlubuchsen.
Neben dem AD-Wandler stehen ein Vierkanal DA-Wandler MAX505 mit zwei
Leistungsausgngen (L272, 0-5V, 0,3A), acht digitale Leistungsausgnge
(L293D, 5-12V, 0,6A) und zwei spezielle Sensoranschlsse fr Modul-Bus-
Sensoren bereit. Auf Wunsch kann ein Gehuse-Set geliefert werden.

Das System kann wahlweise mit dem ES535-Betriebssystem, mit dem SIOS-
Betriebssystem oder mit einem speziellen BASIC-52-System geliefert
werden. Im letzteren Fall knnen spezielle Anwenderprogramme auch mit in
das EPROM gebrannt werden, die dann automatisch geladen und ausgefhrt
werden, so da ein Stand- Alone-Steuergert entsteht.


Technische Daten:

Prozessor      80C535
RAM               32K
EPROM             32K
Taktfrequenz      12MHz
Baudrate          bis 19200 Baud
Stromversorgung   12V, unstabilisiert
Stromaufnahme     ca. 200mA
Anschlsse        -8 digitale Leistungsausgnge 5-12V (einstellbar), 600mA
                  -8 digitale Eingnge, C-Mos-TTL, geschtzt bis 30V
                  -2 analoge Eingnge 8/10 Bit, 0-5V, geschtzt bis 30V
                  -2 analoge Leistungsausgnge 0-5V, 300mA
                  -2 analoge Eingnge 8/10 Bit, 0-2,5V, geschtzt bis 30V
                  -2 analoge Ausgnge 0-5V als Spannungsreferenz 2,5V
Software          - Assembler
                  - Makrocompiler MC
                  - Pascal-Compiler einsetzbar
                  - BASIC-52-Interpreter


Anschlubelegung der seriellen Schnittstelle (DB9, weiblich, zur direkten
Verbindung mit dem PC):

2   RXD
3   TXD
5   GND

Die Handshakeleitungen DTR und RTS werden nicht verwendet.



Anschlubelegung der Schraubklemmen und 2mm-Buchsen von links nach rechts:

1   Masse
2   +5V
3   Analogeingang A, 0-5V (AN0)
4   Analogeingang B, 0-5V  (AN0)
5   Analoger Leistungsausgang A, 0-5V,300mA  (MAX505, A)
6   Analoger Leistungsausgang B, 0-5V,300mA  (MAX505, B)
7-14   Digitale Eingnge, TTL-Pegel, unbeschaltet low (Port P1)
15-22  Digitale Lesitungsausgnge 5-12V einstellbar, 600mA (Port P4)
23   Masse
24   +5V


Achlubelegung des DB25- Sammelsteckers:

1    Masse               14   NC
2    +12V                15   Analogeingang B
3    Analogeingang A     16   Digitaleingang 7
4    Digitaleingang 6    17   Digitaleingang 5
5    Digitaleingang 4    18   Digitaleingang 3
6    Digitaleingang 2    19   Digitaleingang 1
7    Digitaleingang 0    20   Digitalausgang 7
8    Digitalausgang 6    21   Digitalausgang 5
9    Digitalausgang 4    22   Digitalausgang 3
10   Digitalausgang 2    23   Digitalausgang1
11   Digitalausgang 0    24   Analogausgang A
12   +5V                 25   Analogausgang B
13   Masse






Belegung der Sensorbuchsen C und D:

1   Referenzspannung 2,5V (MAX505, C,D)
2   +5V
3   Masse
4   Analogeingang 0-2,5V (AN3, AN4)
5   Digitale Taktleitung (P2.2, P2.3)
6   Digitale Datenleitng (P3.5)



bersicht ber die Verwendung der Prozessorports:

P1 = Digitale Eingnge,
P4 = Digitale Ausgnge
P5 = Daten zum DA-Wandler,  P3.2...P3.4 = A0,A1,/CS fr DA-Wandler MAX505
P3.5 bildet die digitale Datenleitung am Pin 6 der Sensoranschlsse C/D.
P4.2 und P4.3 liegen jeweils direkt am Pin 5 der Sensoranschlsse C/D.


Das ES535-SIOS verfgt ber vier unterschiedliche Betriebsmodi mit
jeweils eigenen Speichermodellen, die ber das interne GAL umgeschaltet
werden knnen. Nach dem Einschalten befindet es sich im Modus 0 mit dem
EPROM im Adrebereich 0000h bis 7FFFh und dem RAM als Programmspeicher im
Bereich 8000h bis FFFFh, gespiegelt als Datenspeicher im Bereich 0000h
bis 7FFFh.

0000h - 07FFh    Programmbereich  2K (luft bei 8000h-87FFh)
800Bh...800Dh und 8023h...8025h reserviert fr Interrupt-Vektoren
0800h - 7FFFh   Datenbereich    30K

Der gesamte Datenbereich erscheint bei 8000h - FFFFh als Programmbereich
gespiegelt.

Alle Prozessor-Interrups werden im SIOS-Betriebssystem in den RAM-
Bbereich ab 8000h gelenkt. Das System verwendet den Timer0 (800Bh) und
die serielle Schnittstelle (8023h), wobei die Vektoren in den EPROM-
Bereich zurckgelenkt werden. Der Anwender darf deshalb die RAM-Bereiche
000Bh-000Ch und 0023h- 0025h nicht verndern, auer er mchte die
Interrupts fr eigene Zwecke einsetzen.

Das ES535SIOS kennt insgesamt vier verschiedene Betriebsmodi, die zum
Entwicklungssystem ES535 komkatibel sind. Es knnen deshalb Programme in
der jeweils passenden Speicheraufteilung nachgeladen werden. Die
Umschaltung in die Betriebsmodi 1 bis 3 erfolgt durch Programmsprnge zu
den Adressen 7400h, 7800h und 7C00h. Eine Rckkehr in den Modus 0 durch
Software ist nicht vorgesehen. Die Umschaltung bleibt gltig, bis SIOS
neu gestartet wird. Im Normalfall wird spezielle Software in das RAM
geladen, um dann den gewnschten Modus einzuschalten. Dabei ist darauf zu
achten, da beim Laden die Interrupt-Vektoren bei 800Bh und 8023h nicht
zerstrt werden.

Die Umschaltung in hhere Betriebsmodi erfolgt durch Programmsprnge zu
besonderen Adressen: 7400h fr Modus 1, 7800h fr Modus 2 und 7C00h fr
Modus 3. Modus 1 und 2 dienen ausschlielich dazu, Programme in den
Adrebereich ab 0000h zu laden und zu starten. Das RAM liegt als
Datenspeicher jeweils bei Adresse 0. Whrend allerdings im Modus 1 das
gesamte RAM zugleich als Programm- und Datenspeicher im Bereich 0000h bis
7FFFh angesprochen werden kann, ist es im Modus 2 in zwei 16K-Bereiche
aufgeteilt, die als Programm- und Datenspeicher im Bereich 0000h bis
3FFFh parallelliegen und jeweils im Bereich 4000h bis 7FFFh gespiegelt
werden.

Modus 3 schaltet ein alternatives Betriebssystem in obereren 16-K-Bereich
des EPROMs ein. Dieser Bereich wird derzeit nicht benutzt und ist fr
knftige Erweiterungen vorgesehen. Das RAM steht im Bereich 0000h bis
7FFFh als reiner Datenspeicher zur Verfgung.

Die folgende bersicht zeigt noch einmal alle vier Betriebsmodi und die
zugehrige Speicheraufteilung:

Modus 0:
   Programmspeicher       Datenspeicher
   ---------------------------------------------------
   EPROM                  RAM
   0...32K                0...32K
   ----------------------------------------------------
   RAM
   32K...64K (gespiegelt)
   ----------------------------------------------------


Modus 1    (Umschaltung: 7400h):
   Programmspeicher       Datenspeicher
   ---------------------------------------------------
   RAM (untere Hlfte)    RAM (obere Hlfte)
   0...16K                0...16K
   gespiegelt 16K...32K   gespiegelt 16K...32K
   ----------------------------------------------------

Modus 2    (Umschaltung: 7800h):
   Programmspeicher       Datenspeicher
   ---------------------------------------------------
   RAM                    RAM
   0...32K                0...32K
   ----------------------------------------------------


Modus 3    (Umschaltung: 7C00h):
   Programmspeicher       Datenspeicher
   ---------------------------------------------------
   EPROM                  RAM
   16...32K, 0...16K      0...32 K
   ----------------------------------------------------


2 Verwendung des ES535-Betriebssystems

Entwicklungen, die mit dem Entwicklungssystem ES535 erarbeitet wurden,
knnen zum Zweck der Funktionserweiterung auf das ES535SIOS portiert
werden. Dabei knnen die Leistungsausgnge und der DA- Wandler sowie die
verbesserte Spannungsversorgung mit in das Konzept einbezogen werden. Das
ES535- Betriebssystem wird ausfhrlich in den technischen Handblttern
ES535TH und im u.a. Buch beschrieben.

Beim bergang vom ES535 auf das ES535SIOS sind folgende Unterschiede zu
beachten: Port P1 ist immer Eingang. Port P4 ist immer Ausgang. Es gibt
keine RESET-Funktion, auer durch Neueinschalten.

Gegenber dem SIOS-Betriebssystem ist beim ES535-Betriebssystem das
BASIC52 bereits im EPROM enthalten und kann durch Wechsel in
Betriebsmodus 3 aktiviert werden.




3 Interface-Betrieb mit dem SIOS-Betriebssystem

Das Betriebssystem beinhaltet zahlreiche Direktkommandos zum direkten
Datenaustausch zwischen Gert und PC. Die genaue Definition aller
Kommandos befindet sich auf der Do-it/SIOS-Diskette in der Datei
SIOSDOK.WRI.Die einzelnen Kommandos gliedern sich in folgende Gruppen:

Portausgaben und Porteingaben
Analogeingaben und Analogausgaben
Serienmessungen bis 4 Kanle, 30 KB, 0,1ms pro Mepunkt
Speicherzugriffe und Download von Programmen

Zur direkten Nutzung der Interface-Kommandos stehen Prozesprachen in
Form von Prozedurensammlungen, Units und DLLs bereit. Fr die
Programmierung des Interfaces selbst gibt es u.a. den Assembler TASM, den
Makrocompiler MC und ein angepates BASIC52.



Einsatz des Makrocompilers MC mit dem SIOS-Betriebssystem

Software-Entwickler knnen den Makrocompiler MC einsetzen, um spezielle
Software fr das SIOS zu schreiben. MC bersetzt einen Quelltext in ein
lauffhiges Maschinenprogramm fr beliebige Speicherbereiche. Das SIOS-
Betriebssystem wurde komplett mit MC entwickelt. Typische Einsatzbereiche
fr zustzlich nachgeladene Software sind:

- Autonom lauffhige Steuerprogramme
- Zeitkritische Programme wie z.B. extrem schnelle Datenerfassung
- Interruptgesteuerte Hintergrundprogramme, z.B. fr Signalgeneratoren
- Erweiterungen des Betriebssystem


Um MC-Programme zu schreiben, sind die folgenden Einstellungen im Option-
Men des Makrocompilers einzutragen:

  COM             2
  Baud            19200
  Prozessor       80535
  Startseite      129
  Startadresse    51
  Tabelle         SIOS.TAB
  Helpfile        SIOS.HLP
  Download-Protokoll   2
  Download-Delay  0

Die Startseite 129 ist zu whlen, um die Interruptvektoren auf der ersten
RAM-Seite nicht zu verndern.

Besondere MC-Befehle fr SIOS:
  RdPORT,  WrPORT      Portzugriffe
  RdAd                 AD-Wandler 8-Bit
  RdAd10               AD-Wandler 10-Bit, lowbyte in B
  WrDA                 DA-Wandler, Kanal in B
  WrCOM, RdCOM         Serielle Schnittstelle
  Delay                Zeitraster-Steuerung
  Time0.1ms, Time0.2ms,      Zeitbasis fr Delay
  Time1ms, Time10ms    (default: 1ms)

Der Einsatz des Makrocompilers wird ausfhrlich im u.a. Buch beschrieben.
Das Handbuch zum Makrocompiler enthlt zahlreiche Anwendungsbeispiele zum
Entwicklungssystem ES535, die sich zum grten Teil bertragen lassen.
Dabei ist jeweils zu beachten, da digitale Ausgnge mit WrPort den Port
P4 des Prozessors verwenden und digitale Eingnge mit RdPort P1 abfragen.
Neu ist die Verwendung des DA- Wandlers MAX505 mit WrDA. Der Kanal
(0...3) ist in B anzugeben. Das folgende Beispiel zeigt eine analoge
Ausgabe am Ausgang B.

Begin
B 1         ;Ausgang B
WrDA 100    ;ca. 2V
RdAD 0      ;Eingang A messen
WrCom       ;zum Terminal
End




4  Das ES535-SIOS mit BASIC-System

In der BASIC-Version verfgt das System ber ein gendertes GAL mit einem
einzigen Betriebsmodus. Dabei liegt das EPROM mit einem speziell
angepaten BASIC-52 im Adrebereich 0-32K. Das RAM ist reiner
Datenspeicher, ebenfalls im Adrebereich 0-32K. Mit dem Einschalten
meldet sich das System mit der BASIC- Einschaltmeldung mit 19,2 Kilobaud.

MCS-51(tm) BASIC V1.1 SIOS
 READY
 >

Zur direkten Untersttzung der speziellen Ein- und Ausgnge des SIOS
wurden vier neue Befehle entwickelt:

OutPort  (Schreiben und Lesen)
   OutPort 255              schaltet Ausgnge DO0...DO7 an
   A = Outport              liest die Ausgangszustnde zurck
   Outport = Outport + 2    liest und ndert die Ausgnge

InPort   (nur Lesen)
   B = Inport               liest die Zustnde von DI0...DI7

AD (Kanal)    (nur Lesen)
   C = AD (0)               Analogeingabe (0..5V) am Eingang A
   C = AD (3)               Messung (0...2,5V) am Eingang C

DA Kanal, Ausgabewert
   DA 1,100                 Analogausgabe am Ausgang B
   DA 2,128                 Einstellung der Referenzspannung C

Die Mebereiche der Analogeingnge betragen 0 bis 5 V fr die vorderen
Eingnge A (AD (0)) und B (AD (1)) und 0 bis 2,5 V fr die
Sensoranschlsse C (AD(2)) und D (AD(3)) am hintern Rand des SIOS. Die
Mebereiche lassen sich jedoch in weiten Grenzen verndern, wie weiter
unten noch gezeigt wird. Die Eingnge A und B besitzen einen
Eingangswiderstand von 100 kW, whrend die Eingnge C und D hochohmig
sind und deshalb als offene Eingnge zufllige Spannungswerte zeigen.

Die Analogausgnge besitzen einen Ausgangsspannungsbereich von 0 bis 5 V.
Die Ausgnge A (DA 0, ..) und B (DA 1,..) sind an den vorderen
Anschlssen zugnglich und verfgen ber Leistungsausgnge mit einer
Belastbarkeit bis ca. 0,3 A. Die Ausgnge C (DA 2,..) und D (DA 3,..)
bilden die Referenzspannung der Sensoranschlsse C und D und sind im
Normalfall auf 2,5 V eingestellt. Als Analogausgnge ohne
Leistungsverstrker haben sie den Vorteil einer greren Genauigkeit und
einer kleineren Offset-Spannung.

Der Anwender hat die Mglichkeit, die Mebereiche des AD-Wandlers fr
jeden Eingangskanal getrennt zu verndern. Verantwortlich fr die
Mebereiche sind die Inhalte von vie Speicherstellen im internen RAM, des

Mikrocontrollers, die mit DBY gelesen und verndert werden knnen. Die
folgende Tabelle zeigt die vier Steuerregister mit ihren Standardwerten.

Zugriff      Default      Einstellung

dby(28)      0            Kanal 0, 0...5V
dby(29)      0            Kanal 1, 0...5V
dby(30)      255          Kanal 2, 0...2,55V
dby(31)      255          Kanal 3, 0...2,55V


Fr jeden der vier Eingnge kann der Mebereich in weiten Grenzen
eingestellt werden, wobei jeweils eine untere und eine obere Grenze durch
einen 4-Bit-Parameter festgelegt sind, die zusammen einen Byte-Parameter
bilden. Bit 0...3 legt die untere Grenze als Vielfaches von 5V/16 fest,
Bit 4...7 ebenso die obere Grenze. Beide Referenzspannungen mssen einen
Mindestabstand von 1,25V einhalten. Beispiel: 84h bewirkt den Mebereich
1,25V-2,5V. Ausnahme: 00h=0.5V. Die eingegebenen Mebereiche ersetzen die
Standardbereiche von 5V, 5V, 2,5V und 2,5V.

Das folgende Listing zeigt ein Beispiel fr die Verarbeitung analoger
Signale mit dem SIOS. Die Spannungslupe arbeitet mit einem vernderten
Mebereich am Eingang A. Ein kleiner Bereich mit einer Breite von 1,25 V
wird auf den gesamten Ausgangsbereich von 0...5V des DA-Wandlers
umgesetzt. Am Ausgang kann ein Zeiger-Voltmeter angeschlossen werden, um
die geringen nderungen einer Spannungsquelle ,vergrert" ablesen zu
knnen. In Zeile 20 wird der Mebereich fr den analogen Eingang A
festgelegt. Experimente mit noch kleineren Abstnden zwischen Unter- und
Obergrenze des Mebereichs sind mglich, fhren aber zu keiner greren
Auflsung als 5 mV, der hysikalischen Auflsungsgrenze des AD-Wandlers.

10     REM Spannungslupe (test6.bas)
20     DBY(28)=0C8H :  REM 2,5V - 3,75V
30     A=AD(0)
40     PRINT 2.5+A/200," V"
50     DA 0,(A)
60     GOTO 30


Das ES535-SIOS kann auch zur Entwicklung und zum Einsatz residenter
BASIC-Programme benutzt werden. Dies ist entscheidend fr den Einsatz des
Gerts ohne einen angeschlossenen PC. Durch eine spezielle Erweiterung
der Reset-Routine des BASIC-Interpreters wird beim Start in einem
bestimmten Bereich des EPROMs nach einem vorhandenen Programm gesucht.
Dieses wird dann in das RAM geladen und automatisch gestartet. Es kann
aber weiterhin unterbrochen, editiert und neu gestartet werden.

Die Entwicklung eines residenten Programms erfolgt zunchst im RAM-Modus.
Mithilfe eines speziellen Kopierprogramms wird der entwickelte und
getestete Programmcode dann in eine Binrdatei bertragen und von dort in
den EPROM-Bereich ab 4800h gebrannt. Der Anwender sollte sich zuvor eine
Leerkopie des Betriebssystems anlegen, so da sptere nderungen mit
einem neuen EPROM mglich werden. Bei Bedarf knnen Programme auch durch
Modul-Bus in das EPROM kopiert werden.


Literatur: 
B.Kainka, Erfolgreich Messen, Steuern, Regeln mit Mikrocontrollern,
Franzis-Verlag 1996
