Forum: Mikrocontroller und Digitale Elektronik AVR UPDI und Reset


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Droid E. (eedroid)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Ah, mist: Soll: ATtiny3216

von Droid E. (eedroid)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Sorry, kann das mal einer für mich zusammen fassen :(

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


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Dann mal vielen Dank euch beiden!

von Robert (Gast)


Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.