Forum: Mikrocontroller und Digitale Elektronik Paketverlust bei USB-Übertragung AT90USB1287 (bulk-transfer)


von Robert (Gast)


Lesenswert?

Hallo!

Ich habe ein dringendes Problem mit USB-Übertragungen zu einem 
AT90USB1287. Ich benutze eine dem USB-Stick der RZ-Raven-Kits ähnliche 
Hardware bestehend aus AT90USB1287 und RF230 um Daten über ZigBee zu 
übertragen. Vorher habe ich eine Kombi aus FTDI usb-seriell-Wandlern und 
Maxstream/digi Xbee Pro Modems verwendet.

Das Problem:

Die Übertragung der einzelnen RF-Frames über den USB klappt nicht immer. 
In 9 von 10 Fällen ist alles ok, jedoch fehlen mittendrin ganze 
Datenpakete ohne ersichtlichen Grund.

Als Software verwende ich quasi die CDC-Demo von Atmel mit vergrößerten 
Endpoint-Sizes. Der AT90USB1287 meldet sich daher unter Linux als 
ACM-Device an und kann wie eine serielle Schnittstelle angesprochen 
werden. Selbst wenn ich nur sekündlich ein Paket von beispielsweise 100 
Byte sende fehlt irgendwann ein komplettes Paket.

Eine Ack-Verfahren auf einer höheren Schicht ist ungünstig, da 
anscheinend die Übertragungszeiten über den USB-Bus auch bis zu 100 ms 
und mehr betragen können (normal ist die Ping RTT 60ms!).

Hat irgendwer eine Idee woher der scheinbar spontane Datenverlust kommen 
könnte? Die Platine mit dem AT90USB steckt direkt im USB-Port, 
Störeinstrahlungen kann ich in dieser Größenordnung sicher auch 
ausschließen.

Eine Störung durch die ZigBee-Routinen kann man wohl ausschließen. 
Selbst wenn ich nur die CDC-Demo ohne die Erweiterungen für den RF230 
nehme verliere ich Daten.

Gruß
Robert

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
Noch kein Account? Hier anmelden.