* 3 VERSCHIEDENE INTERFACE ONBOARD: RS-232, I²C-BUS ODER SPI-BUS
* 172x72 ODER 72X172 PIXEL GEDREHT EINBAUBAR
* 8 EINGEBAUTE FONTS
* FONT ZOOM VON ca. 2mm BIS ZU ca. 20mm, auch um 90° GEDREHT
* VERSORGUNG 3,0V/3,3V 0,2µA...16mA
* POWER-DOWN-MODE 0,2 µA, MIT WAKEUP PER INTERFACE
* PIXELGENAUE POSITIONIERUNG BEI ALLEN FUNKTIONEN
* GERADE, PUNKT, BEREICH, RAHMEN, CLIPBOARD
* BIS ZU 256 BILDER INTERN SPEICHERBAR
* BIS ZU 256 MAKROS PROGRAMMIERBAR (64kB EEPROM ONBOARD)
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Page 3
EA eLABEL20-A
Pinout eLABEL20-A: RS-232/RS-485 mode
Pin Symbol In/Out Function
1GNDGround Potential for logic (0V)
2VDDPower supply for logic (+3,0V..3,3V)
3NCdo not connect
4NCdo not connect
5 RESETIn L: Reset
6 BAUD0In Baud Rate 0
7 BAUD1In Baud Rate 1
8 BAUD2In Baud Rate 2
9 ADR0In Address 0 for RS-485
10 RxDIn Receive Data
11TxDOut Transmit Data
12 EN485 Out Transmit Enable for RS-485 driver
13 DPOMIn L: (Power-On) disable Power-On-Macro
14 ADR1In Address 1 for RS-485
15 ADR2In Address 2 for RS-485
16 BUZZOut H: Buzzer output (L: Buzzer off)
17 DPROTIn
L: Disable Smallprotokoll
do not connect for normal operation
18 PWROut
L: Normal Operation
H: Powerdownmode
19NCdo not connect
20
TEST
SBUFINOut
open-drain with internal pullup 20k..50k
IN (Power-On) L: Testmode
OUT L: data in sendbuffer
ALLGEMEINES
EA eLABEL20-A ist ein ePAPER mit integrierter Intelligenz
! Die simple Verwendung dieses Displays verkürzt die
Entwicklungszeit drastisch. Neben diversen eingebauten
Schriften welche pixelgenau verwendet werden können,
bietet es zudem eine ganze Reihe ausgefeilter
Grafikfunktionen.
Pinout J2: RS-232
Pin Symbol In/Out Function
1GNDGround Potential for logic (0V)
2VDDPower supply for logic (+3,0V..3,3V)
3RxDInReceive Data
4TxDOut Transmit Data
Die Programmierung dieses Displays erfolgt über Befehle wie z.B.
(64,15)
. Es ist keine zusätzliche Software oder Treiber erforderlich. Zeichenketten lassen sich pixelgenau
platzieren. Das Mischen von Text und Grafik ist jederzeit möglich. Es können bis zu 16 verschiedene
Zeichensätze verwendet werden. Jeder Zeichensatz kann wiederum 2- bis 4-fach gezoomt werden. Mit dem
größten Zeichensatz lassen sich somit bildschirmfüllende Worte und Zahlen darstellen.
Das Display ist mit 3,0V...3,3V sofort betriebsbereit. Die
Ansteuerung erfolgt über eine der 3 eingebauten Schnittstellen
RS-232, SPI oder I²C.
RS-232 INTERFACE
Wird das Display wie unten gezeigt beschaltet, so ist das
RS-232 Interface ausgewählt. Die Pinbelegung ist in der
Tabelle rechts bzw. oben angegeben. Die Leitungen RxD und
TxD führen CMOS-Pegel (VDD) zur direkten Anbindung an
z.B. einen Mikrokontroller.
BAUDRATEN
Die Baudrate wird über die Pins 6, 7 und 8 (Baud0..2)
eingestellt. Das Datenformat ist fest eingestellt auf 8 Datenbits,
1 Stopbit, keine Parität.
Handshakeleitungen RTS/CTS sind nicht erforderlich. Die
notwendige Steuerung wird von dem eingebauten SoftwareProtokoll übernommen.
Adressierung:
- Bis zu acht Hardware-Adressen (0..7) per Pins ADR0..ADR2 einstellbar
- Das eLABEL mit Adresse 7 ist nach PowerOn selektiert und Empfangsbereit
- Die eLABEL mit Adresse 0..6 sind nach PowerOn deselektiert
- Bis zu 246 weitere Software-Adressen per Befehl '#KA adr' im PowerOnMakro
einstellbar (eLABEL extern auf Adresse 0 setzen)
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Applikationsbeispiel
Zeichne ein Rechteck von (0,0) nach
Baudraten
Baud0 Baud1 Baud2
000
100
010
110
001
111
011
101
Hinweis:
Die Pins BAUD0..2, ADR0..2, WUP und TEST/SBUF
haben einen internen Pull-UP, deshalb ist nur der LOPegel (0=GND) aktiv anzulegen. Für Hi-Pegel sind diese
Pins offen zu lassen.
Für RS232 Betrieb (ohne Adressierung) sind die Pins
ADR0..ADR2 offen zu lassen.
Am Pin 20 (SBUF) zeigt das Display mit einem low-Pegel,
dass im internen Sendepuffer Daten zur Abholung bereit
stehen. Diese Leitung kann z.B. mit einem
Interrupteingang des Host Systems verbunden werden.
Datenformat
8,N,1
1200
2400
4800
9600
19200
38400
57600 (Turbo)
115200 (Turbo)
Seite 3
Page 4
EA eLABEL20-A
Pinout eLABEL20-A: SPI mode
Pin Symbol In/Out Function
1GNDGround Potential for logic (0V)
2VDDPower supply for logic (+3,0V..3,3V)
3NCdo not connect
4NCdo not connect
5 RESETIn L: Reset
6SSIn Slave Select
7 MOSIIn Serial In
8 MISOOut Serial Out
9CLKIn Shift Clock (38kHz / 100kHz see Pin 12)
10 DORDIn Data Order (0=MSB first; 1=LSB first)
11 SPIMOD In connect to GND for SPI interface
12 TURBOIn L: CLK max.100kHz; H: CLK max.38kHz
13 DPOMIn L: (Power-On) disable Power-On-Macro
14 CPOLIn Clock Polarity (0=LO 1=HI when idle)
15 CPHAIn Clock Phase sample 0=1st;1=2nd edge
16 BUZZOut H: Buzzer output (L: Buzzer off)
17 DPROTIn
L: Disable Smallprotokoll
do not connect for normal operation
18 PWROut
L: Normal Operation
H: Powerdownmode
19NCdo not connect
20
TEST
SBUFINOut
open-drain with internal pullup 20k..50k
IN (Power-On) L: Testmode
OUT L: data in sendbuffer
SPI INTERFACE
Wird das Display wie unten gezeigt beschaltet, ist der SPI-Mode
aktiviert. Die Datenübertragung erfolgt dann über die serielle
synchrone SPI-Schnittstelle.
Mit den Pins DORD, CPOL, CPHA werden die
Hardwarebedingungen an den Master angepasst.
Hinweis:
Die Pins DORD, CPOL, CPHA, WUP und TEST/SBUF haben einen internen Pull-UP, deshalb ist nur der LO-Pegel (0=GND)
aktiv anzulegen. Für Hi-Pegel sind diese Pins offen zu lassen.
Am Pin 20 (SBUF) zeigt das Display mit einem low-Pegel, dass im internen Sendepuffer Daten zur Abholung bereit stehen.
Diese Leitung kann z.B. mit einem Interrupteingang des Host Systems verbunden werden.
DATENÜBERTRAGUNG SPI
Eine Datenübertragung zum eLABEL ist im
Normalbetrieb bis zu 38 kHz erlaubt. Ist der
Turbomode aktiviert (PIN 12 auf LO) dann sind bis zu
100 kHz Nonstop möglich.
Um Daten vom eLABEL zu Lesen (z.B. das ACK-Byte)
muss ein Dummy-Byte (z.B. 0xFF) gesendet werden.
Das eLABEL benötigt eine bestimmte Zeit um die
Daten bereit zu stellen; deshalb muss vor jedem zu
lesenden Byte zusätzlich mindestens 80µs
(Normalbetrieb) oder 10µs (Turbomode) gewartet
werden (keine Aktivität auf der CLK Leitung).
Seite 4
Applikationsbeispiel
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Page 5
EA eLABEL20-A
I²C-BUS INTERFACE
Eine Beschaltung des Displays wie unten ermöglicht den
direkten Betrieb an einem I²C-Bus.
Am Display kann zwischen 8 unterschiedlichen Basisadressen
und 8 verschiedenen Slave-Adressen ausgewählt werden.
Eine Datenübertragung ist im Normalbetrieb bis zu 38 kHz
erlaubt. Ist der Turbomode aktiviert (PIN 10 auf LO) dann sind
bis zu 100 kHz möglich.
Pinout eLABEL20-A: I2C mode
Pin Symbol In/Out Function
1GNDGround Potential for logic (0V)
2VDDPower supply for logic (+3,0V..3,3V)
3NCdo not connect
4NCdo not connect
5 RESETIn L: Reset
6BA0In Basic Address 0
7BA1In Basic Address 1
8SA0In Slave Address 0
9SA1In Slave Address 1
10 TURBOIn L: SCL max.100kHz; H: SCL max.38kHz
11NCdo not connect
12 I2CMOD In connect to GND for I²C interface
13 DPOMIn L: (Power-On) disable Power-On-Macro
14 SDABidir. Serial Data
15 SCLIn Serial Clock (38kHz / 100kHz see Pin 10)
16 BUZZOut H: Buzzer output (L: Buzzer off)
17 DPROTIn
18 PWROut
19NCdo not connect
TEST
20
SBUFINOut
L: Disable Smallprotokoll
do not connect for normal operation
L: Normal Operation
H: Powerdownmode
open-drain with internal pullup 20k..50k
IN (Power-On) L: Testmode
OUT L: data in sendbuffer
Hinweis:
Die Pins BA0..1, SA0..1, WUP, DPROT und TEST/SBUF haben einen internen Pull-Up, deshalb ist nur der LO-Pegel (0=GND)
aktiv anzulegen. Für Hi-Pegel sind diese Pins offen zu lassen.
Am Pin 20 (SBUF) zeigt das Display mit einem LO-Pegel, dass im internen Sendepuffer Daten zur Abholung bereit stehen.
Diese Leitung kann z.B. mit einem Interrupteingang des Host Systems verbunden werden.
Das eLABEL benötigt eine bestimmte Zeit um
die Daten bereit zu stellen; deshalb muss vor
jedem zu lesenden Byte zusätzlich
mindestens 80µs (Normalbetrieb) oder 10µs
(Turbomode) gewartet werden (keine Aktivität
auf der SCL Leitung).
R
W
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Applikationsbeispiel
Seite 5
Page 6
EA eLABEL20-A
DATENÜBERTRAGUNGSPROTOKOLL (SMALL PROTOKOLL)
Das Protokoll ist für alle 3 Schnittstellenarten RS-232, SPI und I²C identisch aufgebaut. Die Datenübertragung
ist jeweils eingebettet in einen festen Rahmen mit Prüfsumme „bcc“. Das eLABELquittiert dieses Paket mit
dem Zeichen <ACK> (=$06) bei erfolgreichem Empfang oder <NAK> (=$15) bei fehlerhafter Prüfsumme oder
Empfangspufferüberlauf. In jedem Fall wird bei <NAK> das komplette Paket verworfen und muss erneut
gesendet werden.
Ein <ACK> bestätigt lediglich die korrekte Übertragung. Ein Syntax-Check erfolgt nicht.
Hinweis: <ACK> muss eingelesen werden.
Empfängt der Hostrechner keine Quittierung, so ist mindestens ein Byte
verloren gegangen. In diesem Fall muss die eingestellte Timeoutzeit
abgewartet werden, bevor das Paket komplett wiederholt wird.
Die Anzahl (len) der Rohdaten pro Paket kann max. 255 Byte betragen.
Befehle die grösser als 255 Byte sind (z.B. Bild laden ESC UL ...) müssen
auf mehrere Pakete aufgeteilt werden. Alle Daten in den Paketen werden
nach korrektem Empfang im Display wieder zusammengefügt.
SMALL PROTOLKOLL DEAKTIVIEREN
Das Protokoll ist für alle drei Schnittstellen RS-232, I²C und SPI identisch.
Für Tests kann das Protokoll durch L-Pegel an Pin17(DPROT)
abgeschaltet werden. Im normalen Betrieb ist allerdings die Aktivierung des
Protokolls unbedingt zu empfehlen. Andernfalls wäre ein möglicher
Überlauf des Empfangspuffers oder eine fehlerhafte Datenübertragung
nicht zu erkennen.
DIE PAKETVARIANTEN IN EINZELNEN
Befehle/Daten zum Display senden
<DC1>lendata...bcc
>
<ACK>
<
<DC1> = 17(dez.) = $11
<ACK> = 6(dez.) = $06
len = Anzahl der Nutzdaten in Byte (ohne Prüfsumme, ohne <DC1>)
bcc = 1 Byte = Summe aus allen Bytes inkl. <DC1> und len, Modulo 256
<DC2> = 18(dez.) = $121 = 1(dez.) = $01S = 83(dez.) = $53
<ACK> = 6(dez.) = $06
len = Anzahl der Nutzdaten in Byte (ohne Prüfsumme, ohne <DC1>)
bcc = 1 Byte = Summe aus allen Bytes inkl. <DC1> und len, Modulo 256
>
<
<ACK>
$06
Eingerahmt von <DC1>, der Anzahl der Daten
"len" und der Prüfsumme "bcc" werden die
jeweiligen Nutzdaten übertragen. Als Antwort
sendet das Display <ACK> zurück.
SendByte(len);// Send data length
bcc = bcc + len;
for(i=0; i < len; i++)// Send buf
{ SendByte(buf[i]);
bcc = bcc + buf[i];
}
SendByte(bcc);// Send checksum
}
C-Beispiel zum Senden eines Datenpaketes
Die Befehlsfolge <DC2>, 1, S, bcc entleert den
Sendepuffer des Displays. Das Display
antwortet zuerst mit der Quittierung <ACK> und
beginnt dann alle gesammelten Daten zu
senden.
Seite 6
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Hierüber läßt sich die maximale Paketgröße
welche das Display senden darf begrenzen.
Voreingestellt ist eine Paketgröße mit bis zu
128 Byte Nutzdaten.
Weiterhin läßt sich der Timeout in 1/100s
einstellen. Der Timeout spricht an, wenn
einzelne Bytes verloren gegangen sind.
Danach muß das gesamte Paket nochmals
übertragen werden.
Mit diesem Befehl werden Protokolleinstellungen abgefragt.
Letztes Datenpaket wiederholen
<DC2>1Rbcc
>
<ACK>
<
<DC1>
<
<DC2>
<DC2> = 18(dez.) = $121 = 1(dez.) = $01R = 82(dez.) = $52
<ACK> = 6(dez.) = $06
<DC1> = 17(dez.) = $11
len = Anzahl der Nutzdaten in Byte (ohne Prüfsumme, ohne <DC1> bzw. <DC2>)
bcc = 1 Byte = Summe aus allen Bytes inkl. <DC2> und len, Modulo 256
lendata...bcc
Falls das zuletzt angeforderte Paket eine
falsche Prüfsumme enthielt, kann das komlette
Paket nochmals angefordert werden. Die
Antwort kann dann der Inhalt des Sendepuffers
(<DC1>) oder die Puffer-/Protokoll-Information
(<DC2>) sein.
Adressierung nur bei RS232/RS485 Betrieb
<DC2>3Aselect or deselectadrbcc
>
<ACK>
<
<DC2> = 18(dez.) = $123 = 3(dez.) = $03A = 65(dez.) = $41
select or deselect: 'S' = 83(dez.) = $53 oder 'D' = 68(dez.) = $44
adr = 0..255
bcc = 1 Byte = Summe aus allen Bytes inkl. <DC2> und len, Modulo 256
<ACK> = 6(dez.) = $06
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Mit diesem Befehl läst sich das eLABEL mit der
Adresse adr Selektieren oder Deselektieren.
Seite 7
Page 8
EA eLABEL20-A
BEFEHLE ÜBER DIE SERIELLE SCHNITTSTELLE SENDEN
Das eLABEL läßt sich über diverse eingebaute Befehle programmieren. Jeder Befehl beginnt mit
ESCAPE gefolgt von einem oder zwei Befehlsbuchstaben und einigen Parametern.
Es gibt zwei Möglichkeiten Befehle zu senden:
1. ASCII-Modus
- Das Escape-Zeichen entspricht dem Zeichen '#' (hex: $23, dez: 35).
- Die Befehlsbuchstaben folgen direkt im Anschluss an das '#' Zeichen.
- Die Parameter werden im Klartext (mehrere ASCII Ziffern) mit einem nachfolgenden Trennzeichen
(z.B. das Komma ',') gesendet, auch hinter dem letzten Parameter z.B.: #GD0,0,171,71,
- Zeichenketten (Texte) werden direkt ohne Anführungsstrichen geschrieben und mit CR (hex: $0D),
oder LF (hex: $0A) abgeschlossen.
2. Binär-Modus
- Das Escape-Zeichen entspricht dem Zeichen ESC (hex: $1B, dez: 27).
- Die Befehlsbuchstaben werden direkt gesendet.
- Die Koodinaten x und y und alle anderen Parameter werden als 8-Bit Binärwert (1 Byte) gesendet.
- Zeichenketten (Texte) werden mit CR (hex: $0D), LF (hex: $0A) oder NUL (hex: $00) abgeschlossen.
Im Binär-Modus dürfen keine Trennzeichen z.B. Leerzeichen oder Kommas verwendet werden.
Die Befehle benötigen kein Abschlussbyte wie z.B Carriage Return (außer Zeichenkette: $00).
ALLE BEFEHLE AUF EINEN BLICK
Die eingebaute Intelligenz erlaubt den Aufbau eines Bildschirmes über unten stehende Befehle.
Alle Befehle können sowohl über die serielle Schnittstelle als auch in selbst-definierten Makros
verwendet werden.
Displayfunktionen (Wirkung auf das gesamte Display)
BefehlCodesAnmerkung
Display Orientierung
Display UpdateUDer aktuelle Inhalt des Display-RAM wird ins ePAPER kopiert
Display Autoupdate ZeitenZn1 n2
Display löschen
Display invertieren
Display füllenF n1Displayinhalt mit Farbe n1 füllen 1=Schwarz; 2=Dunkelgrau; 3=Grau; 4=Weiß
Display ausschalten
Display einschaltenADisplayinhalt wird wieder sichtbarEin
ESC
ESC
ESC
O n1
D
LDisplayinhalt löschen (alle Pixel aus)
D
IDisplayinhalt invertieren (alle Pixel umkehren)
EDisplayinhalt wird unsichtbar bleibt aber erhalten, Befehle weiterhin möglich
n1: Verzögerungszeit nach dem letzten Befehl bevor geupdatet wird
n2: Zwangsupdatezeit nach dem ersten Befehl, wenn ohne Unterbrechung gesendet wird
n1,n2=1..255 in 1/10sec; (n1,n2=0: Autoupdate Aus; ESC DU für Update benutzen)
Textfunktionennach
BefehlCodesAnmerkung
Einstellungen
Textfarbenfarben einstellen
Font einstellen
Font-ZoomfaktorZn1 n2n1 = X-Zoomfaktor (1x..4x); n2 = Y-Zoomfaktor (1x..4x)1,1
zus. Zeilenabstand
LeerzeichenbreiteJn1Leerzeichenbreite: n1=0 aus Zeichensatz; n1=1 wie Ziffer; n1>=2 Breite in Pixel0
Text-Winkel
Yn1zwischen zwei Textzeilen n1 Pixel (0..15) als zusätzlichen Zeilenabstand einfügen
W n1Text-Ausgabewinkel: n1=0: 0°; n1=1: 90°;
L
ESC
Z
C
R
ESC
ZTText ...Befehl um eine Zeichenkette in einem Makro an das Terminal ausgeben zu können
x1 y1
Text
...
NUL
vf=Vordergrund-; hf=Hintergrundfarbe für Zeichenketten
1=Schwarz; 2=Dunkelgrau; 3=Grau; 4=Weiß oder 0=Transparent;
Die sinnlose Kombination von transparenten Vorder- und Hintergrund invertiert alle Pixel
Ausgabe von Zeichenketten
Eine Zeichenkette an x1,y1 ausgegeben; Zeichenkettenende: 'NUL' ($00), 'LF' ($0A) oder 'CR'
($0D); Mehrere Zeilen werden durch das Zeichen '|' ($7C) getrennt;
Das Backslash-Zeichen '\' ($5C) hebt die Sonderfunkion der Zeichen '|\' auf;
z.B. "name\\test.txt" => "name\test.txt"
nach
Reset
3, 50
Reset
0°
1,4
0
Seite 8
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Page 9
EA eLABEL20-A
Bereichsfunktionen
BefehlCodesAnmerkung
Bereich löschen
Bereich invertierenIx1 y1 x2 y2Einen Bereich von x1,y1 nach x2,y2 invertieren (alle Pixel umkehren)
ESC
Bereich füllenF x1 y1 x2 y2 n1
Musterfarben einstellen
Bereich mit Füllmuster
ESC
Box mit Füllmuster zeichnenO x1 y1 x2 y2 n1 Ein Rechteck von x1,y1 nach x2,y2 mit Muster n1 zeichnen
Rahmenfarben einstellen
ESC
L x1 y1 x2 y2Einen Bereich von x1,y1 nach x2,y2 löschen (alle Pixel aus)
R
FM vfhf
M x1 y1 x2 y2 n1 Einen Bereich von x1,y1 nach x2,y2 mit Muster n1 zeichnen
R
FRvfhf
Einen Bereich von x1,y1 nach x2,y2 mit Farbe n1 füllen
1=Schwarz; 2=Dunkelgrau; 3=Grau; 4=Weiß oder 0=Invers
vf=Vordergrund-; hf=Hintergrundfarbe für Muster einstellen
1=Schwarz; 2=Dunkelgrau; 3=Grau; 4=Weiß oder 0=Transparent;
Die sinnlose Kombination von transparenten Vorder- und Hintergrund invertiert alle Pixel
vf=Vordergrund (Rahmen); hf=Hintergrundfarbe (Füllung) für Rahmen einstellen
1=Schwarz; 2=Dunkelgrau; 3=Grau; 4=Weiß oder 0=Transparent;
Die sinnlose Kombination von transparenten Vorder- und Hintergrund invertiert alle Pixel
nach
Reset
1,4
1,4
Rahmen zeichnenRR x1 y1 x2 y2 n1 Einen Rahmen Typ n1 von x1,y1 nach x2,y2 zeichnen
FG n1Linienfarbe n1 einstellen 1=Schwarz; 2=Dunkelgrau; 3=Grau; 4=Weiß oder 0=Invertieren1
ESC
Geraden und Punkte zeichnen
Punkt zeichnen
Gerade zeichnenDx1 y1 x2 y2Eine Gerade von x1,y1 nach x2,y2 zeichnen
Gerade weiter zeichnen
ESC
P x1 y1Ein Punkt an die Koordinaten x1,y1 setzen
G
W x1 y1Eine Gerade vom letzten Endpunkt bis x1, y1 zeichnen
0, 0
Rechteck zeichnenR x1 y1 x2 y2Vier Geraden als Rechteck von x1,y1 nach x2,y2 zeichnen
Bildfunktionennach
BefehlCodesAnmerkung
Einstellungen
Monochrombild Farben
Bild-Zoomfaktor
Bild-WinkelW n1Ausgabewinkel des Bildes: n1=0: 0°; n1=1: 90°0
internes Bild laden
Bild ladenL x1 y1 BLG daten ... Ein Bild nach x1,y1 laden; daten des Bildes siehe Bildaufbau BLG-Format
Hardcopy senden
ESC
FUvfhf
ESC
ESC
ESC
Z n1 n2n1 = X-Zoomfaktor (1x..4x); n2 = Y-Zoomfaktor (1x..4x)1,1
U
Ix1 y1 nrinternes Bild mit der nr (0..255) aus dem EEPROM nach x1,y1 laden
U
UH x1 y1 x2 y2Der Bildausschitt wird im BLG-Format gesendet (landet im Sendepuffer)
vf=Vordergrund-; hf=Hintergrundfarbe für monochrome Bilder einstellen
1=Schwarz; 2=Dunkelgrau; 3=Grau; 4=Weiß oder 0=Transparent;
Die sinnlose Kombination von transparenten Vorder- und Hintergrund invertiert alle Pixel
Ausgabe
Hardcopy
Reset
1,4
Clipboard Befehle (Zwischenspeicher für Bildbereiche)nach
BefehlCodesAnmerkung
Displayinhalt sichern
Bereich sichernS x1 y1 x2 y2Der Bildbereich von x1,y1 bis nach x2,y2 wird ins Clipboard kopiert
Bereich restaurierenRDer Bildbereich im Clipboard wird wieder ins Display kopiert
ESC
Bereich kopierenKx1 y1Der Bildbereich im Clipboard wird ins Display nach x1,y1 kopiert
BDer gesamte Displayinhalt wird als Bildbereich ins Clipboard kopiert
C
Allgemeine Befehle
BefehlCodesAnmerkung
Sende-Befehle
Es werden anz (=1..255) Bytes zum Sendepuffer gesendet; im Quelltext der Makroprogrammierung
Bytes senden
Version sendenVVersion wird als String gesendet z.B."EA eLABEL20-A V1.0 Rev.A" (Sendepuffer)
ESC
Projektname senden
B anzdaten ...
S
JEs wird der Makro-Projektname als String gesendet z.B. "init / delivery" (Sendepuffer)
Interne Infos sendenIEs werden interne Informationen vom eLABEL gesendet (landen im Sendepuffer)
Power Down
Power Down und
Makros ausfürhen
ESC
D mode
P
mode
M
n1 n2
Zeit zwischen MakrosZhmsZeit zwischen Makros während powerdown h=Stunden; m=Minuten; s=Sekunden (±10%)0,0,8
Makro ausführen
RS485 Adresse einstellen
Summer Ein / Aus
Warten (Pause)
ESC
MN n1Das Makro mit der Nummer n1 (0..255) aufrufen (max. 7 Ebenen)
ESC
KA adr
ESC
YSn1Summerausgang (PIN16) wird n1=0:AUS;n1=1:EIN;n1=2..255;für n1/10s eingeschaltetAUS
ESC
Xn1n1/10s abwarten bevor der nächste Befehl ausgeführt wird.
darf die Anzahl anz nicht angegeben werden, diese wird vom eLABEL-Compiler automatisch
eingetragen.
Power Down-Befehle
Nach diesem Befehl geht das eLABEL in den Power-down mode=1..2
mode=1 (~405µA): Mikrokontroller aus
mode=2 (~ 0,2µA): Mikrokontroller aus + ePaper aus (benötigt zusätzlichen blankcycle)
Das eLABEL geht in Power-down mode=1..2 und führt die Makros n1..n2 zyklisch aus
mode=1 (~410µA): Mikrokontroller aus
mode=2 (~ 4,5µA): Mikrokontroller aus + ePaper aus (benötigt zusätzlichen blankcycle)
Sonstige-Befehle
nur für RS232/RS485 Betrieb und nur bei Hardwareadresse 0 möglich
Dem eLABEL wird eine neue Adresse adr zugewiesen (im PowerOn-Makro).
Reset
nach
Reset
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Seite 9
Page 10
EA eLABEL20-A
TERMINAL-BETRIEB
Das Display enthält eine integrierte
Terminalfunktion. Nach dem Einschalten steht der
unschtbare Cursor in der ersten Zeile und das
Display ist empfangsbereit. Alle ankommenden
Zeichen werden als ASCII's dargestellt (Ausnahme:
CR,LF,FF,ESC,'#'). Voraussetzung dafür ist ein
funktionierender Portokollrahmen oder ein
abgeschaltetes Protokoll (siehe Seite 6+7).
Der Zeilenvorschub erfolgt automatisch oder durch
das Zeichen 'LF'. Ist die letzte Zeile voll, scrollt der
Terminalinhalt nach oben. Beim Zeichen 'FF' wird
das Terminal gelöscht.
Das Zeichen '#' wird als Escape-Zeichen benutzt
und ist somit nicht direkt im Terminal darstellbar. Soll
das Zeichen '#' im Terminal ausgegeben werden, so
muß es doppelt gesendet werden '##'.
Das Terminal besitzt eine eigene Ebene zur Darstellung und ist somit völlig unabhänging von den
Grafikausgaben. Wird z.B. der Grafikbildschirm mit 'ESC DL' gelöscht, so beeinflusst das nicht den
Inhalt des Terminalfensters.
Der Terminalfont ist fest im ROM vorhanden und kann auch für Grafikausgaben 'ESC Z...' verwendet
werden (FONT nr=0 einstellen).
Terminal-Font (Font 0): 8x8 monospaced
Terminal Befehle
BefehlCodesAnmerkung
Formfeed FF (dez:12)^LBildschirm wird gelöscht und der Cursor nach Pos. (1,1) gesetzt
Carriage Return CR(13)^MCursor ganz nach links zum Zeilenanfang
Linefeed LF (dez:10)^JCursor 1 Zeile tiefer, falls Cursor in letzter Zeile dann wird gescrollt
Cursor positionieren
Cursorposition sichernSdie aktuelle Cursorposition wird gesichert
Cursorposition restorenRdie letzte gesicherte Cursorposition wird wieder hergestellt
Terminal AUSATerminal Anzeige ist ausgeschalten; Ausgaben werden verworfen
Terminal EINETerminal Anzeige ist eingeschalten;Ein
Version ausgeben
Projektname anzeigenJDer Makro-Projektname wird im Terminal ausgegeben z.B. "init / delivery state"
Informationen anzeigenI
ESC
ESC
Pn1 n2n1=Spalte; n2=Zeile; Ursprung links oben ist (1,1)1,1
T
VDie Versions-Nr. wird im Terminal ausgegeben z.B "EA eLABEL20-A V1.0 Rev.A"
T
Das Terminal wird initialisiert und gelöscht, die Software Version, Hardware Revision,
der Makro-Projektname und die CRC-Checksummen werden im Terminal ausgegeben.
nach
Reset
ANTWORTEN / RÜCKMELDUNGEN
Alle Antworten des EA eLABEL20-A werden in einen Sendepuffer gestellt. Über das Small-Protokoll
werden diese dann vom Host angefordert (siehe Seite 10). Dies kann per „Polling“ geschehen, oder
altenativ dazu zeigt der Pin 20 „SBUF“ mit einem LO-Pegel an, dass Daten zur Abholung bereit stehen.
Antworten über die serielle Schnittstelle
Kennung anzdatenAnmerkung
Antworten mit Längenangabe anz (landen im Sendepuffer)
ESCVanzZeichenkette...
ESCJanzZeichenkette Projektname...
X-Pixel, Y-Pixel, Version, Touchinfo
ESCIanz
ESCULx1y1
CRC-ROM, CRC-ROMsoll
CRC-EEP, CRC-EEPsoll, EEPanz
EEP in KB,
Bilddaten...
(BLG-Format)
Nach dem Befehl 'ESC S V' wird die Version der eLABEL Firmware als Zeichenkette gesendet.
z.B. "EA eLABEL20-A V1.0 Rev.A"
Nach dem Befehl 'ESC S J' wird der Makro-Projektname als Zeichenkette gesendet.
z.B. "init / delivery state"
anz = 21: Nach dem Befehl 'ESC S I' werden interne Informationen vom eLABEL gesendet
(16-Bit integer Werte LO- HI-Byte)
Version: LO-Byte = Versionsnr. Software; HI-Byte = Hardwarerevisonsbuchstabe
Touchinfo: LO-Byte = '-|+' X-Richtung erkannt; HI-Byte = '-|+' Y-Richtung erkannt
EEPanz: Anzahl benutzter Bytes im EEPROM (3 Byte: LO-, MID- HI-Byte)
Antworten ohne Längenangabe (landet im Sendepuffer)
Nach dem Befehl 'ESC UH....' wird ein Hardcopy im BLG-Format gesendet.
x1,y1 = Startkoordinaten des Hardcopys (Linke obere Ecke)
Seite 10
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Page 11
EA eLABEL20-A
FÜLLMUSTER
Bei diversen Befehlen kann als Parameter ein
Mustertyp eingestellt werden. So können z.B.
rechteckige Bereiche mit unterschiedlichen Mustern
gefüllt werden. Dabei stehen 16 interne Füllmuster
zur Verfügung.
RAHMEN
Mit den Befehl
Rahmen zeichnen
kann ein Rahmentyp eingestellt werden. Es stehen dabei
9 Rahmentypen zur Verfügung. Die Rahmengröße muß mindestens 16x16 Pixel betragen.
GEDREHTER EINBAU
Es ist möglich das eLABEL um 90° gedreht einzubauen, um ein hochkantDisplay mit 72x172 Pixeln zu erhalten. Zur Richtigstellung des Bildinhaltes
muss der Befehl 'ESC DO 1' (siehe Seite 13) ausgeführt werden (z.B. im
PowerOnMakro).
90°: 'ESC DO 1'0°: 'ESC DO 0'
POWER-DOWN
Um Strom zu sparen (Betrieb mit Batterie) kann man mit dem Befehlen 'ESC PD mode' und
'ESC PM mode n1 n2' verschiedene Power-down-modes aktivieren.
'ESC PM mode n1 n2':
Nach diesem Befehl werden die Makros n1 bis n2 zyklisch ausgeführt, zwischen den Makros (Zeit
ist mit 'ESC PZ h m s' einstellbar) geht das eLABEL in Powerdown.
mode=1 (410µA): Der interne Kontroller wird in den Powedown versetzt der Timer bleibt aktiv.
mode=2 (4,5µA):Zusätzlich zu mode 1 wird das ePAPER komplett abgeschaltet.
'ESC PD mode':
Nach diesm Befehl geht das eLABEL in den Powerdown.
mode=1 (405µA): Der interne Kontroller wird in den Powedown.
mode=2 (0,2µA):Zusätzlich zu mode 1 wird das ePAPER komplett abgeschaltet.
Hinweis: Nach dem Abschalten des ePAPERs in mode 2 wird beim nächsten Displayupdate ein
zusätzlicher Blankcycle benötigt.
Das eLABEL wird aus dem Powerdown, je nach gewählten Interface, wie folgt aufgeweckt.
RS232: durch einen L-Pegel an Pin10 RXD (eine Binäre 0 senden)
SPI:durch einen L-Pegel an Pin6 SS
I2C:durch Senden der eingestellten I
2
C Adresse
nach dem Aufwecken muss mindestens 10ms gewartet werden bevor das eLABEL wieder
Empfangsbereit ist.
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Seite 11
Page 12
EA eLABEL20-A
VORGELADENE FONTS
Es sind standardmäßig, außer dem 8x8 Terminalfont (Font-Nr. 0), noch 3 monospaced, 3 proportionale
Zeichensätze und 1 grosser Ziffernfont integriert. Die proportionalen Zeichensätze ergeben ein schöneres
Schriftbild, gleichzeitig benötigen sie weniger Platz auf dem Bildschirm (z.B. schmales "i" und breites "W").
Jedes Zeichen kann pixelgenau platziert werden und in der Höhe und Breite von 1- bis 4-fach vergrössert
werden.
Texte lassen sich linksbündig, rechtsbündig und
zentriert ausgeben. Auch eine 90° Drehung ist möglich.
Font 1: 4x6 monospaced
Font 2: 6x8 monospaced
Font 3: 7x12 monospaced
Seite 12
Font 4: GENEVA10 proportionalFont 7: grosse Ziffern BigZif57
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Page 13
EA eLABEL20-A
Font 5: CHICAGO14 proportional
Font 6: Swiss30 Bold proportional
LADBARE ZEICHENSÄTZE
Compileranweisung "WinFont:"
Damit ist es möglich, TrueType-Fonts in verschiedenen Größen zu rastern und
einzubinden. Sie können entweder den kompletten Zeichensatz (ASCII)
einbinden oder Sie wählen aus dem gesamten Unicode-Zeichensatz
bestimmte Zeichen aus. Ein Doppelclick im KitEditor auf den Fontnamen öffnet
dazu die Font-Auswahlbox. Um die Verwendung dieser Zeichensätze zu
vereinfachen gibt es die kompfortable Möglichkeit einer Zeichen-Auswahlbox.
Wird im KitEditor ein String ausgegeben (z.B. #ZL 5,5, "Hallo") kann mit einem Doppelclick auf den String diese
geöffnet werden. Es können nun die gewünschten Zeichen ausgewählt werden. Dies ist vor allem bei
kyrillischen, asiatischen oder Symbolschriftarten zu empfehelen. Der KitEditor setzt darauf hin automatischen
den richtigen ASCII-Code ein. Alternativ zu den Anführungsstrichen können geschweifte Klemmern genutzt
werden (z.B. +ZL5,5, {48616C6C6F}).
Compileranweisung "Font:"
Verwendet werden kann folgendes Font-Format:
- FXT: Textfont von eDIP- und KIT-Serie
integrierte Schriften im
Auslieferungszustand
Import WinFontsEdit Box
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Seite 13
Page 14
EA eLABEL20-A
MAKRO PROGRAMMIERUNG
Einzelne oder mehrere Befehlsfolgen können als sog. Makros zusammengefasst und im EEPROM
fest abgespeichert werden. Diese können dann mit den Befehlen
Makro (0..255) Makro:
Start per Befehl 'ESC MN xx' über serielle Schnittstelle oder von einem anderen Makro aus. Die
Makros können auch in definierten Intervallen aus dem Powerdown heraus aufgerufen werden.
Makro ausführen
gestartet werden.
Power-On-Makro PowerOnMakro:
Start nach dem Einschalten. Hier kann man zB. den
Cursor abschalten und einen Startbildschirm definieren.
Reset-Makro ResetMakro:
Start nach einem externen Reset.
Brown-Out-Makro BrownOutMakro:
Achtung: Wird im PowerOn-, Reset-, oder
BrownOut-Makro eine Endlosschleife
programmiert, ist das Display nicht mehr
ansprechbar. In diesen Fall muss die Ausführung
des Power-On Makros unterdrückt werden. Das
erreicht man durch die Beschaltung von DPROT:
-PowerOff - Pin13 (DPROT) auf GND legen
-PowerOn - Pin13 (DPROT) wieder öffnen.
Start nach einem Spannungseinbruch <2V.
BILDER IM EEPROM ABGELEGT
Um die Übertragungszeiten der Schnittstelle zu verkürzen, oder auch um Speicherplatz im
Prozessorsystem zu sparen, können bis zu 256 Bilder im internen EEPROM abgelegt werden. Der
Aufruf erfolgt über den Befehl "ESC U I" oder aus einem Makro heraus. Verwendet werden können
alle Bilder im Windows BMP-Format und das interne BLG-Format. Die Erstellung und Bearbeitung
erfolgt über Standardsoftware wie z.B. Windows Paint oder Photoshop (nur schwarz/weiss = 1 Bit).
ERSTELLEN INDIVIDUELLER MAKROS UND BILDER
Um nun Ihre speziellen Makros erstellen zu können, benötigen Sie folgende Hilfsmittel:
-um das Display an den PC anschliessen zu können benötigen Sie das als Zubehör erhältlichen
Testboard EA 9780-3USB oder einen selbstgebauten Adapter mit Pegelwandler MAX3223
(Applikationsbeispiel siehe Seite 15)
-die Software ELECTRONIC ASSMBLY LCD-Tools; sie enthält einen KitEditor, Compiler sowie
Beispiele und Fonts (für PC-Win)
-einen PC mit USB oder serieller Schnittstelle COM
Um eine Befehlsfolge als Makro zu definieren, werden alle Befehle auf dem PC in eine Datei z.B.
DEMO.KMC geschrieben. Hier bestimmen Sie, welche Zeichensätze eingebunden werden und in
welchen Makros welche Befehlsfolgen stehen sollen.
Sind die Makros über den KitEditor definiert, startet man über F5 den Compiler. Dieser erzeugt eine
Datei DEMO.EEP, ist auch das Testboard EA 9780-3USB angeschlossen, oder das Display über
einen MAX232 an den PC angeschlossen, dann wird diese Datei automatisch in das EEPROM des
Displays gebrannt. Der Programmiervorgang selbst dauert nur wenige Sekunden und sofort danach
können die selbstdefinierten Makros und Bilder auch im Display genutzt werden. Eine ausführliche
Beschreibung zur Programmierung der Makros finden Sie zusammen mit Beispielen in der
Hilfefunktion der ELECTRONIC ASSEMBLY LCD-Tools Software.
HILFE IM KIT-EDITOR (ELECTRONIC ASSEMBLY LCD TOOLS)
In der Statuszeile am unteren Rand des Editorfensters werden für den aktuellen Befehl mögliche
Parameter kurz erläutert. Der Cursor muss dazu in der entsprechenden Zeile stehen.
Für mehr Informationen drücken Sie F1.
Seite 14
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Technische Änderung vorbehalten.
Page 15
EA eLABEL20-A
TxD
BAUD0
BAUD1
BAUD2
ADR0
ADR1
ADR2
BAUD0
BAUD1
BAUD2
ADR0
ADR1
ADR2
RS485
BUS
BAUD0
BAUD1
BAUD2
ADR0
ADR1
ADR2
3V3
Out
VccIO
APPLIKATIONSBEISPIEL „ECHTES“ RS-232 INTERFACE
Das eLABEL ist für den
direkten Anschluss an
eine RS-232
Schnittstelle mit CMOSPegeln (VDD) geeignet.
Steht jedoch nur eine
Schnittstelle mit ±12V
Pegeln, so ist ein
externer Pegelwandler
PC/HOST
Pins at D-SUB9 ()D-SUB25
6 (6)
4 (20)
1 (8)
3 (2)
2 (3)
7 (4)
8 (5)
5 (7)
DSR
DTR
DCD
TXD
RXD
RTS
CTS
GND
+
3
5
+
16
17
9
8
erforderlich.
APPLIKATIONSBEISPIEL: RS-485 INTERFACE
Mit einem externen Umsetzer
(z.B. SN65HVD72) kann das
eLABEL an einen 2-Draht RS485 Bus angeschlossen werden.
Somit können grosse
Entfernungen bis zu 1200m
(Ferndisplay) realisiert werden.
Betrieb von mehreren eLABELs
an einem RS-485 Bus durch
Einstellen von Adressen.
RS485 BUS
A
B
10K
6
1,5K
7
10K
+3,3V
19
11
8
Vcc
SN65HVD72
GND
5
GND
7
2
46
15
13
10
MAX3223
12
18
141
GND
+3,3V
1
R
4
D
3
DE
2
#RE
+
+
2
VDD
+
10µF
10
11
12
1
RxD
TxD
EN485
GND
EA eLABEL
RESET
BAUD0
56 7 89 14 15
BAUD1
BAUD2
ADR0
ADR1
ADR2
Applikationsbeispiel
2
10µF
10
11
12
1
VDD
RxD
TxD
EN485
GND
EA eLABEL
RESET
BAUD0
56 7 89 14 15
BAUD1
BAUD2
ADR0
ADR1
ADR2
+
+
Applikationsbeispiel
Adressierung:
- Bis zu acht Hardware-Adressen (0..7) per Pins ADR0..ADR2 einstellbar
- Das eLABEL mit Adresse 7 ist nach PowerOn selektiert und Empfangsbereit
- Die eLABEL mit Adresse 0..6 sind nach PowerOn deselektiert
- Bis zu 246 weitere Software-Adressen per Befehl '#KA adr' im PowerOnMakro einstellbar (eLABEL extern auf Adresse 0
setzen)
APPLIKATIONSBEISPIEL: USB ANSCHLUSS
Mit einem externen Umsetzer (z.B. FTZ232R) von FTDI kann das eLABEL an einen USB-Bus
angeschlossen werden. Virtuelle-COM-Port Treiber gibt es für viele Betriebssyteme auf der FTDI
Homepage
http://www.ftdichip.com/drivers/vcp.htm
100n
GND
u
u
u
47u
u
u
u
10n
1
2
3
4
20
16
15
Vcc
USBDM
USBDP
GND
7
#CTS
11
17
3V3 Out
GND
18
GND
4
VccIO
FT232R
AGND
GND
25
21
#DTR
#DSR
#DCD
Test
TxD
RxD
26
.
2
10µF
10
11
12
1
VDD
RxD
TxD
EN485
GND
EA eLABEL
RESET
BAUD0
56 7 89 14 15
BAUD1
Applikationsbeispiel
BAUD2
ADR0
ADR1
ADR2
+
+
1
5
2
9
10
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für Druckfehler und Applikationsbeispiele.
Seite 15
Page 16
EA eLABEL20-A
Achtung !
Handhabungsvorschriften
beachten
Elektrostatisch
gefährdete
Bauelemente
ABMESSUNGEN
alle Maße in mm
Technische Änderung vorbehalten.
Wir übernehmen keine Haftung für
Druckfehler und Applikationsbeispiele.
Pinout J2: RS-232
Pin Symbol In/Out Function
1GNDGround Potential for logic (0V)
2VDDPower supply for logic (+3,0V..3,3V)
3RxDInReceive Data
4TxDOut Transmit Data
Hinweise zur Handhabung und zum Betrieb
- Zur elektrischen Zerstörungs des Moduls kann führen: Verpolung oder Überspannung der Stromversorgung, Überspannung
oder Verpolung bzw. statische Entladung an den Eingängen, Kurzschließen der Ausgänge.
- Vor dem Abstecken des Moduls muß unbedingt die Stromversorgung abgeschaltet sein. Ebenso müssen alle Eingänge
stromlos sein.
- Das Display besteht aus Kunststoff und darf nicht mit harten Gegenständen in Berührung kommen. Die Oberfläche kann mit
einem weichen Tuch ohne Verwendung von Lösungsmitteln gereinigt werden.
- Das Modul ist ausschließlich für den Betrieb innerhalb von Gebäuden konzipiert. Für den Betrieb im Freien müssen
zusätzliche Vorkehrungen getroffen werden. Der maximale Temperaturbereich darf nicht überschritten werden. Bei Einsatz
in feuchter Umgebung kann es zu Funktionsstörungen und zum Ausfall des Moduls kommen. Das Display ist vor direkter
Sonneneinstrahlung zu schützen.