Ich möchte den Input einer USB-Maus abhören und gegebenenfalls manipulieren. Soweit ich weiß verwenden die meisten Mäuse Low-Speed USB. Würde mir dazu ein ATmega8 mit 8 MHz Taktung reichen oder sollte ich lieber einen ATmega48 mit 20 MHz nehmen? Gruß Maxim EDIT: Und nein... ich möchte keine seriellen Adapter oder sonstiges verwenden. Nur USB.
:
Bearbeitet durch User
Maxim W. schrieb: > Ich möchte den Input einer USB-Maus abhören und gegebenenfalls > manipulieren. Soweit ich weiß verwenden die meisten Mäuse Low-Speed USB. > Würde mir dazu ein ATmega8 mit 8 MHz Taktung reichen oder sollte ich > lieber einen ATmega48 mit 20 MHz nehmen? Weder noch. Du willst also ein Gerät bauen, was auf einer Seite einen Anschluss für eine USB-Maus hat und auf der anderen Seite einen Anschluss für einen PC. Richtig? Und dann willst Du Daten zwischen den beiden Ports austauschen und ggf modifizieren. Auch richtig? Heißt also: Du brauchst einmal USB Host und einmal USB Device. Für die Implementation einen USB Devices gibts ja diese Low Speed Frickellösungen. Ein USB Host ist aber eine Zehnerpotenz aufwändiger. Hier musst Du passende Hardware haben, sonst geht das nicht. Du brauchst also einen Controller, der einen USB Host Port und einen USB Device Port hat. Es gibt keinen AVR, der das hat. Es gibt ARM Controller, die das können. fchk
> Heißt also: Du brauchst > einmal USB Host und einmal USB Device. Kann ich nicht einfach den rohen USB Datenstrom quasi abfangen und verändert weiterleiten ohne extra einen Host und ein Device zu erstellen? Das muss doch möglich sein.
Maxim W. schrieb: >> Heißt also: Du brauchst >> einmal USB Host und einmal USB Device. > > Kann ich nicht einfach den rohen USB Datenstrom quasi abfangen und > verändert weiterleiten ohne extra einen Host und ein Device zu > erstellen? Das muss doch möglich sein. ... sofern es in Echtzeit quasi verzögerungsfrei geschieht. Mit einem FPGA könnte man das vielleicht versuchen. Wenn Du das in Software machen willst: nein. Da geht nur Store&Forward, und dafür brauchst Du eben die passende Peripherie im Controller. fchk
>Kann ich nicht einfach den rohen USB Datenstrom quasi abfangen und >verändert weiterleiten ohne extra einen Host und ein Device zu >erstellen? Das muss doch möglich sein. Für wen soll das möglich sein? Für dich sicher nicht. Vergiss den Quatsch.
Maxim W. schrieb: >> Heißt also: Du brauchst >> einmal USB Host und einmal USB Device. > > Kann ich nicht einfach den rohen USB Datenstrom quasi abfangen und > verändert weiterleiten ohne extra einen Host und ein Device zu > erstellen? Das muss doch möglich sein. Ah, ein USB-Experte. Nein, kannst Du nicht, mit dem Wissensstand wird das nix.
Du solltest dir erst einmal anschauen, wie die USB-Kommunikation überhaupt läuft. Die Rollen von Host und Device. Die festen Timings. Den ganze Protokoll-Overhead, um nur ein Bytes zu übertragen. Oder wie ein Device überhaupt angemeldet wird. Unter Linux kann man mit Wireshark gucken, was auf dem Bus passiert. Schau es dir an, und dann überlege, ob du das alles implementieren willst und kannst.
Maxim W. schrieb: > sollte ich > lieber einen ATmega48 mit 20 MHz nehmen? der reicht definitiv. Man muss der Maus nur vorgaukeln, dass sie an einem PS2-Port hängt, fast alle Mäuse sind zu beiden Standards kompatibel. Also ein PS2=>USB-Umsetzer mit zusatzfuktionen
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.