SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

ELEKTRONIK

Interrupts (Programmunterbrechungen)

Hierbei handelt es sich um die Unterbrechung des laufenden Programms durch die Hardware (IRQ-Signal, z. B. von der Peripherie) oder durch die Software. Es wird ein anderes Programm (= Interrupt Service Routine, ISR) nach Beendigung des laufendenBefehls gestartet.

Anwendungen:

  • Quasiparallele Ausführung mehrerer Programme (normalerweise nur Hauptprogrammund ISR) - Parallelarbeit von Programmen und externen Geräten (interruptgesteuerterE/A-Transfer)
  • Reaktion auf unvorhersehbare Ereignisse (z. B. Spannungsabfall)
  • Testen von Programmen mittels Breakpoints (SW-Interrupt)
  • Aufruf von Betriebssystemfunktionen (SW-Interrupt)

Aufgaben der CPU bei einen Interrupt:

  1. Abspeichern von Registerinhalten (bei 68HC11 im Stack)

  2. Setzen der Interruptmaske zum Sperren weiterer Interrupts
    (Unter Berücksichtigung der Priorität)

  3. Laden der Startadresse (= Interrupt-Vektor) der ISR in den PC
    • Der Interruptvektor steht an einer hardwaremäßig vorgegebenen Adresse, die von der Art des Interrupts abhängt.
    • Je nach Interrupt-Art wird die entsprechende Interrupt-Vektor-Adresse auf den Bus gegeben.
    • In den so adressierten Speicherzellen steht dann die Startadresse der ISR (= Interrupt-Vektor), die in den PC gebracht wird Start der ISR

  4. Fortsetzung des unterbrochenen Programms nach der Interrupt-Bearbeitung: RTI-Befehl
    • weggespeicherte Register werden vom Stack geholt
    • PC erhält Adresse des nächsten Befehls des unterbrochenen Programms

Im allgemeinen wird ein Hardware-IRQ erst am Ende eine Befehlszyklus bedient. Außer dem PC und dem Stackpointer werden keine Register beeinflußt. Interrupts können geschachtelt werden (3 Ebenen).

Interruptsystem des 68HC11:

SignalRESETUnbedinger Abbruch und Neustart
SignalXIRQ & (X-Bit = 0)Unbedingte Unterbrechung (non maskable interrupt)
SignalIRQ & (I-Bit = 0)Bedingte Unterbrechung (interrupt request)
(kann auch interne Ursachen haben)
I-Bit beeinflußbar durch die Befehle SEI/CLI
BefehlSWIBefehlsgesteuerte Unterbrechung (software interrupt)
BefehlIllegal OpcodeNicht implementierter Befehl

Beim Auftreten eines Interrupts wird das I-Bit auf 1 gesetzt (Sperren IRQ), bei Reset und XIRQ auch das X-Bit. Beim RTI wird durch das Zurückschreiben des Statusregisters diese Sperre automatisch wieder aufgehoben. Das X-Bit kann nicht per Programm beeinflußt werden.

Jedem dieser Interrupts ist eine eindeutige Interrupt-Vektor-Adresse (= Adresse, unter welcher der Interrupt-Vektor, also die Adresse der Interrupt-Serviceroutine, zu finden ist) zugeordnet:

Zu jeder Interrupt-Art ist eine eigene ISR möglich. Zumindest der RESET-Vektor muß bei Einschalten vohanden sein ROM im höchsten Adreßbereich nötig.

Beispiel: Starten der Interrupt-Service-Routine für XIRQ

Grundsätzlich gilt für Programme mit Interrupt-Serviceroutinen, daß vier Schritte für die Initialisierung (zu Beginn des Hauptprogramms) nötig sind:

  1. Setzen des System-Stackpointers
    Solange er nicht gesetzt ist, werden keine Interrupts entgegengenommen.

  2. Initialisierung der Hardware
    In der Regel werden Interrupts von E/A-Bausteinen ausgelöst. Diese müssen entsprechend programmiert werden.

  3. Setzen des Interruptvektors
    Siehe oben.

  4. Freigeben des Interrupts durch Setzen des entsprechenden I-Flags im CC-Register auf 0. Bei einer ISR für XIRQ entfällt dieser Punkt natürlich.

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere