Forum: Mikrocontroller und Digitale Elektronik Display-Controller (Cache) Selber bauen


von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

Habe ein serielles "passives" S/W Display mit 512x256 Pixel rumliegen,
http://www.planar.com/products/docs/ibu/current_manual/el/EL512.256-H_020_0354_00A.pdf
und wollte dieses nun zusammen mit einem AVR ansteuern der sich rein um 
das Display kümmert......
Ich hätte mir ne gleich ein fertiges Platinenlayout ausgedacht, für 
Lochraster, dementsprechend dann die Software gebaut...

Dazu hab ich grad noch 2 "serielle" 64k RAMs irgendwo gefunden.. 
(265x265bit)
http://pdf1.alldatasheet.com/datasheet-pdf/view/167176/PANASONIC/MN4164-15.html

Also weil das passive Display ständig mit seriellen Pixeldaten versorgt 
werden muss, und ich diese auch ständig im Ram refreshen müsste, könnte 
ich doch irgendwie den Ausgang des Rams direkt am Eingang des Displays 
dranhängen, und die Row / Column-Adresse im Ram einmalig schreiben, und 
hinterher nur noch Refreshen. - also auch ohne dass der AVR dann was 
machen muss..? (Display-Cache) außer beide Ram´s für jeweils linke und 
rechte Hälfte des Displays zu Refreshen, oder eben ggf. nur erneuern.
Angenehm wäre dabei dann auch, dass ich einzelne Chars, Images, Etc 
einzeln irgendwo in den Ram schreiben kann, bis die "Page" fertig ist 
zum ausgeben... Meine Frage ist daher, ob ich diese Ram´s irgendwie 
sinnvoll fürs Display direkt "Hardware gebunden" einsetzen kann, oder ob 
es sich rentiert?

Eine andere (bestimmt zu aufwändige) Idee war noch, auch die 
Ram-Adressierung komplett Seriell zu machen... Ist es sehr aufwändig, 
einen (oder meherere) 8Bit-Counter (z.B. 74HC393 ??) für die 
Adressierung zu verwenden? Also weil auch einfach (immer komplett) 
hintereinander alle Adressen /Colums durchlaufen müssen !?
Kann man die Ram-Steuerleitungen auch irgendwie sinnvoll (z.B mit 
Encodern oder Shiftregistern mit Output-Latches ansprechen?) IO´s 
Spaaren!
Ist eine sinvollle "HW"-Selektion von allen Adressen/Colums mit beiden 
Rams/Displayhälften rein übers -Clock Signal und diverse TLL-ICs einfach 
realisierbar?

Also ungefähr dass ich hinterher nur:
-Write, -Serial In, -Clock, und -Clockreset IO-mäßig -einmalig- zur 
permanenten Displayausgabe ansteuern müsste? Und die ganze Selektierung 
über ne Schaltung?

(Und hinterher nur noch die Übertragung von Ram zu Display Refreshen, 
rein über -Clock) Also es wäre (dann schon mal fast) ein aktives 
Display, über irgendwelche TLL-Teile.

Würde gerne am Ende nur die eigentlichen Pixeländerungen ansteuern + 
übertragen müssen...Irgendwie stell ich mir das grad so vor... 
Prinzipiell die Frage ob es Sinn macht die Ram´s in einer der beiden 
beschriebenen Arten zu nutzen.

Hatte bisher noch kein komplett Controller-loses Display genommen, 
vorallem nicht so groß. Hab diverse Tipps Infos über GLCD´s 
angeschaud... Das mit der Ausgabe von Pages im Ram mit Fonts, etc... Hab 
auch noch keinen RAM in der Form angesprochen, aber wird scho.. Font´s 
hätt ich im AVR gelassen, oder I2C-EEPROM. Gern nehm ich alle Ideen und 
Tipps auf, besonders bezüglich einer TLL-Schaltung, denn hab noch 
diverse (größere) ähnlich / oder genau gleich ansteuerbare Displays, 
darunter auch paar RGB bekommen.
Würde die gerne verbrauchen für KlarText-Terimal(s), etc...

Liebe grüße

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

512px x 256px x 70Hz ~ 9 MHz

So ein Pixeltakt von 9 MHz ist aber schon heftig für nen AVR.

Ein CPLD mit SRAM (16kB oder 2x16kB) wäre keine bessere Wahl ?

von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

VS frequency:  typ. 70Hz,  max. 75 Hz
Minimum ist nicht angegeben, darf ich nicht etwas runter gehen??
Vorher war irgend ein Steinzeit Z80 auch direkt am Display.
Muss doch machbar sein ^^

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

wars nur ein Z80 oder war da noch bisschen drumrumm ?
Die Alte Hardware liese sich vielleicht nutzen auch mit einem AVR.

von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

> 25 weitere ICs neben dem Z8..
Als ein zigste käme warscheinlich der "Nec d72020GC-8" dafür in frage...
Finde (auch) dazu kein Datenblatt, und weißnet ob das SMD-Teil + dessen 
4 Rams (81C4'256A-60) noch leben wenn ich die rausbügel... Man kann auch 
leider nur die Leiterbahnen sehen, die ganz nah bei den IC´s zu deren 
Beschaltung sind, weil außen beidseitig so weit wie es geht mit GND 
beschichtet... Also man sieht keine Verbindungen zwischen den 
Controllern, und man kann nur grob anhand von der Position der 
jeweiligen IC´s deren Funktion erkennen... etc.. Das Board ist verdammt 
alt. ;-)

Für die Teile die da drauf sind dann nochmal das Routinen-Schreiben 
anzufangen kommt momentan nicht so in Frage, bzw. wäre einfach pures 
Reverse-Engineering anhand von messen, Das ist einfach zu aufwändig, und 
nicht mehr rentabel.

Dennis Heynlein schrieb:
> Ein CPLD mit SRAM (16kB oder 2x16kB) wäre keine bessere Wahl ?

Hab noch irgend ein Example-Test-Board, wo ein XC2C256 drauf ist...
dann noch eines mit einem XC2S100

Aber ich habe (noch) keine Ahnung, wie man damit umgeht...
Weißnich ob ich die mir mal antuhe...

Gruß

von Sascha W. (sascha-w)


Lesenswert?

Tim S. schrieb:
>> 25 weitere ICs neben dem Z8..
> Als ein zigste käme warscheinlich der "Nec d72020GC-8" dafür in frage...
genau ...
http://www.datasheet4u.net/download.php?id=526849

Sascha

von W.S. (Gast)


Lesenswert?

Tim S. schrieb:
> Gern nehm ich alle Ideen und
> Tipps auf, besonders bezüglich einer TLL-Schaltung

Na dann nimm mal meinen Tip auf:
Versuche, dich mit CPLD's anzufreunden. Welche Firma, ist deine Sache, 
aber bei Xilinx kriegst du ohne viel Brimborium auch noch eine ältere 
Version der Entwurfs-Software "WebPack" heruntergeladen und die braucht 
keine Registrierung, keine Lizenz nix dergleichen. Die neueren Versionen 
gehen auch, aber sind extrem umfänglich, die derzeitige paßt m.W. nicht 
mal mehr auf eine DVD. Bei den übrigen Firmen hast du immer ein 
Gewurschtel mit Lizenzfiles, die nach einiger Zeit verfallen. Aber guck 
erstmal, was du an Chips zu kaufen kriegst. Für ne Display-Ansteuerung 
brauchst du nach meiner Schätzung so zwischen 120 und 140 Makrozellen. 
Zum CPLD dann einen RAM, aber nimm nen statischen, also kein DRAM, SDRAM 
usw. CPLD's haben 2 riesige Vorteile: Du kannst den Pins ihre Funktionen 
zuweisen und damit dir das Layout schön einfach machen und du kannst, 
wenn du dich in der inneren Schaltung mal geirrt hast, das Ganze einfach 
umprogrammieren, ohne eine neue LP machen zu müssen.


W.S.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

XC2 fällt eventuell aus, der ist glaube nicht mehr 5 V-kompatibel.
Aber so im Prinzip ist das nen guter Anfang :)
Schade das Pollin die XC-Experimentierplattform nicht mehr im Angebot 
hat.
Da war RAM mit drauf.

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.