Forum: Mikrocontroller und Digitale Elektronik Reset 0 oder 1


von Sven (Gast)


Lesenswert?

Hallo Forum,

bin nun etwas verwirrt.
ich habe einen ATMega 32
Ich kann mein Programm übertragen, alles ohne Fehlermeldungen. 
Allerdings passiert nichts :-( programm passt zu 100% wenn ich den 
Controller in eine andere Platine stecke funktioniert alles soweit.

an meinem Reset liegen "0V" an. passt das oder benötige ich dort eine 
"1"?

von Jim M. (turboj)


Lesenswert?

Sven schrieb:
> an meinem Reset liegen "0V" an.

RTFM. Reset ist active Low.

von Michael B. (laberkopp)


Lesenswert?

dAZU GUCKT MAN INS dATENBLATT
http://ww1.microchip.com/downloads/en/devicedoc/doc2503.pdf
UND FINDET
RESET Reset Input. A low level on this pin for longer than the minimum 
pulse length will generate a
reset, even if the clock is not running. The minimum pulse length is 
given in Table 15 on page
37. Shorter pulses are not guaranteed to generate a reset.
Mit 0 bleibt der uC also im RESET stehen.

: Bearbeitet durch User
von Jörg B. (jbernau)


Lesenswert?

Sven schrieb:
> an meinem Reset liegen "0V" an. passt das oder benötige ich dort eine
> "1"?

Google mal bitte nach einem Pull-Up Wieeeederstand. ( ;-) ) Vielleicht 
bringst Du dann ein wenig Selbstinitiative ein, anstatt hier von 
Benutzern zu erwarten, dass sie Deinen Lehrer spielen.

VG

Jörg

von Jens M. (schuchkleisser)


Lesenswert?

Die Frage ist falsch, denn 0V ist 1.
Du musst 0 anlegen, ist doch klar: "Reset active? False"

von Route_66 H. (route_66)


Lesenswert?

Jens M. schrieb:
> Du musst 0 anlegen, ist doch klar: "Reset active? False"

Hallo "kluchscheisser", die 0 als ASCCI 0 (0x30) oder binär 00?

von ElektroHeini (Gast)


Lesenswert?

Also nochmal ausführlich: (der Rest ist für Leien schwer veständlich)

Der Reset wird aktiviert, wenn 0V am Pin anliegen, bei Vcc arbeitet der 
Kontroller normal.

=>
     Reset = Logisch 1 = 0V
kein Reset = Logisch 0 = Vcc

Dieses verhalten ist anders als normal und wird als Invertierter eingang 
Beszeichnet. (aus 0V wird Logisch 1 und umgekehrt)

Diese Pins gibt es öfters bei Sonderfunktionen. Weiß auch nicht warum, 
ist halt so. ;-)

Hoffe ich habe micht verständlich ausgedrückt,

LG

von Jens M. (schuchkleisser)


Lesenswert?

Route 6. schrieb:
> Hallo "kluchscheisser", die 0 als ASCCI 0 (0x30) oder binär 00?

Ein Byte oder 2 Bits auf einen digitalen Eingang, lol.

Eine 1 aktiviert den Eingang, eine 0 deaktiviert ihn, wie an jedem 
anderen digitalen Eingang auch.
Dümmlicherweise ist das hier 1 entsprechend 0V (oder auch Low genannt) 
und 0 entsprechend VCC (oder High).
Aber so grundsätzliche Sachen stehen im Datenblatt und einer Million 
Tutorials im Netz. Keine Ahnung warum man das nicht findet...

von Rolf M. (rmagnus)


Lesenswert?

Route 6. schrieb:
> Jens M. schrieb:
>> Du musst 0 anlegen, ist doch klar: "Reset active? False"
>
> Hallo "kluchscheisser", die 0 als ASCCI 0 (0x30) oder binär 00?

Dazu müsstest du erstmal erklären, wie du ein ASCII-Zeichen an einem Pin 
"anlegen" willst.

ElektroHeini schrieb:
> Dieses verhalten ist anders als normal und wird als Invertierter eingang
> Beszeichnet.

Das erkennt man übrigens auch an dem Strich über der Bezeichnung des 
Pins. Dieser Strich kennzeichnet in der binären Logik eine Invertierung.
Es ist also eigentlich nicht der "RESET"-Pin, sondern der "nicht 
RESET"-Pin.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Jens M. schrieb:
> Eine 1 aktiviert den Eingang, eine 0 deaktiviert ihn

was soll denn das heissen?

eine 0 am Reset aktiviert den reset ja wohl, deswegen ist der ja auch 
negiert gekenzeichnet!

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Nope.
1 = aktiv = Reset.
Das du nicht lesen kannst das der Eingang invertiert ist ist nicht meine 
Schuld.
Es gibt einen Unterschied zwischen 1/0 und High/Low.

von Joachim B. (jar)


Lesenswert?

0V hält den jedenfalls dauerhaft im reset, egal was du glaubst zu wissen 
und das ist der Fehler beim TO

Sven schrieb:
> Allerdings passiert nichts :-( programm passt zu 100% wenn ich den
> Controller in eine andere Platine stecke funktioniert alles soweit.
> an meinem Reset liegen "0V" an.

vielleicht lernst du erst mal lesen!

0V ist aktiv am reset, deine Spitzfindigkeiten helfen dir nicht.

von Rolf M. (rmagnus)


Lesenswert?

Jens M. schrieb:
> Nope.
> 1 = aktiv = Reset.

Das widerspricht dem Datenblatt. Aus der Anleitung, wie man 
Programmierung per SPI macht:

Both the Flash and EEPROM memory arrays can be programmed using the 
serial SPI bus while R̅E̅S̅E̅T̅ is pulled to GND.
[…]
1.    Power-up sequence:
Apply power between VCC and GND while R̅E̅S̅E̅T̅ and SCK are set to “0”.

[…]
8.    Power-off sequence (if needed):
Set R̅E̅S̅E̅T̅ to “1”.
Turn VCC power off.

Die Zahlen stehen hier in Anführungszeichen, weil es in dem Kontext 
eigentlich gar kein 1 und 0 gibt. Der Pin kann low oder high sein. Low 
heißt Reset, high heißt kein Reset. Eine Interpretation des Reset als 
Zahl ist nur mäßig sinnvoll.

: Bearbeitet durch User
von Ingo Less (Gast)


Lesenswert?

Leute, uhr müsst einfach die Amper am Reset hochskillen

von Stefan F. (Gast)


Lesenswert?

Man kann auch alles zerreden.

@Sven: Der Reset-Eingang ist negiert, deswegen ist er bei LOW pegel 
aktiv. Negierte Eingänge erkennst du in Datenblättern daran, daß ihr 
Name einen Überstrich hat, oder mit einem "/" beginnt oder mit einem 
kleinen "n" beginnt.

Manchmal halten sich Chiphersteller nicht an diese Konverntion, deswegen 
rate ich dazu, auch den Beschreibungstext zu elsen.

von Jens M. (schuchkleisser)


Lesenswert?

Oder im Symbol ist ein Kringel vor dem Eingang.

Ändert aber alles nichts dran, das ein Eingang seine Funktion ausübt, 
wenn er aktiv ist. Also logisch 1 hat. So wie jeder andere digitale 
Eingang auch.

Was bei Kringel, Strich drüber, / oder n vor dem Namen bedeutet, das der 
Pin mit GND/0V/Masse/Minus/VEE/VSS verbunden werden muss, damit er 
logisch 1 wird und Reset damit aktiv ist.
Denn das so gemalte Symbol bedeutet, das eine übliche nichtinvertierte 1 
= High an diesem Pin die Funktion nicht ausübt, daher auch das kleine 
n vor Reset: nReset heißt NotReset. Also High = Not Reset. 
Entsprechendes gilt für die anderen Darstellungsweisen.

Alles voller Profis hier....

von Joachim B. (jar)


Lesenswert?

Jens M. schrieb:
> Was bei Kringel, Strich drüber, / oder n vor dem Namen bedeutet, das der
> Pin mit GND/0V/Masse/Minus/VEE/VSS verbunden werden muss, damit er
> logisch 1 wird und Reset damit aktiv ist.

und das schrieb der TO: (für Leseschwache)

Sven schrieb:
> an meinem Reset liegen "0V" an

was du da interpretierst weisst nur du!

von Schlumpf (Gast)


Lesenswert?

Jens M. schrieb:
> Also logisch 1 hat. So wie jeder andere digitale
> Eingang auch.

Du verwechselst "wahr" oder "true" mit "1".
Es gibt keine logische "1".
Es gibt nur "true" oder "false". Also Aussage ist wahr oder falsch.

Erst in der boolschen Algebra wird dann "wahr" durch eine "1" und 
"false" durch eine "0" repräsentiert.


Jens M. schrieb:
> Alles voller Profis hier....

Diese Aussage ist "falsch".
Sie kann nur falsch sein.

Denn:
Die Aussage "Jens M. ist in diesen Forum" ist wahr.
Die Aussage "Jens M.s Beitrag war inhaltlich korrekt" ist falsch.

Mit der Bedingung, dass Profis KORREKTE Aussagen machen gilt:
Jens M. ist kein Profi.

Wenn nun Aber Jens M. kein Profi ist UND in diesem Forum ist, dann ist 
die Aussage "Alles voller Profis hier" falsch.

Diesen logischen Zusammenhang darfst jetzt gerne in Boolscher Algebra 
darstellen. Denn erst dann kommen die "1" und "0" ins Spiel!

scnr

von Jens M. (schuchkleisser)


Lesenswert?

TO schrieb

Sven schrieb:
> an meinem Reset liegen "0V" an. passt das oder benötige ich dort eine
> "1"?

0V ist Low. 1 ist true. Beides bedeutet an einem Pin mit invertierter 
Logik, das er aktiv ist.
Nicht Spannungspegel und Logikpegel vermischen.
Es würde somit genau gar keine Änderung eintreten, wenn man den 
Low-Aktiven Eingang der mit 0V verbunden ist mit einer logischen 1 
beschaltet.

Den Unterschied in der Booleschen Algebra mit dem 0/1 und True/False 
musst du mir mal erklären bitte.
Das eine ist zum rechnen, das andere zum schreiben, z.B. in Programmen.
Ansonsten aber Bedeutungsgleich, da auf binäre Werte bezogen.

Low/High dagegen bezieht sich auf Spannungspegel.
Die an invertierten Aus- und Eingängen eben nicht mehr die 
0=Low-Beziehung haben.
Kuckstu Flipflop: Q und /Q. Wenn /Q nicht "nicht Q" durch H anzeigt, 
warum heißt es dann nicht z.B. P?

von geert (Gast)


Lesenswert?

Jens M. schrieb:
> Nicht Spannungspegel und Logikpegel vermischen.
> Es würde somit genau gar keine Änderung eintreten, wenn man den
> Low-Aktiven Eingang der mit 0V verbunden ist mit einer logischen 1
> beschaltet.

Nicht Spannungspegel und negative Logik vermischen.

von Axel L. (axel_5)


Lesenswert?

ElektroHeini schrieb:
> Also nochmal ausführlich: (der Rest ist für Leien schwer veständlich)
>
> Der Reset wird aktiviert, wenn 0V am Pin anliegen, bei Vcc arbeitet der
> Kontroller normal.
>
> =>
>      Reset = Logisch 1 = 0V
> kein Reset = Logisch 0 = Vcc
>
> Dieses verhalten ist anders als normal und wird als Invertierter eingang
> Beszeichnet. (aus 0V wird Logisch 1 und umgekehrt)
>
> Diese Pins gibt es öfters bei Sonderfunktionen. Weiß auch nicht warum,
> ist halt so. ;-)
>

> LG

Weil 0V immer definiert ist, während VCC gerade beim Einschalten 
irgendwas zwischen 0V und 5,5V sein kann.

Somit werden 0V den low aktiven Reset immer sicher aktivieren, während 
ein high aktiver Reset immer relativ zur anliegenden Versorgungsspannung 
gesehen werden müsste.

Gruß
Axel

von Rolf M. (rmagnus)


Lesenswert?

Axel L. schrieb:
>> Diese Pins gibt es öfters bei Sonderfunktionen. Weiß auch nicht warum,
>> ist halt so. ;-)
>
> Weil 0V immer definiert ist, während VCC gerade beim Einschalten
> irgendwas zwischen 0V und 5,5V sein kann.
>
> Somit werden 0V den low aktiven Reset immer sicher aktivieren, während
> ein high aktiver Reset immer relativ zur anliegenden Versorgungsspannung
> gesehen werden müsste.

Beim AVR könnte es vielleicht auch was damit zu tun haben, dass dieser 
Pin auch elektrisch speziell ist, da er noch eine dritte Option kennt: 
+12V für High-Voltage-Programming. Das ist der einzige Pin, bei dem es 
erlaubt ist, mehr als Vcc+0,5V anzulegen.
Warum hier so viel auf 0 und 1 rumgeritten wird, ist mir nicht klar. Es 
ist doch ganz einfach: Low-Pegel heißt, dass der µC im Reset-Zustand 
ist, high-Pegel heißt, dass er es nicht ist. Ob man diese Zustände jetzt 
zusätzlich 1 und 0, wahr und falsch oder Asterix und Obelix (*) nennen 
will, spielt dafür gar keine Rolle. Allerdings wäre ich schon neugierig, 
wie die Diskutanten wohl den dritten Zustand nennen.

*) ich musste grad amüsiert feststellen, dass meine Rechtschreibprüfung 
zwar Asterix kennt, nicht aber Obelix.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Rolf M. schrieb:
> Die Zahlen stehen hier in Anführungszeichen, weil es in dem Kontext
> eigentlich gar kein 1 und 0 gibt.

Völlig richtig. Deswegen vermeiden die Datenblätter der meisten
Digitalbausteine diese Bezeichnungen und verwenden stattdessen H und L.
Zu numerischen Werten werden die Spannungspegel erst dann, wenn sie in
einem der I/O-Register des Mikrocontrollers ankommen und damit für
Rechenoperationen wie z.B. Addition oder Subtraktion verfügbar werden.
Das geschieht beim Reset-Eingang aber nicht, es sei denn, man
konfiguriert ihn (wie bei vielen AVRs möglich) als digitalen I/O-Pin.
In diesem Fall entspricht ganz klar low der 0 und high der 1.

Jens M. schrieb:
> 1 = aktiv = Reset.

Wenn man die Aktivität unbedingt mit Zahlenwerten beschreiben muss oder
will, ist auch das richtig.

Aus

  RESET = 1       (1)

folgt

  R̅E̅S̅E̅T̅ = 0       (2)

Da der Eingang nicht RESET, sondern R̅E̅S̅E̅T̅ heißt, muss gemäß
Gleichung 2 zur Auslösung eines Resets eine 0 hineingeschickt werden.
Durch die (reale oder virtuelle) Invertierung im Inneren des AVR wird
daraus eine 1 (= aktiv, Gleichung 1).

Entsprechend muss am Eingang im normalen Betrieb eine 1 anliegen, damit
der interne Reset 0 (= inaktiv) wird und die CPU des Mikrocontrollers
losmarschieren kann.

Ich bin mir aber sicher, dass dir das alles völlig klar ist und du
lediglich die falschen Schlüsse daraus gezogen hast.

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