Forum: FPGA, VHDL & Co. LCD Display lesen per FPGA


von Daniel K. (Gast)


Lesenswert?

Hallo Forum,

ich bin Student und würde interessiere mich für FPGA's. Leider besitze 
ich noch keine Vorkenntnisse!

Zu meiner Frage:
Ich würde gerne den Text auf einem LCD Display per FPGA auslesen. Den 
Text hätte ich gerne auf dem Computer, um ihn mit dem Programm LabView 
weiter zu verarbeiten.

Ist das möglich? Wie würde das Schaltbild aussehen und ein mögliches 
Programm?

Ich hatte mir bereits die Seite 
"http://www.fpga4fun.com/TextLCDmodule.html"; angeschaut aber das 
Verständnis fehlt noch ein wenig.

Wäre für jede Hilfe dankbar!

MfG, Daniel

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


Lesenswert?

Daniel K. schrieb:
> Zu meiner Frage:
> Ich würde gerne den Text auf einem LCD Display per FPGA auslesen.
Was für ein LC-Display? Da gibt es viele unterschiedliche...

> Wie würde das Schaltbild aussehen und ein mögliches Programm?
Diese Fragen sind zum jetzigen Zeitpunkt absurd!
Das ist, wie wenn du schreibst:
Ich möchte eine Rakete bauen und zum Mars fliegen.
Und dann fragst:
Welches Vesper soll ich einpacken? Und wieviel Klopaier brauche ich?

>  ein mögliches Programm?
Es gibt für Hardware keine Programme. Sondern es gibt Beschreibungen, 
die mit entsprechenden Beschreibungssprachen erstellt wurden. Aber ich 
würde sowieso vorschlagen, du kaufst ein EVAL-Board und fängst mit einer 
blinkenden LED an...

von Uwe N. (ex-aetzer)


Lesenswert?

Daniel K. schrieb:
> Ich würde gerne den Text auf einem LCD Display per FPGA auslesen.

Verstehe nicht ganz, was du meinst. Normalerweise werden LCDs (z.B.) mit 
einem FPGA betrieben (angesteuert), d.h. der erzeugt das Timing (Bild) 
für das Display.

Also: LCD ansteuern oder auslesen -> zwei verschiedene Dinge (das 
auslesen ist eher ungewöhnlich)

Oder willst du per FPGA und einer Kamera Bild/ Text auswerten ?
Vielleicht  möchtest du dich in die VGA/ DVI/ HDMI Signale "einklinken" 
(geht bei den letzten beiden nicht ohne weiteres) ?


Gruss Uwe

von Daniel K. (study88)


Lesenswert?

Uwe N. schrieb:
> Daniel K. schrieb:
>> Ich würde gerne den Text auf einem LCD Display per FPGA auslesen.
>
> Verstehe nicht ganz, was du meinst. Normalerweise werden LCDs (z.B.) mit
> einem FPGA betrieben (angesteuert), d.h. der erzeugt das Timing (Bild)
> für das Display.
>
> Also: LCD ansteuern oder auslesen -> zwei verschiedene Dinge (das
> auslesen ist eher ungewöhnlich)
>
> Oder willst du per FPGA und einer Kamera Bild/ Text auswerten ?
> Vielleicht  möchtest du dich in die VGA/ DVI/ HDMI Signale "einklinken"
> (geht bei den letzten beiden nicht ohne weiteres) ?
>
>
> Gruss Uwe

Hallo Uwe,

Ich hab eine Kamera die auf ein Display gerichtet ist. Den Text auf den 
Bildern extrahiere ich mit OCR Software.Aber dies ist für mich keine 
optimale Lösung!

Ich wollte die Kamera jetzt gerne durch einen FPGA ersetzen (falls 
möglich).

Ist meine Idee umsetzbar oder brauch ich dazu was anderes?

Tut mir Leid wenn ich mich Anfangs undeutlich ausgedrückt habe.

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


Lesenswert?

> Ist meine Idee umsetzbar oder brauch ich dazu was anderes?
Sie ist umsetzbar, aber ich würde für OCR vom Zeitaufwand mal locker 1/2 
Jahr für einen Profi ansetzen.

Noch was:
> Ich hab eine Kamera die auf ein Display gerichtet ist.
Lothar Miller schrieb:
>>> Was für ein LC-Display? Da gibt es viele unterschiedliche...

Wenn das ein "übliches" 16x2 Display ist, dann reduziert sich der 
Aufwand extrem. Wenn das ein Grafikdisplay ist, dann gilt das halbe 
Jahr...

von Daniel K. (study88)


Lesenswert?

Lothar Miller schrieb:
>> Ist meine Idee umsetzbar oder brauch ich dazu was anderes?
> Sie ist umsetzbar, aber ich würde für OCR vom Zeitaufwand mal locker 1/2
> Jahr für einen Profi ansetzen.
>
> Noch was:
>> Ich hab eine Kamera die auf ein Display gerichtet ist.
> Lothar Miller schrieb:
>>>> Was für ein LC-Display? Da gibt es viele unterschiedliche...
>
> Wenn das ein "übliches" 16x2 Display ist, dann reduziert sich der
> Aufwand extrem. Wenn das ein Grafikdisplay ist, dann gilt das halbe
> Jahr...

Hallo Lothar,

ist ein 16x2 Display.

Wie kann ich mir das ganze dann vorstellen bzw. welche Hardware muss ich 
anschaffen, um letztenendes meine Industriekamera zu ersetzen?

Danke für eure Hilfe.

von Εrnst B. (ernst)


Lesenswert?

Daniel K. schrieb:
> Ich wollte die Kamera jetzt gerne durch einen FPGA ersetzen

Erm... dir ist der kleine Unterschied zwischen Kamera und FPGA schon 
klar?

Bzw. erklär uns doch mal kurz, was deiner Meinung nach ein FPGA ist.

von Thomas T. (knibbel)


Lesenswert?

Wenn es ein einfaches 16x2-LCD mit HD44780-Controller ist, wäre ein 
einfacher 8-Bit Controller (egal ob PIC oder AVR oder MCS51 oder 
sonstwas) wohl die bessere Wahl gegenüber einem FPGA.

So im Kopf kurz nachgedacht:

* Einen 8-Bit Port an die Datenleitungen hängen
* E, WR und CS abfangen, gegebenfalls über Interrupt
* Datum am 8-Bit Port auslesen.
* Anzeige im RAM zusammen basteln
* Über serielle Schnittstelle (evtl. nach Anforderung) ausgeben.

Dafür braucht man kein FPGA.

Aber dazu ist ein intensiver Lernaufwand von mindestens 6-8 Wochen 
nötig...

Gruß,
Thomas

von Engineer (Gast)


Lesenswert?

Du willst doch nicht ernsthaft OCR-Algorithmen in Hardware 
implementieren oder soll der FPGA nur als Filter dienen?

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


Lesenswert?

Engineer schrieb:
> OCR-Algorithmen in Hardware
Ist nicht nötig, weil das ein simples Textdisplay ist.
>> ist ein 16x2 Display.
Ich würde da für mich 1-2 Tage (Feierabende) ansetzen, weil ich das 
SIO-Modul schon habe, und nur noch das LCD-Interface basteln und die 
Daten einlesen muß

Thomas T. schrieb:
> Dafür braucht man kein FPGA.
Richtig, ich stelle mir das mit einem uC recht einfach vor...
> Aber dazu ist ein intensiver Lernaufwand von mindestens 6-8 Wochen
> nötig...
Gilt für einen Anfänger egal, ob es mit uC oder FPGA realisiert wird (na 
gut, mit uC geht das als Anfänger locker schon nach 4 Wochen)...

von Daniel K. (Gast)


Lesenswert?

Zusammenfassend:

1. Ich besorge mir einen uC Mikrocontroller, schliesse diesen an PC und 
LCD Display an.

-->als Beispiel: ich habe ein 16x2 LCD Display vom Mp3 Player u. möchte 
gerne den Text der auf dem Bildschirm angezeigt wird in ein Array 
speichern, um diesen Text am Computer verarbeiten zu können.

2. Programmierung des uC Mikrocontrollers in C/C++. Speicherung vom 
angezeigten Text in einem Array.

Hab ich das jetzt richtig auf dem Schirm?

Grosser Unterschied, ob man einen uC oder FPGA nimmt?

Ich habe als Zeitplan für mein Projekt 3 Monate+ gesetzt.

Gibt es evtl. spezielle Seiten/Lektüre, die dieses Thema ansprechen?

Vielen Dank!

MfG

von Mike (Gast)


Lesenswert?

> als Beispiel: ich habe ein 16x2 LCD Display vom Mp3 Player u. möchte
> gerne den Text der auf dem Bildschirm angezeigt wird in ein Array
> speichern, um diesen Text am Computer verarbeiten zu können.

Zuerst musst du herausbekommen ob im MP3-Player das Display über einen 
extra Controller angesteuert wird oder ob alles unter einen 
Epoxydharz-Klecks versteckt ist.

Wenn der Controller extra ist kannst du dich an den Bus hängen. 
Ansonsten musst du dich damit beschäftigen wie gemultiplexte LCDs 
angesteuert werden. Der Aufwand ist deutlich höher.

> Grosser Unterschied, ob man einen uC oder FPGA nimmt?

Ja, sehr.

> Ich habe als Zeitplan für mein Projekt 3 Monate+ gesetzt.

Könnte vielleicht klappen. Hängt sehr davon ab wieviele Vorkenntnisse du 
hast.

> Gibt es evtl. spezielle Seiten/Lektüre, die dieses Thema ansprechen?

Datenblätter (uC), Datenblatt (LCD) und ... Datenblätter?

>  uC Mikrocontroller

Das ist irgendwie doppelt gemoppelt.

von Uwe N. (ex-aetzer)


Lesenswert?

Mike schrieb:
> Zuerst musst du herausbekommen ob im MP3-Player das Display über einen
> extra Controller angesteuert wird oder ob alles unter einen
> Epoxydharz-Klecks versteckt ist.
>
> Wenn der Controller extra ist kannst du dich an den Bus hängen.
> Ansonsten musst du dich damit beschäftigen wie gemultiplexte LCDs
> angesteuert werden. Der Aufwand ist deutlich höher.

Hallo Daniel,

Mike hat einen interessanten Punkt angesprochen: wenn du nur den 
Datenbus (4 od. 8 Signale + 2-3 Steuersignale) abfragen musst, so ist 
das auch für einen fortgeschrittenen Anfänger machbar. Wenn du da aber 
nicht rankommst (weil in dem schwarzen Plasteklecks sich neben dem 
Displaytreiber auch noch die ganze MP3 Decoder-Logik befindet) dann wird 
das mit einem simplen µC (AVR/ PIC) schon fast nicht machbar, weil jede 
Menge Signale erfasst werden müssen (das Display wird ja gemultiplext, 
d.h. viele, viele kurze Signale/ Pulse müssen ausgewertet werden).

Falls das der Fall ist, würde ich es zuerst mit einem CPLD (falls die 
genug Pins/ Ressourcen haben ...) versuchen, ansonsten kommt durch die 
Hintertür der FPGA wieder rein ;)

Eine Frage habe ich noch: was machst du eigentlich, wenn du den Text 
dann irgendwann mal im "LabView" hast ??

Die Sache hat ein wenig was von "Kanone vs. Spatz" ;)

Gruss Uwe

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


Lesenswert?

Daniel K. schrieb:
> ein 16x2 LCD Display vom Mp3 Player
Das kann  leicht kompliziert werden, denn diese Dinger haben 
normalerweise kundenspezifische Displays. Du MUSST für eine belastbare 
Aussage KONKRETE Angaben machen.

> Grosser Unterschied, ob man einen uC oder FPGA nimmt?
Ja, durchaus.
Das ist, wie wenn du sagst: ist zwischen Stahl und Auto ein Unterschied?
Stahl = FPGA (denn daraus kann man auch was anderes machen)
Auto  = uC   (fertiges Produkt)

> Ich habe als Zeitplan für mein Projekt 3 Monate+ gesetzt.
Bei den Fragen, wie du sie jetzt noch stellst, sollest du auf jeden Fall 
noch ein paar + zusätzlich vorsehen...

von Daniel K. (Gast)


Lesenswert?

Ich hab jetzt mal das die komplette Blende meiner alten Waschmaschine 
ausgebaut. Wie ich das beurteilen kann, könnte man hier direkt den Bus 
ansteuern.

Ich würde dann in LabView vergleichen: Wenn ich an der Maschine das 
Programm Baumwolle gewählt habe auch wirklich auf dem LCD Display 
Baumwolle steht.

Ich habe jetzt im nächsten Semester das Modul Mikrocontroller, da werde 
ich mir dann auch Wissen aneignen können.

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


Lesenswert?

Daniel K. schrieb:
> Ich habe jetzt im nächsten Semester das Modul Mikrocontroller, da werde
> ich mir dann auch Wissen aneignen können.
Nur mal ganz ohne Ironie: du kannst das schon vor dem nächsten 
Semester anfangen. Andere haben nicht sutdiert und können das auch so...

Und: verlass dich nicht so auf das wenige Hochschulwissen, das du da 
tagsüber vermittelt bekommst. Wirkliche Erfahrung stellt sich idR nachts 
zwischen 2 und 3 ein, nachdem man schon den ganzen Abend die Nuss zu 
knacken versucht hat...

von Daniel K. (Gast)


Lesenswert?

Lothar Miller schrieb:
> Daniel K. schrieb:
>> Ich habe jetzt im nächsten Semester das Modul Mikrocontroller, da werde
>> ich mir dann auch Wissen aneignen können.
> Nur mal ganz ohne Ironie: du kannst das schon vor dem nächsten
> Semester anfangen. Andere haben nicht sutdiert und können das auch so...
>
> Und: verlass dich nicht so auf das wenige Hochschulwissen, das du da
> tagsüber vermittelt bekommst. Wirkliche Erfahrung stellt sich idR nachts
> zwischen 2 und 3 ein, nachdem man schon den ganzen Abend die Nuss zu
> knacken versucht hat...

Ist es denn überhaupt möglich für mich als Anfänger das Projekt 
umzusetzen sprich den Text auf dem LCD Display einer Waschmaschine 
auszulesen?

Wie gesagt an der Zeit wird es nicht scheitern aber wenn das für Profis 
schon "zu" schwer ist würde ich die Finger davon lassen.

Klappt das bei einer Waschmaschine auch mit einem uc?

von Uwe N. (ex-aetzer)


Lesenswert?

Daniel K. schrieb:
> Ist es denn überhaupt möglich für mich als Anfänger das Projekt
> umzusetzen sprich den Text auf dem LCD Display einer Waschmaschine
> auszulesen?

Ich dachte, diese Frage wäre schon geklärt ?

> Wie ich das beurteilen kann, könnte man hier direkt den Bus ansteuern.
Ok, waran erkennst du das ? Ist der Displaycontroller ein schwarzer 
Klecks oder ein gelöteter IC, wo eine Bezeichnung draufsteht ?
Wenn ja, dann erstmal das DB besorgen ...

> Wie gesagt an der Zeit wird es nicht scheitern aber wenn das für Profis
> schon "zu" schwer ist würde ich die Finger davon lassen.

"zu schwer" ist hier der falsche Begriff, ich behaupte mal, so ein 
exotisches Problem hat hier noch keiner gehabt. Damit meine ich nicht 
das auslesen an sich, das könnnen die bekannten Treiber alle. Aber du 
willst ja von aussen, ohne die Schaltung zu stören, den Datenverkehr 
mitloggen und dann auswerten.

> Klappt das bei einer Waschmaschine auch mit einem uc?
Wenn die Vorrausetzungen stimmen (bekannter Controller/ Protokoll, 
physikalisches Herankommen an Pins/ Signal, ...) dann klappt das auch 
bei dem Kaffeautomaten, Geschirrspülmaschine, ...).

Das hatten wir doch alles schon  ?!

Vorschlag: versuch erstmal den umgekehrten Weg - das ansteuern eines 
Displays. Da bekommst du ein Gefühl für die "Materie".

Gruss Uwe

von Daniel K. (Gast)


Lesenswert?

Vielen Dank für die Hilfe!

Ich werde deinem Ratschlag folgen und erst mal "klein" anfangen mit dem 
Ansteuern eines Displays.

Wenn im Verlauf weitere Fragen aufkommen, werde ich mich melden. Ich 
hoffe dann werde meine Fragen konkreter sein!

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.