Suche

A     B     C     D     E     F     G     H     I     J     K     L     M     N     O     P     Q     R     S     T     U     V     W     X     Y     Z




Formeln
Alle Tests
Kfz-Jobs
Motorölfinder



 Mikrocontroller 3



Herz einer jeden Computeranlage ist die Central Processing Unit, so auch bei einem Mikrocontroller. Hier wird das eigentliche Programm abgearbeitet. In den Urzeiten liefen diese mehr der Reihe nach ab. Werte wurden dem Speicher oder einer Eingabe-Einheit entnommen, miteinander verknüpft und wieder ausgegeben. Heute geschieht das alles eher ereignisorientiert. Verschiedenste Ereignisse erfordern Reaktionen, häufig sogar gleichzeitig.

Die einfachste Form der Programmierung hat die Bezeichnung 'Assembler'. Hier sind die Befehle zwar 1 zu 1 in Maschinensprache umsetzbar, aber noch einigermaßen lesbar. Will man also die maximale Geschwindigkeit eines Systems optimal ausnutzen, dann ist ein Assembler die richtige Wahl. Allerdings hat dieser auch einige Nachteile. So repräsentiert ein Assembler immer nur den Befehlssatz dieser spezifischen CPU, der Quellcode kann also kaum auf andere Typen übertragen werden. Außerdem sind schon für geringe Anforderungen viele Programmschritte nötig, was den Code schwer lesbar und damit fehleranfällig macht.

8 Bit256 Adressen
16 Bit65.536 Adressen
32 Bit16.777.216 Adressen
64 Bit4.294.967.196 Adressen

So spannend vielleicht Motordaten für den Ingenieur sein mögen, der Computer speichert sie ohne Emotionen eine nach der anderen ab. Wichtigstes Bindeglied zur Welt des Ingenieurs ist die Adresse. Bei bis zu 64 Bit breiten Adressräumen müsste man sich in über 4 Mrd. Adressen orientieren. Die Daten sind verloren, wenn nicht klare Ordnungsstrukturen vorgegeben sind. Was der Ingenieur als zumindest zweidimensionales Diagramm sieht, speichert der Rechner hintereinander ab.

Nein, heutige Programmierung von Mikrocontrollern erfolgt eher mit dem Gegenteil von Assembler, also einer Hochsprache, z.B. einer Erweiterung der Programmiersprache C. Sie basiert auf der Vehicle Distrubuted EXecutive, die 1988 als Zusammenschluss französischer Hersteller gegründet wurde und 1994 mit der ein Jahr zuvor gegründeten Organisation führender deutscher Hersteller Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug verbunden wurde.


Zu OSEK/VDX gehört auf jedem Mikrocontroller ein kompatibles Betriebssystem, OSEK Operating System genannt. Dies ist je nach Hardware völlig verschieden, garantiert aber, dass in der OSEK-Sprache geschriebene Anwendungen lauffähig sind, egal, ob es sich z.B. um einen 16- oder 32-Bit Mikrocontroller handelt. Überführt wurde das ganze Projekt inzwischen in die 2003 gegründete AUTomotive Open System ARchitecture. Daran sind 2009 schon 170 Firmen beteiligt.

Inzwischen wird die am Ende der Entwicklung und diverser Tests durch den Debugger erstellte Programmversion genau wie das Betriebssystem des Mikrocontrollers im ROM gespeichert. Übergriffe auf dessen Speicher sind somit ausgeschlossen. Multitasking als Ergebnis der Ereignissteuerung ist schon immer eine Anforderung gewesen. Wichtig ist es, die auf Ereignisse reagierenden Prozesse (Tasks) unabhängig voneinander zu machen.

Solange im Bereich der Mikrocontroller auch hardwaremäßig multitaskingfähige Prozessoren nicht üblich sind, muss der Prozessor zwischen einzelnen Tasks hin- und herschalten (Scheduling). Man sagt, die Tasks werden quasiparallel bearbeitet. Jeder für sich hat seinen sequentiellen Ablauf (Befehle der Reihe nach). Interessant sind Parallelen zum Bus, wo ebenfalls zu einer bestimmten Zeit immer nur ein einziger Teilnehmer Zugriff hat. Wieder gibt es Rangfolgen für die Wichtigkeit von Tasks, die während der Entwicklung festgelegt und diesmal mit Hilfe des Schedulers durchgesetzt werden.







Sidemap - Technik Impressum E-Mail Datenschutz Sidemap - Hersteller