Forum: Mikrocontroller und Digitale Elektronik USBasp Levelshifter Reset Problem


von L. R. (badinode)


Lesenswert?

Moin,

habe den USBasp von Fischl und der funktioniert bei 5V seit Jahren 
tadellos. Da ich zunehmend auf 3V3 Basis bastle, habe ich mir mit dem 
TXB0108 einen Levelshifter für meinen ISP gebaut. Das Problem ist, dass 
der Reset-Pin nicht auf high gezogen wird. D.h. ich muss den ISP 
abklemmen damit der µC läuft.
Die 5V-Pins sind über den TXB0108 1:1 auf die 3V3-Pins gemappt. 
Versorgungsspannung ist ok, und OE auf 3V3 gezogen.

von L. R. (badinode)


Lesenswert?

schubs

von Michael U. (amiga)


Lesenswert?

Hallo,

in welchem Zustand sind denn die AVR-Leitungen, wenn der Programmer 
inaktiv ist? Ich vermute jetzt mal als Eingang ohne PullUp, also High-Z.

Verbinde mal /OE des Levelshifters mit dem AVR-Pin, der Reset steuert. 
Dann ist der Levelshifter auch im High-Z, wenn nicht programmiert wird.
Gibt sonst auch Ärger, wenn an MOSI/MISO/SCK noch andere Peripherie 
hängt.

PS: einfacher wäre es vermutlich, den AVR mit 3,3V zu versorgen, wie es 
einige andere dieser Programmer machen und auf den Leveshifter zu 
verzichten.

Gruß aus Berlin
Michael

von L. R. (badinode)


Lesenswert?

Hi Michael,

leider arbeitet der OE Pin mit positiver Logik. Aber diesen an den 
Reset-Pin zu koppeln ist eine gute Idee.

Hast Du zufällig ein Beispiel für einen avrdude-kompatiblen USB 
Programmer parat, der sowohl 5V als auch 3V3 beherrscht?

von Michael U. (amiga)


Lesenswert?

Hallo,

wollte Dich gerade zu
http://www.ullihome.de/index.php/Hauptseite
aber irgendwie finde ich dort den Schaltplan nicht mehr, war eine 
pdf-Datei.

Die "gemeine" Version: 2 Si-Dioden in Flußrichtung zwischen +USB und AVR 
sind rund 1,4V Spannungsabfall, also rund 3,5V für den AVR.
Damit passen bei 3,3V Taget die Pegel.
Ob sich der Programmer das gefallen läßt, findet man ja schnell raus, 
der AVR wird da außerhalb der Spezifikation betrieben.

Mein Mega8 auf einem Nachbau des AVRUSB-Lab hat keine Probleme damit und 
meine 3,3V Tagets auch nicht.
Normalerweise gehen so auch 5V Targets ohne Probleme, falls nciht eben 
einen Jumper oder Schalter um die Dioden zu überbrücken.

Welche Software da im AVR läuft, hat ja keinen Einfluß auf die Pegel, 
wenn Du willst kannst Du es ja einfach ausprobieren...

Gruß aus Berlin
Michael

von [Frank] (Gast)


Lesenswert?

@ L. R.
Hier http://www.yuki-lab.jp/hw/usbasp/index-e.html gibt es eine Variante 
mit HC125 für 3-5V Target VCC.

von Bismar (Gast)


Lesenswert?

Hallo,
Das ist hier zwar schon 6 Monate alt, aber das selbe Problem habe ich 
auch.
Habe den USBasp programmer (den extra nochmals gekauft da ich mit meinen 
nicht die FUSE auslesen konnte).
Habe einen ATMega 2560 und drei Levelshifter TXB0194. OE über Widerstand 
auf 3,3V angeschlossen. Die Low Seite des Levelshifter ist nicht 
bestückt.
Wollte ausprobieren ob ich so schon in den Controller „rein komme“.
Geht nicht.
Der Controller muss mit 5V betrieben werden da mehr 5V als 3,3V 
angeschlossen ist.

Ich kann doch nicht jedesmal die Levelshifter auslöten um per ISP ihn zu 
programmieren.

Das mit dem OE auf Rest legen, funktioniert das? Nicht vergessen 
Controller 5V aber OE soll an 3,3V liegen.
Gibt es schon andere Lösungen hier?

Bismar
( da will man es mal vernünftig machen mit Levelshifter und nicht 
Spannungsteiler. Dann bekommt man neue Probleme.. ?

von Michael W. (Gast)


Lesenswert?

Hahaha - 6 Monate??? Das sind fast 9 (in Worten: neun) JAHRE, mein 
Lieber! Rechne ruhig nach...

von Bismar (Gast)


Lesenswert?

Wie die Zeit vergeht.
?
Als ich das geschrieben hatte sagte mir die Seite das der Beitrag über 6 
Monate her ist. Habe auch nicht genau nachgeschaut.

11.08.2009
Gibt es jetzt schon eine Lösung ?
?
Bismar.

von Stefan F. (Gast)


Lesenswert?

Quick&Dirty: In alle Signal-Leitungen einen 180 Ohm Widerstand schalten. 
GND direkt verbinden, VCC weglassen.

Dann kannst du mit dem 5V USBASP auch AVR's Programmieren, die nur mit 
3,3V versorgt sind.

Ein wichtiger Warnhinweis: Diese primitve Schaltung kann dazu führen, 
daß sich die Versorgungsspannung des Targets über die ESD Dioden im AVR 
erhöht. Wenn du da Sachen dran hast, die bei 5V kaputt gehen, dann lass 
es besser bleiben. Oder begrenze die Versorgungsspannung des Targets mit 
einer 3,6V Zenerdiode, welche den überschüssigen Strom notfalls 
schluckt.

von Bismar (Gast)


Lesenswert?

Hallo,
 habe den USVASP wo ich per jumper auf 3,3V umstellen kann. Auch keine 
Möglichkeit per ISP zu programmieren.
Geht es nicht per Pulldown Widerstände?

Bin aber froh das ich mir die „alte“ Option auf der Platine zusätzlich 
gemacht habe..

Bismar

von Stefan F. (Gast)


Lesenswert?

> habe den USVASP wo ich per jumper auf 3,3V umstellen kann

Wetten, damit stellst du nicht die Spannung der Signale um, sondern nur 
den Spannungsregler für den VCC Ausgang?

> Geht es nicht per Pulldown Widerstände?

Was willst du runter ziehen? Und wie sollen dann dabei "zufällig" die 
gewünschten 3,3V heraus kommen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Bismar schrieb:
> Habe den USBasp programmer (den extra nochmals gekauft da ich mit meinen
> nicht die FUSE auslesen konnte).
Frei nach dem Motto:
Man kann einen Fehler nicht oft genug machen, bis man ihn perfekt 
beherrscht!

> Das ist hier zwar schon 6 Monate alt, aber das selbe Problem habe ich auch.
Nein, du hast offenbar ein anderes Problem, das sich nur gleich 
auswirkt.

> Habe ... drei Levelshifter TXB0194.
Wer stellt die her? Wo gibts die zu kaufen?

> Habe einen ATMega 2560 und drei Levelshifter TXB0194. OE über Widerstand
> auf 3,3V angeschlossen. Die Low Seite des Levelshifter ist nicht bestückt.
Kannst du die ganze Prosa einfach in einen Schaltplan packen? Hier 
bleibt der text2schematic Interpreter laufend hängen...

Und das Ganze machst du am Besten in einem neuen Thread. Wenn dieser 
Alte hier irgendwas Erfolgversprechendes enthält, dann kannst du ihn ja 
verlinken, indem du einfach die Adresszeile des Browsers kopierst.

: Bearbeitet durch Moderator
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
Noch kein Account? Hier anmelden.