Forum: Mikrocontroller und Digitale Elektronik Newbie Frage ISP mit unterschiedlichen VCC


von Micha (Gast)


Lesenswert?

Moin,
ich habe eine Frage zu der ich leider keine Antwort gefunden habe.

Ich möchte einen ATmega162 über ein Entwicklerboard mit 
Programmierfunktion mittels ISP programmieren.
http://www.lochraster.org/rumpus/data/rumpus-v2-schematic.pdf

Das Rumpus hat ein VCC von 5V und der ATmega162 soll eine von 3,3V 
besitzen.
Es soll eine SD-Karte beschrieben werden (deswegen 3,3V).

Kann ich nun einfach den VCC nicht beschalten (am ISP Port) und den 
ATmega162 extern mit 3,3V versorgen?

von Peter R. (pnu)


Lesenswert?

Bei dem Schaltbild werden die Ausgängedes Kontrollers (PB4,...) direkt 
an die Pins des Programmiersteckers geleitet. Der Kontroller liefert, da 
mit 5V versorgt, 5V-Signale.

Der atmega, mit 3,3V versorgt, bekommt an den Eingängen Überspannung 
dadurch.
Das könnte den atmega 162 killen.

von Micha (Gast)


Lesenswert?

Aha ok,
wenn ich den ATmega162 nur zum programmieren mit 5V versorge (also VCC 
von ISP-Adapter anschließe und die SD-Karte entferne?

Werden beim programmieren Pins von ATmega162 auf High geschaltet z.B. 
RXD oder TXD?


was habe ich sonst für Möglichkeiten den 162 zu Programmieren wenn 
möglich Konstengünstig?

von syn_error (Gast)


Lesenswert?

>Werden beim programmieren Pins von ATmega162 auf High geschaltet z.B.
>RXD oder TXD?
während des programmierens ist er in reset, das bedeutet alle pins außer 
für isp sind tri-state (hochohmig).


>wenn ich den ATmega162 nur zum programmieren mit 5V versorge (also VCC
>von ISP-Adapter anschließe und die SD-Karte entferne?
wenn sonst alle andern bauteile 5 volt aushalten, funktioniert das.

>was habe ich sonst für Möglichkeiten den 162 zu Programmieren wenn
>möglich Konstengünstig?
in dem schaltplan bei "Power" ist ein jumper "PWRSEL" eventuell kann man 
an diesem einstellen das der programmer sich von extern speisen lässt, 
somit kannst du dann den programmer mit den 3,3 volt versorgen.

eine andere möglichkeit ist die pegelwandlung.
von 3,3 auf 5 volt braucht es keine wandlung da der programmer atmega 
ca. 3 volt schon als high erkennt.

jedoch von 5 auf 3,3 volt muss man den pegal wandeln.
dazu gibt es mehrere möglichkeiten:
- spannungsteiler
- transistor basisschaltung
- ic

mehr dazu siehe:
http://www.mikrocontroller.net/articles/Pegelwandler

von Micha (Gast)


Lesenswert?

kann ich also den 74HC4050 benutzen?

An
Vdd - 3,3v
GND - GND

RUMPUS_ISP_MISO -> Pin 3
Pin 2 -> ATmega162_MISO

RUMPUS_ISP_SCK -> Pin 5
Pin 4 -> ATmega162_SCK

RUMPUS_ISP_RST -> Pin 7
Pin 6 -> ATmega162_RESET

RUMPUS_ISP_MOSI -> Pin 14
Pin 15 -> ATmega162_MOSI



ist noch etwas notwendig Kondensatoren oder Widerstände?
Passt das mit der Datenrichtung so?

Ich danke euch auf jeden Fall Ihr habt mir auf jeden Fall schon sehr 
geholfen.

von syn_error (Gast)


Lesenswert?

>kann ich also den 74HC4050 benutzen?
ja.

>Passt das mit der Datenrichtung so?
>>RUMPUS_ISP_MISO -> Pin 3
>>Pin 2 -> ATmega162_MISO
am programmer ist der pin ein eingang (master in).
er erkennt ca. 3 volt als high und brauch keine pegelwandlung.

von Micha (Gast)


Lesenswert?

ah ja ok danke

Vdd - 3,3v
GND - GND

RUMPUS_ISP_MISO -> ATmega162_MISO

RUMPUS_ISP_SCK -> Pin 3
Pin 2 -> ATmega162_SCK

RUMPUS_ISP_RST -> Pin 5
Pin 4 -> ATmega162_RESET

RUMPUS_ISP_MOSI -> Pin 7
Pin 6 -> ATmega162_MOSI


so richtig?

und Kondensatoren oder Widerstände brauch ich keine vorzusehen?

Danke

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Steck die SD-Karte einfach ab und arbeite zum Programmieren mit 5 Volt. 
Das ist das einfachste. Ansonsten sind zwangsläufig Pegelwandler bzw. 
mindestens Widerstandsteiler notwendig.

Grüße,

Peter

von Micha (Gast)


Lesenswert?

ich werde die schaltung aber noch erweitern mit ICs die nicht 5V 
tolerant sind

geht es so wie es ich oben beschrieben habe?

von Micha (Gast)


Lesenswert?

push

von Micha (Gast)


Lesenswert?

kann mir denn keiner helfen?
büdde

von Stefan B. (stefan) Benutzerseite


Angehängte Dateien:

Lesenswert?

1. Du hast ein RUMPUS Board mit 5V und der darauf befindliche AVR hat 
eine Firmware intus, die ihn zu einem AVR ISP Programmer macht.

2. Du hast ein 3.3V Targetboard für einen Atmega162.

Du willst mit dem Programmer #1 das Targetboard #2 programmieren.

Als Pegelwandler willst du einen 74HC4050 mit der Schaltung aus
Beitrag "Re: Newbie Frage ISP mit unterschiedlichen VCC" benutzen.

Deine Pinzuordnung sieht richtig aus.

Setze am HC Bauteil noch einen Abblockkondensator von 100 nF zwischen 
Vdd und GND.

Verbinde die unbenutzten Eingänge am HC Bauteil (9,11,14) mit GND.
http://www.nxp.com/documents/other/HCT_USER_GUIDE.pdf
=> Termination of unused inputs

von Micha (Gast)


Lesenswert?

Danke dir für die klare und nette Antwort

nun ist alles klar ;)

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.