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?
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.
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?
>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
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.
>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.
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
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
ich werde die schaltung aber noch erweitern mit ICs die nicht 5V tolerant sind geht es so wie es ich oben beschrieben habe?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.