Hallo, ich habe mich mal mit dem Thema v-usb mit einem Attiny 85/45 und der Arduino IDE mit der v-usb Library befasst : http://blog.petrockblock.com/2012/05/19/usb-keyboard-with-arduino-and-v-usb-library-an-example/ hier mit Atmega 328 http://fabiobaltieri.com/2011/10/19/fun-with-attiny-and-v-usb/ hier wurde zwar nicht mit der Arduino IDE programmiert aber das Software technische ist egal. Gibt es eine Möglichkeit ohne Dioden zu arbeiten? ich habe die passenden Zener Dioden im Moment nicht da. Brauch ich unbedingt einen Spannungsteiler? Am liebsten würde ich nur mit Widerständen arbeiten.
Du könntest den Tiny direkt mit 3,3V speisen, das erspart dir sowohl die Zenerdioden als auch etwaige Spannungsteiler, lediglich die normalen RFI Dämpfungswiderstände (33-68R) oder eine stromkompensierte Drossel in den Datenleitungen. Das Problem dabei ist, das du bei 3,3V hart an der Grenze der 'Safe Operating Area' bist (Fig.21-2 im Datenblatt), vor allem, wenn du mit 16MHz taktest. Die Erfahrung zeigt, das es so gut wie immer funktioniert, aber man sollte es im Hinterkopf behalten. Die '-V' Ausführungen der MC sind ungeeignet. Noch ein Tipp: Am besten funktioniert V-USB, wenn du den Tiny von einem Quarz bzw. Quarzoszillator taktest. Die 'selbst-kalibrierenden' Ausführungen sind zwar nicht soo schlecht, sind aber ein weiterer Unsicherheitsfaktor.
Ok, danke ich werde es ausprobieren. Ich warte noch bis der Attiny 85 ankommt, habe nur die -v Ausführung
Josh P. schrieb: > Ich warte noch bis der Attiny 85 > ankommt, habe nur die -v Ausführung Ich hoffe, du hast dir dann gleich ein paar der Z-Dioden mitbestellt, oder 3,3V Lowdrop Regler.
Ja, das habe ich im Zuge dessen auch gemacht, als Notlösung, aber ich will mit so wenigen Teilen wie möglich arbeiten, um Platz zu sparen.
Matthias Sch. schrieb: > Noch ein Tipp: Am besten funktioniert V-USB, wenn du den Tiny von einem > Quarz bzw. Quarzoszillator taktest. Die 'selbst-kalibrierenden' > Ausführungen sind zwar nicht soo schlecht, sind aber ein weiterer > Unsicherheitsfaktor. Mich würden dazu mal Zahlen, Daten, Fakten interessieren. Bisher habe ich keine Probleme beobachtet, die sich auf Probleme mit dem RC-Oscillator zurückzuführen sind. Wenn man das USB-Device länger mit dem Computer verbunden lassen will, empfielt sich allerdings eine Automatische Rekalibrierung.
:
Bearbeitet durch User
Tim schrieb: > Wenn man das USB-Device länger mit > dem Computer verbunden lassen will, empfielt sich allerdings eine > Automatische Rekalibrierung. Und genau das ist der Grund. Meine V-USB Geräte sollen beliebig lange am Rechner sein ohne Rekalibrierung und ich habe mit externem Quarzoszillator dabei die besten Erfahrungen gemacht. Es handelt sich bei mir z.B. um ein Tablet Konverter, der den seriellen Datenstrom auf ein HID Device umsetzt und z.B. für CAD als Eingabe benutzt wird. (Tiny 45/85) Keine der selbstkalibierenden Lösungen lief bei mir zuverlässig. Zahlen, Daten, Fakten? Fehlanzeige, ich habe mir nie die Mühe gemacht, eine der RC Lösungen zum laufen zu bringen und darüber auch noch zu bloggen. Warum auch? Quarzoszillatoren habe ich jede Menge.
Matthias Sch. schrieb: > Und genau das ist der Grund. Meine V-USB Geräte sollen beliebig lange am > Rechner sein ohne Rekalibrierung und ich habe mit externem Das geht alles automatisch durch den Keepalive Pulse, der einmal pro ms. auf den Bus gegeben wird. STM bringt gerade Cortex-M0 Controller heraus, die nach dem gleichen Prinzip funktionieren. Es handelt sich als nicht um eine prinzipbedingt minderwertige Lösung. > Quarzoszillator dabei die besten Erfahrungen gemacht. Es handelt sich > bei mir z.B. um ein Tablet Konverter, der den seriellen Datenstrom auf > ein HID Device umsetzt und z.B. für CAD als Eingabe benutzt wird. (Tiny > 45/85) > Keine der selbstkalibierenden Lösungen lief bei mir zuverlässig. > Zahlen, Daten, Fakten? > Fehlanzeige, ich habe mir nie die Mühe gemacht, eine der RC Lösungen zum Ja, hast Du sie denn jetzt getestet oder nicht? > laufen zu bringen und darüber auch noch zu bloggen. Warum auch? > Quarzoszillatoren habe ich jede Menge. Nun ja, das ist aber kein Grund anderen von Vorneherein von der quarzlosen Lösung abzuraten. Insbesondere, da ein Quarz am ATtiny85 kaum noch Pins freilasst. Edit: Ich möchte hier keinen Glaubensstreit vom Zaun brechen, sondern bin auf der Suche nach tatsächlich aufgetretenen Problemen, um diese beseitigen zu können.
:
Bearbeitet durch User
Tim schrieb: > Ja, hast Du sie denn jetzt getestet oder nicht? Ja natürlich. Ich wollte beim Tiny ja mir auch den einen Pin für den Oszillator sparen. Sie hat sich aber beim Anmelden des Devices immer recht zickig verhalten, deswegen ist es gerade für einen V-USB Neuling sinnvoll, sich diese Fehlerquelle zu sparen. Ich schliesse übrigens wirklich keinen Quarz an, sondern einen Oszillator, das braucht nur einen Pin. In meinem Projekt musste auch die serielle Baudrate gut stimmen. > STM bringt gerade Cortex-M0 Controller heraus, > die nach dem gleichen Prinzip funktionieren. Es handelt sich als nicht > um eine prinzipbedingt minderwertige Lösung. Ein Tiny ist aber nun mal kein M0. Es gibt auch im USB I/F Markt viele quarzlose Lösungen, das hilft dem Tiny Nutzer aber auch nicht wirklich. Also, als Fortgeschrittener probiers ruhig aus, als Anfänger sollte man es lassen.
Matthias Sch. schrieb: > Tim schrieb: >> Ja, hast Du sie denn jetzt getestet oder nicht? > > Ja natürlich. Ich wollte beim Tiny ja mir auch den einen Pin für den > Oszillator sparen. Sie hat sich aber beim Anmelden des Devices immer > recht zickig verhalten, deswegen ist es gerade für einen V-USB Neuling Ok, schade. Ich hatte gehofft Du hättest konkretere Hinweise. >> STM bringt gerade Cortex-M0 Controller heraus, >> die nach dem gleichen Prinzip funktionieren. Es handelt sich als nicht >> um eine prinzipbedingt minderwertige Lösung. > > Ein Tiny ist aber nun mal kein M0. Es gibt auch im USB I/F Markt viele > quarzlose Lösungen, das hilft dem Tiny Nutzer aber auch nicht wirklich. Der Prozessorkern hat aber nix mit dem Funktionsprinzip zu tun. > Also, als Fortgeschrittener probiers ruhig aus, als Anfänger sollte man > es lassen. So drastisch würde ich es nicht formulieren. Ich habe, wie gesagt, noch nie ein Problem gehabt. Generell ist es natürlich schon sinnvoll erst einmal mit der sicheren Variante anzufangen. Ich würde aber trotzdem niemandem davon abraten die quarzlose Variante zu nutzen, wenn es für ihn Vorteile bringen könnte.
Ich hab es jetz mal hier aufgebaut mit der -v Variante ohnr externen Quarz, es klappt super.Unter Linux gibt es keine Probleme, dafür wäre mein Problem dann gelöst, ich habe übrigens den Attiny mit Widerständen an den Usbport verbunden. Läuft alles auf 3,3v. Schaltplan kann ich im Moment nicht anfertigen Gruß Joshua
Ich hatte gleich, nachdem obdev.at das V-USB als quarzlose Variante mit dem Kalibriervorgang am Beginn herausbrachte, eine Permanent-Kalibrierroutine geschrieben, die sogar noch ein paar Bytes weniger Flash braucht. Diese Variante ist bei obdev auch dokumentiert, aber nicht allzu sehr unterstützt, weil in diesem Fall D- den Interrupt auslösen muss und nicht D+ wie sonst. Interrupt an D- weckt den Controller bei jedem SOF alle 1 ms, an D+ nur bei Datenpaketen. Zudem ermöglicht Interrupt an D- den korrekten USB-Schlaf mit weniger als 500 µA Stromaufnahme, da dann die Interrupts ausbleiben. Ich habe das mit dem Strom schlafenden Watchdog-Timer erschlagen, mit dem Nachteil, dass das Schlafengehen nicht USB-konform 2-3 ms dauerte, sondern das Watchdog-Minimum von 16 ms. Laut obdev.at ist jedoch der kalibrierte RC-Oszillator des ATtiny45 sehr langzeit- und temperaturstabil und benötigte seiner Meinung nach keine Nachkalibrierung über Tage am Fenster. Zur ursprünglichen Frage: 2 Seriendioden in der Mikrocontroller-Speisespannung lassen den Controller mit (unstabilisierter) 3,4 V laufen und ersparen die Z-Dioden und - bei Leitungslängen unter 30 cm - die Serienwiderstände. Der Querstrom dieses "Spannungsreglers" ist Null - ideal für den Schlafmodus. An den meisten USB-Anschlüssen funktioniert auch ein mit 5 V betriebener Mikrocontroller ohne Z-Dioden, aber eben nicht an allen. Daher: Bei 5 V braucht man Z-Dioden. Ein weiterer Nachteil von 5 V ist, dass die nicht sauber auf High liegenden USB-Anschlüsse merklich CMOS-typischen Querstrom verursachen, der dafür sorgt, dass die Stromaufnahme im Schlafmodus nicht datenblattmäßige 0,1 µA ist, sondern eher 100 µA. Der Strom durch den USB-Pullup kommt ohnehin noch dazu. Der Betrieb mit unstabilisierten 3,4 V ist nicht empfehlenswert, wenn der eingebaute A/D-Wandler im Spiel ist oder ohnehin andere 3,3-V-Hardware stabilisierte Spannungen erfordert, wie bspw. alle DCF77-Funkuhr-Empfangsmodule. Ein preiswerter Low-Drop-Regler mit geringem Querstrom im bastelfreundlichen TO-92-Gehäuse ist der LP2950ACZ-3.3. Der Betrieb des ATtiny mit 3,3 V (oder 3,4 V) verbietet den direkten Anschluss von 5-V-TTL-Technik, da dafür der Controller nicht spezifiziert ist und (was noch schlimmer ist) eine Aufstockung der Versorgungsspannung "durch die Hintertür" bis hinauf zu 5 V erfolgen kann, mit allen Konsequenzen für den Betrieb oder Nicht-Betrieb des USB-Interfaces (siehe oben). Gerade im Schlafmodus ist der Eigenstromverbrauch des Mikrocontrollers so gering, dass Ableitströme durch die Eingangsschutzdioden durch niemanden verbraucht werden. Kein Spannungsregler leitet Überspannung (nach Masse) ab.
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.