hi zusammen, versuche seit längerem eine den V-USB zum laufen zubekommen, aber es klappt nicht. Habe die schaltung so aufgebaut wie auf der Homepage. http://www.obdev.at/products/vusb/index-de.html Ich weiss das ich auf der PC seite mehr machen muss ausser LibUSB-win32 zu Installieren, aber was ist mir schleierhaft. könnt Ihr mir bei dem problem weiter helfen? MfG kluski
kluski schrieb: > könnt Ihr mir bei dem problem weiter helfen? Tritt das Problem auf PC (Windows)-Seite oder schon auf µC-Seite auf? i.A.W. Erkennt Windows das Gerät schon (mit Namen etc) und kann nur keinen Treiber laden, oder klappt schon das nicht?
Könntest auch mal von http://www.recursion.jp/avrcdc/ das USB-Seriell-Projekt ausprobieren. Wenn sich die Daten in einem Terminalprogramm ansehen lassen(Loopback-Test am tn2313) dann liegts schonmal nicht an der Hardware. Vielleicht kannst du das AVR-CDC-Projekt ja auch direkt als serielle Schnittstelle benutzen, nur statt den RX/TX-Pins und deren Routinen dein eigenes Backend aufsetzen. Das erspart einiges an Rumgehühnere mit Libusb. mfg mf
>Habe die schaltung so aufgebaut wie auf der Homepage.
Und programmiert hast du den auch?
Die Fuses richtig gesetzt?
also mit dem VUSB habe ich es aufgegeben hatte nochmal Libusb-win32 deinstalliert und noch mal installieret seit den hängt sich mein wlan-stick immer auf. Habe das jetzt das versucht http://www.recursion.jp/avrcdc/cdc-io.html das bekomme ich wenigstens auf den tin2313, wenn ich es dann am PC anschließe kommt "USB-Gerät wurde nicht erkannt".
ich merke der post von mir ist nicht gerade ein glanz stück deutscher Grammatik, schreiben -> lesen-> posten und nicht schreiben -> posten -> lesen -> schämen :D ich brenne den tiny2313 auf dem stk500 und setzt in dann ins steckbrett um es zu testen spannungsversorguung nehme ich von stk500 und ligt bei ca. 3,3 volt den vom usb liege ich bei 6.2 volt. es kommt aber die fehler meldung "USB-Gerät wurde nicht erkannt" und im geräte manager ist unknown device habe es bei USBVIEW nachgesehen und dort steht die meldung "devicefailedEnumeration". Also gehe ich davon aus das ich noch an der software ändern muss, aber weiss nicht was. danke euch für die hilfe
Bitte geb mal an, wie du den ATTiny taktest. V-USB läuft eigentlich recht sicher, aber der Takt sollte von einem externen Quarz kommen. Nimm einen 16Mhz Quarz und vergiss nicht, das in den Projekteinstellungen anzugeben. 16 Mhz vertragen sich aber nicht unbedingt mit einer Versorgung von 3.3 Volt. Arduino läuft allerdings auch so. D+ muss unbedingt an einen Interrupt mit hoher Priorität angeschlossen sein, INT0 bietet sich an.
also er läuft mit einem 12MHz Quarz(Habe noch alternativ ein 20MHz OSZI), den V-USB bekomme ich nicht compeliert, V-USB-20100715 gezogen und und den test Ordner ausprobiert. er zeigt mir ein error aber mein Kenntnisse sind noch nicht so weit, ich kann mit dem fehler nichts anfangen könnt ../main.c:130: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'usbMsgLen_t' Wie stelle ich die Projekteinstellungen ein und was mache ich mit den Makefiles D- ist an INT1 D+ ist an INTO
Matthias Sch. schrieb: > aber der Takt sollte von einem externen Quarz kommen. V-USB mit Tiny und internem Quartz nennt sich EasyLogger.
am tiny habe ich ein 12MHz externen Quarz angeschlossen. kann es daran liegen das ich es mit ein win7 ultimate 32-bit
mal eine verständniss frage wird, muss ich bei AVR-CDC eine was zusätzlich installieren? habe das so verstanden das ich den code drauf brenne in den pc stecke und muss dann die eine inf datei installieren (avr-cdc.inf und lowcdc.inf). bzw. muss auch die libusb-win32 installiert sein? danke für die tipps
Avr-GCC ist im WinAVR-Paket enthalten. Das braucht man zum Kompilieren der Firmware. LibUSB ist eine Möglichkeit, USB-Geräte ohne eigenen Treiber anzusprechen. Dein Win 7 fragt schon selbst, wenn es den LibUSB-Treiber braucht. Das bedeutet dann zumindest schonmal, dass du D+ und D- angelötet hast.
Danny schrieb: > oh verlesen. CDC braucht natürlich auch einen Treiber. Aber nicht libusb. Da reicht der generische von Windows. Man muss Windows aber über eine entsprechende inf-Datei mitteilen, das es seinen Standardtreiber dafür nehmen soll.
also lag ich richtig, (laufen tuts trozdem nicht). so gehe ich immer vor : habe mir cdcio (tiny2313) drauf gebrannt und an PC angeschlossen dann kommt die meldung USB-Gerät wurde nicht erkannt. Gehe dann in Geräte-manager und will treiber manuell installieren und zwar lowcdc (avrcdc_inf->xpvista7-> lowcdc). dann kommt die meldung "treibersoftware für das gerät ist auf den neuesten stand". Habe es auch mit der avrcdc so gemacht kommt das selbe bei rum aber das war dreieck mit Unkown Device bleibt?
kluski schrieb: > meldung USB-Gerät wurde nicht erkannt. Da liegt der Fehler außerhalb des PCs. Hast du auch das richtige Hexfile für den µC gebrannt? Hast du Lastkapazitäten am Quarz? Hast du die beiden Dioden in der Spannungsversorgung? USB+ und USB- vertauscht?
Und nochmal: Die Fuses richtig gesetzt? Miss mal nach ob dein Quarz auch schwingt.
Danny schrieb: > Matthias Sch. schrieb: >> aber der Takt sollte von einem externen Quarz kommen. > > V-USB mit Tiny und internem Quartz nennt sich EasyLogger. Du meinst sicher den Code mit der 'Autocalibration' auf 12.8 Mhz ?( Tinys haben keinen internen Quarz, sondern nur einen RC Oszillator). Habe ich hier nie zuverlässig zum laufen bekommen und deswegen den Tipp mit dem externen Quarz gegeben. Vor allem ist es ein Problem , wenn du V-USB erst nach dem Einschalten mit dem Host verbindest. Ich takte übrigens immer mit 16Mhz , damit läuft alles gut und sicher. Oliver J. schrieb: >> meldung USB-Gerät wurde nicht erkannt. Das bedeutet nur, das der 1k5 Pullup Widerstand für ein USB 1 Gerät erkannt wurde.
habe die ganze Schaltung aufs Steckbrett gesetzt und direkt dort gebrannt, denn auf den stk500 wurde die On-Board Quarz genutzt. der Quarz schwingt den wenn ich in raus ziehe kann ich in nicht brennen. am Quarz sind 22pF angeschlossen wie im Datenblatt. > Hast du auch das richtige Hexfile für den µC gebrannt? mehr mal überprüft > Hast du Lastkapazitäten am Quarz? 22pF > Hast du die beiden Dioden in der Spannungsversorgung? zwar keine 1N4148 sondern BZX85-C3V6 >USB+ und USB- vertauscht? auch öfter getestet > Die Fuses richtig gesetzt? extended 0xFF HIGH 0xDF LOW 0XFF > Miss mal nach ob dein Quarz auch schwingt. der Quarz schwingt den wenn ich in raus ziehe kann ich in nicht brennen. Spannungversorgung vom stk500 liegt bei (Vtarget =3.3) und wenn von USB bei 4,5V Der Code ist zu unübersichtlich für mich bin Ihn durch gegangen finde aber nicht was ich verändern sollt. Danke nochmals für die Tipps
kluski schrieb: > zwar keine 1N4148 sondern BZX85-C3V6 Dir ist aber klar, das das 3,6 Volt Zenerdioden sind, oder ? 1N4148 sind normale Si-Dioden und werden nach der anderen Methode verschaltet - siehe bei OBDev. Zeig mal Schaltplan oder deine Bauvorlage. Stelle dein Projekt richtig ein auf Taktfrequenz und Device. Ändere die Porteinstellungen in 'usbdrv/usbconfig.h' auf deine Verhältnisse.
Matthias Sch. schrieb: > Dir ist aber klar, das das 3,6 Volt Zenerdioden sind, oder ? 1N4148 sind > normale Si-Dioden und werden nach der anderen Methode verschaltet - > siehe bei OBDev. Zeig mal Schaltplan oder deine Bauvorlage. > Stelle dein Projekt richtig ein auf Taktfrequenz und Device. Ändere die > Porteinstellungen in 'usbdrv/usbconfig.h' auf deine Verhältnisse. Das weiss ich denn aus meinem usb port kommen ca.6,5 volt. um das ganz bischen zu begrenzen auf 4,5 volt und hatte die auch nur zuhause ;). > In Reihe zu Vusb? ja habe es nach CDCIO nachgebaut die schaltung ist fast die selbe (siehe Anhang) habe mir datei gezogen (im Anhang) und habe sie so nachgebaut(tiny2313).
So bei läuft der cdcio zwar immer noch nicht. wusste jetzt nicht ob ich ein neues thema aufmachen soll, denn theoretisch ist es halb abgeschlossen. Habe mir die cdcSpi gebrannt und wird auch erkannt, aber läuft als Master wollte eine SW-SPI schreiben habe ein paar fragen bzw. ob meine überlegung richtig sind. Pin Deklarationen SW-SPI-Master MOSI = Ausgang MISO = Eingang SS = Ausgang ScK = Ausgang und bei Slave halt umgekehrt MOSI = Eingang MISO = Ausgang SS = Eingang SCK = Eingang das war auch nicht das Problem sondern mir geht es um SCK, den der Master gibt mir den takt vor, von 1MHz oder 125kHZ (kann ich mir aussuchen). Es muss doch jedes mal wenn am Slave-SCK-eingang von high auf low wechselt ein Bit am mosi raus oder liege da falsch.
kluski schrieb: > Es muss doch jedes mal wenn am Slave-SCK-eingang von high > auf low wechselt ein Bit am mosi raus oder liege da falsch. Es läuft immer wie folgt, damit wie mit einem D-Flipflop sicher Daten übernommen werden: 1. Pegel werden gesetzt 2. Aktive Clock-Flanke kommt 3. Pegel werden gesetzt 4. Aktive Clock-Flanke kommt ... Das gilt für Sender und Empfänger. Nur dass der Master eben den Takt vorgibt. mfg mf
um das zu lösen dachte ich mir das so => if(ss) wird SS low dann übtragung starten SCK als interrupt, wenn der into ausgelöft wird soll ein bit am MISO nach ISR (INT0) bit schieben links/rechts(LSB/MSB) geschoben werden. und interrupts so lange erlauben bis SS wieder auf high geht.
Wenns jetzt noch von Belang ist: Zusätzliche Interrupts bei V-USB sind gefährlich, weil man sich die Kommunikation über USB dadurch kaputtfummeln kann. mfg mf
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.