Forum: Mikrocontroller und Digitale Elektronik Attiny202 kein externer Reset


von Bernd (berndbenhof)


Lesenswert?

Liebe Leute, ich brauche Hilfe!

Ich programmiere meinen ATtiny202 über die Ardoino Software
via jtag2updi. Das funktioniert wunderbar.
Allerdings brauche ich auch den UPDI-Pin in meiner Anwendung
für einen externen Reset. Das funktioniert leider nicht!
Selbst der 10k Widerstand am Resetpin für ein Pullup macht Problem
so das ich den Controller nicht mehr flashen kann.

Ich bitte um eure Hilfe!

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


Lesenswert?

Bernd schrieb:

> Ich programmiere meinen ATtiny202 über die Ardoino Software
> via jtag2updi.

Interessanter wäre die Nennung der Programmer-Hardware. Unterstützt 
diese die sog. "UPDI highvoltage enable sequence" gem. Datenblatt Abs. 
30.2.4.?

Grüßle,
Volker

von Bernd (berndbenhof)


Lesenswert?

Hallo Volker,
danke für deine schnelle Antwort!

Ich benutze ein Nano Board.

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


Lesenswert?

Bernd schrieb:

> Ich benutze ein Nano Board.

Sorry, das kenne ich nicht, würde aber vermuten, dass es besagte "UPDI 
highvoltage enable sequence" nicht behrerrscht.

Grüßle,
Volker

von Bernd (berndbenhof)


Lesenswert?

Hallo Volker,
aber der Controller läßt sich doch wunderbar flashen.
Vielleicht muß ich auch nur in meiner SW eine Fuse umstellen?

von Peter D. (peda)


Lesenswert?

Bernd schrieb:
> Allerdings brauche ich auch den UPDI-Pin in meiner Anwendung
> für einen externen Reset.

Wozu?
Ich habe noch nie ein externes Reset gebraucht. Man schreibt einfach die 
Software so sauber, daß sie nach dem Power-On 24/7 durchläuft, ohne 
abzustürzen.
Ein dirty Hack wäre, über den Watchdog ein CPU-Reset zu erzwingen.
Sind die Pins knapp, nimm besser den ATtiny204.

von Bernd (berndbenhof)


Lesenswert?

Danke Peter,
ich gebe dir natürlich Recht!
Mein Kunde "verlangt" nach dieser/einer externen Möglichkeit.
Mir würde es auch reichen wenn ich diesen UPDI-Pin auch als einfachen
Input-Pin benutzen könnte. Aber selbst da habe ich Probleme.
Kannst du mir einen Tip geben wie ich diesen Pin in meiner SW
als Input benutzen kann?

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


Lesenswert?

Bernd schrieb:

> aber der Controller läßt sich doch wunderbar flashen.
> Vielleicht muß ich auch nur in meiner SW eine Fuse umstellen?

Sorry, offensichtlich bin ich nicht in der Lage, Deine Kommunikation zu 
verstehen. Im Eingangspost schriebst Du:
"Das funktioniert leider nicht!
Selbst der 10k Widerstand am Resetpin für ein Pullup macht Problem
so das ich den Controller nicht mehr flashen kann."

Was gilt nun? "läßt sich doch wunderbar flashen" oder "so das ich den 
Controller nicht mehr flashen kann"

Ich befürchte, Du musst Deine Probleme selber lösen.

Grüßle,
Volker

: Bearbeitet durch User
von Jack V. (jackv)


Lesenswert?

Bernd schrieb:
> Vielleicht muß ich auch nur in meiner SW eine Fuse umstellen?

Ja. SYSCFG0.RSTPINCFG, Datenblatt Seite 38. Es sollte aber klar sein, 
dass du den μC ohne einen Programmer, der den 12V-Enable-Puls senden 
kann, danach nicht wieder programmieren können wirst, also auch die 
Fuse-Bits nicht wieder zurücksetzen kannst.

Um es nochmal klar zu sagen: ohne entsprechende Hardware, nur mit deinem 
Nano als Programmer, ist das eine Einbahnstraße!

: Bearbeitet durch User
von Bernd (berndbenhof)


Lesenswert?

Danke, habe ich verstanden!!

Helfen würde mir wenn ich diesen Pin als einfachen input benutzen 
könnte.
Aber wie?

von Jack V. (jackv)


Lesenswert?

Wie jeden anderen Pin auch. Es gibt ein Datenblatt, weißt du?

Ohne dir zu nahe treten zu wollen: Wenn ich „Ardoino[sic!]“ und Nano mit 
dem veralteten jtag2updi als Programmer im Zusammenhang mit „Kunde“ 
lese, kommen mir leichte Zweifel, ob das alles so sinnvoll ist.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Bernd schrieb:
> Helfen würde mir wenn ich diesen Pin als einfachen input benutzen
> könnte.
> Aber wie?

Bei den alten ATtiny85 konnte man den Pin als analog Input auslesen, 
wenn man über einen Spannungsteiler Spannungen über dem Resetlevel 
anlegt.
Z.B. kann man so unterscheiden, ob 5,0V oder 4,5V anliegen. Zum Taste 
abfragen reicht das. 4 Level, d.h. 2 Tasten abfragen, sollte auch gehen.

: Bearbeitet durch User
von Jack V. (jackv)


Lesenswert?

Bei den neueren ist’s direkt als digitaler Input-Pin mit internem 
Pull-Up nutzbar.

von Bernd (berndbenhof)


Lesenswert?

Danke Peter,

das hat funktioniert!

Vielen Dank an alle!

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Jack V. schrieb:
> Bei den neueren ist’s direkt als digitaler Input-Pin mit internem
> Pull-Up nutzbar.

Aber wohl nur, wenn man UPDI disabled (RSTPINCFG[1:0] = 0x0).

von Jack V. (jackv)


Lesenswert?

Peter D. schrieb:
> Aber wohl nur, wenn man UPDI disabled (RSTPINCFG[1:0] = 0x0).

Zumindest bei 1-Series funktionierts’s auch so ganz ausgezeichnet – grad 
zur Sicherheit mit ’nem Tiny412 ausprobiert. 0-Series hab ich leider 
nicht zum Testen hier, sollte™ aber nicht anders sein.

Auf GPIO muss man den nur setzen, wenn man ihn als Ausgang braucht. Oder 
als Analog In … deswegen wundert mich ein wenig, dass es beim TE so 
funktionieren soll.

Edit, Nachtrag: Allerdings ist das mit dem HV-Puls theoretisch weit 
einfacher, als HVSP bei den alten Tinys, wenn man die mal entsprechend 
verfused hatte. Tatsächlich braucht’s bloß einen kurzen 12V-Puls auf den 
Pin, und innerhalb einer definierten Zeitspanne dann gültige UPDI-Daten 
(mit normaler Spannung). Eigentlich™ sollte man das Standalone bauen 
können, leider fehlen mir selbst dazu noch gewisse Kenntnisse. Ich 
arbeite daran.

: Bearbeitet durch User
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.