Ü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
© Copyright 2025 ExpyDoc