Forum: Mikrocontroller und Digitale Elektronik AVR UPDI und Reset


von Droid E. (eedroid)


Lesenswert?

Hallo,

ich beschäftige mich zum ersten mal mit dem AVR, ATtiny3126. Zum 
programmieren und debuggen steht mir der Atmel ICE zu Verfügung, als IDE 
benutze ich das Atmel Studio 7.

Noch habe ich keinen programmiert oder eine Schaltung gebaut. Ich 
verstehe leider nicht wie ich die Schaltung um den AVR bauen muss damit 
ich hier zum einen den PIN als Reset und zum anderen als UPDI benutzen 
kann?

Vielen Dank!

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Ee D. schrieb:
> (...)  Ich
> verstehe leider nicht wie ich die Schaltung um den AVR bauen muss damit
> ich hier zum einen den PIN als Reset und zum anderen als UPDI benutzen
> kann?

Das hängt von der Verwendung des Reset-Pins in Deiner Schaltung ab. Wenn 
diese den 12V-Programmierpuls verkraftet, ist's kein Problem (solange 
sie dnicht zu niederohmig ist). Wenn nicht, sollte die 
Programmierspannung beispielsweise durch eine (Schottky-)Diode von der 
Schaltung ferngehalten werden. Dann müsste aber hinter der Diode ggf. 
ein Pullup-Widerstand eingebaut werden.

Aber Vorsicht: Wenn der Reset-Pin für die Programmierung verwendet wird, 
bleibt diese Funktion bis zum nächsten Abschalten der 
Versorgungsspannung erhalten. Er kann so lange nicht für die externe 
(Be-)Schaltung verwendet werden. So wäre es z.B. keine gute Idee, den 
Reset-Pin für die Signale R/W- oder E eines alphanumerischen LCDs zu 
verwenden -- rate mal, woher ich das weiß ;-)

Grüßle
Volker

von Droid E. (eedroid)


Lesenswert?

Hallo und vielen Dank für deine schnelle Antwort!

Ich würde diesen einen PIN nur für UPDI bzw. /Reset verwenden. Da ich 
neu in dem Thema bin, verstehe ich leider nicht wie die Schaltung um 
diesen Pin aussehen muss und wie ich diesen zu konfigurieren habe. In 
Verwendung habe ich den ATtiny316 und den Atmel ICE...

von wendelsberg (Gast)


Lesenswert?

Suchen auf der Microchip-Website nach "updi application note" bringt:
1
Search
2
Results 1 - 10 of 24266 for "updi application note"
Das ist natuerlich vollkommen nutzlos, niemand sieht 2427 Seiten danach 
durch.
Wie kriegen die das alle* hin, eine Grundfunktion so dermassen zu 
verhunzen?

* die Suche auf reichelt.de ist noch so ein abschreckendes Beispiel und 
es gibt sicher noch viele mehr

wendelsberg

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Ee D. schrieb:

Hallo,
> Ich würde diesen einen PIN nur für UPDI bzw. /Reset verwenden. Da ich
> neu in dem Thema bin, verstehe ich leider nicht wie die Schaltung um
> diesen Pin aussehen muss und wie ich diesen zu konfigurieren habe. In
> Verwendung habe ich den ATtiny316 und den Atmel ICE...

ich finde leider kein Datenblatt für einen ATtiny316 oder ATtiny3126.
Ich habe den Resetpin bei den von mir verbauten ATtinys0 und -1 
lediglich mit einem Pullup-Widerstand beschaltet. Dessen minimaler Wert 
richtet sich nach dem verwendeten Progammer. In den meisten Fällen kann 
man sich vermutlich auf den interen Pullup verlassen.

Grüßle
Volker

von Droid E. (eedroid)


Lesenswert?

Ah, mist: Soll: ATtiny3216

von Droid E. (eedroid)


Lesenswert?

Also ich verstehe im Moment nicht mal annähernd den PIN "UPDI bzw. 
/Reset". Dieser wird doch zum einen als UPDI verwendet um den AVR zu 
programmieren und zum anderen als Reset?

von Droid E. (eedroid)


Lesenswert?

Ach, warte mal, den PIN kann ich so lassen wie der ist. Der hat ja einen 
"Power-on Reset (POR)" und einen "Brown-out Detection" dadurch brauche 
ich keine externe Beschaltung für den Reset und kann den Pin "nackt" zum 
Stecker als UPDI führen und verwenden?

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Ich orientiere mich gern an den Eva-Boards des Hestellers, z.B.
https://www.digikey.de/products/de?keywords=ATTINY3217-XPRO&v=150

Die Schaltpläne geben meist gute Anhaltspunkte für einen ersten eigenen 
Entwurf:
http://ww1.microchip.com/downloads/en/DeviceDoc/ATtiny3217_Xplained_Pro_Schematics.pdf


Grüßle
Volker

von wendelsberg (Gast)


Lesenswert?

Ich habe das aus den umfangreichen Einlassungen im DB so verstanden, 
dass der !RESET ein einfacher !RESET-Pin ist.
Wenn aber anstelle von einfacher L-H-Flanke eine bestimmte Sequenz an 
diesem Pin kommt, dann aktiviert der uC die UPDI-Schnittstelle.

wendelsberg

von Droid E. (eedroid)


Lesenswert?

wendelsberg schrieb:
> Ich habe das aus den umfangreichen Einlassungen im DB so verstanden,
> dass der !RESET ein einfacher !RESET-Pin ist.
> Wenn aber anstelle von einfacher L-H-Flanke eine bestimmte Sequenz an
> diesem Pin kommt, dann aktiviert der uC die UPDI-Schnittstelle.
>
> wendelsberg

Diese bestimmte Sequenz sendet der Atmel ICE? Dann kann ich diesen auch 
als /Reset verwenden? Z.B. mit Taster? Wie sieht dann die Beschaltung 
aus?

Vielen Dank.

: Bearbeitet durch User
von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

wendelsberg schrieb:
> Ich habe das aus den umfangreichen Einlassungen im DB so verstanden,
> dass der !RESET ein einfacher !RESET-Pin ist.
> Wenn aber anstelle von einfacher L-H-Flanke eine bestimmte Sequenz an
> diesem Pin kommt, dann aktiviert der uC die UPDI-Schnittstelle.

Stimmt, ich habe etwas zu weit gedacht und in die erste Frage des TO die 
Verwendung des Reset-Pins als I/O-Pin hinein interpretiert. Deshalb war 
ich auf der HV-Programming-Schiene -- sorry für die Verwirrung!

Grüßle
Volker

von Droid E. (eedroid)


Lesenswert?

Sorry, kann das mal einer für mich zusammen fassen :(

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Ee D. schrieb:
> Sorry, kann das mal einer für mich zusammen fassen :(

So wie Du es weiter oben geschrieben hast, sollte es funktionieren:
Beitrag "Re: AVR UPDI und Reset"

Falls Du eine Leiterplatte entwirfst, würde ich noch einen 
Pullup-Widerstand an dem Reset-Pin vorsehen, der aber erst bestückt 
werden muss, wenn es zu Störungen durch den Rest der Schaltung kommt.

Grüßle
Volker

von Droid E. (eedroid)


Lesenswert?

Ee D. schrieb:
> Ach, warte mal, den PIN kann ich so lassen wie der ist. Der hat ja einen
> "Power-on Reset (POR)" und einen "Brown-out Detection" dadurch brauche
> ich keine externe Beschaltung für den Reset und kann den Pin "nackt" zum
> Stecker als UPDI führen und verwenden?

Meinst du diesen Teil?

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Ee D. schrieb:
> Ee D. schrieb:
>> Ach, warte mal, den PIN kann ich so lassen wie der ist. Der hat ja einen
>> "Power-on Reset (POR)" und einen "Brown-out Detection" dadurch brauche
>> ich keine externe Beschaltung für den Reset und kann den Pin "nackt" zum
>> Stecker als UPDI führen und verwenden?
>
> Meinst du diesen Teil?

Ja

von Droid E. (eedroid)


Lesenswert?

Dann mal vielen Dank euch beiden!

von Robert (Gast)


Lesenswert?

Servus,

um mal etwas Wissen und Erfahrung in den Nebel zu bekommen:

Man kann den !RST-Pin auf 3 Arten konfigurieren:

1. UDPI (default). Hier wird der Pin nur zum Programmieren und Debuggen 
verwendet. Ein "wackeln" an dem Pin führt nicht zum Reset
2. IO-Pin. Der Pin wird zu einem "normalen" IO-Pin. Ein "wackeln" an dem 
Pin führt nicht zum Reset. Debuggen/Programmieren ist nicht möglich.
3. !RST. Der Pin wird zum Reset-Pin, und ein wackeln am Pin führt zum 
Reset. Debuggen/Programmieren ist nicht möglich.

Umschalten zwischen den 3 Modi kann man per FUSE. Wie kommt man jetzt 
aus Modus 2 und 3 wieder zum Debuggen/Programmieren? Man muß an dem Pin 
einen kurzen 12V-Puls (ist im Datenblatt im UDPI-Teil angegeben) 
anlegen. Dann ist der Pin bis zum nächsten Power-Down wieder Modus 1 
(UDPI).

Den 12V-Puls können die meisten Programmierer/Debugger nicht erzeugen 
(Also vorsichtig verwenden). Mir ist nur der PowerDebugger und 
STK600(kann aber nur programmieren nicht debuggen) bekannt, welche das 
mehr oder minder problemlos erzeugen.

Einfacher Workaround bei ausreichend freien Pins:
1. !RST-Pin als UDPI belassen

2. Anderen, freien I/O-Pin als "Software-Reset" missbrauchen:
Über Pin-Change-Interrupt auf fallende Flanke triggern und im Interrupt 
dann einen Reset (gibt ein SFR dafür) auslösen. Bei Programmstart könnte 
man noch den Zustand dieses Pins abfragen und bei LOW solange warten, 
bis der Pin High wird. Kommt halt darauf an, für was man den Reset 
benötigt.

Hoffe geholfen zu haben.

Robert

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.