Funktionsbeschreibung

Gesamtkonzept

Das GTM besteht im wesentlichen aus drei Komponenten, die zusammenwirken:

  • Der Grafikcontroller besteht aus einem Mikrocontroller vom Typ ATMega644 Bei den Modellen mit 800 x 480 Bildopunkten kommt die pinkompatible Version ATMega1284 zum Einsatz – dort sind die benutzten Fonts größer, so dass der Platz nicht mehr genügt. Damit hat man viel Power für die Abarbeitung von Grafikbefehlen.
  • Der Tastatur- und Touchscreen-Controller nimmt die Eingaben entgegen und verarbeitet sie. Damit eine gute Vorverarbeitung möglich ist, wird er mit dem Grafikcontroller gekoppelt. Dieser teilt ihm mit, ob gerade Elemente dargestellt werden, bei denen die Eingabe in Form von Feldern erfolgt (Tastaturen, Menüs, …) oder in Form von Koordinaten (Zeichnen, Schieberegler, …). Er kann auch die Übermittlung von Koordinaten ganz abschalten oder den Touchscreen in einen Kalibrierungsmodus versetzen, in dem dieser dann die eingegebenen Daten selbst verarbeitet und zukünftig genauer arbeitet. Man kennt das von den früheren „PDA“s, einer inzwischen ausgestorbenen und durch Smartphones ersetzten Gerätegattung, die regelmäßig  bei Stromverlust solche Kalibrierungen verlangten.
  • Das Bildschirmmodul ist ein Fertigbauteil aus China und besteht aus dem eigentlichen Panel mit 4-Draht-resistivem Touchscreen, einem Grafik- und einem Touchchip. Der Grafikchip bietet Platz für eine Bildschirmseite und wird über 16 parallele Daten- und ein paar Steuerleitungen angeschlossen. Der Touchscreen-Chip setzt Berührungen in Kommandos und grobe Koordinaten um.  Während der Grafikchip mit dem Grafikcontroller ATMega644 (oder ATMega1284) kommuniziert, ist der Touchscreen-Chip mit dem Tastatur- und Touchscreen-Controller verbunden.

Microcontroller Lab Systembild

 

Die serielle Schnittstelle

Die beiden Controller sollen sich mit einem angeschlossenen Mikrocontroller oder Computer sowie auch untereinander austauschen, und die beste Methode hierzu ist eine serielle Datenübermittlung, da sie (neben dem Massedraht) in einer Richtung mit nur einem Kabel auskommt. Die geschickten Kommandos sind Byte-orientiert, so dass man einfach Texte und Zahlen übermitteln kann.

Allerdings hat diese Methode auch einen Nachteil: wenn der Empfänger das aktuelle Datenpaket nicht abholt, während schon ein neues gesendet wird, ist es verloren. Auch bessere Controller haben nur einen gewissen Puffer. Allerdings senden wir sehr langsam – gewöhnlich reicht die Zeit aller Controller locker, um die Daten abzuholen und zu verarbeiten. Manche Beispiele legen daher bei der Abarbeitung Zwangspausen ein, damit keine Daten verloren gehen.

Die Übermittlung sieht nun folgendermaßen aus:

  • Der Mikrocontroller oder Computer sendet seine Daten in Form von Bytes (Kommandos und Werte) an den Grafikcontroller. Dabei muss er natürlich genau wissen, in welchem Modus sich der Grafikcontroller befindet. Um das zu gewährleisten, wurde ein Ausstiegskommando definiert, das auf jeden Fall in einen definierten Zustand führt.
  • Der Grafikcontroller übermittelt Informationen an den Tastatur- und Touchscreen-Controller. Über eine serielle Verbindung können Aktionen und Werte, beispielsweise das Antippen eines Knopfes oder Feldes oder die aktuelle Position eines dargestellten Schiebereglers (Sliders) an den Tastatur- und Touchscreen-Controller übermittelt werden.  Außerdem sind zwei Ausgänge direkt mit Eingängen des Tastatur- und Touchscreen-Controllers verbunden.
  • Der Tastatur- und Touchscreencontroller übermittelt seine Daten wiederum an den Hauptcontroller über die serielle Schnittstelle. Er liefert Infos, ob Knöpfe gedrückt sind (und entprellt sie per Software) und ob der Touchscreen berührt oder losgelassen wurde. Die Kommandos sind kurz – maximal fünf Bytes (Kommando und x- und y-Koordinate) werden gesendet. Wenn nur Felder (also berührte Schaltflächen) übermittelt werden, reicht sogar ein einziges Byte. Aktionen und Werte des Grafikcontrollers werden unbearbeitet einfach an den Mikrocontroller weitergesendet. Die zwei zusätzlichen Eingänge, die direkt mit Ausgängen des Grafikcontrollers verbunden sind, übermitteln stets vier unterschiedliche Zustände, nämlich „Sende Felder“, „Sende Koordinaten“, „Sende Nichts“, „Kalibriere Dich“. Damit weiß der Tastatur- und Touchscreen-Controller immer, wie er Touch-Eingaben zu interpretieren hat.

Schaltbild

Das folgende Bild zeigt die Schaltung in ihrer ganzen Schönheit.

Bildschirmfoto 2015-02-19 um 15.43.35

Hierzu ein paar Hinweise auf Besonderheiten:

  • Das RAM des Grafikchips genügt für mindestens eine ganze Bildschirmseite. Bei der Auflösung 480 x 272 sind sogar vier ganze Seiten verfügbar. Das GTM nutzt sie wegen der Kompatibilität jedoch nicht aus.
  • Alle Mikrocontroller haben eigene Quarze. Eine serielle Kommunikation kann nur mit externen Quarzen sichergestellt werden.

Zurück zur Hauptseite

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*