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
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
In diesem Thread Beitrag "CDC für xmega" hat ein freundlicher Kollege seinen Code für ein CDC-Device auf einem ATxmega32A4U zur Verfügung gestellt. Grüßle Volker
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...
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
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.