mikrocontroller.net

Forum: FPGA, VHDL & Co. (X)ADC daten an UART schicken


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.
Autor: Renate (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Martin O. (ossi-2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Renate (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Renate (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielen Dank!!!

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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