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...
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.
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?
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
Wäre nett wenn du es mir die LIB zum 3510i zuschicken könntest oder als Anhang hier im Forum. thx
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
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
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
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
@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
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
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
Ö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
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
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
> 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
Jo, was sollte ich dagegen haben ? Meine EMail Adresse findest du in der GLCD falls du tiefgehendere Fragen haben solltest. Gruß Hagen
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
warum behalten, du kannst es doch anschliessend zurückschicken, oder. mfg pebisoft
Oder stelle es hier rein und einer übernimmt das Testen, und er überprüfung
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?
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
>>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
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
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
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
@Pebisoft: Und was für ein Chip dient als Ansteuerung ? Sind dort noch andere Bauteile drauf ? Foto ? mfg Dirk
der epson-chip ist im display. auf der platine ist noch ein spannungswandler. schau hier: www.speedservice.de/html/display_deutsch.html mfg pebisoft
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?
Hallo pebisoft. Kannst du evt das Bascom Programm uns zusenden? Mfg Tina
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
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
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?
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
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
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!
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
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
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
Das Nokia 6600 hat nur eine Auflösung von 176 x 208 Pixeln, ist aber TFT. MartinK
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
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
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
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
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
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
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
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
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.
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!
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.
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.
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
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?
@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
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
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_2390417151485410801.pdf
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
@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?
@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
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.
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
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.
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
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
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
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?
@ 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...
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
Ja, das ist mir klar, aber ich kann doch besser 2 vorwiederstände einbauen als einen Wandler IC oder??
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
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
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
Hallo Lightning, die Stecker gibt´s bei eBay, z.B. dieser Artikel 6434048946 Grüße, Sebastian
nur leider sehr teuer kommt denn niemand preiswerter daran weil 7 EUR fuer so einen stecker ist etwas heftig.. Gruss
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
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.
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
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
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 [..]
>> 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
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?
Hallo, in meinem Player hängen MMC-Karte, Display und MP3-Decoder am SPI-Bus und haben nur getrennte CS-Leitungen, das geht wunderbar. Sebastian
Hallo, komisch ich habe versucht das Display über PB.1 anstelle von PB.4 (SS) anzusteuern das macht er nicht.
Hast Du vielleicht die alternativen Portfunktionen nicht beachtet und PB1 gar nicht als normalen Output-Pin belegt? Pullup geschaltet? Sebastian
Na logisch was auch sonnst, wieso hängt es immer an den einfachen dingen? Danke für deine schnelle Hilfe. Nolte
Hallo zusammen ich möchte zum ersten mal einen grafik-lcd (epson)ansteuern. in euren beiträgen verweist ihr auf das datenblatt des epson grafikcontroller S1D15G10. nun musste ich aber feststellen, dass das datenblatt ganz andere pins und vor allem viel mehr hat, als die 10, die am lcd verbunden sind. warum ist das so? sind die restlichen pins intern verbunden und wenn ja, warum ist das im datenblatt nicht angegeben? philipp
@Philipp Du hast zwar schoen die Pins gezaehlt, abe bist du mal auf die Idee gekommen, und hast versucht die Namen und die Funktion der Pins zu studieren?? Da steht sicher irgendwo etwas, dass zumindest einige Pins die Datenleitungen sind, einige ... und einige ... Schau Dir das Datenblatt nocheinmal an :D
oh man... im controller datenblatt stehen auch die pins die zum display gehen. Du solltest dir auch das Datenblatt anschauen was zu deinem controller passt, ich hab das Gefühl du redest gar nicht vom 6100 display.
Philipp: Das Datenblatt ist nicht für das LCD, sondern nur für den Controller-Chip, der im LCD verbaut ist. Und der Controller muß neben den Spannungs- und Interface-Anschlüssen natürlich auch Anschlüsse für die Zeilen und Spalten des Displays haben. Und die Anschlüsse sind sehrwohl im Datenblatt alle bezeichnet. Sebastian
zuerst mal danke für die schnellen antworten. dass die meisten pins entweder intern miteinander oder dem lcd verbunden sind, ist mir jetzt klar. sieht der aufbau intern so aus? oder sind noch andere controller o.ä. drin? und was hat es mit "L1F10086" auf sich? ist das die bezeichnung des LCD's? __________ ____________ ¦controller ¦------------¦LCD ¦ ---------¦(S1D15G10) ¦------------¦(L1F10086???)¦ (10pins) ¦___________¦------------¦_____________¦ (viele pins) und zuletzt noch, bevor ich mich wieder dem datenblatt zuwende: wie habt ihr herausgefunden welcher der 10pins welche funktion hat? durch testen? philipp
Hat von euch schon jemand mal einen Kreis mit den Koordinaten 65,65 und dem Radius 65 unter Verwendung der C-Version der Libary gezeichnet? Bei mir entstehen 2 horizontale Linen, die nicht gezeichnet werden. Und zwar jeweils genau in Höhe des Schnittpunktes der 45°Winkel zur Senkrechten. Was muss geändert werden? Ich benutze GCC 4.02/AVRlibc1.42 und den AT90CAN128. Es scheint aber nicht am Compiler zu liegen, denn ältere Versionen prodizieren das Gleiche.
Hallo, ist es jetzt möglich das alte "Epson" 6100er Display mit der "lcd.epson_new.tar.bz2" und einem Atmega8 anzusteuern??? Könnte mal wer das als WinAVR Projekt uploaden? Danke
Hi I am working with Olimex SAM7-EX256 board. I read your message in the forum that you have succesfully worked on Nokia LCD 6100 to display characters. I didnt get much from the forum message as everything is in Deutsch. I would like to know where i can find the source code for the lcd driver. I use Yagarto tolls to develop my application and the board has Nokia 6100 LCD with GE12 controller. I will be thankful to you if you can provide me this information. Have a nice weekend ahead. Regards Rajitha
Hallo Leute, nochmal nen kurzer Aufgriff der FPS-Diskusion, das LCD ( Phillips Treiber ) lässt sich über den Seriellenbus mit 6,5MBit/s füttern, das wären dann eine theoretisch mögliche FPS von: 256 Farben pro Pixel (8 Bit + 2 Bit) 132 312 = 174.240 Bits. (6,5MBit/s) / 174.240Bit = ca. 37Hz --> also 37 FPS sind doch recht ordentlich, wenn mans auf 24 FPS beschränkt hätte man einen Datendurchsatz von: 24Hz * 174.240Bit = 4.181.760Bits/s --> 4,18MBit/s Wenn man nun den AVR mit 20MHz Taktet ( guckst du ATMEGA ), dann ist der maximale SPI-Takt 20MHz / 4 = 5MHz ,also mehr als genug. grüßle lightninglord
Hat jemand von euch das Datenblatt vom Epson S1D15G17 Controller ? Ich habe ein Nokia 6100 Display allerdings weiß ich nicht welcher Controller drin ist, entweder Epson S1D15G10 oder eben der obige. Hat schon jemand von euch das Display zerlegt, um das herauszufinden. Das muss doch innen ersichtlich werden. Ich bin kurz davor.
Mal ne ganz doofe frage dazu: Wo zur Hölle lernt ihr sowas? Ich will mich auch damit beschäftigen, aber hier nur im inet rum zu dümpeln, und stückweise infos zu sammeln bringt ja nicht wirklich was... Habt ihr das in einer Ausbildung/Studium gelernt oder im Internet oder aus nem Buch, wenn ja welches? Ich hoffe ich nerve euch nicht mit meiner DAU Frage... Drakonos
@Drakonos Nun ja ich weiß nicht wie es bei den Anderen so ist aber ich hab mir das ganze Zeug so nach und nach durch Learning by Doing und ganz ganz viel Try and Error mehr oder weniger selbst beigebracht. Es ghört schon dazu auch etwas Erfahrung mit Elektronik zu haben aber wenn man die Grundkenntnisse hat und schon mal ne kleine LED-Blinkeschaltung zu Stande gebracht hat fehlt nicht mehr viel :) Gruß Lightning
Leider habe ich selbst sowas nicht gemacht, da ich in der 12. Klasse bin, und das Fach in dem sowas behandelt werden sollte, bei uns iwie nicht wirklich statt gefunden hat. Gibt es denn interessante bücher oder Lern-Bausätze zum einstieg?
hi bin neu hier, will für meine selbst gebaute wegfahrsperre fürs auto ein display anhängen. meine frage, wo soll ich den ATmega8 controller mit meiner schaltung anhängen, zur erkärung bei K3 wird ein Tastenfeld angeschlossen, k4 wird die schnittstelle fürs programmieren angeschlossen. ich selbst denke dass ich bei den kontakten von 2 und 3 von K3 die verbindungsstelle sein sollte. aber kann mir das jemand genauer erklären oder tipps geben. danke. im anhang ist meine schaltung.
...ob du da nicht einen neuen thread aufmachen solltest? du musst an k3 anschließen, wg miso mosi sck - ausser du machst ne sw spi. was machen die 4 dioden da vor dem T? wegfahrsperre? mach keinen mist - bin mir nicht sicher, ob du weißt, was du tust! wie greifst du in kfz ein? Klaus.
Hallo euch allen, das ist ja ne echt starke leistung, was hier alle vollbrahct haben. leider bekomme ich keine der Displayversionen zum laufen. Ich suche eine Software für folgende Displays. Nokia 6100 leider die EPSON version S65 Nokia mit ATmega128 Könnt ihr vielleicht auch ein Beispiel Progrmam mit diesem Controller anhängen. Nutzen möchte ich diese mit dem aktuellen WinAVR und einem ATmega128 kann mir jemand einen brauchbaren CODE zusenden? Vielen DANK martin
Schau mal da rein. da sind alle routinen in c drin und funktionieren. die implementierte ich auch vor kurzem in meinen c code. gruß daniel http://www.sparkfun.com/tutorial/Nokia%206100%20LCD%20Display%20Driver.pdf
Hi! Ich wollte mich auch mal mit diesem schönen Display beschäftigen. Daher bin ich auf diesen Threat gestoßen. Könnte jemand die aktuelle Lib nochmal posten? Da hat sich in der Zwischenzeit vielleicht etwas getan? Gruß Tobias
Der Spassfaktor dieses kleinen LCDs scheint enorm :-) http://www.youtube.com/watch?v=pFbKo5wrsRE Gruss Dimitri
Hi, ich arbeite mit dem Display auf einem SAM7-EX256 von Olimex. Leider ist das Display gespiegelt eingebaut. Jetzt werden Buchstaben & co "falsch" angezeigt. Hat Jemand einen Tipp wie ich das Koordinatensystem um 180° drehen kann?
Hallo Manuel, Am einfachsten wird es sein, wenn du den Code so umschreibst, dass die Routine zum Setzen der Pixel von der anderen Seite her anfängt zu schreiben (Koordinaten spiegeln). Gruß Lightning
Hallo, ich habe das Display über einen Spannungsteiler 1,8K-3,3K gegen Ground an einen Atmega 32 angeschlossen. Die Hintergrundbeleichtung funktioniert doch das Display eigt keinerlei Funktion! Ich habe das Testprogramm von ape Verwendet und die Ports auf Port C angepasst. Das selbe habe ich mit dem Testprogramm von thomaspfeifer.net probiert das Display har weiterhin keine Aneige. Hat mir jemand einen Tippwas ich falschgemacht habn könnte?
@Fredy Tut mir leid aber anhand deiner Beschreibung, kann man nicht wirklich eine Diagnose stellen. Aber schau mal ob: - Die Timings mit deiner Taktrate noch stimmen (ansonsten längere Pausen) - Nicht doch noch irgendwo ein Pin die alte Besteuerung hat - Display nicht defekt ist (ev. mit altem Handy testen) - Die diversen Funktionen auch auf dem ATmega32 laufen Ansonsten kannst du auch probieren die Initialisierung selber kurz zu programmieren und dann einfach nur weiße Pixel senden. Ich glaube es war 0xFF oder sowas. Gruß Lightning
Hallo, leider habe ich kein Handy wo ich das Display auf einen defekt Testen kann, ggf könnte ich ein zweites Display probieren. Den Anschluss des Displays habe ich mehrfach überprüft, dieser ist auch richtig. Leider kenn ich mich bisher mit der programmierung noch relativ wenig aus weil ich das immer mit meinem bekannteen zusammenmach, da dieser aber nicht immer viel zeit habe möchte ich das eben langsam selber in angriff nehmen! Hat mir vielleicht jemad noch ne Testroutine in der das Display was anzeigt? Vielleicht gibt es ja ne abänderung in Apes programm!?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.