1.1 Allgemeines
Rabbit™ Mikrocontrollermodule erfreuen sich bei Entwicklern
grosser Beliebtheit. Dies rührt einerseits an der breiten Auswahl
verschiedener Mikrocontroller-Module mit unterschiedlichster Leistungsfähigkeit
und dass mit Dynamic C™ andererseits ein professionelles Entwicklungswerkzeug
mit umfangreichen Bibliotheken zur Verfügung steht. Und das
alles zu einem sehr guten Preis. Dadurch können auch Anwendungen
in kleinen Stückzahlen preiswert realisiert werden. Weitere
Informationen findet man auf den Web-Seiten des Herstellers Rabbit
Semiconductors. Informationen zu weiterer Hardware, die hier
angeboten wird, finden sie hier.
1.2
Das Application Framework
In vielen Fällen müssen Mikroprozessorsysteme heute
mit anderen Systemen z.B. einem weiteren Mikroprozessorsystem oder
einem PC-System kommunizieren. Eine Situation, die in der Praxis
dabei sehr oft vorkommt ist, dass ein zentrales System mit mehreren
Sub-Systemen zusammenwirken soll (Abbildung 1.1). Die Kommunikation
kann dabei so ablaufen, dass ein System einem anderen System einen
Befehl sendet. Dieses empfängt den Befehl, decodiert und verarbeitet
ihn und sendet das Ergebnis der Bearbeitung zurück an den Sender.
So sendet beispielsweise ein PC-System einem Mikroprozessorsystem
den Befehl „lies den Eingangspin 1 von Port A und sende mir
den Zustand des Pins. Eine weitere Aufgabe ist es auch Informationen
über Internet zugänglich zu machen. Genau für solche
Aufgaben wurde das Rabbit Anwendungsframework vordergründig
entwickelt.

Abbildung 1.1: Beispiel einer Hardware-Architektur
in einer verteilten Anwendung
Das Rabbit Anwendungsframework stellt ein
Programmgerüst zur schnellen Entwicklung von Mikrocontroller-Anwendungen
bereit, die auf einem Rabbit Mikrocontroller-Modul laufen und die
über eine RS232- oder Ethernet-Verbindung oder andere Schnittstellen
kommunizieren sollen. Es stellt somit eine Erweiterung mit Dynamic
C™ mitgelieferten Bibliotheken dar. Das Programmgerüst
enthält deshalb bereits die notwendigen Routinen zur Kommunikation
mit einem zentralen Steuerungssystem. Das Anwendungs-Framework ist
so konzipiert, dass es keine Rolle spielt ob gleichzeitig mit einer
oder mehreren Schnittstellen kommuniziert wird. Ebenso kann die
Kommunikation gleichzeitig über verschiedene Schnittstellen
wie z.B. RS232, Ethernet etc. erfolgen.
Ziel ist, den Entwickler bei der Umsetzung eigener Projekte möglichst
gut zu unterstützen um den Aufwand für die Entwicklung
zu reduzieren.
1.3
Was muss man tun um eine Anwendung zu realisieren, die über
eine Ethernet-Verbindung mit einem PC kommunizieren soll?
-
Implementierung der Routinen, die auf dem Mikrocontroller-Modul
ausgeführt werden sollen.
-
Definition des Befehlssatzes für die Kommunikation (wahlweise
Ascii- oder binäre Datenübertragung).
-
Aufnahme der Befehle in die Befehlsbehandlungs-Routine (Scheduler).
1.4
Welche Ressourcen werden auf einem Rabbit Mikrocontroller-Modul
benötigt?
Das komplette Programmgerüst ist von der Hardware unabhängig
ist und benötigt cirka 3 Kb des Programmspeichers (gemessen
mit und ohne Einbindung des Programmgerüstes nach dem Compilieren
mit Dynamic C™ 8.6.1.
Soll das Mikrocontroller-Modul über die serielle Schnittstelle
kommunizieren, dann muss ein entsprechender Eingangspuffer, z.B.
1024 Bytes reserviert werde. Gleiches gilt für die Kommunikation
über Ethernet. Die Puffergrösse hängt hier stark
von der Anwendung ab. Da das gesamte Framework auf den Bibliotheken
des Dynamic C™-Compilers beruhen und das Programmgerüst
nur Anwendungslogik enthält, ist die Aufwärtskompatibilität
für künftige Compiler-Versionen gegeben.
Das Programm wendet nicht die OS-Bibliotheken an sondern läuft
in einer Programmschleife (preemtive Multitasking). Programme laufen
sehr stabil. Weiterhin stehen alle Hardware-Funktionen der Mikrocontroller-Module
zur Verfügung.
1.5
Aufbau des Anwendungs-Frameworks
Im Rabbit Anwendungsframework wird eine klare Trennung zwischen
Hardware- und der Anwendungslogik vorgenommen. Auf diese Weise muss
beim Umstieg auf andere Hardware nur die Hardwarelogik angepasst
werden. Die Anwendungslogik bleibt gleich. Eine einfachere Portierbarkeit
auf andere Mikroprozessor- oder PC-Systeme wird dadurch sichergestellt.
Der Aufbau der Bibliotheken ist in Abbildung 1.2 dargestellt.

Abbildung 1.2: Aufbau des Anwendungs-Frameworks
1.6
Beispielaufbau eines Befehlssatzes für die Kommunikation
Beispielsweise sollen die Zustände der digitalen Eingänge
Pin 1 bis 7 von Port B von drei Mikrocontroller-Systemen an ein
zentrales PC-System übertragen. Weiter sollen die digitale
Ausgänge auf Port C ein- und ausgeschaltet werden können.
Ebenso soll die interne Uhr des Mikrocontroller-Systems mit dem
PC-System synchronisiert werden können.
PC-System und die drei Mikrocontroller-Systeme sind über ein
Ethernet-Netz miteinander verbunden. Der Befehl vom PC-System könnte
dabei, wie in Abbildung 1.3 dargestellt, aussehen.
Nr |
Befehl |
Antwort vom Mikrocontroller-Modul |
Beschreibung |
0 |
$ 001 |
$001 1 |
Liefert den aktuellen Zustand von Pin 1
an Port B – in diesem Fall 0 zurück |
1 |
$ 002 |
$ 002 1 2005/02/22 10:15:20 |
Ermittle das Datum und die Uhrzeit am Mikrocontroller-System |
2 |
$003 |
$003 1 2005/02/22 10:15:20 |
Setze die Uhrzeit des Mikrocontroller-Systems
auf das Datum 2005/02/22 und die Uhrzeit 10:15:20 |
3 |
$004 |
$004 4 1 |
Setze Pin 4 von Port C auf 1 |
4 |
... |
... |
... |
5 |
... |
... |
... |
Abbildung 1.3: Beispiel eines einfachen Befehlssatzes
1.7 Bemerkungen:
Das Anwendungsframework wurde bisher auch
in anderen Projekten erfolgreich eingesetzt.
Damit wurden Anwendungen für
-
PIC18F452 (MP-Lab) Mikrocontroller-Systeme
-
C167 Mikroprozessoren (Keil-Compiler)
-
und PC-Systeme entwickelt (z.B. Dos-Rechner
anstatt eines Mikrocontroller-Moduls).
Alle weiteren Anwendungen, die auf diesen
Webseiten aufgezeigt werden, basieren ebenfalls auf dem Rabbit Anwendungsframework.
Alle Routinen sind in der Sprache C geschrieben.
1.8 Was
erhalten Sie mit dem Rabbit Application Framework?
Mit dem Kauf des Rabbit Application-frameworks
erhalten sie:
-
den Source-Code des Programmgerüstes
für ihre eigenen Anwendungen,
-
eine kurze Beschreibung des Konzeptes
und Tipps für das Software-Desgin
-
eine kurze Beschreibung der Bibliotheksroutinen
und
-
drei kleine Beispielanwendungen in denen
die wesentlichen Funktionen und ihre Anwendung demonstriert
werden.
1.9
Anwendungsfall bei dem sich der Einsatz des Application Frameworks
sehr gut eignet
Hier folgen demnächst Szenarios, welche beispielhaft die
Verwendung des Application Frameworks aufzeigen sollen.
1.10 Preis
Für die unter Punkt 1.8 beschriebenen
Positionen gelten folgende Preise:
|