PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Display Signal anzapfen



Lenox
28.01.2008, 17:04
So nach langer Auszeit hab ich dann doch nochmal Zeit zum basteln gefunden. Ich bin gerade dabei ein Handfunkgerät in eine schöne Metallbox einzubauen. Dazu möchte ich auch das "onboard" Display durch ein großeres LCD ersetzten (ink. µC usw..)

Das Problem was ich jetzt habe ist, dass ich die Signal zum Display nicht richtig benutzen kann. Es gibt ca. 20 Leitungen, Auf jeder dieser Leitungen messe ich eine sehr hohe Freuquenz (evtl. Bildwiederholungsrate). Das Gehäuse liegt direkt an GND.

Jetzt hab ich mir gedacht, da ja im Display selber kein Controller ist, müsste man die Segmente einzelnd ansteuern können. Doch es tut sich einfach nichts. Das Funkgerät selber hat übrigens 6V und an dem Display messe ich im Betrieb 1,7 V, wohlgemerkt bei der hohen Frequenz.

Kenn sich jemand von euch ein bisschen mit diesen Teilen aus und kann mir weiterhelfen? Ich kann das Display nicht zu oft montieren/demontieren das es geklemmt wird und das Materiel schnell ermüdet.

Hier noch ein paar Bilder:
http://files.stefan-reible.de/public/Platine1.JPG

http://files.stefan-reible.de/public/Platine2.JPG

wawa
28.01.2008, 17:37
eh lenox,
ich bin erschrocken darueber - was du dir da zumutest. diese art von LCD wird mit sogenannten SEGMENT und COM leitungen angesteuert. du hast dann fuer alle symbole ( die man einzeln an und ausschalten kann ) z.B. 4 COM leitungen und 16 SEGMENT, 4 x 16 = 68 symbole, da die alle nacheinander angesteuert werden nennt man dies multiplex. daher kannst du eine etwas hoehere frequenz messen. die spannung ist auch sehr treppenfoermig.
nun zurueck zu deiner frage. ja man kann das LCD einzeln ansteuern. um das zu bewerkstelligen - na da brauchst du den richtigen LCD controller, einen µP und jede menge ahnung.
denk mal darueber nach

Lenox
28.01.2008, 19:27
Hi wawa,
ich will das LCD nicht ansteuern nur die Signale auslesen und damit ein anderes LCD ansteuern (über einen zwischengeschalteten µC).
z.B. den aktuellen Kanal der eingestellt ist auslesen.

Wenn ich dich richtig verstanden hab, sind die Symbole einfach als Matrix geschaltet, dass ist eigentlich optimal.
Aber dann versteh ich nicht weshalb eben kein Symbol geleuchtet hat, denn ich hatte die Segmente mit einem Durchgangsprüfer durchgeprüft.
Naja evtl. war auch nur die Spannung zu gering, ich probier es nochmal.

Moritz f.
28.01.2008, 21:11
Hallo,

ein Logikanalysator wäre hier sicher interessant ;)

lg MoFe

Lenox
28.01.2008, 21:26
Wäre wäre wäre ;D
Das Angebot vor einigen Monaten hier im Forum war mir zu teuer :P

Ich hab bis grad noch alles mögliche durchprobiert, kein einziges Segment hat bis jetzt geleuchtet :/

Das kann irgendwie nicht so sein.

izaseba
28.01.2008, 22:05
Hallo Lenox,
vergiss es,
da ist ein LCD Controller im Spiel, der Steuert die einzelnen Segmente an, aber nicht einfach an und aus, sondern mit Weschselspannung, wie Du schon gemerkt hast.
Wenn Du was anzapfen willst müsstest Du vor dem LCD Controller dran gehen, wenn der überhaut für sich sitzt.

Mehr zu solch einem Controller kannst Du im Dattenblatt vom z.B. ATMega169 nachlesen, der hat sowas Onboard.

Gruß Sebastian

wawa
29.01.2008, 11:34
so wie es aussieht ( bild 1 ) kommen die signale direkt von dem auf die leiterplatte gebondeten chip. das sind diese treppenfoermigen signale. da is nix mit logikanalyser. ich persoenlich meine der LCD controller ist IM µC. da kommt man nicht ran. und wenn ich das richtig verstanden habe will er ja die multiplex signale so auswerten, dass er die einzelnen segmente erkennt und dann ueber einen µC und LCD controller ein anderes LCD ansteuern.
zu dem anschalten eines einzelnen segmentes: versuch mal kurzzeitig 5V an ein SEGment und an die entsprechende COM leitung zu legen. das muss funktionieren. aber nicht lange. LCD's moegen keine gleichspannung.
kannst du mal mit einem oszi ( auch soundkarten oszi ) die leitungen messen und davon ein bild hier ablegen.

izaseba
29.01.2008, 16:27
Hallo,


ich persoenlich meine der LCD controller ist IM µC. da kommt man nicht ran.

Ja das glaube ich auch, da kann man wohl nicht vor dem Controller was abgreifen.


und wenn ich das richtig verstanden habe will er ja die multiplex signale so auswerten, dass er die einzelnen segmente erkennt und dann ueber einen µC und LCD controller ein anderes LCD ansteuern.

Ja gut, ich habe mir gedacht, daß Lenox sich nicht ganz im klarem ist, wie so ein LCD angesteuert wird, und welcher Aufwand es ist , das alles auszuwerten, aber warum nicht, ich wäre der letzte, der Ihm das ausreden würde ;-)

Gruß Sebastian

Lenox
29.01.2008, 17:11
Gut, es war nur die Rede von einer Matrix und keiner Wechselspannung :cheesy:

Hab grad mal eine Leitung gemessen, Zeilen und Spalten kann ich leider nicht unterscheiden.
http://files.stefan-reible.de/public/LCD.JPG

Und hier noch ein Bild von der Rückseite der Platine.

http://files.stefan-reible.de/public/Treiber.JPG

Ich würde sagen das der Treiber und der µC in einem IC sitzen (in dem aufgossenem Teil).
Echt schade, dann kann ich den aktuellen Kanal wohl doch nicht so einfach auslesen :/

PS: Das Roboternetz wird auch immer langsamer, kann man ja kaum noch benutzen...

Nosnibor
29.01.2008, 21:15
Das ist eine interessante Aufgabe. Das Display scheint ca. 60 Segmente zu haben, bei 20 Anschlüssen haben wir es also mit 4 Backplanes (COM) und 16 Segmentleitungen zu tun. Da müßte man jetzt erstmal eine COM-Leitung identifizieren, die man dann als Sync verwendet, wenn man die 16 Segmentleitungen auswerten will.

Wenn man dem Oszilloskop eine Darstellung des zeitlichen Verlaufs eines Signals entlocken kann, kann man wahrscheinlich COM- und Segmentleitungen unterscheiden. Sonst einfach mal das Display in der Umgebung der Kontakte genau ansehen: vier davon müssen "Durchkontaktierungen" auf die andere Glasscheibe haben; bei manchen Displays sind die erkennbar.

Immerhin sieht man auf dem Oszi schon die erwarteten vier Spannungspegel. Die beiden Extremwerte werden benutzt, wenn eine Leitung aktiv ist, sonst eiern die auf den mittleren Spannungen herum.

Ein Scandurchgang besteht aus acht Zeitschritten: für jede COM-Leitung zwei, so daß jede COM-Leitung in den acht Zeitschritten genau einmal den höchsten und genau einmal den niedrigsten Pegel annimmt. In den restlichen sechs Zeitschritten: "Herumeiern" auf den mittleren Pegeln, und zwar entgegengesetzt zur gerade aktiven COM-Leitung.

Segmentleitungen sind da etwas vielfältiger: je nachdem wieviele Segmente aktiv sind, bleiben sie bei den mittleren Pegeln oder gehen ins Extrem. Für ein aktives Segment geht die Segmentleitung auf die Extremwerte, wenn gerade die richtige COM-Leitung aktiv ist. Natürlich genau entgegengesetzt zur COM-Leitung, damit das betroffene Segment die größtmögliche Spannung sieht. Wenn das Segment zur gerade aktiven COM-Leitung aus bleiben soll, bleibt die Segmentleitung auf den mittleren Pegeln, und zwar im Gleichtakt mit der COM-Leitung (damit die Spannung am Segment möglichst klein bleibt).
(Bilder dazu gibt's in einschlägigen Datenblättern, z.B. PCF8576 (http://www.nxp.com/pip/PCF8576_4.html))

Was man also braucht, um das alles auszuwerten, ist ein Eingang, der auf einen Extremwert von einer COM-Leitung reagiert (zur Synchronisation) und bis zu 16 Eingänge für die Segmentleitungen, die einen der Extremwerte von den anderen drei Spannungen unterscheiden können. Diese Eingänge können Komparatoren sein (das wäre dann zwar theoretisch sauber und perfekt, aber aufwendig), oder die Eingänge von irgendeinem CMOS-IC (vielleicht sogar vom auswertenden µC selbst), dessen Versorgungsspannung so gewählt wurde, daß die Eingangs-Schaltschwellen gerade günstig liegen.

Lenox
29.01.2008, 21:35
Ah super ein Experte auf dem Gebiet.
Die 4 COM Leitungen hab ich jetzt ausfindig gemacht, das Bild oben mit den 4 "Punkte" ist eine. Ich hab die 4 Kontakte auf dem Display erkannt.
Allerdings gibt es noch eine 5. Leitung die auf 4 Punkte hat, und sekündlich aufblinkt. Die anderen Leitungen haben nur zwei Punkte.

Das auslesen wird aber mittlerweile schon sehr kompliziert wenn ich das so lese. Dann müsste ich ja alle 16 Segmentleitung per Muliplexer an einen µC hängen und die ganze Zeit auslesen. Und anschließen noch als Dezimalzahl (Funkkanal) zuordnen.

Hm das wär schon verdammt viel Arbeit dafür das es ein kleines Projekt nebenbei werden sollte.

Nosnibor
29.01.2008, 22:49
Hmm, nur zwei Punkte... kann es sein, daß gerade fast nichts im Display angezeigt wird? Dann sollte man auf den Segmentleitungen nur die mittleren beiden Pegel sehen. Und alle Sekunde blinkt irgendein Symbol auf, also zeigt die entsprechende Segmentleitung mehr Leben.

Das auslesen wird aber mittlerweile schon sehr kompliziert wenn ich das so lese. Dann müsste ich ja alle 16 Segmentleitung per Muliplexer an einen µC hängen und die ganze Zeit auslesen. Und anschließen noch als Dezimalzahl (Funkkanal) zuordnen.
Naja, eine interessante Aufgabe für sich eben. :)
Aber wenn nur die Kanalnummer von Interesse ist, braucht man wohl nicht alle 16 Segmentleitungen. Und der Benutzer starrt ja auch nicht die ganze Zeit auf das Display, warum sollte der µC das also tun? :) Wenn der µC was wissen will, kann er ja "hinsehen", d.h. auf den nächsten Impuls der COM-Leitung warten und dann die Segmente lesen und auswerten.
Auch bei der Hardware gibt es noch Spielraum: Falls der Trick mit der Versorgungsspannung klappt und irgendwo 16 Eingänge frei sind, hat man eine Möglichkeit, den Displayinhalt schnell zu lesen. Am anderen Ende der Skala stünde eine Lösung mit 1:16 Analogmultiplexer (4067 oder so) und genau einem Komparator, der bei jedem Durchgang eine Segmentleitung liest. Je nach Wiederholfrequenz kann es dann über eine Sekunde dauern, das ganze Display zu lesen.

Lenox
30.01.2008, 07:15
Ja stimmt, ein Symbol blink im selben Takt.

Also müsste ich jetzt auf eine steigende Flanke auf der COM Leitung warten, und dann die endsprechenden (wahrschenlich nicht alle, da es nur ca 30 Symbole hat) Segmentleitungen auslesen?

Dein Trick mit der Versorgungsspannung versteh ich leider nicht so ganz. Das wäre evtl. interessant. 18 Analog Multiplexer will ich jetzt nicht unbedingt benutzen (zu aufwendig, und zuwenig Zeit).
Kannst du das nochmal genauer erklären?

Wiso funktioniert es eigentlich nicht wenn ich ein Segment des LCDs zum leuchten bringen will. Ist die Durchlassspannung über 1,8V (damit hab ich es probiert)?

Danke schon mal für deine Hilfe

Nosnibor
30.01.2008, 19:59
Wahrscheinlich treibt der Chip das LCD mit der Versorgungsspannung von 6V, also entsprechen die vier Punkte auf dem Oszi 0V, 2V, 4V und 6V. Der ganze Zirkus mit den COM- und Segmentsignalen sorgt dafür, daß ein ausgeschaltetes Segment immer 2V sieht (mit wechselnder Polarität natürlich), während ein aktives Segment für ein Viertel der Zeit 6V bekommt. Daraus folgt, daß 1,8V zu wenig ist, um etwas zu sehen. 6V wäre der richtige Wert, 5V (über 1kOhm oder so, wenn man vorsichtig sein will) tut's wahrscheinlich auch noch.


Also müsste ich jetzt auf eine steigende Flanke auf der COM Leitung warten, und dann die endsprechenden (wahrschenlich nicht alle, da es nur ca 30 Symbole hat) Segmentleitungen auslesen?
Ja, so ungefähr. "steigende Flanke" ist allerdings noch etwas unpräzise, wenn man es mit vier statt zwei Signalpegeln zu tun hat.
Wenn eine COM-Leitung auf 6V geht, kann man auf den Segmentleitungen 0V für eingeschaltete Segmente erwarten und 4V für ausgeschaltete. Dazu muß man aber die 6V auf der COM Leitung sicher von 4V unterscheiden können (die COM-Leitung nimmt ja "im Leerlauf" mehrmals 4V an), das braucht wahrscheinlich 'nen Komparator. Den Unterschied zwischen 0V und 4V auf den Segmentleitungen sollte eigentlich jeder CMOS-Eingang erkennen, aber ob der mit den zwischendurch auftretenden 2V glücklich ist (das könnte in den "undefinierten" Spannungsbereich fallen), weiß ich nicht.

Der Trick mit der Versorgungsspannung beruht darauf, daß es von der Versorgungsspannung abhängt, welche Eingangsspannung ein CMOS-Eingang als High oder Low erkennt. z.B. alles unter 45% der Versurgungsspannung zählt als Low, alles über 55% als High. Wenn man jetzt zwischen 0V und 2V unterscheiden müßte, könnte man den CMOS-Chip mit 3V versorgen, dann wäre 2V schon High. Allerdings wäre dann auch wieder Schutz vor den "Überspannungen" 4V und 6V nötig... naja, es scheint ja darauf hinauszulaufen, daß dieser Aufwand nicht nötig ist.

Lenox
01.02.2008, 23:11
Oky jetzt leuchten die Segment.

Ich werd das Display jetzt auf der Platine lassen, der Aufwand wäre einfach viel zu hoch.

Trotzdem weiß ich jetzt über diese Displays bescheid, und werd das nächste mal die Finger davon lassen ;)