mikrocontroller.net

Forum: Projekte & Code Nokia 6100 Ansteuerung in C


Autor: ape (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Soah!
war mal wieder fleißig :)
und da der andere Thread schon so zugemüllt is mach ich einfach nochmal
nen neuen auf :)
Im Anhang finden sich ein paar Funktionen, die die Ausgabe von
einfachen Grafiken und Text (mit verschiedenen Schriftarten) auf einem
(bunten) Nokia6100 Display ermöglichen.
das Display läuft im 256 Farben Mode (erleichtert die Ansteuerung enorm
und 256 Farben reichen locker aus) und wird zum größten Teil über SPI
angesteuert.
Ein kleines Test Programm für den mega128 liegt bei.
weitere Details und zukünftige Updates gibts auf meiner Seite:
http://www.apetech.de/nokia6100.php (Werbung rockt! :P)
Konnte leider noch keine Bilder machen aber das ganze läuft schon recht
gut (Hab aber noch nicht sehr ausführlich auf evtl. Fehler getestet)

Natürlich bin ich für Fragen Anregungen und Kritik offen :)

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ape,
klingt interessant, ich warte auf die Bilder.
Aber sag mal, wann schläfst du eigentlich? :-))
Gruß,
Arno

Autor: ape (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so nu gibs auch bilder z.B. dieses hier :)

Autor: Martink (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ape

das Bild sieht wirklich gut aus!!!
Du schilderst auf deiner Homepage, dass das Display
sporadisch zu Ausfällen neigt. Genau das passiert auch
ab und zu mit meinem Display, wenn ich es einschalte
und gleichzeitig meine Schreibtischhalogenlampe an habe.
Offenbar stört der Halogentransformator die Initialisierungs-
routine des Displays.

Martin

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mhmm also ich fürchte ich hab mein Display jetzt ganz kaputt gemacht.
jedenfalls krieg ich es nun gar nicht mehr gestartet. hab eben ma
versuchsweise schreibtischlampe ausgemacht pc und monitor aus, aber das
brachte auch nicht den erhofften effekt.
allerdings ist mir schleierhaft wie es kaput gegangen sein sollte...
bin einigermaßen ratlos.
trotzdem danke

ape

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also anscheinend ist es doch noch nicht den weg aller dinge gegangen
eben ist es mir mal wieder gelungen es aufzuwecken jetzt aber wieder
nicht mehr schon merkwürdig.
hab mitlerweile auch die kabellänge verkürzt, das brachte auch kleine
verbesserung.
ein timing problem dürfte es auch nicht sein da ja sonst eigentlich die
reduzierung der taktrate des prozessors abhilfe schaffen sollte -
tutsie aber nicht.

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte es sein, dass es zu warm wird aus irgend einem Grund?
Gruß,
Arno

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne da wird nichts warm der größte stromabnehmer is die
hintergrundbeleuchtung mit ca. 15mA

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo ape,

habe das nokia 6100 display mal angeschlossen. hängt bei mir an nem
AT90S8535 mit 4 Mhz an Portc. Wenn ich einen Reset am AVR mache, dann
kommt das testbild. aber nur ca. 1 sekunde lang. dann geht das display
wieder aus ( also die hintergrundbeleuchtung bleibt an ).
was kann das sein ?

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi nochmal ich,

also ich habe vergessen zu erwähnen, das ich das Bascom Beispiel vom
Martin benutze. ich hab jetzt mal ein bisschen rumgespielt und mein
Fehler ist weg. lag an der letzten Zeile im Code. die hab ich gelöscht
un siehe da, das testbild bleibt. habe aber eben auch den aussetzfehler
den ape schon angedeutet hat bemerkt. komisch. naja. würde mich auf
jedenfall mal brennend interessieren, ob ape auch ein paar
beispielcodes für Bascom rausrücken könnte :-))) oder benutzt du gar
kein Bascom ape ? würde gerne nen Bild oder nen Text aufm Display
stehen haben. help ...

mfg Kay

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry hab 0 ahnung von basic :)
daher ja das ganze in C...
wenn ich muße hab werd ich mal versuchen die leitungen noch nen ende
kürzer zu machen und das ganze ein wenig zu schirmen, aber was mir ein
bisschen sorgen macht ist, das der fehler am anfang gar nicht auftrat
dann ab und zu mal und mittlerweile gehts nur noch ganz selten :/
Heute ist recht trockene Luft und ich hol mir ständig irgendwo nen
schlag, aber wenn ich da esd mäßig was verbrutzelt hätte sollte es ja
eigentlich gar nicht mehr gehen und nicht nur meistens nicht oder?
alles sehr merkwürdig...

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi ape,

würde gerne deine main.c mal probieren. ich kenn mich mit c net aus.
wie kann ich das anstellen ?

mfg Kay

Autor: ape (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
1) du lädst dir winavr runter und installierst das.
1 1/2) möglicherweise neu starten
2) du lädst dir dieses archiv runter und entpackst das irgendwohin und
führst das batch file aus, wenn alles glatt geht hast du danach u.a. ne
datei namens n6100.hex in deinem verzeichnis, die du
4) mit dem programmier-programm deiner wahl in den chip brennst.

du hattest oben gesagt das du nen 8535 benutzt, hab mein programm
entsprechend geändert, es wird ohne fehler übersetzt aber habs
natürlich nicht getestet obs auch wirklich funktioniert.
ich musste aber die texte auskommentieren die hat das RAM nich mehr
gepackt (war zu faul die jetzt ins Flash zu verfrachten)
ansonsten is der 8535 ja ganz schön klein.... nur 8kb. der is mit dem
programm fast voll :) (aber nur weil die stdio noch drin is, die man
jetzt eigentlich nich mehr braucht da texte eh nich gehen)

Musst das Display jetzt aber an PortB hängen. SCLK an PortB.7, SDATA an
PortB.5, CS an PortB.4, und Reset an PortB.3

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also hab das kabel jetzt nochmal erheblich gekürzt (hab ein paar drähte
gedreht und kann jetzt das display direkt auf den portb stecker vom
stk500 stecken) brachte wie erwartet auch nichts. hätt mich auch
gewundert da es anfangs ja auch ohne problemlos ging. also scheint
tatsächlich das display kaputt zu sein.
ich hatte gestern aus versehen mal kurz 5V und für längere Zeit 4V als
Versorgungsspannung dran danach gings aber eigentlich immer noch. nur
wurden die ausfälle immer häufiger. ich vermute ma das der booster
etwas gelitten hat und nun nicht mehr richtig anspringt, anders kann
ich mir dieses langsame kaputtgehen nicht erklären. leider lässt sich
meines wissens bei diesem display nicht die kontrastspannung an einem
pin abgreifen, wie beim 3510i, oder kennt da jemand einen trick?

mfg ape

PS: Ich schlafe nie Muhahahahaha
Nein ich muss mich ja für mein zukünftiges Studentendasein vorbereiten
:)

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hey ape,

also es funzt. aber ich würde gern Bascom weiterverwenden. gibt es denn
keine möglichkeit, mir beizubringen, wie ich nen text mit hilfe von
Bascom aufs display schreiben kann ? :-))

mfg Kay

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lol
naja du musst halt erstma ne schriftart definieren das machst du mit
einem ziemlich großen array. 1 bit steht dann jeweils für ein pixel,
also eine 1 pixel malen eine 0 kein pixel malen, brauchst dann also bei
ner 6x8 pixel schriftart 6 8-bit werte für jedes zeichen.
naja und dann hast du halt ne funktion der du nen zeichen übergibst die
holt sich dann die entsprechenden werte aus deinem array und malt die
entsprechenden pixel.
wie gesagt ich hab keinen blassen schimmer von basic, frag mich also
nich wie das im detail geht.
ansonsten mein rat: lern C is die bessere Sprache :P

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

dann erklär mir mal bitte , wie ich den Text "Hallo Welt" mit C auf
mein Display bekomme. display hängt am porta. :-)
ich blick bei den vielen c dateien net durch

mfg Kay

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du benutzt aber nich meine ansteuerung oder?
die funktioniert an porta nämlich nich.
ich verwende die SPI Schnittstelle das is ca. doppelt so schnell wie
wenn du die daten per software zum display schaufelst, solltest du
vielleicht mal drüber nachdenken.
ansonsten naja wie ichs oben geschrieben hab nen array in dem die
zeichen definiert sind findest du in der font6x8.h und die funktion die
die zeichen aufs display bringt ist die n6100DrawChar(char) in n6100.c

du übergibst der funktion das zeichen das du schreiben willst und die
holt sich dann aus dem array die pixel daten für dieses zeichen und
schreibt die aufs display.

wenn du aber von C nicht so die ahnung hast solltest du vielleicht
nicht gerade mit der Ansteuerung eines bunten GrafikLCDs einsteigen.
das is vielleicht ein bisschen viel für den anfang...

mfg ape

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

ich hab zwar keine Ahnung von C aber ich bin ehrgeizig :-) ich hab nen
anderen AVR wie du, also muss ich die ports anders definieren. werde
das mal am ISP Port testen. merci

mfg kay

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ape
Hi ape, wie erfolgt bei Dir die übertragung via SPI? Darüber werden
doch nur 8 bit übertragen also fehlt ja noch eines denn das Display
will ja 9 haben. Sendest du das Command oder Data bit vorneweg Software
technisch und dann hinterher die restlichen 8 über SPI?

Wieviele Bilder(132x132 Pixel) kannst Du damit pro Sekunde übertragen?
Ich schaffe in Assembler mit Softwaretechnischer übertragung über die
Ports gerademal ~2/s, was mir eigentlich zu wenig ist.

Gruß Martin

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rechne es aus: 400KHz SPI maximal, sind 400.000 Bits pro Sekunde. Bei
256 Farben pro Pixel (8 Bit + 2 Bit)  132  312 = 174.240 Bits.
400.000 / 174.240 = ca. 2 fps.

Gruß Hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meine eine Animation mit 32x32 Pixel ist auch gut, und man kommt auf
akzeptable 40 fps.

Gruß Hagen

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi
also wie gesagt weitere experimente fallen bei mir erstma aus bis ich
nen neues display hab, framerate hab ich noch nich getestet. aber die
clearscreen funktion die ja das ganze display beschreibt hat 100ms
gebraucht.
ja ich erzeuge das erste bit in software und mache dann das spi an und
übertrage den rest damit, wobei ich das ganze mit etwas mehr als 400kHz
betreibe :) hab den spi prescaler so niedrig wie möglich eingestellt
und das spi2x flag gesetzt (gibs glaub ich nur bei den neueren megas)
damit ist ein spi takt 2 prozessor takte lang. bei 8MHz macht das 4MHz
SPI Clock. da kommt man mit Software nich hin :) Bin jetzt zu faul
auszurechnen was die maximale framerate damit is, zumal ja noch ne
ganze menge programm overhead dazu kommt aber es geht schon recht fix.
das display hat übrigens nur 130x130 pixel auch wenn der controller
132x132 ansteuern kann.

Autor: Dude (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mahlzeit!

Habe mir gerade das Board von Kai Sachsenheimer mit obigem AVR
zusammengebaut und mit einem HD44780 Display "aufgewertet".

Kann ich auch das Nokia 6100LCD anschließen. Und wenn ja, [bin
absoluter Neuling!] an welche Ports kommt das ganze. Habe noch
keine Schlatung für den Anschluss an einen mega128 gesehen.

Muss der C-Code von Apetech.de stark abgeändert werden?

Danke!

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also "das Board von Kai Sachsenheimer" sagt mir nich sonderlich viel,
aber im prinzip lässt sich das display ganz einfach an den mega128
anschleißen, dafür musste am code auch gar nichts ändern, da der auch
schopn für den mega128 ist.
hab mir nich die mühe gemacht nen schaltplan zu zeichnen, da der
anschluss echt trivial ist. steht übrigens auch auch apetech.de.
hardware -> nokia6100 LCD. einfach die pins vom display an die
entsprechenden spi pins, den reset dran und gut is :)
hat allerdings den nachteil das sich die pinbelegung nicht ändern lässt
du musst auf jeden fall ans spi (beim mega128 PortB), wenn du meinen
code benutzen willst

Autor: Dude (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soory, ich habe den AVR 90s8535. Meine frage ist nun ob das
überhaupt funktioniert? Da der Mega128 ja das ein oder andere
feature zusätzlich hat!

|bin halt ein Neuling!|

Danke

Autor: Dude (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ergänzung:

SPI hat der AVR 90s8535 auch;

was vom Display kommt den zB.:

-  MISO /PortB6
-  MOSI /PortB5
-  SCK /PortB7
-  SS /PortB4.

(obige Ports beziehen sich auf den 90S8535)

Danke

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achso na dann sind ein paar änderungen notwendig.
um die port pins anzupassen musst du in der n6100.h die nummern der
portbits entsprechend ändern. also SDATA auf 5, SCK auf 7 die andern
kannste so lassen oder auch ändern je nach belieben, darfst halt nur
nich MISO belegen.
ansonsten hat der 8535 glaub ich kein spi2x flag, das wird irgendwo in
der n6100Init() Funktion gesetzt wenn ich mich jetzt nich täusche. das
kannst du einfach auskommentieren. im zweifel eifach mal kompilieren
und gucken wo der fehler kommt :)
der rest sollte so gehen.
wobei du mit nem 8535, wahrscheinlich etwas in platznöte kommen
dürftest, wenn da noch was anderes rein soll als die eigentliche
ansteuerung des displays

mfg ape

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das n6100 kann mit 6.5MHz Sclk betrieben werden :)

Gruß hagen

Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe via ebay zwei LCD für das 6100 bekommen. Leider gibt es bei
diesen
Anzeigen keine Möglichkeit ein Flachbandkabel anzulöten. Die flexible
Leiterplatte sieht anders aus als die hier gezeigten.
Hat jemand eine Idee wo man so einen superkleinen Stecker für die
Anzeige bekommen kann oder wo man evtl. Schrott-Handys findet zum
Steckerausbau?

Danke

Rob

Autor: Mattias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
also ich habe mir jetzt auch mal so ein Display (6100) gekauft und
betreibe es jetzt schon einige Tage erfolgreich mit einem Mega8 der mit
dem internen 8 Mhz läuft. Habe keinerlei Ausfälle bemerkt. Ich habe den
originalen Code von ape verwendet. Lediglich die printf Funktionen habe
ich weggelassen und eine eigene Funktion erstellt, der man einen String
geben kann. Wenn ich die beiden Schriftarten einbaue habe ich dann noch
über 2k Speicher frei.

Ich betreibe den mega8 mit genau 3V und habe die Ports direkt mit dem
Display verbunden. Nur die LEDs bekommen ihre 6,5V.
Läuft prima. Grosses Lob an den Entwickler (ape)

Gruss Mattias

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

ist schon toll wenn man C kann. ich kann nur Bascom und werde das
wahrscheinlich net hinbekommen.

naja, viel spaß noch

gruß Kay

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Mattias,

versuche mal die Spannungsversorgung schnell hintereinander
ein/auszuschalten. Unter bestimmten Bedinungen wird dann das LCD nicht
anspringen. Ich nutze ebenfalls ein ATmega8L, 8MHz auf einem STK500
Board. Ich vermute mal das das STK500 beim Abschalten der
Stromversorgung die Spannung noch hält.

Gruß Hagen

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@mattias: danke für die Blumen :)

so hab mir eben auch 2 neue bestellt, mal sehen ob ich auch nur noch
den stecker habe. habe vor kurzem an einem ähnlich kleinen stecker
(0,5mm pitch) ein paar kupferlackdrähte angelötet. War ziemlich
anstrengend aber es ist möglich :) haba aber keine ahnung wo man den
passenden stecker herbekommt.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man sollte bei eBay die Display nehmen die an der Seite keine grüne
Lasche haben !?

Gruß Hagen

Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, die Displays die eine grüne fexible Leiterplatte haben,
habe keine Möglichkeit ein Flachbandkabel anzuschliessen. Bei
denen mit brauner Farbe (Kapton?!) geht das anscheinend.

Habe erste mal Fädeldraht an den Stecker am Display gelötet
(Leiterplatte). Das geht, ist aber keine leichte Arbeit!
Wenn man Stecker auftreiben würde, bestünde Interesse daran? Man muß
leider eine größere Stückzahl abnehmen! (und ein Platine zum Umsetzen
auf einen Stecker mit größerem Raster braucht man ausserdem)

Rob

Autor: AVRFreak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verkauft jemand ein Nokia Display 6100 ????

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
***WICHTIG***

Hab heute einen ziemlich bösen Fehler in meinem Programm gefunden.

Und zwar setzt der AVR die Datenleitung zu dem Zeitpunkt zu dem der
Display-Controller sie sampelt (und zwar zur steigenden Flanke von
SCLK).
Werde erst morgen dazukommen nen entsprechendes Update zu machen und
hochzladen, das ganze lässt sich aber auch einfach beheben, in dem in
sendData() und sendCommand() im SPI Control Register das CPHA Bit
gesetzt wird.

mfg
ape

Autor: Stefan Seegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geile Sache mit dem Nokia-Display! ...ist vor allem auch günstiger als
so ein 128x64 Grafik Display mit KS0108 o,ä., und in Farbe & Bunt !:-)

Aber nun Frage: Ich muss meinen Controller mit 5 Volt betreiben, aber
das Display verträgt ja nur bis 3.3 Volt. Die Versorgungsspannung für
das Display runterzusetzten sollte nun nicht das Problem sein, aber wie
krieg ich den SPI Bus von 5 V <> 3 V ? Mit Z-Dioden und Widerstand ?
Jemand sowas schon mal gemacht ? ...und vor allem hängt ja an der
Schnittstelle auch noch ein Programmiergerät dran, dass sollte
natürlich auch noch funktionieren ohne dass man das "Umspannwerk"
jedesmal abklemmt...

Viele Grüße
Stefan

Autor: Matthias Friedrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da man SPI keine bidirektionalen Leitungen verwendet werden reichen
einfache Spannungsteiler aus 2 Widerständen.

Autor: Roman Rohde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> aber wie krieg ich den SPI Bus von 5 V <> 3 V ?
z.B. mit dem 74VHCT244:
http://www.farnell.com/datasheets/9545.pdf

Gruss
  Roman

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Da man SPI keine bidirektionalen Leitungen verwendet werden reichen
> einfache Spannungsteiler aus 2 Widerständen.

Das stimmt in diesem Falle nicht ganz. Die MOSI/MISO Leitung ist
zusammengelegt, d.h. das Display hat intern beide Leitungen verbunden.
In der neuen GLCD Library wird davon Gebrauch gemacht um den Status des
Displays, eg. BOOSTER usw. abzufragen.

Alle anderen Leitungen sind Oneway.

Für I2C Busse gibt es bei Philips extra solche Level-Shifter, dort mal
suchen. Die scheinen eh die beste Lösung zu sein und arbeiten auch
bidirektional.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe soche levels immer mit Dioden entkoppelt.
Mit BAT 45 Dioden in richtung Atmel und 10 k widerstände in reihe nach
3Volt  , dann zwischen die Dioden und Widerstände die 3,3 Volt
anschlüsse vom Display, so ist 0 Level 0 ( Diode leitet ) und die 5 V
vom Atmel Port steigen bis max 3,3 Volt am Display...( Diode sperrt)
Ging mit dem Bakke Soft für 7110 Display prima...
Müsste doch hier auch gehen oder? sieht ihr Probleme?
Gruß..Aart

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
funktioniert doch aber auch nicht bidirektional oder?
und unidirektional gehts mit nur 2 widerständen als spannungsteiler
leichter

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß nicht so recht. Man möchte doch den Vorteil das das Display
eben bis runter auf 1.8V funktioniert und dabei weniger als 0.8mA
verbraucht doch nicht verschenken ??

In meinem derzeitigen Projekt, ein relativ universelles Steuerungsboard
mit ATmega8L, RS232, PWM Backlight, Software RTC, Beeper, 4 Taster und
I2C EEPROM's, habe ich absichtlich 3.2V als Spannungsversorgung
benutzt. Nach bisherigen Messungen und Berechnungen benötigt das Board
im Power Save Mode nur 30µA und bei vollem Betrieb mit Backlight on und
RS232 aktiv eben 36mA, bei 2.8 - 3.2 Volt.

Da die Ansteuerung des Displays doch ziemlich aufwändig ist, sprich
Grafik Fonts benötigen einiges an Speicher, ein grafisches Menusystem
benötigt einiges an Code und Konstanten, glaube ich das es besser ist
dem LCD eben ein eigenes Board zu geben.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi alle
@ ape .. dummerweise war + LED und - LED in dieser Anschlußplan
vertauscht , deswegen gabs kein Licht...
OK Werde meine Dioden rausschmeissen , und Spannungsteiler nehmen
10k und 680 ohm ok?
@ Hagen
Ja nen extra board ist prima , allerdings müssen die Boards wieder mit
einander kommunizieren ..
Mein Problem ist das LCD erstmal an mein ATmega16 ans rennen zu kriegen
( Ist eben auf mein Testboard druff ) habe SPI auf Port B umgestellt ..
aber mein 5V > 3 V Interface lief noch mit Dioden und  Widerstände (
Bakke design 7110 Display ), das ist bei 0 V aus dem Display nicht
bidirektionell.. da hatte ape recht , löte gerade um.. mal sehen obs
läuft.
Ich hatte dummerweise ein Display mit grüne Folie bekommen , also
stecker runter und Strippen dranngelötet.. fummelei eben.( Neues
bestellt)

Stromsparen kommt später , werde dann auch mal ein ATMEGA128 bestellen
und nen neues Testboard ätzen..

Dann brauche ich noch nene Rotary encoder routine und nen DDS Chip
drann um mein eigenbau KW-Funkgerät eine neue Frequenzaufbereitung zu
günnen.
weiter wollte ich das Display für ein eigenbau Tauchcomputer verwenden
, da muß Stom gespart werden  weil der Strom aus nen 7,2 Volt Lio Accu
von nen Siemens S4 kommen soll..
Es gibt viel zu tun..also ich löte jetzt die Widerstände drann und
hoffe auf Bild.

Gruß Aart

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den meisten Saft zieht das Display 0.8mA + Backlight ca. 30mA. Darum
habe ich in meinem Board von vornherein folgende Idee verfolgt.
Der Anwender benötigt das LCD nur wenn er vorhat es abzulesen. Es
stellt sich also die Frage WIE bekommt das Board mit das der Anwender
es ablesen will ? Ich werde es so lösen das ich ca. 2-4 mal pro Sekunde
eine IR Reflexions-Lichtschranke ansteuere. Die IR Diode sitzt links
neben 4 Tastern, der IR Transistor eben rechts. Bewegt der Anwender die
Hand ca. 5-20 cm vor dem Display so wird es aktiviert und das
Backlight/LCD hochgefahren. Die 30mA und -3.2V / +3.2V Versorgung des
Backlight habe ich inklusive über den RS232 Chip gelösst. Ein Tx Kanal
wird dabei per PWM durch den ATmega8L angesteuert. Vom Tx_Out zu V- am
RS232 Chip sind -LED und +LED des LCD's angeschlossen. Die Spannung
für's Backlight kann also stufenlos per PWM von 0 bis ca. 11 Volt
eingestellt werden. zZ. habe ich die PWM auf maximal 25% Dutycycle
eingestellt um auf 6.4 Volt zu kommen. Da ich in meinem Board einen
MAX3224ECCP drinnen habe, der das Auto Shutdown Plus Feature hat,
sparrt selbst dieser Chip enorm Strom. Nach ca. 30 Sekunden ohne Rx/Tx
Activation fährt der Chip in den Power Down Mode runter und verbraucht
wenige µA.

Wie gesagt, mein erstes Projekt mit diesem Board ist meine "Four
Seasons Clock". Ein Wecker mit RTC, 16 individuellen Weckzeiten, Piezo
 Beeper, frei Konfigurierbarem Kalender (zeigt also Geburtstage an),
Alarm Abschaltung per Handbewegung und eben 4 verschiedenen grafischen
Layout's der Uhr, je nach Jahreszeit :) Alles konfigurierbar über
RS232 und PC Software, und über noch 4 freie Pins eventuell erweiterbar
um einen DCF Empfänger, Thermometer, Backup Goldcap, oder kapazitive
Taster. Allerdings ob ich das bis Ende Mai fertig habe ?!?

Für dieses Projekt benötige ich eben minimalen Stromverbrauch. Nach
bisherigen Rechnungen würde eine CR2032 ca. 1 Jahr reichen.

Das "Board" ist schon fertig gesteckt (Steckbrett :), RS232, I2C
EEPROM, Backlight, Taster, ISP funktionieren.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klingt gut..
Widerstände sind drann , nix Bild..
Werde vielleicht doch auf nen neues Display warten müssen.
Bin schon grau . und es wird nicht besser!!

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht habe ich doch noch was falsch gemacht beim unstellen auf
ATMEGA16..?? oder ist mein 4 MHZ Quarz zu wenig?

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja is schon immer doof wenn man sowas zusammensteckt und es nich
funktioniert und man keinen anhaltspunkt hat warum nicht.

Allerdings sind 10k und 680R auch noch nich wirklich passend. Die
Spannung teilt sich immer im gleichen Verhältnis auf wie die Werte der
Widerstände. wenn du also deine 5V hast da den 680R Widerstand
dranhängst und hinter den dann den 10k hast du zwischen den beiden
Widerständen immernoch (5V/10680R)*10000R = 4,68V ... Möglicherweise
hast du damit schon den Controller geschrottet.
um von 5V auf 3,3V zu teilen wären zum Beispiel wären z.B. ein 3,3k und
ein 6,8k Widerstand geignet (ergäbe dann 3,37V)

Die Schaltung sähe so aus:

                      +------------o AVR (5V Pegel)
                      -
                     | |
                     | | 3,3k
                     | |
                      -
                      |
LCD (3,3V Pegel) o----+
                      |
                      -
                     | |
                     | | 6,8k
                     | |
                      -
                      |
                      _
                     GND

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hai Ape
Sorry das war mir klar
Habe 6k8 oben und 12 k unten..

und Prog reinschieben geht auch ok

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es stehen auch pulse an , aber data ist mir viel zu ruhig..
steht was , aber müsste doch ständig andere Data ausgeben.Gucke mit ´m
Oscar auf die Leitungen..

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da gibts DELAY_ONE_MILLISECOND  ( XTAL  4  1000 )  // Must > 8   in
glcd.inc
und ich habe nur 4 MHZ....
vielleicht?

Autor: Hagen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
rechne mal nach, 4000000  4  1000 = 1000, also bei weitem > 8 :)

Ich habe mal die neueste Version 2.2. angehangen (natürlich einige
bugfixes enthalten, siehe readme.txt).

Diese Version habe ich dir auf den ATmega16 mit 4Mhz eingestellt und
compiliert. Du musst also nur glcdlib.a und die Header laut readme.txt
kopieren und kannst sofort das Testprojekt erzeugen.

Leider kann ich nur auf Atmega8L und Atmega32 testen. Allerdings habe
ich beide MCU's mit jeweils 16/8/4 MHz getestet und das lief alles
einwandfrei.

So müsste deine Konfiguration dann aussehen:

Pin LCD       Desc.                    ATmega16

1   Vdigital  1,8V - 3,3V
2   RESET     LCD_RESET, SPI MISO      PB6
3   SDATA     LCD_SDA, SPI MOSI        PB5
4   SCLK      LCD_CLK, SPI SCK         PB7
5   ~CS       LCD_CS   ~SS             PB4
6   Vdisplay  1,8V - 3,3V
7   n/c
8   GND       GND
9   LED-      GND or -3.2V
10  LED+      +6.4V or +3.2V, 15 - 30mA
11  n/c

Falls du NICHT ~SS benutzt dann muß ~SS denoch als Ausgang definiert
werden oder IMMER auf High stehen. Dies wird durch das HW-SPI bestimmt
da ansonsten bei Low auf ~SS das SPI in den Slave Mode umschaltet.

Wenn du ein STK500 Board hast dürfte die Testphase eigentlich easy
sein. Man muß vor dem Anschließen des LCD's halt nur das Board auf 2.7
- 3.2 Vcc einstellen.


Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Hagen
Hatte schon nen 8 Mhz probiert , solche Teilchen fliegen hier rumm
Ja habe  es genauso angeschlossen !! Pin 5  auf PB4
und es stimmt 100 ist mehr als 8 , aber aus lauter verzweiflung..

Nein ich haben nicht so ein edles STK500 Board
Vielleicht sind meine Leitungen zwischen Controller und Display zu
lang?
Wie lang dürfen die sein? ( bei mir 40 cm Flachband.. )
Der Sonntag ist noch lang ;-))
Und alle Spannungen kommen gleichzeitig  ursprung = 8 V Netzteil, ist
das ein Problem??
 ( Also 3,3 und 5 V von eigene Spannungsregler )
Werde die neue Version  mal reinschieben , und sehen was passiert ..
Danke !!

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So Kabel verkürzt , Neue Soft rein..
Nix
Warte jetzt auf neues Display..
Vielleicht hats nen Macke , und ich werde noch grauer Hihi..
Wäre doch schade drumm

Bye..Aart

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Kabel sind über 55 cm lang, ebenfalls Flachband allerdings haben
die Leitungen einen geringeren Querschnitt als normales Flachbandkabel
!! Daran kann es also nicht liegen bei dir.

Eventuell ist aber die SPI Taktfrequenz zu hoch. Öffne mal glcd00.S,
gehe zu glcdDisplayInit() und kommentiere wie nachfolgend aus.

#ifdef SPI2X
//        sbi     LCD_SPSR, SPI2X
#endif

Dies reduziert die SPI Frequenz auf die Hälte, bei 4Mhz Takt wird das
LCD so mit 1MHz SPI angesteuert. Das wäre dann 6.5 mal weniger als
maximal möglich.


Wenn du bei eBay ersteigerst dann schau dir die Angebote von Xulux an.
Bei dem habe ich für 22.99 mein LCD ersteigert. Er bietet die LCD's
mit der braunen flexiblen Leiterbahn an.

Es wäre sowieso mal interessant zu wissen ob zwischen den zwei
verschiedenen LCD's dies bei eBay gibt Unterschiede sind, eben nicht
nur in der Leiterplatte.

Wer also schonmal ein LCD mit grüner flexibler Leiterplatte mit der
Library zum laufen gebracht hat, könnte sich hier mal melden.

Eventuell entstehen ja hier die Unterschiede und Probleme.


Gruß Hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass den ATmega16 mal mit 3.2 Volt laufen und schließe das LCD direkt
an, ohne Spannungsteiler usw. Das Backlight LED+/LED- dann über
separate 5-6 Volt laufen lassen. Am Anfang habe ich auch nur eine 9V
Blockbatterie mit Z-Diode als Backlightversorgung benutzt.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja kann ich machen  aber alle signale sehen eigentlich gar nicht so
schlecht aus ausser PB6 MISO welches an Reset vom Display hängt , der
geht auch schon ausm Controller nie in richtung 0 V es ist lediglich so
ein kleiner dip zu sehen Dieses ist auch sogar so wenn die Strippe
zwischen den Spannungsteiler abgelötet ist.. also ein wenig nach Masse
belastet.
Vielleicht geht das beim Einschalten kurz auf 0 V aber das kann ich
nicht sehen , dann bräuchte ich ein Logicanalyser.So fix ist der Oszi
nicht.

die Backlight LEDs hängen bereits komplett von alles getrennt an ein 8V
Spannungsregler mit 100 Ohm Vorwiderstand.

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warte mal da ist aufm Testboard noch was drann...
ein 4011 der zwischen Controller und Programmiermimik hängt..
wie ist das bei so ein STK500 entkoppelt? werde da gleich ein
Leiterbahn trennen....

Aart

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir ändert sich nix wenn ich das auskommentiere.. merkwürdig
Wie groß muss das Hex file werden ?
Bei mir gehts von 0 bis 1008 Hex
Fehlt wieder mal was? habe keine errors beim Compiler..
Aart

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da war ich wol Müde , der 4011 ist für den Quarzoscillator

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hagen

Mein ATMEGA16 ist kein L -Type also geht nur auf 5 Volt..

Denke drüber nach doch ein STK500 mit 501 zu kaufen...

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, wäre es dann nicht billiger einen L Typ zu Testzwecken zu kaufen ?

Ok, ich persönlich habe mir auch das STK500 gekauft, da ich dessen
"Drumherum" an Elektronik als komfortabel empfand. Zudem bestand von
Anfang an kein Zweifel darüber das es im Zusammenspiel mit AVRStudio
auch läuft. Allerdings, gerade in der Hardware würde ich mich als
Anfänger bezeichnen :)

Ich vermute aber mal des entweder deine Hardwareanbindung oder aber
dein LCD nicht funktioniert. Bisher habe ich noch keine weiteren
Berichte das die Library ansich nicht funktioniert. Aber Ape hat schon
ein LCD mit Überspannung zerschossen.

>Ja kann ich machen  aber alle signale sehen eigentlich gar nicht so
> schlecht aus ausser PB6 MISO welches an Reset vom Display hängt

Dann konfiguriere doch diese Leitung einfach um, auf einen anderen Pin.
Das RESET Signal wird ausschließlich nur in glcdDisplayInit() benötigt,
ist aber denoch wichtig. D.h. es kann nicht dauerhaft auf Low/High
liegen. Aber an welchem Pin es ist ist egal, es muß nicht an MISO
hängen, solange es auf PortB liegt. Man könnte es auch auf einen
anderen Port legen, nur dann müsste der Code in glcdDisplayInit()
entsprechend leicht angepasst werden. Die Library geht erstmal generell
davon aus das alle Leitungen auf PortB liegen und das Hardware SPI
vorhanden ist. Alle AVR's die kleiner sind machen mit dem Nokia eh
keinen Sinn. Man müsste insgesammt 3 Funktionen ändern,
glcdDisplayInit(), glcdDisplayCommand() und glcdDisplayRead() um eine
komplett andere Port Konfiguration benutzen zu können, oder per
Software SPI zu arbeiten.


Gruß Hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, natürlich liegt auf RESET scheinbar dauerhaft der gleiche Pegel.
Nur einmal, in glcdDisplayInit() wird sehr schnell dieser Pegel
geändert. Nur dafür ist das RESET eigentlich gut, aber ohne diesen
RESET Impuls läuft das Display nicht an.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja danke Hagen ist eine gute Idee.. Ich werde diesen Pin umlegen auf PB1
oder so.. stimmt auch.
Überspannung hatte ich keins , weil mit Festspannungsregler gearbeitet
wird. Da ist irren ausgeschlossen , regelbare Netzteile sind da nicht
so toll.
Heute abend probiere ich dieses und dann melde ich mich wieder.

Merkwürdig ist das dieses auskommentieren
ifdef SPI2X
//        sbi     LCD_SPSR, SPI2X
#endif

kein änderung im Clock bringt . lediglich beim reinschieben des Hex
file tut sich da was. sonst sind die Clocksignale immer gleich.
naja heut abend weiter..
Danke... Aart
www.aart.de.vu

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So jetzt Reset an PB3 .. Null resultat..
Warte also jetzt mal auf das neue Display mit Brauner Folie..(
Lernfähig eben habe vorher beim Anbieter nachgefragt )wird wol ende der
Woche kommen.
Dein anbieter habe ich bei Ebay nicht gefunden.
Vielleicht hat das Display nen Macke , und wirds nie was..Hagen wieso
soll dein Projekt bis ende Mai fertig sein?

Immer noch die Frage ..Wie groß muss das Hex file werden ?

Aart

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> soll dein Projekt bis ende Mai fertig sein?

Weil ich meiner Freundin endlich mal einen cleveren Wecker schenken
möchte :) Wichtig sind dabei die variablen Weckzeiten, denn zur Zeit
hat sie zwei Funkwecker die 30 Minuten nacheinander eingestellt sind.
Jeden Samstag klingen mich die Scheißdinger um 5.30 Uhr und 6.00 Uhr
aus dem Bett und jeden Montag verschläft sie weil sie Sonntags
vergessen hat die Wecker wieder einzuschalten. Desweiteren weckt sie
mich Wochentags automatisch weil mindestens jeden zweiten Morgen einer
der Wecker beim ausschalten runterfällt. Bei meiner Lösung würde eine
Handbewegung reichen um den Alarm auszuschalten, vorrübergehend
natürlich. Allerdings ich schaff es nicht das Ding fertig zu bauen, da
nun kurzfristig eine 2 Wochen Geschäftsreise dazwischengekommen ist,
tja das liebe Geld. Mal davon abgesehen habe ich meine letzte
Leiterplatte von 20 Jahren geätzt und entworfen. Auch dafür beötige ich
erstmal wieder 2-3 Wochen Einarbeitung. Meine IR
refrexionslichtschranke funktioniert auch noch nicht, es existiert noch
kein Schaltplan gesweige denn ein Layout. Das einzigste was
einigermaßen seit 2 Wochen läuft ist meine Testschaltung auf dem
Steckbrett. Schon traurig das ganze :( ABER keine RS232 funktioniert,
der Code ist perfekt fertig und getestet, die RTC läuft mit Schaltjahr,
Wochentag etc, die Automatische Kalibrierung des internen
Taktgenerators läuft perfekt und ermöglicht eine stabile RS232, das
Backlight per PWM arbeitet vollständig und es ist erhebend zuzusehen
wie sich langsam das Display runterdimmt, und finally mein I2C EEPROM
ist fertig angesteuert und mit Fonts vollgepropft. Hat sich also schon
was getan seither.
Nur das Board, das Layouting und das ätzen der Platine macht mir
Bauchschmerzen.

Achso, ganz nebenbei kann ich später das Board ansich auch für andere
Aufgaben benutzen, Thermometer, Terminal oder sonstwas was ein fetiges
4 tasten Gafikmenu benötigt und mit wenig Power auskommen muß.


> Immer noch die Frage ..Wie groß muss das Hex file werden ?

Auf der Platte belegt es 23.074 Bytes, im Hex File steht am ende
....
:101FD0001B81AA81B981CE0FD11D0FB6F894DEBF47
:081FE0000FBECDBFED01089515
:101FE8002900FC0091B60000000001018282010175
:0C1FF8000101828237478AE3115B061F5B
:00000001FF

so, wo lese ich jetzt die Größe ab ?
Bei deaktivierung des obigen Code dürfte sich das HEX nur um 2 Bytes
verkleinern.

Kuckst du hier

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=...


Gruß hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Hagen
Bei mir ist das Hex File auf der Pladde 23127 Byte
also kann das stimmen , ist natürlich wenig anders mit dem Mega16 Libs

so jetzt Heia ..warte auf neue Displays , habe dein Anbieter jetzt auch
gefunden und noch eins gekauft..
Platinen mache ich gelegentlich auch .. ja ist viel Arbeit .. deswegen
arbeite ich gerne mit SMD Bauteile , 1 Chipfläche oder auch mehrere und
viele hunderte inselchen drummherumm , da kannste dan die SMD Teile
druff löten alloe Inseln haben 1206 Raster , nix bohren ..ist fast so
einfach wie Pullis stricken.. haha
auch normale Bauteilchen lassen sich so auch auf die Beinchen stellen..
alles so wie man die halt gerade vorrätig hat . und auch ablöten geht
wunderbar die platine ligt auch prima aufm Tisch unten ist Masse ,
brauchste nen kurze Masse , kannste durchbohren , und nen Drähtchen
einfach dadurch auf Masse löten Rings rumm zwei
Stromversorgungsleiterbahnen und auch noch nen Masse Bahn , da kannste
dann mit Povin Draht Saft anzapfen.zB 5 und 3 Volt und es passen
unmengen Bauteile auf eine Europlatine.
So mache ich das, nur für Fertige sachen da wird nen richtige Platine
entworfen.
Gruß..Aart

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte mich schon kurze Zeit mit Eagle beschäftigt. Aber exakt bei
der Aussage "...haben 1206 Raster" komme ich mit dem Ding nicht klar.
D.h. 1.) finde ich in der Bibliothek nicht die Bauteile die ich suche,
bzw. meistens weis ich garnicht wo ich suchen sollte, und 2.) komme ich
mit dem Raster-Einstellungen im Layouten nicht klar. Ok, bisher habe
ich nur ein par Stunden rumprobiert ohne Plan und Ziel. Später habe
ich's erstmal verschoben und mich um die Schaltungsentwicklung der
Clock gekümmert. Wenn alles schief läuft dachte ich mir das ich ne Euro
Platine nehme, fürs 1. Projekt dürfte das reichen. Löten ansich ist
kein Problem, da war ich schon damals in der Lehre ziemlich fit.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schick mir mal deine Adresse  dann kriegste nen anderes Programm..
Auf CD

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder auch dein dein Plan .. könnte ich schon mal ein Anfang machen
Die Frage ist welche Bauteile nimmste da?

oder ich mache dir schon mal nen Testplatine..( Für SMD )
Dann aber Angaben welche Chips drauf sollen..
weil Mai ist bald!

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Aart, stimmt deine EMail Addresse ?

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jaa und auf meine Homepage ist die von T-online druff..
Kriege hier bei MSN auch immer nen mail wenn du hier was schreibst.

Autor: Hagen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Tja, ich hab dir ne Mail geschickt scheint wohl nicht angekomen zu
sein.

Anbei das compilierte HEX für deinen ATMega16 bei 4Mhz.
Bei mir hat es 23.119 Bytes.


Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK ich teste gleich und habe deine Mail empfangen..

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warte mal auf welchen Pin haste Reset? Kann ich zwar auch messen aber..

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mein Osci glauben kann isses PB6

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#elif defined (_AVR_ATmega16_)
  #define   LCD_PORT                _SFR_IO_ADDR(PORTB)
  #define   LCD_PIN                 _SFR_IO_ADDR(PINB)
  #define   LCD_DDR                 _SFR_IO_ADDR(DDRB)
  #define   LCD_CS                  PB4   // SS
  #define   LCD_SDA                 PB5   // MOSI
  #define   LCD_RESET               PB6   // MISO
  #define   LCD_SCL                 PB7   // SCK
#elif

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JA stimmt.. OK ..Danke ich warte auf neues Display.. hoffentlich
morgen...

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hagen:
Du schreibst:
"Leider kann ich nur auf Atmega8L und Atmega32 testen. Allerdings
habe
ich beide MCU's mit jeweils 16/8/4 MHz getestet und das lief alles
einwandfrei."

Wenn ich mir das Datenblatt des ATmega32 anschaue, dann steht dort zu
"Operating voltages" und "Speed grades":
Atmega32L: 2,7 - 5,5V  /  0..8MHz
Atmega32:  4,5 - 5,5V  /  0..16MHz

Wenn Du also einen ATmega16 mit ca. 3V bei 16MHz betreibst, wird der
doch außerhalb der Spezifikation betrieben und es ist mehr oder weniger
Zufall, ob der so läuft oder nicht. Oder liege ich da falsch?


Gruß
Michael

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich habe ihn ausserhalb der Spezifikationen betrieben :)

Man kann das ja mit einem STK500 ganz komfortabel und schnell testen.
Der ATMega32 ohne L lief mit 16Mhz auch bei 3.0Volt "sauber". Wobei
man kann sich eben darauf NICHT verlassen das dies immer so ist und das
es eben auf die Dauer keine Probleme gibt.

Zudem, wäre dieser Test nur in engen Bereichen aussagekräftig. Denn nur
der AVR selber und das SPI des AVR's wurden ja getestet. Kein ADC,
keine Timer usw. usw.

Den ATmega8L habe ich natürlich nur bis 8MHz getaktet, logisch.

> es ist mehr oder weniger Zufall, ob der so läuft oder nicht.

Ich glaube eher daran das es mehr oder weniger Zufall ist das er auf
die Dauer immer korrekt arbeitet. Aber ich meine das es
wahrscheinlicher ist das die meisten AVR's auch ausserhalb ihrer
Grenzen SCHEINBAR stabil laufen statt überhaupt nicht.


Zb. habe ich einen ST24C64 als W und normale Version. Die normale
Version dieses EEPROM I2C Chips soll laut Doku mit 5V und max. 400KHz
I2C betrieben werden. Nur die W version kann runter bis auf 2.8V
laufen. Nun, zu Testzwecken habe ich mal die 5V version getestet mit
500KHz I2C. Seit ca. 2 Wochen läuft das Ding ohne Probleme. Heist lesen
und schreiben ohne Probleme oder nur einen einzigsten Fehler. Und noch
mehr, statt externe 10KOhm Pullups für den I2C Bus nutze ich nur die
internen Pullups des AVR's.

Du siehst alles ist relativ, aber auf solche Elektronik wollte ich mich
im Ernstfall nicht verlassen wollen. Bei meinem Wecker kann ich bis
jetzt noch keinen Schaden anrichten :)


Gruß Hagen

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe noch eine Frage zur Verwendung des ATmega128:

In glcd.inc steht dort:
#elif defined (_AVR_ATmega128_)
  #define   LCD_PORT                _SFR_IO_ADDR(PORTB)
  #define   LCD_PIN                 _SFR_IO_ADDR(PINB)
  #define   LCD_DDR                 _SFR_IO_ADDR(DDRB)
  #define   LCD_CS                  0     // SS
  #define   LCD_SDA                 2     // MOSI
  #define   LCD_RESET               3     // MISO
  #define   LCD_SCL                 1     // SCK


Bei den anderen ATmega-Typen steht dort bei LCD_CS usw. immer PBx
Warum steht da beim Mega128 z.B. bei LCD_CS nur 0 statt PB0?

Wenn ich den Mega128 verwenden möchte, dann muss ich in beiden
Makefiles bei MCU jeweils atmega128 angeben, richtig?

Gruß
Michael

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus irgendeinem Grunde sind beim mega128 die einzelnen IO-Pins nicht
durchdefined. Probiers aus und änder die 0, 2, 3 und 1 in PB0, PB2
usw.
Ich hab dann eine Fehlermeldung bekommen, allerdings weiß ich nicht
wiues mit der neuesten avr-gcc version aussieht, bin noch nich dazu
gekommen diese auszuprobieren

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> akefiles bei MCU jeweils atmega128 angeben, richtig?

Korrekt. Du musst sogar, wenn du dein Projekt mit der GLCD auf einem
anderen AVR benutzen willst, sogar die Library jedesmal erneut
compilieren.

Man könnte dies vereinheitlichen, mit nur einer Einstellung, allerdings
greift dann die Konfiguration=Makefile der Library in die Konfiguration
DEINES Projektes ein. Dies ist ja auch nicht Sinn und Zweck der Sache.

Da die Library aber im precompilierten Format benutzt wird, kann man
auch nicht die Konfiguration des aktuellen Projektes dynamisch
benutzen.

Egal wie man es dreht und wendet, du MUSST immer zwei Konfigurationen
pflegen.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt isses passiert
neues Display drann , kein Bild !!

Ich teste weiter .. Ape haste wirklich die Widerstände da zo zwischen
von 5 nach 3,3 Volt  Atmel >> LCD??
Hat dieses noch jemand so gemacht?

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ape sein altes Programm läuft !! Hurraa..
aber warumm Hagen seins nicht??
Aart

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gute Frage, erhöhe mal in glcdDisplayInit() den Delay, statt also 5 ms
nimm dort mal 64ms.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ok Hagen..Werde weiterprobieren .
Post ist unterwegs ,Ich weiss jetzt das das Display wenigstens arbeitet
, habe auch diesen DDS 9832 jetzt funktionierend !! Wieder 3 Serielle
leitungen am PB 0,1,2  es kommt prima 3,1 Mhz raus.
Nur noch mein Rotary encoder und nen Tastatur.
Langsam machts Spaß !!
Aart

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Auch 64 ms nützt gar nichts.. denke es liegt vielleicht doch am
interfacing zwischen 5 und 3 Volt . So richtig sagt mir hier auch
keiner ob dieses bei ihm läuft oder nicht .
Habe dafür ein neues Problem ( Mit Ape´s prog) bei ein Interrupt auf
PC4 ( INT1 ) kriegt das das Display ein reset,mache ich da was falsch?
Habe ein Rotary encoder an Port C angeschlossen  ( 3 und 4 )
Gibt es dann probleme mit SPI ??
Gruß..Aart

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja jetzt läuft das auch <avr/signal.h> muß rein .. Mann muß sich erst
alles durchlesen hier , habe ich bereits gemerkt.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo rein ? In den GLCD Sourcen ist das header doch schon eingebunden.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hagen
Stimmt das bei Ape´s Prog?? weiss ich nicht..Deins lief ja erst nicht
Habe das Interfacing von 5 V nach 3,3 Volt geändert.

Auf jedenfall habe ich heute Abend DEINE Software am laufen !!
Hurraaa!! Interface zwischen Display und ATMEGA16

 MEGA16     3,3V
----         |        -------
    |       | | 4k7   |
    |       | |       |
    |--|<|---+--------|  Display
-----                 --------

Diode Bat 41 ( Shottky)  Widerstand nach 3,3 V 4k7

Jetzt muß ich nur noch rausfinden wie PRINTF bei deine Routinen
gehen..

Lesen ....Lesen Probieren..

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fdevopen(..., glcdPutChar,...);

glaube ich, habe momentan selber nicht die Sourcen verfügbar.

Allerdings, printf() hat einen enormen Overhead an Code der eingelinkt
wird. Wenn nur einfache Strings ausgegeben werden sollen ist
glcdPrint() besser.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Hagen

Nein ich soll Variablen ausgeben.. 4 Byte groß..
Die version 2.2 ist doch auch hier oben im Anhang ..
Aart

Autor: leif (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, das hört sich ungemein cool an, was ihr hier macht! Da werde ich
wohl demnächst auch mal in die Welt der Avrs einsteigen..
gibt's irgendwo noch mehr infos über die displays, auch anderer
hersteller?
und noch weiter off-topic: wo ist der unterschied zwischen dem atmel
isp programmer, und der homebrew lösung über parallelport? gerne auch
per mail.. danke! -leif

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Einige Infos zu den Nokia-LCDs:

Es gibt zwei Typen mit unterschiedlichen LCD-Controllern:
1) Philips-Controller PCF8833, erkennbar an einer braunen Leiterplatte
beim Anschlußstecker bzw. an den Lötpads unter der weißen Folie
2) Epson-Controller S1D15G10, erkennbar an einer grünen Leiterplatte
beim Anschlußstecker, das Datenblatt ist im Anhang zu finden.

Die beiden Controller haben leider unterschiedliche Befehlscodes!! Die
Nokia-Library von Hagen unterstützt bisher nur den Philips-Controller.

Im Handy selbst wird zunächst per Philips-Identifikationskommando RDID1
geprüft, ob es sich um den Philips-Controller handelt, wenn nein, dann
wird der Epson-Befehlssatz verwendet. Beim LCD mit dem Epson-Controller
ist kein Lese-Mode möglich.

Das passende Gegenstück zum 10-poligen LCD-Steckverbinder gibt's von
Hirose http://www.hirose.de:
DF23C-10DS-0.5V
Das Datenblatt gibts hier:
http://www.hirose.co.jp/cataloge_hp/e68801060.pdf


Weitere interessante Hinweise und Tipps zu diesen LCDs gibt's hier:

- Yampp-Forum: http://www.myplace.nu/mp3/yabbse/index.php?topic=1.0

- Sourcecode für MP3-Player mit color LCD:
http://www.myplace.nu/mp3/download/files/yampp7_us...

- LCDInfo-Forum:
http://www.skippari.net/phpBB2/viewtopic.php?t=586...

- Datenauswertung aus Nokia-Handy (LCD mit Epson-Controller) per
Logicanalyzer:
http://planetsab0tage.altervista.org/programming/n...
http://www.republika.pl/romek_by/download/Nokia_Co...


Gruß
Michael

Autor: Volkmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe vor einigen Wochen mir die glcd fürs Nokia6100 gezogen und bin
begeistert. Da ich aber kein 6100 sondern ein (bzw. mehrere) 3150i mein
Eigen nenne, habe ich die Libraries an das 3150i angepaßt. Dort wird
auch ein Epson-Controller verwendet, so daß diese Anpassungen
vielleicht auch für die Epson-Variante des 6100 verwendbar sind.

In meinem Aufbau verwende ich einen Mega128 (5V) der über eine
Widerstandskombination an das Display angeschlossen wird. Dabei stellte
ich fest, daß die Verwendung der MISO-Leitung für den Reset nicht
funktionert. Bei der SPI-Aktivierung wird der Pin als Eingang
geschaltet und prompt erhält das Display über die
Widerstandsbeschaltung einen Reset :-( Habe daher den Pin verlegt und
damit funktioniert es (Mit der Dioden-Beschaltung sollte es gehen).

Neben den notwendigen Änderungen habe ich auch noch eine weitere
Funktion eingefügt um den Kontrast einzustellen.

Nun habe ich heute gesehen, daß eine Version 2.2 vorliegt. Ich werde
meine Änderungen nun an die 2.2 anpassen und könnte sie dann hier
veröffentlichen. Man kann über ein Define-Statement auswählen, welches
Display angeschlossen ist.

Volkmar

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wäre wunderbar Volkmar , da wie Du bereits gelesen hast ich mich
schon gut mit ein grüne FolienDisplay gequält habe, und das liegt hier
beiseite, jetzt brauche ich vielleicht die 25 Euro nicht wegwerfen..

Sag mir bitte mal wie ich nen 4 Bytes Variable auf eine Stelle
ausgebe...
Vielleicht mit der itoa Funktion..
Ich bin nicht der C-Profi...irgendwie kriege ich das nicht hin , und
Kreise und Rechtecke sagen nicht viel aus , ( Sehen schön bunt aus..
aber was hilft mit das?)
Aart

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Nokia 3510i verwendet den Controller S1D15G14.
Datenblatt:
http://www.mikrocontroller.net/attachment.php/6001...

Dieser ist nicht befehlskompatibel zum S1D15G10 des Nokia 6100, einfach
mal den Befehlssatz in den beiden Datenblättern vergleichen.

Gruß
Michael

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Volkmar,

klasse. Könnte ich schonmal einen vorab Code von dir bekommen ?
Ich würde nämlich schon ganz gerne den GLCD Source stetig erweitern.
Natürlich ist dies dann nicht so einfach wenn man nicht selber
praktisch jedes LCD testen kann. Aber was softwaretechnisch möglich ist
das man die hardwarespezifischen Funktionen möglichst unabhänig
gestaltet und eben gut konfigurierbar sind.
n den Source hatte ich ja schon angedeutet das ich dies auch versucht
habe umzusetzen. Zur Zeit sollte es mit geringem Aufwand möglich sein
Display bis zu einer Auflösung von 255x255 Pixeln zu unterstützen, bei
Farbtiefen von 256 oder 2^16 Farben.

Es wäre nun interessant für mich an deinen Erfahrungen zu
partizipieren.

@Michael:
Danke für diese tollen Links und Infos. Ich dachte mir schon das es
eventuell zwei unterschiedliche Displaytypen gibt. Wenn ich die Zeit
finde werde ich natürlich beide Typen unterstützen.
Wie hast du diese Infos aufgespürt ?

Gruß Hagen

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So nach langer onlinemäßiger lethargie hab ichs nun auch mal wieder
geschafft meine Finger zu bewegen.
Auf meienr Seite gibs jetzt auch die Version 2.2 zum Download (ja jetzt
schon!) und außerdem, weil ein paar leute danach gefragt hatten, auch
die ältere C-Version.

Zum Thema außerhalb der Spezifikationen: Hab jetzt meinen mega128L mit
18,432MHz laufen bei 3,0V (also mehr als doppelt so schnell als im
Datenblatt angegeben) Das SPI läuft dementsprechend mit ca. 9,2MHz über
etwa 40cm ungeschirmtes Kabel...
Das einzige Problem, das von Zeit zu Zeit auftritt ist, dass sich das
Display beim einschalten manchmal mit Falschfarben initialisiert. Das
hat es aber auch schon als noch alles innerhalb der Spezifikationen
lief. Ich vermute das es weggeht wenn ich die Startup-Delay Zeit etwas
erhöhe.

Außerdem benutze ich übrigens ziemlich viel vom RAM des Prozessors und
den A/D Wandler mit 8-bit Auflösung bei 44kHz.
Wofür das ganze? Ich bin gerade halbherzig dabei einen Spectrum
Analyser mit dem Display zu basteln und hab dafür mal mit ner FFT mit
128 Samples experimentiert. Das ganze ist aber noch recht
unbefriedigend, weil zum einen recht langsam (ich verwende furchtbar
uneffizienten Code mit Fließkommarechnungen, schaffe damit jetzt aber
immerhin ca. 10 Bilder pro Sekunde) und zum andern sind die Frequenzen
der 64 Ergebnis Werte linear, also soll heißen die Auflösung im unteren
Frequenzbereich ist viel zu gering. Werde jetzt mal mit digitalen
Filtern nach Atmel Appnote experimentieren.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Werde jetzt mal mit digitalen Filtern nach Atmel Appnote
> experimentieren.

Das hätte ich dir auch empfohlen. Eine FFT mit 128 Punkten bei zB.
22KHz Samplinmg frequenz liefert dir 64 Freqeunzauszüge in Schritten a
344Hz. Dies ist für die Bässe nicht ausreichend. Ein SIR/SFIR Filter
Kaskade kannst logarithmisch aufbauen und somit dem menschlichem
Soundempfinden besser anpassen. Zudem sollte die Kaskade effizienter
sein.

Gruß hagen

Autor: leif (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo michael, danke für die infos!!! -leif

Autor: leif (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hagen: Auf deine Library mit Epson-Controller Support freue ich mich
schon! -leif

Autor: Volkmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Leif und andere:
Sorry für die späte Antwort, aber ich hatte es vorher einfach nicht
geschafft. Habe nun meine Änderungen an Hagen geschickt und es macht
sicherlich mehr Sinn wenn er weiterhin die SW pflegt als wenn ich da
jetzt eine spezielle 3510i-Variante poste.

@Aart:
Um variable Werte auszugeben verwende ich die printf-Funktionen aus der
stdio. Wie Hagen schon schrieb, braucht die etwas Platz aber bietet auf
der anderen Seite etliche Möglichkeiten für unterschiedliche Formate.
Wenn Du nur ein spezielles Format hast, kannst Du sicherlich auch
itoa() verwenden. Ich mache das so:

//Einbinden der StdIO-Lib:
#include <stdio.h>

//In main() (oder wo auch immer ;-)
fdevopen(glcdPut, NULL, 0);

//Ausgabe
printf_P(PSTR("%02i:%02i"), minute, second);

Im Makefile mußt Du darauf achten die richtige Version zu nehmen. Wenn
ich mich recht erinnere, wird in der derzeitigen WinAVR-Distribution
die minimale stdio-Lib eingebunden. D.h. Du bekommst zB keine führenden
Nullen im obigen Beispiel.

Dann bin ich noch auf der Suche um ein Bild (BMP oder GIF oder so)
verwenden zu können. A) müßte das Bild in eine include-Datei
transferiert werden. Ich meine sowas schon mal gesehen zu haben, kann
ich auch noch mal bei avrfreaks suchen. B) Wie sieht das mit der
Farbkonvertierung aus? Bei Verwendung des 8Bit-Modus kann man ja nicht
wirklich 256 Farben auswählen, man kann ja nur 8 Rot, 8 Grün und 4
Blautöne aussuchen aus denen man dann die 256 Farben zusammensetzt.
Dies müßte auch berücksichtigt werden. Hat da hemand eine Idee?

Volkmar

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte mir ma testweise nen Prog geschrieben das vom PC aus Bilder
übers UART an das Display geschickt hat. Die Farbdarstellung lies aber
in der tat zu wünschen übrig. Um vorhandene Bilder zu konvertieren
müsste man also nen Prog schreiben das das irgendwie geschickt
umrechnet, dürfte aber recht aufwendig sein...
wenns nur ein, zwei Bilder sein sollen kannste den FontEditor
missbrauchen und selber malen.

ape

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Volker, wie Ape schon sagte sollte der FontEditor auch gut für Bilder
oder Icons mit Transparenz geeigent sein.

Die GLCD Font Routinen würden mit minimaler Erweiterung dazu in der
Lage sein und sogar die Bilder komprimiert in kompakterer Form
speichern.

Bisher ist bei Bildern/Icons nur ein Problem, nämlich die Farbtabelle.
Diese müsste derzeitig extern über glcd_Colors[] manuell mit den
richtigen Farbwerten versehen werden.

Eine nun vorstellbare Neuerung könnte sein das der FontEditor
Bilder/Icons so wie die Windows-Fonts importieren kann. Als zweite
Neuerung müsste der FontEditor die Farbtabellen aus den Bildern
ermitteln und als Header-Include speichern oder sogar gleich in die
FontDaten einrechnen.

Aber, auf Grund der limitierten Resourcen der AVR's würde ich immer
versuchen die Bilder/Icons mit gleicher Größe in einem Font zusammen
zufassen. Dadurch steigt der Effekt der Komprimierung, als wenn die
Bilder eben nur einzeln betrachtet. Da die Fonts von Hause aus ihre
Farbinformationen indiziert verwalten wäre es so auch ein leichtes das
gleiche Bild in unterschiedlichen Farben anzuzeigen. Dazu muß vor der
Darstellung des Bildes/Fontzeichens eben nur das glcd_Color[] array
modifiziert werden. Die Vorteile liegen wohl auf der Hand, man hat nur
einen Code für Fonts, Images und Icons, dieser Code kann jetzt schon
gedrehte Ausgaben, berücksichtigt das Clipping und eigene Textwindows.
Die Ausgabe dieser Fonts, Images und Icons ist über glcdDrawChar() oder
sogar printF() als Texte sehr komfortabel möglich. Die Berechnung der
Dimensionen eines Zeichens/ Images/Icons ist ebenfalls schon möglich.
Durch den Austausch der einzelnen Fonts wären auch verschiednene
Layouts der Software möglich.
In meinem, so langsam dahindümpelndem Weckerprojekt, mache ich exakt
von diesen Features Gebrauch. Meine Button-Glyphes und
Gimmecks-Bildchens basieren auf austauschbaren Fonts. Ich nutze 4
Fonts, für jede Jahreszeit ein anderer.


@Leif, jo das könnte aber noch ein bischen an Zeit verbrauchen.
Grundsätzlich kann ich ohne zusätzliche Hilfe die Library nicht alleine
weiterentwickeln. Zb. habe ich für Testzwecke eben kein LCD mit Epson
Kontroller. Was ich aber als erstes machen könnte ist die GLCD so
umzuschreiben das zukünftige Anpassungen an andere LCD's wesentlich
leichter sind und einem dokumentiertem Konzept folgen.
Die Library selber kann im jetzigen Zustand mit bis zu 255x255 Pixel
LCD's arbeiten, was ich auch nicht geplant habe zu erweitern. Dies
wäre also eine Grenze die erstmal bestehen bliebe. Vom Farbformat her
gesehen würde ich ebenfalls nur 8 und 16 Bit unterstützen wollen.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Volkmar
Ja danke hatte von Hagen schon mail , war einige Tage ausser Haus.
Habe meine Ausgabe erstmal am laufen ( ltoa ) , beobachte dieses Forum
weiter und werde meine Anwendung erstmal weiterentwickeln.
Aart

Autor: leif (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiß jemand, wo man an ein paar der von michael erwähnten LCD Stecker
bekommen könnte? Habe hirose mal angeschrieben, aber unter muster
verstehen die eine 2k rolle für 200Euro :-)

es gibt im lcd-info forum, das michael erwähnt, einen link zu nem
polnischen shop, wos die displays angeblich für 15e und auch die
stecker gibt.

aber gibt's die dinger auch in D?

leif

Autor: Mathias Giacomuzzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo wo bekommt man dann solche displays??
und was brauch man noch alles dazu ausser nen avr
mfg mathias

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias
Wie bereits hier zu lesen war .. bei Ebay ersteigern und auf brauner
Folie bestehen..
Nen AVR Testboard oder so etwas und ein Lötkolben.Und ein C-Buch, und
eine Anwendung ..und eine Stromversorgung und... und..
Ist ein wenig eine schwierige Frage ..
Gruß...
Aart

Autor: Mathias Giacomuzzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okay das was du alles noch so meintes hab ich!!

danke mfg

mathias

Autor: Mathias Giacomuzzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich hab da noch ne Frage. Ich hab da weiter oben gelesen das die
mit der günen Folie nicht so gut sind! Aber bei Ebay gib es laut Fotos
fast nur solche. Funktionieren die jetzt überhaupt nicht oder ist das
mit dem Stecker das einzige Problem?? Denn Fädeltechnik behersche ich
eigentlich ganz gut! wenn das das einzige ist!

danke im voraus mfg
mathias

Autor: leif (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo mathias, such erstmal das ganze forum nach nokia display, 6100 und
so ab. guck auf apes seite apetech.de, lad dir die bibliothek runter,
lies dich ein!

da steht dann zum beispiel, daß die mit grüner folie einen epson
controller haben, den du mit hagens lib nicht benutzen kannst.

yampp.com hat aber auch firmware-support für die epson displays, glaube
ich.

viel erfolg,

leif

Autor: Armin Kniesel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ist es auch möglich daß man den Bildinhalt in 90-Grad-Schritten drehen
kann? Ich denke daß man da doppelt so viel Speicher dafür braucht. Was
meint ihr dazu?
Also zuerst normal anzeigen, dann 90 Grad drehen, nochmal 90 Grad
drehen und dann nochmal 90 Grad drehen.
Ist das programmtechnisch ohne viel Aufwand möglich?

Armin

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso denn das?
Da gibt es glcdSetOrientation(x);

Mit x = 0  und dann zum 2. Male x=1 wird die Ausgabe um 90 grad gedreht
, also eine Zeile und dann nochmal ausgeben..
Für mich wäre ein drehen um 1 Grad interressanter für z.B. ein Kompass
, aber das ist mehr arbeit...

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrekt, mit glcdSetOrientation() kann die KOMPLETTE Ausgabe in
Schritten von 90 Grad gedreht werden. Wichtig dabei ist der Punkt das
man mit dieser Funktion das gesammte Koordinatensystem dreht. D.h. eine
Grafikausgabe mit hardcodet Korrdinaten für Linien, Kreisen und Fonts
muß in keinster Weise geändert werden. Es reicht der Aufruf von
glcdSetIOrientation() und schwups wurde die komplette Ausgabe rotiert.

@Aart:
Für einen Kompass oder andere winkelbasierende Ausgaben ist es immer
besser wenn man die Zeichroutinen von vornherein mit Winkelberechnungen
ausstattet. Eine Rotation des Displays ist nicht so günstig. Es bleibt
aber eben noch das Problem der rotierten Fonts bestehen. Die Frage ist
ob es dann nicht besser ist einmalig einen Bitmap zu zeichnen die diese
Informationen enthält.

Die glcdSetOrientation() Funktion ist primär dazu gedacht das man das
Display hardwaretechnisch so einbauen kann wie man es möchte, ohne das
man am Source was ändern muß. Oder um die Anzeige der Daten abhänig von
der Displaylage zum machen, wie beim Thungsten T3 den man ja auch
senkrecht oder waagerecht halten kann.

Gruß Hagen

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja Hagen habe ich verstanden ..
Habe nämlich mein Uwatec Tauchkompass verloren ( der See nimmt und gibt
) und spiele noch mit der Idee nen neues zu bauen , da wäre ein
rotierende Rose schön ..
Allerdings gabs das beim  Uwatec auch nicht , lediglich ein Gradanzeige
als Zahl und Pfeile die der abweichung vom Kurs zeigten.
Aber zuerst mein Funkgerät , dann weiter.
Gruß.. Aart

Autor: mgiac (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo so jetzt hat man mir das falsche display geschickt!!

Vorsicht bei Ebay gibt es anscheinend Verkäufer die einem Sagen sie
haben eines mit brauner Folie und dann schicken sie aber eines mit
grüner!!

kann mir jemand vielleicht von dem grünen die pin belegung sagen!!

mfg mathias

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da Nokia das Display mit dem grünen Kabel als 2nd source einsetzt, sind
die stecker und damit auch die Pinbelegungen identisch mit denen vom
Display mit dem grünen Kabel...

Autor: olli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte mir vielleicht jemand sagen was ich für ein Display kaufen muss?
Auf apetéch.de steht das ich das mit der braunen flexiblen
Leiterplatine kaufen soll. Was meint er da?

Soll die Quadratförmige Erweiterung braun sein oder die Folie nahe dem
Display. Ich frage weil ich schon alle Kombinationen auf ebay gesehen
habe und ich mir wegen des Controllers dann doch sehr unsicher bin

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@olli

hab es bisher noch nicht ausprobiert, aber soweit ich hier alles
richtig lese, muss unten das quadrat braun sein,damit man den phillips
hat

Autor: Daniel Makus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, an Alle !

Probiere schión seit 2 Tagen das Display anzusteuern, leider bis jetzt
ohne Erfolg. Kann mir vielleicht einer ein Screenshot des
Signalverlaufs zuschicken ? Meine Messung ist im Anhang.

mfg Daniel

Autor: hannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

kann leider nichts konstruktives beitragen allerdings hätte ich eine
Frage. Und zwar finde ich bei Ebay nur Displays mit grüner Platine
unten. Weiß vielleicht noch jemand eine andere Quelle wo ich eins mit
brauner Platine herbekommen könnte? Wäre echt nett :)

Danke, mfg
hannes

Autor: galdan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, hier scheint das richtige zu sein:

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&categ...

mfg Daniel

Autor: hannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die Auktion habe ich auch gefunden gehabt - und habe den Verkäufer auch
angeschrieben aber das Bild scheint nicht zu stimmen:

"Nein, soweit ich das sehen und beurteilen kann, sind sie da grün."

Mfg

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.xullu.de/
Der Anbieter bei Ebay hatte die mit brauner Folie... ( Info von Hagen)

Autor: Simon Lehmayr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ape,

hab das gleiche Prob wie Kay:
>hallo ape,
>habe das nokia 6100 display mal angeschlossen. hängt bei mir an nem
>AT90S8535 mit 4 Mhz an Portc. Wenn ich einen Reset am AVR mache, dann
>kommt das testbild. aber nur ca. 1 sekunde lang. dann geht das
>display
>wieder aus ( also die hintergrundbeleuchtung bleibt an ).
>was kann das sein ?

Die Dauer ist etwa 6 Sekunden bis das Display ausgeht...
Ich benutze aber die neue lib v2.2 mit dem mitgelieferten Testfile
compiliert für mega8 @ 4MHz mit 3,2V.

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe mir jetzt auch bei Ebay so ein Display ersteigert aber natürlich
ist es mit diesem kleinen grünen Anschluß, den ich nicht so einfach
handhaben kann. Wo sind da Pin 1 und die weiteren denn nun genau?  So
schön das hier ansonsten beschrieben ist, ohne wirkliche
Beschaffungstipps für das Display mit brauner Anschlußleitung bleibt
das hier eher eine schöne Fiktion. Zumal ich die Version mit
Lesemöglichkeit (Philips-Controller) als sehr sinnvoll erachte, um
Grafik in das bestehende Bild reinzuodern oder ähnliches.

Autor: Aart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man muß die Anbieter vorher fragen ob es braune Folien sind , ich habe
letzte Woche so 4 stück gekauft , kein Problem.

Frage am besten mal ob er noch welche hat ...
Artikelbezeichnung:          LCD Farb Display f. Nokia  6100 6610 6610i
7250 7250i
          Artikelnummer:             6335546383
          Sofort-Kaufen-Preis:   EUR 22,99
          Menge:           4
          Zwischensumme:           EUR 91,96(Ohne Verpackung und
Versand)
          Mitgliedsname des Verkäufers:     wwcomshop
          E-Mail-Adresse des Verkäufers:      ww.com@t-online.de
          Name:               Wolfgang Wermter
          Straße:             Weidertsweg 4
          Ort:               63517rodenbach

Und gegen das ausgehen muß man Chip select Definen !! Lesen in der
Anleitung von Hagen hilft !
( Da wird einiges beschrieben in bezug auf seine Schreibtischlampe )
Gruß..Aart

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Zumal ich die Version mit Lesemöglichkeit (Philips-Controller) als
> sehr sinnvoll erachte, um Grafik in das bestehende Bild reinzuodern
> oder ähnliches.

Vergiß es, das geht nicht. Der DisplayRAM des Controllers kann NICHT
gelesen werden. Der beim Philips-Controller kann man nur einige, fast
schon unwichtige, Statusinformationen lesen, und auch nur dann wenn der
Hersteller des LCD's die durch die OTP Programmierung des Controllers
freitgeschaltet hat. D.h. über diese OTP Zellen wird das LCD getuned
beimHerstellungsprozess. Desweiteren wird darüber eingestellt was man
später per Softweare mit demLCD so machen kann. Nun, die Displays die
ich in der Zerre hatte unterstützten nicht alle möhlichen Features des
Controllers, eben auf Grund der spezifischen Programierung der OTP
Zellen.

Der Epson Controller unterstützt so weit ich weis keienrlei
Auslesemöglichkeiten, noch nicht mal den Status. Deshalb versucht die
Firmware des Nokia Handys zu allererst das LCD als Phlips-Typ
anzusprechen. Reagiert es nicht so wird es als Epson-Typ angesteuert.

Aber, den DisplayRAM auslesen um dann Bilder XOR/OR/AND zuverknüpfen,
unterstützen diese LCD's nicht. Man müsste einen 16KByte DisplayRAM
extern im AVR/SRAM implementieren damit dies funktioniert. Und gerade
weil dies nicht möglich ist mit dem LCD, wird es sehr wichtig das die
GLCD ein Soft-Clipping unterstützt.

Gruß Hagen

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach Durcharbeit des Philips-Datenblatts wäre das Auslesen aber bei
einer parallelen Ansteuerung kein Problem. Schade, dass die seriellen
Modi so beschränkt sind.

Kennt denn jemand ein Farbdisplay meinetwegen auch als TFT in
Handyformat mit paralleler Ansteuerung. Beschäftige mich im Rahmen
meiner Diplomarbeit mit dem Themengebiet und hab schon was mit
parallelem Anschluß erstellt - anderer Controller(SSD1781), anderes
Display, was aber leider kaputt gegangen ist und ich keinen Ersatz des
Distributors kriegen kann. Suche deshalb geeigneten anderen
Lösungsansatz.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>hallo ape,
>habe das nokia 6100 display mal angeschlossen. hängt bei mir an nem
>AT90S8535 mit 4 Mhz an Portc. Wenn ich einen Reset am AVR mache, dann
>kommt das testbild. aber nur ca. 1 sekunde lang. dann geht das
>display
>wieder aus ( also die hintergrundbeleuchtung bleibt an ).
>was kann das sein ?

>>Die Dauer ist etwa 6 Sekunden bis das Display ausgeht...
>>Ich benutze aber die neue lib v2.2 mit dem mitgelieferten Testfile
>>compiliert für mega8 @ 4MHz mit 3,2V.

Bei solchen Problemen helfen verschiedene Überlegungen:
1.) SPI Takt reduzieren ?
2.) PullUp's am SPI ?
3.) Länge der Kabel zum LCD ?
4.) ISP noch am SPI verbunden ?
5.) ~CS des LCD's am ~SS Pin des AVR's ? wenn ja mal auf einen
anderen Pin legen und in der Datei glcd.inc umkonfigurieren.
6.) Wie sauber ist die Spannungsversorgung ? Schon mal an einer
Batterie betrieben statt einem Netzteil ?
7.) XTAL define in glcd.inc auch richtig ?
8.) was hängt noch am SPI ?


Gruß Hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
9.) falls der ~SS Pin NICHT als ~CS am LCD benutzt wurde dann muß der
~SS Pin trotzdem als Ausgang definiert werden, da ansonsten das HW-SPI
des AVRs unkontrolliert in den Slavemode schalten kann.
10.) MISO == ~RESET des LCD mal auf einen anderen Pin legen. Angeblich
soll es schon vorgekommen sein das bei einigen AVR Typen das was bei
MOSI gesendet wird Störungen intern am MISO Pin produzieren. Ich
persönlich konnte das nicht nachvollziehen und vermute mal eher das am
SPI noch der ISP-Programmer Probleme verursacht hat.

Gruß Hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nach Durcharbeit des Philips-Datenblatts wäre das Auslesen aber bei
>einer parallelen Ansteuerung kein Problem. Schade, dass die seriellen
>Modi so beschränkt sind.

Ich weis nicht im welchem Datenblatt du das gelesen haben willst. Im
Datenblatt des PCF8833 wird zwar ein SPI und paralleles Interface
beschrieben aber beide können nicht den DisplayRAM lesen, sondern nur
die verschiedenen Identifikation/Status Register.

Gruß Hagen

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

>>hallo ape,
>>habe das nokia 6100 display mal angeschlossen. hängt bei mir an nem
>>AT90S8535 mit 4 Mhz an Portc. Wenn ich einen Reset am AVR mache,
dann
>>kommt das testbild. aber nur ca. 1 sekunde lang. dann geht das
>>display
>>wieder aus ( also die hintergrundbeleuchtung bleibt an ).
>>was kann das sein ?

>>>Die Dauer ist etwa 6 Sekunden bis das Display ausgeht...
>>>Ich benutze aber die neue lib v2.2 mit dem mitgelieferten Testfile
>>>compiliert für mega8 @ 4MHz mit 3,2V.

>Bei solchen Problemen helfen verschiedene Überlegungen:
>1.) SPI Takt reduzieren ?
>2.) PullUp's am SPI ?
>3.) Länge der Kabel zum LCD ?
>4.) ISP noch am SPI verbunden ?
>5.) ~CS des LCD's am ~SS Pin des AVR's ? wenn ja mal auf einen
anderen Pin legen und in der Datei glcd.inc umkonfigurieren.
>6.) Wie sauber ist die Spannungsversorgung ? Schon mal an einer
Batterie betrieben statt einem Netzteil ?
>7.) XTAL define in glcd.inc auch richtig ?
>8.) was hängt noch am SPI ?


>Gruß Hagen

Ich hatte mit einem Monochrom Display ein ähnliches Problem. Als
Ursache stellte sich Infrarotstrahlung heraus. Der Grafikcontroller auf
dem Display wird nur durch diesen transparenten Gummi geschützt,
ansonsten hat man direkte Sicht auf das "nachte" Silizium.
Anscheinend verursacht die Infrarotstrahlung im Sonnenlicht und von
div. Lampen Kurzschlüsse auf dem Chip, wodurch sich der
Grafikcontroller aufhängt.
Bei mir hat es gereicht, das ich den Chip (zwischen Anschluss und
Display) mit einem lichtundurchlässigen Klebeband abgeklebt habe.

Gruß Bernhard

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

sorry das ich nochmal nachfrage aber ich möchte mein display nicht
unbedingt gleich wieder beerdigen :-)

Ich möchte das Display an mein STK500 anschliesen, mit einem ATMEGA16.
Meine Frage nun wäre der Anschluss so richtig wie ich ihn hier
deklariert habe??


1 Vdigital 2,7V - 3,3V            = STK = VTG über spannungsteiler 3,3k
+ 6,8k

2 RESET AVR PORTB.3               = STK = PORTB.3
3 SDATA AVR PORTB.2 (SPI MOSI)    = STK = PORTB.2
4 SCLK AVR PORTB.1 (SPI CLK)      = STK = PORTB.1
5 ~CS AVR PORTB.0 (SPI ~SS)       = STK = PORTB.0
6 Vdisplay 2,7V - 3,3V            = STK = VTG über spannungsteiler 3,3k
+ 6,8k

7 n/c ---
8 GND GND                         = STK = GND
9 LED- GND                        = STK = GND
10 LED+ 15mA - 30mA (ca. 6,4V)    = STK = VTG (5V)
11 n/c ---

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie ich das sehe wird der Controller auf dem Display bei deiner
Beschaltung mit VDisplay = 5V * 3.3 / 6.8 = 2.4V betrieben und der
ATmega16 im STK mit VTG=5V. Schön, d.h also das an den Pins RESET,
SDATA, SCLK und ~CS durchaus 5V anliegen, sprich also 2.6 Volt mehr als
an VDigital. Das könnte dann deinen Display Controller zerstören.

Ich würde als erstes an deiner Stelle das STK500 auf 3.3 Volt
einstellen,VTG = 3.2V. Die meisten AVR's laufen auch damit noch.
LED+/LED- lässt'e erstmal unbeschaltet. Wichtig ist nur das jetzt
VDigtal alle Pins des Controllers UND der AVR mit der gleichen Spannung
laufen. Später kannste dann mit Spannungsteilern versuche zu arbeiten.
Dabei muß VDisplay, RESTET, SCLK und auch SDATA mit jeweils einem
Spannungsteiler versehen werden.

Gruß hagen

Autor: Ford Prefect (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

ich habe mir zwei Displays bei E-bay bestellt. Mit brauner Folie so wie
hier angegeben. Leider sind die Lötpins unter der braunen Folie nicht
vorhanden. Es gibt 2 Stk aber da steht A und K also Anode und Kadode
für die Hintergrundbeleuchtung nehme ich an.

Was für ein Controller ist da drauf? Phillips oder der andere?
Hat jemand ein gleiches Display und Erfahrung?

Wenn ich die Anschlusspins der Erweiterung nehme. Gilt dann die selbe
Belegung? Gibt es ein Datenblatt zu der Belegung der Pins
des Displays?

Viele Grüße

Ford

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

keine Ahnung was Du da für ein Display erwischt hast. Jedenfalls
vermute ich schwer, dass Du den Epson-Controller drauf hast.
Meines Wissen werden nämlich keine 6100 Displays mehr mit
Philips-Controller gefertigt.
Auch ich habe vor kurzem ein zweites Display bei eBay ersteigt, mit
brauner Flexplatine und Goldpads und trotzdem ist der Epson-Controller
drin. :-/
Gute Nachricht: Pinbelegung ist bei allen Displays gleich.

Gruß,
Markus

Autor: MyMeisle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

habe Displays mit dem EPSON-Contoller.

Habe nun zwei Fragen:

1. Hat einer schon einen C-Code für das Ansteuern des EPSON-Controllers
geschrieben? Falls nicht, dann werde ich mich wohl versuchen müssen.

2. Hat einer ne Ahnung wo man das passende Gegenstück zum 10-poligen
LCD-Steckverbinder gibt (HIROSE: DF23C-10DS-0.5V, Datenblatt:
http://www.hirose.co.jp/cataloge_hp/e68801060.pdf

Zu 2:
Ich weis, dass es bei einigen Distributoren nur 2000 Stück auf einer
Rolle für ca. 450 EUR gibt. Mir reichen aber ca. 10 Stück aus! Ich
denke , dass auch eine Sammelbestellung keinen Sinn macht - oder?
Hat jemand ein total kaputtes Handy mit diesem Steckverbinder zum
ausschlachten. Bin nicht bereit bei Ebay >20 EUR für so nen blöden
Stecker (Handy) zu bezahlen.
Weis einer, wo dieser Stecker noch eingesetzt wird (Gerät zum
ausschlachten)?

Danke für eure Mühe

Autor: Biertester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Wie ich das so sehe werden wir demnächst dann auf andere Display´s
gehen müssen.. leider :-(( gut das ich noch 3 habe.

Autor: Tomasz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@MYMeisle: den Stecker gibt es auch einzeln bei eBay (6,90€ + 4€
Versand):
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&categ...

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit fast 11€ pro Stück ein exorbitanter Preis würde ich sagen.
Hab inzwischen von einem Händler wohl seine letzten Posten Displays mit
brauner Folien erworben. Ich wollte gerne 5, er hatte nur noch 4.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehe meinen Post oben. Eine braune Folie und Goldpads bedeuten nicht
(mehr) automatisch, dass es sich um ein Display mit Philips-Controller
handelt. Und ehrlich gesagt sind die Epson-Controller auch nicht viel
schlechter (wenn man sie verdrahten kann, also Gegenstecker oder
Goldpads hat). Es ist einfach nur ein anderer Befehlssatz und Lesen
über den SPI-Bus ist nicht möglich.

Gruß,
Markus

Autor: Moritz Becker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Hat jemand von euch eine Bezugsquelle für das Epson-Datenblatt?
Hab' hier leider nichts gefunden.
Mein Display hat zwar eine Braune Platine aber keine Lötpads.
Ist das ein Display mit Epson-Controller?

Mfg,

Moritz

Autor: Volkmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Epson-Datenblatt findest Du hier in diesem Thread:

http://www.mikrocontroller.net/forum/read-4-71176.html#85128

Volkmar

Autor: martin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
moin,
hab auf ebay gekauft. 18,70 euro.
zuerst hab ich es mit den widerständen und dioden versucht. keine
reaktion.
nun hab ich mit spannungsteiler gemacht und es funtz einwandfrei.
grüsse

Autor: Biertester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Martin !
Also Controller auf 5 Volt ?
Alle Leitungen mit Spannungsteiler und Philips Display ?
Welche Widerstandwerte?

Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
also eigentlich läuft es garnicht mehr einwandfrei.

controller ist mega32 mit 8MHz auf 5V.
zuerst hab ich die version mit pull up R und dioden gebaut.
da hat garnix funktioniert.
dann hab ich auf spannungsteiler umgebaut.
dann hat die V0.5 und V2.2 funktioniert, also das demo und die
testseite.
allerdings hat das display nach ein paar sekunden ausgesetzt.

da auf dem testport noch jede menge anderes zeug an den SPI port dran
waren, wie pfostenstecker für LCD, ISP, und 3310 LCD, und jede menge
kupferlackdraht, und das 6100 60cm kabel hatte,
hab ich gedacht es würde an dem zuviel kabelgedöns liegen, das das
display aussetzt.
gesagt getan, alles vom testboard runtergeschmiessen und nur noch den
anschluss und spannungsteiler für 6100 LCD.
und das ergebnis war, kein bild mehr, nicht mehr mit V0.5 und auch
nicht mit V2.2.

dann hab ich in der V0.5 ein bischen rumgespielt:

void n6100SendCommand(uint8_t cmd) {
  // CS auf Low setzen
  PORTB &= ~(0x01 << CS);

  // 1. Bit (Command/Data) per Software erzeugen
  PORTB &= ~(0x01 << SCLK);
  PORTB &= ~(0x01 << SDATA);    // logisch 0 für Command
  //asm volatile ("nop");
  PORTB |= 0x01 << SCLK;
  asm volatile ("nop");
  asm volatile ("nop");


  // Command byte übers SPI senden
  SPCR=(0x01<<SPE)|(0x01<<MSTR)|(0x01<<CPOL)|(0x01<<CPHA);
  SPDR = cmd;

  // Auf Übertragung warten und CS wieder auf High setzen
  while(!(SPSR & (0x01 << SPIF)));
  PORTB |= 0x01 << CS;      // CS wieder auf 1
  SPCR = 0x00;    // SPI wieder disablen
}

erstmal hab ich das CPHA bit gesetzt. dann kamm ein bild mit der V0.5.
sodass ich auf die idee gekommen bin, das es mit dem timing zu tun
haben muss.
mein vermutung ist/war das die per software gesetzte erste bit nicht
zum denen von der hardware bits von der SPI past. ich hab nach dem SCLK
auf high dann ein NOP eingesetzt ( bzw 2 ).
darauf hin hats scheinbar funktioniert. aber nur für eine längere zeit
ca 2 min, dann setzt das display aus.
naja ganz aussetzten tut es nicht, sondern die farben ändern sich
unkontolliert.

ich hab dann eine schleife programmiert, sodass auf dem display einfach
eine zahl hochgezählt wird.
so nach 2min ändern sich die farben. dann nach 1min wirds dunkel, aber
man kann sozusagen im hintergrund noch das hochzählen der zahl sehen.
nach einer weiteren minute ist plötzlich wieder alles OK und die farben
sind wieder wie gewollt und die zahlt zählt weiter. dann fängt das spiel
von vorne an.
da stimmt doch was mit dem timing nicht ?

die V2.2 bekomme ich garnicht mehr ans laufen, da ich kein asm kann  (
bis auf den "NOP" ), und da das timing nicht ändern kann.

was sagt ihr dazu?
läuft das display bei euch einwandfrei mit der unveränderten Lib von
ape ?
grüsse

Autor: Biertester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau die gleiche Probleme habe ich mit der letzte Version von Hagen und
mit Diodes ( BAT45) und Widerstände, binn z.Z. eine Platine am machen
mit alles auf 3,3 Volt , das hatt Hagen nämlich auch so ohne
irgendwelche Bauteile zwischen Controller und Display , vermutlich gibt
es da doch interfaceprobleme .
Danach sehen wir weiter obs dann endlich ohne aussetzer funktioniert.

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab einen ATmega128L in 3Volt-Umgebung genommen und es klappte auf
Anhieb. Ich vermisse bei dem multimedialen Testspekatkel nur reines
Weiß auf dem Display. Ist alles etwas gelblich oder soll das so sein?

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es scheint wohl tatsächlich problematisch zu sein mit Spannungsteilern
uä. zu arbeiten. Das Display ist elektrisch ziemlich sensibel, selbst
mit reiner 3.3V Ansteuerung. Nungut, als erste Alternative würde ich
immer den SPI Takt runtersetzen, da das LCD mit max. 6.5MHz laufen
kann. Bei 16Mhz MCU Takt läuft das SPI mit 8Mhz und überaktet so das
LCD. Meine GLCD Library ist vom SPI her auch nicht besonders
SPI-Multi-Slave fähig.

In der Datei "glcd00.S" bei

#ifdef SPI2X
        sbi     LCD_SPSR, SPI2X
#endif

diese Zeile auskommentieren. Damit würde das SPI mit halber Frequenz
arbeiten. Im Source kurz darüber kann man auch die SPI
Grundeinstellungen und Ports ändern. Das ist syntaktisch nicht anders
als mit einem C Source.

Gruß Hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hab einen ATmega128L in 3Volt-Umgebung genommen und es klappte auf
>Anhieb. Ich vermisse bei dem multimedialen Testspekatkel nur reines
>Weiß auf dem Display. Ist alles etwas gelblich oder soll das so sein?

Bei mir ist das Weiß bläulich !!??

Gruß Hagen

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nur zur Info: Bei mir läuft das Display mit 15 MHz SPI-Clock.
Allerdings muss ich zugeben, dass ich das Display in diesem Zustand nie
länger als ca. 15 min habe laufen lassen, ohne es dazwischen zu
resetten. Ich bin eben noch im Entwicklungsstadium... ;-)

Gruß,
Markus

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mich würde jetzt aber echt mal interessieren, ob ihr einen weißen
Hintergrund hinbekommt. Dieses gelbliche finde ich etwas blöd. Auch
einen Blaustich find ich eher unpassend. Gibt's da noch
Einstellmöglichkeiten?

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weis nicht so recht, aber die GLCD Library initialisiert den
Bildschirm-Hintergrund in einem gelblichen Farbton (ich fand dies gut).
Um dies zu ändern einfach in Datei "glcd.inc" SCREEN_COLOR0 = YELLOW
ändern in SCREEN_COLOR0 = WHITE, oder SCRENN_COLOR = SCREEN_COLOR0 auf
SCREEN_COLOR = WHITE ändern und die GLCD neu compilieren.

glcdClearScreen() benutzt nun SCREEN_COLOR als Füllfarbe zum Aufruf von
glcdFillRect().

Du kannst den Bliedschrim mit zb. glcdFillRect(0,0,130,130, RED); in
Rot füllen.

Dies alles wäre dann ein Softeare-Problem.

Mein obiges Posting bezog sich aber auf ein Hardware-Problem. D.h. wenn
man mit echtem Weiß zeichnet so erscheint dies bei mir immer leicht
blaulich. Das hängt sehr wahrscheinlich mit den benutzen weißen LEDs im
Backlight zusammen.

Gruß hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In kurz:

die GLCD geht standardmäßig von 4 Farben aus:

Hintergrund, Vordergrund, Rahmenfarbe, Schatten

zu finden in Datei "glcd.h":

#define glcdBkColor glcd_Colors[0]
#define glcdFgColor glcd_Colors[1]
#define glcdFrColor glcd_Colors[2]
#define glcdShColor glcd_Colors[3]

in Datei "glcd.inc" findet man die Initialisierungswerte mit

#define SCREEN_COLOR0               YELLOW
#define SCREEN_COLOR1               BLACK
#define SCREEN_COLOR2               GRAY
#define SCREEN_COLOR3               SILVER

die benutzt werden um die ersten 4 Werte im array glcd_Colors[] zu
initialisieren. glcd_Colors[] wird also schon standardmäßig im Program
mit diesen Farbwerten vorinitialisiert. Das sollte natürlich für das
eigene Projekt angepasst werden.

#define SCREEN_COLOR                SCREEN_COLOR0

definiert nun die Farbe die in glcdClearScreen() benutzt wird.

Das nun SCREEN_COLOR == YELLOW ist liegt einfach daran das ich dies für
mein Testprojekt als schön empfand :)

Gruß Hagen

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
habe mir jetzt auch das Display bei ebay ersteigert. Es läuft wunderbar
an meinem Mega8. Es soll das 3310 Display in meinem im anfangsstadium
befindlichen mp3 player ablösen.

Nun die frage, Wie erzeuge ich möglichst ohne zusätzliche spezial ic's
die backlight spannung? Einen MAX pegelwandler soll nicht mit ins
projekt, deshalb fällt diese lösung weg. PWM soll aber schon verwendet
werden.

Hat jemand eine idee??

Vielen dank schonmal im vorraus..

MFG Jörn

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probiers mit einer einfachen Charge Pump, Kondensator + Diode zur
Spannungsverdopplung, allerdings mehr als 20mA wirst aus einem AVR Pin
nicht ziehen können.

Gruß Hagen

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei 15mA ist die Beleuchtung zwar ausreichend stark, diese Stromstärke
wird bei mir aber erst bei >7Volt erreicht. Bei knapp 8V ist die 30mA
Obergrenze erreicht. Ich denke, man sollte dem ganzen zwecks
Lebenserhaltung eine ordentliche Spannungsversorgung geben, die man
dann  mittels Transistor und PWM auch dimmen kann.
Meine ersten Tests mit 6,2V aus einem Steckernetzteil für
Digitalkameras führten zu gut 2mA und eher Dunkelheit. Wichtig für die
Helligkeit ist der fließende Strom und nicht die Höhe der Spannung.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Das mit dem Color LCD vom 6100 istb sehr
interessant. Aber ich hab da mal ne Frage
und zwar:

1) Hat das schon mal jemand in AVR Assembler versucht ??

2) Wäre die Ansteuerung in AVR Assembler möglich ??

Vielen Dank schonmal in voraus.

mfg. Karl

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1) es gibt hier im Forum eine Library in Source -> GLCD. Ab Version 2.0
ist die vorwiegend in Assembler geschrieben.
2) ja, ist natürlich möglich.

Gruß Hagen

Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
ich hab das problem eingegrenzt.
das display scheint übelst empfindlich auf überspannung zu sein.
ich verwende einen 3,3V festspannungsregler. der bringt 3,35V.
die 50mV scheinen schon zuviel zu sein.
ich hab jetzt einen 180Ohm/4,7Kohm spannungsteiler davor gesetzt sodass
die spannung 3,15V ist.
nun scheint es einwandfrei zu funktionieren, bisher aber nur mit der
von mir geänderten version.
hät ich nicht gedacht.
grüsse

Autor: Kuschenegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,

habe genügend 6100 displays mit grüner Leiterplatte (an andere komme
ich nicht...). Jetzt habe ich einige Fragen:


1) Dieses hat den Epson controller, oder ?
2) Hat jemand schon den Link zu dem entsprechenden Datasheet gepostet
?? Wenn nicht, könnte das bitte mal jemand machen ?
3) Wenn ich den mcu (ich nehme den Mega8L) und das Display mit 3
Si-dioden in Reihe versorge, sollte das doch auch ohne Regler gehen,
stimmts ? (weil doch etwa 3x0.7V abfallen würden)
4) Wo ist eigentlich PIN 1 auf dem mini-Stecker ? Ich will ja nix
falsch rum dran löten...
5) kann ich auch erstmal mit dem internen 1MHz resonator des M8
arbeiten ?

Wäre supi lieb, wenn jemand die ein oder andere Antwort hätte.. Danke
im Voraus !

Autor: Markus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

1) Höchstwahrscheinlich ja.
2) http://www.mikrocontroller.net/forum/read-4-71176.html#85128
4) Da ich die Quelle gerade nicht mehr finde: Pinout im Anhang

Gruß,
Markus

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
3) wenn du die anderen Leitungen per Spannungsteiler steuerst könnte das
uU. funtionieren. Allerdings sind die LCD's ziemlich sensible Teile und
reagieren verärgert auf Überspannung etc.
5) ja.

Gruß Hagen

Autor: zween (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tach,

bin total beeindruckt, nachdem ich mich hier eingelesen habe. Hab auch
schon ein Dispi. Hab mir heute alle Beiträge in diesem und in dem
anderen Thread durchgelesen, aber noch nicht mit der Bastelei
angefangen. Die Frage ist schon mal gekommen, hab aber die Antwort
nicht gefunden:
Wo bekomme ich den Hirose Stecker zum Anschluss des Dispis (mit grüner
Leiterplatte) her? Gibt es andere Möglichkeiten da ein Kabel dran zu
bekommen?

Wenn's nicht anders geht, dann werde ich das versuchen zu löten, aber
die Kontakte sehen echt klein aus.

zween

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
habe das display zusammen mit meinem mp3 dekoder vs1001k am spi port.
Mein problem ist das der vlsi und das display einen genau invertierten
spi clk brauchen.. also das wenn das CPOL bit gesetzt ist funzt der mp3
dekoder nicht und anders herum.

Als einzigste lösung ist mir bis jet ein inverter eingefallen.. habe
mal einen mit transistor aufgebaut,
http://de.wikipedia.org/wiki/Inverter  für Rb hab ich 10 k und für Rc
auch 10 k verwendet... leider funzt es weder mit dem vs1001k noch mit
dem display  :-(  woran kann das liegen... oder gibt es noch eine
einfacherere methode?

PS: den code vom display hab ich soweit angepasst das er ohne cpol
arbeitet...

MFG Jörn

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich kenne mich mit Atmels nicht aus, aber warum passt Du das "CPOL
Bit" nicht jeweils an das anzusprechende Peripheriegerät an?

Markus

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

I guess you forgot to disable the SPI module by (re)setting SSPEN in
order to manually set the SCK and SDO pins.
Try sth. like:

static void glcdDisplaySend(byte data, boolean cmd) {
    SSPEN = 0;
    SCK = 0;
    CSDSP = 0;
    SDO = (cmd == true) ? 0 : 1;
    SCK = 1;
    SSPEN = 1;
    spi_write(data);
    CSDSP = 1;
}

HTH,
Markus

Autor: Philip von Keiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich hab da mal ne Frage. Ist es auch möglich, das Nokia Display was
hier angesprochen wird, direkt mit einer kleinen Kamera zu versehen, und
die Videodaten der Kamera wiederzugeben. Würde mich mal interessieren.
Denn wenn das ginge, könnte ich ein kleines Rechner unabhängiges System
aufbaun, was für mich von Vorteil wäre, als das über den Rechner laufen
zu lassen.

Danke schonmal im Vorhinein. :-)

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jaime,

Shouldn't you set up your SPI module for SPI mode 1,1? That would mean
you have to set CKP = 1 and CKE = 0. Furthermore SMP bit should be 0, I
guess.

Markus

PS: Your gclcd_init() seems to be okay.
PPS: Watch out that you have exactly 3.3V max on all pins that are
wired to the LCD.

Autor: J1M (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Markus,

ive put rights config bits CKP=1,CKE=0,SMP=0 ... but nothing append.

in other hand, lcd its power with 3.3v, but lines form PIC was directly
connected to lcd... but ive put a zeners diodes to limit 3.3v and same
results (i think that control lines could be at 5v... im not sure).
Well, when i power up pic leds intensity goes a bit down...i dont know
if this is right.
With a stupid debugger (printf function via RS232)Ive resolved a pair
of problems with spi, spi_write() seems doesnt works (at least with my
version of compiler), ive done this function manually, now program runs
completly..but lcd its black and intensity goes down when i connect it.

here you are the actual code, tell me if there is something stranger
please...

thank you very much Markus

Jaime.

Autor: J1M (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
errrr ive found a 'little' error... the way to put output bits... now
the display seems to do something... but... no background color yet!
:(

i dont understand...seems to be ok!...

Regards

Autor: Ulle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich wollt mal fragen ob schon jemand eine Ansteuerrung für den Epson
Controller geschrieben hat??

Mfg Ulle

Autor: Fasti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Wie habt ihr bei euren Displays verhindert, dass die braune Folie auf
der Seite abreisst? Als ich heute mein Display ausprobieren wollte hab
ich das ganz vorsichtig angelötet, weil ich schon gesehen hab, dass die
Folie nicht sehr viel aushält und danach noch ein Stück Klebenband
drüber. Sauber gelötet, Schaltung überprüft und genau in dem Moment als
ich das Display anstecken wollte reisst die Folie zum Display auf der
Seite ab. Mir war (ist) zum heulen.
Beim 2ten Versuch will ich nicht auch wieder auf die Art ein Display
ruinieren, deshalb wollt ich fragen, wie ihr das ganze sichert. Kann
man den oberen Teil mit Kleber am unteren ankleben vorm löten, sodass
sich das ganze nicht mehr bewegen kann. Welchen Kleber sollte man dann
nehmen (Superkleber ist glaub ich ein wenig zu aggresiv oder)?

mfg

Fasti

Autor: Daniel C. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe vor das Gerät an einen ARM7 zu hängen. Auf dem Board habe ich
per Festspannungsregler einmal 1,8 und einmal 3,3V. Das Display
verbinde ich 1:1 mit dem ARM-SPI-Controller. Sollte ich Vdigital und
Vdisplay an 1,8 oder 3,3V hängen? Muß die Reset Leitung auf MISO gelegt
werden?

Wie verdrahte ich das LCD+ und - mit meinem MAX323 auf dem ein Rx-Tx
Port noch frei ist?

mfg
D.C.

PS: das die bibliothek um-/ neugeschrieben werden muss ist klar und
stellt kein problem dar.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Daniel,

> Sollte ich Vdigital und Vdisplay an 1,8 oder 3,3V hängen?

An 3,3V.

> Muß die Reset Leitung auf MISO gelegt werden?

Nein, nur MISO hast Du eben noch frei, da die Datenleitung des
(Philips-)Displays bidirektional ist. Du kannst den Reset aber auch auf
einen anderen digital Outputpin legen.

Gruß,
Markus

Autor: DerMax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie verdrahte ich das LCD+ und - mit meinem MAX323 auf dem ein Rx-Tx
> Port noch frei ist?

Für die Hintergrundbeleuchtung?
naja den - an GND und den + mit nem Vorwiderstand an den Tx-Out vom
MAX323. Den Tx-In dann an nen PWM-Pin vom Controller, oder wenn keine
Helligkeitsreglung benötigt wird direkt auf GND (Der MAX invertiert das
Signal ja, so dass bei Eingang low der Ausgang high ist).
Die Größe des Vorwiderstandes hängt von der Spannung ab die der Max am
Ausgang macht. Bei 12V müssten 180Ohm ganz gut passen... Im Zweifel nen
Poti und so einstellen das es passt :)

Autor: Karl Katt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort.
Müßte nicht nach dem TxOut dann ein Spannungsteiler mit zwei
Widerständen kommen der die 12V aufteilt? Wie errechnen sich die 180
Ohm?

Danke,
Karl

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Backlight anders am MAX angechlossen

MAX.TX1_out -> LCD.LED+
MAX.V-      -> LCD.LED-

An V- liegt normalerweise C4- an. Erst wenn TX1_in auf +Vcc geht kann
so eine Gesamtspannung von ca. 10 Volt an den LEDs anliegen. Schliesst
du LED- an GND an so hast du nur die halbe Spannung. Klar, Vorwiderstnd
nicht vergessen um den LED Strom zu begrenzen. TX1_in habe ich am OC1A
Pin des AVR's angechlossen und kann so das Backlight dynamisch dimmen.
Der Gesamtstrom den man über V- entnehmen kann liegt nur bei ca. 30-40
mA laut MAXIM Application Note. Die PWM die ich auf OC1A ausgebe hat
einen maximalen Dutycycle von 60%.

Gruß Hagen

Autor: MarcelKo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
heute hab ich endlich ein board mit einem 128L gebastelt und alles
läuft mit 3,3V.
nun endlich läuft das display einwandfrei.
grüsse

Autor: Peter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@fasti:
schau dir das Foto an: ich habe eine Zwischenplatine an das Display
geklebt, wo dann die großen Kabel dran sind. Dann können auch keine
Kabel abreißen.
Peter

Autor: Fasti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter:

Danke, die Idee is gut! Werd ich dann auch mal so machen.

mfg

Fasti

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Kann jemand sagen bis wann das Philips Display verbaut wurde und ab
wann das mit dem Epson?

Ich brauche noch dringend so ein Teil da meines gestern leider
runtergefallen is!

:-( Andreas

Autor: Karl Katt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

kanst du bei megaboss in polen bestellen, kostet 18 euro:

http://www.magboss.pl/product_info.php?products_id=638

Gruß,
Andre

Autor: Emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Witam

Mo&#380;e wiecie jak zrobi&#263; zeby S1D15G14 wy&#347;wietla&#322;
ruchome obrazki (gify)

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

zuerstmal super Code funktionierte auf anhieb! Nun zu meinen Fragen:

Also ich habe 4 Displays, eines wie beschrieben mit brauner Leiterfolie
und Goldpads, zwei mit brauner Leiterfolie ohne Goldpads und eines mit
grüner Leiterfolie.

Das erste was wohl den Phillips Controller hat das funktioniert 100%
Die anderen beiden mit der Braunen Foilie ohne Goldpads funktionieren
auch, allerdings mit enormen Farbunterschieden, das Grüne funktioniert
logischerweise nicht.

Nun meine Frage hat schon jemand mit den Displays ohne Goldpads
gearbeitet? Oder kann mir jemand erklären wie genau die Farbeinstellung
vorgenommen wird? Bei diesen Display ist z.b. Orange = Blau was bei dem
Display mit Goldpads richtig angezeigt wird.

Wäre über Infos dankbar euer Tom

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn du dich auf die GLCD Version 2.2 beziehst:

In glcd00.S findest du:

#ifndef USE_HIGHCOLOR
  #ifdef USE_ORGINALCOLORS
COLOR_RED:                                              // original
color table
        .byte   0x00, 0x02, 0x04, 0x06, 0x09, 0x0B, 0x0D, 0x0F
COLOR_BLUE:
        .byte   0x00, 0x04, 0x0B, 0x0F
  #else
COLOR_RED:                                              // modified
color table
        .byte   0x00, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F
COLOR_BLUE:
        .byte   0x00, 0x08, 0x0B, 0x0F
  #endif
#endif

Du kanst also zb. in glcd.inc

#define USE_CLIPPING                                        // support
clipping
// #define USE_HIGHCOLOR                                       // 65536
color mode
// #define USE_ORGINALCOLORS                                   // in
256 color mode use original color table
// #define USE_AUTOINIT                                        // call
glcdDisplayInit() automaticaly on startup


das #define USE_ORIGINALCOLORS wieder aktivieren und dann die komplette
Library neu kompilieren. Das bewirkt dann das in Datei glcd00.S eine
andere Farbtabelle geladen wird.

Du kannst aber auch in glcd00.S deine eigene Farbtabelle definieren.
Das alles bezieht sich natürlich nur auf den 256 Farben Modus der
LCD's.

Das LCD mappt dabei 256 Farben in sein internes 12Bit Farbformat.
Dazubenötigt es 3 Bits für den Rot und Grün und 2 Bits für den Blau
Anteil. 3+3+2 = 8 Bit -> 256 Farben. In den obigen Tabellen also 8
Einträge a 4 Bit für Rot und Grün und 4 Einträge für Blau a 4 Bit.
Ergibt also 4+4+4 = 12Bit effektive Farbe.

Wenn man also einen 8Bit Pixel setzt, so wird dieser in 3r+3g+2b Bit
zerlegt. Diese Bits ergeben dann den Index in die geladene Farbtabellen
-> 8r,8g,4b Einträge und dort stehen dann 4r+4g+4b Bits = 12Bit an
Farbinformation zum setzendes Pixels.

So funktioniert das Colormapping im 256 Farben Modus in die internen
4096 Farben. Man benötigt also nur 20 Bytes als Farbtabelle.


Gruß Hagen

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wandle ich Pegel von 5V auf 3.3V (bidirektional!)


              C --------------Controller 5V-Pegel
      10K  | /
3.3V--[]--B|     BC847
 fix       | \
              v
               E ------------- Display 3V-Pegel


Läuft einwandfrei bei LCD für 3210....

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
gibt es eine (einfache) Möglichkeit bei der Ausgabe von Strings eine
bestimmte Anzahl von Pixeln zu überspringen?

Hintergrund ist der, das ich einen relativ langen Text auf dem Display
in einer Zeile ausgebe und dieser dann hin und her scrollt.

Momentan mach ich das so, das ich das Clipping des Displays auf die
Breite des Scroll-Feldes beschränke und dann die X-Start-Koordinate der
String Ausgabe nach links rausschiebe. Problem dabei ist, das wenn der
Text breiter als 256 Pixel ist, wandert er auf der rechten Seite wieder
rein.

Eine mögliche Lösung wäre einfach die ersten Zeichen, die schon nicht
mehr zu sehen sind, wegzulassen. Das ist aber eigentlich keine schöne
Lösung, da die Zeichen ja unterschiedliche Breiten haben können und ich
daher nicht weiß wieviele Zeichen ich weglassen muss, wenn der Text eine
bestimmte Anzahl von Pixeln aus dem Bild gewandert ist.

Lange Rede kurzer Sinn: lässt sich die Lib auf einfachem wege so
anpassen das einfach eine bestimmte Anzahl von Pixeln bei der
Text-Ausgabe weggelassen wird?

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> wandert er auf der rechten Seite wieder rein.

Das liegt an deinen Koordinaten, diese sind ja intern nur 1 Byte breit,
ergo 255 ist die höchste Koordinate.

Du möchtest beim Zeichnen eines Strings einen Offset angeben können der
sozusagen Pixelorientiert innerhalb des Strings zeigt. Ab diesem
Pixeloffset soll dann der Text an der X Koordinate gezeichnet werden.

Ok, glcdPrint() ruft intern ja glcdCharsCallback(text, flashstored,
glcdDrawChar()); auf. D.h. du kannst deine eigene glcdPrint() funktion
schreiben die nun mit einem Offset arbeitet, etwa so

void glcdPrintAtOffset(char *text; int16_t offset) {

  uint8_t charwidth;

  while (offset >= charwidth = glcdCharWidth(text)) {
    offset -= charwidth;
    text++;
  }

  glcd_Cursor.x -= offset;
  glcdPrint(text, 0);
}

ich glaube so ähnlich müsste es gehen. Im Grunde rechnest du von Hand
mit Hilfe der Breite der Zeichen selber den Start des sichtbaren Textes
und dessen Pixeloffset innerhalb des gerade noch sichtbaren Zeichens
aus.


Gruß Hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry in der schleife muß noch auf den Null-Terminator im Text geprüft
werden:

void glcdPrintAtOffset(char *text; int16_t offset) {

  uint8_t charwidth;

  while ((text^ != #0) and (offset >= charwidth = glcdCharWidth(text)))
{
    offset -= charwidth;
    text++;
  }

  glcd_Cursor.x -= offset;
  glcdPrint(text, 0);
}

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok danke funktioniert
hab das noch ein wenig editiert um auch Strings im Flash zu
unterstützen, außerdem übergebe ich noch die Länge des zu zeichnenden
Stücks und pute die Zeichen einzeln, da sonst beim Zeichnen des Strings
mit offset=0 mit glcdPrint(), der String ja wieder auf der linken Seite
ins Bild wandert.

Meine Funktion sieht jetzt so aus:

void glcdPrintOffset(const char *text, uint8_t flashstored, int16_t
offset, int16_t length) {
  uint8_t width;
  char c;

  if(flashstored) {
    c = pgm_read_byte(text);
  } else {
    c = *text;
  }

  // So viele Zeichen überspringen, bis offset erreicht ist
  while(c != 0 && offset >= (width = glcdCharWidth(c))) {
    offset -= width;
    if(flashstored) {
      c = pgm_read_byte(++text);
    } else {
      c = *++text;
    }
  }

  glcd_Cursor.X -= offset;
  length += offset;

  // so viele Zeichen puten bis length erreicht ist
  while(c != 0 && length > 0) {
    glcdPut(c);
    width = glcdCharWidth(c);
    length -= width;
    if(flashstored) {
      c = pgm_read_byte(++text);
    } else {
      c = *++text;
    }
  }
}

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kleine Verbesserung in der Performance, glcdDrawChar() = glcdPut() mit
dem Unterschied das glcdDrawChar() die Pixelbreite des gezeichneten
Zeichens zurückgibt. glcdPut() ist eher als Callback für die C Runtime
Funktionen gedacht.

// so viele Zeichen puten bis length erreicht ist
  while(c != 0 && length > 0) {
    width = glcdDrawChar(c);
    length -= width;
    if(flashstored) {
      c = pgm_read_byte(++text);
    } else {
      c = *++text;
    }

Ansonsten habe ich mal deinen Source in meine GLCD intergiertum sie in
einer eventuell neueren Version mit einzubauen.

Und eventuell am Anfang deiner Routine noch

uint8_t flags = glcd_Flags.All;
glcd_Flags.AutoLineFeed = 0;

und am Ende dann

glcd_Flags.All = flags;

einfach um den automatischen Zeilenumbruch zu deaktivieren, da dieser
ja für diese spezielle Anwendung eher störend sein dürfte.

Gruß Hagen

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah ok danke
das glcdDrawChar() hab ich wohl irgendwie übersehen :)

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Möchte nochmal wegen dem Levelshifting nachhaken. Ich lese hier im
Thread von diversen Problemen mit der Umsetzung von 5 auf 3 Volt. Die
einen schwören auf den Spannungsteiler, der aber auf dem Osszi nicht so
doll sein soll, die anderen gehen den Weg mit den Dioden (entweder
Z-Dioden oder BATs) und dann seh ich die Sache auch noch mit nem
Transistor, wobei mir die Bidirektionlität nicht klar ist. Was ist denn
nun die wirklich beste Lösung? Das Gesamtsystem mit 3V laufen zu lassen
scheidet bei meinem Vorhaben definitiv aus. Ich möchte meinen ATmega128
mit 16 MHz laufen lassen und so ein Maximum an Rechenzeit bei stabilem
Betrieb rausholen.

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: Geht die Sache nicht auch mit 'nem richtigen Levelshifter wie
dem 74LVX244 oder dem SN74LVC4245 von Texas Instruments?

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein richtiger Level-Shifter sollte eigentlich immer gehen. Brauch halt
mehr Platz als die anderen Lösungen...
Ich bin mit der Spannungsteiler-Lösung bisher ganz gut gefahren, wie
die Pegel dahinter aussehen, liegt eigentlich nur an der Größe der
Widerstände, wenn du beim Gesamt-Widerstand des Teilers ungefähr 1k
hast, sollte das schon ganz gut gehen...

Autor: Birger* (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal meine Version der Spannungsanpassung, die ich bis auf die
Hintergrundbeleuchtung zwar noch nicht getestet habe aber vermutlich
funktionieren dürfte. Die Schaltung bedarf wegen SDATA einer Anpassung
in der Software. Schön finde ich die Hintergrundbeleuchtung, die in
weiten Grenzen konstanten Strom von ca. 26mA liefert, der es für
ausreichende Helligkeit schon sein sollte.

Autor: dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat gehört das die 6100 LIb auch auf ein Noikia 3510i Display laufen
soll, kann das einer bestädigen. gibt es auch für den 3510i auch eine
LIB?

Autor: Volkmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, die ursprüngliche Lib ist nur für das 6100. Ich habe damals aber
die Lib an das 3510i angepaßt.

Kann sie Dir bei Bedarf raussuchen und zukommen lassen.

Volkmar

Autor: dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wäre nett wenn du es mir die LIB zum 3510i zuschicken könntest oder als
Anhang hier im Forum. thx

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hatte noch ein defektes 6100 da liegen
als deckel auf, display raus, aufkleber ab und glück gehabt....
kabel an braune folie und test...
also ich bin total begeistert was Hagen' GLCD-Library alles kann.
einfach super, gute arbeit!
display ist auch schon in eimem projekt verbaut...
nun wollte ich gern noch was mit den 6100-display's machen, aber man
bekommt ja nur noch welche mit Epson-Controller S1D15G10.
zuerst wollte ich auf 3510i-display ausweichen, aber ich brauchte eben
die 130x130 dots

deshalb wäre es schön, wenn ihr mir sagen könnt, ob es schon jemand
geschafft hat, die ansteuerrung für ein 6100-display mit dem Epson
Controller zum laufen zu bringen?

MyMeisle schrieb am 06.01.2005 12:54

>1. Hat einer schon einen C-Code für das Ansteuern des
EPSON-Controllers geschrieben? Falls nicht, dann werde ich mich wohl
versuchen müssen.

hat sich da was getan???

ich glaube Hagen wollte auch, wenn er unterstutzung gekommt weiter
entwickeln.? ist das so?

wäre schön, wenn sich da noch was tun würde, wenn es nicht schon
geschehen ist, und ich es nur mal wieder nicht mitbekommen habe.

danke im voraus.

MfG Jan

Autor: Volkmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mich recht erinnere, dann ist das 3510i doch auch mit einem
Epson-Controller bestückt. Von daher stehen die Chancen nicht schlecht,
es auch mit der Epson-Variante des 6100 zum Laufen zu bekommen. Die glcd
hatte ich ja schon an das 3510i angepaßt, das könnte man als Basis
nehmen.

Volkmar

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Jan & Volkmar,

>ich glaube Hagen wollte auch, wenn er unterstutzung gekommt weiter
>entwickeln.? ist das so?

Ja, und durch Volkmars Arbeit hätte man sogar noch das 3510i mit
integriert. Aus meiner Sicht gibt es aber 4 Probleme:

1.) im Grunde benötige ich eine solche Library garnicht, und im Hobby
programmiere ich nur das was ich auch benötige
2.) ich habe kein EPSON Display zum testen, und wie wir alle wissen ist
eine rein "virtuelle" Programmierung einer Library eine sehr schlechte
Idee. Jeder macht Fehler und somit muß man auch ausführliche Tests
machen können. Man könnte jetzt so vorgehen das ich auf Verdacht hin
den EPSON Controller programiere und dann ein Anderer das testet. Nur
meine ich das so eine Vorgehensweise defacto unpraktikabel ist.
3.) Da meine GLCD dann 3 verschiedene Displays unterstützen würde, sich
also im Grunde die Komplexität ändert, muß sich auch der softwaremäßige
Aufbau der GLCD mit ändern. D.h. die Struktur der GLCD sollte so
angepasst werden das man später ohne Probleme neue Hardware
hinzuprogrammieren kann. Dazu muß die jetzige GLCD aber so
umgeschrieben werden das sie stärker strukturiert ist. Klar man könnte
den EPSON Steuercode auch per DEFINES und bedingter Compilierung direkt
einbauen, das wäre also Quick&Dirty, nur für eine gute Library geziemt
sich sowas nicht. Es muß also ein getrennter Hardware-Layer in die GLCD
rein und das bedeutet einiges an Umprogrammmiererei.
4.) Zeit, die liebe Zeit. Immerhin würde ich da Zeit investieren von
der ich persönlich reingarnichts habe (ausser ein Dankschön). Ich hoffe
das diese Meinung nicht allzu egoistisch rüberkommt, aber sind wir mal
ehrlich "wir alle denken irgendwo so".

Unter Umständen wäre ich zu einem Deal bereit. Angenommen irgendeiner
entwickelt ein kleines Board zur Ansteuerung seiner Displays. Diese
Arbeit wäre ja eh nötig für diese Person. Falls diese sich nun bereit
erklärte das ich davon profitieren könnte (ich bin sehr unerfahren in
solchen Sachen) dann könnte man gegenseitig von der gemeinsammen Arbeit
partizipieren und hätte sogar nur Vorteile. In einem solchen Falle würde
ich es mir logischerweise nochmal genauer überlegen.

Was wäre zu tun ?
Die GLCD Routinen müssen strukturiert zerlegt werden in:
- Hardware-Layer für die einzelnen Displays
- Grafik-Layer für die Grafikroutinen getrennt in reine C-Sourcen und
spezialisierte Assembler Sourcen für den AVR. So wäre es dann auch
möglich die GLCD wesentlich leichter auf zB. den PIC zu portieren.
- Implementation der einzelnen Display-HW-Layer, wobei ja vorerst nur
der EPSON Controler eine Neuentwicklung die zu testen wäre ist. Für die
anderen beiden Displays habe ich ja schon den Code fertig.

Der Aufwand ist nicht unerheblich, ich würde mal 2 Hobby-Mann-Wochen
schätzen.


Gruß Hagen

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Also aus meiner Sicht ist das Projekt ein voller erfolg bzw war er es!
Es gab und gibt viele die diese Surce nutzen, wieso ihn also sterben
lassen!

Ich denke der aufwand ist es wert, dieses Projekt nochmal auf sich
zunehmen! evt. kannst du hagen es ja auch mal wieder benötigen für
eines deiner eigenen Projekte!

Also für den Fall das du / ihr das Projekt wieder auf euch nehmen wollt
ich hätte noch ein Epson Display zum testen, das ich euch zur verfügung
stellen würde!

Mfg holger

Autor: Andreas Brenne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Volkmar: Nur zur Info: das 3510 ist trotz Epson-Controller von der
Ansteuerung her (fast - 99%) identisch zum Philips Controller des 6100.
Vermutlich werden die nach Anforderung von Nokia produziert.

Der Epson Controller des 6100 arbeitet dagegen komplett
unterschiedlich. Das 6100-Epson-Display wird ganz anders angesteuert.
Das ist wohl auch der Grund, warum die Nokia Handys für die neuen
Epson-Displays im Nokia-Shop eine neue Software eingespielt bekommen
müssen. Legt mal die beiden Datenblätter nebeneinander: Einfach
umsetzen geht nicht: etliche Befehle gibt es beim Epson überhaupt
nicht, andere wiederum beim Philips nicht - die Ansteuerung muss
vermutlich komplett neu programmiert werden.
Andreas

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das war auch mein erster Eindruck beim Überfliegen des Datenblattes.
Die meisten Sorgen machte mir dabei der Punkt das man beim Philips die
Addressierungsarten des Display RAMs sehr komfortabel und flexibel
umstellen kann. Das geht anscheinend mit dem Epson Teil nicht so
einfach. Aber viele Funktonen wie Linien und Fonts machen von diesem
Feature regen Gebrauch.

Gruß Hagen

Autor: marcelKo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
Hab WinAVR erst seit kurzem.
das Testbeispiel läuft.

Aber wenn ich die glcd in einem anderen projekt verwenden möchte kommt
immer ein fehler:

mit
#include <glcd.h>

kommt bei verwendung von glcdDisplayInit immer

C:\Programme\AVRlib\examples\mmc.mmc/mmctest.c:77: undefined
reference to `glcdDisplayInit`

muss ich was in der makefile ändern ?
was denn ?

grüsse

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Öffne das Makefile des Test projektes. Wichtig ist

LDFLAGS += -lglcd

und das wie in der Readme beschrieben alle Library Files in den Lib
Ordner kopiert wurden.

Gruß Hagen

Autor: marcelKo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
ich habs jetzt compiliert bekommen.

aber nun entsteht ein anderes problem.

ich hab an der SPI ein VS1001 mp3 decoder und eine SD speicherkarte.
der VS und die SD verwende ich mit CPOL=0 und CPHA=0 und ohne spi
interrupt,
da mein code für die SD schneller ohne interrupt geht.

das nokia display verwendet allerdings CPOL = 1 und CPHA = 1 und spi
interrupt.
soweit ich aber aus dem datenblatt des philips controllers entnehmen
kann, sollte doch aber der auch mit CPOL = 0 und CPHA =0 laufen ?

da ich noch zu wenig ahnung von assembler habe, kann ich da im glcd
code auch noch nix ändern.

ich weis nicht genau, ob man während der laufzeit den spi interrupt
abschalten kann, sodass ich beim zugriff auf das display einfach den
interupt einschalte und CPOL=1 sezte.

ich hab das schon mal versucht.
aber es klappt irgendwie noch nicht wirklich. zwar kann ich einmal vom
glcd mod auf den anderen umschalten, aber nicht wieder zurück.
grüsse

könnte man auch den glcd code ohne spi interrupt verwenden ? also
umschreiben ?

ich hab mit dem osci gesehen, das der erst bit, also das selbstgemacht
vor dem eigentlich spi ziemlich lang ist. kann man das kürzen oder ist
geht das aufgrund von den cycles nicht kürzer ?
grüsse

Autor: marcelKo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so,
nun kann ich mir ein paar fragen selbst beantworten ;)

ich habs probiert mit dem "9-bit", das geht nicht schneller als die
cycles.

so wie es aussieht kann mand die SPI config während der laufzeit
umschalten.

allerdings habe ich die vermutung, das der SPI interrupt trotzdem noch
ausgeführt wird, obwohl ich den für die mmc abgeschaltet habe im SPCR.

kann das sein ?
grüsse

Autor: marcelKo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guten abend,
hat sich nun auch erledigt ;)
es klappt.
grüsse

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Also für den Fall das du / ihr das Projekt wieder auf euch nehmen
> wollt ich hätte noch ein Epson Display zum testen, das ich euch zur
> verfügung stellen würde!

Falls mir jemand ein Epson-Display (für Nokia 6100) kostenlos zur
Verfügung stellt, das ich dann auch behalten darf, dann würde ich mich
bereit erklären, die GLCD V2.2 entspr. anzupassen (natürlich nur, wenn
Hagen damit einverstanden ist).

Gruß
Michael

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, was sollte ich dagegen haben ? Meine EMail Adresse findest du in der
GLCD falls du tiefgehendere Fragen haben solltest.

Gruß Hagen

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe inzwischen mal begonnen, die GLCD-Lib für das Epson-Display
anzupassen, allerdings bräuchte ich jetzt ein Display, um das ganze
auch testen zu können. Leider hat sich bis jetzt noch niemand gemeldet,
der mir ein Display zur Verfügung stellt. Ungetestet gebe ich die
Software nicht raus, ohne reales Testobjekt macht das keinen Sinn.

Also:
Wer mir ein Epson-Display (für Nokia 6100) kostenlos zur
Verfügung stellen möchte, das ich dann auch behalten darf, bitte per
Email bei mir melden.

Gruß
Michael

Autor: pebisoft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum behalten, du kannst es doch anschliessend zurückschicken, oder.
mfg pebisoft

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder stelle es hier rein und einer übernimmt das Testen, und er
überprüfung

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andere Frage wie kann man beim "nackten" Nokia 3510i Display, am
besten die Hintergrundbeleuchtung machen. Von hinten brauche ich um
eine ausleuchtung zu bekommen ca 4-5cm Abstand?

Autor: marcelKo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
soweit ich gesehen habe, wird nach jedem gesendetetn byte das
chipselect wieder aufgehoben und vor dem nächsten byte senden wieder
gesetzt.
kann man den CS nicht halten solange man mehrere bytes sendet?
ich hab das datenblatt nicht genau anschaut, aber ist es nötig für
jedes byte den CS zu setzten ?

schon mal versucht die SPI ohne den interrupt zu verwenden ?
ich hab nämlich hier eine MMC code, der ohne interrupt schneller läuft,
wenn man jede menge bytes direkt nacheinander sendet.
grüsse

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>kann man den CS nicht halten solange man mehrere bytes sendet?
>>ich hab das datenblatt nicht genau anschaut, aber ist es nötig für
>>jedes byte den CS zu setzten ?

Ja man könnte, aber so wie es jetzt ist ist es wesentlich performanter
und störsicherer. Nehmen wir einen AVR mit 16MHz Takt an. Das
schnellste SPI ist also mit 8MHz möglich. Zu rausschieben eines Bytes
benötigt man also 32 Takte der MCU. Der Code zum Befüllen des SPI's
benötigt ca. 6 Takte.

Ohne den IRQ müsstest du nach dem versenden eines Bytes auf das SPI
warten, also ca. 24 MCU Takte würdest du sinnlos in einer Schleife
verbringen.

Deshalb macht's die GLCD anders. Sie versendet 1 Byte == 6 MCU Takte,
das SPI schiebt dann in den nächsten 32 MCU Takten dieses Byte raus,
aber die SPI Routine ist in dieser Zeit schon längst wieder verlassen
und die MCU arbeitet die nächsten 24 Takte schon am normalen Program
weiter.

Angenommen eine Linien Zeichen Routine. Deren innerste Loop benötigt
zb. 22 MCU Takte um das nächste Byte fürs SPI zu berechnen. 1 Byte
versenden dauert 6 Takte, dann 22 Takte nächstes Byte berechnen macht
ca. 28 MCU Takte. In dieser Zeit arbeitet das SPI aber seine 32 Takte
im Hintergrund ab und defacto stehen die nächsten Daten schon wieder
zur Verfügung. Das komplette Program verbringt somit nur 4 Takte mit
Warten. Der Datendurchfluß ist also gesteigert.

Deshalb pollt meine SPI Routine nicht nach den Befüllen des SPI's
sondern VOR dem Befüllen des SPI's. Die Routine überprüft also ob das
SPI noch am Senden ist. Das tut sie weil sie davon ausgehen kann das
der SPI Interrupt das SPI deaktiviert. Das ist sogar clever da die LCD
Routinen sich nicht selber darum kümmern müssen.
Wird das LCD schnell mit Daten angesprochen so verhält sich das CS wie
ein Dauersignal mit kleinen Signalspitzen.

Auf alle Fälle sollte das CS nur solange wie minimal nötig aktiv sein.
Das LCD reagiert sehr sehr empfindlich wenn es über CS aktiviert wurde
aber keine Daten gesendet werden. Das war die Erfahrung mit der ersten
Version der GLCD Library. Nach Umbau auf die neue IRQ Methode hatten
sich diese Störungen erledigt. Immerhin führten solche Störungen zum
kompletten Aufhängen des LCD's. Erst nach einem HQW-Reset konnte das
LCD wieder angesprochen werden.

Es hat also 2 wichtige Gründe warum ich dies so in der GLCD so gebaut
habe -> Performance und Stabilität.

Man kann mit dem gleichem Design auch MMC Karten ansprechen (habe ich
schon gemacht) und somit auch dort die Performance steigern. Aber dort
ergibt sich eben das Problem das das CS nicht deaktiviert werden darf
!

Gruß Hagen

Autor: marcelKo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
bei meinen tests mit einer SD card, wo man viel byte am stück sendet,
da hab ich herausgefunden durch messungen und avrstudio, das es
schneller geht, wenn man ohne interrupt arbeit.
der einsprung und rücksprung kostet viel zeit. und da der mmc code
dazwischen nix zu arbeiten hat, ist das warten schneller.
grüsse

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann schon stimmen, es hängt aber auch davon ab wie man dann das SPI
ansteuert und was der restliche Programmcode noch alles erledigen soll.
Bei meiner SPI MMC Karten Ansteuerung benutze ich ebenfalls kein IRQ,
weil die MMC Karten eben das CS immer assigned haben müssen. Denoch ist
es fact das im Falle der GLCD mein implementierter Weg der effizientste
ist, auch und trotz dem IRQ.
Du solltest auch nicht die GLCD mit einem MMC Code vergleichen, das
sind zwei komplett verschiedene Paar Schuhe. Die MMC wird meistens sehr
stark sequientiell und mit großen kontinuierlichen Datenblöcken
angesprochen. Während dieser Kommunikation über's SPI benötigt man im
Program kein weiteres Preprozessing zur Berechnung der nächsten
Datenbytes. In der GLCD ist das aber anders. Dort gibt es
Grafikfunktionen wie Linien/Kreise/Ellipsen/Fonts und diese geben
sozusagen "Pixelweise" ihre Daten ans SPI weiter. Diese Berechnungen
erfolgen in Schleifen und müssen noch einiges an zusätzlichen
Berechnungen durchführen. Nun, und exakt in solchen Momenten kann man
mit meiner Methode die Gesamtperformance drastisch steigern. In fact,
diese Schleifen der Grafikfunktion in der GLCD habe ich absichtlich so
kurz gehalten das bei 8Mhz SPI Takt + 16Mhz MCU Takt ausschließlich die
SPI-Kommunikation zum LCD der Falschenhals ist. Die GCLD führt also alle
Berechnungen quasi parallel zur Datenübertragung im SPI durch.

>>schon mal versucht die SPI ohne den interrupt zu verwenden ?

Ja, und das war langsammer und sogar instabiler wenn man lange
Zuleitungen zum LCD benutzen möchte.
Die neue Methode per IRQ ist beim Zeichnen von Linien ca. 2 mal
schneller als die alte.

Gruß Hagen

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibs schon den Treiber für den Epson Chipset zum Nokia 6100?

Autor: pebisoft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe mir das display mit platine zugelegt. eine tolle sache.
das dispaly ist das neue epson mit bascomprogramme für text und
grafik.
alle programme laufen zu 100%. kein ärger mehr mit der spannung und dem
klitzekleinen anschluss. 9volt an display und beleuchtung und das andere
geht wie von selbst. kein abschiessen der elektronik mehr.
das erste nokia hatte ich abgeschossen. da mir die sache zu haarig war,
habe ich mir das fertige gekauft, um mich auf die programmierung zu
konzentrieren. die bascom-programme versuche ich jetzt in winavr-c
umzusetzen für das epson display. grafik und text laufen 100%.
endlich.
mfg pebisoft

Autor: Oliver Koll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Pebisoft! Wie zugelegt? Wo gibt es das denn? Wie teuer?

Autor: Jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Epson: http://www.myplace.nu/mp3/  yampp-7 colour LCD firmware

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Pebisoft:
Und was für ein Chip dient als Ansteuerung ? Sind dort noch andere
Bauteile drauf ? Foto ?


mfg Dirk

Autor: pebisoft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der epson-chip ist im display.
auf der platine ist noch ein spannungswandler.
schau hier: www.speedservice.de/html/display_deutsch.html
mfg pebisoft

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf den HP sieht man das Display nicht die Ansteuerung.
Ich wollte wossen welcher Chip die Ansteuerung(auf der
Ansteuerungsplatine) des Display übernimmt. Oder ist nur der
Spannungwandler drauf?

Autor: Tina (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo pebisoft.
Kannst du evt das Bascom Programm uns zusenden?
Mfg Tina

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mir auch! oder hier rein in codesammlung

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wow Leute!,

Gestern hab ich, aus einem noch unbekannten Grund,
die Hintergrundbeleuchtung meines noch Funktionierenden
6100 Displays geschrottet. Jetzt hab ich die LED's aus
meinem anderen, kaputten Display(Chip abgeraucht) genommen
und die LED's von dort in das ganze Display umgelötet.
Und siehe da es geht wieder.
War ziemlich schwer auf dem blöden Flexiband da rummzulöten.

Gruß
Lightning

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast von deiner Beleuchung ein Foto?

Autor: pebisoft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo das bascomprogramm stelle ich nicht rein, weil derjenige, der es
erstellt hat ein recht darauf hat, das es geschützt bleibt. er hat es
in langer arbeitszeit augetüftelt. wenn ihr das display bei ihm kauft,
bekommt ihr das programm.
mfg pebisoft

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das war schon klar! :-( Also wenn die Ansteuerung alles macht sind die
Programme Witzlos für uns. Hast du mal geguckt welche Bauteile noch auf
der Ansteuerungsplatine drauf ist?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als ich finde das ja interessant das hier Tina und Dirk öffentlich quasi
eine Anstiftung zu einer Straftat begehen. Das ist strafbar!

Und Danke an pebisoft und alle anderen, die die harte Arbeit hinter der
Entwicklung respektieren.

Ich biete unter www.shop.speedservice.de das gesamte Modul für 39,90
inkl. div. Softwareprogramme und einer umfangreichen! deutschen
Dokumentation an was nun wirklich nicht zu teuer ist.

Der gesamte Materialwert macht schon knapp 30 Euro aus. Und dann gibt
es immer noch welche, die diese 10 Euro sparen wollen und meine Arbeit
kostenlos schnorren wollen. 10 Euro! das ist einmal Popcorn und Cola im
Kino.

Und ich darf davon noch die Mwst überweisen, den Rest als Gewinn
versteuern und pro Modul ca. 20-30 Minuten Arbeit investieren (nicht zu
sprechen von den bereits aufgewandten >100 Stunden für die Entwicklung
und Dokumentation).

Sorry, aber hier andere anzustiften, den Code hier zu verteilen (der
übrigens geschützt ist, ich erteile jedoch jedem die Erlaubnis, diesen
nach Belieben in eigene Programme einzubauen) finde ich frech und dumm
zugleich.

Denn eigentlich war als nächstes eine Lösung für das Display vom 6600
(oder ein ähnliches) geplant - aber wenn ich sehe, wie hier geistiges
Eigentum und die Arbeit anderer mit Füßen getreten wird, werde ich wohl
einen etwas anderen Weg einschlagen müssen: dann kommt auf meine Platine
tatsächlich noch ein Tiny oder sonst was, der die Ansteuerung umcodiert
und an das Display übergibt. Dann ist die Ansteuerung eben nur mit
meiner Platine möglich. Die Code-Klauer schneiden sich damit ins eigene
Fleisch - dann wird eben ín Zukunft alles teurer. Geht dann wohl nicht
anders, denn ich muss von meiner Arbeit leben (anscheinend gibt es
andere Menschen die das nicht müssen).

Nicht vergessen: wir sprechen hier von 10 Euro Mehrpreis gegenüber dem
Materialwert! Und selbst das ist es euch nicht Wert zu investieren? Für
eine komplette Doku, Software und einem fertigen, getesteten Modul? Ja
was wollt ihr denn noch?

Frustrierte Grüße
Peter

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach so, ich vergaß:

Die kleinen Anschlussplatinen mit aufgelötetem Stecker gibt es im Shop
sogar nur für 9,90 Euro wenn man ein Display mit bestellt (beliebige
Stückzahl).
Wer glaubt, er lötet den Stecker mal eben selber irgendwo an, der
täuscht sich gewaltig. Die Anschlüsse des Steckers sind nur direkt am
Rand zugänglich und verlaufen dann 2mm unter den Stecker selbst. Bei
einem Abstand von 0,2mm zwischen den Steckeranschlüssen läuft beim
Löten (wenn man versehentlich zwei Kontakte überbrückt - und das geht
bei diesem minimalen Abstand schneller als man denkt denn das 0,5mm
Lötzinn ist schon doppelt so dick wie der Abstand zwischen den
Kontakten)  das Lötzinn durch den Kapillareffekt sofort unter den
Stecker zwischen die Kontakte und verursacht Kurzschlüsse. Bekommt man
auch nicht mehr raus, der Stecker löst sich beim Versuch, die
Anschlüsse wieder alle abzulöten um ihn abnehmen zu können schon auf.
Also: Platine und Stecker hin - und wenn man es nicht merkt dann auch
das Display bei der Inbetriebnahme).

Ach ja, und die großen Platinen haben alle nur Standardbauteile drauf,
kann jeder nachbauen - muss er ja auch, damit die kleinen Platinen
(P004) genutzt werden können. Aber das mag sich bei kommenden Produkten
mit größeren Displays ändern - siehe meine Mail oben.
Peter

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich nachfrage welche Bauteile auf der Ansteuerelektronik ist , ist
es keine Straftat!

Mich Intressie mich nur ob der Treiber mit bacom gemacht wird oder als
µC auf den Board, sonst nichts.

Dein Angebot ist auch nicht so gross!
Das mit dem Display interssiert mich soweit, wie Ansteuerung ist, sonst
nichts! Die Frage war nach der Hardware! Das mir die Software einer
nicht geben würde war klar, ok , frech ist es schon, sorry.

Und ich frage nur aus Technischen Gründen , was drauf ist nicht nach
dem Inhalt!

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach den Bauteilen fragen ist ja kein Problem, habe ich ja auch
beantwortet.
Aber: ich zitiere: "Kannst du evt das Bascom Programm uns zusenden?"
von Tina und "mir auch! oder hier rein in codesammlung" von Dirk

Das stößt mir schon sauer auf. Das kann sicher jeder verstehen.
Peter

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Infos :-). Ich wollte kein Diebstahl machen. :-(

Allerdings, denke ich schon nach mir das Display bei Ihnen zu kaufen,
und wollte halt wissen wie die Ansteuerung aussieht. Wenn von
Ansteuerelektronik steht, gehe ich davon aus das die Elektronik die
Ansteuerung des Displays ( als Chip-Set) macht( und nicht das Programm
) und nicht nur die Spannung wandelt oder die Pegelanpasst.

Wieviel Auflösung hat das Nokia Display 6600 und wann soll es kommen
und
kosten? Was ist den noch geplant?

mfg Dirk

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das 6600 hat 640x480 Auflösung, 65000 Farben und kostet als Ersatzteil
so um die 50 Euro - was es als Modul für einen µC kosten wird steht
noch in den Sternen.
Aber dieses Display habe ich nur exemplarisch genannt. Es kann auch
eines von Sharp oder Siemens werden. Hauptsache groß und der
eigentliche Display-controller muss auf dem Display hocken, sonst macht
es keinen Sinn, ich will keinen Display Controller neu erfinden. Und
dieser muss natürlich bekannt sein und es sollte idealerweise
Unterlagen darüber geben. Nokia bietet sich da eher an, da ich Kontakte
dorthin habe.
Das ist alles noch nicht spruchreif - ich habe noch nicht das passende
Display ausgesucht, geschweige denn das Handy dazu um den Datenverkehr
zu analysieren. Das wird sowieso spannend, denn bei 640x480 und 16 bit
Farbinfo pro pixel müsste mein Logicanalyser ja einen monströsen
Speicher haben, nur um das erste "clear screen" mitprotokollieren zu
können (und interessant wird es erst danach).
Mal sehen.
Peter

Autor: MartinK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Nokia 6600 hat nur eine Auflösung von 176 x 208 Pixeln,
ist aber TFT.

MartinK

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann würde auch ein atmega dafür reichen  :-)

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wohl war Martin- irgendwie hat mir meine Erinnerung da wohl die
Auflösung der Kamera untergeschoben. Und ich hatte beim Schreiben schon
so ein ungutes Gefühl - ich hätte besser nochmal nachgesehen.
Danke für die Korrektur.
Wie gesagt, das wichtigste ist: Controller auf dem Display und
möglichst serielle Ansteuerung. Eine Lösung wo ich erst noch
Bildschirmspeicher brauche oder Sync-Signale erzeugen muss, wäre zwar
möglich, aber aufwändig und zu teuer.
Peter

Autor: Shorty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
pebisoft = wieder mal Peter Küster inkognito!? Schon witzig wie
pebisoft in sämtlichen Foren das Display wie Sauerbier anbietet und
kaum fragt einer nach ein paar zeilen Quelltext, ist Herr Küster
persönlich am Start - Laßt Euch nicht verarschen !!!
Langsam wirds lästig und langweilig - Fakt ist doch, dass dieses
winzige Display für nichts zu gebrauchen ist. Mit grade einmal 27mm x
27mm sichtbare Fläche mußt Du schon eine Lupe nehmen um darauf
anständig etwas lesen zu können. Die Bilder die Ihr auf den Seiten von
Hr. K. gezeigt bekommt, sind so extrem vergrößert dass es schon
stinkt.

Meine Empfehlung: Wartet ab, es sind eine Menge schlauer Leute am
tüfteln die nicht den großen Reibach machen wollen und das gewonnene
Know-How gern und kostenlos zur Verfügung stellen.

Shorty

Autor: MartinK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Shorty

das Display ist wirklich erstklassig, ich habe mit der Lesbarkeit
keine Probleme.
Natürlich gibt es bessere Displays, aber entweder sind diese
sau teuer, oder wie bei den meisten Handy-Displays gibt es
keine Datenblätter, sondern leider nur Geschwätz von irgendwelchen
Leuten, die allen möglichen Senf dazu beitragen, aber konkret nichts
wissenswertes beitragen können.

MartinK

Autor: Malte Jahn (maltejahn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich verfolge immer diese Themen wenn um Handydisplays geht. Vor kurzem
sprach man noch von einem S65 Display. Funktioniert wohl jetzt doch
nicht. Mit dem Epson vom Nokia 6100 ist ja wohl auch nichts geworden.
Solche Libs zu erstellen würde ich nie hinbekommen. Daher werde ich das
Angebot warnehmen müssen.
Wenn ich mein aktuelles Nokia 6230 mit dem von Pollin angebotenen
Display mit Hintergrundbeleuchtung vergleiche, so finde ich das Nokia
besser(bessere, gleichmässigere Ausleuchtung, besserer Kontrast).
Außerdem geht das Display bei Ebay teilweise zwischen 25-30Euro raus.
Dann noch dieser Stecker den man auch nicht überall bekommt und noch
eine kleine Platine. Ich denke für 39Euro ist das doch in Ordnung.
Was manche Leute für einen Aufstand machen weil jemand anders 5
Euro(wow, was für ein Reibach) verdient - unglaublich.

Malte

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja shorty - daneben getippt. Ich trete nicht unter irgendwelchen
Pseudonymen auf. Und ich bin auch nicht Gumbo oder wie der hieß - was
mir in einem anderen Thread schon mal vorgeworfen wurde (außer das
beide ein Display bei mir gekauft haben, gibt es keinerlei Kontakte).
Aber anscheinend gibt es Menschen, für die nur schlechte Kritik zählt -
wenn einer mal voll des Lobes ist kann das was nicht stimmen....
(Danke Malte)
Und dass ich (und evtl. auch überzeugte Kunden, was mich freuen würde)
in 2 oder 3 Foren einmal kurz Werbung gemacht habe: Seit über einem
Jahr wird weltweit in zig Foren darüber gesprochen dass es das Display
mit Philips nicht mehr gibt und alle warten auf eine Lösung für Epson.
Ich denke, das ist meine Lösung schon von allgemeinem Interesse.

Und wg. zu klein: Ich habe bereits etliche Lösungen damit realisiert -
das Display läßt sich hervorragend ablesen. Natürlich nicht mehr aus 3
Meter Entfernung aber hier kann man programmtechnisch beim
Überschreiten von Grenzwerten schön die Hintergrundfarbe z.B. von Blau
auf Rot setzen (und auch noch blinken lassen) und dann sieht man schon
aus 10 Meter Entfernung, dass dort etwas meine Aufmerksamkeit
benötigt.
Ich behaupte sogar, dass ich -gleiche Entfernung vorausgesetzt - also
die übliche Armlänge beim Bedienen eines Gerätes - das Nokia Display
besser ablesen kann als ein übliches 4x20 LCD. Das ist nämlich vom
Kontrast her um Längen schlechter und außerdem kann ich beim
Farbdisplay Bereiche schön durch verschiedene Farben voneinander
abtrennen.
Die Auflösung des Displays ist nicht anders als bei jedem anderen Palm
oder Organizer. Das kann ja auch jeder ablesen (und das Handy übrigens
auch). Nur passt halt auf diesen Bildschirm nicht so viel drauf.
132x132 Pixel erlauben halt "nur" 22x16 Zeichen (und das ist für eine
Mikrocontroller-Applikation meist schon mehr als ausreichend). Bei einem
Organizer hätte ich dann eben 40 x 60 oder so - aber größer sind die
Zeichen dort auch nicht.
Peter

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube eher, dass es am Anwendungfall liegt.
Soll die Anwendung handlich sein so ist ein kleines Display praktischer
als ein grosses. So allerdings aus einiger Entfernung auch noch was
gelesen werden wird man zu ein grossen LCD greifen.

Ich arbeite mit ein Nokia Display 3510i und bin auch zufrieden damit,
die Hintergrund beleuchtung muss man sich selber bauen, da hat das
Nokia 6100 mit der grössern Auflösung und Hintergrunfbeleuchtung die
Nase vorn.

Für ein farbiges Display und noch grafisch ist es eine altanative zur
Geldbörse, gegenüber den grossen.
Alles ne sache der Geldbörse und Anwenfungsfalles!

mfg Dirk

Autor: pebisoft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Shorty:Laßt Euch nicht verarschen !!!
Langsam wirds lästig und langweilig - Fakt ist doch, dass dieses
winzige Display für nichts zu gebrauchen ist.

das display ist für die roboter bestens geeignet. geringer
stromverbrauch, sehr gut lesbar. robbydaten könne grafisch dargestellt
werden. zur zeit habe ich eien gameboycam auf dem robby, die ich mit
einem avr auslese. dieses kamerabild (128x128 pixel) kann ich mit dem
gekauften display darstellen ...freu.... mir geht es nicht um eine
eigene displayentwicklung, die nimmt mir zuviel robbyzeit weg. es ist
gut, das andere ihre eigenen schwerpunklte haben und uns, die das thema
nicht so beherrschen günstig über diese hürde helfen.
also "peter küsters" weiter so mit der entwicklung.
mfg pebisoft

Autor: Andreas Brede (blue-corsa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

jo jo das Display ist einfach nur klasse!!
Ich hab mir auch mal eines besorgt, und habe auch schon begonnen den
Bascom Code in C umzusetzen leider kann ich es im Moment nicht testen
da mein STK am anderen Ende von Deutschland liegt, wo ich leider erst
wieder übernächste Woche sein werde!!

See you Andreas

Autor: Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

verkauft jemand ein NokiaDisplay 6100 mit Anschlussplatine?
Es kann auch ein gebrauchtes Display sein. Ich möchte halt nicht mehr
als 15 bis 20 Euro ausgeben.

Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja klar, ne? Ein gerade gekauftes 19,- Euro Display für 15,- verkaufen?
Wo lebst denn du? So eines verkauft doch keiner - die werden benutzt!

Autor: Besserwisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit den zukünftigen Handy Displays werden wir so unsere Probleme
bekommen. Die Ansteuerung wird sehr viel komplexer werden als beim
6100. Das ist auch ganz klar, denn aktuelle und zukünftige Mobiles
sollen ja TV-Bilder mit >25 Frames/s bei 640x400@16-bit darstellen
können.

Aktuelle Chipsätze für Mobiles haben daher 2D/3D Grafik-Engines mit
derzeit spezial-Interfaces zu den Displays. Ich habe bislang noch
keines dieser neuen Interfaces veröffentlicht gesehen.

Es wird zwar eine Standardisierung des Display Interfaces angestrebt:

http://www.mipi.org/afaq.shtml

allerdings sind das Hochgeschwindigkeits-Interfaces mit Taktraten bis
zum dreistelligen MHz Bereich. Die werden im Hobby Bereich wohl schwer
zu beherschen sein.

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das wird in Zukunft viele Probleme mit sich bringen,
da hast du schon Recht Besserwisser, aber man kann
jetzt auch schon die ARM Mikrocontroller im Hobbybereich
verwenden und das wird hoffentlich auch weiterhin so sein.

Mit der Entwicklung der Displays wird auch die Entwicklung
der Mikrocontroller weitergehen und warscheinlich werden wir
in 2-3 Jahren nicht mehr mit 60Mhz Taktrate arbeiten sondern
mit 200-300Mhz.

Allerdingsdie Größten Problem bei den neuen Displays sind,
Wie Besserwisser schon gesagt hat,

Hochgeschwindigkeits-Interfaces (Genauste Timings erforderlich),
die 2D/3D Grafik-Engines,
aber auch die Anschlüsse der Diplays werden immer kleiner mit
immer mehr Anschlusspins.

Autor: pebisoft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum handy display, es gibt auch andere. ich sehe diese sache nicht
so.
schau dich beim "google um". der hobbydisplaybereich gefährdet
"nie.........." .
mfg pebisoft

Autor: Thomas M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nur um sicher zu gehen. Bei Ebay gibt es viele NOKIA 6100 Displays um
die 20€. Muss ich beim kauf etwas beachten oder reicht es, wenn ich
irgendein von den Display nehem?

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas M.

Ja klar gibt es bei e-bay viele Nokia 6100 Displays.
Das Problem dabei ist das 98% davon die Grünen Displays,
ohne Lötpads und mit dem EPSON Controller drauf, sind.

Das Display von dem man in diesem Thread die meiste
Zeit redet ist das Braune mit Lötpads und Phillips controller.

Bevor ich eines bei e-bay kaufe, würde ich fragen
welches der beiden Versionen das ist.

~ Lightning

Autor: Thomas M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut, dass ich gefragt habe.

Danke!

Autor: Sebastian Voitzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

wie es aussieht, gibt es einen neuen Controller von Epson, der -
zumindest teilweise - zum Philips-Controller kompatibel ist. Ich habe
ein Display mit grüner Folie erwischt - und trotzdem liefen die
Routinen zur LCD-Ansteuerung von yampp.com nicht mit dem Epson- sondern
dem Philips-Befehlssatz.

Soweit ich rausgefunden habe, heißt der Controller S1D15G17. Hat dazu
evtl. jemand das Datenblatt?

Danke,
Sebastian

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das was du suchst ? d.h. es 3 Controller für das Display Nokia
6100?

Woran erkennt man welches Epson chipset hier vorliegt ?


http://w3.epson.com.tw/electronics/PrdSpec/f_23904...

Autor: Thomas M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo kann ich ein entsprechendes Display kaufen?

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Sebastian Voitzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk:

Das ist leider nicht das komplette Datenblatt, sondern nur ein Auszug.
Ich habe mal eine Mail an Epson geschrieben, leider bisher ohne
Erfolg.

Äußerlich erkennen kann man´s wohl nicht direkt. Höchstens daran, daß
das Display eine grüne Leiterplatte mit braunen Leiterbahnen hat
(offenbar soll die Verwandtschaft zum Philips-Display und zum Epson in
der Leiterplatte durchschlagen ;-)).

Die gute Nachricht ist, daß diese Displays mit dem Philips-Befehlssatz
halbwegs funktionieren, und trotzdem auch bis 4.2V ohne
Kontraständerungen klar kommen, die Vlcd-Erzeugung ist also besser als
beim ersten Epson-Display.

Allerdings habe ich derzeit das Gefühl, daß mein Display nicht ganz auf
"weiß" schalten kann, es bleibt immer ein gewisser Grau-Level. In
einem Handy eingesetzt hat es das nicht. Vermutlich wird die
Umsetzungstabelle von 4096->256 Farben anders initialisiert. Das
Datenblatt des "kleinen Bruders" S1D15G14 enthält dazu nix - weil das
Display andere Farbmodi hat.

Sebastian

Autor: Thomas M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ebay ist voll davon aber wohl nicht die richtigen.

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas M:
Frage doch mal bei den Händlern bei Ebay was das für ein Display ist.



@Sebastian Voitzsch:

Hast eine Bezugquelle? Bei wem hast das Display gekauft ? preis?
Versuche paarmal bei Epson anzufragen.
Und alles läuft auch bei deinen display?

Autor: Sebastian Voitzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Dirk:

Das Display habe ich (natürlich...) von eBay, Händlername komfort751.
Ich habe pro Display 13,- EUR bezahlt, plus 3,50 Versand. Er hat immer
nur Einzelauktionen (mit Sofortkauf) drin, verkauft aber auch mehrere
ohne zusätzliche Versandkosten.

Derzeit habe ich nur ein größeres Problem mit dem Display: die
LCD-Routinen von yampp.com bieten eine Funktion für einen
Fortschrittsbalken, diese läuft derzeit nicht, weil offenbar die
Funktionen für das Drehen der Bildschirmanzeige (MADCTL) etwas anders
funktioniert. Zuerst war das Display seitenverkehrt, das war einfach zu
lösen (im MADCTL-Befehl als Parameter 0x08 statt 0x28 setzen). Für den
Balken wird die Anzeige auf vertikale Ausrichtung gesetzt, und dann der
Koordinatenbereich auf den Bereich des Balkens beschränkt. Das
funktioniert eben noch nicht (der Balken ist verdreht und zerhackt),
und bisher war ich zu doof, die Koordinaten richtig auf die Reihe zu
bekommen und die Zerstückelung zu beseitigen. Vielleicht ein Bildchen,
so soll es aussehen:

---------------
||||||||||||  |
---------------

So sieht´s aus:
|-|
|-|
|-|
|-|
|-|

Die gefüllten Teile des Balkens werden dabei von oben nach unten
geschrieben (alle Teile des Balkens sind immer gleich viel gefüllt).
Das heißt, daß der Koordinatenbereich zu breit ist, denn das Setzen des
Fensters bewirkt, daß am x-Rand des Fensters automatisch auf x=0 und
y=y+1 zurückgesprungen wird. Erst dachte ich, die Sache ist trivial,
richtige Kombination für MADCTL setzen, und gut. Leider ist dem nicht
so, offenbar habe ich einen Teil der Balkenroutine nicht richtig
kapiert.

Zu Farben etc. kann ich nichts sagen - weil ich diese LCD-Routinen noch
nie auf einem Philips-Display gesehen habe.

Die meisten Sachen kann man aus dem Datenblatt des S1D15G14 (vom 3510i,
hier im Thread weiter oben) übernehmen, dieses ist nur kleiner und kann
max. 4096 Farben.

Sebastian

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann das sein das dein setframe (3510i) falsch gelegt wurde?

Also ein Frame setzen und dann dort ( je nach ausrichtung der Ausgabe
)
ins Frame deine Pixel schreiben. Also beim 3510i klappt so.

Autor: Sebastian Voitzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es lag tatsächlich am setframe: das Epson-Display dreht im vertikalen
Modus die Koordinaten mit (macht ja auch Sinn - wenn ich den
Displayinhalt seitlich drehe, wird x->y und y->x). Offenbar verhält
sich das Philips-Display hier anders, die Routinen haben den Frame nach
"normaler" Ausrichtung gesetzt. Nach Vertauschen der Koordinaten
funktionierts einwandfrei.

Sebastian

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
cool 8-) würdest du dein Programm mal hier einstellen?
bzw. was es anders als beim Nokia 6100 im Programm und hardware?

dann könnte man es schneller seine programme anpassen.
ich hätte interresse.

Autor: Sebastian Voitzsch (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Kein Problem.

Die diff-Datei im Anhang enthält meine Änderungen der lcd-Routinen des
Yampp-Projektes (www.yampp.com, Firmware yampp7_usb_color_v312.zip).
Nach dem Extrahieren des Zip-Files von der Yampp-Seite liegt die
lcd.asm im Unterverzeichnis yampp7_usb_color/yampp7lib.

Achtung: die Variable "EPSON_LCD" darf NICHT gesetzt sein, da das
Display ja den Philips-Befehlssatz verwendet und die Variable auf den
Epson-Befehlssatz umschaltet!

Die RGB-Lookup-Table und die Gamma-Table sind noch nicht endgültig
getestet. Aber wie gesagt, da ich nicht weiß, wie die Yampp-Firmware
die originalen Farben setzt, kann ich nicht sagen, ob´s stimmt oder
nicht. "Just a qzick hack..."

Die Hardware ist identisch mit den anderen Displays (selber Anschluß,
selbe Belegung). Das Display hat keine Probleme mit 4.2V, auch der
Kontrast läßt sich in diesem Spannungsbereich ohne Probleme regeln. Die
Hintergrund-LEDs sind wie bei den anderen Displays in Reihe geschaltet;
für meinen Zweck habe ich die Reihenschaltung aufgetrennt und sie
parallel verschaltet.

Sebastian

Autor: Sebastian Voitzsch (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe die Routinen nochmals überarbeitet. Die Farben sind jetzt
korrekt (zumindest stimmen sie mit meinem Bildschirm überein ;-)) Der
Controller ist sehr wählerisch bei der Reihenfolge der
Initialisierungsbefehle und -pausen. Außerdem ist es mir nicht
gelungen, eine color lookup table (Befehl 0x2d) zu schreiben; wenn ich
das versuche, gehen die Farben völlig daneben und sehen nach einem
Hard-Reset anders aus als nach einem Soft-Reset. Die LUT ist nach einem
Hard-Reset allerdings initialisiert und wird von einem Soft-Reset nicht
überschrieben, daher ist es mir egal...

Der Controller scheint tatsächlich ein S1D15G17 zu sein - jedenfalls
habe ich die Init-Sequenz aus dessen Datenblatt übernommen. Epson hat
das weder bestätigt noch dementiert - sie haben mir nur mitgeteilt, daß
das Display (Code L1F10259P10) nicht in Europa vertrieben wird; da es
auch ein kundenspezifisches Display sein könne, dürften sie mir keine
Doku zuschicken.

Das Datenblatt für den S1D15G17 gibt´s auf Anfrage bei Epson
(assp@epson-electronics.de).

Sebastian

Autor: Sebastian Voitzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

die Routinen unterstützen alle 3 Displays. Für Philips-Controller
dürfen weder EPSON_LCD noch EPSON_NEW_LCD definiert sein; der alte
Epson-Controller benötigt EPSON_LCD und der neue EPSON_NEW_LCD.

Sebastian

Autor: Dirk Milewski (avr-nix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stelle das datenblatt hier rein, dann braucht keiner Epson nerven.
Gute Arbeit! Das L1F10259P10 Display wird doch bei Ebay verkauft?
Und es gab eher auch ein Treiber dazu, komisch,komisch!

Bekommst den Namen des Display angezeigt ? Wie machst du das?

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Sebastian Voitzsch

>Hintergrund-LEDs sind wie bei den anderen Displays in Reihe
geschaltet;
>für meinen Zweck habe ich die Reihenschaltung aufgetrennt und sie
>parallel verschaltet

Das hört sich ja gut an ;-). Wie genau muss man vorgehen (Display
öffnen?) um die änderung vorzunehmen. Sehe ich das richtig das man die
Beleuchtung dann mit 3,3 V anstatt mit 6,5 V betreiben kann?

Noch ne allgemeine Frage.. wenn das wirklich dann mit 3 V geht.. wieso
werden die LED's nicht sofort Parallel geschaltet? So könnte man doch
einen Wandler IC einsparen...

Autor: Tobias Schneider (tobias)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man die LEDs parallelschaltet muss man eigendlich auch jeder LED
einen Vorwiderstand goennen, da sie sonst bestenfalls unterschiedlich
hell sind oder aufgrund ihrer steilen Diodenkennlinie und Toleranzen
kaputt gehen. Wenn eine LED eine gering niederigere Durchlassspannung
besizt geht der gesammte Strom durch sie und zerstoert sie vielleicht.

Gruss Tobias

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das ist mir klar, aber ich kann doch besser 2 vorwiederstände
einbauen als einen Wandler IC oder??

Autor: MartinK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An Jörn

Wenn ich die LEDs parallel mit Vorwiderständen betreibe,
so muß ich dennoch eine ziemlich hohe Spannung haben, weil
beide LESs sehr wahrscheinlich nicht die gleiche Durchgangsspannung
haben und ich somit eine unterschiedliche Helligkeit habe.
Die Idee mit der Parallelschaltung ist dennoch sehr gut,
weil dadurch 5 Volt schon mehr als ausreichend sind.

MartinK

Autor: Sebastian Voitzsch (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für den Umbau habe ich mal ein Bild angehängt. Die Leiterbahn an der
einen LED muß man sehr vorsichtig durchtrennen, da auf der anderen
Seite der flexiblen Leiterplatte auch Leiterbahnen verlaufen, die
schnell beschädigt sind. Ich habe die Leiterfolie auf eine harte
Unterlage gelegt und vorsichtig mit einem Skalpell gekratzt. Immer mal
wieder testen, ob noch kontakt ist, falls nein, sofort aufhören. Lieber
einmal mehr testen als eine geschrottete Leiterbahn!

Zum LED-Treiber: die Helligkeit der LEDs hängt vom Strom ab, der
fließt. Widerstände und LEDs haben Toleranzen - also bekommt man´s mit
zwei LEDs und zwei Widerständen nie genau gleich hin. Regelt man
hingegen den Strom in der Serienschaltung, durchfließt jede LED der
selbe Strom - und sie leuchten immer gleich hell. Der Preis für den
Chip und die nötigen externen Bauelemente fällt bei großen Stückzahlen
nicht auf. Allerdings ist mir noch nicht aufgefallen, daß mein Display
ungleichmäßig hell wäre - dazu ist wohl auch die Fläche zu klein.

Thema Datenblatt: leider unterfällt auch technische Doku dem
Urheberrecht. Also darf man entsprechende Unterlagen ohne ausdrückliche
Einwilligung nicht kopieren und verbreiten - diese Einwilligung habe ich
nicht. Ich habe versucht, den Quelltext gut zu dokumentieren, sodaß die
Befehle verständlich sind. Aber auf einen Rechtsstreit mit Epson bzw.
eine Abmahnung (mit ordentlichen Kosten) mag ich es nicht ankommen
lassen - sorry!

Grüße,
Sebastian

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Wo bekomme ich das Gegenstück zu dem
Stecker wo am 6100 Display dran ist her ???
Ich würde gerne eine Adapterplatine für
mein Display machen.

~ Lightning

Autor: Sebastian Voitzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lightning,

die Stecker gibt´s bei eBay, z.B. dieser Artikel 6434048946

Grüße,
Sebastian

Autor: Lightning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sebastian Voitzsch

Danke !!!

~ Lightning

Autor: Jens D. (jens) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nur leider sehr teuer
kommt denn niemand preiswerter daran weil 7 EUR fuer so einen stecker
ist etwas heftig..

Gruss

Autor: PeterK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir im Shop billiger: 3 Stück 11 Euro (=3,67 pro Stück).
www.shop.display3000.com
Wer mehr braucht, bekommt sie auch noch günstiger. Einfach per Mail
anfragen. Oder direkt die Adapterplatine kaufen - dann spart man sich
das nervenaufreibende Löten.

Peter

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche grad, die Libary V2.2 von ape auf den AT90CAN128 zu
portieren. Da dieser Controller ein vollständiges Registerremapping
erfahren hat, liegen die SPI-Register oberhalb der Grenze von 0x1F,
weshalb diverse Assembler-Befehle in glcd00.S (Zeilen 63, 85, 94, 110,
192) zum Abbbruch mit der Fehlermeldung "Error: number must be less
than 32" führen. Ich bin leider (noch?) nicht ganz in dem
umfangreichen Assemblerwerk drinne. Deshalb weiß ich jetzt nicht,
welches Register ich bedenkenlos zum Zwischenspeichern der Daten in den
SPI-Registern benutzen darf.

Beispiel:
aus:
        sbi     LCD_PORT, LCD_CS
        cbi     LCD_SPCR, SPE
        reti
müßte in etwa Folgendes werden:
        mov     Register_X, LCD_PORT
        sbi     Register_X, LCD_CS
        mov     Register_X, LCD_SPCR
        cbi     Register_X, SPE
        reti

Wenn ich nicht völlig daneben liege, könnte vielleicht jemand helfen,
was zu tun ist bzw. was sonst noch fehlt. Welches Register ist für
Register_X zulässig?

Da Atmel dieses Registerremapping bei einigen neueren Controllern
umgesetzt hat bzw. noch tun wird, dürfte dieses Problem in Zukunft
vermehrt auftreten.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, ein wirklich leidiges Problem. Ich habe es über Makro realisiert.

.macro out_ port value
  .if (_SFR_IO_ADDR(\port) > 63)
            sts     \port, \value
  .else
            out     _SFR_IO_ADDR(\port), \value
  .endif
.endm

.macro in_ value port
  .if (_SFR_IO_ADDR(\port) > 63)
            lds     \value, \port
  .else
            in      \value, _SFR_IO_ADDR(\port)
  .endif
.endm


Statt zb.

  IN  r0, PORT
  OUT PORT, r0

wird einfach

  IN_  r0, PORT
  OUT_ PORT, r0

benutzt. Die makros ermitteln nun welche Methode sie benutzen müssen
anhand des realen Zahlenwertes von PORT. Ist der größer 63 wird sts,lds
benutzt ansonsten in,out.

Am bestens baust du diese Makros in Datei REGS.inc ein, dort stehen
schon andere Makros und auch die Register wurden neu deklariert weil
sonst einige Sachen in GCC nicht funktionieren.

Gruß Hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und gleich noch zwei weitere nützliche Makros.


// macro to utilize lpm with inc

.macro  lpm_    reg
#if defined  (_AVR_ENHANCED_)
        lpm     \reg, Z+
#else
        lpm
        mov     \reg, r0
        adiw    ZL, 1
#endif
.endm


Dieses Makro ersetzt LPM  reg,Z+ weil es unter verschiedenen AVRs nicht
unterstützt wird. Man ruft nun LPM_ reg auf.


// movw replacement, support words on odd addresses, overlapping,
hardware dependend
// and avoid dummy moves on same registers, to get this macro working
we have to reassign
// register defines, such as above

.macro  movw_ dst src
    .if (\src - \dst)
        .if ((\src | \dst) & 0x01)
            .if ((\src - \dst) & 0x80)
                mov     \dst +1, \src +1
                mov     \dst   , \src
            .else
                mov     \dst   , \src
                mov     \dst +1, \src +1
            .endif
        .else
#if _AVR_ENHANCED_
                movw    \dst   , \src
#else
                mov     \dst   , \src
                mov     \dst +1, \src +1
#endif
        .endif
    .endif
.endm

Dieses Makro ersetzt MOVW. Dabei differneziert es ob der MOVW Opcode
auf dem jeweiligen AVR zur Verfügung steht. Desweiteren überprüft das
Makro ob beide Register auf einer geraden Speicheraddresse liegen.
Sollten all diese Bedingungen erfüllt sein so benutzt das Makro das
ordiginale MOVW, ansonsten simulirt es eine MOVW mir zwei separaten
Operationen. Dabei berücksichtigt es auch ob Source und Dest
einunddieselben Register sind. Man kann also zb.  MOVW_  r3,r4 benutzen
um den Inhalt von r4:r5 nach r3:r4 zu schieben.

Da der GCC aber nun die Registerdefinition für r0 bis r31 umdefiniert
hat funktionieren seine originalen Definitionen leider nicht mehr mit
Makros. Die nötigen Berechnungen wie im Makro MOVW_ mit Hilfer der
Speicheraddressen der Register funktonieren also nicht mit den
originalen Definitionen der Register vom GCC. Deshaln benötigt man noch
folgende Overloads:

#define     r0              0
#define     r1              1
#define     r2              2
#define     r3              3
#define     r4              4
#define     r5              5
#define     r6              6
#define     r7              7
#define     r8              8
#define     r9              9
#define     r10             10
#define     r11             11
#define     r12             12
#define     r13             13
#define     r14             14
#define     r15             15
#define     r16             16
#define     r17             17
#define     r18             18
#define     r19             19
#define     r20             20
#define     r21             21
#define     r22             22
#define     r23             23
#define     r24             24
#define     r25             25
#define     r26             26
#define     r27             27
#define     r28             28
#define     r29             29
#define     r30             30
#define     r31             31

#ifndef     _tmp_reg_
#define     _tmp_reg_     r0
#endif
#ifndef     _zero_reg_
#define     _zero_reg_    r1
#endif


Gruß hagen

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eure beide Antworten lösen mein geschildertes Problem nur zum Teil bzw.
für den oben geschilderten Fall der direkten Bitmanipulation in einer
Interruptroutine eher gar nicht. Die Frage bleibt, wenn ich für
Bitmanipulationen Werte in ein Register holen muss, welches dann
angebracht wäre. Ich könnte natürlich jetzt wild lospushen und -popen,
was ich aber nur im Notfall machen möchte, denn das kostet doch einiges
an usätzlicher Zeit. Eure Macros gehen in obigem Fall nämlich so nicht.

Vielleicht gibt's ja noch sowas wie eine V2.3 [..]

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Eure beide Antworten lösen mein geschildertes Problem nur zum Teil

Du bist gut ;) somit brauche ich keine Angst zu haben das ich von Zeit
zu Zeit Selbstgespräche führe. Das ist ja garnicht der Fall sondern ich
rede dann nur von Hagen zu Hagen, und nicht mit mir selbst :-)


        push    r0

        in_     r0, LCD_PORT
        sbr     r0, LCD_CS
        out_    LCD_PORT, r0

        in_     r0, LCD_SPCR
        cbr     r0, SPE
        out_    LCD_SPCR, r0

        pop     r0
        reti

Doch wieder meine Makros.

Eine Version 2.3 wird es aus meiner Sicht vorerst nicht geben. Ich
bastle nur an Sachen die ich auch aktuell selber gebrauchen kann.
Eventuell wird ja durch die Portierung der GLCD auf das S65 sich jemand
finden der dies gleich mitmacht.

Wie ichs oben schon sagte musst du nur meine beiden in_/out_ Makros
einbinden und als erstes alls IN/OUT durch diese ersetzen. Den Rest,
bei dem einzlene Bits gelöscht/gesetzt werden müssen, musst du so wie
oben umbauen.

Gruß Hagen

Autor: Nolte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine Frage in wie fern es möglich ist mehere Displays an einem
Controller zu betreiben. Ich nutze derzeit einen AtMega32, rein meines
derzeitigen geringen wissen sollte es doch möglich sein ein zweites an
eine andere CS leitung zu hängen und anzusprechen, da der Mega doch als
Master läuft oder irre ich mich da?