mikrocontroller.net

Forum: FPGA, VHDL & Co. quartus nios 2 zugriff hdmi


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Geldesch B. (Firma: haa) (dravr)


Bewertung
0 lesenswert
nicht lesenswert
hello, hat jemand schonmal mit einem NIOS II auf die HDMI Schnittstelle 
des DE 10 nano zugegriffen ?
Möchte erstmal nur ein paar Testausgaben machen. Nur ein paar Pixel 
ansprechen.

Vielleicht hat jemand einen Tipp wie man grob vorgehen sollte :D

von tja (Gast)


Bewertung
1 lesenswert
nicht lesenswert
- HDMI Stream erzeugen
- Daten aus Bildspeicher holen und in den Stream legen
- mit NIOS II den Bildspeicher manipolieren

von Geldesch B. (Firma: haa) (dravr)


Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,
vielen Dank für die Antwort !
Ich werde mal schauen wie ich einen solchen Stream kreieren kann.
Dann werde ich schauen wie ich auf den Bildspeicher Zugriff erhalte.

:D

Beitrag #6096423 wurde von einem Moderator gelöscht.
von Donni D. (donnidonis)


Bewertung
0 lesenswert
nicht lesenswert
Hast du denn schon mal in das Datenblatt zum Board geschaut? ADV7513 
Sollte der verwendete HDMI Transmitter IC sein, den guckst du dir an. 
Wenn du allerdings wenig Erfahrung im FPGA Bereich hast, fang klein an.

von Geldesch B. (Firma: haa) (dravr)


Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für den Tipp!

Konnte ich auch gerade in der Terasic Anleitung lesen


Abschnitt 3..6..5 HDMI TX Interface
ADV7513 HDMI TX

Das Datenblatt dazu:
https://www.analog.com/media/en/technical-documentation/data-sheets/ADV7513.pdf

Werde dann mal weiter lesen :D

von Geldesch B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Analog Devices zeigt in einer PDF: AN-1270.pdf wie man einen 
HDMI-Pattern-Generator auf seinem FPGA in Verilog implementieren könnte:

https://www.analog.com/media/en/technical-documentation/application-notes/AN-1270.pdf

List 1 = Generator
List 2 = Testpattern
List 3 = TopModule implementation

Hat jemand eine Ahnung ob man damit wenigsten schonmal mit Quartus und 
dem De10 nano FPGA eine Testausgabe hinbekommen könnte ?
Ich selber muss noch Arbeitsspeicher nachrüsten. Das hat letztes mal 1 
Stunde gedauert um alles zu compilieren.

Dann hätte man ja schonmal einen Stream


tja schrieb:
>- HDMI Stream erzeugen
>- Daten aus Bildspeicher holen und in den Stream legen
>- mit NIOS II den Bildspeicher manipolieren

Vielen Dank !

von Gustl B. (gustl_b)


Bewertung
0 lesenswert
nicht lesenswert
Ja mit dem Board kannst du ganz sicher HDMI ausgeben. Und das vermutlich 
auch ohne CPU. Wobei ... was willst du eigentlich mit dem NIOS, das ist 
ein SoC, das hat ARM9 Kerne drinnen, die sind sehr viel schneller als 
ein NIOS.

Laut Übersicht 
https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=1046&PartNo=2 
hängt das HDMI am FPGA, das RAM und Ethernet am ARM. Du kannst also sehr 
wahrscheinlich auch HDMI ohne CPU machen. Dann aber auch nur ohne DDR 
RAM. Für ein einfaches Muster reicht das aber.

von Markus F. (mfro)


Bewertung
0 lesenswert
nicht lesenswert
da fehlt - wenn ich das beim kurz drübergucken richtig sehe - das 
i2c-Interface, um den ADV75xx erst mal zu initialisieren.

Wenn's VHDL sein darf, darfst Du dich gerne hier und drumrum bedienen:

https://github.com/mfro0/deca_mem/blob/master/i2c_hdmi_config.vhd

Das ist zwar für ein MAX10 Board, aber das hat auch den ADV7513. Das 
Beispiel generiert einen RGB-Farbverlauf und ist zum Teil bei Terasic 
geklaut.

Den Framebuffer darfst Du selber bauen ;)

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Markus F. schrieb:
> da fehlt - wenn ich das beim kurz drübergucken richtig sehe - das
> i2c-Interface, um den ADV75xx erst mal zu initialisieren.

Genau das gleiche Problem hatten wir vor kurzem in diesem Thread:

Beitrag "Video mit AC701"

Lohnt sich trotz Artix 7 mal Quer zulesen, da die Initialisierung des 
ADV7511 dort auch diskutiert wurde. Der ADV7513 wird sich da vermutlich 
nicht wirklich von unterschieden.

von Geldesch B. (Firma: haa) (dravr)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Antworten.
Wegen I2C steht am Anfang von

 https://www.analog.com/media/en/technical-documentation/application-notes/AN-1270.pdf

>BASIC REQUIREMENTS To output in HDMI or DVI format, the ADV751x must be 
>programmed with the appropriate I2C register writes (see List 4) and fed >with a 
valid video sync signal accompanied by a clock.

Liste 4 habe ich im Anhang als Bild. Und die Übersicht vom AD 
Videogenerator.

Also man muss dann vlt. den ADV75xx mit diesen dort beschriebenen 
Befehlen ansprechen. Dafür müsste ich dann extra selber sorgen.

---
Ja ich weiß, dass Softcore Prozessoren ggfs. langsamer sind als Hardcore 
Prozessoren. Auch ggfs. etwas umständlicher. Trotzdem ist es mein Ziel 
den NIOS II dafür zu verwenden :D

---
Danke für die Links : 
https://github.com/mfro0/deca_mem/blob/master/i2c_hdmi_config.vhd und 
Beitrag "Video mit AC701"

in vhdl wäre das aus anderen Gründen für mich sogar besser, allerdings 
wäre es gut wenn ich überhaupt was hinbekomme :D

von Gustl B. (gustl_b)


Bewertung
0 lesenswert
nicht lesenswert
Im Handbuch auf Seite 58 steht was. Terasic ist ja richtig nett, die 
haben auch Schaltplan und alles online, sehr fein. Und Code ist auch da.

von Geldesch B. (Firma: haa) (dravr)


Bewertung
0 lesenswert
nicht lesenswert
oh, ja vor ein paar Tagen waren das nur Hieroglyphen  für mich auf S.58 
xD
>This section gives instructions to program the HDMI transmitter to >generate 
video pattern
>and audio source. The entire reference is composed into three parts: video 
>design, audio
>design, and I2C design.

Jetzt werde ich mal schauen wo die Beispieldateien sind.

naja hatte noch glücklicherweise einen Ordner - konnte aber gerade auf 
Terasic.com noch nichts sehen-

\board_docu\Demonstrations\FPGA\HDMI_TX

hier ist es:
https://github.com/DarmstadtLinux/FPGAStuff/tree/master/HDMI_TX

Werde das gleich mal hochladen und warten bis ich einen HDMI Bildschirm 
finde xD

Dann wäre noch die grandiose Frage ob es schwer ist, parallel noch den 
NIOS laufen zu lassen ... Also ich müsste dafür ja alles in das Projekt 
einbinden.

Oh ich werde wohl noch einen 8 GB RAM für meinen Laptop kaufen müssen.
Aber wenigsten kann man das .sof File ohne compilieren drauf laden.
Nur leider sehe ich noch nichts ohne hdmi bildschirm xD

: Bearbeitet durch User
von Geldesch B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mein Quartus auf "nur 1 Prozessor" stelle kann ich alles 
anstatt in 30 Minuten in 5 Minuten compilieren. Zumindest ist das jetzt 
bei kleinen NIOS Projekten so.
Man kann für erste Tests auch in Settings einstellen, dass manche 
Aufgaben beim compilieren nicht mit "voller Leistung" beachtet werden 
sollen.

Das erspart zumindest einem Anfänger ein paar Nerven

Außerdem habe ich "herausgefunden", dass man wirklich ein HDL programm 
parallel zum NIOS laufen lassen kann. Also nichts besonderes, wusste ich 
eben einfach noch nicht.
Nun bin ich an dem Punkt, wo ich wissen muss, ob man z.B. die HDMI 
Schnittstelle an den AVALON Bus dranhängt oder, ob es eine andere 
Möglichkeit gibt darauf zuzugreifen. Also eigentlich wie gerade 
beschrieben einfach parallel dazu einbinden un darauf zugreifen.
Falls es eine andere Möglichkeit, also ohne Avalon gibt, muss man 
schauen ob diese nicht zu aufwendig ist.

Ich möchte ja den HDMI Stream beeinflussen. Einfach nur immer weiße 
Punkte auf einen schwarzen Bildschirm setzten. Ich habe schon gesehen, 
dass es einen Avalon Interface Slave gibt.
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/manual/mnl_avalon_spec.pdf

Vielen Dank.
Vielleicht hat jemand eine Anregung oder eine Idee :D

von Tja (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Ich glaube, du stellst dir das zu einfach vor. Mein hinweis auf die vip 
suite wurde, warum auch immer, gelöscht. Ich denke, dass das was ein 
moderator nicht kennt grundsätzlich gelöscht wird. Einfacher als mit der 
vip suite wirds nicht 
(https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_vip.pdf).

von Geldesch B. (Firma: haa) (dravr)


Bewertung
0 lesenswert
nicht lesenswert
Tja schrieb:
> Ich glaube, du stellst dir das zu einfach vor. Mein hinweis auf die vip
> suite wurde, warum auch immer, gelöscht. Ich denke, dass das was ein
> moderator nicht kennt grundsätzlich gelöscht wird. Einfacher als mit der
> vip suite wirds nicht
> 
(https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_vip.pdf).

Danke vor allem für das nochmal posten..
Werde ich mir näher anschauen ! :D
Es muss ja nicht einfacher werden. Es muss einfach nur werden xD

(grade auch noch mal drauf gestoßen vip 
...Youtube-Video "Simplify Video Processing with IP Cores and Low-Power FPGAs")

Jetzt habe ich etwas gesehen wo ein einzelne Pixel eingegangen wird.. : 
https://www.fpga4fun.com/HDMI.html

Wenn die HDMI driver als Module laufen könnte ich doch seine Signale per 
PIO mit dem Avalon verbinden..und mit dem Nios Daten übertragen... ?

: Bearbeitet durch User

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.

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