mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB for Dummies: einfacher Datenaustausch yC <-> PC


Autor: Alois Orti (ortech)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

möchte auf einfachstem Wege über den USB-Port Daten zw. yC und PC hin - 
und herschicken. (als allererstes möchte ich einen analogen Potiwert 
über USB an einen PC senden, genauer gesagt möchte ich mir eine 
Applikation in vb.net schreiben, die diese Daten dann verarbeitet).

Ich weiß, daß ich einen generischen Treiber (CDC-Driver), der bei Win XP 
dabei ist, verwenden kann.
Ich habe obige Verschaltung gefunden. Es war auch ein Code dabei, nur 
mit diesem komm ich nicht klar, da er recht umfangreich aussieht.

Meine Fragen:
1.Wie initialisiere ich die USB-SS mit einem Atmega8 oder 8515L?
2.welche includes brauche ich und woher bekomm ich diese?
3.wie greif ich auf den CDC-Treiber zu
4.was ,muß ich noch beachten

Ich weiß, zur Init gehört eine VendorID und eine DeviceID.
Weiters muß ich Endpunkte und Deskriptoren definieren. Welche Methoden 
gibts dazu? (Device-, Interface-, Endpunkt-Deskriptoren). Ich weiß, was 
die einzelnen Deskriptoren beinhalten (theoretishc zumindest).

Ich möchte euch um einen einfachen BeispielCode für den yC für die 
Initailisierung bitten, und auch für einen einfachen Datenaustausch.

danke im Voraus.
Alois

Autor: Nico Erfurth (masta79)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Software USB und CDC geht nicht, CDC braucht Full Speed, Software USB 
geht maximal mit Low Speed und ist abgesehen davon ohnehin Vollgrütze.

Autor: Rex Gildo jr. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Warum nicht einfach ein FTDI Chip mit virtuellem Comport, für die paar 
Potiwerte. Die neuen brauchen nur wenige externe zusätzliche Bauteile.
Spart Zeit und unnötiges Gefrickel.

Gruß

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt auch AVRs mit USB Schnittstelle, die unterstützen Full Speed und 
CDC und da gibt es sogar AppNotes für. Wofür der Software USB Kram gut 
sein soll, habe ich immer noch nicht verstanden.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:

> Wofür der Software USB Kram gut sein soll, habe ich immer noch
> nicht verstanden.

Hast du schon mal einen 8- oder 14pinner mit integriertem USB gesehen?

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So viel größer ist ein TQFP 32 Package auch nicht.

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Simon K. schrieb:
>
>> Wofür der Software USB Kram gut sein soll, habe ich immer noch
>> nicht verstanden.
>
> Hast du schon mal einen 8- oder 14pinner mit integriertem USB gesehen?

habe noch nie einen atmega8 mit 8 oder 14 pins gesehen :)

TQFP32 (evt. mit QFP32->DIP adapter) atmega8U2 würde mir lieber sein

Autor: ortech (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wieso gehts nicht ohne externen Chip?
Wie wurde es denn in diesem Bild, das ich mitgeschickt habe, dann 
umgesetzt? Ich brauche keine schnelle Datenübertragung oder sowas, nur 
hab ich halt nur einen USB Anschluß am Laptop.

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ortech schrieb:
> wieso gehts nicht ohne externen Chip?

hmm, natürlich geht es, entweder die atmel usb µC famili nehmen - dann 
hast du usb und den µC in einem chip, oder soft usb zusätzlich zu deinem 
projekt in dem µC integrieren.

Soft usb ist z.b. http://www.obdev.at/products/vusb/index.html

> Wie wurde es denn in diesem Bild, das ich mitgeschickt habe, dann
> umgesetzt?

Diese bild ist vom usbtenki projekt, anscheinend hast du nicht gesehen 
was da steht :

"I used Objective Development's software only USB implementation for 
Atmel's AVR microcontrollers..."

und Objective Development ist 
http://www.obdev.at/products/vusb/index.html

> Ich brauche keine schnelle Datenübertragung oder sowas, nur
> hab ich halt nur einen USB Anschluß am Laptop.

ja, soft usb wird ausreichend für dich. Um zu verstehen wie obdev 
benutzt wird guck dir http://www.obdev.at/products/vusb/prjobdev.html 
oder den usbtenki.

Autor: ortech (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas

JA GENAU! Das brauch ich! Soft-USB oder VUSB.
Ich hab mir das USBTenki Projekt angesehen, aber ich durchblicke den 
Code nicht.

Noch eine Frage zum Soft-USB.

1. brauch ich dazu keinen generischen Treiber wie CDC oder HID?
2. ich hab mir jetzt das vusb-20090415.zip von diesem Link (bei 
Powerswitch unter DOwnload) heruntergeladen
3. jetz hab ich hier folgende Files und Ordner (siehe Anhang)
4. Um jetzt ein einfaches PRojekt für den Atmel zu machen, brauch ich 
was?

Ich tu mir da schwer als absoluter Anfänger, ich kann zwar vb.net, aber 
mit C...

Könntest du mir das Prinzip kurz schildern?

Schönen Gruß, Alois

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ortech schrieb:
> Könntest du mir das Prinzip kurz schildern?
Unter Examples die enthaltenen Codes ansehen und modifizieren.
Optional auf der obdev-webseite andere Projekte ansehen und 
modifizieren.

Autor: ortech (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habs versucht, aber ich muß zugeben, ich checks nicht ohne daß es mir 
jemand erklärt...
Erklärt mir jemand das Prinzip?

Brauch ich nun meinen Windows-Treiber, auf den ich zugreife?
Was brauch ich an "Fremdcode", um meine Applikation darauf aufzusetzen?

Es muß doch was geben wie:

1. Init USB Schnittstelle

2. Methode Read Data

3. Methode Write Data

?

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter Linux gibt es dazu eine libusb. Da wird es wohl auch etwas 
ähnliches (oder gar das gleiche?) für Windoof geben. Ich meine auch, auf 
den obdev Seiten sowas gelesen zu haben. Suchen musst Du aber selber, da 
ich dazu weder Zeit noch Lust habe.

Autor: Mars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Microsoft liefert bereits einen HID-Treiber mit.
Unter http://msdn.microsoft.com/en-us/library/ms790932.aspx findest du 
alle Funktionen um auf HID-Devices zuzugreifen.

Autor: ortech (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok danke mal.
Werd jetzt mal ein paar Tage Urlaub machen und mich dann nächste Woche 
dem Thema wiederum widmen. Danke für eure Inputs!
Alois

Autor: gadgaet (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Elektor-Ausgabe vom März 2007 wurde alles genau beschrieben. 
Link:
http://www.elektor.de/jahrgang/2007/marz/avr-steue...
Hier werden ebenfalls die AVR-USB-Treiber von obdev verwendet. Den Code 
für den AVR kann man dort runterladen...

grüssse
g.

Autor: ortech (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für den tipp, gadgaet !
Hab mir den Artikel soeben runtergeladen und werd ihn demnächst ansehen.

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.
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.

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