PatentDe  


Dokumentenidentifikation DE4406094C2 13.04.2000
Titel Vorrichtung zum Betrieb einer Steuerungsanwendung
Anmelder LP Elektronik GmbH, 88250 Weingarten, DE
Erfinder Munz, Heinrich, Dipl.-Ing.(FH), 88368 Bergatreute, DE;
Leibinger, Josef, Dipl.-Ing.(FH), 88250 Weingarten, DE
Vertreter Lichti und Kollegen, 76227 Karlsruhe
DE-Anmeldedatum 25.02.1994
DE-Aktenzeichen 4406094
Offenlegungstag 31.08.1995
Veröffentlichungstag der Patenterteilung 13.04.2000
Veröffentlichungstag im Patentblatt 13.04.2000
IPC-Hauptklasse G06F 9/46
IPC-Nebenklasse G06F 9/40   

Beschreibung[de]

Die Erfindung betrifft eine Vorrichtung zum Betreiben einer Steuerungsanwendung.

In dem Zeitschriftenartikel Schramm, Dr. Mathias; Siering, Peter: Blitz ohne Donner, Hardware-Interrupts unter Windows, c't 1994, Heft 2, Seite 188-191, ist angegeben, daß es unter dem Betriebssystem Windows praktisch keinen Echtzeit-Betrieb im Sinne der DIN-Definition gibt.

Im Sinne dieser DIN-Definition bezeichnet man damit die Reaktionen eines Computer-Systems auf externe Unterbrechungen (Interrupts) innerhalb einer vorgegebenen (kurzen) Zeit. Ein wichtiger Begriff, der die Leistungsfähigkeit eines Systems charakterisiert, ist die Interrupt-Latenzzeit. Diese typische Systemkonstante beschreibt die maximale Zeit, die zwischen externen Anforderung (Interrupt-Request) und Reaktion des Steuerungsprogrammes vergehen kann. Sie liegt in der Meßtechnik je nach spezieller Anforderung im Bereich von einigen Mikrobis zu einigen Millisekunden.

Setzt eine externe Hardware eine Interrupt-Leitung des 8259 A-Programmable-Interrupt-Controllers auf logisch 'high', so sendet dieser die zugeordnete Vektornummer (0 bis 255) an den Prozessor, der seinerseits den Aufruf der jeweiligen Behandlungsroutine initiert. Unter MSDOS dauert dieser Vorgang 12 bis 15 Mikrosekunden; unter Windows jedoch gelangt die Interrupt-routine nicht direkt zum Ablauf. Teile des virtuellen Interrupt-Controller-Treibers (VPICD) werden zur Initialisierung aufgerufen, was die Interrupt-Latenzzeit typischerweise auf circa 50 Mikrosekunden erhöht. Das Eintreffen höher priorisierter Interrupts zum Beispiel von einem Timer oder Netzwerk kann den Ablauf der Initialisierung unterbrechen, so daß bei Systemen mit hoher Belastung diese Zeiten massiv überschritten werden können.

Es war bisher also nicht möglich, unter dem Betriebssystem Windows eine konstante Interrupt-Latenzzeit zu definieren, weil das System unterschiedlich schnell auf unterschiedliche Interrupt-Anforderungen reagierte.

Es ist bisher so, daß die externen Hardware-Interrupt-Quellen durch einen Software-Befehl maskiert werden könne, was bedeutet, daß diese Interrupt-Quellen nicht bearbeitet werden, wenn dies von der Software verlangt wird. Dies führt software-bedingt zu einer nicht vorhersagbaren Interrupt- Latenzzeit, was bisher einen Echtzeit-Betrieb unter dem Betriebssystem Windows verhinderte.

Dieser Nachteil gilt im übrigen auch für alle anderen nicht-echtzeitfähigen Betriebssysteme, wie z. B. DOS, UNIX, Windows-NT, und andere, wie z. B. MacIntosh.

Duncan, R.: MS-DOS für Fortgeschrittene (Braunschweig 1987, S. 211 ff) ist zu entnehmen, daß ein üblicher Prozessor für einen Personalcomputer einen Anschluß für maskierbare Interrupts (INTR) und einen Anschluß für nicht-maskierbare Interrupts (NMI-Eingang) aufweist. Der Druckschrift ist weiterhin zu entnehmen, daß übliche Interrupts, wie solche zur Komplettierung eines Ein- und Ausgabeprozesses, auf den INTR-eingang gelegt werden, während der NMI-Eingang für Interrupts aufgrund von Fehlern oder "Katastrophen" (S. 211) vorgesehen ist, wie beispielsweise bei Fehlern in den Speicherbausteinen eines Rechners oder bei Stromausfall. Der Druckschrift ist weiterhin zu entnehmen (S. 214 vierter Abs.), daß diese Zuordnung vom Hersteller des Computersystems oder dem Hersteller der peripheren Schnittstelle vorgenommen wird und die Zuordnungen fest verdrahtet sind, d. h. sie sich durch Software nicht ändern lassen.

Die nicht-sperrbare Unterbrechung war von den PC-Architekten primär zur Fehlerüberwachung der dynamischen Speicher vorgesehen, weil die dynamischen Speicher führer sehr fehleranfällig waren und daher durch eine sogenannte Parity- Logik anhand eines durch eine Scheck-Summe gebildeten Parity-Logik anhand eines durch eine Ceck-Summe gebildeten Parity-Bits (als neuntem Bit) überwacht wurden. Beim Schaltvorgang wurde über das 8-Bit-Wort eine Check-Summe gebildet und im neuten Bit gespeichert. Bei einem Lesevorgang wurde wiederum die Check-Summe über das 8-Bit-Wort gebildet, nun aber mit dem ausgelesenen Wert des neuten Bits verglichen. Lieferte der Vergleich eine Ungleichheit, so wurde die nicht-sperrbare Unterbrechung (NMI) ausgelöst, was dann zu der berühmt-berüchtigten Fehlermeldung "parity error occurred, system halted" (DOS-Meldung) führte.

Der DE 33 35 549 A1 ist zu entnehmen, daß bei den genannten gravierenden Fehlern, bei denen eine Unterbrechungsanforderung dem NMI-Eingang, wie dort dargestellt sit, zugeführt wird, entweder ein vollständiger Neustart der Datenverarbeitungsanlage und damit des Prozessors bewirkt wird oder aber die Datenverarbeitungsanlage blockiert wird, was beinhaltet, daß die Behandlungsroutine mit gesperrten, normalen Interrupts in eine Endlosschleife geführt wird. Das System kann dann nur durch einen Hardware-Reset oder Aus-/Einschalten zum Neustart veranlaßt werden.

In jedem Falle geht aber der Zustand einer Anwendungssoftware zu diesem Zeitpunkt, gehen sämtliche Daten, wie Berechnungen, verloren.

Schrader W., HardBreaker - PC-Hardware-Debugger in Theorie und Praxis (c't 1993, S. 188 ff) befaßt sich mit dem sogenannten Debugging. Es handelt sich hierbei um das Prüfen eines neu erstellten Programmes auf Fehler in demsleben mittels eines sogenannten Debuggers. Dieser dient dazu, das Programm schrittweise auf dem Prozessor ablaufen zu lassen und den Arbeitsablauf zu unterbrechen, wenn im Programm ein Fehler auftritt, damit der Programmierer dann feststellen kann, an genau welcher Stelle im Programm der Ablauf unterbrochen und damit der Prozessor angehalten wurde und an genau welcher Stelle cih daher im Programm ein Fehler befindet. Dieser Einsatz des NMI zum Debuggen ist mit der erfindungsgemäßen Anwendung nicht vergleichbar. Auch hier handelt es sich - oder soll es sich handeln -, wie beim Stoppen des Prozessors aufgrund von Fehlern, insbesondere Parity-Fehlern, um ein seltenes außergewöhnliches Ereignis - im Programm sollten eigentlich keine Fehler sein -, das zum Abbruch des Ablaufs und damit Anhalten des Prozessors führt.

Der Erfindung liegt die Aufgabe zugrunde die Steuerung einer vom Computer selbst verschiedenen, d. h. externen Steuerungsanwendung, wie die Steuerung eines Prozesses, eines industriellen Regelsystems, einer Maschine oder aber die Durchführung anderer industrieller Steueranwendung mittels eines Prossesors für Personalcomputer und einem nicht echtzeit-fähigen Betriebssystem ermöglichen.

Erfindungsgemäß wird die genannte Aufgabe gelöst mit einer Vorrichtung nach dem Anspruch 1 zum Betreiben einer Steueranwendung.

Durch die Erfindung wird es möglich einem herkömmlichem Personalcomputer mit einem nicht-echtzeitfähigen Betriebssystem Echtzeitfähigkeit im eingangs genannten Sinne zu verleihen, um damit Steuerungsanwendung, insbesondere Maschinensteuerungen, gegebenenfalls auch im Hintergrund ablaufen zu lassen. Die Erfindung kann für beliebige Bus-Systeme verwendet werden, wie AT-, ISA-, VESA- oder den Local-Bus. Mit der Erfindung ist es möglich die Personalcomputer im Ein-Prozessor-Betrieb für die genannten Steuerungsanwendung zu verwenden wofür bisher eine eigene Rechnerfamilie vorgesehen war, während bisher nicht die Möglichkeit in Betracht gezogen wurde Interrupts von externen Steueranwendungen zur Unterbrechung des Prozessors zwecks Initialisierung einer Steuerungsroutine für die externe Steuerungsanwendung der erfindungsgemäßen Form vorzusehen.

Der Zugriff auf den NMI des Prozessors kann über die IOCHCK-Signalleitung des PC-Busses erfolgen.

Ein programmierbarer Verteiler wählt also aus einer Anzahl von externen Hardware-Interrupt-Quellen diejenigen heraus, die Zugriff auf den Prozessor erhalten sollen.

Der erfindungsgemäße NMI-Signal wird dann aus einem oder mehreren dieser Hardware-Interrupt-Quellen gebildet, indem er quasi direkt galvanisch mit einer oder mehreren dieser Hardware-Interrupt-Quellen verbunden wird.

Statt dessen ist bevorzugt eine softwaremäßige Umschaltung von Hardware-Interrupt-Quellen über ein logisches Netzwerk auf diesen NMI vorgesehen.

Es kann hierbei vorgesehen sein, den programmierbaren Verteiler auch mit einer bestimmten Speicherfähigkeit zu versehen, um die eingehenden Hardware-Interrupt-Signale auf einen bestimmten logischen Pegel für eine gewisse Zeit zu halten und abzuspeichern.

Demgemäß liegen die auf dem Bus zur Verfügung stehenden Interrupt-Leitungen sowohl am Interrupt-Controller des Motherboards, als auch an einem IRQ-Router (Interrupt-Quellen-Router) an. Dieser ist in Form einer Zusatzkarte realisiert. Per Software kann bestimmt werden, ob und welche der auf dem Bus anstehenden Interrupts in einem NMI (Non- Maskable-Interrupt) "umgeroutet" werden sollen. Der vom IRQ-Router generierte NMI gelangt über das ebenfalls auf dem Bus vorhandene Signal IOCHCK zum 80 × 86-Prozessor.

Im folgenden wird die Erfindung anhand von leidglich einen Ausführungsweg darstellenden Zeichnungen näher erläutert. Hierbei gehen aus den Zeichnungen und ihrer Beschreibung weitere erfindungswesentliche Merkmale und Vorteile der Erfindung hervor. Dabei zeigt die einzige Figur

Ein schematisiertes Blockschaltbild zur Verdeutlichung der Erfindung mit einem Interrupt- Quellen-Verteiler (IRQ-Router)

In der Abbildung ist schematisiert ein Blockschaltbild eines sogenannten IRQ-Routers (Interrupt-Quellen-Verteilers) gezeigt.

In der unteren Hälfte der Zeichnung ist (unterhalb der gestrichelten Linie) die normaler Weise in einem Prozessorsystem schon vorhandene Interrupt-Hardware gezeigt, und in der oberen Hälfte die erfindungsgemäße zusätzliche Hardwae in Form des IRQ-Routers.

In einem PC-Bus 2 werden eine Anzahl von externen Hardware- Interrupt-Quellen IRQ... (vergleiche in der Abbildung links) geführt.

Diese Hardware-Interrupt-Quellen 1 werden zu einem Teil über einen ersten Unterbrecher-Controller 3 einem zweiten Unterbrecher-Controller 4 zugeführt oder sie werden wahlweise direkt dem zweiten Unterbrechungs-Controller zugeführt.

Der zweite Unterbrechungs-Controller 4 erzeugt ein Signal, welches über das sogenannte maskierbare Interrupt am Prozessor 7 erzeugt werden, welcher allerdings durch einen Software-Befehl abgeschaltet werden kann.

Erfindungsgemäß ist nun in einer ersten nicht näher dargestellten Schaltung vorgesehen, daß eine externe Hardware- Interrupt-Quelle unmittelbar mit der Leitung 10 verbunden ist, welche Leitung mit dem sogenannten NMI gekoppelt ist. Diese Signalleitung führt eine unmittelbare Unterbrechung am Prozessor herbei, unabhängig von einem anliegenden Software-Befehl.

In einer Weiterbildung einer Vorrichtung nach der Erfindung ist gemäß der Abbildung vorgesehen, daß die Hardware-Interrupt-Quellen aus dem PC-Bus 2 herausgeführt werden und einem sogenannten IRQ-Router (Verteiler 8) zugeführt werden.

Dieser Verteiler 8 ist programmierbar und entscheidet, welche Hardware-Interrupt-Quelle sich auf die Leitung 10 mit dem nicht-maskierbaren Interrupt 9 aufschalten darf.

Sobald auf dieser Leitung 10 ein Signal erscheint, wird der Prozessor unbedingt unterbrochen, unabhängig davon, ob per Software ein Interrupt gesperrt ist oder nicht.

Das bedeutet, entsprechend einem Signal auf der Leitung 10 ist also der Prozessor 7 echtzeitfähig, weil er zu beliebigen Zeitpunkten einen Interrupt durchführen kann.


Anspruch[de]
  1. 1. Vorrichtung zum Betrieb einer Steuerungsanwendung, mit einem Rechner mit einem unter einem nicht-echtzeitfähigem Betriebssystem laufenden, einen maskierbaren Interrupt-Eingang (6) und einen nicht-maskierbaren Interrupt-Eingang (NMI) aufweisenden Prozessor (7), wobei Hardware-Interrupt-Quellen (1) über Unterbrecher-Controller (3, 4) an den maskierbaren Interrupt-Eingang (6) und über einen programmierbaren Verteiler (8) am nichtmaskierbaren Interrupt-Eingang (NMI) anliegen, wobei durch den Verteiler per Software und/oder Hardware bestimmbar ist, ob und welche der anstehenden Hardware- Interruptanforderungen Zugriff auf den nicht- maskierbaren Interrupt-Eingang (NMI) erhalten, wodurch aufgrund einer Steuerungsanforderung der Anwendung ihr Steuerungsprogramm auf dem Prozessor um verzüglich aktivierbar ist.
  2. 2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Verteiler Speicher aufweist zur wahlweisen Zwischenspeicherung von Ein- und/oder Ausgangssignalen.
  3. 3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Verteiler (8) direkt auf dem Motherboard integriert ist.
  4. 4. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß sich der Verteiler (8) auf einer Steckkarte, einem Aufsteckmodul oder einem Ansteckmodul zum Anstecken an Schnittstellen befindet.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com