Forum: Mikrocontroller und Digitale Elektronik Memory Mapped HDMI bauen


von Sadi Y. (zaadii)


Lesenswert?

Hallo Zusammen,

ich bin mir nicht sicher, wie das was ich gerne bauen/kaufen würde 
heist. Daher beschreibe ich es mal:
Ich würde gerne eine Bitmap in einem Ram Baustein ablegen (und laufen 
aktuallisieren) und einen HDMI-IC damit verbinden der diesen 
Ram-Baustein ausliest und das Bitmap dann so auf dem Bildschirm 
darstellt.
Erst mal nur schwarz/weis.

Frage1:
Hat mir vielleicht jemand einen Link zu einem Tutorial oder kann mir 
zumindest sagen wie der Baustein (die Bausteine) heist nachdem ich 
suche?

Frage2:
Nehben der HDMI-Geschichte müsste ich dafür ja auch den Zugriff auf den 
Ram-Baustein multiplexen, ausser der Ram-Baustein hätte zwei Zugänge die 
parallel betrieben werden können. Gibt es so etwas?

Gruß,
Zaadii.

von Jim M. (turboj)


Lesenswert?

Sadi Y. schrieb:
> Frage1:
> Hat mir vielleicht jemand einen Link zu einem Tutorial oder kann mir
> zumindest sagen wie der Baustein (die Bausteine) heist nachdem ich
> suche?

Grafik- Karte. Hat einmal HDMI-Out und PCI-E input.

Sadi Y. schrieb:
> ausser der Ram-Baustein hätte zwei Zugänge die
> parallel betrieben werden können. Gibt es so etwas?

Ja, es gab mal Dual-Port VRAM. Benutzt aber niemand mehr, das 
Multiplexing macht heutzutage der Grafik Chip selber, Stichwort Cache.

Ansonsten habe ich sowas mal vor Jahren auf einem FPGA gesehen, da 
musste aber selbst für Full-HD Schwarzweiss der (SD)RAM schon richtig 
fix sein.

von Timmo H. (masterfx)


Lesenswert?

Entweder per FPGA (z.B. Zybo, für dem es ein fertigen HDMI IP-Core für 
gibt) oder im einfachsten Fall einen Rasperry Pi via imagemagic convert 
direkt das Bild in den Frambebuffer schieben: convert -resize 1920x1080 
-background black -gravity center -extent 1920x1080 /home/user/blubb.jpg 
bgr:/dev/fb0

Was hast du denn überhaupt damit vor?

: Bearbeitet durch User
von Tobias F. (analrapist)


Lesenswert?

Jim M. schrieb:
> Ansonsten habe ich sowas mal vor Jahren auf einem FPGA gesehen, da
> musste aber selbst für Full-HD Schwarzweiss der (SD)RAM schon richtig
> fix sein.

Bei 1920x1080 bei 60Hz und 24 Bit Farben hat man eben ~3GBit/s. Da kann 
der FPGA nix für. Mit 30Hz und 8 Bit bist du dann eben bei 500MBit/s. 
Das ist bei Grafikkarten auch nicht anders. Da hat man allerdings 
ordentliche Caches und Speicher der mit mehreren 100GBit/s angebunden 
ist.

: Bearbeitet durch User
von Sadi Y. (zaadii)


Lesenswert?

Super das probier ich mal aus.

Ich würde mir gerne nen Rechner aufbauen indem ich keine Arduinos für 
"CPU", "IO-Controller" und "Sound-Chip" verwende.
Als Speicher dann nomales RAM über I2C.
Und ein Teil von diesem Ram würde ich gerne direkt auf HDMI ausgeben, 
wobei es mir dabei nur um den HDMI-Anschluss geht. 800x600 würde mir als 
Auflösung reichen und wenn ich nicht in jedem Frame Aktuallisieren kann 
wäre das auch OK.

Zybo-das schau ich mir mal an.

Gruß,
Zaadii.

von Sebastian V. (sebi_s)


Lesenswert?

Sadi Y. schrieb:
> Als Speicher dann nomales RAM über I2C.

Das wird nichts. Selbst bei 800x600 16bit und 30Hz müssen die Daten mit 
28MB/s aus dem RAM kommen. Auch wüsste ich gerne wo I2C RAM normal ist. 
Außer irgendwelchen NVRAMs finde ich überhaupt keinen RAM den man über 
I2C anspricht. Normal ist SRAM mit paralleler Schnittstelle oder gleich 
SDRAM.

von Sadi Y. (zaadii)


Lesenswert?

Schade dass das ganze mit HDMI nicht möglich ist.
Für VGA habe ich inzwischen eine Lösung gefunden.
Allerdings mit einer sehr geringen Auflösung.

Dieses Zybo ist allerdings etwas overkill, oder?

Ich dachte es gibt nen IC, der auf der einen Seite HDMI hat und auf der 
anderen Seite, naja, irgendwas was die Daten dann aus dem Speicher 
liest.

Aber gibt es wohl nicht.
Ich denke dann teste ich erst mal ob ein Arduion ein 800ter Zeile auf 
den VGA printen kann (also im wesentlichen ob es schnell genug einen 
GIPO toggeln kann). Dann könnte ich ja zwei Arduinos nehmen die immer 
abwechselnd eine Zeile schreiben und, wenn sie gerade nicht schreiben, 
die nächste zeile aus den Ram holen (fragt sich halt, wann ich dann das 
Ram neu befüllen kann, da das ja dauernd ausgelesen wird.).

Und von VGA muss ich halt dann mit so nem Converter rüber nach HDMI - 
schade, das wollte ich eigentlich vermeiden, zumal ich mir vorgestellt 
hatte, dass HDMI leicter zu schreiben ist, weil ich mich dann nichtmehr 
mit dem Rasterstrahl rumärgern muss.

Danke erst mal an alle für die Tipps.
Falls ich doch noch ne Möglichkeit finde HDMI direkt aus dem RAM zu 
schreiben (was aber wie ich verstanden habe eher hoffnungslos ist), meld 
ich mich nochmal.

Gruß,
Zaadii.

von Tobias F. (analrapist)


Lesenswert?

Sadi Y. schrieb:
> Dieses Zybo ist allerdings etwas overkill, oder?

Fuer ein vernuenftiges HDMI Interface? Nein.

Sadi Y. schrieb:
> Ich dachte es gibt nen IC, der auf der einen Seite HDMI hat und auf der
> anderen Seite, naja, irgendwas was die Daten dann aus dem Speicher
> liest.

Gibt es natuerlich. Wirst aber trotzdem einen FPGA als glue logic 
brauchen.

Sadi Y. schrieb:
> Ich denke dann teste ich erst mal ob ein Arduion ein 800ter Zeile auf
> den VGA printen kann (also im wesentlichen ob es schnell genug einen
> GIPO toggeln kann).

Kann er nicht. http://tinyvga.com/vga-timing/800x600@60Hz

Sadi Y. schrieb:
> Dann könnte ich ja zwei Arduinos nehmen die immer abwechselnd eine Zeile
> schreiben und, wenn sie gerade nicht schreiben, die nächste zeile aus
> den Ram holen (fragt sich halt, wann ich dann das Ram neu befüllen kann,
> da das ja dauernd ausgelesen wird.).

Ist halt dann scheisse. Geht aber eh nicht weil zu langsam.

Sadi Y. schrieb:
> zumal ich mir vorgestellt hatte, dass HDMI leicter zu schreiben ist,
> weil ich mich dann nichtmehr mit dem Rasterstrahl rumärgern muss.

Ist es nicht. Blanking gibt es auch in HDMI.



VGA mit 800x600 ist halt schon ausserhalb der Reichweite eines Arduinos. 
Mal vom RAM abgesehen. HDMI ist nochmal ne ganz andere Nummer. 
Hauptsache "Zybo ist Overkill".

von Sadi Y. (zaadii)


Lesenswert?

Tobias F. schrieb:
> Hauptsache "Zybo ist Overkill".

War ja nicht böse gemeint.
Aber das Zybo ist ja schon ein kompletter Rechner...da macht das ganze 
Projekt drum rum ja keinen Sinn mehr.

Aber, naja, wie ich jetzt gelernt hab ist das ganze eh eher 
hoffnungslos.

Danke an alle. :-)

Könnt den Faden gern schließen.

Gruß,
Sadi.

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.