"serielles" Display 640x64 UMS 7064 in ASM

OP #854082
Lesenswert?

Hallo,

eigenlich sind Display-Ansteuerungen ja die Domäne von Benedikt K., aber 
ich will mal in seinen Gefilden wildern... ;-)

Ich mach mich auch mal etwas unbeliebt mit einer Auktionsnummer 
250238965212
Ich habe da keine Aktien dran, habe von dort aber 2 Displays bezogen, 
allerdings ist der Preis inzwischen um 2 Euro gestiegen???

Nun zur Sachen. Eigentlich sollte es nur eine "analoge Radioskala mit 
Zeiger und Sendernamen" werden, dann ergaben sich aber noch ein paar 
Überlegungen mehr.

Stand ist jetzt: seriell Ansteuerbar, übliche Terminal-Kommandos und 
einige ESC-Sequenzen.

CPU: Mega8515 mit 16MHz (minimal 12MHz).
externer Ram: 8K oder 32k
externer paralleler Flash: 128kx8 oder 256kx8
Seriell In/Out mit RS232-Pegel oder seriell In mit TTL-Pegel
Baudrate 38400
CPU-Last durch Display-Refresh ca. 35%

Der externe Flash dient als Font-Speicher und für feste Bildschirme.
Vom Ram werden z.Z. nur 8k genutzt für 2 änderbare Bildschirme.
Umschaltung zwischen den Fonts, Screens (das sind die beschreibbaren 
Rambereiche) und Dispalys (das sind die angezeigten Bereiche) mit 
ESC-Sequenzen.
Programmieren des parallen Flash mit dem AVR über Terminal-Programm.

Curosr-Steuerung Pixelgenau möglich, Fontgrößen bis (vorerst?) 32x48 
werden in beliebiger Folge geschrieben.

Einiges davon fehlt noch, z.B. die pixelgenaue Font-Positionierung.

Das kommt demnächst noch nach, auch einige minimale Grafiksachen.
Displayverknüpfungen sind noch nicht drin, aber mit wenig Aufwand zu 
programmieren (AND/OR/XOR zwischen beliebigen Screens).

Was ich noch angedacht habe; den Kram mit der Benedikt K. Ansteuerung 
vom 640x480 oder 320x240 in Graustufen zu kombinieren...

Vielleicht interessiert ja auch Benedikt K. der Kram. :-)

Es wäre auch kein Problem, das alles nach C zu portieren, der nötige 
ASM-Teil ist die IRQ für den Refresh und 5 fest genutzte Register, an 
den Registern ließe sich aber noch was machen.

So, nun zerreißt mich für das noch unfertige Machwerk. ;)

Gruß aus Berlin
Michael
Angehängte Dateien:
OP #854089
Lesenswert?

Hallo,

noch ein Bild von Teraterm beim Flash programmieren.

Die Flash stammen von alten Mainboards, bisher getestet sind:

128kx8, SST 29EE010-150
128kx8, ATMEL 29C010A-12
128kx8, Winbond W29C020-12

alle laufen interessanterweise stabil bei 16MHz ohne Waitstates und 
lassen sich auch so zuverlässig programmieren...

Gruß aus Berlin
Michael
Angehängte Dateien:
Gast #868796
Lesenswert?

Ja. In der Zwischenzeit hab ich das auch verstanden. Bei diesem Display 
ist in dem Sinne kein Grafikcontroller (o. ä.) drauf und die Ansteuerung 
muss selbst erstellt werden.

Da ja etwa 5 kiB notwendig sind um den gesamten Displayinhalt 
vorzuhalten benötigt man ja einen Controller mit 8 kiB SRAM (wenn man 
ihn nicht extern haben möchte). Dazu ist z. B. ein mega640 auf der 
Website von Atmel. Hat jemand eine Idee, wo ich ihn als Privatperson 
kaufen kann? Bei Reichelt und weiteren kleinen Anbietern habe ich ihn 
nicht finden können :-(

Steffen.
OP #869153
Lesenswert?

Hallo,

ist richtig, 480/8 = 60 Byte pro Zeile * 64 Zeilen = 3840 Byte.

4k reichen also. Mit dem Rest (256 Byte) kommt man zumindest in ASM auf 
jeden Fall aus, über das Verhalten von C kann ich dazu nichts sagen.

Ein sinnvoller Font kostet noch einiges an Flash, da sind aber 8k auch 
mehr als ausreichend, die haben die 4k-Ram-Typen sowieso.

Gruß aus Berlin
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren