Hallo, ich möchte mit einem Atmega als USB-Client einsetzen. Wie realisiere ich dabei die Spannung auf den USB-Datenleitungen. Is es empfehlenswerter den kompletten Atmega mit 3,3V zu betreiben oder kann ich einfach 3,6V Z-Dioden gegen die Datenleitungen schalten? Aufgrund der Einfachheit würde ich zu letzterer Version tendieren, auch aus dem Grund, dass ich den ATmega lieber mit 5V betreibe. Besten Dank euch.
Schau dir mal V-USB an. Da hast du gleich eine Softwarelösung, da USB nicht ganz trivial ist. Alternativ direkt einen USB-fähigen Controller z.B. at90usb162 beim R.
Es geht mir nicht um die Softwarelösung sondern um die Hardware. --> Die Begrenzung der Spannung auf den Datenleitungen, entweder durch einen mit 3,3V betriebenen Atmega, dh. die Datenleitungen werden nur mit 3,3V angesteuert. Alternativ wird der Atmega mit 5V-USB-Spannung versorgt und die die Spannung auf dem USB-BUS mit Hilfe von ZDioden begrenzt
68 Ohm vom IO-Pin zum Usb. Noch eine kleine(!) Z-Diode 3,6V von Usb-Leitung nach Masse. Dann kannst du den uC mit 5V betreiben. Der Pullup für die D- Leitung sollte dann aber größer gewählt werden, so ca 2k2, da er ja die 1,6V mehr ausgleichen muss. So wirds z.B. beim i2c-tiny-avr gemacht.
Mit der Diodenlösung geht aber nur Low-Speed und es ist und bleibt eine dilettantische Frickellösung (genauso wie V-USB). Völlig außerhalb jeglicher Spezifikation. Wieso nimmst du keinen Atmega, der schon einen USB Controller drin hat. Der hat garantiert den richtigen Pegel auf den Datenleitungen.
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.
