© istockphoto.com/akindo
Mikrocontroller richtig einsetzen

Die Welt regeln und steuern!


Mikrocontroller sind das Herz fast jedes modernen Geräts. Die meisten Entwickler setzen dabei Entwicklungs- und Evaluierungsboards wie das Arduino ein. In dieser Artikelreihe beschäftigen wir uns allerdings grundlegender mit dem Thema: nämlich damit, wie man Mikrocontroller einsetzt und in Assembler und C programmiert.

Video: Docker-Cluster auf der Basis von Raspberry Pis

Mikrocontroller finden sich heutzutage überall und steuern beinahe alle Dinge des täglichen Lebens – vom Kinderspielzeug über den intelligenten Kühlschrank bis zum Bremslicht im Auto. Diese neue Artikelserie gibt einen tiefen technischen Einblick in die Welt der Mikrocontroller und führt in deren Anwendung in Assembler und C ein. Aber steigen wir zunächst einmal ganz gemütlich in das Thema ein.

Was sind Mikrocontroller?

Mikrocontroller sind wie gesagt praktisch überall zu finden. Selbst in vergleichsweise einfachen Geräten wie Spielzeugen – wobei Spielzeuge nicht selten gar nicht so simpel sind, wie sie auf den ersten Blick scheinen. Mikrocontroller kontrollieren alle möglichen Dinge. Aber worum geht es genau?

Nun, im Grunde genommen ist ein Mikrocontroller ein kompletter Computer auf einem einzigen Chip. Von außen muss man noch Strom anschließen, und in den meisten Fällen – aber keineswegs immer – ist auch ein Taktgenerator erforderlich. Der besteht dann in der Regel aus einem Quarz, der den Takt liefert, und zwei Kondensatoren. Und schon hat man einen kleinen Computer, der einfach so vor sich hinrennt und ein Programm ausführt.

Ja, das Programm … Das muss man ihm natürlich auch mitgeben. Der Computer muss schließlich wissen, was er machen soll; denn anders als „große“ Computer hat ein Mikrocontroller kein Betriebssystem. Man muss also „alles selbst machen“. Das klingt aber viel schlimmer als es ist. Denn was soll ein Computer, der nur Strom und einen Takt bekommt, schon groß machen?

Richtig: Nichts. Das natürliche Programm für einen Mikrocontroller besteht deshalb aus einer Schleife, die niemals abbricht (while(1);).

Damit es etwas komplizierter, aber auch ein wenig interessanter wird, muss man doch noch etwas mehr an einen Mikrocontroller anschließen. Und das, was man da anschließt, muss man dann mit seiner Software steuern und regeln. Klingt eigentlich ganz logisch, oder?

Alles an Bord

Ein Mikrocontroller ist zweifelsohne ein tolles Gerät. Im Kern besteht ein solcher Chip aus einem Mikroprozessor, einem dauerhaften Speicher (ROM, EPROM, EEPROM oder Flash), einem flüchtigen Speicher (RAM), und „einigen“ Peripheriemodulen sowie diversen Ein-/Ausgabepins.

Für eine solche Hardwareausstattung mit einem 8-Bit-Prozessor, ein paar KB EPROM und ein paar hundert Byte RAM musste man gegen Ende der 70er-Jahre ca. 100 DM ausgeben – und sich dann die Platine selbst zusammenlöten. Und das Programmieren war dann noch nicht einmal besonders einfach.

Heutzutage haben selbst kleine Mikrocontroller etliche KB Flashspeicher (anstelle des damaligen EPROM-Speichers) und diverse Kilobyte RAM und noch viel zusätzliche Hardware direkt auf dem Chip. Und das für ungefähr einen Euro. Ja, richtig, das Zeug ist unglaublich günstig geworden, und ganz nebenbei sind die Taktfrequenzen auf ein Vielfaches angestiegen.

Hierbei sprechen wir übrigens von den „kleinen“ Mikrocontrollern. Von denen, die wenig Strom verbrauchen, vergleichsweise wenige Ein- und Ausgabepins bieten und nicht so wahnwitzig viele Peripheriemodule mit sich herumschleppen. Das alles gibt es auch mit vielen Megabytes und als 64-Bitter. Doch keine Panik: Wir schauen uns das alles noch im Detail an.

Wozu sind Mikrocontroller gut?

Ein Mikrocontroller ist ein Computer ohne Tastatur, Maus oder Monitor. Er kann programmiert und mit einer Unmenge an technischem Gerät verbunden werden. Und von diesem technischen Gerät kann er Impulse empfangen, diese mithilfe seiner Software auswerten und weiteres technisches Gerät ansteuern.

Zu abstrakt und allgemein? Nun ja, das liegt in der Natur der Sache. Was hätten Sie denn auf die Frage „Was kann man mit einem Computer machen?“ geantwortet? Eigentlich ist es ja genau diese Frage, um die es hier geht.

Typische Aufgaben von Mikrocontrollern kommen aus dem Bereich „Regeln und Steuern“. Angenommen, sie möchten die Temperatur in einem Raum konstant halten. Dann muss die aktuelle Temperatur immer wieder gemessen und mit dem Sollwert verglichen werden. Bei Unterschreitung eines Schwellwerts wird eine Heizung angeworfen, bei Überschreitung eines Schwellwerts wird eine Kühlung aktiviert. Das sind klassische Aufgaben, wie Mikrocontroller sie erledigen. Ob sie nun eine Temperatur konstant halten, das Licht in einem Raum intelligent steuern oder einen 3-D-Drucker bauen möchten: Mikrocontroller können Ihnen helfen!

Die Mikrocontrollerfamilien

Wenn man im Internet nach Mikrocontrollern sucht und versucht, sich einen Überblick über die verfügbaren Chips zu verschaffen, wird man von der großen Anzahl an Herstellern und der beinahe unüberschaubaren Anzahl unterschiedlicher Mikrocontroller erschlagen. Namhafte Hersteller sind beispielsweise Texas Instruments, Fujitsu, Intel, Infineon oder Toshiba – um nur einige zu nennen.

Ganz besonders wichtig ist ein Unternehmen, das selbst allerdings überhaupt keine Mikrocontroller produziert: ARM.

Die britische Firma ARM Limited entwickelt Prozes­sorkerne. Diese Prozessorkerne können als Kernelement von Mikrocontrollern verwendet werden. Die tatsächlichen Produzenten von Mikrocontrollern lizenzieren das Design eines Prozessorkerns, entwickeln zusätzliche Komponenten rund um den Kern, beispielsweise für die Kommunikation via USB, CAN-Bus (vorwiegend in der Automobilindustrie eingesetzt), Ethernet oder sonstige Peripheriemodule, und stellen auf dieser Basis dann Mikrocontroller her.

Tatsächlich zeigt sich, dass ein riesiger Teil der ...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang