Überarbeitetes LCD Board (LCDB)

Überarbeitetes LCD Board (LCDB)
Inhalt:
Seite
0. Übersicht
1. Die 7-Segment Anzeige
1
2
1.1 Zahlendarstellung
1.2 Dezimalpunktansteuerung
2. Die LCD-Anzeige
3
2.1 Neuerungen
2.2 Daten und Steuersignale
2.3 Der Befehl 'Display Clear'
2.4 Der Befehl 'Neue Cursorposition'
2.5 Ziffern und Zahlen
ANHANG:
4
A1. Pins der 7-Segment Daten
A2. Pins der 7-Segment Daten
A3. Pins der LCD-Daten
A4. LCD-ASCII-Code-Tabelle
A5. Dateneingangsregister in der LCD-Firmware
5
----------------------------------------------------------------------------------------------------------------------------------------
0. Übersicht
Bild 1: Übersicht
Das überarbeitete LCD Board besteht aus einer 2 zeiligen LCD-Anzeige für den Betrieb auf der
rechten Seite und einer 4-stelligen 7-Segmentanzeige, die auf der linken und auf der rechten Seite
betrieben werden kann. Durch den Einbau eines DC/DC-Converters läuft das Board mit 3,3 V
Spannungsversorgung und kann damit auch am ZED-Board betrieben werden. Es kann auf den
Systemen ModSys Coolrunner, ModSys SPARTAN3 (LCD rechts und links unten , 7-Segment-Display
nur rechts ), ML507 und ZED-Board betrieben werden.
1
1. Die 7-Segment Anzeige
1.1 Zahlendarstellung
Es gibt nur einen Modus: vier 4-Bit Hex-Zahlen werden direkt ohne Speicherung dargestellt.
D_LED <15..12>
<11..8>
<7..4>
<3..0>
RHS
Bild 1: Signale für die Zahlendarstellung
D_LED:
4 Halbbytes bilden 4 hexadezimale Zahlen, die im CPLD auf dem Board zur
7-Segment-Ansteuerung umkodiert und sequentiell auf 4 Stellen verteilt werden.
RHS:
Das Signal RHS (Right Hand Side) schaltet die 7-Segment-Anzeige zwischen linksund rechtsseitigem Betrieb um. RHS <= '1' ; für Board auf der rechten Seite.
Eine Pinliste findet man im Anhang A1
1.2 Dezimalpunktansteuerung
Die Daten für die Dezimalpunkte wurden von den 8-Bit Daten der LCD-Anzeige 'ausgeliehen'.
Der LCD-Zeichenbereich für D_LCD(15..0) = “1011 zyxw“ stellt bei uns nicht verwendete japanische Zeichen
dar, und wurde für die Dezimalpunkte umgeleitet.
DP3
DP2
DP1
DP0
D_LCD < 7
6
5
4
3
2
1
0
>
Bild 2 Signale für die Dezimalpunktdarstellung
D_LCD<7..4> = 1011 und
D_LCD<3..0>
D_LCD<3..0>
D_LCD<3..0>
D_LCD<3..0>
=
=
=
=
1000
0100
0010
0001
RHS = '1'
leuchtet DP0 ,
leuchtet DP1 ,
leuchtet DP2 ,
leuchtet DP3 ,
bei RHS '0'
DP3
DP2
DP1
DP0
Latchverhalten: Während des Freigabewertes an D_LCD<7..4> = 1011 werden die Dezimalpunkte
durchgeschaltet, bei Wegnahme werden diese gespeichert.
Eine Pinliste findet man im Anhang A2.
Achtung:
Bei der Umschaltung von Rechts- auf Linksbetrieb muss man die Position des Dezimalpunktes ändern.
2
2. Die LCD-Anzeige
2.1 Neuerungen
Folgende Änderungen wurden realisiert:
Das Modul läuft jetzt mit 3,3 V, daher auch am ZED-Board.
Die Jumper bei den ModSys-Adaptern entfallen jetzt, da durch
Reduzierung der Pins das normale 32-Bit Anschlußschema erhalten
bleibt.
Die LCD-Anzeige ist um 180° gedreht für rechsseitigen Anschluß.
Das Board bewerkstelligt die Initialisierung und eine Textausgabe
nach einem positven Reset.
2.2 Daten und Steuersignale
Bezeichnung
in der Pinliste
D_LCD<7..0>
VD
RS
BUSY
Funktion
Bezeichnung
im Datenblatt |¹
Daten zum Board Befehl/Zeichen
Valid Data Datenübergabesignal
Steuersignal Befehl=0/Zeichen=1
Signal vom Board keine Datenempfang wenn 1
D0 bis D7
E
RS
BUSY
|¹ Datenblatt von „Electronic Assembly“ EA DIP162-D
D_LCD : Der 8-Bit Datenvektor enthält die Zeichendaten im ASCII-Format oder
Befehlsdaten für die Displaysteuerung.
VD:
Signal 'Valid Data' mit der fallenden Flanke werden die Daten D_LCD
in das Eingangsregister übernommen.
RS:
BUSY:
Gibt an, ob es sich um eine Anweisung (= '0') oder um eine Zeichenausgabe
handelt ( = '1').
Signal =1 gibt an, daß die LCD beschäftigt ist und keine Daten aufnehmen
kann (Länge ca. 1,5 ms).
Anstatt auf das BUSY-Signal zu warten sendet man die Daten in einem Ausgabetakt von
ca. 250 Hz ( Periode 4 ms) oder weniger.
Darzustellende Buchstaben und Zahlenwerte im ASCII-Format übergeben.
Eine Pinliste findet man im Anhang A3.
Eine Zeichentabelle findet sich im Anhang unter A4.
Nach der Übergabe eines Zeichens geht die Cursorposition von selbst eine
Position weiter nach rechts. Wenn jedoch die Zeile zu Ende ist muß man
als Befehl die nächste Zeile anfordern, sonst werden die Zeichen in einen
Speicherbereich weitergeschrieben, der nicht auf dem Display erscheint.
2.3 Der Befehl 'Display Clear'
RS → 0
D_LCD <7 .. 0>
bei
VD
fallende Flanke:
0000 0001
Display Clear
2.4 Der Befehl 'neue Cursorposition'
RS → 0
D_LCD <7 .. 0>
bei
VD
fallende Flanke:
1000 0000
andere Positionen z.B:
1000 1000
1000 1111
1100 0000
1100 1000
1100 1111
1. Zeile
1. Zeile
1. Zeile
2. Zeile
2. Zeile
1. Zeile
1. Position
8. Position
letzte Position
1. Position
8. Position
letzte Position
2.5 Ziffern und Zahlen
RS → 1
D_LCD <7 .. 0>
bei
VD
fallende Flanke:
ASCII-Zeichen 8-Bit
Ziffer 0 bis 9
Buchstabe A bis Z (groß)
Buchstabe A bis Z (klein)
=
=
=
30… bis 39 hex
41 bis 5A hex
61 bis 7A hex
3
ANHANG:
A1. Pins der 7-Segment Daten:
Pinbelegung für verschiedene Boards:
Tabelle 1: Pins der vier 4-Bit-Hex-Zahlen und RHS rechts-links Betrieb
A2. Pins der 7-Segment Daten:
Tabelle 2: Pins für die Dezimalpunkte
A3. Pins der LCD-Daten:
Tabelle 3: Pins für die LCD
4
A4. LCD-ASCII-Code-Tabelle:
Bild 4: Zeichensatz der LCD
A5. Dateneingangsregister in der LCD-Firmware
Bild 3: Eingangsauffangregister
5