Hallo zusammen,
ich habe das Problem, dass ich im Zuge meines Studiums ein 7-Segment-LCD
ansteuern soll.
Ich habe die ganze Sache schon mit einem uC zum laufen gebracht, der ein
integriertes LCD-Modul verfügt und soll (wenn möglich) das gleiche noch
mit einem CPLD realisieren. Habe aber bisher noch nichts gefunden, dass
CPLDs oder FPGAs ein solches LCD-Modul besitzen, bzw. dass es möglich
ist (ohne weitere ICs oder uCs) ein LCD gemultiplexed anzusteuern.
Dieses LCD verfügt über 90 Segmente (spezifisches LCD, soll an dieser
Stelle aber egal sein) und muss gemultiplexed angesteuert werden.
Bias und Duty je 1/3.
Mein Problem ist, dass ich bisher noch keinen CPLD oder FPGA gefunden
habe, der es ermöglicht direkt ein LCD anzusteuern.
Es wird immer davon ausgegangen, dass das LCD einen eigenen IC für die
Ansteuerung besitzt.
Um das LCD aber direkt ansteuern zu können, würde der Baustein aber in
der Lage sein müssen, entweder unterschiedliche Spannungen erzeugen oder
verwenden zu können(Bias= 1/3).
Könnt ihr mir weiter helfen?Habt ihr damit schonmal Erfahrungen gemacht?
Danke im voraus.
Mfg
Würde drei Möglichkeiten sehen:
a) Du suchst dir eine Anzeige, welche den LCD-Treiber gleich mit
beinhaltet (auf dem Glas oder im Modul), normalerweise kommst Du da mit
I2C drauf. Oder, Du organiserst Dir einen LCD-Treiber, den Du vor das
Modul hängst (es gibt solche, die im Package erhältlich sind, z.B.
PCF8576 oder ähnlich).
b) Eine 3:1-Multiplex-Ansteuerung könnte einfacherweise zu realisieren
sein, wenn Du aussen am FPGA einen Spannungsteiler mit dem Output in der
Mitte anfügst, dann gilt: Out=1:1 Out=0:0 Out=Tristate:1/2. Der
Spannungsteiler ist so zu dimensionieren, dass das FPGA die 0/1 treiben
kann, sodass der LCD-Spec genüge getan wird und der Strom der gezogen
wird das FPGA auf Dauer nicht zertört. Nachteil der Lösung:
Querströme/Verlustleistung.
c) Wenn Du ohne grosse Verlustleistung die analogen Row- und
Col-Spannungen generieren willst, ist wahrscheinlich etwas Analogtechnik
nötig (in der Art eines Selectors für extern generierte
Bias-Spannungen).
Viel Erfolg!
Danke zuerst mal für die schnellen antworten.
Aber ich glaube Lothar hat recht. Es wird beschrieben, dass die
Backplanes mit 50%-duty-cycle betrieben werden und das würde dann
bedeuten, dass das eine statische ansteuerung ist.
@Lothar: kennst du vllt. einen Baustein, der Spannungen umschalten kann
und weisst du ob es Librarys gibt, welche dann die erzeugung der
notwendigen signale übernehmen?
Student1501 schrieb:> @Lothar: kennst du vllt. einen Baustein, der Spannungen umschalten kann
Wie hoch sollen die denn sein?
> und weisst du ob es Librarys gibt, welche dann die erzeugung der> notwendigen signale übernehmen?
Nein, aber das wäre eine nette kleine Studienarbeit... ;-)
ich habe eine 5V-Spannungsquelle (kann ich nix verändern) und mein LCD
(welches ich auch nicht austauschen darf) braucht auch mind. 5V.
Ich müsste somit einmal 5V, 5V*2/3 und 5V*1/3 extern erzeugen können
(ist ja kein problem, einfach spannungsteiler verwenden) und diese dann
dem FPGA zur weiterverarbeitung übergeben können.
Gibt es einen solchen FPGA? Ich weiss, dass diverse ICs oder uCs es auf
diese weise machen, dass diese einfach extern die Spannung erzeugt
bekommen und dann nur noch zum richtigen Zeitpunkt die richtige Spannung
durchschalten. Aber hab eben noch keinen FPGA/CPLD gesehen, der sowas
kann.
Ich kann es ja mal meinem Prof. vorschlagen, dass er so eine Library
entwickeln lassen soll. Aber selbst bin ich nicht soooo versessen darauf
:-)
@Peter:
die Lösung a) geht leider nicht, weil ich an das LCD gebunden bin.
die Lösung b) hört sich interessant an aber, wenn ich das richtig
verstanden habe, könnte ich mit dieser Variante mit drei ausgängen immer
nur eine Leitung versorgen, oder?
die Lösung c)erweist sich in der Art als problematisch, dass ich ein
platzproblem auf der späteren Platine habe und somit so kompakt wie
möglich sein sollte.
Aber dankeschön :)
Student1501 schrieb:> die Lösung a) geht leider nicht, weil ich an das LCD gebunden bin.
Der zweite Teil der Lösung vielleicht schon (einen gepackagten Treiber
auf's Board und dann dem LCD-Modul die Row und Columns zuführen).
> die Lösung b) hört sich interessant an aber, wenn ich das richtig> verstanden habe, könnte ich mit dieser Variante mit drei ausgängen immer> nur eine Leitung versorgen, oder?
Genau. Du steuerst aber damit aber nur die Rows ODER die Columns an
(würde da diejenigen nehmen, welche weniger sind auch wenn das
allenfalls nicht genau gemäss Spec ist, sollte das ziemlich dual sein.
Sind ja eh nur Kapazitäten, die Du umlädst). Das sind dann nicht so
viele und die jeweils anderen sind ja 2:1 und somit kein Problem, da Du
sie direkt ansteuern kannst.
Student1501 schrieb:> ich habe eine 5V-Spannungsquelle (kann ich nix verändern) und mein LCD> (welches ich auch nicht austauschen darf) braucht auch mind. 5V.
Das ist bei aktuellen FPGAs aber sehr schlecht. Solche "Hochspannungen"
verdauen die nicht...
> Ich müsste somit einmal 5V, 5V*2/3 und 5V*1/3 extern erzeugen können> (ist ja kein problem, einfach spannungsteiler verwenden) und diese dann> dem FPGA zur weiterverarbeitung übergeben können.
Falsche Reihenfolge. Du erzeugst in deinem FPGA Signale, die
anschliessend in entsprechende Pegel umgesettzt werden.
> ein platzproblem auf der späteren Platine habe
Tja, dann wird das so nix. Denn kompakter als mit einem uC, der den
LCD-Teil schon integriert hat, wirst du mit programmierbaren Bausteinen
niemals.
Des hab ich nämlich auch vermutet.
Das es prinzipiell möglich ist, war mir klar (warum sollte es auch nicht
gehn). Ob es aber auch ohne weitere (aufwendige) externe Beschaltung
möglich ist, darin war ich mir nicht zu 100% sicher.
Hab auch nämlich sonst nix gefunden, wo beschrieben stehen würde, wie
eine möglichkeit zu bewerkstelligen wäre.
Student1501 schrieb:> Hallo zusammen,>> ich habe das Problem, dass ich im Zuge meines Studiums ein 7-Segment-LCD> ansteuern soll.>> Ich habe die ganze Sache schon mit einem uC zum laufen gebracht, der ein> integriertes LCD-Modul verfügt
Dann würde ich diesen uC auch weiterhin benutzen.
> und soll (wenn möglich) das gleiche noch> mit einem CPLD realisieren.
Dann steuer doch die Anzeige nicht direkt, sondern über obigen
uP an. Deine Platzprobleme kannst Du möglicherweise mit einer
zusätzlichen Sandwichplatine lösen.
Gruss
Harald
Momentan sieht der Lösungsweg so aus, dass festgestellt wurde, dass es
ohne Probleme mit einem uC aus dem Hause Mikrochip geht. Eine Lösung mit
FPGA oder CPLD kann zwar auch realisiert werden, jedoch nicht, ohne noch
eine extenre Beschaltung zu spendieren.
Dadurch ist die FPGA-Lösung keine Vorteile mit sich, die nicht auch
durch die uC-Lösung abgedegt sind. Im gegenteil würden durch die
FPGA-Lösung Probleme mit dem Platz entstehen, die nicht vermeidbar
wären.
Somit wird die Lösung mit einem FPGA nicht weiter verfolgt.
Student1501 schrieb:> Momentan sieht der Lösungsweg so aus, dass festgestellt wurde, dass es> ohne Probleme mit einem uC aus dem Hause Mikrochip geht. Eine Lösung mit> FPGA oder CPLD kann zwar auch realisiert werden, jedoch nicht, ohne noch> eine extenre Beschaltung zu spendieren.>> Dadurch ist die FPGA-Lösung keine Vorteile mit sich, die nicht auch> durch die uC-Lösung abgedegt sind. Im gegenteil würden durch die> FPGA-Lösung Probleme mit dem Platz entstehen, die nicht vermeidbar> wären.>> Somit wird die Lösung mit einem FPGA nicht weiter verfolgt.
Und schon ist der Student seiner Aufgabe als Ingenieur naeher gekommen:
- Man(n) muss nicht jeden Quatsch implementieren (oder das Rad neu
erfinden), manchmal ist auch nur gefragt die Moeglichkeiten zu eroieren
und die Entscheidung zur gefundenden Loesung zu begruenden...
Hm ob der Prof. nicht genau das mit seiner Aufgabenstellung von Anfang
an verfolgt hat ;)
In diesem Sinne
Gruss
Vanilla