www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD-Modul EPSON ECM-A0428 von Pollin


Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich fange gerade an Bascom zu erlernen und möchte ein GLCD von Pollin 
ansteuern.

http://www.pollin.de/shop/dt/MTA3OTc4OTk-/Baueleme...
Ich hab schon im Forum und Google gesucht, aber ich habe nichts über 
dieses Display gefunden.

Hat dies jemand schon mal angesteuert oder genauer untersucht?

Es ist ziehmlich neu bei Pollin.


schon mal danke für eure Hilfe.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich fange gerade an Bascom zu erlernen und möchte ein GLCD von Pollin
>ansteuern.

Es gibt kein Datenblatt zu dem Teil. Also Finger weg.

Und nur mal so nebenbei: Ich möchte Auto fahren lernen.
Kann ich das mit einer Mondrakete machen?

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
> Und nur mal so nebenbei: Ich möchte Auto fahren lernen.
> Kann ich das mit einer Mondrakete machen?

text lcds kann ich ansteuern,
jetzt möchte ich es mit GLCD´s probieren.



OK danke

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>text lcds kann ich ansteuern,
>jetzt möchte ich es mit GLCD´s probieren.

Dann nimm was mit KS0108 oder besser T6963.

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder ein Nokia 3310 LCD. Ist ein super Teil. Gibts für nen 5er bei ebäh 
und die Ansteuerung ist im Internet sehr gut dokumentiert. Es gibt sogar 
fertige Libs.

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok

Ich werde es mir nicht kaufen.
Ich schau mal bei Ebay.
Danke

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
>Es gibt kein Datenblatt zu dem Teil. Also Finger weg.

Na ja , sooo schlimm ist es auch wieder nicht.
Da ein SED 1330 drauf ist, kann man eine Menge ausprüfen.
Touchpanel scheint eine Tastaturmatrix zu sein.

Ansonsten ist mir für ein ernstes Projekt die Platine zu groß.

Wigbert

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe jezt auch 2 Stk geholt.
gleich auch bilder gemacht:
1,5 Mb: http://nest.roboterbastler.de/temp/DSCF4097.JPG
1,5 Mb: http://nest.roboterbastler.de/temp/DSCF4098.JPG

Die teile stammen von
"NORTEL Meridian M3000 Touch-Screen NT Business PHONE" :
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item...
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item...

Autor: micha (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
BILD: Kabel-Pinout

Hat jemmand idee, was für SO-8 (mit Bezeichnung "1251") neben den Elkos 
ist?

Und wofür da noch UV-ROM benuzt wird?

Autor: micha (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
soo... jezt gibt es Lebenzeichen! :)

wenn man negative spannung anlegt - bekommt man "pulsirende" Streifen 
aufm LCD zu sehen...
wenn man jezt 5V Spannung kurzzeitig "kurzschliesst" - Streifen werden 
anders posizioniert. (SED1330 muss wohl Initialisiert werden)

morgen - nachsten Schritt : SED1330 Initialisieren

Autor: micha (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Contrast-Spannung sollte ca 17-24 Volt sein (so sthet auch bei Pollin).

Display als "Dual-panel display" initialisieren.

Aufm Bild ist nur bits-müll zu sehen (G-RAM muss ich noch clear-en).
Rechts-unteren bereich bleibt blank - muss ich noch rausfinden, woran's 
liegt.

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kontrastspannung sollt doch -17..24V sein.
Ist das S-Ram nicht zu klein, um die ganze Fläche zu bemalen?

Wigbert

Autor: micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wigbert: Kontrastspannung sollt doch -17..24V sein.
Ja, "minus 17..24V" :)

>Wigbert: Ist das S-Ram nicht zu klein, um die ganze Fläche zu bemalen?
Stimmt!

also...
Erstens: Beinchen /CS beim SED1330 von der platine ablöten und auf GND 
setzen.
Zweitens: SRAM und UVROM rauslöten und stattdesen "ordentliches" SRAM-IC 
draufsetzen

und dann kann man weiter mit der Initialisierung spielen :)

diese CODE sollte für'n Angang genug sein:
SED1330_INIT:
; http://homepages.sover.net/~snowleop/gdisp3/init.txt

ldi byte_to_send,0x40 ; Send System Set command
rcall SEND_COMMAND
ldi byte_to_send,0b00111011;0x30 ; = Internal CG, 32 character CGRAM, 8 lines/char, single
                           ;  pane, No invert, LCD, Normal Shift clock
rcall SEND_DATA
ldi byte_to_send,0b10000011;0x87 ; = 8 pixel-wide characters, 2 frame AC drive
rcall SEND_DATA
ldi byte_to_send,0b00000111;x07 ; = Vertical character size = 8 pixels
rcall SEND_DATA
ldi byte_to_send,0x1F ; = 32 display character bytes per row C/R
rcall SEND_DATA
ldi byte_to_send,0x23 ; = Total address range per row = 36 bytes (this byte must
                      ;  be at least four greater than the C/R
rcall SEND_DATA
ldi byte_to_send,0x7F ; = 128 display lines total
rcall SEND_DATA
ldi byte_to_send,0x20 ; = low byte of virtual screen width in byte count.
rcall SEND_DATA
ldi byte_to_send,0x00 ; = high byte of virtual screen width in byte count.
rcall SEND_DATA


ldi byte_to_send,0x44 ; Send Scroll Command
rcall SEND_COMMAND
ldi byte_to_send,0x00 ; = low byte of layer1 text home address
rcall SEND_DATA
ldi byte_to_send,0x00 ; = high byte of layer1 text home address
rcall SEND_DATA
ldi byte_to_send,0xFF ; = 128 scan lines for text layer
rcall SEND_DATA
ldi byte_to_send,0x00 ; = low byte of layer 2 graphic home address
rcall SEND_DATA
ldi byte_to_send,0x10 ; = high byte of layer 2 graphic home address
rcall SEND_DATA
ldi byte_to_send,0xFF ; = 128 scan lines for graphics layer
rcall SEND_DATA


ldi byte_to_send,0x5A ; Send horizontal scroll command 
rcall SEND_COMMAND
ldi byte_to_send,0x00 ; = no horizontal scroll adjustment
rcall SEND_DATA

ldi byte_to_send,0x5B ;Send Overlay Selections Command 
rcall SEND_COMMAND
ldi byte_to_send,0b00000000 ; =
                            ; (layer 2 can ONLY be graphics)
rcall SEND_DATA


ldi byte_to_send,0x58 ; Send command 
rcall SEND_COMMAND
ldi byte_to_send,0x56 ;
rcall SEND_DATA


ldi byte_to_send,0x4C ; Send Command to Auto Cursor Increment by +1
rcall SEND_COMMAND

;;;;; --- Clear memory ---
ldi byte_to_send,0x46 ; Send Cursor Write command
rcall SEND_COMMAND
ldi byte_to_send,0x00 ; = low byte of cursor address
rcall SEND_DATA
ldi byte_to_send,0x00 ; = high byte of cursor address
rcall SEND_DATA


ldi byte_to_send,0x42 ; Send Memory Write command
rcall SEND_COMMAND

ldi ZH,0x02
ldi ZL,0x00
NEXT_SPACE:
ldi byte_to_send,0xff ; = 
rcall SEND_DATA
sbiw YH:YL,0x01
brne NEXT_SPACE


ldi byte_to_send,0x46 ; Send Cursor Write command
rcall SEND_COMMAND
ldi byte_to_send,0x00 ; = low byte of cursor address
rcall SEND_DATA
ldi byte_to_send,0x10 ; = high byte of cursor address
rcall SEND_DATA


ldi byte_to_send,0x42 ; Send Memory Write command
rcall SEND_COMMAND

ldi ZH,0x11
ldi ZL,0x80
NEXT_BYTE:
ldi byte_to_send,0xff ; = 
rcall SEND_DATA
sbiw YH:YL,0x01
brne NEXT_BYTE



;;; 
;Send Memory Write command 42h
;Send 512 bytes of data of value 20h    ; Sending 512 ascii blank characters
;Send 3584 bytes of data 00h            ; Clearing CGRAM area
;Send 4096 bytes of data 00h            ; Clear graphics area


ldi byte_to_send,0x5D ; Send Cursor Format Command
rcall SEND_COMMAND
ldi byte_to_send,0x04 ; = five pixels wide cursor
rcall SEND_DATA
ldi byte_to_send,0x86 ; = Vertical Cursor Size=7 pixels, block cursor
rcall SEND_DATA


ldi byte_to_send,0x59 ; Send Display On Command
rcall SEND_COMMAND
ldi byte_to_send,0x14 ; = Layer 2 on, layer 1 on, cursor off
rcall SEND_DATA


ldi byte_to_send,0x5C ; Send Set CGRAM Address Command
rcall SEND_COMMAND
ldi byte_to_send,0x00 ; = low byte of CGRAM address
rcall SEND_DATA
ldi byte_to_send,0x04 ; = high byte of CGRAM address
rcall SEND_DATA


;;; NOW DRAW A DOT IN THE UPPER LEFT CORNER:
ldi byte_to_send,0x46 ;Send Set cursor Command
rcall SEND_COMMAND
ldi byte_to_send,0x00 ; = low byte of graphics address
rcall SEND_DATA
ldi byte_to_send,0x10 ; = high byte of graphics address
rcall SEND_DATA


ldi byte_to_send,0x42 ; Send Memory Write command
rcall SEND_COMMAND
ldi byte_to_send,0x80 ; = left hand dot of the byte at 1000h
rcall SEND_DATA


;;; NOW PLACE A CHARACTER IN THE LEFT COLUMN, TOP ROW
ldi byte_to_send,0x46 ; Send Set cursor Command
rcall SEND_COMMAND
ldi byte_to_send,0x00 ; = low byte of text address
rcall SEND_DATA
ldi byte_to_send,0x00 ; = high byte of text address
rcall SEND_DATA


ldi byte_to_send,0x42 ; Send Memory Write command
rcall SEND_COMMAND
ldi byte_to_send,0x23 ; = "#" in top, left corner character position.
rcall SEND_DATA

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Wigbert: Ist das S-Ram nicht zu klein, um die ganze Fläche zu bemalen?
>Stimmt!

Wieso? 128 * 280 / 8 = 4480. 8kB RAM ist ausreichend.

>Zweitens: SRAM und UVROM rauslöten und stattdesen "ordentliches" SRAM-IC
>draufsetzen

In dem ROM stehen sicher Zeichensätze. Willst du nur den internen
Zeichensatz benutzen?

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wieso? 128 * 280 / 8 = 4480. 8kB RAM ist ausreichend.
ja und? Willst jedes mal ein Takt auf ein 2 Bild warten.
2 Bilder sollten schon im S-Ram reinpassen. Im Eprom wird wohl
das Menübild drin sein. Wundert mir , das da nach der Init nichts
passiert.

Wigbert

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo
sorry dass ich so lang nichts geschrieben hab.
Echt klasse von euch.
Ich kaufs mir doch. :)

Autor: Frank M. (frank_41)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Bastlergemeinde,
ich habe mir auch so ein LCD zugelegt. Kann mir jemand sagen,
wo man da die Betriesspannungen anlegt und wieviel ?
Schonmal vielen Dank
Gruss
Frank

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank M. schrieb:
> Hallo liebe Bastlergemeinde,
> ich habe mir auch so ein LCD zugelegt. Kann mir jemand sagen,
> wo man da die Betriesspannungen anlegt und wieviel ?
> Schonmal vielen Dank
> Gruss
> Frank

Hallo Frank,
micha (Gast) hat oben schon ein Bild angehängt.
Hier noch mal als Link:
http://www.mikrocontroller.net/attachment/preview/87933.jpg

mfg Tom

Autor: Frank M. (frank_41)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh,
das hatte ich übersehen. Nur das Bild mit 5V gesehen.
Gut wenn ich mal Zeit habe, werde ich's mal testen.
Gruss
Frank

Autor: Moritz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat schon jemand etwas angezeigt bekommen ?
Würde mich auch interresieren ob der Touch funktioniert und wo die 
Anschlüsse sind.
Gedenke mir das Teil zu kaufen , würde sich gut in mein neustes Projekt 
einfügen.

mfg Moritz

Autor: Stefan_Z (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schönes Display eigentlich.
Datasheets sind auch einfach zu bekommen, aber der Controller hat schon 
viele Funktionen...

- G-RAM kann er bis 64kB - also 8x soviel wie da jetzt drauf sind.
- Es gibt verschiedene Layer für das Composing (ob das mit nur 8kB RAM 
geht?)
- der Controller kann bis zu 640x256px ansteuern (das wären genau 20kB)
- 5x7px Font mit 160 Zeichen fest eingebaut
- bis zu 64 8x16px Zeichen in externem Character Generator RAM (1kB)
- bis zu 256 8x16px Zeichen in externem ROM (4kB)
- 4,5-5,0V Betrieb

Offene Fragen:
- Was ist der große ECM-A0045?
- Ist ein externes Character Generator RAM verbaut?
- Wie ist das Touchscreen implementiert? 18x6 Pads kann man ja erkennen. 
Nur was kommt am Kabel davon an? Ein serielles Signal? Ggfs. könnte mal 
jemand die unbekannten Pins mit dem Oszi durchmessen, der Tochscreen 
sollte ja auch ohne Display was ausspucken.

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan_Z schrieb:
> Was ist der große ECM-A0045?

Ich weiß nur, dass ECM heißt:
Epson Custum Made


mfg Tom

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe etwas über das display herausgefunden:

Quelle:
http://www.google.de/url?sa=t&source=web&cd=7&ved=...


ich habe aus dieser Quelle heraus gefunden, dass das Display angeblich 
in einem Telefon "Meridian M3000" drin gewesen sein sollte. (In dieser 
Quelle handelt es sich um zwei Displays, um des eine Epson und um noch 
ein anderes).

mfg Tom

Autor: Stefan_Z (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm also was ich damit sagen wollte: Sollte einfach anzusteuern sein, 
mit etwas Knobeln sogar vollständig...

So schwer ist Display-Ansteuerung ja nciht wenn man mal Pins und 
Protokoll hat.

Ich scheue ehrlich gesagt den Pollin-Versand, sonst würd ich mal eins 
ankabeln.

Bei der Pinbelegung haben wir noch 6 Mystery-Pins, oder? Zu wenig um die 
ganzen Tasten als Binärwert auszugeben - also liegt da sicher noch ne 
I2C oder SPI oder sowas drauf.

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan_Z schrieb:
> Bei der Pinbelegung haben wir noch 6 Mystery-Pins, oder?

Hallo Stefan,
nein nur 3



das mit der Matrix könnte auch so ähnlich aufgebaut sein (statt SPI, 
I²C):
http://t0.gstatic.com/images?q=tbn:ANd9GcQeZWB8xOi...

mfg Tom

Autor: Stefan Z. (stefan_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt: Wer's zuhause liegen hat: bitte mal die noch unbekannten 
Pins ans Oskar hängen und schauen was da kommt, wenn man auf dem LCD 
rumfingert...

Oder man zeichnet mal diese Irrsinns-Logik nach die da an HC74ern 
anscheinend den Touch irgendwie auswertet.

Was ich erkennen kann:
A) 18 Dioden die anscheinend an die zwei 4028er 1-of-10 decoder 
angeklemmt sind.
http://www.komponenten.es.aau.dk/fileadmin/kompone...

B) Darunter sind dann ein 4050 Hex non-inverting buffer 
http://ics.nxp.com/products/hef/datasheet/hef4050b.pdf und ein 74HC174 
Hex FlipFlop 
http://www.datasheetcatalog.org/datasheet/philips/...

C) Dann zwei 74HC373 Schieberegister 
http://www.edutek.ltd.uk/Binaries/Datasheets/7400/... und ein 
74HC74 Dual FlipFlop 
http://i2c2p.twibright.com/datasheet/74HC_HCT74_3.pdf

D) Über dem Kabel / Controller dann noch:
74HC32 Quad 2-input OR gate 
http://i2c2p.twibright.com/datasheet/74HC_HCT32_4.pdf
74HC04 Hex inverter 
http://www.nxp.com/documents/data_sheet/74HC_HCT04.pdf
74HC00 Quad 2-input NAND gate 
http://www.nxp.com/documents/data_sheet/74HC_HCT00.pdf

Dieser Wust an Logik dient vermutlich einerseits der Matrix-Ansteuerung 
der Tasten und andererseits der Ausgabe der Ergebnisse.

Dass an dem großen IC CPU dransteht macht mich natürlich neugierig, was 
diese CPU denn so macht. Und vor allem wann sie das macht was sie soll?
Ggfs dient die echt nur der Tastenauswertung und weils ein IC mit 
Parallel-Output war wird die Logik dann zum seriellen Wandeln genutzt?

Autor: Moritz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Hab das ding nun , kann die unbekannten Pins aber nächste Woche erst an 
ein Oszi hängen .
Hab kein eigenes und komm erst nächste Woche wieder ins Labor in der FH.
Versuch dann an ein Speicheroszilloskop zu kommen.
Dann kann ich die ergebnisse speichern und hochladen.

mfg
Moritz

Autor: Stefan Z. (stefan_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wäre natürlich hammer.
Ich tippe aber wie gesagt auf was serielles, insofern - wenn du eh schon 
in der FH bist - häng doch noch nen Logic-Analyzer mit dran ;-)

Autor: Moritz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut,

dann muss ich aber in ein anderes Labor , im Hochfrequenzlabor haben wir 
sowas nicht , aber ich weiß wo sowas steht.
Muss ich mal fragen ob ich da mal rein kann =), da haben wir immerhin 
einen der an einem Pc angeschlossen ist , sonst nur seeeehr alte Kästen.

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mir heut das Display bei Pollin gekauft.
Ich habe es mir ehrlich gesagt kleiner vorgestellt. Man sieht ja total 
die  Touchmatrix.
Dazu muss ich noch was sagen als ich heut beim Pollin war (es is ja 
jetzt der Superschnäpchenmarkt):

Ich ging in Halle 1 an die Warenanforderung und ein Mitarbeiter tippte 
es ab, dann sagte ich, dass ich gern dieses Display haben wollte, aber 
im Katalog war es nicht. Er suchte im System nach Display´s und zeigte 
sie mir. Da gab es ein Display das werder im Katalog noch im Internet 
ist und ich auch noch nicht gesehen habe. Vielleicht wieder ein neues? 
:).


mfg Tom

Autor: Stefan Z. (stefan_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo Pollin ist halt ne Reste-Rampe. Wenn die nur 50 Stk. davon haben 
lohnt's ja kaum das Ding in den Katalog zu übernehmen.

Und wenn du weder ein Probe-Exemplar, noch ein Foto davon hast, wird es 
wohl ewig ein Geheimnis bleiben ;-)

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Z. schrieb:
> Und wenn du weder ein Probe-Exemplar, noch ein Foto davon hast

nein das habe ich leider nicht.




Hat jemand eine einfache Schaltung um die Minus 17 Volt zu erzeugen?
am Besten mit dem MC34063A.



mfg Tom

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ist noch jemand an diesem LCD aktiv?

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel Pirngruber schrieb:
> Hallo!
>
> Ist noch jemand an diesem LCD aktiv?

Hallo
ich bin noch aktiv.
Ich muss leider auf meine Spule für den mc34063a warten.

mfg Tom

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Toll das ich nicht alleine bin! Ah bastelst du dir die -17v für den 
Kontrast? Ich versuch schon seit einigen Tagen das Lcd mit einem mega32 
anzusteuern leider bisher ohne erfolg ...

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel
Zum glück bin ich auch nicht allein.
Ja ich bastel mir gerade die -17 volt

In welcher Programmiersprache programmierst du?


MfG Tom

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab eine simple sed1330 lib im netz gefunden geschrieben in C
http://www.tklinux.de/sed1330.html bei interesse.

hab aber gerade einen fehler gefunden ich hab das cs vergessen muss mir 
mal ein kabel anlöten um es mit dem controller zu verbinden. aber auch 
wenn ich einen kontakt mache und den µC starte sehe ich nur schwarze 
blaken und flimmern.

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel P. schrieb:

> sehe ich nur schwarze
> blaken und flimmern.

wird das Display (der Controller) richtig initalisiert?
daran könnte es liegen.

Ich prog. in BASCOM



MfG Tom

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für BASCOM hatte ich auch schon einen code nur leider gleiches ergebnis. 
Basic gefält mir vom programmieren her auch sehr gut da ich als 
Hobbybastler den Code besser verstehe mit C oder Assembler hatte ich 
noch nicht soviel zutun.

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab das Display hinbekommen. Es zeigt mir schon einigermasen etwas an. 
Hab auch das problem das rechts unten ein Teil leer bleibt. Schätze mal 
das problem kommt noch von der initalisierung. Aber wichtig wie micha 
schon geschrieben hat unbedingt W/S auf 1 setzten (Double Panel)

mfg Pirni

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ich kann zwar was auf dem lcd sehen aber leider alles doppelt.
Hab bei denn init werten probleme. Wenn man w/s auf 1 setzt muss man bei 
sl1 und sl2 die werte ändern was ich auch gemacht habe aber dann 
verschiebt sich das bild immer und ich sehe alles zweifach. kann mal 
jemand seine werte posten? oder mir einen tip für die berechnungen 
geben?

mfg Daniel

Autor: Daniel P. (pirndi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So hab einaml meine Testdatei gepostet der code in BASCOM ist von 
www.compsys1.com/workbench. Ich hab einmal begonnen ihn anzupassen nur 
leider ohne erfolg. Vielleicht hat jemand eine Idee.

mfg Daniel

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Hat schon jemand die Kontrastregelung herausbekommen? Soweit ich 
mitbekommen habe sind a die -17 -24V ja nicht die regelung für den 
Kontrast. Man müste ihn ja soweit Drehen können bis das man alle pixel 
sieht. Ich denke nach längeren versuchen das dieses Display im Singel 
Panel angesteuert wird nur sieht man nichts eben wegen des Kontrasts da 
sich ja die Cycels in Singel und Dual Panel ändern. Oder denke ich da 
jetzt komplett in eine falsche richtung?

mfg Daniel

Autor: E- nicki (elektronicki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es sieht so aus, als würde der ECM irgend etwas senden und damit 
vielleicht die Streifen verursachen.
Da sind 3 Leitungen, die zu den 74ern führen und allesamt Eingänge sind.
Mal sehen, was passiert, wenn man da Spannung drauf gibt...

Autor: E- nicki (elektronicki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch mal nachgemessen....
Einer der Eingänge ist ein Ausgang -.-
CS vom SED führt zum hc32 "nebenan" und wird da ständig auf high 
gezogen.
Kein Wunder, dass der SED sich taub stellt....
Es scheint, als hinge CS an einem ODER, dessen einer Eingang dauernd an 
+5v hängt ?!
Mal sehen, was da los ist....

Autor: E- nicki (elektronicki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Seltsam....
Es scheint, als würde ein Eingang vom hc32 eine Spannung liefern ?!

Autor: E- nicki (elektronicki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der HC32 war kaputt...
mit neuem ic sieht es so aus:
/CS wird von Pin 6 durchgereicht, wenn Pin 17 auf 0 gezogen wird.
(beides am Flachbandkabel vom Draht mit GND aus gezählt)

Autor: E- nicki (elektronicki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
grmpf, bei mir tuts auch nicht :(
naja, 8€ sind noch verkraftbar...

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hy!

Kann mir jemand erklären wie man die Layer(sad1 - sad4) berechnet? Ich 
hab schon das internet durchsucht aber nichts gefunden das past.

mfg Daniel

Autor: Dork507 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mich auch schon eine Weile mit dem Display beschäftigt. Im 
Anhang mal der SourcCode mit einer Initialisierung für dieses Display 
von Pollin. Man beachte:
Der SRAM beträgt zwar 8KB doch leider sind nicht so viele 
Adressleitungen vom SED1330 herangeführt. Somit kann dieser erst voll 
benutzt werden, wenn zusätzlich Drähte gezogen werden (sonst nur 1KB).
Der normale "verdrahtete" Speicherbereich lässt gerade mal den 
Textspeicher voll nutzen.
Der anghängte Code baut auf dem hier auf bzw. wurde angepasst:
http://www.tklinux.de/sed1330.html

Vielleicht hilft es ja jemanden weiter.

Wenn ich den SED mit 128x280 Pixel initialisiere, entstehen bei mir in 
der zweiten Hälfte des Displays zwei Pixelzeilen als Kopie von der 
ersten beiden Pixelzeilen.
Aus disem Grund wird das Display jetzt bei mir mit 130x280 Pixel und dem 
Wert für Zeilenkorrektur (IV=0) initialisiert.
Jetzt entsteht aber eine Pixelleerzeile, die nicht angesprochen werden 
kann. Aber es sind keine Artefakte der ersten Pixelzeile zu sehen.
Habt ihr auf euren Displays das gleiche Problem oder ist dieser "defekt" 
nur bei mir?

Gruß Dirk

Autor: Dirk R. (dork507)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel P. schrieb:
> Hy!
>
> Kann mir jemand erklären wie man die Layer(sad1 - sad4) berechnet? Ich
> hab schon das internet durchsucht aber nichts gefunden das past.
>
> mfg Daniel

Hallo Daniel,

SAD1 ist der erste Teil des Textspeichers hier kann man Adresse 0x0000 
vergeben.

SAD2 ist der erste Teil des Grafikspeichers. Dies berechnet man wie 
folgt:
Du kannst in einer Zeile 46 Textzeichen bei einer Breite von 6 Pixel 
darstellen bzw. hast eine Zeichenhöhe von 8 Pixel. Damit kannst du auf 
dem ganzen Display 46 Textzeichen x 16 Textzeilen = 736 Textzeichen 
anzeigen. Demzufolge muss der Grafikspeicher hinter diesem Bereich 
liegen. Also SAD2 > 736. Kann auch 0x1000 sein.

SAD3 ist der zweite Teil des Textspeichers. Er muss eigentlich nahtlos 
an dem ersten Teil anschließen. Im ersten Teil lassen sich 46 x 8 
Zeichen darstellen. Somit ist SAD2= SAD1 + 368 (46 x 8 Zeichen).

SAD4 ist der zweite Teil des Grafikspeichers. Er berechnet sich wie 
folgt:
Das Display ist im Blockmodus aktiv. Dies bedeutet mit einem 
Adresszugriff werden in einer Zeile 6 Pixel beschrieben (gleich wie 
Textzeichenbreite). Damit hat man auf der ersten Hälfte des 
Grafikspeicher einen Speicherbedarf von 46 Blöcke x 64 Zeilen = 2944.
SAD4 muss also SAD2 + 2944 sein.

Alle Angaben ohne Gewähr ;-)

Gruß Dirk

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Danke Dirk für die Infos! Meine berechnungen haben zwar gestimmt abder 
das mit dem Speicher wußte ich nicht deshalb zeigt mir das lcd keine 
Grafiken an.
Welche Pins müssen das verbunden werden damit der gesamte RAM genutz 
werden kann?

Autor: Dirk R. (dork507)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

schau mal auf den Fotos. Es müssten die höherwertigen Adressleitungen 
(VA10, VA11, VA12) sein. Ein Blick in die Datenblätter vom SED1330 und 
SRAM hilft.

Autor: Dirk R. (dork507)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel P. schrieb:
> deshalb zeigt mir das lcd keine
> Grafiken an.

Grafik müsste das Display trotzdem anzeigen. Nur wiederholt sich diese 
auf dem Display immer wieder.

Hast du den Grafikspeicher beim Initialisieren eingeschaltet?
Der Parameter P1 bei DISP ON/OFF muss für eingeschaltete Grafik- und 
Textausgabe auf 0b01010100 stehen (Cursor nicht sichtbar).

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hy Dirk!

Hatte es nach dem Epson bsp aus der Doku auf 0x47 stehen. Da stand 
grafik und courser an. Wenn ich es auf deinen wert ändere sehe ich 3 
Streifen über das LCD aber keine Grafik. Hab bei den funktionen Clear 
Graphic und Clear Text die Werte von 0xff auf 0x00 bzw 0x20 geändert. 
Hab bei deinem Code nachgesehen da sind sie ebenfals geändert. Hab auch 
die Leitungen nachgelötet aber sehe keine Grafik nur der Textmodus 
funktioniert.

mfg Daniel

Autor: Dirk R. (dork507)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Welche Funktion zum Schreiben einer Grafik benutzt du?

Die aus sed1330.c? Die GLCD_Pixel()-Funktion arbeitet im Original 
invertierend. Der Parameter show (on, off, fill, clear) muss dann auf 
"off" gesetzt werden oder du verwendest die angepassten Funktionen aus 
meinem Projekt.

Dirk

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benütze die Originale. Wenn ich eine Linie zeichne sehe ich sie 4x 
auf dem Display und jeweils drei zeichen dazu. Die Init hab ich aus 
deinem Code übernommen.

Autor: Dirk R. (dork507)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hört sich an, als ob deine zusätzlichen Adressleitungen nicht 
richtig verbunden sind bzw. das Fehlerbild zeigte sich bei mir ohne 
diese. Hast du die Pins vom SRAM angehoben? Nicht das sie irgendwo noch 
auf Masse gezogen werden.

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hy!

Ja hatte einen kleinen Kontakt zur Masse. Jetzt läuft alles super! Danke 
für den Tip! Wenn mann jetzt die Tastenmatrix noch rausfinden könnte 
würde das gesmate Display funktionieren.

mfg Daniel

Autor: Dirk R. (dork507)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schön, wenn ich Dir helfen konnte.

Du verwendest doch die Init von mir. Hast du da nicht auch eine 
Pixelzeile, die du nicht beschreiben kannst? Erzeuge mal bitte ein 
gefülltes Rechteck von der oberen Displayhälfte bis zur unteren und 
poste mal, ob fehlerfrei oder nicht.

Des Weiteren:
Verändere bei der Initialisierung den Parameter IV=0 zu IV=1, den ersten 
ScreenLine-Wert von 65 auf 64 und die Auflösung auf 128x280 statt 
130x280. Schreibe dann in die erste Zeile einen Text. Siehst du 
beschriebene Pixel in der Mitte des Displays? (Kopie der ersten beiden 
Pixelzeilen)

Du würdest mir damit sehr helfen. Dann weiß ich ob mein Display defekt 
ist oder noch ein anderer systematischer Fehler vorliegt.

Die Tastenmatrix ist ein Thema für sich. Ich habe keine Ahnung, wie man 
die abfragen könnte. Da ich das Display jetzt selber nicht mehr bei Hand 
habe, kann ich auch nicht experimentieren.

Dirk

Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ja wenn ich IV=1 setze sehe ich eine Pixelreihe
Ich habe jetzt 280x128 IV=0 und SAL1 64 SAL2 64 und kein fehler.
Wenn ich ein Rechteck zeiche von 0,0 zu 280,128 dann zeichnet das 
Display aber nicht ganz nach X2. ca. die Reihe wo die schwarzen 
aufgedruckten Striche sind bleibt leer. Der Textlayer Funktioniert aber 
bis ganz nach außen.

Die Tastenmatrix wird auch schwer werden da der CPU ECM-A0045 damit 
verbunden ist (soweit ich gesehen hab). Und von dem gibts kein 
Datenblatt.
Ich hab einmal ganz simple die Spannung gemessen. Ich hab in der letzen 
reihe ca 2v wenn ich jetzt die letzte reihe drücke habe ich 0v drücke 
ich eine andere reihe steigt die Spannung wider an.

Die ersten 6 Leitungen vom blau Weißen Flachband geben die reihe an. Die 
sind Breiter als der rest. ich denke mal das der ecm a0045 das 
auswertet. dort liegt das problem denke ich...

mfg Pirni

Autor: Stefan Z. (stefan_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit nem Logic-Analyzer könnte man ja mal schauen, was der Prozi bei 
Tastendruck so ausspuckt, oder?

Autor: Dirk R. (dork507)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel P. schrieb:
> Ja wenn ich IV=1 setze sehe ich eine Pixelreihe
> Ich habe jetzt 280x128 IV=0 und SAL1 64 SAL2 64 und kein fehler.
> Wenn ich ein Rechteck zeiche von 0,0 zu 280,128 dann zeichnet das
> Display aber nicht ganz nach X2. ca. die Reihe wo die schwarzen
> aufgedruckten Striche sind bleibt leer. Der Textlayer Funktioniert aber
> bis ganz nach außen.

Mache mal bitte das ganze nicht von ganz oben, da sich ja die erste 
Pixel Reihe wiederholt. Also Rechteck von (0,5) bis (276,123). Bei 
komplett schwarz sieht man es nicht.

Du meinst auf der rechten Seite wird nicht ganz an den Rand gezeichnet? 
Das liegt an der Grafikfunktion. Sie adressiert nur 6x46 Pixel in einer 
Zeile. Die letzten 4 Pixel werden nicht angesprochen bzw. erfolgt hier 
schon der Zeilenumbruch.

>Mit nem Logic-Analyzer könnte man ja mal schauen, was der Prozi bei
>Tastendruck so ausspuckt, oder?

Ich kann mir vorstellen, dass man die einzelnen Adressfelder der Matrix 
abfragen muss, bevor der ECM antwortet.

Erstmal sollte man herausfinden, welcher Bus verwendet wird. Bei SPI 
muss ja bei einem angelegtem Takt an SCLK bei MISO etwas passieren, 
voraus gesetzt CS ist mit Masse belegt. Aber halt haben wir nicht nur 3 
Leitungen?
SPI hat 4 und I²C hat 2. Welcher Bus kommt denn noch in Frage?

Autor: Ulli B. (fennec)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Tom Z. (tom_z)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ist jemand schon weitergekommen mit der Touch-Matrix?
Ich erstelle grad einen Schaltplan in Eagle.
naja mal sehen wie weit ich komm.


mfg Tom

Autor: Nosnibor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die "CPU" ist wohl parallel angebunden, dazu dienen die beiden 
8-bit-latches ('373). Die Datenleitungen D0-D7 des SED1330 sind mit 
D0-D7 (Eingänge) des rechten sowie Q0-Q7 des linken Latches verbunden. 
LE des rechten und /OE des linken Latches hängen über etwas Adresslogik 
an /WR bzw. /RD.

Als zusätzlicher Adresseingang dient Leitung 17 des Kabels (wenn man die 
rote Ader 1 nennt), gleich neben D7. Wenn diese Leitung H ist, erreicht 
man den SED1330, bei L die Latches zur "CPU".

Einzelheiten:
 * Der SED1330 bekommt sein /CS von Pin 6 des '32, was der Ausgang eines 
oder-Gatters ist. Eingänge sind die Pins 5 (Ader 5 (/CS) des Kabels) und 
4 (über einen Inverter (12/13 des '04) an Ader 17), so daß besagter 
zusätzlicher Adresseingang durch Low-Pegel /CS sabotieren kann.

 * LE vom rechten Latch hängt über einen Inverter (10/11) am Ausgang 
eines oder-Gatters (Pin 3 des '32), dessen Eingänge die Pins 1 
(verbunden mit Ader 7: /WR) und 2 sind; letzterer ist die 
oder-Verknüpfung (Pins 8, 9 und 10 des '32) der Adern 5 (/CS) und 17 
(die zusätzliche Adressleitung).

 * /OE vom linken Latch ist die oder-Verknüpfung (Pins 1, 12 und 13 des 
'32) von Ader 8 (/RD) und Pin 8 des '32 (Verknüpfung von /CS und der 
zusätzlichen Adresse).

Wer das Display schon irgendwo angeschlossen hat, kann also versuchen, 
vom Touchscreen zu lesen. Wahrscheinlich muß man den aber erst durch 
einen Schreibzugriff konfigurieren oder zumindest anschalten; man sollte 
also die Scanleitungen beobachten, ob das gelungen ist.

Ich würde erwarten, daß sich eine der Adern als Interruptausgang 
erweist, mit dem die "CPU" meldet, daß eine "Taste"  gedrückt wurde. Den 
Scancode kann man dann durch einen Lesezugriff erfahren. Wahrscheinlich 
setzt der Lesezugriff auch gleich den Interrupt zurück; jedenfalls ist 
Pin 11 des '32 (/OE vom linken Latch) mit 13 des '00 verbunden; ein 
Lesezugriff hat also noch "Nebenwirkungen".

Autor: Nosnibor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ergänzung: Der Interruptausgang ist Ader 18, leider nicht 
level-triggered, d.h. da kommt nur ein kurzer L-Impuls; wenn man den 
verpennt, ist er verloren.

Aus zwei Gattern des '00 ist ein einfaches Flipflop aufgebaut, indem 
Pins 10 und 11 sowie 8 und 12 miteinander verbunden sind. CPU Pin 34 ist 
der Interruptausgang (Ader 18) und mit Pin 9 des '00 verbunden, kann 
also durch einen L-Puls Pin 8 auf H setzen. Pin 8/12 ist auch mit CPU 
Pin 39 verbunden, so daß die CPU mitbekommt, ob der Interrupt schon 
"abgeholt" wurde. Das passiert durch einen Lesezugriff: wie schon 
erwähnt ist /OE des linken Latches mit Pin 13 des '00 verbunden; ein 
Lesezugriff setzt das Flipflop also durch den L-Impuls auf /OE wieder 
zurück.

Wer statt des Impulses lieber einen Pegel als Interruptsignal haben 
will, muß ihn sich also an Pin 10/11 (L-aktiv) oder 8/12 (H-aktiv) des 
'00 abgreifen.

Autor: Dennis (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

schonmal ein Danke an alle für die bisherigen Forschungserkenntnisse.

Aufgrund der Infos habe ich mir am Samstag mal zwei Displays beim Pollin 
mitgenommen.

Display läuft bei mir mit dem Code von Dirk (an Microship Pic angepasst)

Hab bisher nur Text ausprobiert

Die Funktion GLCD_Text funktioniert aber nur für die Zeilen 0 bis 5, bei 
höheren Zeilen malt er an falsche Stellen.
Das muss ich noch debuggen, liegt vieleicht nur am PIC Compiler, das der 
igentwas falsch optimiert in der Addressberechnung.

Aber mit:
lcdTextCursor(0,0);
lcdSendCommand(0x42);
for(i=0;i<736;i++)
{                 
 lcdSendData('*');
}

Lässt sich das Ganze Display mit Sternchen von Oben Links bis Unten 
Rechts vollschreiben.

Das sich die ersten zwei Pixel Zeilen in der Mitte wiederholen ist bei 
mir mit 128x280 iv=1 ScreenLines=64 auch so, siehe Bild (DONE)

Das man CE vom 1330 an Pin 5 des Kabels bekommt wenn Pin 17 des Kabels 
auf High liegt kann ich bestätigen.

An den fehlenden Addressleitungen habe ich noch gemessen.

Es ist so:

1330 Pin 33 VA10 ist mit SRAM Pin 21 (A10) verbunden, hier muss man 
garkeinen Fädeldraht ziehen.

1330 Pin 34 VA11 muss man an das SRAM fädeln, aber nicht am SRAM.
SRAM Pin 23 A11 geht über den 0 Ohm Widerstand an JP1 auf GND. 
Widerstand raus und dann kann man sich hier anlöten.
Die andere Seite des Jumpers würde übrigens SRAM A11 mit 1330 Pin 44 
(VR/W) verbinden.

1330 Pin 35 VA12 muss man an das SRAM fädeln, und hier muss der Pin am 
SRAM nach Oben gebogen werden weil dieser sonst auf GND liegt.

Grüße

Dennis

Autor: Nosnibor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, dann ist jetzt klar, wofür die Jumper da sind: um die Bestückung mit 
kleineren Speicherchips zu ermöglichen (die haben ein "Write Enable" 
oder so an der Stelle, wo bei den großen A11 sitzt).

Daraus folgt, daß die vorgesehene Anwendung mit wenig Speicher auskommt; 
wahrscheinlich sind dann auch beim EPROM die höheren Adressleitungen auf 
GND gelegt und es steht nur ein interessanter Font bzw. 
Hintergrundbild drin.

Wer den SED1330 schon in Betrieb hat, kann ja mal nachsehen: das EPROM 
belegt die Adressen ab 0x8000 (Chipselect kommt von Pin 3 des '00, was 
eine NAND-Verknüfung von VA15 (Pin 27 des 1330) und dem invertierten 
(Pin 3/4 des '04) /VCE (Pin 45 des 1330) ergibt. SRAM-Chipselect ähnlich 
(Pin 6 vom '00), aber mit invertiertem (Pin 1/2 des '04) VA15).

Autor: naicheben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nosnibor schrieb:
> Lesezugriff setzt das Flipflop also durch den L-Impuls auf /OE wieder
> zurück.

Hast Du mal geschaut, ob man dann mit einem Lesezugriff bei Leitung 17 
auf LOW ein Datum bekommt, das irgendwie mit dem Touchscreen 
zusammenhängt?

Autor: naicheben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dennis schrieb:
> 1330 Pin 34 VA11 muss man an das SRAM fädeln, aber nicht am SRAM.
> SRAM Pin 23 A11 geht über den 0 Ohm Widerstand an JP1 auf GND.
> Widerstand raus und dann kann man sich hier anlöten.
> Die andere Seite des Jumpers würde übrigens SRAM A11 mit 1330 Pin 44
> (VR/W) verbinden.
>
> 1330 Pin 35 VA12 muss man an das SRAM fädeln, und hier muss der Pin am
> SRAM nach Oben gebogen werden weil dieser sonst auf GND liegt.

Laut Datenblatt vom SED1330 ist die Zählweise/Pinnummer anders.
VA11 ist demnach Pin 32
VA12 ist demnach Pin 31
http://www.lcd-module.de/eng/pdf/zubehoer/sed1330.pdf Seite 14. Habe ich 
ein falsches Datenblatt?

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dein Datenblatt passt, ich hatte mich da nur verzählt.
Umgelötet hab ichs aber richtig :)

Autor: arne (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

der Thread ist zwar schon etwas aelter, aber ich bin erst vor kurzem 
dazu gekommen, mich naeher mit dem Display zu beschaeftigen. Daher 
moechte ich jetzt hier meine Erkenntnisse veroeffentlichen, einiges 
wurde ja auch schon geschrieben. Ich habe einfach mal alle meine 
Aufzeichnungen gescannt und angehaengt.

Zunaechst mal zum LCD selbst: wie schon bemerkt ist die obere 
Displayhaelfte keine exakte Haelfte, sondern 66 Pixel hoch -- fuer die 
untere Haelfte bleiben folglich 62 Pixel. Das Display muss also als 132 
Zeilen hoch mit 66 Pixeln pro Haelfte initialisiert werden, damit sich 
keine Zeilen wiederholen oder fehlen (mit IV=1). Damit im Textmodus 
nichts doppelt oder abgeschnitten ist, muss die Texthoehe ausserdem ein 
Vielfaches dieser 66 Pixel betragen, es sind also nur 112 Pixel hohe 
Zeichen moeglich. Mit dem internen Zeichensatz passen dann 12 Zeilen auf 
das Display (fuer die unterste Zeile sind noch genau sieben Zeilen 
Platz). Ich habe ein kleines Testprogramm fuer den ATtiny2313 
angehaengt, mit dem der Text- und nach der Ergaenzung der beiden 
Adressleitungen zum RAM auch der Grafikmodus getestet werden kann. Fuer 
den Grafikmodus muss die Grafik als Binaerdatei per RS232 an den 
Controller gesendet werden, zwei Beispiele befinden sich im Verzeichnis 
"images". Verwendet man Text mit 6 Zeichen Breite, werden auch nur 6 
Pixel pro Byte im Grafikmodus verwendet. Die Grafik kann unter Linux 
z.B. so gesendet werden:
stty -F /dev/ttyS0 115200 raw -echo
cat images/6px_test.bin >/dev/ttyS0

Die Kontrasteinstellung fuer das Display erfolgt auch mit dem 
ECM-Controller, es wird ein 6-Bit-Wert in das 74HC174 geschrieben und 
steuert ueber das Widerstandsnetzwerk RA1 den 1251 an, der dann die 
Kontrastspannung entsprechend einstellt. Ich vermute dass der 1251 ein 
Doppel-Opamp ist, von dem nur eine Haelfte (Pins 5, 6, 7) genutzt wird. 
Da ich die Befehle fuer den ECM nicht herausgefunden habe, habe ich 
stattdessen das Widerstandsnetzwerk und den 1251 ausgeloetet und 
ueberbrueckt, so dass sich der Kontrast jetzt direkt durch die Spannung 
an Pin 3 einstellen laesst. Sie liegt bei mir bei ca. -8,5V.

Fuer den Touchscreen habe ich mal die Beschaltung herausgezeichnet. 
Ueber die beiden 4028 wird eine der 18 Spalten mit high-Pegel 
angesteuert, der ECM erhaelt dann die Signale der 6 Zeilen mit externen 
Pulldowns und Puffern. Die einfachste Loesung, um den Touchscreen zu 
verwenden duerfte wohl sein, den ECM auszuloeten und die Leitungen mit 
einem AVR anzusteuern. Die Abfrage duerfte wohl genauso wie bei einer 
gewoehnlichen Tastenmatrix funktionieren.

Das Zeichensatz-EEPROM habe ich auch mal ausgelesen, es enthaelt nur 
einen Zeichensatz mit 11px Zeichenhoehe und 8px Breite (16 Byte pro 
Zeichen, da der SED1330 keine 11-Byte-Zeichen unterstuetzt), der Rest 
ist ungenutzt. Den Zeichensatz habe ich auch mit angehaengt, ich hoffe 
das macht keine Copyright-Probleme.


Gruss,
Arne

Autor: Richard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Help !

I have a epson ECM-A0806 a litle diferent from above.

I dnd't found any info/ datasheet  for conect with a arduino

Please help

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.