ST Realizer fuer ST6 und ST7

background image

Jeder von uns, der schon einmal einen
Mikrocontroller in Assembler program-
miert hat, kennt die Schwierigkeiten, die
sich im Laufe eines Projektes ergeben
können. Zu Beginn der Arbeit muß sich
der Programmierer in die teilweise kom-
plizierten Architekturen und Befehle des
neuen Controllers einarbeiten.
Anschließend beginnt die Programm-
entwicklung und die Inbetriebnahme
der Applikation. Während dieser Phase
treten häufig Probleme auf, die auf die
Unkenntnis der prozessorspezifischen
Besonderheiten zurückzuführen sind.
Erst ein intensives Studium der Hand-
bücher und Applikationsschriften bringt
dann die erhoffte Lösung. All diese Fak-
toren führen oft zu einem erheblichen
Zeitdruck bei der Softwareentwicklung.
In der Folge fehlt dem Programmierer
diese Zeit in der Testphase der Applika-
tion und bei der Dokumentierung sei-
nes Programms. Nachträgliche Modifi-
kationen der Software oder im schlimm-
sten Fall Rückrufaktionen bereits
ausgelieferter Produkte können die
möglichen Folgen sein.

Das Entwicklungskonzept

Die niederländische Firma Actum Solu-
tions bietet mit der graphischen Ent-
wicklungssoftware ST-REALIZER ein Werk-

zeug, das diese Probleme auf sehr effi-
ziente Weise lösen kann. Die Idee hin-
ter diesem Konzept setzt sozusagen bei
der Geburtsstunde einer neuen Appli-
kation an. Zu Beginn eines Projektes
haben die Entwickler meist eine klare
Vorstellung über die Funktion ihres
neuen Gerätes. Alles, was danach
kommt, also die Auswahl der optimalen
Controllerarchitektur, der richtigen
Gehäusegröße, das Erlernen der Pro-

grammiersprache, das Debugging und
die Dokumentation behindern die Errei-
chung des eigentlichen Zieles und soll-
ten daher möglichst in den Hintergrund
treten. Und genau das ist der Vorteil
einer graphischen Programmierung.
Durch die Verknüpfung einfacher logi-
scher Symbole, die bereits in Libraries
geordnet zusammengefaßt sind, kann
die Funktion einer Applikation mit Hilfe
weniger Mausklicks in einem Editor

X-6 - 10/99 Elektor

EXTRA

———————————————————— PC-P

LUS

Graphisch orientierte Softwareentwicklungstools finden in der
Mikrocontrollerwelt immer größeren Anklang. Für viele Entwickler,
die aus der Automatisierungstechnik oder der Elektroindustrie kom-
men, stellen die immer noch komplizierten und vielfach unkomfor-
tablen herkömmlichen Entwicklungstools eine beträchtliche Hürde
dar. Hier stellt eine graphische Entwicklungssoftware wie der REALI-
ZER eine große Hilfe dar. Im Gegensatz zur bisherigen Version des
ST-REALIZERs verfügt die neue 32-Bit-Version über eine verbesserte
Echtzeitfähigkeit und ermöglicht es erstmals, auch interruptgesteu-
erte Programmabläufe zu beschreiben.

Von Rolf Nandlinger (STMicroelectronics GmbH)

ST-REALIZER
für ST6 und ST7

Ein graphisches Entwicklungstool
der nächsten Generation

background image

beschrieben (“gezeichnet”) werden.
Das Erlernen dieser Art der Program-
mierung geschieht beinahe intuitiv, da
die verwendete Symbolsprache
bewußt sehr einfach ausgelegt wurde.
Ebenso wie die Piktogrammsprache an
Flughäfen international verständlich ist,
sind die Symbole beim ST-REALIZER eng
an die bekannten Schaltungssymbole
der Elektrotechnik angelehnt. Die Ver-
knüpfung der einzelnen Symbole
geschieht ähnlich wie bei einem Schal-
tungsentwurf durch einfache Linien-
führung. Wenn der Programmablauf
vollständig beschrieben ist, kann mit
Hilfe eines integrierten Simulationspro-
gramms das Ergebnis überprüft und
gegebenenfalls optimiert werden. Ist
der Entwickler mit dem Resultat zufrie-
den, sucht er sich aus einer Liste ver-
fügbarer Controller den passenden Typ
aus und läßt sich durch den integrier-
ten Analyser den endgültigen Maschi-
nencode zur Controllerprogrammie-
rung erzeugen. Als Nebeneffekt erhält
der Entwickler durch den Ausdruck des
gezeichneten Programmablaufs eine
vollständige Dokumentation seines Pro-
grammes.

Die nächste Generation

Die bisherige Version des ST-REALIZERs ist
aufgrund seiner strukturierten Program-
mierung in erster Linie für nichtzeitkriti-
sche Ablaufsteuerungen geeignet. Mit
der jetzt vorgestellten 32-Bit-Version ist
es nun erstmals möglich, auch inter-

ruptgesteuerte Programmabläufe zu
beschreiben. Daraus ergeben sich für
den Anwender eine Vielzahl neuer
Anwendungsmöglichkeiten. Anhand
eines Beispiels soll nun gezeigt werden,
wie einfach dies selbst für ungeübte
Programmierer möglich ist.

Problemstellung

Die Aufgabe besteht darin, einen mikro-
controllergesteuerten Lampendimmer
für das Hausstromnetz in zwei Versionen
zu entwickeln. Version A hat als Sollwert-
geber für die Leuchtstärke ein Potentio-
meter. Bei Version B soll dies mit Hilfe von
zwei Drucktasten geschehen.

Funktionsbeschreibung

Die Änderung der Leuchtstärke wird
durch Erhöhung bzw. Erniedrigung des
Zündzeitpunktes eines Triacs ermöglicht.
In der Version A ist dieser Phasenwinkel
proportional zum Analogwert des
Potentiometers. Bei Version B entspricht
der Phasenwinkel einem Zahlenwert,
der durch Tastendruck verändert wird.
Hält der Anwender eine Taste längere
Zeit gedrückt, soll der Zahlenwert fort-
laufend bis hin zu einer definierten
Grenze verändert werden. Der Bezug
für den Zündzeitpunkt des Triacs ist
durch die Information des Netznull-
durchgangs gegeben. Dieses Bezugs-
signal steht an einem Porteingang mit
Interruptfunktion dem Controller zur Ver-
fügung. Tritt dieser Interrupt auf, muß

entsprechend dem vorher ermitteltem
Phasenwinkel eine Verzögerungszeit
generiert werden. Nach Ablauf dieser
Zeit wird der Triac gezündet. Um den
Harwareaufwand für die Spannungs-
versorgung der Applikation gering zu
halten, wird der Triac anstelle eines lan-
gen Zündimpulses mit mehreren kurzen
Impulsen beaufschlagt.

Programmierung

Die vorangegangene Funktionsbe-
schreibung wird nun in eine Symbol-
sprache umgesetzt. Dem Entwickler ste-
hen dazu mehrere Libraries zur Verfü-
gung, aus denen er die benötigten
Abhängigkeiten zusammensetzt.

Version ”Potentiometer”

In Bild 1 ist das symbolisierte Haupt-
programm der Potentiometerversion
des Dimmers dargestellt. Das Symbol
des A/D-Umsetzers liefert als Ergebnis
einen 8-Bit Zahlenwert, der durch zwei
dividiert und auf zwei Endwerte
beschränkt wird. Der so ermittelte Zah-
lenwert zwischen Null und Neunzig ent-
spricht einem Phasenwinkel zwischen
0 % und 100 %. Zur Übergabe des Wer-
tes an die Interruptroutine dient das
Symbol eines Sub-Schems. Die Initiali-
sierung des Controllers, das Starten und
Abfragen des A/D-Umsetzers, die Divi-
sion und so weiter ist in den zugehöri-
gen Libraryfunktionen festgelegt und
bleibt für den Programmierer unsichtbar
im Hintergrund. Da dieses Hauptpro-
gramm sehr einfach aufgebaut ist, sind
keinerlei logische Entscheidungen not-
wendig. Das bedeutet, daß bei jedem
Durchlauf der Hauptprogrammschleife
zuerst das Ergebnis des A/D-Umsetzers
eingelesen, arithmetisch verändert und
dann an die Interruptroutine weiterge-
geben wird. Eine Ablaufsteuerung des
Hauptprogramms, die sogenannte Sta-
temaschine, ist deshalb in diesem Bei-
spiel nicht notwendig.
Bild 2 zeigt die zugehörige Interruptrou-

PC-P

LUS

———————————————————

Elektor

EXTRA

X-7 - 10/99

Bild 1. Hauptprogramm der Beispiel-Version A (Dimmer mit Potisteuerung).

Bild 2. Unterprogramm ”Port Interrupt”.

background image

tine, die auf einem separatem Arbeits-
blatt erstellt werden muß. Gekennzeich-
net wird die Interruptroutine durch das
”Event”-Symbol, das in diesem Beispiel
auf der linken Seite des Arbeitsblattes
plaziert wurde. Durch einen Doppelklick
darauf kann die Art des Interrupts und
die Pinnummer festgelegt werden. Tritt
der Interrupt auf (beim Nulldurchgang
des Sinussignals), wird mit dem errech-
neten Zahlenwert aus dem Hauptpro-
gramm ein Timer gestartet, der den
gewünschten Phasenwinkel erzeugt.
Nach Ablauf der Zeit wird mit Hilfe eines
Oszillators, eines Delays, eines Inverters
und eines dreifach OR-Gatters eine Puls-

folge von fünf Pulsen zu je 0,2 ms
erzeugt. Der Multiplexer dient dazu, die
Pulsfolge gleichzeitig auf vier Portpins
auszugeben, um die Treiberfähigkeit zu
erhöhen. Die Definition des Ports erfolgt
durch Doppelklick auf das Ausgangs-
symbol. Diese Version der Applikation ist
nun fertig beschrieben und kann com-
piliert werden.
Bis zu diesem Zeitpunkt mußte sich der
Anwender noch nicht für einen
bestimmten Controller festlegen. Er hat
nun die Wahl zwischen der ST6 und der
ST7 Mikrocontrollerfamilie von STMicro-
electronics. Innerhalb dieser Familien
sollte zuerst ein größerer Typ selektiert

werden, da zu diesem Zeitpunkt schwer
festzustellen ist, wieviel Ressourcen das
Programm tatsächlich benötigen wird.
Während der Übersetzung informiert der
ST-REALIZER in einem Report über mög-
liche Fehler und gibt Warnungen aus,
falls eine Zweideutigkeit festgestellt
wurde. Am Ende wird eine Statistik
erstellt, die exakt über die benötigten
Ressourcen informiert.
Anhand dieser Informationen kann der
Programmierer nun abschätzen wieviel
Funktionalität noch in diesen Controller
gepackt werden kann, oder ob even-
tuell eine kleinerer Controller mit weni-
ger Speicher ausreicht. Da die graphi-
sche Programmbeschreibung keinerlei
direkte Abhängigkeit zur Hardware hat,
kann ohne Problem nachträglich zwi-
schen einzelnen Controllertypen
gewechselt werden, ohne daß dafür
eine neue Zeichnung erstellt werden
muß. Lediglich die Eingänge und Aus-
gängen müssen per Doppelklick auf
neuen I/O-Pins verteilt werden.

Version ”Drucktaster”

Für die zweite Version der Applikation
werden zur Einstellung der Leuchtstärke
zwei Drucktasten verwendet. Zwei Sym-
bole eines digitalen Eingangs reprä-
sentieren diese Funktion innerhalb des
Schematics. Wie man in Bild 3 sieht,
haben die Symbole der digitalen Ein-
gänge, jeweils einen logischen Aus-
gang. Um die Funktionsweise der REALI-
ZERS richtig zu verstehen, ist es wichtig,
folgende Vereinbarung zu kennen: Der

X-8 - 10/99 Elektor

EXTRA

———————————————————— PC-P

LUS

Bild 3. Hauptprogramm der Beispiel-Version B (Dimmer mit Tastersteuerung).

Bild 4. Pinlevel-Simulation.

background image

Ausgang der Eingangssymbole reprä-
sentiert den physikalischen Zustand am
Eingangspin und hat demnach den
Zustand ”1” oder ”0”. Ein low-aktiver
Tastendruck verursacht auf dieser Lei-
tung den Zustandswechsel 1-0-1. Dieser
Zustandswechsel ist wiederum Eingang
des Zählers und kann diesen dadurch
erhöhen oder erniedrigen. Zwischen Ein-
gang und Zähler ist jeweils ein NOR-Gat-
ter geschaltet. Durch diese Art der Ver-
schaltung wird erreicht, daß der Zähl-
wert die durch Konstanten festgelegten
Grenzen für den minimalen und maxi-
malen Phasenwinkel nicht überschreitet.
Der Anwender muß sich natürlich noch
überlegen, wie er die Grenzen des
Zählers überprüft. In unserem Beispiel ist
dafür im Hauptprogramm eine soge-
nannte Statemaschine erforderlich. Wie
man in Bild 3 erkennen kann, besteht
dieses symbolisierte Flußdiagramm aus
Zuständen (States = Kreise), in denen
etwas ausgeführt werden kann und aus
Bedingungen (Conditions = Doppel-
pfeile), die erfüllt sein müssen, um von
einem Zustand in den nächsten zu
gelangen. Auch hier ist es wichtig zu
verstehen, daß ein aktiver Zustands-
name (z.B. ”dimm”) mit einer logischen
”1” und alle nichtaktiven Zustandsna-
men mit einer logischen ”0” gleichzu-
setzen sind. Taucht der aktive Name in
anderen Teile der Zeichnung wieder
auf, sind alle Schaltungsteile, die damit
direkt verbunden sind, ebenfalls logisch
”1”. Der Wechsel zwischen zwei Zustän-

den findet dann statt, wenn der Name
der Bedingung durch einen damit ver-
bundenen Schaltungsteil auf ”1”gesetzt
wird. Erreicht beispielsweise der Zähler
das obere Limit, wird der entspre-
chende Ausgang des Komparators auf
”1” gesetzt. Dieser Ausgang ist gleich-
gesetzt mit dem Namen ”uplimit”. Fol-
gerichtig wechselt die Statemaschine
vom Zustand ”dimm” in den Zustand
”preset”. Dadurch wird der Name ”pre-
set” aktiv und sperrt den Tastereingang
”Up-Button” solange, bis der Zähler wie-
der erniedrigt wurde. Nachdem der
richtige Zahlenwert auf diese Art und
Weise ermittelt ist, wird er an die Inter-
ruptroutine übergeben. Die Interrupt-
routinen von Version A und Version B
sind identisch.

Simulation

Nachdem der Anwender nun auch
diese Version fehlerfrei compiliert hat,
kann er beide Programme in einem
graphischen Simulator testen. Zur Aus-
wahl steht entweder eine Pinlevelsimu-
lation oder eine Simulation auf der
Ebene der Schematics. Die erste Mög-
lichkeit zeigt den Mikrocontroller als
komplettes IC (Bild 4), an dessen Ein-
gangspins verschiedene Signalformen
vom digitalen Eingang über analoge
Eingänge bis hin zum Sinus- oder Recht-
eckgenerator angeschlossen werden
können. An den Ausgangspins stehen
digitale Monitore und symbolisierte

Osczilloskope zur Verfügung. Durch
diese Art der Simulation kann sehr gut
das Verhalten des gesamten Bausteins
nach außen hin untersucht werden. Bei
der zweiten Methode können die eben
erwähnten Simulatoren und Monitore
direkt mit beliebigen Leitungen inner-
halb der Schaltung verbunden werden.
Diese Art der Simulation ist in Bild 5 dar-
gestellt und eignet sich besonders für
Detailuntersuchungen.

Fazit

Wie anhand des Beispiels gezeigt
wurde, ist es mit der neuen Generation
des ST-REALIZERs möglich, in sehr kurzer
Zeit auch zeitkritische Applikation zu
beschreiben, ohne Vorkenntnisse einer
controllerspezifischen Programmierspra-
che zu haben. Neben dem Vorteil der
kurzen Einarbeitungs- und Entwicklungs-
zeit kann der Anwender auch auf gete-
stete Libraryfunktionen zurückgreifen
und steigert somit die Qualität seines Pro-
gramms. Quasi als Nebeneffekt muß der
Programmierer keine Zeit mehr für auf-
wendige Beschreibungen seines Codes
verwenden, da der komplette Pro-
grammablauf auf wenigen Seiten Papier
allgemein verständlich dargestellt ist. Die
neue Generation des ST-REALIZERs stellt
somit eine wertvolle Ergänzung zu den
traditionellen Programmiersprachen für
Mikrocontroller dar.

(982093-1)

Adressen und Bezugsquellen siehe S.11 (“Readers’ Corner ”).

PC-P

LUS

———————————————————

Elektor

EXTRA

X-9 - 10/99

Bild 5. Funktionale Simulation.


Wyszukiwarka

Podobne podstrony:
PC gesteuerter 32 Kanal Dimmer Luxus Regler fuer ohmsche und induktive Lasten
Breitband HF Vorverstaerker Fuer Lang und Mittelwelle
LED Drehzahlmesser Speziell fuer Roller und Mopeds
Kompakte Displaysteuerung Zwei Chips fuer Drucker und LC Display
2 Stücke aus Tannhäuser und Lohengrin, S 445 (Liszt, Franz) 2 Elsas Brautzug zum Münster
Multi Messbox fuer Matchbox und andere Controller
Batterie Impedanzmesser Serioeser Test fuer Batterien und Akkus
09 Jobs fuer Nic und Sam
Przedmioty obieralne 2 st 2 sem gik - treści programowe, SEM II Nowe Technologie w Pomiarach Realiza
Milburn, Trish Hier, jetzt und vielleicht fuer immer
ST6 Realizer w praktycev11
Einfache Spannungsanpassung fuer K6, 6x86 und MMX
Vorverstaerker Fuer induktive Tonabnehmer und dynamische Mikros
MT st w 06
cukry cz 2 st
Szacowanie zasobów st
Żywienie sztuczne niem St
ch zwyrodnieniowa st

więcej podobnych podstron