Hallo, gibt es eine Möglichkeit die USB Schnittstelle vom AT91SAM7S anzusprechen ohne unter Windows/Linux einen extra treiber zu installieren? Gibt es da nicht irgendwelche Standard Schnittstellen unter Windows/Linux die mann nutzten kann? Mein Ziel ist: Einstecken und geht. MFG Sebastian
Das geht, wenn Du auf dem Controller eine der Standardgeräteklassen implementierst, für die bei den üblichen Betriebssystemen von vornherein Treiber mitgeliefert werden. Dazu gehören zum Beispiel HID ("human input device" wie Tastaturen, Mäuse, Graphiktabletts etc.) und MSD ("mass storage device" wie USB-Sticks, Kartenleser, USB-IDE-Bridges für Festplatten etc.). Wenn Du dennoch eine Software zum Gebrauch Deines Gerätes mitliefern willst, kannst Du diese auch unter Verwendung der libusb bzw. libusb-win32 schreiben, das ist eine Library zum Ansprechen von USB-Geräten aus Usermodeprogrammen.
Vielen dank für die super schnelle Antwort. Aber ich bin mal so dreist zu Fragen, gibt es irgenwo ein gutes Beispiel wie ich eine HID Geräteklasse imlementiere? Und unterstützt die HID Geräteklasse auch die 12MBit übertragungsrate. Ich bin noch Neuling was USB in Verbindung mit µC's angeht! MFg Sebastian
>>>
Und unterstützt die HID Geräteklasse auch die 12MBit übertragungsrate.
<<<
Nein tut es nicht! HID ist extremst langsam! (100kByte/sec)
Außerdem ist HID auch nicht für zuverlässige Übertragung geeignet - da
ist tatsächlich spezifiziert, dass bei HID auch mal ein Paket verloren
gehen darf!
Eine recht einfache Methode ist die Implementierung der CDC-Klasse. Hier wird das USB-Gerät einfach über eine virtuelle COM-Schnittstelle angesprochen. Aber auch hier gilt, die extrem langsame Übertragungsrate (maximal ca. 12 kB / Sekunde getestet). Wer nur geringe Datenmengen übertragen will, für den ist diese Variante ideal, weil der Aufwand auf PC-Seite extrem niedrig ist.
Atmel bietet ein Beispiel mit Treiber und C++-Code für PC und µC. (http://www.atmel.com/dyn/products/app_notes.asp?family_id=605 und da Basic USB-Application) Mit wirklich geringem Aufwand und mit freeware-tools bekommt man das mit vernünftigen Datenraten zum Laufen und kann es dann entsprechend anpssen. Gruß, Jörn
@ALL Danke für Eure Posts. Aber mein Ziel war ja den µC über USB anzusprechen ohne einen extra Treiber zu installieren. Und da war der Tip von Rufus (Danke) mit dem HID nicht schlecht. Im moment suche ich auch schon nach irgendwelchen Beispielen wie ich eine HID Schnittstelle in einen AVRUSBxxx oder in einen AT91SAM7S implementiere. Falls jemand dafür ein gutes Beispiel hat, oder jemand weis wonach ich am besten suchen muss, währe ich echt dankbar! Gruss Sebastian
Zu FreeRTOS gibts ein kleines beispiel einer (nicht vollständigen) USB HID Joystick Implementierung: http://www.freertos.org/portsam7iar.html Wie gut das Beispiel ist kann ich dir aber nicht sagen, habs noch nicht genauer angesehen.
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.