Forum: Mikrocontroller und Digitale Elektronik attiny Pull-Down am Reset-Ausgang


von at-user (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte bei meinem Attiny den Reset als Ausgangspin nutzen. Am 
Reset-Pin liegt ein hochohmiger Pull-Down.

Beeinflusst der Pull-Down-Widerstand am Reset die Programmierung des 
Controllers in irgendeiner Weise? Atmel schreibt:

"A low level on this pin for longer than the minimum pulse length will 
generate a reset"

D.h.: Solange der Controller im Dauer-Reset (wegen Pull-Down) ist, ist 
der Controller jederzeit ansprechbar für mein Programmiergerät?

Danke für eine zweite Meinung!

von Stefan F. (Gast)


Lesenswert?

Um den Pin als Ausgang zu verwenden, musst du eine Fuse umstellen. Von 
da an ist es kein Reset Pin mehr. Und ohne Reset-Pin funktioniert die 
ISP Schnittstelle nicht mehr!

von at-user (Gast)


Lesenswert?

Hallo,

das ist mein Ziel. Meine Frage ist komm ich mit der oben angezeigten 
Teil-Schaltung überhaupt dazu, meine Fuses so zu ändern, dass der Reset 
als Ausgang verwendbar ist? D.h. kann ich den Programmiermodus betreten?

von Einer K. (Gast)


Lesenswert?

at-user schrieb:
> Meine Frage ist komm ich mit der oben angezeigten
> Teil-Schaltung überhaupt dazu, meine Fuses so zu ändern, dass der Reset
> als Ausgang verwendbar ist?

Denke schon, wenn der Programmieradapter einen PushPull Stufe für den 
Reset hat...

Aber nur einmal.

Danach nur noch über einen Bootloader, oder per HVS Programmer.

von HildeK (Gast)


Lesenswert?

Dann ja, wenn der Programmer den Reset über einen Push-Pull bedient.
Was hindert dich daran, einfach mal den 10k einzulöten und versuchen, 
ein Programm drauf zu spielen?

von Stefan F. (Gast)


Lesenswert?

Klar geht das, der Widerstand darf nur nicht zu klein sein. Der "Atmel 
ISP MkII" läuft jedenfalls noch mit 220 Ohm Lastwiderstand. Davon bist 
du ja mit "hochohmig" sehr weit entfernt. Wird schon klappen.

von at-user (Gast)


Lesenswert?

>Was hindert dich daran, einfach mal den 10k einzulöten und versuchen,
ein Programm drauf zu spielen?

Es existiert bisher nur der Schaltplan.

von Axel S. (a-za-z0-9)


Lesenswert?

at-user schrieb:
> Meine Frage ist komm ich mit der oben angezeigten
> Teil-Schaltung überhaupt dazu, meine Fuses so zu ändern, dass der Reset
> als Ausgang verwendbar ist? D.h. kann ich den Programmiermodus betreten?

Nur dann, wenn der Programmer Reset aktiv auf H zieht. Das tun wohl die 
meisten, obwohl es nicht zwingend ist. Sobald du Reset per Fuse 
abgeschaltet hast und der Chip durch einen Reset-Zyklus gegangen ist, 
ist es sowieso egal.

von avrst (Gast)


Lesenswert?

at-user schrieb:
>> Was hindert dich daran, einfach mal den 10k einzulöten und versuchen,
>> ein Programm drauf zu spielen?
>
> Es existiert bisher nur der Schaltplan.

[...] den Flash / die DeviceNo auszulesen?

von at-user (Gast)


Lesenswert?

>den Flash / die DeviceNo auszulesen?

Vom gesamten Gerät. Bauteile sind noch nicht bestellt.


Eine zusätzliche Frage hätte ich noch in Bezug auf DEBUG:

Reicht es beim attiny zum Debuggen aus die DWEN-Fuse zu aktivieren oder 
muss ich auch den Reset Pin wieder aktivieren zum Debuggen per Atmel 
Studio?

Ich bin mir unsicher ob ich mit abgeschaltetem Reset Pin überhaupt noch 
mit DebugWire debuggen kann.

von at-user (Gast)


Lesenswert?

Ich denke ich hab die Antwort selbst gefunden:

https://www.avrfreaks.net/forum/affect-rstdisbl-fuse-isp-programming

"As soon as that fuse is set you cannot not do either ISP nor 
debugWire".

D.h. wenn RSTDISBL = TRUE, kann ich DebugWire komplett vergessen
solange ich nicht wieder RSTDISBL = FALSE setze.

von Stefan F. (Gast)


Lesenswert?

Der Debug Wire wird durch eine Fuse aktiviert. Ohne Reset Pin kannst du 
aber keine Fuses mehr einstellen.

von at-user (Gast)


Lesenswert?

>Der Debug Wire wird durch eine Fuse aktiviert. Ohne Reset Pin kannst du
aber keine Fuses mehr einstellen.


Ich hab in die Richtung gedacht, dass ich doch beim RSTDISBL = TRUE auch 
DWEN = TRUE setzen könnte und somit mir den Debugmode noch frei halten 
könnte. Da hab ich falsch gedacht.

von Stefan F. (Gast)


Lesenswert?

at-user schrieb:
>>Der Debug Wire wird durch eine Fuse aktiviert. Ohne Reset Pin
> kannst du aber keine Fuses mehr einstellen.
> Ich hab in die Richtung gedacht, dass ich doch beim
> RSTDISBL = TRUE auch DWEN = TRUE setzen könnte und somit
> mir den Debugmode noch frei halten könnte.

Vermutlich stimmt das sogar. Aber: Dir fehlt dann die Möglichkeit, aus 
dem Debug Modus wieder heraus zu kommen. Der Mikrocontroller wird so 
ohne Debugger nicht lauffähig sein.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Ist es zwingend notwendig, ausgerechnet den RESET-Pin als Ausgang zu 
verwenden? Nach der Umstellung kannst Du den ATTiny nämlich nicht mehr 
neu programmieren, d.h. Dein Programm muss bis dahin 100%ig 
funktionieren.

Jeder erneute Test-Lauf wird dazu führen, dass Du den ATTiny danach 
wegwerfen musst. Außer, Du hast einen Bootloader drauf, der auch 100%ig 
funktioniert. Oder Du hast einen HV-Programmer, mit dem Du wieder den 
Ausgangszustand hinbekommst.

Ich würde erstmal schauen, dass ich ich die Funktionalität ohne 
Umprogrammierung des RESET-Pins hinbekomme. Zeige doch mal Deinen 
Schaltplan.

Abgesehen davon, dass das Debuggen bei abgeschalteter Reset-Fuse nicht 
mehr geht: Was willst Du mit einem Debug-Modus, wenn Du den ATTiny 
anschließend sowieso nicht mehr neu programmieren kannst? Jedesmal einen 
neuen ATTiny zu nehmen, wenn man wieder einen Fehler im Debugger 
gefunden hat, kann ziemlich teuer werden...

: Bearbeitet durch Moderator
von at-user (Gast)


Lesenswert?

>Oder Du hast einen HV-Programmer, mit dem Du wieder den Ausgangszustand 
hinbekommst.

Das ist zurzeit der Plan: Programmieren per HVSP statt ISP.

>Jeder erneute Test-Lauf wird dazu führen, dass Du den ATTiny danach wegwerfen 
musst.

Ein HV-Programmer ala Dragon kann über HVSP-Schnittstelle statt ISP mir 
das neue Flash-File auf den Controller spielen.

>Dein Programm muss bis dahin 100%ig funktionieren.
Geplant ist das gesamte Programm vorher auf einen größeren Controller zu 
schreiben / zu testen und dann zu portieren.

Danke für die Hinweise.

von Einer K. (Gast)


Lesenswert?

Frank M. schrieb:
> Ich würde erstmal schauen, dass ich ich die Funktionalität ohne
> Umprogrammierung des RESET-Pins hinbekomme.

In gewissen Grenzen kann man den ResetPin als Analog Input nutzen.
Ohne Änderung der Fuses

von at-user (Gast)


Lesenswert?

>In gewissen Grenzen kann man den ResetPin als Analog Input nutzen.

http://www.technoblogy.com/show?LSE

"As is well known you can reprogram the internal fuses to reclaim the 
reset pin as an extra I/O pin. What is less well-known is that you can 
actually use the reset pin in a limited way on the ATtiny85 without 
having to reprogram the fuses, provide you avoid taking it below about 
2.5V which will reset the chip."

Ist mir leider zu unsicher.


Atmel schreibt:
>"The reset pin can also be used as a (weak) I/O pin."
Ist das "Weak" bezogen auf den Strom den der Reset-Pin treiben kann?

von at-user (Gast)


Angehängte Dateien:

Lesenswert?

>Ist das "Weak" bezogen auf den Strom den der Reset-Pin treiben kann?

Ich kann mit dem Reset-Pin nicht mal 1mA treiben. Hab ich mir gedacht. 
Als Ausgang also Nutzlos.

von at-user (Gast)


Lesenswert?

Hallo,

ich lese gerade folgendes von Atmel in Bezug auf debugWire:

"All external reset sources or other active drivers on the RESET line 
must be disconnected, since they may interfere with the correct 
operation of the interface" (Quelle: AVR Dragon User Guide)

Hab ich das richtig verstanden, dass bei einer theoretischen Nutzung von 
debugWire eine Ausgangsbeschaltung ("Active Drivers") am Reset-Pin den 
debugWire nicht benutzbar macht?

von Stefan F. (Gast)


Lesenswert?

Der Pin kann drei Funktionen haben, die sich gegenseitig ausschließen:

1) I/O Pin
2) Reset Pin
3) Debug Wire

Über Fuses wird umgeschaltet. Wenn der Pin als I/O Pin konfiguriert ist, 
kannst du ihn gar nicht mehr auf Debug Wire umschalten, weil die ISP 
Schnittstelle schon blockiert ist (denn die benötigt den Reset Pin).

Wenn du ihn anders herum als Debug Wire eingestellt hast, läuft der µC 
nicht ohne Debugger und der Pin ist kein I/O Pin.

"All external reset sources or other active drivers on the RESET line
must be disconnected" bedeutet, dass der Debugger das einzige Gerät sein 
darf, dass diese Leitung von außen ansteuert.

> Hab ich das richtig verstanden, dass bei einer theoretischen
> Nutzung von debugWire eine Ausgangsbeschaltung ("Active Drivers")
> am Reset-Pin den debugWire nicht benutzbar macht?

"eine Ausgangsbeschaltung" kann viel bedeuten, keine Ahnung, was du 
damit meinst.

von at-user (Gast)


Lesenswert?

>dass der Debugger das einzige Gerät sein darf, dass diese Leitung von außen 
ansteuert.

Okay, verstanden. D.h. es darf kein Taster o.ä. angeschlossen sein der 
den Pegel verändern kann.


>"eine Ausgangsbeschaltung" kann viel bedeuten, keine Ahnung, was du damit meinst.

Ich meinte damit z.B. eine Push-Pull-Stufe aber die kann ja die 
Reset-Leitung nicht von aussen ansteuern. Hat sich geklärt.

von Axel S. (a-za-z0-9)


Lesenswert?

at-user schrieb:
>>dass der Debugger das einzige Gerät sein darf, dass diese Leitung von außen
> ansteuert.
>
> Okay, verstanden. D.h. es darf kein Taster o.ä. angeschlossen sein der
> den Pegel verändern kann.

Doch, darf er. Die Verwendung als Reset und für debugWire schließt sich 
nicht grundsätzlich aus. Man darf Reset halt während einer 
Debug-Sitzung nicht auf GND ziehen (ob mit einem Taster oder einem 
open-collector Treiber, ist egal). Aber das sollte selbstverständlich 
sein.

DebugWire erlaubt an Reset einen Pullup von 10K oder größer, sowie 
jegliche weitere hochohmige (und niederkapazitive) Beschaltung. 
Explizit nicht erlaubt ist der oft anzutreffende Kondensator nach GND.

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.