USB-Schnittstelle für Xmega A3BU

Gast #6019496
Lesenswert?

Hallo zusammen,

ich möchte mithilfe eines XmegaA3BU Xplained Board eine Spannung am DAC 
einstellen, dann ausgeben, diese mithilfe des ADCs messen und die Daten 
über USB an einem Terminalprogramm ausgeben.

Ich habe dasselbe mithilfe eines FTDI-Chips (USB-RS232 Converter) schon 
umgesetzt. Nun würde ich mir aber gerne den Chip sparen und direkt über 
USB die Daten an den PC senden.

Da ich leider Anfänger bin, komme ich selber nicht darauf. Ich habe in 
diversen Foren gelesen, dass es nicht so leicht ist, eine 
USB-Schnittstelle selber zu programmieren. Die Beispielprojekte die 
Atmel Studio bietet sind sehr umfangreich und für mich leider nicht 
verständlich.

Gibt es eine einfache Lösung, eine USB-Schnittstelle selber zu 
implementieren oder sollte ich doch lieber nicht auf den FTDI-Chip 
verzichten?

Vielen Dank für die Hilfe,
Dominik
#6019577
Lesenswert?

Was willst du jetzt genau hören? USB kann muss aber nicht komplex sein. 
In deinem Fall würde es reichen auf deinem Chip CDC zu implementieren. 
Ich bin sicher dass dafür auch für deinen Chip Beispiele existieren.
Ob du das als Anfänger hinbekommst kannst nur du beurteilen. Einen 
fertigen Wandler zu benutzen ist sicherlich einfacher.

Thomas
Gast #6019640
Lesenswert?

Dominik schrieb:

> Da ich leider Anfänger bin, komme ich selber nicht darauf. Ich habe in
> diversen Foren gelesen, dass es nicht so leicht ist, eine
> USB-Schnittstelle selber zu programmieren.

Das ist nunmal so. USB ist komplex. Sehr viel komplexer als eine doofe 
UART.

> Die Beispielprojekte die
> Atmel Studio bietet sind sehr umfangreich und für mich leider nicht
> verständlich.

Die sind eben deswegen so umfangreich, weil USB so komplex ist. Aber: 
der Hauptteil der Sache ist ja in den Beispielprojekten bereits fix und 
fertig. Du brauchst eigentlich nur noch an einer Stelle "andocken", um 
deine Daten über das vorhandene Konstrukt zu schieben.

> Gibt es eine einfache Lösung, eine USB-Schnittstelle selber zu
> implementieren

Nein.

> oder sollte ich doch lieber nicht auf den FTDI-Chip
> verzichten?

Wenn du ewig Anfänger bleiben willst, wäre das sicher der einfachste 
Weg.

Ansonsten musst du halt einfach nur eins tun: lernen. Am besten, indem 
du dir eine Vorstellung über die Konzepte von USB verschaffst. Hast du 
erst eine Vorstellung, wie das Protokoll funktioniert, findest du auch 
die Stellen im vorhandenen fertigen Code, an die du "andocken" musst...
#6019705
Lesenswert?

Kommt es Dir nur auf das Ergebnis an, oder willst Du unbedingt dein 
XMega-Board verwenden?

Wenn es Dir nur auf die Funktionalität ankommt - egal wie, dann gibts 
viele andere Wege.

Du könntest z.B. einen USB-zu-I2C Chip nehmen. z.B. den hier:
https://www.microchip.com/wwwproducts/en/MCP2221A

Der gibt Dir eine I2C-Schnittstelle, die Du vom PC aus steuern kannst. 
Bibliotheken sind auf der Webseite vorhanden. Und da kannst Du dann 
jeden I2C-Baustein anschließen, den Du willst. Z.B. diesen ADC
https://www.microchip.com/wwwproducts/en/MCP3221

und diesen DAC:
https://www.microchip.com/wwwproducts/en/MCP4726

Problem gelöst, aber auf eine ganz andere Weise.

fchk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren