www.mikrocontroller.net

Forum: Codesammlung "serielles" Display 640x64 UMS 7064 in ASM

Autor: Michael U. (amiga)
Datum: 27.04.2008 20:38
Dateianhang: Display.zip (220,6 KB, 56 Downloads)

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
Autor: Michael U. (amiga)
Datum: 27.04.2008 20:39
Dateianhang: schaltung.png (20,1 KB, 105 Downloads)
preview image for schaltung.png

Hallo,

die momentane Schaltung für die "schnell mal schauen" ;)

Gruß aus Berlin
Michael
Autor: Michael U. (amiga)
Datum: 27.04.2008 20:40
Dateianhang: hinten_2.jpg (42,3 KB, 90 Downloads)
preview image for hinten_2.jpg

Hallo,

von hinten noch mit nur 9k Ram und ohne 74ACT04.

Gruß aus Berlin
Michael
Autor: Michael U. (amiga)
Datum: 27.04.2008 20:42
Dateianhang: teraterm.png (12,5 KB, 66 Downloads)
preview image for teraterm.png

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
Autor: Steffen (Gast)
Datum: 14.05.2008 14:35

Hallo Michael,

du schreibst, dass die Last wegen dem refresh bei 35 % liegt. Ist ein
refresh zwingend notwendig da sonst die Inhalte verschwinden?

Gruß
Steffen.
Autor: Benedikt K. (benedikt)
Datum: 14.05.2008 15:28

Ja, das ist bei LCDs zwingend notwendig, da immer nur eine Zeile
gleichzeitig angezeigt werden kann.
Autor: Steffen (Gast)
Datum: 16.05.2008 12:52

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.
Autor: Joerg Wolfram (joergwolfram)
Datum: 16.05.2008 13:38

Meiner Rechnung nach braucht man nur

480*64/8 = 3840 Bytes RAM für das Display

Somit sollte ein Controller mit 4K RAM reichen, allerdings bleiben nur
noch 256 Byte für anderes übrig.

Gruß Jörg
Autor: Steffen (Gast)
Datum: 16.05.2008 13:41

:-)

Stimmt. Dann geht ja auch ein kleinerer. Es bleibt zwar nicht mehr viel
übrig für andere Sachen - aber das ist dann wenigstens eine
Herausforderung.

Danke für den Hinweis.
Autor: Steffen (Gast)
Datum: 16.05.2008 13:42

Mist - wieder zu schnell geschrieben. Das Display hat aber 640x64/8 (?)
= 5120 kiB.
Autor: Joerg Wolfram (joergwolfram)
Datum: 16.05.2008 16:13

Nein, da habe ich mich versehen (zzw. "verlesen"). Die Displays, von
denen ich einen ganzen Karton ersteigert hatte, sind UMS7024 und haben
480x64 Pixel.

Gruß Jörg
Autor: Michael U. (amiga)
Datum: 16.05.2008 16:52

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

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

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net