Einfache Datenübertragung mit XMega über USB?

Gast #3203411
Lesenswert?
• ▲
▼
Hallo,

ich habe mir ein Board gebaut, dass über den ADC des xMega Werte 
einliest und diese auf einem Display anzeigt. Beim Design hatte ich 
zusätzlich einen USb Anschluss vorgesehen, um die Daten zusätzlich am PC 
auswerten zu können und um auf eine extra Spannungsversorgung verzichten 
zu können. Deswegen auch kein UART...

Der verwendete xMega ist ein ATXMEGA32A4U.

Grundsätzlich habe ich den USB Anschluss nach der Atmel AppNote 
angeschlossen. Stromversorgung funktioniert. Allerdings bin ich vorher 
davon ausgegangen, dass das ganze etwas trivialer ist.

Ist es grundsätzlich möglich über diesen USB Anschluss einfache 
Sensordaten zu übertragen? Ich habe schon nach Beispielprojekten 
gesucht, aber das geht ja weit über meine Bedürfnisse hinaus (Audio, 
Maus, tastatur, usw).

Die ASF Examples in AtmelStudio 6.0 bin ich auch schon einmal 
durchgegangen, aber ich kann nichts für meine Bedürfnisse finden.

Kann mir jemand ein einfaches Beispielprojekt zeigen oder die 
grundsätzlichen Schritte nennen, um USB zum laufen zu bekommen?

Ich möchte USB in Low Speed betreiben. System Clock ist 2MHz, habe das 
auch als Quelle für die PLL ausgewähltund über Faktor 3 komme ich auf 
die geforderten 6MHz für Low Speed USB (in der Theoreie) zumindest.
Die USB Register habe ich mir auch genauer angeschaut und genau hier 
komme ich ins Stocken... Ich hatte gehofft hier einfach 2 Byte Register 
zu haben in die ich meine Daten reinschieben kann und irgendein Flag 
zeigt mir dann an, wenn es fertig ist. Ist aber nicht so, richtig?

Über jede Art von Hilfe wäre ich euch dankbar.

Beste Grüße, Markus
Gast #3203422
Lesenswert?
• ▲
▼
> Ist aber nicht so, richtig?
Ja ist nicht so !
Aber wenn du es konfiguriert hast brauchst du eigentlich nur in den 
richtigen Endpoint reinzuschreiben oder herauszulesen.
Auf der PC Seite eigentlich auch, aberdort wird dir der Direkte Zugriff 
vom Betriebssysztem blockiert und wenn man sich keinen Treiber schreiben 
will benutzt man Device Classes für die Windows schon Treiber hat und in 
denen auch die Endpoints usw. definiert sind. Dann mußt du "nur" auf der 
µC Seite den USB Controller entsprechend konfigurieren.
#3203465
Lesenswert?
• ▲
▼
USB und "einfach" schließen sich gegenseitig aus.
Deshalb sieht man es sehr oft, daß USB als COM-Port getunnelt wird.
Ich hatte mal nen Surf-Stick, der hat beim Einstecken erstmal 4 COMs 
aufgemacht.
Auch viele andere USB-Geräte lassen im Gerätemanager ne neue COM 
erscheinen.
Den USB als COM zu tunneln, scheint wohl auf PC-Seite das einfachste zu 
sein.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.