AT90USB1287 Virtual COM Port

Gast #1530018
Lesenswert?
• ▲
▼
Hallo zusammen.

Ich versuche gerade meinem AT90USB1287 beizubringen dass er über seinen 
integrierten USB Controller einen virtuellen COM zur Verfügung stellen 
soll.
Hab mich da mal durch verschiedene Seiten im Inetz gelesen und diverses 
ausprobiert. Unteranderem die CDC Demo von Atmel.
Aber es läuft nicht.
Erst mal grundlegende Fragen :-)
- Was muss auf dem µC vorhanden sein, damit CDC funktioniert?
- Muss auf dem µC der USB Bootloader drauf sein?
- Gibt es Treiber für den "AT90USB128 DFU" für Win 7 64bit ?

Fragen über Fragen
Hoffe mir kann geholfen werden

Vielen Dank im Vorraus
#1647446
Lesenswert?
• ▲
▼
Moin!

Den Bootloader "merkt" man im normalen Betriebs-Modul überhaupt nicht 
... er ist nur das allererste, was an Programm-Code abgearbeitet wird, 
wenn der uC des Reset-Zustand verlässt.
Du kannst Ihn für die ersten Geh-Versuche getrost überschreiben.

Den brauchst Du also nicht, um USB-Verbindung zu bekommen.

Wenn Du das Applikationsveispiel von Atmel genommen hast ... die haben 
da eins, das gibt die USB-Daten auf dem UART aus und umgekehrt.
Das hat bei mir relativ schnell funktioniert.

Nutzt Du Windows oder Linux als Host-PC?
Unter Windows musst Du noch eine *Inf-Datei an Win weitergeben, damit 
dieses weiß, dass es den Standard-CDC-Treiber für dieses USB-Device 
verwenden soll.

Linux erkennt sofort unter /dev ein neues Gerät. Hier kann man auch mit 
lsusb anzeigen lassen, was gerade alles an USB-Geräten gefunden wird - 
selbst wenn dafür keine Treiber installiert sind.

Ansonsten geht die App-Note von Atmel davon aus, dass Du einen 
12MHz-Quartz verbaut hast und stellt die PLL entsprechend ein ... wenn 
das bei Dir nicht so ist, bau einen 12 oder 16MHz Quartz ein. Bei 16 
musst natürlich nochmal das PLL-Verhältnis einstellen.

Atmel liefert zu seiner App-Note so eine Art Mini-Betriebssystem, bei 
dem der Reihe nach Tasks Rechenzeit bekommen. Das musst Du nicht 
unbedingt übernehmen, es reicht, die jeweiligen USB  Watchdog  etc. 
Routinen immer mal zyklisch aus Deinem Hauptpogramm aufzurufen.

Für die ersten Schritte würd ich es aber einfach so machen:
- App-Note 1:1 übernehmen
- eventuell alles, was nicht STK500-kompatibel ist, auskommentieren 
(z.B. LED-Ansteuerung an IO-Ports)
- und draufspielen

Wie sieht denn Deine Hardware aus? Selbst gebaut oder ein Eval-Board?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.