Ich habe dieses Artix-System erstanden und suche Anwendungsbeispiele und
Anwender, möchte aber den thread nicht zuspammen:
Beitrag "[V] Xilinx Artix-7 A200T AC701 FPGA Eval Kit"
Ich würde gerne den Video-Chip aktivieren, stehe aber etwas auf dem
Schlauch. Kennt jemand ein Ref-Design? Auch mit dem DDR Ref Design habe
ich ein Problem. Es gibt zwar eines von AVNET aber es portiert sich
nicht in die neuere Vivado. Ist von 2015.
Artix schrieb:> Es gibt zwar eines von AVNET aber es portiert sich> nicht in die neuere Vivado. Ist von 2015.
Dann würde ich es mit der Vivado-Version probieren, mit der es erstellt
wurde. Gerade wenn viele IP-Cores genutzt werden (und bei
Referenz-Designs ist das i.d.R. so, da sie schnell fertig sein müssen),
knirrscht es oft, wenn man auf eine neuere Version wechseln will.
Duke
Wenn du ein Microblaze System aufziehen willst, dann kannst du dir das
einfach im Vivado zusammenstellen. Vivado kennt das Board und du kannst
einfach im IP Integrator die gewünschten Features auswählen. Das geht
wirklich geschmeidig, daher nehme ich das AC701 selbs gerne für
Projekte.
Beim Video Chip gibt es eigentlich nichts spezielles zu beachten.
Paralleles Video drauf und ab die Post. :-)
Duke Scarring schrieb:> Dann würde ich es mit der Vivado-Version probieren, mit der es erstellt> wurde.
Ich würde sehr ungern eine alte Version auf die Platte werfen, nur um
ein Projekt zu nutzen. Dann lieber neu.
Ich stehe ohnehin vor dem Problem, kein REF Design für das Video zu
haben, da ich mich damit nicht auskenne.
Tobias B. schrieb:> Beim Video Chip gibt es eigentlich nichts spezielles zu beachten.> Paralleles Video drauf und ab die Post. :-)
Das klingt nett. Was versteht man unter "parallelem Video" und wie
bekomme ich das in meine Schaltung?
Muss ich dazu das Konfigurationstool des 701 verwenden?
Artix schrieb:> as klingt nett. Was versteht man unter "parallelem Video" und wie> bekomme ich das in meine Schaltung?
Das sind einfach die 24bit pro Pixel verteilt auf 24 Datenlanes, dazu
noch H/Sync Data Enable und die Pixel Clock. Einfach danach suchen und
mal das Datenblatt des ADV7511 anschauen. Das ist selbst erklärend.
Artix schrieb:> Muss ich dazu das Konfigurationstool des 701 verwenden?
Das kommt darauf an was du machen willst. Entweder du entwickelst das in
VHDL oder du verwendest passende AXI Module (da könnte im IP Katalog
etwas passendes dabei sein) zum Zusammenklicken. Oder das Mittelding: Du
entwickelst ein AXI Modul in VHDL, dann kannst du das später im IP
Integrator zusammenklicken. ;-)
Tobias B. schrieb:> Das sind einfach die 24bit pro Pixel verteilt auf 24 Datenlanes
Das sind sogar bis zu 32 Bit pro Farbe und damit 35 Leitungen möglich.
Jürgen S. schrieb:> Tobias B. schrieb:>> Das sind einfach die 24bit pro Pixel verteilt auf 24 Datenlanes> Das sind sogar bis zu 32 Bit pro Farbe und damit 35 Leitungen möglich.
Wenn ich mich richtig erinnere, dann kann der Chip 36 Bit pro Pixel,
aber es sind auf dem AC701 nur die 3x8 MSBs zum FPGA geroutet.
Tobias B. schrieb:> Wenn ich mich richtig erinnere, dann kann der Chip 36 Bit pro Pixel,> aber es sind auf dem AC701 nur die 3x8 MSBs zum FPGA geroutet.
Das kann sein. Für normale Anwendungen reicht das ja auch. Sicher wollte
man Leitungen sparen. Das ist ja das Problem bei den boards. Beim Altys
und Nexys z.B. hat man wohl auch aus dem Grund komplett auf die Chips
verzichtet und nur einen TMDS-Buffer spendiert. Verkompliziert das
Design im FPGA und verbrät leider Chip-Fläche.
Tobias B. schrieb:> Das sind einfach die 24bit pro Pixel verteilt auf 24 Datenlanes, dazu> noch H/Sync Data Enable und die Pixel Clock. Einfach danach suchen und> mal das Datenblatt des ADV7511 anschauen. Das ist selbst erklärend.
Die Funktionen sind an sich schon erklärend, wenn gewusst wird, wie man
sie einsetzt. Was ich aber noch nicht genau kenne ist was ich alles
belegen muss. und wie. Wie z.B. bekomme ich die Daten in die Register?
Laut Datenblatt muss das mit i2C-Bus erfolgen.
Artix schrieb:> Tobias B. schrieb:>> Das sind einfach die 24bit pro Pixel verteilt auf 24 Datenlanes, dazu>> noch H/Sync Data Enable und die Pixel Clock. Einfach danach suchen und>> mal das Datenblatt des ADV7511 anschauen. Das ist selbst erklärend.> Die Funktionen sind an sich schon erklärend, wenn gewusst wird, wie man> sie einsetzt. Was ich aber noch nicht genau kenne ist was ich alles> belegen muss. und wie. Wie z.B. bekomme ich die Daten in die Register?> Laut Datenblatt muss das mit i2C-Bus erfolgen.
Also der Chip läuft out-of-the-box ohne irgendwelche Daten in I2C
Register zu laden (zumindest für reines Video ohne Audio, HDCP und
ähnliche Features). Du kannst mal in den ADV7511 Programming Guide
reinschauen. Da siehst du die ganzen Default Register und auch, dass der
Default Mode RGB 4:4:4 Video ist. Timings werden über die Sync Signale
Chip-intern generiert.
Am besten du schaust auch mal in den Schaltplan vom AC701:
https://www.xilinx.com/support/documentation/boards_and_kits/artix-7/ac701-schematic-xtp218-rev1-0.pdf
Auf Seite 18 ist der Chip. Der hat auf der linken Seite die ganzen Video
Leitungen, H/V-Sync, Data Enable und die Pixelclock. Die Pixelclock
gibst du über einen ODDR Buffer aus, die anderen Signale sind straight
forward.
Unsere Praktikanten haben immer als erste Aufgabe bekommen, eine
Graurampe aus dem Chip auf einen DVI Monitor darzustellen. Das ist mit
dem Chip nur minimal schwieriger und aufwändiger als eine LED auf dem
Board zum Blinken zu bekommen.
Ich kann dir auch nur empfehlen das ganze erstmal ohne das ganze AXI
Gedöns zu probieren. Und ruhig selbstbewusst an die Aufgabe rangehen.
Tobias B. schrieb:> Vivado kennt das Board und du kannst> einfach im IP Integrator die gewünschten Features auswählen.
Was bedeutet das konkret, dass die SW "das board kennt"?
Ich nehme an, dass die IO-Pinzuordnung automatisch erledigt werden kann
und auch constraints gesetzt werden?
Kann sie dann auch die benötigte Ansteuerungssoftware für die
Komponenten bereitstellen? Also UART, USB, DDR und das besagte VIDEO?
Michel schrieb:> Ich nehme an, dass die IO-Pinzuordnung automatisch erledigt werden kann> und auch constraints gesetzt werden?
Exakt.
Michel schrieb:> Kann sie dann auch die benötigte Ansteuerungssoftware für die> Komponenten bereitstellen? Also UART, USB, DDR und das besagte VIDEO?
Auch das geht, nur leider ist das besagtes Video nicht mit dabei. Was
dabei ist, ist UART, DDR3, I2C, Buttons / LEDs, Clocks und Ethernet
(siehe Anhang).
Da der ADV7511 jedoch nur parallel Video erwartet, haelt sich der
Aufwand mehr als in Grenzen.
Oder was du auch machen kannst: Du erstellst ein leeres Projekt und
instanzierst einen Video Test Pattern Generator. Dann einmal Rechtsklick
drauf machen und "Open IP Example Design". Dann hast ein komplettes
Design inkl. HDMI Output fuers AC701. Auch die SDK Sourcen werden
mitgeliefert, lohnt sich auf alle Faelle da mal einen Blick
reinzuwerfen.
Kleiner Nachtrag: Ist doch kein SDK Teil dabei, weil das Beispiel keinen
Microblaze instanziert.
Noch ein Nachtrag: Leider macht das Beispiel doch kein Design fuers
AC701 Board, sondern nur ein Simulationsmodell. :-(
Tobias B. schrieb:> Auch das geht, nur leider ist das besagtes Video nicht mit dabei.
Hallo Tobias, danke für deine Antwort.
Solch ein Block-Example hatte ich auch schon probiert und das fehlende
Video-Wandel-IC war mit der Grund meiner Frage. Ist bekannt, warum das
ausgespart wurde?
UART wäre prima. Ich habe UARTs in C und VHDL, würde hier aber C
bevorzugen, weil das Ping-Pong-Protokoll zum ARM sehr kompliziert und
auch noch nicht fertig ist. Wenn es da fertige Sachen gibt, wäre das
super.
Das Video wäre gedacht zum Anzeigen der Daten. Im custom-pcb kommen die
dann über LVDS. Ich deinem Ratschlag gefolgt und habe den Testgenerator
aus den IP-Vorlagen eingebaut. Aber so richtig weiter komme ich damit
noch nicht. Wie muss der angeschlossen werden? Dafür ist wohl doch ein
AXI-Master vorgesehen. Der müsste irgendwo her kommen. Also ein
Microblaze?
Die Ausgangsdaten und Steuersignale müssten auch auf die richtigen
Ausgänge geführt werden. Die erkenne ich aber nicht in dem Interface.(?)
Hallo Michel,
genau, ein Microblaze ist dafuer die geeignete Wahl. Das ist auch
relativ easy zu handhaben und bei Problemen/Fragen steht dir hier ein
ganzes Forum zur Seite. :-)
Michel schrieb:> Solch ein Block-Example hatte ich auch schon probiert und das fehlende> Video-Wandel-IC war mit der Grund meiner Frage. Ist bekannt, warum das> ausgespart wurde?
Warum das so ist, kann ich leider nicgt sagen. Da der ADV7511 aber nur
ein parallel Video verlangt, ist das auch kein Hexenwerk. Einfach einen
Axi Stream to Video Out Konverter ins Blockdiagram einbauen und dessen
Ausgang an die ADV7511 Ports haengen. Was du auch noch brauchst ist ein
Timing Generator und eine 148.5 MHz Clock (fuer FullHD Video).
Ich hab das Board leider nicht hier, sonst haette ich dir mal schnell
ein Beispiel zusammengeklickt.
Michel schrieb:> Das Video wäre gedacht zum Anzeigen der Daten. Im custom-pcb kommen die> dann über LVDS. Ich deinem Ratschlag gefolgt und habe den Testgenerator> aus den IP-Vorlagen eingebaut. Aber so richtig weiter komme ich damit> noch nicht. Wie muss der angeschlossen werden? Dafür ist wohl doch ein> AXI-Master vorgesehen. Der müsste irgendwo her kommen. Also ein> Microblaze?
Genau, oder du kannst den JTAG to AXI Master nehmen. Dann kannst auch
eifnach ueber JTAG ein bisschen rumspielen und brauchst nicht gleich
nenn ganzen Microblaze nehmen.
Michel schrieb:> Die Ausgangsdaten und Steuersignale müssten auch auf die richtigen> Ausgänge geführt werden. Die erkenne ich aber nicht in dem Interface.(?)
Welche Daten und Steuersignale meinst du genau? Meinst du hier immer
noch den ADV7511? Da lohnt sich auch mal ein Blick ins Schematic, nicht
alle Features vom ADV7511 werden vom FPGA auch bedient!
Hallo nochmals, ich meinte die Steuersignale z.B: für die
Synchronisation.
Ich habe das Demonstrationsbeispiel für den Mustergenerator aufgebaut.
Das werde ich versuchen, einzubauen.
Erster Eindruck: Es sieht überraschend groß aus nach meinem Geschmack.
Ungewöhnlich finde ich die zwei Testgeneratoren in Serie und noch einen
zusätzlichen Timinggenerator, sowie noch einen weiteren Videogenerator.
Ich nehme an, den meinst du. Braucht man das alles?
Die Daten und Signale am Videogenerator sehen i.O. aus und lassen sich
auch mit den Pins vom Wandel-IC in Zusammenhang bringen. Kann ich den
vtg auch alleine nehmen?
Microblaze ist tatsächlich keiner dabei und den brauche ich z.B. für die
Kommunikation mit meinem Hauptsystem (ARM) über UART. Leider ist es mir
noch nicht gelungen, Sourcen für die UART und für den Testgenerator zu
finden. Die müssten ja angepasst werden.
>Leider macht das Beispiel doch kein Design fuers> AC701 Board, sondern nur ein Simulationsmodell.
Wie meinst du das? Kann ich das nicht bauen lassen?
Michel schrieb:> Erster Eindruck: Es sieht überraschend groß aus nach meinem Geschmack.> Ungewöhnlich finde ich die zwei Testgeneratoren in Serie und noch einen> zusätzlichen Timinggenerator, sowie noch einen weiteren Videogenerator.> Ich nehme an, den meinst du. Braucht man das alles?
Den zweiten Testbild Generator brauchst du zum Glueck nicht, ich denke
der ist nur zur Demo des Bypass Modes in dem Beispiel mit drinnen. Was
du aber zwingend brauchst ist der Timing Generator, ohne den geht es
nicht.
Um nur den ADV7511 in Betrieb zu nehmen, wuerde ich auch nicht den Weg
ueber ein grosses Blockdesign gehen. Da nehme ich in der Regel etwas
super einfaches, siehe Anhang.
Michel schrieb:> Microblaze ist tatsächlich keiner dabei und den brauche ich z.B. für die> Kommunikation mit meinem Hauptsystem (ARM) über UART. Leider ist es mir> noch nicht gelungen, Sourcen für die UART und für den Testgenerator zu> finden. Die müssten ja angepasst werden.
Den UART kannst ja einfach aus dem IP Katalog hinzufuegen. Die AXI
Connection uebernimmt dann der Wizard fuer dich (auch wenn der manchmal
Quatsch macht).
Michel schrieb:> Wie meinst du das? Kann ich das nicht bauen lassen?
Nur teilweise. Ich meine das Beispiel hat einen AXI Master (in System
Verilog geschrieben) der nicht synthetisierbar ist. Musst du mal
ausprobieren, ich hab mich jetzt auch nicht naeher mit dem Beispiel
befasst. Im Zweifel tauschst du einfach diesen sim-only AXI Master durch
den JTAG to AXI Master IP aus.
So, also die Schaltung wird gebaut, es gibt aber schon beim
Demo-Beispiel Probleme mit dem timing. Einen 148,5 MHz Takt habe ich
angeschlossen.
Ich habe alles mit weiteren FlipFlops versorgt und anders synthetisieren
lassen und dann ging es. Ein Bild habe ich aber immer noch nicht.
Auffallend ist, dass einige Signale (auch Eingänge!) nicht angeschlossen
sind, was aber beim Validate / Checken nicht angemeckert zu werden
scheint. Jemand eine Idee, ob das auch so geht?
Tobias B. schrieb:> Da lohnt sich auch mal ein Blick ins Schematic, nicht> alle Features vom ADV7511 werden vom FPGA auch bedient
Angesehen und die nächste Frage: Wie bediene ich die HDMI_INT und
HDMI_HEAC? Und wozu ist der 12.000 MHz Takt? Direkt dort kommt SPDIF
heraus.
Tobias B. schrieb:> Den zweiten Testbild Generator brauchst du zum Glueck nicht, ich denke> der ist nur zur Demo des Bypass Modes in dem Beispiel mit drinnen.
Das hatte ich mir schon gedacht, aber der Rest ist mir nicht so klar.
Hast du auch die entsprechenden Register schon gesetzt, damit Timing
Generator, parallel Video Konverter und Testbild Generator korrekt
arbeiten?
Idealerweise einfach mal die mitgelieferte Simulation laufen lassen und
schauen was da genau passiert.
Wie gesagt, ich hab leider das AC701 nicht hier, sonst haette ich mal
schnell schauen koennen wo die Probleme liegen. Im Zweifel nimm erstmal
den VHDL Code den ich oben gepostet habe, schliess ne 148,5 MHz Clock an
und du solltest zumindest mal irgendein Video bekommen.
Tobias B. schrieb:> Ich meine das Beispiel hat einen AXI Master (in System> Verilog geschrieben)
Wo finde ich den wieder? In der Verifikation IP?
Ich glaube ich werde auch erst einen einfachen Generator nehmen.
Tobias B. schrieb:> Den UART kannst ja einfach aus dem IP Katalog hinzufuegen. Die AXI> Connection uebernimmt dann der Wizard fuer dich (auch wenn der manchmal> Quatsch macht).
Den UArt habe ich automatisch bekommen, als ich die Funktion ins Fenster
gezogen hatte. Ich habe aber gesehen, dass der nur 1 Stoppbit kann.
Nicht gut. Ausserdem brauche ich erst den Master mit dem MicroBlaze.
Danke fürs Erste
Leider sehe ich nach wie vor kein Bild. Auch nicht mit dem einfachen
Generator. Monitor sagt: "kein Signal".
ILA-Debugger zeigt:
148,500 MHz Takt läuft, clock locked is high, HS, VS, DE sind da und
sehen normal aus. Daten kommen auch.
Was muss an dem Chip noch aktiviert werden? Außer HDMI_INT gibt es nur
die Audio SPDIF Ports.
UART Signale sehe ich. Meine VHDL-Uart ist auch ansprechbar.
Nur der Debug spinnt und will einige Signale (Taster z.B.) nicht
einfügen:
Beitrag "Re: ILA-Signale können nicht gebaut werden"
Na toll, dann mache ich mich mal auf die Suche. I2C-Controller habe ich.
Was mir noch aufgefallen ist: Im Schaltplan des AC701 ist HPD (Pin 30)
angeblich mit einem HEAC_C_N verdrahtet. HEAC taucht rechts nochmals
auf.
Ist das nur ein Beschreibungsfehler oder soll das so sein? Wie
funktioniert das? Kommt das Signal dann irgendwie vom Stecker?
Laut der Beschreibung des ADV75 soll HPD auf 1 liegen, wenn der Chip
bootet / gepowert wird. Wie stelle ich das sicher? Den habe ich nicht
zur Verfühung am FPGA.
Designfehler?
Ich habe jetzt alles probiert, von Kabel stecken vor/nach boot neu
booten mit PROGB und auch Strom ein/aus.
----------------------------------------------------------------------
Hätte jemand zufällig ein BIT File, mit HDMI Testbild, das ich ohne
Compilierung oder Programmierung direkt reinladen kann um zu
verifizieren, dass das board überhaupt geht?
Das BISt kann offenbar kein Video (warum wohl?)
Ich brauche zwar das HDMI nicht sofort, aber mittelfristig schon eine
Möglichkeit der Ausgabe und eine externe Videokarte am FMC kann ich
nicht verwenden, weil dort die ADC-Karte drin steckt und auch die
meisten Pins belegt.
Ich würde also zeitnah wissen wollen, ob der Ausgang geht. Sonst geht
das nämlich zurück!
Ich habe das Board auch nicht. Um HDMI zu testen würde ich das mal ohne
Blockdesign selber schreiben. Gibt ja genügend Beispiele. Der Externe
Video Stein vereinfacht das sogar deutlich.
Ich kann mich morgen mal hinsetzen und rein nach Datenblatt ein
Minimalbeispiel schreiben.
Bei der Fehlersuche könntest du gucken ob die den IOs zugeordneten Pins
korrekt sind und auch mal messen ob die Signale zum Video IC gehen.
Michel schrieb:> Ich würde also zeitnah wissen wollen, ob der Ausgang geht. Sonst geht> das nämlich zurück!
Der HDMI Videoausgang geht definitiv, bei meinem letzten Arbeitgeber
hatten wir den in Betrieb.
Michel schrieb:> Was mir noch aufgefallen ist: Im Schaltplan des AC701 ist HPD (Pin 30)> angeblich mit einem HEAC_C_N verdrahtet. HEAC taucht rechts nochmals> auf.>> Ist das nur ein Beschreibungsfehler oder soll das so sein? Wie> funktioniert das? Kommt das Signal dann irgendwie vom Stecker?
Das ist das Hotplug Signal vom HDMI Stecker.
Gustl B. schrieb:> Ich habe das Board auch nicht. Um HDMI zu testen würde ich das mal ohne> Blockdesign selber schreiben.
In dem Fall ist es mit Blockdesign wahrscheinlich einfacher, weil man
dann die I2C Register einfach im Microblaze runterrattern kann.
@Michel:
Wenn du mir das Board zuschickst, kann ich dir mal ein Minimal Beispiel
erstellen.
Das ist nett, allerdings scheint es wirklich an der Config zu liegen.
Der VHDL-Core läuft nämlich auf einem anderen board korrekt, außerdem
kann ich das Zählen der H und V Counter sowie Synch ja im ILA sehen. Das
stimmt alles.
Die Pin-Anordnung habe ich aus einem Beispiel entnommen und kopiert. Da
es nicht lief, habe ich alle nochmals einzeln mit der Doku abgeglichen
(im 701-Guide ist eine Liste). Das passt alles und stimmt überein.
Taktausgang über ODDR, Daten SDR 8x3 Bits, Data Enable kommt auch. Der
Chip ist nicht konfiguriert oder kaputt.
Inzwischen habe ich die Doku durchgelesen. Da gibt es eine Seite "Quick
Setup" mit gefühlt 50 I2C-Parametern, die man mal eben schnell schreiben
soll, damit es läuft. Daran wird es liegen. Ich habe vor einiger Zeit an
einem anderen board eine DVI-Karte angeschlossen, die aber einen
ähnlichen CHIP benutzt hat. Der wurde mit einem mitgelieferten
MicroBlaze angesteuert. Ohne den tat sich da auch nichts.
Die obere Antwort bezog sich auf Gustel
Tobias B. schrieb:> Der HDMI Videoausgang geht definitiv, bei meinem letzten Arbeitgeber> hatten wir den in Betrieb.
Das glaube ich, nur könnte ja mein board trotzdem einen Fehler haben.
Tobias B. schrieb:> In dem Fall ist es mit Blockdesign wahrscheinlich einfacher, weil man> dann die I2C Register einfach im Microblaze runterrattern kann.
Das muss aber auch geschrieben werden, weil es dafür ja kein Demo gibt.
Dann kann ich es auch von Außen machen.
Tobias B. schrieb:> Wenn du mir das Board zuschickst, kann ich dir mal ein Minimal Beispiel> erstellen.
Wäre machbar, nur wird das Dingens ja gebraucht und ich kann es momentan
nicht abgeben. Ich schaue mal ob ich aus anderer Quelle auf die Schnelle
etwas finde.
Ja naja ... wenn man das mit den Registern weglässt dann ist das sehr
wenig VHDL.
Eigentlich sollte man auch keine Register beschreiben müssen wenn der
Chip ordentliche Defaults hat.
Außerdem:
Was ist das mit den 4 Register maps?! Sitzt da in dem Stein noch ein i2c
switch oder was auch immer drinnen? Das hätte man auch alles als eine
große registertabelle bauen können. Das liest sich zumindest recht
umständlich.
Ich würde erstmal gucken was aus dem FPGA raus und beim ADV511 ankommt.
Wurden die IOs richtig zugeordnet in der .xdc?
Markus F. schrieb:> Artix schrieb:>> Ein Nachtrag noch. Das hier ergab die Suche:>> Beitrag "Re: I2C Bus mit ADV7183B">> Ich brauche demnach einen i2C-Controller am/im FPGA?> So isses.
Hallo Markus und Artix, hat einer von euch beiden das ausprobiert und
hatte Erfolg?
Gustl B. schrieb:> Ich würde erstmal gucken was aus dem FPGA raus und beim ADV511 ankommt.
Habe ich, das stimmt.
> Wurden die IOs richtig zugeordnet in der .xdc?
Hatte ich geschrieben, ja, die stimmen.
Gustl B. schrieb:> Eigentlich sollte man auch keine Register beschreiben müssen wenn der> Chip ordentliche Defaults hat.
Das Problem sind nicht die Default Werte, sondern dass der halt eine
ganze Startup Prozedur hat. Das ist nichts ungewoehnliches fuer ein IC,
leider in diesem Fall etwas nervig.
Michel schrieb:> Tobias B. schrieb:>> In dem Fall ist es mit Blockdesign wahrscheinlich einfacher, weil man>> dann die I2C Register einfach im Microblaze runterrattern kann.> Das muss aber auch geschrieben werden, weil es dafür ja kein Demo gibt.> Dann kann ich es auch von Außen machen.
Gefuehlt ist es mit einem Block Design schneller, als einen I2C Master
zu schreiben. Ich persoenlich wuerde auch kein Block Design fuer einen
kurzen Test nehmen, aber auch nur weil ich ein I2C Master habe, dann ich
relativ einfach konfigurieren kann und der auch nichts anderes macht als
eine Liste von Registern runterzurattern. Leider kann ich den nicht
einfach rausruecken. :-(
Gut, um i2c kommst du nicht herum. Der chip hat zwar für viele Register
defaults, will aber nach dem Start trotzdem mit anderen werten
beschrieben werden.
Wieso macht man das? 0x98 ist default 0x0B soll aber 0x03 geschrieben
werden. Ich fände das ja verständlich wenn alle Register nach dem Reset
auf 0x00 stünden, aber defaults die dann immer mit dem selben wert
überschrieben werden müssen?
Egal, table 14 ist wohl das minimum was du beschreiben musst.
Edit:
Ja mit i2c würde ich auch ein Blockdesign nehmen. Die chips die ich
bisher verwendet habe hatten, z.b. ad9650, oft auch eine Schnittstelle
zu den Registern, aber eigentlich immer sinnvolle defaults oder waren
über Pins konfigurierbar. Da musste man die Schnittstelle nicht anfassen
wenn man mit einer standardfunktionsweise zufrieden war.
Gustl B. schrieb:> Ja mit i2c würde ich auch ein Blockdesign nehmen. Die chips die ich> bisher verwendet habe hatten, z.b. ad9650, oft auch eine Schnittstelle> zu den Registern, aber eigentlich immer sinnvolle defaults oder waren> über Pins konfigurierbar. Da musste man die Schnittstelle nicht anfassen> wenn man mit einer standardfunktionsweise zufrieden war.
Ja, die gibt es auch, z.B. der TFP410. Der ADV7511 ist halt eine echte
Waffe und deckt das ganze HDMI Spektrum mit allen Funktionen ab. In der
Regel hat man dann eh eine I2C Anbindung und einen Prozessor im System.
Die Gruende sind da nicht immer esichtlich, auf jedenfall ist nicht das
Ziel Basterler oder Prototyp Entwickler gluecklich zu machen, sondern
Kunden die in grossen Stueckzahlen einkaufen. Ich weiss nichtmal ob man
ohne HDMI Mitglied zu sein so einfach an den Chip kommt.
Tobias B. schrieb:> ADV7511 ist halt eine echte Waffe
Aber eine die nicht zu funktionieren scheint. Ich habe jetzt alle
Register-Defaults drin, so wie sie in der einen Seite in der Chip-Doku
beschrieben sind. Der Chip scheint auch auf I2C zu antworten, jedenfalls
sehe ich das ACK. Es tut sich aber trotzdem nichts.
Hätte jemand ein funktionierendes design als BIT, dass ich kurz
reinladen kann um zu schauen, oder de Chip geht?
Ich habe den Verdacht dass der einfach kaputt ist.
Tobias B. schrieb:> Ja, die gibt es auch, z.B. der TFP410
Habe ein Applikation überflogen. Der macht nur 1280x1024, oder?
Ich sehe bei dem, dass er auf "double edge" arbeitet, also so eine Art
DDR?
Kann es sein, dass auch der ADV7511 so beschossen werden muss?
Wenn das der Fall ist, könnte es ja sein, dass man das irgendwo noch
einstellen muss.
Michel schrieb:> Habe ein Applikation überflogen. Der macht nur 1280x1024, oder?> Ich sehe bei dem, dass er auf "double edge" arbeitet, also so eine Art> DDR?>> Kann es sein, dass auch der ADV7511 so beschossen werden muss?> Wenn das der Fall ist, könnte es ja sein, dass man das irgendwo noch> einstellen muss.
Beide Chips koennen jeweils SDR und bis FullHD.
Michel schrieb:> Hätte jemand ein funktionierendes design als BIT, dass ich kurz> reinladen kann um zu schauen, oder de Chip geht?
Leider hab ich kein Board zur Hand. :-(
Michel schrieb:> Ich habe den Verdacht dass der einfach kaputt ist.
Hmmm, hast mal mit nemm Oszi die I2C und parallel Video Signale
angeschaut? (Falls man ans parallel Video ueberhaupt rankommt)
Michel schrieb:> Der Chip scheint auch auf I2C zu antworten, jedenfalls> sehe ich das ACK. Es tut sich aber trotzdem nichts.
Kannst du die Register von dem Chip lesen? Ich baue das bei mir gerne
so, dass nach einem Schreibvorgang auch gleich ein Lesevorgang
stattfindet der überprüft, dass das auch wirklich im Register steht.