.
Start Spezial Hardware Software Download Links

Anwenderseiten und technische Informationen
zum Entwicklungssystem
Startseite_

.
.

ES535-SIOS

Download: MCSIOS.ZIP (96.5KB)

Allgemeine Beschreibung
Verwendung des ES535-Betriebssystems
Interface-Betrieb mit dem SIOS-Betriebssystem
Das ES535-SIOS mit BASIC-System
Basic Autostart

 

 

zum Shop


Allgemeine Beschreibung

Das Entwicklungssystem ES535 mit 80C535-Prozessor ist ein vielseitiges System sowohl für die Programmentwicklung als auch für den direkten Einsatz als universelles Mess- und Steuerungssystem. Neben der Möglichkeit, Programme über die serielle Schnittstelle in das RAM des Systems zu laden und zu starten, gibt es zahlreiche Direktkommandos, die einen Einsatz als Mess- und Steuerungs- Interface ermöglichen, das vom PC aus einer Hochsprache heraus verwendet werden kann. Zusätzlich erhältlich ist ein angepasster BASIC52-Interpreter. Das ES535-SIOS ist ein 80C535-Entwicklungssystem mit zusätzlichen Peripherie-Elementen. Die Platine ist identisch mit der des SIOS-Interface. Das Gerät wird jedoch als offenes System mit unterschiedlicher Systemsoftware ausgeliefert.

Während das ES535 ein Punktrasterfeld für zusätzliche Hardware-Elemente hat, besitzt das ES535-SIOS bereits zusätzliche Hardware auf dem Board: Die Platine verfügt über einen 12V-Anschluß, Spannungsregler, einstellbare Ausgangsspannung 5-12V und praxisbewährte Anschlussbuchsen. Neben dem AD-Wandler stehen ein Vierkanal DA-Wandler MAX505 mit zwei Leistungsausgängen (L272, 0-5V, 0,3A), acht digitale Leistungsausgänge (L293D, 5-12V, 0,6A) und zwei spezielle Sensoranschlüsse für Modul-Bus-Sensoren bereit. Auf Wunsch kann ein Gehäuse-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 können spezielle Anwenderprogramme auch mit in das EPROM gebrannt werden, die dann automatisch geladen und ausgeführt werden, so dass ein Stand-Alone-Steuergerät entsteht.
Technische Daten:
Prozessor               80C535
RAM                     32K
EPROM                   32K
Taktfrequenz            12MHz
Baudrate                bis 19200 Baud
Stromversorgung         12V, unstabilisiert
Stromaufnahme           ca. 200mA
Anschlüsse              -8 digitale Leistungsausgänge 5-12V (einstellbar), 600mA
			-8 digitale Eingänge, C-Mos-TTL, geschützt bis ±30V
			-2 analoge Eingänge 8/10 Bit, 0-5V, geschützt bis ±30V
			-2 analoge Leistungsausgänge 0-5V, 300mA
			-2 analoge Eingänge 8/10 Bit, 0-2,5V, geschützt bis ±30V
			-2 analoge Ausgänge 0-5V als Spannungsreferenz 2,5V
Software                - Assembler
			- Makrocompiler MC
			- Pascal-Compiler einsetzbar
			- BASIC-52-Interpreter

Anschlussbelegung 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.

Anschlussbelegung 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 Eingänge, TTL-Pegel, unbeschaltet low (Port P1)
15-22   Digitale Leistungsausgänge 5-12V einstellbar, 600mA (Port P4)
23      Masse
24      +5V

Anschlussbelegung 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 Datenleitung (P3.5)

Übersicht über die Verwendung der Prozessorports:

P1 = Digitale Eingänge
P4 = Digitale Ausgänge
P5 = Daten zum DA-Wandler
P3.2...P3.4 = A0,A1,/CS für DA-Wandler MAX505
P3.5 bildet die digitale Datenleitung am Pin 6 der Sensoranschlüsse C/D.
P4.2 und P4.3 liegen jeweils direkt am Pin 5 der Sensoranschlüsse C/D.

Das ES535-SIOS verfügt über vier unterschiedliche Betriebsmodi mit jeweils eigenen Speichermodellen, die über das interne GAL umgeschaltet werden können. Nach dem Einschalten befindet es sich im Modus 0 mit dem EPROM im Adressbereich 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 (läuft bei 8000h-87FFh)
		800Bh...800Dh und 8023h...8025h reserviert für
		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-Bereich ab 8000h gelenkt. Das System verwendet den Timer0 (800Bh) und die serielle Schnittstelle (8023h), wobei die Vektoren in den EPROM-Bereich zurückgelenkt werden. Der Anwender darf deshalb die RAM-Bereiche 000Bh-000Ch und 0023h-0025h nicht verändern, außer er möchte die Interrupts für eigene Zwecke einsetzen.

Das ES535SIOS kennt insgesamt vier verschiedene Betriebsmodi, die zum Entwicklungssystem ES535 kompatibel sind. Es können deshalb Programme in der jeweils passenden Speicheraufteilung nachgeladen werden. Die Umschaltung in die Betriebsmodi 1 bis 3 erfolgt durch Programmsprünge zu den Adressen 7400h, 7800h und 7C00h. Eine Rückkehr in den Modus 0 durch Software ist nicht vorgesehen. Die Umschaltung bleibt gültig, bis SIOS neu gestartet wird. Im Normalfall wird spezielle Software in das RAM geladen, um dann den gewünschten Modus einzuschalten. Dabei ist darauf zu achten, dass beim Laden die Interrupt- Vektoren bei 800Bh und 8023h nicht zerstört werden.

Die Umschaltung in höhere Betriebsmodi erfolgt durch Programmsprünge zu besonderen Adressen: 7400h für Modus 1, 7800h für Modus 2 und 7C00h für Modus 3. Modus 1 und 2 dienen ausschließlich dazu, Programme in den Adreßbereich ab 0000h zu laden und zu starten. Das RAM liegt als Datenspeicher jeweils bei Adresse 0. Während 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 parallel liegen und jeweils im Bereich 4000h bis 7FFFh gespiegelt werden.

Modus 3 schaltet ein alternatives Betriebssystem in oberen 16-K-Bereich des EPROMs ein. Dieser Bereich wird derzeit nicht benutzt und ist für künftige Erweiterungen vorgesehen. Das RAM steht im Bereich 0000h bis 7FFFh als reiner Datenspeicher zur Verfügung.

Die folgende Übersicht zeigt noch einmal alle vier Betriebsmodi und die zugehörige Speicheraufteilung:

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

Modus 1    (Umschaltung: 7400h):
	Programmspeicher        Datenspeicher
	---------------------------------------------------
	RAM (untere Hälfte)     RAM (obere Hälfte)
	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
	----------------------------------------------------

Verwendung des ES535-Betriebssystems

Entwicklungen, die mit dem Entwicklungssystem ES535 erarbeitet wurden, können zum Zweck der Funktionserweiterung auf das ES535SIOS exportiert werden. Dabei können die Leistungsausgänge und der DA-Wandler sowie die verbesserte Spannungsversorgung mit in das Konzept einbezogen werden. Das ES535-Betriebssystem wird ausführlich in den technischen Handblättern 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, außer durch Neueinschalung.

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


Interface-Betrieb mit dem SIOS-Betriebssystem
Das Betriebssystem beinhaltet zahlreiche Direktkommandos zum direkten Datenaustausch zwischen Gerät 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 Kanäle, 30 KB, 0,1ms pro Messpunkt Speicherzugriffe und Download von Programmen

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

Einsatz des Makrocompilers MC mit dem SIOS-Betriebssystem

Software-Entwickler können den Makrocompiler MC einsetzen, um spezielle Software für das SIOS zu schreiben. MC übersetzt einen Quelltext in ein lauffähiges Maschinenprogramm für beliebige Speicherbereiche. Das SIOS-Betriebssystem wurde komplett mit MC entwickelt. Typische Einsatzbereiche für zusätzlich nachgeladene Software sind:

  • Autonom lauffähige Steuerprogramme
  • Zeitkritische Programme wie z.B. extrem schnelle Datenerfassung
  • Interruptgesteuerte Hintergrundprogramme, z.B. für Signalgeneratoren
  • Erweiterungen des Betriebssystems

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 wählen, um die Interruptvektoren auf der ersten RAM-Seite nicht zu verändern.

Besondere MC-Befehle für 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 für Delay
  Time1ms, Time10ms             (default: 1ms)

Der Einsatz des Makrocompilers wird ausführlich im u.a. Buch beschrieben. Das Handbuch zum Makrocompiler enthält zahlreiche Anwendungsbeispiele zum Entwicklungssystem ES535, die sich zum größten Teil übertragen lassen. Dabei ist jeweils zu beachten, dass digitale Ausgänge mit WrPort den Port P4 des Prozessors verwenden und digitale Eingänge 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

Das ES535-SIOS mit BASIC-System

In der BASIC-Version verfügt das System über ein geändertes GAL mit einem einzigen Betriebsmodus. Dabei liegt das EPROM mit einem speziell angepassten BASIC-52 im Adressbereich 0-32K. Das RAM ist reiner Datenspeicher, ebenfalls im Adressbereich 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 Unterstützung der speziellen Ein- und Ausgänge des SIOS wurden vier neue Befehle entwickelt:

OutPort (Schreiben und Lesen)
	OutPort 255             schaltet Ausgänge DO0...DO7 an
	A = Outport             liest die Ausgangszustände zurück
	Outport = Outport + 2   liest und ändert die Ausgänge

InPort  (nur Lesen)
	B = Inport              liest die Zustände 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 Messbereiche der Analogeingänge betragen 0 bis 5 V für die vorderen Eingänge A (AD (0)) und B (AD (1)) und 0 bis 2,5 V für die Sensoranschlüsse C (AD(2)) und D (AD(3)) am hinteren Rand des SIOS. Die Messbereiche lassen sich jedoch in weiten Grenzen verändern, wie weiter unten noch gezeigt wird. Die Eingänge A und B besitzen einen Eingangswiderstand von 100 k, während die Eingänge C und D hochohmig sind und deshalb als offene Eingänge zufällige Spannungswerte zeigen.

Die Analogausgänge besitzen einen Ausgangsspannungsbereich von 0 bis 5 V. Die Ausgänge A (DA 0, ..) und B (DA 1,..) sind an den vorderen Anschlüssen zugänglich und verfügen über Leistungsausgänge mit einer Belastbarkeit bis ca. 0,3 A. Die Ausgänge C (DA 2,..) und D (DA 3,..) bilden die Referenzspannung der Sensoranschlüsse C und D und sind im Normalfall auf 2,5 V eingestellt. Als Analogausgänge ohne Leistungsverstärker haben sie den Vorteil einer größeren Genauigkeit und einer kleineren Offset-Spannung.

Der Anwender hat die Möglichkeit, die Messbereiche des AD-Wandlers für jeden Eingangskanal getrennt zu verändern. Verantwortlich für die Messbereiche sind die Inhalte von vier Speicherstellen im internen RAM, des Mikrocontrollers, die mit DBY gelesen und verändert werden können. 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

Für jeden der vier Eingänge kann der Messbereich 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 müssen einen Mindestabstand von 1,25V einhalten. Beispiel: 84h bewirkt den Messbereich 1,25V-2,5V. Ausnahme: 00h=0.5V. Die eingegebenen Messbereiche ersetzen die Standardbereiche von 5V, 5V, 2,5V und 2,5V.

Das folgende Listing zeigt ein Beispiel für die Verarbeitung analoger Signale mit dem SIOS. Die Spannungslupe arbeitet mit einem veränderten Messbereich 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 "vergrößert" ablesen zu können. In Zeile 20 wird der Messbereich für den analogen Eingang A festgelegt. Experimente mit noch kleineren Abständen zwischen Unter- und Obergrenze des Messbereichs sind möglich, führen aber zu keiner größeren Auflösung als 5 mV, der physikalischen Auflösungsgrenze 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 für den Einsatz des Geräts 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 zunächst im RAM-Modus. Mithilfe eines speziellen Kopierprogramms wird der entwickelte und getestete Programmcode dann in eine Binärdatei übertragen und von dort in den EPROM-Bereich ab 4800h gebrannt. Der Anwender sollte sich zuvor eine Leerkopie des Betriebssystems anlegen, so daß spätere Änderungen mit einem neuen EPROM möglich werden. Bei Bedarf können Programme auch durch Modul-Bus in das EPROM kopiert werden.


Basic Autostart

Das Entwicklungssystem ES535-SIOS kann mit einem speziellen Basic-Betriebssystem (ES535SIB) geliefert werden, bei dem der Basic-Interpreter bereits im ROM vorhanden ist und mit jedem Neustart sofort aktiviert wird. Gegenüber dem SIOS-Betriebssystem ist das EPROM und das GAL verändert worden. Das System befindet sich standardmäßig im Modus 3 mit parallel liegendem RAM und ROM. Das Basic benutzt 16 K RAM. Weitere 16 K stehen bereit und können z.B. mit MTOP = 32000 verwendet werden.

Als Anwenderprogramm unter DOS steht ein modifizierter Editor SIOSBAS.EXE zur Verfügung, der den Basic-Interpreter im EPROM anspricht. Das Programm kann vor dem Einschalten des ES535-SIOS gestartet werden und zeigt als erstes die Basic-Startmeldung.

ES535-SIOS ist Autostartfähig, wenn ein fertig entwickeltes Basic-Programm mit in das System-Eprom gebrannt wird. Dazu sind folgende Schritte erforderlich:

  • Das Programm muß fertig entwickelt und getestet sein.
  • Das Programm ist zu beenden und SIOSBAS.EXE muss verlassen werden.
  • BASCOPY.EXE wird gestartet und kopiert das Programm in die Datei BASCOPY.BIN.
  • Das ES535-SIOS wird ausgeschaltet und das EPROM aus dem Sockel gezogen.
  • Mit einem EPROMMER wird BASCOPY.BIN als Binärdatei ab Adresse 11FFh in das EPROM gebrannt.
  • Das EPROM wird wieder eingesetzt und das System eingeschaltet.
  • Der Basic-Interpreter startet ohne Einschaltmeldung sofort das Programm.
  • Das Programm kann wie gewohnt über SIOSBAS.EXE unterbrochen werden, um z.B. ein anderes Programm zu laden.

Der technische Ablauf der Autostart-Funktion beruht auf der erweiterten Reset-Routine. Bei einem Neustart sucht das System bei Adresse 51FFh im EPROM (11FFh absolut) nach der Marke 55h als Signal für ein vorhandenes Programm. Bei Erfolg wird dann der Adressbereich 1200h bis 4000h (11,5 K) aus dem EPROM in das RAM ab Adresse 0200h kopiert und das so geladene Programm gestartet. Das System ist damit im selben Zustand wie nach einem von Diskette geladenen und gestarteten Programm. Das Programm BASCOPY.EXE erzeugt eine Kopie des Programms im RAM ab Adresse 0200h, also in der Token-Form. Zusätzlich wird die Startmarke 55h vorangesetzt.

Auf der Diskette befindet sich die Datei SIOSBAS2.BIN mit dem kompletten Inhalt des EPROMS ohne ein zusätzliches Basic-Programm. Der Bereich 1200h bis 3FFFh enthält FFh und ist damit frei. Damit lassen sich weitere Kopien des EPROMS herstellen, um z.B. mehrere Programme bereitzuhalten. Das EPROM enthält zusätzlich auch das normale SIOS-Betriebssystem. Um es zu nutzen, braucht nur das Standard-GAL des SIOS eingesetzt zu werden.


Literatur: B.Kainka, Erfolgreich Messen, Steuern, Regeln mit Mikrocontrollern, Franzis-Verlag 2.Auflage 1998

.
.
Start Spezial Hardware Software Download Links

AK MODUL-BUS Computer GmbH, Münsterstr. 45, 48477 Hörstel-Riesenbeck, Tel. +49-54 54 / 9 34 36 36 Fax +49-54 54 / 9 34 36 37
 Mail:info@ak-modul-bus.de