Reset am 80515 / 80535

 

 

 

 

 

Was ist ein Reset

 

 

Liste bekannter Zustände nach einem Reset

 

 

 

 

Was ist ein Reset
Reset bedeutet in der Elektrotechnik das elektrische Zurücksetzen einer Baugruppe oder Schaltung auf einen eindeutig definierten Anfangszustand. Bei Prozessoren und hier bei den Einchipcomputern geschieht das Zurücksetzen durch ein Signal an einem der Pinanschlüsse.

Beim MC80515 ist das der Pin 10. Liegt an ihm ein logisches 0-Signal hört die CPU auf zu arbeiten. Dieser Zustand wird beim Start des Mikrocontrollers genutzt um sicherzustellen, dass die CPU erst zu arbeiten beginnt, wenn die Versorgungsspannung eingeschwungen ist und der Takt stabil anliegt. Auch später kann dieses Signal dazu genutzt werden, um die CPU anzuhalten.
Das Signal muss, wenn alle Umgebungsparameter stimmen noch für mindestens 2 Taktzyklen anliegen. Dies wird durch die Flankenerkennung auf dem Chip erzwungen. Wird das Signal nun von 0 auf 1 gelegt, startet der Mikrocontroller seine Arbeit im Programmspeicher, bei Adresse CODE 0000h. Zuvor hat er eine Reihe von Setzungen im SFR-Speicher vorgenommen, die in der nachfolgenden Tabelle aufgelistet sind.
Der Reset kann auch durch interne Vorgänge im MC80515 eingeleitet werden. Wurde der Watchdog-Timer, der die Systemsicherheit erhöhen soll, einmal gestartet und läuft er über, weil sich das System im Programm aufgehängt hat, dann startet auch er einen Reset. Dies bedingt eine Reihe von Überlegungen bei der Programmierung von Reset-Einstiegs-Programmteilen, denn die vom Mikrocontroller gesteuerte Hardware besitzt im Fall des Reset durch den Watchdogtimer sicher einen anderen Zustand, als beim Neustart des Systems. Das gilt natürlich auch für einen eventuell vorhandenen Reset-Knopf.

 

 

 

 

 

Liste der Zustände nach einem Reset

 

 

 

 

 

interner RAM
Der interne RAM wird durch den Reset nicht beeinflusst. Nach dem Anlegen der Versorgungsspannung sind die Speicher undefiniert. Nach einem Warm-Reset, bei dem die Betriebsspannung definiert erhalten blieb, besitzen der untere und der obere RAM ihre ursprünglichen Werte.

 

 

SFR-Register

Die Tore P0-P5 führen ein logisches 1-Signal das durch einen ca. 50kOhm großen Pull-Up Widerstand erzeugt wird.

 

 

 

Der Stackpointer SP enthält die Adresse 07h

 

 

 

Die aktuelle Registerbank ist Bank 0, denn im Flaggenregister wurden die Flaggen gelöscht.

 

 

 

Die Interruptbehandlung wurde abgeschaltet und die Interruptpriorität auf den Standard zurückgesetzt.

 

 

 

Da sich das Handbuch nicht umfassend mit den Resetbedingungen auseinandersetzt, sondern nur behauptet, dass der interne Speicher nicht beeinflusst wird, kann nur vermutet werden, dass auch die Funktionen der Timer des AD-Wandlers usw. abgeschaltet, respektive deren SFR-Register auf 0 gesetzt werden.

Wer sichergehen will, dass er nach einem Reset oder Neustart des Controllers wirklich das bekommt was er haben will, der setzt in seinem Reset-Programm die benötigten Register so, wie sie sein sollen ... ohne sich auf Vermutungen zu verlassen.

 

www.GoBlack.de