Navigation

Mitglieder Online

· Gäste Online: 1

· Mitglieder Online: 0

· Anzahl Mitglieder: 107
· Neuestes Mitglied: Klimparfed

Neueste Artikel

Login

Benutzername

Passwort



Noch kein Mitglied?
Hier klicken um Dich zu registrieren.

Passwort vergessen?
Um ein neues Passwort anzufordern klicke hier.

Latest Downloads

Forum Themen

Neueste Themen
· Multi-Master IIC Int...
· HCS08 im DIP Gehäuse
· Rotary Encoder
· Serial Software Buffer
· Embedded World 3-5.3...
Heisseste Themen
Keine Themen erstellt

Das System Integration Modul

Das System Integration Modul ( SIM ) kontrolliert zusammen mit der CPU alle Aktivitäten der Microcontrollers. Das SIM ist dabei zuständig für :
- Bustakt generierung und Kontrolle der CPU Peripherie.
- Kontroller des internen Taktes.
- Stop/Wait/Break/Reset Ausführung und Rückkehr.
- Master Reset Kontrolle
- Interrupt Arbitation.

Wenn man den Controller Programmiert dann merkt man meist nicht viel vom SIM, trotzdem ist es ein sehr Zentraler Bestandteil.
Der Bustaktgenerator erzeugt Taktsignale für die CPU und die Peripherie auf dem Controller. Die Systemtakte werden im SIM aus einem Eingangstakt generiert. Der Eingangstakt kann entweder von einem extern Oszillator oder aus einer internen Quelle ( PLL, Interner Oszillator etc. ) kommen.
Für den Bustakt wird der Eingangstakt des SIM durch vier geteilt.

Reset umd Systeminitialisierung

Der Microcontroller hat folgende Reset Quellen :

- Power On Reset Module (POR)
- Externer Reset Pin (RST)
- Computer Operating Properly Module (COP)
- Low Voltage Inhibit Modul (LVI)
- Illegal Opcode (ILOP)
- Illegal Adress (ILAD)

Alle diese Resets laden den Resetvektor aus Adresse $FFFE und $FFFF ( im Monitor Mode $FEFE $FEFF ) und setzen das interne Reset Signal IRST. IRST setzt alle Register auf ihre default Werte zurück und alle Module werden in den Reset Status versetzt. Die externen Pins werden dabei als I/O Port geschaltet und sind Inputs.
Die Reset Recovery Time unterscheidet sich bei POR und LVI von den zeiten bei RST, COP, ILOP und ILAD.
Bei einem POR oder LVI Reset wird 4096 Takte gewartet damit sich der Takt stabiliesieren kann. Danach folgen 64 Takte für die Initialisierung und 3 Takte um den Resetvektor zu laden und an die Startadresse zu springen.
Der Externe Reset Pin verfügt über einen Pullup Widerstand. Solange der RST Pin auf auf Low gezogen ist sind alle aktivitäten des Controllers gestopt. Jedoch für mindestens 67 Takzyklen.
Alle Resets außer RST ziehen den Reset Pin für 32 Taktzyklen auf Low, so könen externe Bausteien die einen Reset Eingang haben auch zurückgesetzt werden.

Beim Power On Reset passiert folgendes :

- Im SIM wird ein POR Puls erzeugt.
- Das interne Reset Signal wird gesetzt.
- Das SIM gibt den Takteingang für den Bustaktgenerator frei.
- Der interne Takt für die CPU und die Module wird für 4096 Takte inaktiv gesetzt damit sich der Takt Stabilisieren kann.
- Der Reset in geht auf Low Pegel.
- Das POR Bit im SIM Reset Status Register (SRSR) wird gesetzt und allen anderen Bits werden gelöscht.
- Die Register und Module werden Initialisiert und die Startadresse aus dem Resetvektor angesprungen.

Der Computer Operating Properly (COP) Reset :

Ein überlauf des COP Zählers erzeugt einen internen Reset. Hierbei wird das COP Bit im SRSR gesetzt und der Reset in auf Low Pegel gezogen. Danach erfolgt die Initialisierung und der Sprung an den Programmstart. Der COP Zähler kann zurückgesetzt werden, indem ein beliebiger Wert an Adresse $FFFF geschrieben wird. Im Monitor Mode ist das COP Modul abgeschaltet.

Illegal Opcode Reset :

Das SIM dekodoert Signale von der CPU um illegale Anweisungen zu erkennen. Ein Illegaler Opcode setzt das ILOP Bit im SRSR und löst einen Reset aus. Wenn das Stop Bit im Konfigurationsregister 0 st, dann wird auch der STOP Befehl als illegaler Opcode bewertet. Der Rest ist wie gehabt, der Reset Pin wird au Low gezogen, der Controller 64 Takte lang Initialisiert, die Startadresse aus dem Resetvektor geladen und an die Startadresse gesprungen.

Illegal Adress Reset :

Wenn ein Befehl von einer nicht vorhandenen Speicheradresse geladen wird, wird ein Illegal Adress Reset erzeugt. Wenn dort daten geladen werden sollen wird kein Reset erzeugt. Das ILAD Bit im SRSR wird gesetzt und ein Reset erzeugt.

Low Voltage Inhibit Reset :

Ein LVI Reset wird erzeugt wenn die Versorgunsspannung unter den im Konfigurationsregister eingestellten Wert fällt. Danach folgt das Prozedere wie beim POR.

Das SIM Reset Status Regster seht wie folgt aus :

POR
PIN
COP
ILOP
ILAD
0
LVI
0

Die Interrupts werden in einem separatem Artikel behandelt.
Seitenaufbau: 0.08 Sekunden
699,172 eindeutige Besuche