014137-D Laufschrift
Transcription
014137-D Laufschrift
COMPUTER Punktmatrixanzeige für PCs Ein kleines Benutzerinterface Von Bernd Oehlerking und Peter Cohrs Wenn ein PC ausschließlich für eine Spezialaufgabe eingesetzt wird, reichen als „Benutzerinterface“ oft ein paar Tasten und ein kleines alphanumerisches Display aus. Immer häufiger werden PCs oder PC-Boards für Aufgaben eingesetzt, die nicht zum klassischen Einsatzgebiet als Desktop-Rechner zählen, so zum Beispiel als WohnzimmerMP3-Player oder in industriellen Steuerungen. In allen diesen Anwendungen gibt es nur vergleichsweise geringe Anforderungen an die HIDs (Human Interface Devices). Ein paar Tasten und einige Leuchtdioden reichen oft aus, um den Zustand solcher Systeme anzuzeigen und zu beeinflussen, und +5V +5V R4 10k LD1 1 12 WR +5V 4 BL selbst gängige CRTs oder LCDPanels sind oft überdimensioniert und fast immer zu teuer. Als Alternative bieten sich kleine alphanumerische Displays an. Sie sind platzsparend, kostengünstig 13 LD2 14 CLR 1 12 WR 4 BL 13 14 CLR T1 R1 K1 TXD 9 1 7 8 9 IC2 3 8 4 5 6 10 11 12 13 1 R 2 74LS164 9 3 SLY2016 IC3 8 1D & 1 C1/ & 2 3 4 5 6 10 11 12 13 SRG8 C1/ 1D 10 11 A0 6 A1 5 SLY2016 SRG8 C1/ R 3 D6 10 11 12 13 2 D5 6 D3 5 D4 4 SRG8 D2 3 IC1 10 11 D1 9 D0 8 A0 7 A1 D3 D4 6 D6 D2 5 D5 D1 BC547 D0 33k R 2 74LS164 9 8 1D & 1 2 74LS164 6 2 7 3 RTS (CLOCK) 8 4 9 DTR (DATA) R2 1k IC4 +5V R3 1k D1 5 D2 GND 4V7 +5V +8V...15V 14 14 14 IC1 IC2 IC3 7 7 7 4V7 +5V 7805 C1 C2 C3 470µ 100n 100n 014137 - 11 Bild 1. Die Ansteuerelektronik für eine Laufschrift besteht aus drei Schieberegistern. 34 Elektor 11/2001 COMPUTER 0 1 0 0 0 0 1 "B" POS 0 0 0 1 1 0 0 0 0 1 "C" POS 1 A2 POS 0 A1 POS 1 D6 D4 D3 POS 2 D2 D1 POS 3 D0 A2 POS 0 A1 D6 POS 1 D5 D4 D3 POS 2 D2 D1 D0 POS 3 Display 1 D5 Display 2 0 1 014137 - 14 Bild 2. Prinzip der Displayansteuerung. und können überall eingesetzt werden. Sie sind ideal für Anwendungen wie: – Parameter-Einstellung im Embedded-Bereich. – Ausgabe von PC-Betriebsdaten (Taktfrequenz, Temperatur, CPU- Last) bei laufenden Systemen mit ausgeschaltetem Monitor – Datenausgabe (Messwerte, Zählerstände, Datum/Zeit, Weckfunktionen) Die Ansteuerung wird von einem gängigen Entwicklungstool (Visual Bild 3. Schnittstelleneinstellung im Startmodul Basic) durchgeführt, der Aufwand zum Anschluss an den PC ist gering. Die Punktmatrix-Anzeige wird an der seriellen COMSchnittstelle angeschlossen. Ein Eingriff in den PC ist nicht erforderlich, es sei denn, man baut die Anzeige in eine Kunststoff-Frontblende ein. Die Hardware Die Informationen werden in ein oder zwei vierstelligen 7x5-Matrixdisplays (SLx2016 von Siemens), also acht Digits dargestellt. Die Bausteine sind horizontal und vertikal anreihbar. Um auch mit wenigen Zeichen sinnvoll Text darzustellen, kann die Anzeige auch als Laufschrift in verschiedenen Geschwindigkeiten programmiert werden (wie in dieser Applikation geschehen). Der SLx2016 ist in vier verschiedenen Farben erhältlich. Technische Daten und weitere interessante Hinweise sind im Kasten zu finden. In Bild 1 ist die Hardware der (hier als Laufschrift realisierten) Anzeige zu sehen. Die Spannungsversorgung erfolgt über einen 7805-Regler, alle Bausteine sollten mit Kondensatoren (0,1 µF) gepuffert sein. Im Bild ist die Schaltung für zwei Displays, also acht Zeichen ausgelegt. Die Displays sind in den Farben Rot, Superrot, Grün und Bernstein erhältlich und sind auch in helleren Umgebungen aus zwei Metern und von der Seite gut zu erkennen. Das Display SLx2016 verfügt über einen internen Zeichengenerator, zwei Adressleitungen für die Zeichenposition und eine Leitung, die das ausgewählte Zeichen zur Anzeige bringt. Liegt an den Datenleitungen D0...D6 eine Bitkombination 0...127 an, so wird dadurch ein Zeichen aus einem speziellen internen ASCIIZeichensatz ausgewählt. Der Zustand der Leitungen A1...A0 bestimmt, an welcher der vier möglichen Positionen das Zeichen erscheinen soll. Ein kurzer Impuls an der Schreibleitung WR sorgt dafür, dass das Zeichen im Display erscheint. Es bleibt dort so lange stehen, bis es überschrieben wird. Die Laufschriftsteuerung erfolgt über die serielle Schnittstelle des PCs. Zwei Schieberegister 74LS164 mit seriellem Eingang setzen die Daten in parallele Form um. Für zwei vierstellige Anzeigen werden drei Schieberegister benötigt. Die Steuerinformationen für die Displays werden Bit für Bit seriell in die Schieberegister getaktet. Ein Beispiel Bild 4. Modul zum Test der Schnittstelle 11/2001 Elektor Es soll ein großes B als 5. Buchstabe von rechts wie in Bild 2 auf der Anzeige erscheinen, ein schon vorhandenes C an zweiter Stelle unverändert bleiben. Das C steht also 35 COMPUTER an Position 1 des Displays 1, das B an Position 0 des Displays 2. Die Schieberegister müssen mit der unten angezeigten Bitkombination geladen werden. Dazu wird eine in die Schieberegisterkette zu schiebende 1 als Highpotential an die Dataleitung (DTR) gelegt. Mit einem High/Low- Signal an RTS (Clock) wird ein Takt erzeugt, und die 1 wandert um eine Stelle in den Schieberegistern weiter. Nach 2⋅7 und 2⋅2, also insgesamt 18 Taktimpulsen, steht die gesamte Information für je ein Zeichen pro Display in den Schieberegistern. Jetzt erfolgt nur noch ein kurzer Low-Impuls an der WR-Leitung (TxD) und beide Zeichen werden in die Displays übernommen. Die Software Die Software wurde unter Visual Basic 5.0 geschrieben, sie läuft auch unter VB 6.0. Sie wurde unter den Betriebssystemen WIN98 und NT 4.0 getestet. Es wurden 4 Module vorgesehen: Punktmatrixanzeige SLx2016 Der SLR/SLO/SLG/SLY2016 ist eine 4-Digit Punktmatrixanzeige mit integrierter CMOS-Schaltung. Es ist in vertikaler und horizontaler Richtung anreihbar, enthält einen ASCII-Decoder mit 128 Zeichen, einen Multiplexer und Treiber zur Ansteuerung der LEDs. Die einzelnen Stellen sind von rechts nach links mit Digit 0...3 bezeichnet. Der Baustein verfügt über 14 Anschlüsse. Jedes Digit kann einzeln adressiert werden und behält seinen Inhalt, bis es erneut beschrieben wird. Die Ansteuerung erfolgt asynchron und ermöglicht so die Verwendung in langsamen wie auch in schnellen Systemen. Dazu werden Adresse und Daten an die entsprechenden Anschlüsse gelegt und mit einem Low-Impuls auf der WR-Leitung übernommen. Mehrere Bausteine können zu größeren Displays kombiniert werden. Die Datenleitungen der Bausteine werden dabei ebenso wie die WR-Leitung parallel geschaltet - die Adressleitungen werden dekodiert. So verschaltet verhält sich ein Display wie ein Speicherbaustein, der allerdings nicht gelesen werden kann. Über die CLR-Leitung kann der Inhalt gelöscht werden. Die BL(Blank)-Leitung verhindert die Anzeige der Daten, so dass auch verdeckt geschrieben werden kann. Von diesen beiden Funktionen wurde allerdings in unserer Applikation kein Gebrauch gemacht. Der Zeichensatz enthält Sonderzeichen für Englisch, Deutsch, Italienisch, Schwedisch, Norwegisch und Dänisch, die Displays sind in den Farben Rot, Superrot, Grün und Gelb erhältlich. 2V0 A0 - A1 CLR 0V8 TAS – eine Startform, – eine Form zum Testen der eingestellten Schnittstelle, – eine Form zum Laden und Starten der Laufschrift sowie – eine Form, über die einzelne Zeichen an die Hardware gesendet werden können. TAH 2V0 D0 - D1 TDS 0V8 TDW 2V0 WR 0V8 TW TACC 36 014137 - 13 Die Eckdaten: – Versorgungsspannung: – Eingangsspannung auf Masse bezogen (alle Eingänge) – Temperaturbereich (Lagerung): Optische Eigenschaften : – Rot R – Rot O (hohe Intensität) – Grün S – Gelb Y Pinbelegung: 5,00 7,62 10,16 0,3 3,81 19,91 Part Number EIA Date Code SLX2016 SIEMENS Luminous Intensity Code Z XXYY Package Dimensions in mm 4,06 WR Write A1 Digit Select A0 Digit Select VCC D0 Data D1 Data D2 Data D3 Data D4 Data D5 Data D6 Data BL Display Blank CLR Clear GND 2,54 4,57 1 2 3 4 5 6 7 8 9 10 11 12 13 14 –0,5...+7,0 V –0,5... Vcc + 0,5 V –40...+85 °C 660 nm typ 635 nm typ 565 nm typ 585 nm typ 5,08 Das Startmodul in Bild 3 legt die Eigenschaften der seriellen Schnittstelle (Comm1...Comm4 ) fest. Die Einstellungen (Settings) der Schnittstelle können durch Save this connection unter c:\commport.txt gespeichert werden. Beim nächsten Programmstart wird die so gewählte serielle Schnittstelle mit ihren Einstellungen automatisch geöffnet Natürlich kann jederzeit eine Änderung der aktuellen Werte vorgenommen und auch wieder gespeichert werden. Dieses Modul kann nicht nur für diese spezielle Anwendung verwendet werden, sondern ist (mit Änderungen im Menüteil) für alle Anwendungen zum Öffnen einer seriellen Schnittstelle brauchbar. Von der Startform lässt sich unter dem Menüpunkt Comtest die Schnittstelle testen (Bild 4). Dieses Modul zeigt die in der Startform eingestellten Werte der Schnittstelle an und lässt Tests der Leitungen RTS, DTR und TxD zu. Dieses Modul benötigt das Basicmodul mod_testcomm.bas zur korrekten Arbeitsweise. Vom Startmodul aus wird unter Menüpunkt Displaytest (Bild 5) ein Testmodul angezeigt, das das direkte Senden eines Zeichens an die Displays erlaubt. Damit lässt sich prüfen, ob die entsprechenden Zeichen auch tatsächlich 0,46 2,54 14 13 Digit 3 1 12 11 Digit 2 2 Elektor 3 10 9 Digit 1 4 5 8 Digit 0 6 7 014137 - 12 11/2001 COMPUTER Bild 5. Modul zum Test der Displayansteuerung an den vorgesehenen Positionen im Display angekommen. Bei der Einstellung Binary können Zahlen bis 127 eingegeben werden. Auf dem Display sollten dann die korrespon- dierenden ASCII-Zeichen des Zeichensatzes, beziehungsweise die Sonderzeichen des Siemens-Displays erscheinen. Neben dem Basicmodul mod_testcomm.bas wird auch das Modul displ2.bas benötigt. Der Menüpunkt Display schließlich öffnet das eigentliche Fenster zur Laufschrifterzeugung (Bild 6). Das Fenster enthält links oben eine kleine Textbox, rechts eine große Textbox und links unten eine Listbox. Alles, was in der großen Textbox zu sehen ist, wird auch an das Display gesendet. Das kleine Textelement nimmt kleine Texte auf. Im Listenfeld darunter können einzelne Elemente angeordnet werden und über den Button Set in das große Textelement übernommen werden. Die Checkboxen auf der linken Seite sind als Array ausgeführt, so dass eine Erweiterung für Standardmeldungen oder ähnliches im Sourcecode leicht möglich sein sollte. Im rechten Teil der Display-Form sind mehrere Buttons angeordnet, die hier folgende Funktionen besitzen: – Laden und Speichern auch größerer Texte – Aufnahme und Abspeichern von Programmen in einer weiteren Listbox – Starten eines ausgewählten Programms (zum Beispiel, um daraus Informationen zu entnehmen, um diese dann in der Textbox abzulegen). – Einstellen der Laufgeschwindigkeit mit einer Verzögerung – Speichern und Laden dieser zuletzt eingestellten Werte. – und letztlich das Starten und Stoppen der Laufschrift. Zum Schluss noch einige Anmerkungen zum Preis einer Siemens-Anzeige. Mit 30 DM pro Display (also vier Zeichen) scheint die Anzeige relativ teuer. Punktmatrixanzeigen mit vergleichbaren Abmessungen kosten pro Zeichen um 3 DM, bei vier Zeichen also 12 DM. Dazu kommt ein nicht unerheblicher Aufwand für die Ansteuerelektronik, die ja im Siemens-Display schon integriert ist. Rechnet man die Kosten zusammen, dürfte man mit diskreten Anzeigeelementen nicht billiger als mit „intelligenten“ Anzeigen wegkommen. Bild 6. Das eigentliche Laufschriftfenster (014137)rg www.elektor.de Die Website für alle Elektronik-Profis und Hobbyisten, die sich aktiv mit Elektronik und Computertechnik beschäftigen 11/2001 Elektor 37