Forum: Mikrocontroller und Digitale Elektronik KS0108 die Frage des Chipselect


von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Ist es beim KS0108 wirklich zwingend notwendig die beiden 
Bildschirmhälften nacheinander anzusteuern ?
Geht das nicht auch Parallel ? (Mit beiden CS angewählt)
Vorausgesetzt natürlich man nutzt es nicht für Leseoperationen.

Ich frage zu einer Konfiguration von 2 KS0108 wie sie in 128x64px 
Display zu finden ist.

Gruß Dennis

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dennis Heynlein schrieb:
> Ist es beim KS0108 wirklich zwingend notwendig die beiden
> Bildschirmhälften nacheinander anzusteuern ?
> Geht das nicht auch Parallel ? (Mit beiden CS angewählt)

Wenn beide Controller das gleiche machen sollen ...

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Rufus Τ. Firefly schrieb:
> Dennis Heynlein schrieb:
>> Ist es beim KS0108 wirklich zwingend notwendig die beiden
>> Bildschirmhälften nacheinander anzusteuern ?
>> Geht das nicht auch Parallel ? (Mit beiden CS angewählt)
>
> Wenn beide Controller das gleiche machen sollen ...

Ich deute das mal als ein eher ja.
Werde das mal ausprobieren mit u8glib (Pagebuffered) und eigenem 
Treiber.
So weit hab ich die Schreibzeit schon um 80% gedrückt.
Jetzt versuch ichs mit Parallel-Update noch weiter zu drücken.

von Axel S. (a-za-z0-9)


Lesenswert?

Dennis Heynlein schrieb:
> Ist es beim KS0108 wirklich zwingend notwendig die beiden
> Bildschirmhälften nacheinander anzusteuern ?
> Geht das nicht auch Parallel ?

Klar geht das. Wenn du auf beiden Displayhälften jeweils das gleiche 
darstellen willst ... Aber Scherz beiseite: zum schnellen Löschen des 
Displays kann man das durchaus machen.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Axel Schwenke schrieb:
> Dennis Heynlein schrieb:
>> Ist es beim KS0108 wirklich zwingend notwendig die beiden
>> Bildschirmhälften nacheinander anzusteuern ?
>> Geht das nicht auch Parallel ?
>
> Klar geht das. Wenn du auf beiden Displayhälften jeweils das gleiche
> darstellen willst ... Aber Scherz beiseite: zum schnellen Löschen des
> Displays kann man das durchaus machen.

Ich habe das RW fest verdrahtet.
Ich spekuliere darauf daß ich nur ein Busy-Wait (1/fckl<=busy<=3/fckl) 
pro zwei Bytes brauche, auch wenn die zwei Bytes sich unterscheiden.

von Axel S. (a-za-z0-9)


Lesenswert?

Dennis Heynlein schrieb:
> Axel Schwenke schrieb:
>> Dennis Heynlein schrieb:
>>> Ist es beim KS0108 wirklich zwingend notwendig die beiden
>>> Bildschirmhälften nacheinander anzusteuern ?
>>> Geht das nicht auch Parallel ?
>>
>> Klar geht das. Wenn du auf beiden Displayhälften jeweils das gleiche
>> darstellen willst ... Aber Scherz beiseite: zum schnellen Löschen des
>> Displays kann man das durchaus machen.
>
> Ich habe das RW fest verdrahtet.
> Ich spekuliere darauf daß ich nur ein Busy-Wait (1/fckl<=busy<=3/fckl)
> pro zwei Bytes brauche, auch wenn die zwei Bytes sich unterscheiden.

Irgendwie reden wir aneinander vorbei.

Vermutlich meinst du gar nicht "parallel", sondern "verschachtelt"? Denn 
parallel (beide CE Signale gleichzeitig aktiv) kannst du ja nur die 
gleichen Daten an beide Controller senden (und damit auf beide Hälften 
des Displays das gleiche schreiben). Was wiederum nur in speziellen 
Situationen wie dem Löschen des Displays einen Sinn ergibt.

Beim verschachtelten Zugriff würde man erst einen Zugriff auf den ersten 
Controller machen, dann sofort einen auf den zweiten und erst danach das 
BUSY Bit des ersten abfragen. Unter der Annahme, daß beide Controller 
gleich schnell sind, kann man sich die BUSY Abfrage des zweiten 
Controllers dann gleich sparen.

Ja, das kann und sollte man tun. Wobei auch das nur wieder einen Sinn 
ergibt, wenn man größere Datenmengen auf einen Rutsch an das Display 
schickt. Z.B. wenn man double buffering im µC RAM macht und den Buffer 
mit dem Display synchronisiert. Wenn man hingegen direkt auf das Display 
zeichnet, dann wird man eher selten überhaupt auf beide Display-Hälften 
zur gleichen Zeit schreiben müssen.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

@Axel Schwenke

Beim meinem Aktuellen Fall der u8glib wird immer eine ganze Page im 
Speicher gehalten.
Fürs Updaten einer Page könnte man dann 64 Busy-Zyklen sparen.

Mein Grundlegende Frage ob die zwei Controller voneinander abhängig sind 
ist somit beantwortet.
Danke.

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.