Hallo, ich stehe ganz am Anfang eines Projekts und möchte gerne mit einem FPGA Daten von einem AD-Wandler abholen und über UART an den PC schicken. Jetzt überlege ich was ich alles brauche um diese Kette zu realisieren, hab vorhe rnoch nie mit einem AD-Wandler gearbeitet. Auf meinem Board ist ein Xilinx chip der über einen integrierten (X)ADC (Xilinx AD-Wandler) verfügt. Die Beispiele die ich für diesen AD-Wandler finde sind eigentlich alle mit der einer Serie vom Hersteller gebaut, die eine CPU mit auf dem Chip hat. Ich habe bei mir "nur" einen FPGA, ohne CPU und dachte erst auch nicht, dass ich für diese Kette ADW->...->UART->PC eine CPU brauche.. Ich könnte natürlich eine Softcore CPU implementieren. Ist das wirklich nötig/sinnvoll/"macht man das so?" Danke!
Kann man machen, muss man aber nicht. Ist ohne CPU auch nicht sehr schwer sobald man weiß wie man den XADC verwendet. Ich habe das mit dem DRP gemacht, das ist deutlich einfacher als AXI. Aber der ADC liefert schneller Daten als der UART senden kann. Es ist also sinnvoll Speicher im Fpga zu verwenden um samples zwischenzuspeichern. Also mit dem ADC schnell messen und samples in den schnellen RAM schreiben, dann die Daten langsam über UART raussenden. Und wieder neue samples aufnehmen. Geht natürlich nur wenn man nicht durchgehend Messwerte braucht. Sonst müsste man die samplerate runtersetzen.
Vermutlich musst Du pro ADC -Sample mehrere Bytes seriell senden. Eventuell willst Du sogar lesbare Dezimalwerte senden, dann must Du noch ne Binaer->Dezimal_>ASCII Conversion implementieren. Das alles ist eventuell mit einem Softcore am einfachsten zu machen.
Vielen Dank für die Antworten! Das ist sehr richtungsweisend und sagt mir schonmal worauf ich besonders achten muss :) Gustl B. schrieb: > sobald man weiß wie man den XADC verwendet. Ich habe das mit dem > DRP gemacht, das ist deutlich einfacher als AXI. Ich hab mir das angeschaut und stehe mit der Eingabe für daddr_in[6:0] auf dem Schlauch. In der Doku heißt es da nur "Address bus for the dynamic reconfiguration port." Woher weiß ich jetzt welche Adresse ich da übergeben soll bzw welche Adresse mein Channel hat?
Das steht ebenfalls im Datenblatt. Hier https://www.xilinx.com/support/documentation/user_guides/ug480_7Series_XADC.pdf auf Seite 36 ist die Übersicht. Welche Adresse du braucht hängt davon ab wie du den XADC konfigurierst.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.