ATtiny45 und VUSB?

#2083418
Lesenswert?

Hi,

nach erfolglosem Verlöten eines viel zu kleinen FTDI-Chips wollte ich 
die Variante mit einem ATtiny2313 (DIP-20) und VUSB probieren. Aber 
zuerst wollte ich hier nachfragen, ob meine Schaltung so funktionieren 
würde, bevor ich mir die Bauteile zulege :)

Außerdem wollte ich noch wissen, ob man mit einem 20 MHz Quarz neben dem 
USB --> UART auch noch das SPI (für ISP) bewerkstelligen kann und ob man 
dafür auch mit dem CKOUT-Ausgang einen zweiten Chip mit 20 MHz betreiben 
kann, so dass SPI und UART ausreichend schnell eingestellt werden 
können. Habe mir das entweder als USB-Programmer oder als einfacher USB 
--> UART-Wandler gedacht.

MfG.
Angehängte Dateien:
Gast #2083429
Lesenswert?

Alfred Krohmer schrieb:
> zuerst wollte ich hier nachfragen, ob meine Schaltung so funktionieren
> würde, bevor ich mir die Bauteile zulege :)

Nein.
Entweder du betreibst den uC mit den "5V" vom USB und baust für die 
Datenleitungen Pegelwandler, ODER du betreibst den uC mit 3,3 V und 
lässt die Pegelwandler weg.
Übrigends wird Reset normalerweise mit einem Pullup (Widerstand) an + 
gehängt, sonst macht dein ISP einen sauberen Kurzschluss.
Weiter vermisse ich deine Abblockkondensatoren.
Für Vorwiderstände bei den LEDs auch zu geizig?
Naja, kauft man öfter mal LEDs.
:-)
Gast #2083432
Lesenswert?

>nach erfolglosem Verlöten eines viel zu kleinen FTDI-Chips wollte ich
>die Variante mit einem ATtiny2313 (DIP-20) und VUSB probieren. Aber
>zuerst wollte ich hier nachfragen, ob meine Schaltung so funktionieren
>würde, bevor ich mir die Bauteile zulege :)

Nein, Angstkondensatoren fehlen. LEDs betreibt man nicht
ohne Vorwiderstand. Wenn du deinen Programmer killen willst
dann lass Reset hart an VCC;)
Gast #2083438
Lesenswert?

Nachtrag: Höhere Baudraten wird der AVR wohl auch nicht
hinbekommen weil er das gesamte USB Protokoll in Software
abarbeiten muss. Das ganze wird dann ein Spielzeug das
mehr Ärger macht als es nutzt. Versuch den FTDI zum laufen
zu bekommen. Dann hast du was anständiges.
#2083445
Lesenswert?

Hui, das ging ja schnell mit den Antworten.

Zu den LED's: die bekommen selbstverständlich noch einen Vorwiderstand, 
hatte ich der Übersicht halber nur weggelassen.

Reset hab ich auch an einem ATmega168 an VCC hängen und der macht keine 
Probleme. Aber auch hier kann ich selbstverständlich einen 1k-Widerstand 
reinklemmen.

Zu den 3,3 V: Dafür hab ich die Zener-Dioden mit 3,6 V eingebaut. Hab 
ich in mehreren VUSB-Schaltungen schon so gesehen, sollen die Spannung 
doch eigentlich auf ca. 3,3 V runterziehen, wenn ich das richtig 
verstanden habe?

20 MHz: Hab zumindest gelesen, dass man bei VUSB in der Config die 
Taktfrequenz einstellen kann und dass er so an manchen Stellen NOPs 
einfügt, damit das Timing passt.

Angstkondensatoren: Könnte ich auch noch reinpacken, aber ich dachte per 
self-powered USB-Hub sollte zumindest eine einigermaßen stabile Spannung 
kommen?! Will jetzt nichts stromintensives an dem µC betreiben.

Nochmal zu meiner Frage: Kann man mit einem 20 MHz Quarz auch noch einen 
zweiten Chip betreiben über den CKOUT-Ausgang? Kann ich statt USB --> 
UART auch (per Software umstellbar) USB --> SPI verwenden mit VUSB?
Gast #2083457
Lesenswert?

> Zu den LED's: die bekommen selbstverständlich noch einen Vorwiderstand,
> hatte ich der Übersicht halber nur weggelassen.

Wenn du genaue Infos haben willst, rück gefälligst auch den kompletten 
Schaltplan raus.

> Reset hab ich auch an einem ATmega168 an VCC hängen und der macht keine
> Probleme. Aber auch hier kann ich selbstverständlich einen 1k-Widerstand
> reinklemmen.

Es läuft, ja. Allerdings wird der Reset beim Programmieren auf Masse 
gezogen -> Kurzschluss.

> Zu den 3,3 V: Dafür hab ich die Zener-Dioden mit 3,6 V eingebaut. Hab
> ich in mehreren VUSB-Schaltungen schon so gesehen, sollen die Spannung
> doch eigentlich auf ca. 3,3 V runterziehen, wenn ich das richtig
> verstanden habe?

Das macht man so:

 uC-Pin -----WWWWW----o------- USB-Pin
                      |
                   ,-----
                   ' /|\
                     ---
                      |
               --------------
Mit (W)iderstand um die 68 Ohm.
Halt wie im V-USB-Beispiel.

> Angstkondensatoren: Könnte ich auch noch reinpacken, aber ich dachte per
> self-powered USB-Hub sollte zumindest eine einigermaßen stabile Spannung
> kommen?! Will jetzt nichts stromintensives an dem µC betreiben.

Bei den Kondensatoren gehts nicht um Stromverbrauch, sondern um 
kurzzeitige Einbrüche der Versorgungsspannung bei schnellen 
Schaltflanken.
Gast #2083459
Lesenswert?

>Angstkondensatoren: Könnte ich auch noch reinpacken, aber ich dachte per
>self-powered USB-Hub sollte zumindest eine einigermaßen stabile Spannung
>kommen?! Will jetzt nichts stromintensives an dem µC betreiben.

Das ist Wurst die Dinger gehören an jeden uC ganz dicht an die Pins ran.

> Kann ich statt USB -->
>UART auch (per Software umstellbar) USB --> SPI verwenden mit VUSB?

Du kannst auch beides gleichzeitig machen wenn du die Software
so auslegst.
#2083482
Lesenswert?

So, hab jetzt noch den Kondensator und die Widerstände rein gemacht.

Reset will ich bei dieser Schaltung gar nicht benutzen, dieser ATtiny 
soll nur einmal programmiert werden und bei Bedarf andere Chips 
programmieren. Also könnte ich die Leitung zum Reset eigentlich ganz 
weglassen...

Mit "ausreichend schnell" meinte ich nur, dass man nicht bei 9600 Baud 
bei UART oder bei Clock/256 bei SPI rumhängt. Bei dem ATmega168 kann ich 
mit 20 MHz auch nicht mehr als 115200 als Baudrate rauskitzeln. --> Kann 
ich nun einen anderen Chip mit CKOUT takten?!
Angehängte Dateien:
Gast #2083485
Lesenswert?

>Reset will ich bei dieser Schaltung gar nicht benutzen, dieser ATtiny
>soll nur einmal programmiert werden und bei Bedarf andere Chips
>programmieren. Also könnte ich die Leitung zum Reset eigentlich ganz
>weglassen...

Eine Leitung zum Reset des Ziel uC fehlt dann trotzdem noch.
Dann stellt sich nur noch die Frage ob du dazu in der Lage bist
eine eigene Firmware zu schreiben um andere AVR mit deiner
Gurkenschaltung programmieren zu können;)
#2083494
Lesenswert?

holger schrieb:
> Eine Leitung zum Reset des Ziel uC fehlt dann trotzdem noch.

Das würde ich direkt am Ziel mit einem Taster machen, weil das ganze 
eben auch als UART-Bridge herhalten soll.

holger schrieb:
> Dann stellt sich nur noch die Frage ob du dazu in der Lage bist
> eine eigene Firmware zu schreiben um andere AVR mit deiner
> Gurkenschaltung programmieren zu können;)

Jop, klappt schon :) Hab hier ein mySmartControl-Board und beschreibe 
damit einen weiteren ATmega168 über SPI. Ist nur halt ziemlich 
unhandlich auf einem Steckbrett.
Gast #2083499
Lesenswert?

>> Eine Leitung zum Reset des Ziel uC fehlt dann trotzdem noch.

>Das würde ich direkt am Ziel mit einem Taster machen, weil das ganze
>eben auch als UART-Bridge herhalten soll.

Ich glaube nicht das du es schaffst den im us Bereich zu drücken
um dann synchron zu deiner Software einen SPI Sync hinzubekommen;)

Du bist ein klein wenig blauäugig mit dem was du vorhast.

>Jop, klappt schon :) Hab hier ein mySmartControl-Board und beschreibe
>damit einen weiteren ATmega168 über SPI.

Wozu brauchst du dann noch den Tiny? Mach einen ISP Stecker
an deine Schaltung und gut is.
#2083507
Lesenswert?

holger schrieb:
> Ich glaube nicht das du es schaffst den im us Bereich zu drücken
> um dann synchron zu deiner Software einen SPI Sync hinzubekommen;)

Wieso soll ich den µs Bereich drücken?! In der jetzigen Schaltung mache 
ich das auch mit dem Taster. Drücken, SPI per UART anschmeißen und 
loslassen, wenn er fertig ist.

Mit dem Tiny will ich mir evtl. mehrere Schaltungen bauen, einen z.B. 
als Programmer oder in einer eigenständigen Schaltung, dann nur als USB 
--> UART-Bridge.

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