Forum: Mikrocontroller und Digitale Elektronik Grafikdisplay 480x64 UMS-7024AN-G


von Michael U. (amiga)


Lesenswert?

Hallo,

bei ebay geistern immer wieder diese Displays rum.
Ich hatte eins ersteigert und eine Suche im I-Net ergab wenig 
Informationen.
Der zugesandte Datenblatt-Scan entpuppte sich leider als völlig 
unbrauchbar...

Falls also noch jemand mit diesem Display kämpft oder sich eine solches 
kaufen will (bei ebay z.Z. 2 Stück neu für 5 Euro zu bekommen), hier ein 
paar Vorab-infos:

die richtige Belegung des Displays ist:
1 DataIn
2 FLM
3 M
4 CP1 (Pixelclock)
5 CP2 (Latch)
6 n-c.
7 +5V
8 GND
9 Kontrast (Poti 20k zwischen GND und Vee, Schleifer an 9
10 Vee -10V (ca. 8...12, muß ich nochmal schauen).

Datenblätter der ICs (61203 und 66002) habe ich inzwischen und daraus 
die Beschaltung ausgeprüft.

Leider weiß ich im Moment nicht, ob es noch komplett lebt, ich hatte es 
erst mit der flaschen Beschaltung aus dem Datenblatt angeschlossen und 
da waren 1..4 die Spannungen...

Es läßt sich zumindest ansprechen, komplett schwarz bzw. weiß kann ich 
es beschreiben, Bitmuster kommen irgendwie noch nciht an.

Falls Benedikt K. mitliest und interessiert ist:
könntest Du eines Deiner Programme so ändern, daß nur 1 Bit-weise 
ausgegebn wird, das bei Dir mit einem Display antesten? Dann könnte ich 
damit mal schauen, ob es lebt und ich den Fehler hier mache...

Datenblätter kann ich gern schicken oder hier ranhängen, speziell der 
66002 ist etwas schwer zu finden.

Ich habe mir noch 2 von den Teilen bestellt, weil ich da eine konkrete 
Verwendung mit vorhabe: mein unfertiges "Weckradio" (natürlich mit AVR) 
endlich fertig zu machen und das Teil als Skala zu benutzen.
Schließlich sammle ich ja auch ein wenig alte Radios... :-)

Gruß aus Berlin
Michael

von Jadeclaw D. (jadeclaw)


Lesenswert?

Danke für den Hinweis.
Ich habe hier noch einige davon herumliegen.
Wollte einen ATMega8515 + einem 4kB-SRAM dafür verwenden.
Die Ansteuerung des Displays erinnert an ein Videosignal.
Was mir allerdings noch fehlt, ist das Datenblatt vom HD66002
und einige Pfund Zeit, um mich da mal dranzugeben.
Wenn du das Datenblatt vom 66002 mal hier anhängen könntest,
wäre ich schonmal ein Stück weiter.

Mit Dank und Gruß
Jadeclaw.

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Michael U. wrote:

> Es läßt sich zumindest ansprechen, komplett schwarz bzw. weiß kann ich
> es beschreiben, Bitmuster kommen irgendwie noch nciht an.

Dieses Programm hatte ich mal zum Testen von solchen einfachen LCDs 
geschrieben. Es erzeugt auf dem LCD ein Schachbrettmuster, also jeder 2. 
Pixel wird invertiert.

Für die spätere Ansteuerung würde ich entweder einen T6963 verwenden, 
der sollte das können, oder einen AVR mit externem SRAM oder einen 
größeren AVR mit 4k internem SRAM. Die Daten aus dem RAM lesen und 
seriell per SPI rausschieben. Pro Zeile sind 60 Bytes, also rund 1100 
Takte (17 Takte pro Bye) nötig. Bei 70Hz und 64 Zeilen sind das rund 
5MIPs, also etwa 1/3 der Rechenleistung eines AVRs.
Die Ansteuerung mit dem AVR und externem SRAM hätte den Vorteil, dass 
man noch etwa 4-8 Graustufen erzeugen könnte.

Ob man allerdings die vollen 8MHz Schiebetakt ausnutzen kann, müsste man 
im Datenblatt des LCDs nachlesen. Kannst du das 66002 Datenblatt mal 
hier reinstellen ? Diese konnte ich nämlich nirgends finden.

von Michael U. (amiga)


Lesenswert?

Hallo,

Danke, werde ich heute abend mal testen.
Kommt sowieso ein Mega8515 mit 8k Ram ran, ist erstmal auf dem 
Steckbrett.
SPI hatte ich schon angedacht, hab nur gestern erstmal mit den 
IC-Datenblättern die Signale zusammengesucht.

Der Mega8515 bekommt dann nur die "Spezialfunktionen", die ich genau 
dafür brauche. Der Radio-AVR macht sowieso noch RDS und bekommt evtl. 
noch SD-Card und einen MAS3507, mal schauen. Irgendwie muß der Kram doch 
mal weg, der sich so angesammelt hat. ;)

Gruß aus Berlin
Michael

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

nachdem ich verglichen und festgestellt habe, daß mein ASM-Code den 
C-Source von Benedikt K. entsprach, nun folgender Stand:

In der Beschreibung vom 01.04.2008 22:15 sind CL1 und CL2 vertauscht, im 
Datenblatt des HD66002 ist ein Plan für das Zusammenspiel mit dem 
HD61203, der mit Display soweit übereinstimmt.

Die Schaltung der Kontrastreglung mit dem Transistor paßt genau zur 
Display-Schalung, für das Poti dort ist leider kein Wert angegeben, mit 
meiner im obigen Posting angegeben Schaltung scheint es aber auch zu 
gehen.

Letzte Erkenntnis: mein Display hat wohl die Mißhandlung mit der 
falschen Beschaltung nicht überlebt, die -10V waren den Dateneingängen 
der HD66002 wohl doch zuviel...
Das Display reagiert aus M, FLM und CL1 (LP) mehr oder weniger 
erwartungsgemäß, es ignoriert aber anliegende Daten völlig...

Ich warte jetzt mal auf meine beiden bestellten Displays und mach da 
weiter, bevor ich jetzt weiter Zeit investiere und das Ding eben einfach 
verstorben ist.

Ich hänge mal das Datenblatt des HD66002 ran.

Gruß aus Berlin
Michael

von Benedikt K. (benedikt)


Lesenswert?

Michael U. wrote:
> Letzte Erkenntnis: mein Display hat wohl die Mißhandlung mit der
> falschen Beschaltung nicht überlebt, die -10V waren den Dateneingängen
> der HD66002 wohl doch zuviel...

Waren die -10V Strombegrenzt ? Ich schalte da immer 100 Ohm in die 
Leitung, bisher haben es alle LCDs überlebt.

Der Treiber kann dem Datenblatt nach nur 2,5MHz. Das ist ziemlich wenig. 
Selbst wenn man kontinuierlich Daten überträgt, muss man mit mindestens 
2,2MHz übertragen, um 70Hz Framrate zu erreichen. Die Ansteuerung mit 
einem AVR ist daher ziemlich ineffizient. Ich würde daher mal versuchen 
auf 4MHz zu gehen. Ist zwar außerhalb der Specs, aber die meisten LCD 
Treiber sind von den Daten her weit im sicheren Bereich spezifiziert.

von Jadeclaw D. (jadeclaw)


Lesenswert?

@Benedikt:
Danke für den Code, das gibt mir schonmal einen Startpunkt.
@Michael:
Danke für das Datenblatt. Im Netz war nichts zu finden,
zumindest nicht für Google.

Benedikt wrote:
> Ob man allerdings die vollen 8MHz Schiebetakt ausnutzen kann,
> müsste man im Datenblatt des LCDs nachlesen.
Datenblatt sagt 2.5MHz maximal, rechnet man sich das nach der Pixelzahl
aus, kommt man bei 60Hz Bildwiederholrate auf 1.84MHz.
Das passt also.
Und 60Hz sollten mehr als ausreichend sein, denn so flimmerschnell
wie moderne TFTs sind solche passiven Displays sicherlich nicht.

Gruß
Jadeclaw.

von Michael U. (amiga)


Lesenswert?

Hallo,

Naja, Strombegrenzt... ein MC34063-Wandler mit Rsense 4,7 Ohm...
Da ich die Belegung aus dem "Datenblatt" als gültig angesehen habe, ist 
es mir erst reltiv spät aufgefallen, Kontrast reagiert eben garnicht und 
ich habe dann erst die Spannungen kontrolliert, die waren irgendwo um 
1V, weiß nichtmal mehr, ob + oder -.

Das mit der Geschwindigkeit habe ich gesehen, ich habe im Moment sowieso 
nur rund 12MHz Pixelclock und 32 Frames, gehen sollte es doch aber 
trotzdem, denke isi zumindest.

Wenn es klappt, werde ich SPI nehmen, es soll ja wenig aktualisiert 
werden, da darf die CPU-Last für das Display hoch sein und 20MHz dürfte 
einer meiner Mega8515 sicher auch mitmachen.

Wie empfindlich sind die Teile mit den Takten? Ich verlasse mich da im 
Moment drauf, daß die Flanken zu den Daten passen. M ist offenbar ok und 
FLM könnte doch höchstens die Darstellung durcheinanderbringen?

Mich wundert eben, daß Daten garkeine Änderung erzeugt, außer Daten und 
dem Latch-Puls sollte da doch nichts reinspielen?

Ich habe da erstmal den Ablauf aus dem HD66002 Datenblatt genommen, der 
auf der Schaltung oben mit drauf ist.
Alle Timings habe ich mir noch nicht rausgesucht, ob da was klemmen 
könnte.

Gruß aus Berlin
Michael

von Michael U. (amiga)


Lesenswert?

Hallo,

@Jadeclaw Dinosaur: doch Google hat gefunden. ;-)
Allerdings so beim 10 Chipbroker, irgendwo in China, gleich links, wenn 
man reinkommt...

Gruß aus Berlin
Michael

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Ich habe für meine Experimente als Basis das Datenblatt vom DMF633 
benutzt, die zweite Datenleitung ist (PIN 6, zum Glück) nicht am UMSH 
vorhanden. So lässt sich das Display prima per SPI ansteuern.
Wenn es nicht unbedingt Vollgrafik sein muß, könnte ich meine Routinen 
für 5x80 bzw. 40x10 Zeichen (90° gedreht) vom 68HC08 auf den AVR 
portieren.

Gruß Jörg

von Benedikt K. (benedikt)


Lesenswert?

Jadeclaw Dinosaur wrote:

> Datenblatt sagt 2.5MHz maximal, rechnet man sich das nach der Pixelzahl
> aus, kommt man bei 60Hz Bildwiederholrate auf 1.84MHz.
> Das passt also.
> Und 60Hz sollten mehr als ausreichend sein, denn so flimmerschnell
> wie moderne TFTs sind solche passiven Displays sicherlich nicht.

So darf man das aber nicht sehen: Ein TFT hat hinter jedem Pixel einen 
Speicher, während bei einem passiven LCD nur bei jedem Durchlauf einmal 
kurz Spannung anliegt.
Ich habe ein TFT hier stehen, dass ich mit 30Hz betreibe. Da flimmert 
nix. 60Hz auf einem passiven Display ist aber schon untere Grenze.

Die 2MHz reichen ja auch für den Normalebetrieb. Nur am AVR will man 
nicht die gesamte Rechenleistung mit der Datenausgabe verbringen, 
sondern so schnell wie möglich eine Zeile ausgeben, um danach eine Pause 
für andere Aufgaben bis zur nächsten Zeile zu haben.

von Michael U. (amiga)


Lesenswert?

Hallo,

@Joerg Wolfram: Danke für das Datenblatt, das paßt ja zumindest.
Naja, auf diese Verwandtschaft muß man erstmal kommen...

Gruß aus Berlin
Michael

von Benedikt K. (benedikt)


Lesenswert?

Heißt das, dieses Display hat auch 2 Dateneingänge ?

von Joerg W. (joergwolfram)


Lesenswert?

Nein, das UMS hat nur einen Dateneingang und ist 1:64 gemultiplext. Der 
zweite Dateneingang an Pin 6 ist nicht belegt.

Gruß Jörg

von Michael U. (amiga)


Lesenswert?

Hallo,

nein, Pin 6 ist definitiv frei, wie auch Joerg Wolfram oben schrieb.
Der Rest paßt aber gut zusammen, auch wenn andere Spaltentreiber drauf 
sind.

Gruß aus Berlin
Michael

von Joerg W. (joergwolfram)


Lesenswert?

Ist das Thema noch interessant?
Ich habe eine Ansteuerung entwickelt, die komplett im Interrupt läuft 
und bei 16MHz nur knapp 40% Rechenzeit benötigt. Dargestellt werden 4x60 
Zeichen als 8x16 Matrix, was allerdings 4K Zeichentabelle braucht, damit 
ist ein Mega8 schon halbvoll. Flimmern kann ich erstmal nicht 
beobachten.
Ich schicke die Pixeldaten per SPI (2MHz), dazu läuft Timer 2 mit 200KHz 
und erzeugt ständig Interrupts. 60x werden Pixeldaten berechnet und 
ausgegeben, beim 61. mal wird der Load-Impuls ausgegeben, der 
Spaltenzähler zurückgesetzt und der Zeilenzähler inkrementiert. Timer 1 
erzeugt über PWM-Ausgang und Kaskadenschaltung die negative Spannung. 
Mit einem zweiten, invertierten Ausgang könnte man noch die Hälfte der 
Dioden einsparen, habe ich aber noch nicht probiert.
Das Ganze geschieht völlig im Hintergrund, ich benutze lediglich r4 und 
r5 um die Spalten- und Zeilenposition nicht im RAM verwalten zu müssen. 
Da es ja nur ein Textmodus ist, wollte ich erstmal nachfragen , bevor 
ich das Projekt für die Codesammlung aufbereite.

Gruß Jörg

von Jadeclaw D. (jadeclaw)


Lesenswert?

Das Thema ist definitiv noch interessant.
Dazu kommt, das ziemlich regelmäßig hier im Forum Leute aufschlagen, die 
ein controllerloses Display auf eBay abgegriffen haben, bei den Dingern 
sollte die Ansteuerung gleich laufen. Insofern ist es definitiv eine 
Sache, die sich dauerhaft lohnt.

Gruß
Jadeclaw.

von Michael U. (amiga)


Lesenswert?

Hallo,

@Joerg Wolfram: ist unbedingt noch interessant.
Ich war nur nicht sicher, ob ich mein Display wegen der falschen 
Belegung in den Displayhimmel geschickt habe.
Inzwischen sind meine nachbestellten Displays eingetroffen und ich will 
mich am Wochenende da nochmal ransetzen.

Ich würde mich also freuen, dazu was spielendes zu finden, schon, um 
meine Hardware und Displays zu testen.

Gruß aus Berlin
Michael

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

so, habe den Kram jetzt erstmal zum Anzeigen überredet.

Ich hänge mal das AVR-Projekt an, das ist aber wirklich noch Baustelle, 
es hat noch keinen praktischen Nutze.
Der Font stammt von hier, danke nochmal an Benedikt K.
Beitrag "LCD Schriftarten ( Fonts in veschiedenen Größen )"

Interessant ist vermutlich nur die reine Ansteuerung.
Mega8515 mit 8k Ram, Daten im SPI-Mode mit 4MHz SPI-Clock.
8MHz gehen mit meinem Display auch ohne Probleme, bringt aber keinen 
Vorteil.

Ansonsten der Version von Joerg Wolfram, Timer-IRQ mit 200kHz, 60x ein 
Byte ins SPI und beim 61. Mal Zeilen- oder Framewechsel.
Das sind rund 50 Frames/s, da flimmert es noch nicht.

Ich muß jetzt erstmal eine sinnvolle Organisation finden, es wird zur 
Zeit von rechts unten nach links geschrieben, das ist nur provisorisch 
so hingebogen. ;)

Die fragwürdeige Main-Schleife stellt nur erstmal fast alle zeichen des 
Zeichensatzes dar.

Gruß aus Berlin
Michael

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

hier noch der ASM-Source...

Gruß aus Berlin
Michael

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

Fortsetzung meiner Bastelstunde. ;)

Displayroutinen habe ich etwas umgebaut, der Bildspeicher wird jetzt von 
hinten nach vorn rübergeschoben, macht die Orientierung etwas einfacher, 
mir ist ja egal, ob das Ding sozusagen auf dem Kopf steht.

Kontrastspannung macht ein MAX232, der bringt etwas über 9V, das reicht 
sicher. Dazugekommen ist ein Flash 128kx8 von einem alten Mainboard, da 
werden Fonts und meine Bildschirme der Funktionen landen. Der Flash wird 
in 16k-Blöcken eingebunden.

Der MAX macht auch UART zum PC, im Moment als Debug, später, um den 
externen Flash mit den Fonts und Grafiken zu programmieren.

Das ist aber alles noch nicht drin...

Die Source zeigt immernoch den Zeichensatz an und sendet ihn beim Start 
auch über den UART mit 38400 Baud raus.

Also: Reste sammeln, Flash von alten Mainboards und Cache-Ram von noch 
älteren Mainboards. ;-)

Die Anzeige müßte so ca. 40% CPU-Last machen, der 200kHz-IRQ hat 80 
Takte Zeit, die IRQ-Routine braucht zwischen 19 und 29 Zyklen.
Pixelclock ist jetzt 2MHz, macht sozusagen 250kHz SPI-Bytefrequenz, 
damit ist der SPI sicher vor dem nächsten IRQ fertig.

Anbei das Projekt und der Eagle-Schaltplan.

Gruß aus Berlin
Michael

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,
hier noch die Schaltung für "nicht-Eagler". ;)

Gruß aus Berlin
Michael

von Jadeclaw D. (jadeclaw)


Lesenswert?

Das sieht schon mal sehr gut aus. Meine Version wird wohl einfacher 
aussehen, wird als Textversion mit einem der bekannteren Controller 
kompatibel sein. Evtl. Textmode vom T6963. Oder Seriell ähnlich einem 
VT52-Terminal mit ESC-Sequenzen zur Cursorsteuerung. Auf jeden Fall 
etwas, was einfach zu benutzen sein wird. Demnächst gibt es dann auch 
was von mir zu sehen.

Erstmal besten Dank.

Gruß
Jadeclaw.

von Michael U. (amiga)


Lesenswert?

Hallo,

ich habe mal meinen noch unfertigen Kram in die Codesammlung gepackt...
Beitrag ""serielles" Display 640x64 UMS 7064 in ASM"

Gruß aus Berlin
Michael

von Philipp K. (philipp_k59)


Lesenswert?

Hi,

ich bin zwar jetzt kein Profi, kann auch kein Asm aber wäre es nicht 
vielleicht möglich einen AVR auszusuchen und hier einen einfachen 
framebuffer zu Coden für i2c-Input oder ähnliches.. das man eigentlich 
nur den vorhandenen Ram in das Display schieben lässt und über einem 
einfachen i2c-Standard füllen lässt.. dann könnte man Diverse Grafik 
Librarys direkt anbinden.

Gruß,
Philipp

von W.S. (Gast)


Lesenswert?

Laß die Toten ruhen.
Wir sind heuer bei bunten TFT's mit 480x272 oder mehr.

W.S.

von Philipp K. (philipp_k59)


Lesenswert?

An so ein Display würde ich ja auch wieder kein AVR hängen.. Dazu kommt 
ja noch "kurz mal günstig gebaut".. So ein Display kost 20-50€uronen.. 
dann am besten noch den Rapsberry hinten mit dranhängen und schon kann 
ich mir von einem 1/4 des investiertem Geld ein durchdachtes Chinagadget 
kaufen das dem selben Zweck entspricht (schon allein vom Displaywert) ;) 
Dann lieber eine eigene Monochrone Lösung das man behaupten kann das man 
fast nur Zeit reingesteckt hat!

Wären die Codebeispiele ein C Projekt hätte ich es weiterversucht.

Gruß,
Philipp

von c-hater (Gast)


Lesenswert?

Philipp K. schrieb:

> Wären die Codebeispiele ein C Projekt hätte ich es weiterversucht.

Ja, ist schon Scheiße, wenn man an Krücken gehen muß... Allerdings hält 
sich mein Mitleid in Grenzen, du hast es dir ja selber ausgesucht, nur 
mit einer Krücke klarkommen zu wollen...

Lustigerweise ist es aber ausgerechnet im konkreten Fall so, daß die 
C-Krücke garnicht das Problem ist, denn für die 1Bit-Datenübergabe wäre 
durchaus auch mit C was machbar, weil man dafür die UART(SPI-Mode)-, 
SPI- oder USI- Hardware benutzen kann.
Dann reichen die beschränkten Möglichkeiten von C nämlich aus, weil die 
Hardware den timingkritischen Kram weitgehend alleine leisten kann, das 
C-Programm muß nur noch mit relativ unkritischem Timing (mindestens 15 
Takte zulässige Latenz) die Displaydaten byteweise an UDR(x)/SPDR/USIDR 
ausliefern.

Was allerdings offensichtlich nicht reicht, sind deine Fähigkeiten zur 
Benutzung der von dir selber gewählten Sprache und dein Verständnis der 
Funktionsweise sämtlicher beteiligter Hardware. Dagegen hilft es 
keinesfalls, immer nur irgendwelchen vorhandenen Code zu kopieren. 
Dagegen hilft nur selber denken und selber machen.

Ob dir das nun gefällt oder nicht: Das ist einfach so.

von Philipp K. (philipp_k59)


Lesenswert?

C-hater, Ich verstehe den Zusammenhang jetzt nicht, aber wirst Dir schon 
was bei Deinem Text gedacht haben.. mir ergibt sich kein Sinn und kein 
Zweck Deines Beitrages.

Super Display, Viel Spaß!

von Thanh (Gast)


Lesenswert?

Dear Michael U.
I am Thanh,VietNam
I want to buy LCD UMS-7024AN-G
Quantity: 20 pieces
Do you sale it?
If you interest, please email for me.
my email: vinhthanh.ip@gmail.com

Thanks & regard!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.