Hallo zusammen, gibt es hier einen USB Experten? Ich möchte V-USB auf einem attiny45 einsetzen. Dazu will ich den internen RC nutzen, der mit Hilfe der Tokens auf dem USB kalibriert wird. Dazu hat V-USB auch schon passende Funktionen, die jeweils die Zeit zwischen zwei keep-alive Pulsen messen. In dem V-USB Code wird allerdings angenommen, dass diese Pulse nur alle 1ms kommen. Wenn ich die USB Spezifikation (siehe Kapitel 11.8.4.1 in der USB 2.0 Spec) allerdings richtig verstehe, werden Keep-alives mindestens von jedem SOF generiert, können aber auch von jeden anderen Token generiert werden. Habe ich da nun einen Denkfehler, oder funktioniert das so wie V-USB das macht nur deshalb, weil die meisten USB-Hubs nur aus den SOF Tokens Keep-alive Pulse generieren? -michael
Was erwartest Du für keep-alive Pulse? Im Lowspeed-Modus gibt es nur SOF aller 1ms, wenn keine Daten auf dem Bus übertragen werden.
>Ich möchte V-USB auf einem attiny45 >einsetzen. Dazu will ich den internen RC nutzen, der mit Hilfe der >Tokens auf dem USB kalibriert wird. Ach, mein Gott. Zieh dir nen Controller der USB per Hardware kann. Was soll dieses ewige rumgehampel mit proprietären Lösungen die nur Ärger machen? Zu teuer? Einen Euro sparen?
holger schrieb: >>Ich möchte V-USB auf einem attiny45 >>einsetzen. Dazu will ich den internen RC nutzen, der mit Hilfe der >>Tokens auf dem USB kalibriert wird. > > Ach, mein Gott. Zieh dir nen Controller der USB per > Hardware kann. Was soll dieses ewige rumgehampel mit > proprietären Lösungen die nur Ärger machen? > Zu teuer? Einen Euro sparen? Du solltest die Bedeutung von proprietär noch mal nachschlagen, bevor du sie noch mal verwendest. ;)
Detlef Kunz schrieb: > Was erwartest Du für keep-alive Pulse? > Im Lowspeed-Modus gibt es nur SOF aller 1ms, wenn keine Daten auf dem > Bus übertragen werden. Naja so wie ich das sehe, gibt es im low-speed gar keine SOF Tokens. Sondern eben nur keep-alive pulses, die vom Hub aus den SOF Tokens generiert werden. Aber eben auch aus anderen Tokens. Aus der USB 2.0 spec hierzu: > The following rules for generation of a low-speed keep-alive must be adhered to: > * A keep-alive must minimally be derived from each SOF. It is recommended > that a keep-alive be generated on any valid full-speed token. > * The keep-alive must start by the eighth bit after the PID of the full-speed > token. Das heißt für mich aber, dass man ohne extra Logik nicht einfach die keep-alives für eine 1ms Synchronisation nehmen. Da im schlechtesten Fall, zwischen den keep-alive pulsen, die aus den SOF Tokens abgeleitet werden auch Pulse von anderen tokens kommen können.
Ah ja, stimmt ja, Lowspeed bekommen den SOF ja nicht. Aber der SOF wird als EOP an den LowSpeed weitergegeben. Also auch aller 1ms.
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.