mikrocontroller.net

Forum: FPGA, VHDL & Co. LED-Array Animated Image


Autor: JG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle hier,

Da ist gerade eine Aufgabe auf meinen Tisch geflattert wo ich vielleicht 
ansatzweise eine Ahnung hätte, aber im Detail nicht klar sehe und der 
Meinung bin sowas könnte man mit einem FPGA o.ä. am besten lösen.

Da ich schon seit längerem einen Einstieg in die Welt der FPGA's geplant 
habe  ist das vielleicht ein "Wink mit dem Zaunspfahl".

Ihr könnt mich aber gerne auch auf den Boden der Tatsachen zurückholen 
falls ich da auf dem falschen Weg bin.

Also was das geben soll ist eine Art animiertes "Ampelmännchen" für 
Fussgängerampeln, realisiert über LED-Matrix.

Bei Rot steht das Ampelmännchen wie gewohnt mit ausgebreiteten Armen und 
darunter wird die verbleibende Zeit für "Rot" angezeigt.

Bei Grün soll ein Animiertes Bild erscheinen, welches ein laufendes 
Ampelmännchen zeigt, auch hier darunter die verbleibende Zeit für "Grün"

Der Clou soll sein, das das Grüne Ampelmännchen mit ablaufender Zeit für 
Grün schneller läuft.


Also mein "ganz Grober Ansatz" wäre einen Speicher (EPROM o.ä.) mit den 
Einzelbildern zu beschreiben und diese dann vom FPGA aus dem Speicher zu 
lesen und an die LED-Matrix weiterzugeben.

Das ist erst mal ein Ansatz und das ganze ist alles noch recht offen in 
jeder Hinsicht.

Wo ich Eure Unterstützung brauche ist den Ansatz zu verwerfen oder zu 
konkretisieren, so das ich mich in der Lektüre von FPGA's auf eine 
Auswahl beschränken kann.
Dann erst Eval-Board etc. ...

Also vielen Dank schon mal

Ju

Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich denke das hängt stark von der Größe / Auflösung der verwendeten 
LED-Matrix ab. Bei "kleineren" Matrizen lässt sich die Aufgabenstellung 
durchaus auch mit einem einfachen Mikrocontroller lösen.

Hast Du noch ein paar zusätzliche Eckdaten parat?

Autor: JG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Grösse der Matrix ist genau der Punkt wo mir der Gedanke zum FPGA 
gekommen ist.

3mm LED'n auf 100mmx100mm für das Animierte Bild + die Anzeige der Zeit, 
da kommt schon eine Menge zusammen.

Die genaue Auflösung der Bilder und der Anzeige der Zeit muss ich erst 
mal in einem Graphik-Programm ausprobieren um genau zu wissen mit wie 
vielen "Pixeln" ich rechnen muss um etwas Ansehnliches auf die Matrix zu 
bekommen.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
16x16 Pixel reichen für ein animiertes Männchen aus. Nur beim Text wirds 
schwerer, da sollte man 5x7 Pixel pro Zeichen rechnen. Bei 2 stelligem 
Text wären das also 5x7. Dazu die 16x16 für das Männchen sind 16x24. Das 
sollte ein µC problemlos schaffen. Selbst 256x256 kann ein AVR noch 
locker ansteuern. Ein FPGA ist also etwas oversized.
Bei so großen Displays ist der Pixelabstans entsprechend. z.B. der 
Hintergrund vom Quatsch Comedy Club besteht aus LEDs mit geschätzen 
5-10cm Abstand:
http://www.youtube.com/watch?v=RhHUPZyiCTA

Autor: laspalmas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

@Benedikt

meinst du das Display vom Comedy Club samt scrolling und Animationen 
vom einem einzigen AVR angesteuert wird ? vielleicht ein AVR32? 
(256*256*8(Farbtiefe)*100(Hz)*3(Farbkanäle)= 157 MHz?
MFG

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, ich meine, dass der Pixelabstand sehr groß ist. JG hat sich ja 
Gedanken gemacht, dass bei 1x1m und 3mm LEDs einiges zusammenkommt...

Autor: laspalmas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Danke Benedikt für die Antwort.
D.h das Display vom C.C ist modular aufgebaut. bleibt die Frage
wie verbindet solche module vor allem bei der grossen Datenmenge, mit 
Ethernet? eignes seriellen Protok? gibt es ein Standard Protokoll für 
solche Video Wände?
Die Firma www.G-Lec.de stellt solche Displays her. Sie sehen Klasse aus.
MFG
laspalmas

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Definier mal genauer was du brauchst:
Redest du hier von einfachen Animationen mit insgesamt <1000 Pixeln die 
nur an und aus geschaltet werden, oder willst du 24bit Farbtiefe und 
volle Videos mit etlichen 10k Pixeln darstellen ?
Der Unterschied liegt grob geschätzt bei >100k€ Preisunterschied und 
etlichen kW Stromaufnahme...
Ich weiß z.B. von einem 32x32 Pixel Display mit PC Interface (lässt sich 
als  Monitor verwenden) das sich im k€ Bereich bewegt. Und das obwohl es 
Billigware aus China ist.

Wenn du Graustufen brauchst wird es aufwendig. Ich weiß z.B. dass bei 
den Videoanzeigen in Fußballstadien die einzelnen Module mit mit wenigen 
100 Pixeln per Glasfaser von einer zentralen Steuerung versorgt werden.

Wenn dagegen nur an/aus reicht, und die Auflösung sich in Grenzen hält 
(z.B. 128x128 Pixel), dann würde ich RS232 oder ähnliches was verwenden, 
da die Datenmengen sehr gering ist. Ein 128x128 Bild hat 2kByte, über 
UART mit 115200Baud schafft man 5fps, was reichen sollte.

Autor: laspalmas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, nein die Rede ist von Displays (VGA-Auflösung aufwärts) mit 
Videofähigkeiten und Farbtiefe grösser als 4-Bit/Kanal. Ein Bildschen 
32x32 darzustellen   ist mit Hilfe einer FPGA mit genügend EBR-Blocks 
gar kein Problem. Das Problem ist die Versorgung der Module mit den 
notwendigen Daten und das mit mindestens 20 frames/s. Was steckt Hinter 
Glasfaser? was bedeutet "Display mit PC Interface "?
MFG
laspalmas

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
laspalmas wrote:
> nein, nein die Rede ist von Displays (VGA-Auflösung aufwärts) mit
> Videofähigkeiten und Farbtiefe grösser als 4-Bit/Kanal.

Hast du im Lotto gewonnen ? Ich glaube kaum, dass 10k€ dafür reichen. 
Mal ganz von den 40kW Stromverbrauch abgesehen...

> Das Problem ist die Versorgung der Module mit den
> notwendigen Daten und das mit mindestens 20 frames/s.

Was spricht gegen VGA + ADC ?

Autor: laspalmas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,
Es geht um das Verständnis und das allgemeine Wissen mehr nicht.
Die Realisierung ist far far away ;-).
Das grosse Bild(x*y) soll gekachelt und den Modulen(32x32) addressiert 
übertragen werden. wie soll das gehen mit VGA+ADC? Es kommen noch 
mehrere Probleme hinzu: Weissabgleich, gammakorrektur, Wärmeabfuhr, 
Heizung(Winter), Einbrenneffekte (Antiaging Prozesse zu implementieren), 
geeignete LED-Treiber, Automatische Ausfallserkennung der 
LEDs,geschweige von der mechanischen Herausforderungen...usw. Wie 
gesagt: es geht um das Veständnis.
MFG
laspalmas

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ein Modul selber zu bauen halte ich für keine gute Idee -- ist zu 
kompliziert. Hatte selber damit was zu tun (große Videowände) und muss 
sagen, dass obwohl es sich alles einfach anhört, Realisierung sehr 
schwer und vor allem teuer ist. So lange die Pixelanzahl von 16x16 oder 
ähnlich ist, mag es gehen, was darüber ist, ist einfach schwer zu 
handhaben.

Protokoll ist meist seriell, von einem Modul wird das Signal einfach 
weiter geschleift. Jedes Modul hat eine Addressierungsmatrix, die die X 
und Y Koordinate im großen Bild festlegen -- das Modul filtert seine 
Daten dann selber aus.

Nicht zu vergessen ist dann der Abgleich aller LEDs! Bei 3 FArben und 
16x16 Pixel im Modul mag es noch gehen, aber wenn es mehrere Module 
sind, müssen alle LEDs gleich sein. Ich meine nicht "gleich" vom Typ 
her, sondern auch vom alter, Leutchtstärke, und so weiter und so fort 
--> Grüßstes Problem.

Es gibt bestimmte LED-TReiber, wo Du bis zu 24 LEDs anschließen kannst 
(3 Farben), da kannst Du auch für jede LED einzeln die Helligkeitswerte 
und Defect-Pixel hinterlegen. Ist dann alles miteinander verbunden, 
musst Du dann alles mit Strom versorgen ;-) Und das ist eine Menge! :-))

Alles in einem -- die Ansteuerung ist das eine Problem -- Bau von 
Modulen ganz anderes!



Grüße,

Kest

Autor: laspalmas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Kest
kannst du ein bischen mehr erzählen über den seriellen Bus? 
Bandrate,Kabeltypen,Protokoll?
Danke
MFG
laspalmas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.