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