Hallo Gemeinde, ich möchte auf einen USB-Stick mitttels FPGA zugreifen. Meine Frage wäre, ob dies auch konsquent mit 12 Mbit (Full Speed) möglich wäre. Im Datasheet steht, dass ein Hi-Speed-Device seine gesamte Funktionalität nicht notwendigerweise auch in Full Speed zur Verfügung stellen muss. Wenn der Stick nun aber über keinen eigenen fixen Clock-Generator verfügt, könnte ich die Daten ja in Hi-Speed langsamer senden und empfangen. Besitzt der Stick einen eignen Quarz oder erzeugt er den Ausgangsclock durch Vorgabe der Frequenz von der Hostseite?
@ Bert (Gast) >wäre, ob dies auch konsquent mit 12 Mbit (Full Speed) möglich wäre. Im Sicher. >verfügt, könnte ich die Daten ja in Hi-Speed langsamer senden und >empfangen. Kaum. >Besitzt der Stick einen eignen Quarz ja. >oder erzeugt er den Ausgangsclock durch Vorgabe der Frequenz von der Hostseite? Nö. MfG Falk
Ah, ja - danke für eure Antworten. Mal noch 'ne andere Frage. Wenn ich lediglich auf einen einzigen (physisch vorhanden) USB-Stick zugreifen möchte, muss ich da zwangsläufig auch SOF (Startof Frame) permanent senden? Oder reicht da auch bloss eins zu Beginn? So wie ich das aus dem Datasheet herausgelesen habe, dient das Signal lediglich zur Synchronisation der Hub's. Dann könnte ich es quasi ganz weglassen oder unregelmässig mit einem µController generieren und ne Menge Platz im Fpga sparen. Geht das? @Karl der Kleine Mit Standard IO's geht das auch.
@ Bert (Gast) >zwangsläufig auch SOF (Startof Frame) permanent senden? Logisch, du musst ja einen nahe zu kompletten USB-Master emulieren. > Oder reicht da >auch bloss eins zu Beginn? So wie ich das aus dem Datasheet >herausgelesen habe, dient das Signal lediglich zur Synchronisation der >Hub's. Glaub ich nicht so recht. MfG Falk
> Mal noch 'ne andere Frage. Wenn ich lediglich auf einen einzigen > (physisch vorhanden) USB-Stick zugreifen möchte, muss ich da > zwangsläufig auch SOF (Startof Frame) permanent senden? Oder reicht da > auch bloss eins zu Beginn? So wie ich das aus dem Datasheet > herausgelesen habe, dient das Signal lediglich zur Synchronisation der > Hub's. Dann könnte ich es quasi ganz weglassen oder unregelmässig mit > einem µController generieren und ne Menge Platz im Fpga sparen. Geht > das? SOF gibt für alle Geräte am Bus - nicht nur Hubs - die Frameeinteilung an, daher wahrscheinlich auch der Name. Das kannst du nicht weglassen, das ist das wichtigste Paket aufm Bus.
hatt denn dein FPGA einen integrierten Prozessor? Oder wo willst du das komplette Protokoll eines USB Masters incl. universellem Mass-Storage-Devive Treiber abfackeln?
Aber natürlich hat der einen Prozessor. Ich schrieb es auch weiter oben schon.
Na dann. Und ja, du kannst einen USB Stick natürlich an einem FullSpeed Host anschließen, geht ja an einem PC genauso. Was das allerdings mit dem Quarz auf dem Stick zu tun hat erschließt sich mir nicht. Du scheinst dich bei USB (noch) nicht auszukennen....
Hallo, USB-Sticks sollten ihre "Funktionalität" auch bei 12MBit komplett zur Verfügung stellen. Außer die geringe Performance bestehen da IMHO keine Einschränkungen. Das SOF-Paket wird man schon ab und an mal senden müssen, für ein Mass-Storage-Devive ist das Timing sicher nicht besonders kritisch. Man kann es eventuell auch mal länger weglassen aber dann kommt der Stand-By-Mode. Zum Verständnis sollte man aber mal die USB-Spec möglichst komplett gelesen haben. Wenn man auf den Hi-Speed-Kram verzichten kann ist es besser sich auf die 1.1-Spec zu beschränken (hat nur halb so viele Seiten). Grüße Erik
Hallo Erik, ja wie schon geschrieben, im 2.0 Datasheet steht, dass ein Device das nicht notwendigweise mit der gesamten Funktionsvielfalt tun muss. Ich vermute aber, dass es trotzdem auch mit Full-Speed funktionieren wird. Das mit dem SOF sehe ich eigentlich genauso wie du. Es ist eigentlich nur für das Scheduling notwendig. Da ich nur ein Device habe sollte es keine oder nur eine untergeodnete Rolle spielen. Aus der Sicht des Stick's gibt es keine Notwendigkeit das Signal auszuwerten und Standby kommt nur, wenn absolut keine Busativität mehr eingetreten ist.
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.