Hallo zusammen,
ich würde gerne den AXI UART Lite IP von Xilinx verwenden. Diesen habe
ich im Vivado IP Catalog gefunden. Sowie ich das verstanden habe ist
dieser Block ein UART<->AXI Converter. Mit UART können doch nur 2
Teilnehmer miteinander kommunizieren oder? Deshalb frage ich mich ob ich
die Adressleitung vom AXI Interface weglassen kann? Wenn ich mir aber im
RTL die AXI Adressleitung genauer ansehe dann sehe ich das diese
verwendet wird. Sie läuft in einen address_decoder rein (siehe Anhang).
Ich frage mich wofür der gut sein soll.
Vielleicht könnt ihr mir da weiterhelfen. Danke
Grüße
Alex
Das ist kein standalone UART sondern ist als peripheral für ein
mikroblaze/ARM System konzipiert. Dieser µC kommuniziert über AXI
(AMBA-Weiterentwicklung)mit dem uart. Die Sdressleitungen wählen diverse
Register in dem UART aus, und blenden diesen in den Adressraum ein.
Wenn du keinen Mikroblaze/Zynq-ARM einsetzt brauchst du diesen UART-core
nicht.
Danke für die Antwort Mrs. MultiTask.
Mein Ziel ist es eigentlich diesen IP zu erweitern um eine AXI Stream
Schnittstelle. Ich möchte Daten vom UART lesen und an einen DMA
schicken. Dieser hat ein AXI Stream Interface. Erstmal möchte ich aber
verstehen wie dieser IP überhaupt funktioniert. Im Datenblatt habe ich
jetzt die möglichen Adressen gefunden(siehe Anhang). Verstehe ich das
richtig, dass wenn ich die Adresse 0h anlege, kann ich Daten die
empfangenen Daten auslesen?
Alex schrieb:> Verstehe ich das> richtig, dass wenn ich die Adresse 0h anlege, kann ich Daten die> empfangenen Daten auslesen?
Im Prinzip ja, allerdings solltest du vorher den Status checken ob auch
neue Daten drinstehen. Oder du benutzt XUartLite_RecvByte() (?) aus
xuartlite_l.h . Und natürlich ist 0x00h nur der Offset zur
Anfangsadresse des Uart-modules. Da mal ein Beispiel, sicher nicht das
beste, aber das was ich auf die Schnelle gefunden hab:
http://fileadmin.cs.lth.se/cs/Education/EDA385/HT06/doc/2004Group1_Final.pdf
Hallo, danke für das Beispiel. Werde ich mir noch ansehen. Da ich aber
in diesen IP noch eine AXIStream Schnittstelle einbauen möchte, muss ich
erstmal verstehen wie die bisherige AXI Lite Schnittstelle funktioniert.
Ich habe zunächst habe ich folgendes ausprobiert. Ich habe mir eine
Testbench erstellt die mir das Lesen und schreiben simulieren soll. Das
Schreiben geht(siehe auskommentiert) aber das Lesen leider nicht. Meine
Testbench sieht folgendermaßen aus:
Wenn ich das simuliere dann sehe ich das auf S_AXI_1_RDATA keine Daten
kommen(siehe Anhang). Das heisst irgendwas geht da schief beim lesen.
Kann du mir sagen was ich falsch gemacht habe? Danke