Forum: Mikrocontroller und Digitale Elektronik Grafik-Displays ansteuern mit 8051


von Tobias (Gast)


Lesenswert?

Hi Leute!

Vor einiger Zeit habe ich mal mit einem M16C ein 16x2 LCD betrieben.
Mein neuer Anreiz ist jetzt ein Display mit einem 8051 zu betreiben und
damit so richtig Spaß aufkommt soll es gleich ein Grafik-FARB-TFT sein.
Ein STN-LCD in Farbe würde es auch tun, aber TFT ist halt moderner.
Die Problematik daran ist jetzt, dass ich mich damit überhaupt nicht
auskenne und die "normalen" Panels keine fertigen Controller
besitzen. Ich brauche also einen zusätzlichen Baustein, der mir eine
Schnittstelle zum 8051 zur Verfügung stellt, um z. B. Text oder Grafik
auszugeben.
Meine Frage ist jetzt: Ist ein Epson s1d13xxx dafür geeignet und wie
macht man sowas dann?

Gruß Tobias

von Benedikt (Gast)


Lesenswert?

Ein S1d13504 mit 2MB DRAM kann problemlos 800x600 TFTs ansteuern.

Dafür eine Platine entwerfen ist zwingend notwendig. Wenn du diese
hast, sollte der Rest kein Problem sein.

Da du ja selbst schreibst, auf dem Gebiet noch unerfahren zu sein:
Fang besser mal klein an: SED133x mit 320x240 LCD.

von Tobias (Gast)


Lesenswert?

Hey, danke für deine Antwort Benedikt.

Eine kleine Platine werde ich auf jeden Fall entwerfen, mit dem 8051
und einigen anderen Features. Allerdings reicht mir ein Display mit
320x240 für meine Zwecke vollkommen! Es sollte eben nur in Farbe sein
und etwa 5" Diagonale haben, damit man auch was sehen kann.

Sind die SED133x nicht nur für monochrome Displays einsetzbar oder wie
mache ich das dann mit der Farbe?

von Benedikt (Gast)


Lesenswert?

Der SED133x kann nur SW, der war dafür gedacht, um sich etwas mit dem
Thema LCD vertraut zu machen.
Hast du schonmal ins Datenblatt vom S1D1370x, S1D13504 o.ä geschaut ?
Wenn du da sofort alles verstehst, kannst du gerne direkt mit den
großen Controllern anfangen.

Ich hatte damit zumindest am Anfang ziemliche Probleme, weshalb ich
erstmal mit dem SED133x ein paar Erfahrungen gesammelt habe.

Der S1D13705 sollte für ein 320x240 LCD mit 256 Farben ausreichen, da
er intern 80kB SRAM hat.

von Tobias (Gast)


Lesenswert?

Ja, das Datenblatt habe ich mir letzte Woche schonmal runtergeladen.
Auch die von diversen anderen Controllern, allerdings verstehe ich
nicht so ganz wie das mit den ganzen Funktionen gedacht ist.

Ah, habe hier das pdf von dem s1d13706...

Das ist ja im Prinzip ein eigener Mikrocontroller, mit integriertem
LCD-Interface (oder als Interface). Also ist kein weiterer Treiber-IC
mehr nötig. Kann ich den denn jetzt so programmieren, dass ich ohne
weiteres meine Daten von dem 51er rüberschieben kann oder wie?

Habe eben noch in deinem thread mit den ISA-Karten geschmöckert... auch
sehr interessant! Vielleicht wäre das noch eine Lösung, wenn man richtig
große Anzeigen ansteuern will.

von Olaf (Gast)


Lesenswert?

Ein Grafikdisplay mit 320x240 Punkte an einem MCS51 ist unsinn!

Zum einem braucht man bei einem Grafikdisplay relativ viel Ram, zum
anderen braucht es auch einiges an Rechenzeit wenn man immer mit
einzelnen Pixeln hantiert.

Damit will ich nicht sagen das dies unmoeglich ist, oder bei einem
bestimmten genau definiertem Projekt nicht auch mal sinnvoll sein kann.
Aber so ganz allgemein ist der Prozessor damit schon ueberfordert.
Andererseits lernt man so vielleicht effizientes programmieren. :-)


Olaf

von Tobias (Gast)


Lesenswert?

Hallo Olaf. Ich danke dir für deine Kritik!

Ja, das mag sein, aber ich habe hier nun mal einen 8051 zur Verfügung.
Sinn und Zweck der ganzen Kiste ist eigentlich auch nur ein paar Werte
von dieser MCU entweder in grafischer oder in Form von Text
auszugeben.

Zusätzlich sollte das ganze dann schön bunt sein, weil das modern ist
und einfach besser aussieht. Dieses Epson-IC soll doch brav meinen
kleinen Proz entlasten und quasi die Display arbeit übernehmen. Oder
habe ich da was falsch verstanden?

von Benedikt (Gast)


Lesenswert?

Das IC macht das, aber du musst erstmal die Daten in Bilder umwandeln
und an den LCD Controller übertragen.
Dazu muss du z.B. auch den Text, also die einzelnen Buchstaben
erzeugen.
Eine 8x8 Schriftart ist klein und aus etwas Entfernung kaum lesbar, es
sollte also schon etwas größeres sein. Diese benötigt 2kByte an
Speicher. Verwendet man eine 16x16 Schriftart sind es schon 8kByte.

Um die kompletten 320x240 zu aktualisieren muss der uC rund 80kByte an
Daten berechnen. Das kann dann schonmal eine Sekunde dauern....

von Tobias (Gast)


Lesenswert?

Aja, verstehe. Nun gut, aber kann ich denn diese Schriftart nicht in den
Epson-Controller integrieren?

von Olaf (Gast)


Lesenswert?

Das haengt vom Controller ab. Ein Epson SED1335/6 z.B hat auch einen
Textmode. Da kann man dann sagen mach ein A und er macht das. Sieht nur
etwas kacke aus. Ich glaub deutsche Sonderzeichen kann er aber nicht.
Man kann den Controller auch sagen das er Zeichen und Grafikseiten
gemischt darstellen soll.

Es ist auch nicht immer noetig ein Display komplett zu beschreiben.
Allerdings sollte man sich dann z.B verkneifen mit Fenstern zu
programmieren. Also z.B nicht ein Fenster aufmachen das ein anderes
ueberlagert und wenn man es zumacht soll das alte wieder sichtbar
werden. Solche Spielchen kosten Zeit und Ram.
Wenn man dagegen nur mit festen Masken arbeitet die man einmal aufbaut
und wo sich dann nur bestimmte Zahlen oder Texte in kleinen Bereichen
aendern ist das aber wohl machbar.

Man sollte naemlich bedenken das allein schon die Routine die ein
einzelnes Pixel setzt, deutlich aufwendiger ist als bei einem 2x16Z
Display mit Hitachicontroller einen ganzen Buchstaben auszugeben.
Und fuer einen Buchstaben muss man das dann 8x8mal machen. :-)

Olaf

p.s: Epson SED1335/ist uebrigens wegen ROHS abgekuendigt.

von Tobias (Gast)


Lesenswert?

Achso hatte mich schon gewundert, warum die die Serien-ID geändert
haben...

Nee, also ich hatte eigentlich nicht vor großartig einen auf
Betriebs-System zu machen mit Fenstern oder derartiges. Mir genügt ein
einfaches, schickes Bild. Wenn's dann nötig sein sollte muss eben der
ganze Bildschirm umgeschaltet werden.

Wie ich dem Datenblatt von dem 13705 entnommen habe, kann der aber auch
Grafik mit Text simultan darstellen. Mit diesen Feinheiten gebe ich mich
aber noch nicht ab. Zuerst mal brauche ich die richtigen Bauteile, damit
ich loslegen kann. Deswegen interessiere ich mich ja dafür, wie sowas
gemacht wird.

Also: Den MCU habe ich schon und LED zum blinken zu bringen o. ä. ist
langweilig. Jetzt kommt ein grafik LCD in Farbe!...

Der 13705 arbeitet mit einem 16-bit Datenbus und ich möchte eigentlich
über einen 8-bit Bus arbeiten. Das ist schon nicht gut. Möglicherweise
besser einen anderen.

von Benedikt (Gast)


Lesenswert?

Wenn man auf so Spielereien wie Pixel setzen verzichtet, und die Daten
einigenmaßen passend im Programmspeicher ablegt, (also keine Trutype
Schriftart verwendet, die Schriftgröße auf Bytegrenzen auslegt usw.)
dann geht auch die Textausgabe im Grafikmodus recht flott. Davon
abgesehen, hat der S1D133x auch einen RAM für einen Zeichensatz bis
16x8 Pixeln.

P.S: Nachfolger vom SED133x/S1D133x ist der S1D1700, der hat zwar ein
internes RAM, kann aber auch nur SW. Mit einem Trick geht zwar auch
Farbe aber dann wird die Ansteuerung etwas kompliziert.

von Tobias (Gast)


Lesenswert?

Hey, DAS hört sich doch schon gut an! Ich habe inzwischen auch wieder
ein bisschen rumgestöbert und ein paar Datenblätter überflogen. Dabei
ist mir besonders das von dem s1d13711 aufgefallen.

Dieser Baustein kann zwar auch wieder viele unnötige Spielereien, wie
zwei Displays ansteuern und SwivelView u. ä. ABER: Vor allen Dingen hat
es schonmal 160KB RAM und eine 8-Bit direkt-Schnittstelle für meine
MCU!

Das Gerät ist für Handys gedacht (deswegen zwei Displays) und kann
320x240. Also vielleicht schon gut geeignet für meine Zwecke. Ich suche
noch nach dem echten Datenblatt für den, weil die nur so ein komisches
Briefing zur Verfügung stellen.

von Benedikt (Gast)


Lesenswert?

Das IC scheint nicht das richtige für dich zu sein:
Was bist du denn bereit auszugeben ?
In kleinen Stückzahlen wird es bestimmt einige 10€, vermutlich >50€
kosten.

Was auf jedenfall schonmal komisch ist:
Man braucht ein Passwort um das Datenblatt runterzuladen.
An das IC ran zu kommen wird vermutlich noch schwerer sein.

von Mark de Jong (Gast)


Lesenswert?

Hallo

Der s1d13711 gibt es aber nur im FCBGA120, schön zum löten.

und spannungen von 1,8 und 2,7 volt

Grüße Mark,

von Tobias (Gast)


Lesenswert?

FCBGA? Naja, das ist natürlich nicht so günstig. Aber die Spannung ist
in Ordnung. Danke für die Info Mark! Mein Proz ist übrigens im QFP-
oder TQFP-Gehäuse.

@Benedikt:
Über den Preis habe ich mir noch keine richtigen Gedanken gemacht.
Zuerst brauche ich eine funktionsfähige Lösung, dann kann ich wegen der
Kosten heulen ;-)

Aber was das Datenblatt angeht, bin ich mittlerweile etwas weiter
gekommen. Ich habe zwar immer noch keins, aber wenigstens weis ich,
dass Epson diesen Chip für Sony-Ericsson produziert hat. Und zwar sind
die z. B. im T610 verbaut.

Habe mich jetzt mal auf die Suche begeben, um einen anderen
LCD-Controller zu finden...

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.