Interview mit Tam Hanna zu 8-bit-Mikrocontrollern und mehr
Will man IoT-Anwendungen erstellen, muss man zwingend 8-bit-Mikrocontroller verstehen. Tam Hanna, Autor von „Mikrocontroller-Basics mit PIC“, ist hierfür ein ausgewiesener Experte. Im Elektor-Interview spricht er über seine Überlegungen zu MCUs und aktuelle Elektronikprojekte.
Will man IoT-Anwendungen erstellen, muss man zwingend 8-bit-Mikrocontroller verstehen. Tam Hanna, Autor von „Mikrocontroller-Basics mit PIC“ (Elektor 2020), Kürzlich sprach er über sein Buch, seine Sicht von 8-bit-Mikrocontrollern und einige seiner aktuellen Elektronikprojekte.
Tam Hanna: Weil 8-bit-Controller ein faszinierendes Fenster in die Welt der MCUs und allgemein Mikroprozessor-Elektronik sind. Aus technischer Sicht bedeutet dies schlicht und einfach: Wwenn man versteht, was in einer 8-bit-MCU passiert, ist die 400 Seiten lange Architekturbeschreibung der RISC-V-MCU viel leichter zu verstehen. Zu Anfang meines Berufslebens als Ingenieur stand ich quasi in Deindesland. Damals hat mir die Serie „Elektronik - gar nicht schwer“ von Elektor sehr geholfen, da sie mir die Fähigkeit gab, schneller zu lernen. Jetzt, da ich dazu in der Lage bin, ist es mir eine große Ehre, Wissen wieder zurückzugeben.
In vielerlei Hinsicht sind junge Ingenieure heute mit einer anderen Situation konfrontiert. Die Verfügbarkeit von Sprachen wie Python macht es einfach, funktionierende Systeme auf die Beine zu stellen. Arduino – ob man es liebt oder hasst – isoliert von der zugrunde liegenden Hardware. In der Praxis begegne ich jedoch immer wieder Menschen, die gegen eine Wand laufen. Ihr Problem liegt häufig im Fehlen des Verständnisses der grundlegenden Konzepte der Elektronik. Ein primitiver 8-bit-Mikrocontroller kann auf Baugruppenebene vollständig verstanden werden. Dieses Wissen kann dann auf fortgeschrittene Controller-Architekturen übertragen werden. Angesichts der Tatsache, dass ich den PIC immer noch viel kommerziell nutze, hatte ich das Gefühl, dass es jetzt an der Zeit ist, darüber ein Buch zu schreiben.
Elektor: Wer ist die Zielgruppe für dieses Buch? Muss ein Leser Experte für C-Programmierung sein?
Hanna: Um ehrlich zu sein, mache ich mir keine Gedanken über C-Programmierkenntnisse. C hat einen schlechten Ruf, weil es leicht ist, sich damit Chaos zu produzieren. Aber wie bei einer TU-22 tauchen Probleme nur dann auf, wenn man dumme oder aggressive Dinge tut (der Überschallbomber TU-22 neigte zur Rückenlage, wenn er aggressiv geflogen wurde).
Ich mache mir mehr Sorgen über das Niveau der elektronischen Kenntnisse. Wenn man nicht zumindest die Grundlagen der digitalen Elektronik kennt und das Ohm'sche Gesetz versteht, wird man Probleme haben. Ein Elektroniker sollte zumindest die Bücher über Gleichspannung und digitale Elektronik aus der oben angeführten Serie gelesen und verstanden haben.
Elektor: Was hat Ihnen beim Schreiben des Buches am meisten gefallen?
Hanna: Als ich mich vor vielen Monden zum ersten Mal bei SourceForge anmeldete, bat mich die Seite, einen Fragebogen zur Selbsteinschätzung durchzugehen. Einer der höchsten Stufen war, ein Buch über diese Themen zu schreiben. In gewisser Weise gab mir das Schreiben dieses Buches die Möglichkeit, das Wissen zu sortieren, das ich in meiner langen und schmutzigen Karriere gesammelt habe. Und natürlich auch die Fähigkeit, etwas von meiner Erfahrung zurückzugeben, um anderen zu helfen.
Elektrotechnik war schon immer meine Leidenschaft, daher war es eine interessante Herausforderung, an dem Text zu arbeiten und coole Beispiele zu finden. Es ist eine große Ehre, helfen zu können, insbesondere mit einem großartigen Team.
Elektor: Was war die größte Herausforderung beim Schreiben des Buches?
Hanna: Verzeihen Sie mir, wenn das kitschig klingt, aber dies ist eine sehr persönliche Frage, und ich werde eine persönliche Antwort geben. Mein größtes Problem war herauszufinden, wann ich aufhören musste. Während ich dieses Buch schrieb, spürte ich das Gewicht der nächsten Generation von Studenten auf meinem Rücken. Ich dachte an eine jüngere Version von mir selbst, die im Labor saß und versuchte, mehr zu lernen, um schließlich diesen Job zu bekommen, der den Start ermöglicht. Es gibt so viele hilfreiche Dinge, die ich ihm erzählen könnte, nicht nur über Mikrocontroller, sondern auch über allgemeine Elektronik und Messgeräte – doch hatte ich nur eine begrenzte Zeit dafür. Deshalb muss ich meinem Herausgeber wirklich danken. Er hat großartige Arbeit geleistet, meine Arbeit einzuschränken und dafür zu sorgen, dass dem Leser tatsächlich eine Version des Buches zur Verfügung steht, wovon er profitieren kann. Und natürlich gibt es immer die Hoffnung auf eine zweite erweiterte Auflage.
Hanna: Auf die Gefahr hin, wie ein Maschinenstürmer zu klingen: Es gibt besonders unter jungen Ingenieuren ein eigenartiges Gefühl von Technikverliebtheit. Als ich anfing, hatte ich das Vergnügen, den legendären Sir Bilal Musa von der Generali-Versicherung kennenzulernen. Er schockierte mich, indem er mir sagte, dass er niemals die erste Generation eines Produkts – ob Flugzeug oder IT-System – verwenden würde. Dieses Prinzip hat sich in vielen Fällen als nützlich erwiesen, ein Beispiel dafür ist die Yakovlev Yak-42.
Ich weiß, dass 32-bit-Controller fast von Minute zu Minute billiger werden. Aber braucht es wirklich immer 32-bit-Leistung? Schauen Sie sich an, was bei der Umstellung von Java auf 64 bit passierte: In vielen Fällen führten die längeren Pointer zu schlechterer Gesamtsystemleistung. Besonders bei der Arbeit an einem System mit niedrigem Stromverbrauch macht es einen Unterschied, wenn man vier statt Speicherzellen statt acht Bytes benötigt, um einen Pointer zu speichern.
Elektor: Der 8-bit-Mikrocontroller ist also nach wie vor relevant. Können Sie uns sagen, was Ihnen an der PIC-Mikrocontroller-Familie gefällt?
Hanna: Ein Wort: Einfachheit! Es ist kein Zufall, dass Massimo Banzi einen AVR-Chip für Arduino Uno ausgewählt hat. Dieser 8-bit-Mikrocontroller wurde allerdings für C-Compiler optimiert. PICs hingegen wurden von Anfang an als Produkt entwickelt, das „von Hand“ programmiert werden sollte. Dadurch eignet sich seine interne Architektur ideal zum Lernen.
Durch die extrem weite Verbreitung dieser MCUs ist ihr Ökosystem sehr ausgereift. Programmiergeräte sind spottbillig. Die meisten PICs sind im DIP-Gehäuse erhältlich. Hinzu kommt: Als PCs immer schneller und die Compilertechnik immer fortschrittlicher wurden, hat Microchip sich viel Mühe gemacht, die C-Programmierung zu perfektionieren.
Elektor: Einige Ingenieure meinen, 8-bit-Mikrocontroller seien schwer mit C zu programmieren. Stimmen Sie dem zu oder nicht?
Hanna: Einige Leute meinen, dass der Transport von Fracht mit einer Tu-144 schwierig sei, und dass das dieses Überschallflugzeug zu einer schlechten und völlig nutzlosen Konstruktion macht. Kein Tool kann alle zufriedenstellen. Wenn Sie einen komplexen Algorithmus ausführen wollen, ist ein 8-bit-Mikrocontroller wahrscheinlich nicht ideal. Wenn Sie gerne mit großen Mengen an Speicher spielen, werden Sie damit ebenfalls Probleme bekommen.
Aber seien wir doch ehrlich: Bei vielen, wenn nicht sogar den meisten Anwendungen sind die zu erledigenden Jobs doch recht einfach. Und hier ist eine kleine C-Routine einfacher zu handhaben als Assembler. Wenn Sie ständig mit dem Kopf gegen eine Wand stoßen, sollte der Wechsel zu einem leistungsfähigeren Controller oder die Erstellung eines kombinatorischen Prozessrechners der Schritt der Wahl sein.
Auf der anderen Seite ist meine Sichtweise natürlich nicht unvoreingenommen. Sehen Sie sich nur den Palm VII an. Das Ding habe ich tatsächlich programmiert.
Ein neues Buch zu MCU-Grundlagen
Elektor: Ihr neues Buch „Mikrocontroller-Basics mit PIC“ soll Leser helfen, einen 8-bit-Mikrocontroller zu verstehen und zu programmieren. Sagen Sie uns, warum Sie sich auf dieses Thema konzentriert haben?Tam Hanna: Weil 8-bit-Controller ein faszinierendes Fenster in die Welt der MCUs und allgemein Mikroprozessor-Elektronik sind. Aus technischer Sicht bedeutet dies schlicht und einfach: Wwenn man versteht, was in einer 8-bit-MCU passiert, ist die 400 Seiten lange Architekturbeschreibung der RISC-V-MCU viel leichter zu verstehen. Zu Anfang meines Berufslebens als Ingenieur stand ich quasi in Deindesland. Damals hat mir die Serie „Elektronik - gar nicht schwer“ von Elektor sehr geholfen, da sie mir die Fähigkeit gab, schneller zu lernen. Jetzt, da ich dazu in der Lage bin, ist es mir eine große Ehre, Wissen wieder zurückzugeben.
In vielerlei Hinsicht sind junge Ingenieure heute mit einer anderen Situation konfrontiert. Die Verfügbarkeit von Sprachen wie Python macht es einfach, funktionierende Systeme auf die Beine zu stellen. Arduino – ob man es liebt oder hasst – isoliert von der zugrunde liegenden Hardware. In der Praxis begegne ich jedoch immer wieder Menschen, die gegen eine Wand laufen. Ihr Problem liegt häufig im Fehlen des Verständnisses der grundlegenden Konzepte der Elektronik. Ein primitiver 8-bit-Mikrocontroller kann auf Baugruppenebene vollständig verstanden werden. Dieses Wissen kann dann auf fortgeschrittene Controller-Architekturen übertragen werden. Angesichts der Tatsache, dass ich den PIC immer noch viel kommerziell nutze, hatte ich das Gefühl, dass es jetzt an der Zeit ist, darüber ein Buch zu schreiben.
Elektor: Wer ist die Zielgruppe für dieses Buch? Muss ein Leser Experte für C-Programmierung sein?
Hanna: Um ehrlich zu sein, mache ich mir keine Gedanken über C-Programmierkenntnisse. C hat einen schlechten Ruf, weil es leicht ist, sich damit Chaos zu produzieren. Aber wie bei einer TU-22 tauchen Probleme nur dann auf, wenn man dumme oder aggressive Dinge tut (der Überschallbomber TU-22 neigte zur Rückenlage, wenn er aggressiv geflogen wurde).
Ich mache mir mehr Sorgen über das Niveau der elektronischen Kenntnisse. Wenn man nicht zumindest die Grundlagen der digitalen Elektronik kennt und das Ohm'sche Gesetz versteht, wird man Probleme haben. Ein Elektroniker sollte zumindest die Bücher über Gleichspannung und digitale Elektronik aus der oben angeführten Serie gelesen und verstanden haben.
Elektor: Was hat Ihnen beim Schreiben des Buches am meisten gefallen?
Hanna: Als ich mich vor vielen Monden zum ersten Mal bei SourceForge anmeldete, bat mich die Seite, einen Fragebogen zur Selbsteinschätzung durchzugehen. Einer der höchsten Stufen war, ein Buch über diese Themen zu schreiben. In gewisser Weise gab mir das Schreiben dieses Buches die Möglichkeit, das Wissen zu sortieren, das ich in meiner langen und schmutzigen Karriere gesammelt habe. Und natürlich auch die Fähigkeit, etwas von meiner Erfahrung zurückzugeben, um anderen zu helfen.
Elektrotechnik war schon immer meine Leidenschaft, daher war es eine interessante Herausforderung, an dem Text zu arbeiten und coole Beispiele zu finden. Es ist eine große Ehre, helfen zu können, insbesondere mit einem großartigen Team.
Elektor: Was war die größte Herausforderung beim Schreiben des Buches?
Hanna: Verzeihen Sie mir, wenn das kitschig klingt, aber dies ist eine sehr persönliche Frage, und ich werde eine persönliche Antwort geben. Mein größtes Problem war herauszufinden, wann ich aufhören musste. Während ich dieses Buch schrieb, spürte ich das Gewicht der nächsten Generation von Studenten auf meinem Rücken. Ich dachte an eine jüngere Version von mir selbst, die im Labor saß und versuchte, mehr zu lernen, um schließlich diesen Job zu bekommen, der den Start ermöglicht. Es gibt so viele hilfreiche Dinge, die ich ihm erzählen könnte, nicht nur über Mikrocontroller, sondern auch über allgemeine Elektronik und Messgeräte – doch hatte ich nur eine begrenzte Zeit dafür. Deshalb muss ich meinem Herausgeber wirklich danken. Er hat großartige Arbeit geleistet, meine Arbeit einzuschränken und dafür zu sorgen, dass dem Leser tatsächlich eine Version des Buches zur Verfügung steht, wovon er profitieren kann. Und natürlich gibt es immer die Hoffnung auf eine zweite erweiterte Auflage.
8-bit-Mikrocontroller
Elektor: Intel hat den MCS-51 vor vier Jahrzehnten eingeführt. Warum ist der 8-bit-Mikrocontroller immer noch relevant?Hanna: Auf die Gefahr hin, wie ein Maschinenstürmer zu klingen: Es gibt besonders unter jungen Ingenieuren ein eigenartiges Gefühl von Technikverliebtheit. Als ich anfing, hatte ich das Vergnügen, den legendären Sir Bilal Musa von der Generali-Versicherung kennenzulernen. Er schockierte mich, indem er mir sagte, dass er niemals die erste Generation eines Produkts – ob Flugzeug oder IT-System – verwenden würde. Dieses Prinzip hat sich in vielen Fällen als nützlich erwiesen, ein Beispiel dafür ist die Yakovlev Yak-42.
Ich weiß, dass 32-bit-Controller fast von Minute zu Minute billiger werden. Aber braucht es wirklich immer 32-bit-Leistung? Schauen Sie sich an, was bei der Umstellung von Java auf 64 bit passierte: In vielen Fällen führten die längeren Pointer zu schlechterer Gesamtsystemleistung. Besonders bei der Arbeit an einem System mit niedrigem Stromverbrauch macht es einen Unterschied, wenn man vier statt Speicherzellen statt acht Bytes benötigt, um einen Pointer zu speichern.
Elektor: Der 8-bit-Mikrocontroller ist also nach wie vor relevant. Können Sie uns sagen, was Ihnen an der PIC-Mikrocontroller-Familie gefällt?
Hanna: Ein Wort: Einfachheit! Es ist kein Zufall, dass Massimo Banzi einen AVR-Chip für Arduino Uno ausgewählt hat. Dieser 8-bit-Mikrocontroller wurde allerdings für C-Compiler optimiert. PICs hingegen wurden von Anfang an als Produkt entwickelt, das „von Hand“ programmiert werden sollte. Dadurch eignet sich seine interne Architektur ideal zum Lernen.
Durch die extrem weite Verbreitung dieser MCUs ist ihr Ökosystem sehr ausgereift. Programmiergeräte sind spottbillig. Die meisten PICs sind im DIP-Gehäuse erhältlich. Hinzu kommt: Als PCs immer schneller und die Compilertechnik immer fortschrittlicher wurden, hat Microchip sich viel Mühe gemacht, die C-Programmierung zu perfektionieren.
Elektor: Einige Ingenieure meinen, 8-bit-Mikrocontroller seien schwer mit C zu programmieren. Stimmen Sie dem zu oder nicht?
Hanna: Einige Leute meinen, dass der Transport von Fracht mit einer Tu-144 schwierig sei, und dass das dieses Überschallflugzeug zu einer schlechten und völlig nutzlosen Konstruktion macht. Kein Tool kann alle zufriedenstellen. Wenn Sie einen komplexen Algorithmus ausführen wollen, ist ein 8-bit-Mikrocontroller wahrscheinlich nicht ideal. Wenn Sie gerne mit großen Mengen an Speicher spielen, werden Sie damit ebenfalls Probleme bekommen.
Aber seien wir doch ehrlich: Bei vielen, wenn nicht sogar den meisten Anwendungen sind die zu erledigenden Jobs doch recht einfach. Und hier ist eine kleine C-Routine einfacher zu handhaben als Assembler. Wenn Sie ständig mit dem Kopf gegen eine Wand stoßen, sollte der Wechsel zu einem leistungsfähigeren Controller oder die Erstellung eines kombinatorischen Prozessrechners der Schritt der Wahl sein.
Auf der anderen Seite ist meine Sichtweise natürlich nicht unvoreingenommen. Sehen Sie sich nur den Palm VII an. Das Ding habe ich tatsächlich programmiert.