Forum: FPGA, VHDL & Co. 7-Segment-LCD direkt ansteuern


von Student1501 (Gast)


Lesenswert?

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

von hp-freund (Gast)


Lesenswert?


von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Da ist aber kein Multiplexer beteiligt. Das ist stupides statisches 
Ansteuern:
1
Each operable visual item in the display is a separate LCD segment 
2
which is driven directly by the CPLD.
Das geht mit jedem Baustein, der Spannungen umschalten kann...

von P. K. (pek)


Lesenswert?

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!

von Student1501 (Gast)


Lesenswert?

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?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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... ;-)

von Student1501 (Gast)


Lesenswert?

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 :)

von P. K. (pek)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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.

von Student1501 (Gast)


Lesenswert?

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.

von Harald W. (wilhelms)


Lesenswert?

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

von Student1501 (Gast)


Lesenswert?

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.

von Vanilla (Gast)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

OT und zur Allgemeinbildung  ;-)
> eroieren
o --> u
http://de.pons.eu/deutsche-rechtschreibung/eroieren

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
Noch kein Account? Hier anmelden.