mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PC - USB - ATmega (ohne Extra-Treiber)


Autor: TomTom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,

ich suche eine Möglichkeit Daten vom PC über USB (CDC, HID???) auf den 
ATmega und zurück zu übertragen. Vor mir liegt aktuell ein ATMega32U4 
mit integrierter USB-Hardware, anderer AVR wäre möglich.

Wichtig ist mir:
- am besten keine Extra-Treiber (Windows) nötig, oder zumindest welche 
die "einfach funktionieren"
- Gerät eindeutig identifizierbar (das Gerät muss nicht meinen Namen 
tragen aber die verwendete Software/Script soll das USB-Gerät 
selbstständig finden können), wenn ich an mein USB-UART-Adapter (FTDI) 
denke, ist nach dem Anstecken mal COM7, oder COM8, wie's gerade Bock 
hat...
x Geschwindigkeit ist zweitrangig

Wenn ich Google und die Forum-Suche bemühe falle ich immer wieder über:
USB - FT232RL - ATMEGA
USB - ATMEGA mit Hardware-USB (Beispiel von Atmel)
USB - ATMEGA mit Firmware-USB (V-USB, LUFA)

Hier und da fällt noch libusb.

Zugegeben ich hab den Überblick verloren.
Was ist unkompliziert umzusetzen? Wie sind eure Erfahrungen?

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Komplett ohne Treiber geht's nur mit HID. Ich finde dafür den CP2110 
(nicht 2102/4) ganz nett. Brauchst nur die mitgelieferte dll und dann 
kannst du ohne Treiber mit einfach read und write Funktionen damit 
kommunizieren. Für den uC ist es einfach nur ein uart

Autor: Jim Meba (turboj)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TomTom schrieb:
> - am besten keine Extra-Treiber (Windows) nötig, oder zumindest welche
> die "einfach funktionieren"

Entweder HID (wenn es langsam, <64kByte/sec sein darf) oder man schaut 
sich bei libwdi um. Dort ist IIRC auch der Teil dokumentiert wie man 
WinUSB.sys mit modernem Windows (8+) automagisch laden kann.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TomTom schrieb:
> wenn ich an mein USB-UART-Adapter (FTDI) denke, ist nach dem Anstecken
> mal COM7, oder COM8, wie's gerade Bock hat...

Das liegt an der fehlenden Seriennummer. Wenn Du die nachrüstest 
(serielles EEPROM am FTDI-Baustein anschließen und mit ftprog 
programmieren), dann ist das Verhalten eindeutig.

Autor: Fred Ram (Firma: www.ramser-elektro.at/shop) (fred_ram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn 64 Bytes reichen:
HID verwenden

Gibt den USB4ALL dafür.


Du bist nicht rein zufälligerweise der Selbe?
Beitrag "Daten zwischen PC und USB-Device austauschen. Suche einfachen Weg."

: Bearbeitet durch User
Autor: S. R. (svenska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timmo H. schrieb:
> Komplett ohne Treiber geht's nur mit HID.

Das sollte mit CDC-ACM aber auch problemlos funktionieren.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
S. R. schrieb:
> CDC-ACM

Ältere Windows-Versionen kommen zwar mit dem nötigen Treiber im Gepäck, 
benötigen aber aus welchen Gründen auch immer eine passende *.inf-Datei, 
um diesen Treiber zu installieren.

Autor: S. R. (svenska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist richtig, aber ist das unter aktuellem Windows 10 noch immer ein 
Problem? Wenn ich mir so die Politik von Microsoft anschaue, sollte sich 
die weite Verbreitung von älteren Versionen doch bald erledigt haben...?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
S. R. schrieb:
> Das ist richtig, aber ist das unter aktuellem Windows 10 noch immer ein
> Problem?

Nein, Windows 10 hat dieses Problem nicht.

Autor: TomTom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fred R. schrieb:
> Du bist nicht rein zufälligerweise der Selbe?
Nö, bin nicht ich.

S. R. schrieb:
> Timmo H. schrieb:
>> Komplett ohne Treiber geht's nur mit HID.
>
> Das sollte mit CDC-ACM aber auch problemlos funktionieren.

Ab Windows 7. CDC-ACM? Hab ich bisher noch nie was davon gehört, was ist 
das genau?

Selbst wenn nur ne *.inf installiert werden muss, das wäre ja super

Ich fasse mal schnell zusammen und guck's mir genauer an:
- CP2110 (ist der eindeutig adressierbar?)
- FT232RL mit EEPROM für Seriennummer (der Chip hat doch selbst ein 
bisschen speicher, braucht man den eeprom unbedingt?)
- ATMega32u4 mit CDC-ACM, libwdi

Autor: S. R. (svenska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TomTom schrieb:
> Ab Windows 7.

Wenn du bereit bist, eine INF-Datei beizulegen, dann ist das kein 
Problem.

> CDC-ACM?

Das sind Kommunikationsgeräte (Communications Device Class), speziell 
Modems. Da fallen normale USB-Seriell-Wandler drunter.

> Hab ich bisher noch nie was davon gehört, was ist
> das genau?

Genau das, was du brauchst, wenn du UART kannst und USB willst. ;-)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TomTom schrieb:
> - FT232RL mit EEPROM für Seriennummer

Der FT232R enthält ein EEPROM und hat eine Seriennummer. Wenn man 
wirklich den verwendet, muss man sich um nichts weiter kümmern.

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]
  • [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.

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