|
|
|
Anzeige: |
|
|
|
|
|
|
32 Open Collector Treiber-Ausgänge |
 |
|
EP4, I/O-Erweiterungsmodul, zum Treiben kleiner Motoren, Lampen, Ventile, etc., interner Temperatursensor |
|
weiter... |
|
|
|
|
|
|
|
|
|
|
Applikationsbericht: |
|
|
|
|
|
|
|
|
|
|
|
|
|
BASIC-Tiger®
Application Note No. 067
Rev. 1.0
|
|
|
|
|
|
|
|
|
|
|
|
|
Eine Taste mit Pfiff
von Gunther Zielosko
1. Ein weiteres interessantes Graphik-Display
Es gibt kaum eine Anwendung des BASIC-Tigers®, die nicht irgendeine Anzeige für den Bediener, also ein Display im weitesten Sinne benötigt. Hier besteht eine Lücke zwischen den teuren alphanumerischen oder graphischen LC-Displays, die von der Firma Wilke hard- und softwaremäßig unterstützt werden und einfachsten Anzeigen, wie z.B. Leuchtdioden. Diese Lücke kann recht einfach geschlossen werden, wenn man für eine Applikation nicht mehr als ein Grafikdisplay mit 64x32 Pixeln braucht. Damit könnten einfache Pictogramme oder kurze Texte bequem angezeigt werden, für eine Bedienerführung oder eine Messwert- oder Trendanzeige ist das oft ausreichend. Solche Displays gibt es schon länger, teilweise ist sogar eine Taste integriert. Der frühere Hersteller war die Firma HE Electronics Technologie & Systemtechnik GmbH in 66538 Neunkirchen, jetzt hat die Firma I/O Universal Technologies, Inc. 329 Moore Avenue Leonia, NJ 07605 Produktion und Weiterentwicklung übernommen. Ausführliche Informationen gibt es im Internet unter:
Es werden verschiedene Varianten von Einzeltasten und -displays hergestellt, wir werden speziell auf die neuere Taste mit farbig beleuchtetem (RGB) LC-Display SA6432 eingehen. Die Tasten kommen mit 6 Anschlüssen aus, davon benötigt das unabhängige Display Masse, Betriebsspannung +5 V, Takt- und Dateneingang. Zwei weitere Anschlüsse dienen zur Anbindung der Tastenkontakte. Günstig für uns ist, dass die serielle Datenübertragung nur dann erfolgen muss, wenn Informationen geändert werden sollen. Alle einmal übertragenen Daten (Farbe, Bitmap) werden im Display selbst gespeichert. Dadurch wird nur sehr wenig Rechenleistung für die Anzeige benötigt. Im Folgenden werden wir uns mit technischen Einzelheiten des Displays und mit seiner Ansteuerung beschäftigen.
2. Die Taste SA6432
Die Taste SA6432, die im Einzelbezug etwa 27,50 " kostet, wird mit den Abmessungen (L, B, H) 24x23x26 mm geliefert. Sie hat ein Sichtfenster mit einem 64x32-Punkte Grafik-LCD auf der Betätigungsfläche. Übrigens - ein gleichartiges Display ohne Tastenfunktion hat eine deutlich reduzierte Höhe. Alle Punkte dieses Displays können unabhängig gesetzt werden, die Datenübertragung erfolgt seriell. Zur Hintergrundbeleuchtung dienen rote, blaue und grüne Leuchtdioden, die je nach Programmierung und unabhängig voneinander zu nahezu beliebigen Farb- und Helligkeitskombinationen geschaltet werden können (RGB-Prinzip).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bild 1 die grafischen Möglichkeiten einer Einzeltaste...
|
Bild 2 ...mit nahezu beliebigen Hinter-grundfarben
|
|
|
|
|
|
3. Hardware
Sie werden es nicht glauben, zur Ansteuerung des Displays einer Taste mit dem BASIC-Tiger® braucht man nur zwei Drähte. Gut - wenn man die Stromversorgung mitrechnet vier, sonst ist keinerlei Hardware nötig. Verbinden Sie einfach:
den Tastenanschluss 1 (GND) mit Masse der Tiger-Umgebung,
den Tastenanschluss 2 (+5V) mit der VCC der Tigerumgebung,
den Tastenanschluss 3 (CLK) mit L81 irgendeines Tigers (jede Variante ist geeignet) und
den Tastenanschluss 4 (DAT) mit L80 des Tigers.
Das war"s, auf so eine simple Ansteuerung eines Grafikdisplays haben die Tigerfans sicher schon lange gewartet!
4. Ein Kapitel Datenverarbeitung
Leider gestaltet sich die Software zur Ansteuerung des Displays nicht ganz so einfach wie dessen Verdrahtung. Deshalb hier zunächst ein paar Erklärungen.
Die Tasten SA6432 können auf zweierlei Weise angesteuert werden, einmal mit dem sogenannten Legacy Mode und zum anderen mit dem Advanced Technology Mode. Aus verschiedenen Gründen kommt für uns nur der letzterer in Frage. Er verwendet nur 8 Bit (der Legacy Mode braucht 12) und es ist kein permanenter Takt notwendig. Dies sowie die bei den neuen Tasten nicht mehr erforderlichen Paritätsbits erlauben eine wesentlich einfachere Ansteuerung. Die Ansteuerung erfolgt in jedem Falle seriell mit einem synchronen Takt. Unterschieden wird dabei zwischen Kommando- und Datenbytes, alle Bytes " auch die Datenbytes(!) " haben immer eine "0" an der Bitposition 7. Die Kommando-Bytes zeichnen sich dadurch aus, dass die Bitposition 6 immer auf "1" gesetzt ist, Datenbytes haben auch hier
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
immer eine "0". Es gibt nur 3 verschiedene Kommandos und 2 Datentypen, die für uns wichtig sind:
|
|
|
|
|
|
|
|
|
|
|
|
Erläuterungen:
1 Zu einem Colour-Kommando gehören 3 Bytes, erst das Kommando selbst, danach ein Daten-Byte für die Farbe und abschließend das Ende-Kommando (z.B. 41h 38h 43h)
2 Das Schreib-Kommando beginnt immer mit 40h, danach kommen 3 Bytes, die bestimmen, ab welcher Pixeladresse geschrieben werden soll (Standard ist 00h 00h 00h " das ist bei unserem Displaytyp die 17. Zeile in der rechten Spalte). Ab jetzt kommen die Pixeldaten selbst, jedes Byte enthält 4 Pixel im niederwertigen Nibble. Um ein Display zu füllen, brauchen wir 512 Bytes. Die Zählfolge der Pixel ist recht ungewöhnlich, wir werden später eine gewisse Ordnung in das System bringen. Anschließend kommt wieder ein Endkommando 43h
3 Wie wir schon wissen, wird jede Datenübertragung mit einem 43h abgeschlossen
4 Jede Farbe (Rot, Grün, Blau) kann über 2 Bit einzeln eingestellt werden. Damit sind 64 Farbkombinationen einschließlich weiß (!) möglich.
Nun kommen wir zum eigentlichen Problem " wie werden die Pixel gesetzt" Die Tasten haben bereits eine relativ lange Geschichte (sie werden vom Hersteller selbst als "The Third Evolution"" bezeichnet) und mussten deshalb immer weitgehend kompatibel zum jeweiligen Vorgänger gehalten werden. Da frühere Tasten weniger Pixel hatten (z.B. 32x16), ist die Ansteuerung für die SA6432 mit 64x32 Pixeln ein wenig umständlich geraten. Die Pixel-Adresse 000000h liegt in hier der 64. Spalte (ganz rechts) und in der 17. Zeile (in der Mitte des Displays). Wie Bild 3 zeigt, gehören 4 Pixel nach unten zu dieser Adresse. Danach folgen auf der nächsten Adresse wieder 4 Pixel usw. Nach 4 Byte (zu je 4 Pixeln) ist man unten angekommen und es geht in derselben Spalte ganz oben wieder los. Dadurch braucht man für eine Spalte genau 8 Byte. Dann kommt die nächste Spalte links daneben. Übrigens brauchen Sie sich um die Adressierung eigentlich keine Gedanken zu machen, da das Display selbst einen Adresszähler hat. Einmal die Anfangsadresse gesetzt, müssen Sie nur noch Bytes hinein schicken.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bild 3 Schema der Pixel-Adressierung
5. BASIC-Tiger®-Programme
Nun wird es ernst, der BASIC-Tiger® soll irgendein sinnvolles Bitmuster in das Display schreiben. Da die Daten synchron und seriell übertragen werden müssen, bietet sich der Befehl SHIFT_OUT an. Pin L80 liefert dabei die Daten, Pin L81 dazu den synchronen Takt. Da SHIFT_OUT auch Strings transportieren kann, lassen sich 512 Bytes als Hex-String auf einfachste Weise übergeben. Eine Besonderheit ist dabei, dass das Display für jedes Byte zuerst das höchste Bit haben möchte, was bei SHIFT_OUT durch den Parameter (Anzahl "8) realisiert werden kann. Mit SHIFT_OUT 8, 0, 1, C1$, -8 wird also der gesamte Bildinhalt (512 Bytes) ohne Probleme übergeben. Das wäre schon alles, bloß " wie kommt man zu einem solchen String" Ein wenig hilft hier die Software "DemoBoard.exe", die die Firma E3 für ihr Demoboard mitliefert. Wenn Sie die auf Ihrem PC installieren, haben Sie ein Werkzeug, mit dem Pixelgrafiken in einen passenden Hex-Datensatz umgeformt werden können.
Nehmen wir also zum Beispiel das zum Programm mitgelieferten Firmenlogo von E3 (Bild 4):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bild 4 Die Bitmap [E3] logo3.bmp, das Firmenlogo von E3
Wählen Sie im Programm DemoBoard.exe diese Bitmap aus, wird ein Datensatz erzeugt und angezeigt (er wird sogar seriell mit 38400 Baud ausgegeben, vielleicht ein Ansatz, diese Daten direkt in eine BASIC-Tiger®-Applikation zu laden!). Wenn Sie diesen Datensatz am PC über die Zwischenablage kopieren und dann in Ihr BASIC-Tiger®-Programm übernehmen, können Sie ihn (leider erst mal nur von Hand!) in die Tigerschreibweise umformen. Dann wird aus dem Firmenlogo von E3 (Bild 4) also zunächst im DemoBoard.exe:
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ;* -0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ;* -0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ;* -
0x0F 0x0F 0x07 0x00 0x00 0x0E 0x0F 0x0F ;* - ###################### 0x0F 0x0F 0x07 0x00 0x00 0x0E 0x0F 0x0F ;* - ###################### 0x0F 0x0F 0x07 0x00 0x00 0x0E 0x0F 0x0F ;* - ###################### 0x00 0x00 0x07 0x00 0x00 0x0E 0x00 0x00 ;* - ######
0x00 0x00 0x07 0x00 0x00 0x0E 0x00 0x00 ;* - ######
und später durch fleißige Handarbeit im BASIC-Tigerprogramm:
00 00 00 00 00 00 00 00&';* -
00 00 00 00 00 00 00 00&';* -
00 00 00 00 00 00 00 00&';* -
0F 0F 07 00 00 0E 0F 0F&';* - ######################
0F 0F 07 00 00 0E 0F 0F&';* - ######################
0F 0F 07 00 00 0E 0F 0F&';* - ######################
00 00 07 00 00 0E 00 00&';* - ######
00 00 07 00 00 0E 00 00&';* - ######
Fertig ist das gewünschte Bitmap. Mit einem Grafikprogramm können Sie sich nun selbst Bitmaps mit 64x32 Pixeln erzeugen. Achten Sie darauf, dass es BMP-Dateien mit nur zwei Farben sein müssen. Wenn die Grafik fertig gezeichnet ist, laden Sie die BMP-Datei in DemoBoard.exe ein, kopieren den generierten Datensatz in Ihr BASIC-Tiger®-Programm und formen es dann wie gezeigt um. Wie im Programm KEY01.TIG demonstriert, können Sie nun verschiedene Grafiken mit verschiedenen Hintergrundfarben darstellen. Sogar bewegliche Bilder (kleine Sequenzen, Laufschriften usw.) sind problemlos zu programmieren. Da es sich eigentlich um Tasten handelt, können Sie natürlich deren Funktionalität auch nutzen. Da können auf Knopfdruck Pictogramme, Texte, Balken (z.B. Aussteuerungsmesser) und sogar Oszillogramme erscheinen. Steigen Sie ein " der Autor ist auf Ihre originellen Ideen gespannt!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
Anzeige: |
|
|
|
|
|
|
TINY-Tiger™ Multitasking Computer |
 |
|
Kompakter Multitasking Computer der BASIC-Tiger™ Familie, 36 universal I/O, bis zu 2.5 MByte FLASH & SRAM |
|
weiter... |
|
|
|
|
|
|
|
|
|
Sponsored by: |
|
|
|
|
|
Wilke Technology GmbH
Krefelder Straße 147
D-52070 Aachen
Tel.: +49 (241) 918 900
Fax.: +49 (241) 918 9044
Web: www.wilke.de
E-Mail: info@wilke.de
Kordoni Marketing und Multimedia-Verlag
Krefelder Straße 147
D-52070 Aachen
Tel.:+49 (241) 918 900
Fax.: +49 (241) 9189044
Web: www.kordoni.de
E-Mail: info@kordoni.de
|
|
|
|
|
|