Hat jemand einen Tipp für eine effiziente Rückerkennung eines 3fach gemuxten LCD-Displays? Der Schaltplan und die Ansteuerung der 3 Backplanes ist klar und sieht man schön im Scope und Schaltplan. Letztlich hat man 6 Phasen in denen das Display geschaltet wird. Hierfür habe ich mir per Timer und Interrupt eine kleine Routine geschrieben, die alle Bits eines 6x4 Arrays auf die LCD-Pins raustickert. Das funktioniert und läuft im Hintergrund ab. Jetzt muss ich natürlich von Programmseite diese LCD-Matrix mit Leben füllen. Mir liegt kein Datenblatt des LCD-Displays vor und zusammengezählt sind es 59 Elemente welche angesteuert werden müssen. 3 Backplanes x 23 Pin ergeben eine Menge möglicher Kombinationen (2^26?). Gibt es einen effizienten Weg die Display-Pinbelegung zu ermitteln ohne das dass eine Wochenlange Probiererei wird? Viele Grüße! Marko
Marko R. schrieb: > Gibt es einen effizienten Weg die Display-Pinbelegung zu > ermitteln ohne das dass eine Wochenlange Probiererei wird? Unter geeigneter Beleuchtung die Leiterbahnen auf dem Glas zu verfolgen, dürfte helfen, die Zahl der Unbekannten kräftig zu reduzieren.
Das ist eine Ansteuerung für eine Ventilstellung. Da sind 5x 7-Segmente und ein paar Schriftzüge drauf. Ist halt was kundenspezifisches und der Gerätehersteller will die Daten nicht raus rücken.
Wolfgang schrieb: > Marko R. schrieb: >> Gibt es einen effizienten Weg die Display-Pinbelegung zu >> ermitteln ohne das dass eine Wochenlange Probiererei wird? > > Unter geeigneter Beleuchtung die Leiterbahnen auf dem Glas zu verfolgen, > dürfte helfen, die Zahl der Unbekannten kräftig zu reduzieren. Nein, man sieht die Leitbahnen nicht egal welches Licht und Winkel. Ich habe das Display sogar geröntgt, aber so dünn wie das Zeug aufgedampft ist konnte ich mit den Parametern spielen wie ich wollte - da kam nix.
Marko R. schrieb: > Hat jemand einen Tipp für eine effiziente Rückerkennung eines 3fach > gemuxten LCD-Displays? Was meinst du damit? Ich vermute: du willst den Inhalt des Displays erkennen, während das Display in der Originalschaltung weiter betrieben wird?
Genau: - Display in Originalschaltung - Firmware habe ich angefangen zu schreiben und läuft auch Frage nach Strategie bezieht sich darauf, dass immer 3 Segmente an einem Pin angeschlossen sind. Ich kann jetzt wild Pins toggeln lassen und schauen was passiert, denke aber das man das cleverer machen kann: - 1 Pin mit verschiedenen Mustern ansteuern und schauen welche Symbole aufleuchten - daraus schließen welche Signalfolge was macht - ... Ich frage hier einfach in die Runde rein ob das schon mal jemand gemacht hat und die praktischste Weise kennt.
Wenn man die drei Backplane-Pins identifiziert hat, ist es einfach: Eine geeignete Wechselspannung an je einen Backplane- und Segmentanschluß halten und beobachten, was passiert. Es gibt 69 Kombinationen; möglicherweise sind nicht alle sinnvoll belegt (es kann sein, daß dann irgendwo ein sinnloses Stück Leiterbahn "leuchtet"). Mehrere Möglichkeiten, Backplane-Pins zu identifizieren: - bei manchen Displays erkennt man die "Durchkontaktierungen" als kleine schwarze Punkte nahe an den Backplane-Pins. Auf dem Foto sehe ich nichts dergleichen, das kann aber von Winkel und Lichteinfall abhängen - Ansteuerschaltung ansehen: Vielleicht wird ja ein LCD-Treiberchip verwendet, zu dem ein Datenblatt zu finden ist. Dann braucht man nur noch die Leiterbahnen der Backplane-Anschlüsse verfolgen/durchklingeln. Oder es sind alles GPIO-Pins; dann sind die mit den Widerständen die Backplanes :) - Ansteuerschaltung im Betrieb beobachten. Wenn man das Oszi der Reihe nach an alle Pins hält, sollten die Signale für Backplane- und Segmentleitungen leicht zu unterscheiden sein, weil die Backplanes mehr unterschiedliche Spannungspegel verwenden. - ausprobieren. Wechselspannung an zwei beliebige Pins, Amplitude ändern. Wenn die Spannung zu klein ist, sieh man nichts, wenn man sie hochdreht, sollten Segmente erscheinen. Wenn zuerst ein einzelnes erscheint, hat man wahrscheinlich einen Backplane- und einen Segmentanschluß erwischt. Wenn mehrere Segmente gleichzeitig erscheinen, sind beide Pins von der gleichen Art (beides Segmentpins oder beides Backplanes). Pins sinnvoll variieren... Die Wechselspannung kommt natürlich am besten aus einem Signalgenerator, vielleicht mit einem Schutzwiderstand (1-10k) in Reihe. Alternativ Klingeltrafo mit Poti (1-10k) als Spannungsteiler.
Ich habe es gestern fertig gekriegt. Vielen Dank für die Diskussionen. Es ist ein echt gutes Gefühl dieses Forum als Rückenstärkung zu wissen!
Marko R. schrieb: > Ich habe es gestern fertig gekriegt. Gratuliere. Magst du deine Erkenntnisse noch veröffentlichen? Es wird zwar extrem selten sein, daß genau dein Display bzw. Gerät noch jemand in gleicher Weise hacken möchte. Die (deine) Vorgehensweise mag jedoch für den einen oder andren noch hilfreiche Information sein.
:
Bearbeitet durch User
Was war denn das eigentliche Ziel, rein aus Interesse? Genau: - Display in Originalschaltung - Firmware habe ich angefangen zu schreiben und läuft auch Sagt leider gar nichts... Klaus.
Der Schlüssel zum Erfolg lag eigentlich nur an der Erkenntnis, das die 6 Phasen des Taktschemas eigentlich in eine positive und negative Taktung mit je 3 Slots unterteilt werden kann. Die Funktion LCD_Update wird vom Timer per Interrupt alle 5ms aufgerufen. Die globale Variable "LCD_State" zählt von 0 bis 5 durch. Die ersten 3 States gehören der positiven Treiberphase an, die letzten 3 Phasen der negativen. Man muss einfach nur die Pins negieren und kann damit aus einem 3 Bit tiefen Array leben, statt wie zuvor aus einem 6er. Im Array "LCD_Pins" sind jetzt alle Pin für jeden State aufgeführt. Jedes Bit entspricht einem LCD-Element. Jetzt ist die Ansteuerung der Elemente einfach. In der Excel-Tabelle sieht man wie ich den ersten Port "entschlüsselt" habe. Jetzt kann man einfach eine Funktion schreiben, die z.B. eine Zahl auf die 7-Segmente-Anzeige bringt. Vielleicht nutzt die Vorgehensweise jemanden was, ich würde es genau so empfehlen. Viele Grüße! Marko
:
Bearbeitet durch User
http://awawa.hariko.com/avr_lcd_drive_en.html www.atmel.com/images/doc8103.pdf www.atmel.com/Images/doc2569.pdf www.atmel.com/Images/doc2530.pdf ww1.microchip.com/downloads/cn/AppNotes/cn011075.pdf usw.
Toll hingekriegt. Bei der Erneuerung eines LCD-Displays fuer ein Fluke 8020A hab ich die Segmente mit dem "Brummfinger" ermittelt und dann passend verdrahtet. Aber das Display war auch zugegebener Maszen einfacher gestrickt. Bei einem andern Display, 16x1 + 4x7Seg + Symbole (Fax) hab ich die Leiterbahnen zum Epoxyklecks verfolgt und mit dem Pinout des Steuerkaefers abgeglichen. Das tat dann auch relativ schnell. Die 4x7Seg + Symbole warten aber noch auf Ansteuerung.
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.