Low speed USB atmega8 oder attiny85?

OP #3938661
Lesenswert?

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.
#3938825
Lesenswert?

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
#3938877
Lesenswert?

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
Gast #3938878
Lesenswert?

>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.
Gast #3939066
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren