[go: up one dir, main page]

DE69614658T2 - Protokoll für Unterbrechungssignale - Google Patents

Protokoll für Unterbrechungssignale

Info

Publication number
DE69614658T2
DE69614658T2 DE69614658T DE69614658T DE69614658T2 DE 69614658 T2 DE69614658 T2 DE 69614658T2 DE 69614658 T DE69614658 T DE 69614658T DE 69614658 T DE69614658 T DE 69614658T DE 69614658 T2 DE69614658 T2 DE 69614658T2
Authority
DE
Germany
Prior art keywords
interrupt
host
signal
active
chip select
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69614658T
Other languages
English (en)
Other versions
DE69614658D1 (de
Inventor
Robert Dennis Crawford
Michael Lee Javernick
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Motor Co
Original Assignee
Ford Motor Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ford Motor Co filed Critical Ford Motor Co
Application granted granted Critical
Publication of DE69614658D1 publication Critical patent/DE69614658D1/de
Publication of DE69614658T2 publication Critical patent/DE69614658T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

  • Die vorliegende Erfindung befaßt sich allgemein mit einem Signalprotokoll für die Kommunikation mit einer Interrupt- Steuerung eines Verarbeitungscomputersystems und insbesondere mit einem Einzelsignalprotokoll für das Peripherie-Interruptsignal, das entweder einen über die Flanken oder über den Pegel ausgelösten Detektor innerhalb der Verarbeitungsmikrosteuerung auslöst.
  • Computersysteme mit einem zentralen Verarbeitungs- oder sog. Host-Prozessor und mehreren peripheren Vorrichtungen erfordern normalerweise, daß der Rost die Peripherievorrichtungen abfragt und ggf. auf eine Dienstanfrage oder Programmunterbrechung, sog. Interrupt, von einer oder mehreren der peripheren Vorrichtungen antwortet. Peripherievorrichtungen weisen normalerweise einen Interrupt-Pol auf, der mit einem entsprechenden Pol am Mikroprosessor verbunden ist. Die Peripherievorrichtung erzeugt ein Unterbrechungs- oder sog. Interrupt-Signal an diesem Interrupt- Pol, das anzeigt, daß die Peripherievorrichtung irgendeinen Dienst vom Host anfordert.
  • Zwei Arten von Interrupt-Signalprotokollen oder -Formaten sind auf dem Gebiet der Computer und der Elektronik üblich. Ein pegelgesteuertes Interrupt-Signalformat zeichnet sich dadurch aus, daß das Interrupt-Signal vom Peripheriegerät "wahr" (auf einem konstanten Pegel) bleibt, bis der Host die Interrupt- Anfrage bedient. Ein über die Flanke ausgelöstes Interrupt- Signal beinhaltet einfach einen Impuls von kurzer Dauer, der im typischen Falle nur einmal pro Interrupt-Ereignis erzeugt wird.
  • Soll die Interrupt-Steuerung des Host-Rechners beide Arten von Interrupt-Signalen bedienen, ist es für den Host normal, sowohl einen Pegeldetektor als auch einen Flankendetektor aufzuweisen, oder aber der Host-Rechner kann feststehend für Pegel- oder Flankendetektoren ausgelegt sein, nicht aber für beide. Die Detektoren können umgeschaltet werden, je nach der besonderen Art der am Eingang angekoppelten Peripherievorrichtung. In einer alternativen Ausführung kann der Host-Rechner eine programmierbare Steuerung aufweisen, die jeweils in Reaktion auf die Art der an den Host gekuppelten Steuerung neu programmiert werden muß. Insbesondere die durch die Flanke ausgelösten Interrupt- Signale sind schwierig mit dem Host zu verbinden, weil, wenn ein Pegel-Interrupt-Signal von der Peripherievorrichtung gesendet wird, der konstante Pegel am Ausgang alle "neuen" Ereignisse abschattet, die dann vom Host nicht erkannt werden können. Dies kann zum Blockieren das Kommunikationsgliedes Host-Peripherie- Host führen.
  • Das Problem, den Host in die Lage zu versetzen, mit Peripherievorrichtungen zu kommunizieren und auf diese anzusprechen, die sowohl pegelgesteuerte als auch flankengesteuerte Interrupt- Signale verwenden, ist im bisherigen Stand der Technik auf mehrere unterschiedliche Weisen in Angriff genommen worden.
  • Die US-Patentschrift 5,261,107 offenbart eine Interrupt- Steuerung, die derart programmierbar ist, daß jeder der Eingänge auf eine Art von Interrupt-Signalen ansprechen kann, also entweder auf ein flankengesteuertes Interrupt-Signal oder ein pegelgesteuertes Interrupt-Signal, jedoch nicht ohne Neuprogrammierung. Dies steht im Gegensatz zur vorliegenden Erfindung, die ermöglicht, daß ein einzelnes Signal eine Interrupt-Steuerung auslösen kann, die entweder einen flankensensitiven Detektor oder einen pegelsensitiven Detektor hat.
  • Wie in Kolonne 3, Zeilen 44 bis 53 festgestellt, kann die Interrupt-Steuerung mit mehreren verschiedenen Peripherievorrichtungen verwendet werden, die entweder ein flankengesteuertes Signal oder ein gegelgesteuertes Signal abgeben. Das ICW5- Register 108 erlaubt der Interrupt-Steuerung, jeden der Eingänge entweder auf einen flankensensitiven Eingang oder einen pegelsensitiven Eingang umzuprogrammieren, und zwar bei jedem Interrupt-Ereignis, wobei das ICW5-Register 108 ein Hit enthält, das jedem Interrupt-Anforderungseingang entspricht (siehe Kolonne 7). Jedesmal, wenn eine neue Peripherievorrichtung an den Eingang der Interrupt-Steuerung angeschlossen wird, wird dem ICW5- Register ein Programmierbit gesendet, das bestimmt, ob sie als Flankendetektor oder als Pegeldetektor arbeiten soll.
  • US-Patentschrift 5,101,497 ist ähnlich der US-Patentschrift 5,261,107, mit Ausnahme dessen, daß die Pegel- und Flankendetektoren, die an jeder Interrupt-Eingangsleitung angeschlossen sind, jederzeit nach der Initialisierung umprogrammiert werden können, statt bei einer Initialisierung.
  • US-Patentschrift 4,890,219 lehrt den Einsatz einer Interrupt-Steuerung, die vom Pegeldetektor- auf den Flankendetektorbetrieb umgeschaltet werden kann. Das hier angegangene besondere Problem betrifft das Programm, das (gewöhnlich beim Einrichten oder Initialisieren) einen Befehl von der Zentraleinheit CPU an die Interrupt-Steuerung sendet, um die Betriebsart von Pegeldetektion auf Flankendetektion jeweils für die Interrupt-Signale von ausgewählten Peripherieeinrichtungen umzustellen. Dieses Programm wird bisweilen als Nicht-Standard-Programm bezeichnet, das bei ungewöhnlichen Spielen und anderen Anwendungen zum Einsatz kommen kann. Wenn alle an der Interrupt-Steuerung angeschlossenen Peripheriegeräte Interrupt -Signale des pegelmodulierten Typs abgeben, würden die CPU und die Interrupt-Steuerung blockieren, wenn die Interrupt-Steuerung erfolgreich auf den Befehl von der CPU antworten sollte, den Eingangsdetektor in der Interrupt-Steuerung vom Pegeldetektions- auf Flankendetektionsbetrieb umzuschalten. Um dies zu verhüten, wird eine Puffer- Steuerlogik vorgesehen, wie sie in Block 20 in Fig. 1 dargestellt ist, um einen solchen Befehl von der CPU, die Interrupt- Steuerung auf Flankendetektionsbetrieb umzuschalten, zu erfassen. Dieser Puffer-Steuerlogikblock 20 fängt solche Befehle ab und befiehlt der Interrupt-Steuerung in Reaktion darauf, im Pegeldetektionsbetrieb zu bleiben (siehe Kolonnen 3 und 4). Auf diese Weise bleiben die Peripherievorrichtungen in der Lage, mit der Interrupt-Steuerung und der CPU zu kommunizieren, wenngleich das Nicht-Standard-Programm, von dem der Befehl ausgegangen ist, nicht richtig laufen kann.
  • Die vorliegende Erfindung sucht, ein Interrupt-Signalprotokoll für die Peripherievorrichtungen zu schaffen, das ohne Änderungen erfolgreich mit der Host-Steuerung unter Verwendung entweder eines flankensensitiven Interrupt-Detektors oder eines pegelsensitiven Interrupt-Detektors interagiert.
  • Im Gegensatz zu diesen vorangehenden Lösungen bezieht sich die vorliegende Erfindung auf ein Signalprotokoll, das von der Peripherievorrichtung erzeugt werden muß, und das von einem Host erkannt werden kann, der entweder einen pegelsensitiven Interrupt-Detektor oder einen flankensensitiven Interrupt-Detektor benutzt. Es ist kein Betriebsarten-Umschalten und kein Signal- Abfangen erforderlich. Durch den Einsatz dieses Signalprotokolls kann die Peripherievorrichtung über eine Schnittstelle mit dem Hast zusammenarbeiten, ganz egal, wie der Interrupt-Detektor des Host-Gerätes konfiguriert ist.
  • Einem ersten Aspekt der vorliegenden Erfindung zufolge wird ein Verfahren zur Erzeugung eines Interrupt-Signales für die Kommunikation zwischen einer Peripherievorrichtung und einem Verarbeitungsrechner mit entweder einem pegelsensitiven oder einem flankensensitiven Interrupt-Detektor geschaffen, das folgende Schritte aufweist:
  • A. Empfangen einer aktiven Interrupt-Anforderung und, in Reaktion darauf, Bestimmen, ob "Chip Select" (Baustein-Anwahl) vom Verarbeitungsrechner freigegeben worden ist,
  • B. in Reaktion auf die Freigabe von "Chip Select":
  • B1. Umschalten und Halten des Interrupt-Signals auf "aktiv",
  • B2. Empfangen eines aktiven "Chip Select"-Signales und mehrerer Taktimpulse vom Verarbeitungsrechner als Bestätigung des Empfanges des Interrupt-Signales und, in Reaktion darauf, Umschalten des Interrupt-Signales von "aktiv" auf "inaktiv", und
  • B3. nochmaliges Umschalten und Halten des Interrupt-Signales von "inaktiv" auf "aktiv" nur in Reaktion auf eine noch immer aktive Interrupt-Forderung und Freigabe von "Chip Select",
  • so daß der Pegel des Interrupt-Signales in Schritt B1 pegelsensitive Detektoren auslöst, und die Kombination der Sprünge in den Schritten B1, B2 und B3 flankensensitive Detektoren im Verarbeitungsrechner auslöst.
  • Einem zweiten Aspekt der vorliegenden Erfindung zufolge wird eine Schaltung zur Erzeugung eines Interrupt-Signales gestellt, das sowohl mit einem pegelsensitiven als auch einem flankensensitiven Interrupt-Detektor kompatibel ist, zur Kommunikation zwischen einer Peripherievorrichtung und einem Verarbeitungsrechner, die allgemein über Leitungen wenigstens für Interrupt-, Chip Select- und Systemtaktsignale miteinander verbunden sind, folgendes aufweisend:
  • erste Mittel für den Empfang einer aktiven Interrupt-Anforderung und, in Reaktion darauf, für die Bestimmung, ob "Chip Select" vom Verarbeitungsrechner freigegeben worden ist,
  • Steuermittel, die ausschließlich in Reaktion auf eine Chip Select-Freigabe aktiviert werden, folgendes aufweisend:
  • zweite Mittel zum Umschalten und Halten des Interrupt- Signals auf "aktiv",
  • dritte Mittel zum Empfangen eines aktiven Chip Select- Signales und mehrerer Taktimpulse vom Verarbeitungsrechner als Bestätigung des Interrupt-Signales und, in Reaktion darauf, zum Umschalten des Interrupt-Signales von "aktiv" auf "inaktiv",
  • vierte Mittei zum Umschalten und Halten des Interrupt- Signales von "inaktiv" auf "aktiv" nur in Reaktion auf eine noch immer aktive interrupt-Anforderung und die Freigabe von Chip Select,
  • so daß der Pegel des Interrupt-Signales von besagten zweiten Mitteln pegelsensitive Detektoren aktiviert, und die Kombination der Sprünge in besagten zweiten und vierten Mitteln flankensensitive Detektoren im Verarbeitungsrechner aktiviert.
  • Die Erfindung soll nun unter Bezugnahme auf die beiliegenden Zeichnungen beispielartig näher erläutert werden, dabei zeigt:
  • Fig. 1: eine schematische Blockdiagramm-Darstellung der Mikrosteuerung des Verarbeitungsrechners, der mit einer Peripherievorrichtung gekoppelt ist,
  • Fig. 2: ein schematisches Blockdiagramm, welches die Logik und Schaltung veranschaulicht, die für den Interrupt-Signalprotokoll-Generator im Einklang mit der vorliegenden Erfindung verwendet wird,
  • Fig. 3 veranschaulicht die Kommunikationssignale auf jeder Leitung zwischen dem Verarbeitungsrechner und der Peripherievorrichtung über der Zeit, und
  • Fig. 4 stellt ein Flußdiagramm der in Fig. 2 gezeigten Logikschaltung dar.
  • Bezugnehmend auf Fig. 1 ist ein Verarbeitungsrechner oder sog. Host-Mikroprozessor 10 über fünf Signalleitungen mit einer Peripherievorrichtung 20 gekoppelt, welche Signalleitungen eine Programmunterbrechungs- bzw. Interrupt-Signalleitung 30, die Baustein-Anwahl- bzw. Chip-Select-Leitung 32, die System-Taktgeberleitung 34 und zwei Datenleitungen aufweist, nämlich die Daten-MOSI-Leitung 36 und die Daten-MISO-Leitung 38. Die Peripherievorrichtung 20 weist mehrere Status- und Befehlsregister auf, die durch R3 bis R5 in der Peripherievorrichtung 20 dargestellt sind. In der ersten bevorzugten Ausführungsform der vorliegenden Erfindung besteht der Host-Mikroprozessor 10 aus einem Motorola-Prozessor 68HC11, und die Peripherievorrichtung 20 beinhaltet einen Ford "Zinger" Steuerchip mit der Ford- Teilenummer N7100070FTCFCA.
  • Wie Fig. 3 darstellt, verwenden die über diese Leitungen zwischen dem Host-Rechner 10 und dem Peripheriegerät 20 übertragenen Signale eins NRZ-Codierung und werden mit Bitraten von etwa 2.0 Mbps in einem Synchronkozumunikationsmodus übertragen. Typische Signalpegel bewegen sich zwischen 0 und 5 Volt. Zwar ist die erste bevorzugte Ausführungsform ausgelegt, in diesem Standard-SPI-Format und mit dieser Bitrate zu arbeiten, das Signalprotokoll nach der vorliegenden Erfindung kann aber auch in anderen, anders aufgebauten Kommunikationsnetzwerken nutzbringend eingesetzt werden.
  • Der hier verwendete Begriff "aktiv" ist allgemein gleichbedeutend mit den Begriffen "logisch wahr" und "freigeschaltet". Der Begriff "inaktiv" ist im wesentlichen gleichbedeutend mit den Begriffen "logisch unwahr" und "gesperrt". Der Begriff "asserieren" bedeutet, daß das Signal aktiv oder wahr geschaltet wird, und "negieren" bedeutet, daß das Signal inaktiv bzw. logisch unwahr gemacht wird. Die Absolutwerte und Polarität der hier besprochenen Signale kann je nach dem besonderen Anwendungsfall bedarfsgemäß variiert werden, da die vorliegende Erfindung in einer Reihe von Technologien angewendet werden kann.
  • Bezugnehmend auf Fig. 2 besteht nun die Schaltung zur praktischen Umsetzung der vorliegenden Erfindung aus einem 8tel- Teiler-Zähler 100, der von bistabilen Gliedern bzw. Flipflops 102, 104 und 106 gebildet wird, einem Set/Reset-Flipflop 110, einem transparenten Riegelschalter 120 und einem NAND-Gatter 130. Das NAND-Gatter 130 erzeugt das INT*-Signal (Interrupt- Signal) für den Verarbeitungsrechner bzw. sog. Host-Prozessor 10. Das hier verwendete Symbol* bezieht sich auf die umgekehrte bzw. Kehrwertdarstellung des logischen Signals, dem es zugeordnet ist.
  • Die Eingabesignale an diese Schaltung sind wie folgt definiert:
  • INT* ist das aktiv niederpegelige Interrupt-Signal von der Peripherievorrichtung an den Host-Prozessor.
  • Chip Select* (bzw. CS*) ist ein aktiv niederpegeliges Signal vom Host an die Peripherievorrichtung, das anzeigt, daß der Host mit dieser Peripherievorrichtung kommuniziert.
  • SCLOCK ist ein System-Taktsignal vom Host an die Peripherievorrichtung, das Taktimpulse zur Synchronisation des Datentransfers auf den seriellen Datenleitungen liefert.
  • Internes Peripherie-Interrupt-Signal ist asynchron in bezug auf Chip Select* und SCLOCK. Dieses Signal stellt die ODER- Bedingung mehrerer Quellen innerhalb des Peripheriegerätes dar und bleibt wahr (hochpegelig), solange noch irgendeine Interrupt-Forderung in der Peripherievorrichtung ansteht.
  • Die in Fig. 2 dargestellte Schaltung ist ausgelegt, die folgenden Logikbedingungen für das Interrupt-Signalprotokoll zu implementieren:
  • 1. Wenn die asynchrone Interrupt -Forderung von der Peripherievorrichtung wahr ist, und das Chip-Select*-Signal vorn Kost unwahr/inaktiv (hochpegelig) ist, wird das Interrupt-Signal INT* (niederpegelig) asseriert. INT* bleibt so asseriert (niederpegelig), bis der Host Chip Select* niederpegelig macht und 8 Taktimpulse SCLOCK abgibt, woraufhin INT* freigegeben wird (d. h. in den hochpegeligen zustand).
  • Diese Logik gewährleistet, daß, wenn die Peripherievorrichtung ein Interrupt-Signal an den Host sendet, und wenn der Host die Interrupt-Forderung noch nicht durch Umschalten des Chip- Select*-Signals auf wahr (hochpegelig) bestätigt hat, die Peripherievorrichtung das Interrupt*-Signal asseriert (niederpegelig) hält, bis der Host die Interrupt-Forderung bestätigt.
  • In Fig. 3 fällt das INT*-Signal bei Punkt 1 vom hohen auf den tiefen Pegel und bleibt auf dem tiefen Pegel, bis der Host die Interrupt-Forderung durch Umstellen von Chip Select* von hoch/naktiv auf niedrig/aktiv bestätigt. Die Peripherievorrichtung schaltet das INT*-Signal bei Punkt 5 zurück auf "hoch", nachdem 8 Taktimpulse SCLOCK vom Host empfangen wurden (im Zeitraum von 3 bis 4). Dieses Signalformat gewährleistet eine korrekte Steuerung eines Host-Rechners mit pegelsensitiven Detektoren, da der Detektor schon vor dem Übergang oder Sprung bei Punkt 5 in Fig. 3B ausgelöst wird.
  • 2. Wenn Chip Select* niederpegelig/aktiv ist, bevor eine asynchrone Peripherie-Programmunterbrechung bzw. -Interrupt auftritt, wird die INT*-Leitung solange nicht aktiviert, bis Chip Bei ect* durch Umschalten in den hochpegeligen/inaktiven Zustand deaktiviert ist.
  • Diese Logik gewährleistet, daß die Peripherievorrichtung kein Interrupt-Signal an den Host sendet, wenn der Host bereits Daten an die Peripherievorrichtung überträgt oder von ihr empfängt, so daß Peripheriezugriffskonflikte in den Programmroutinen im Host vermieden werden (Interrupt-getriebene und nicht- Interrupt-getriebene Routinen).
  • 3. Löscht die Host-Transaktion die Interrupt-Quelle, wird das INT*-Signal nicht erneut asseriert, bis Chip Select freigegeben worden ist (hochpegelig/inaktiv).
  • Diese Logik gewährleistet, daß das Interrupt-Signal bis nach dem Umschalten des Chip-Select-Signales auf "hochpegelig/inaktiv" (bei Punkt 10 in Fig. 33) nicht erneut asseriert wird (bei Punkt 11 in Fig. 3A).
  • 4. Hat die Host-Transaktion nicht alle noch anstehenden Interrupt-Quellen in der Peripherievorrichtung gelöscht, wird das INT*-Signal erst dann erneut asseriert, wenn Chip Select freigegeben worden und inaktiv/hochpegelig ist.
  • Diese Logik gewährleistet, daß, wenn die Ursache für die Interrupt-Forderung innerhalb der Peripherievorrichtung durch die Transaktion mit dem Host nicht behoben werden kannte, das INT*-Signal erst dann vom hochpegeligen auf den niederpegeligen Zustand umgeschaltet wird (bei Punkt 11 in Fig. 3A), wenn Chip Select (bei Punkt 10) freigegeben worden ist.
  • Diese durch die Transaktionen 1, 5 und 11 in Fig. 3 dargestellte Impulsreihe auf der TNT*-Leitung sichert eine korrekte Steuerung eines Host-Rechners mit flankensensitiven Interrupt- Detektoren.
  • Der Betrieb der in Fig. 2 veranschaulichten Schaltung kann unter Bezugnahme auf zwei Betriebsarten erläutert werden, die repräsentativ für das interne Peripherie-Interrupt-Signal sind, das bei inaktivem Chip Select* erzeugt wurde (Fall 1), und für das interne Peripherie-Interrupt-Signal, das bei aktivem Chip · Select* erzeugt wurde.
  • Fall 1: Bei inaktivem Chip Select* erzeugtes internes Peripherie-Interrupt-Signal
  • Weiter mit Bezugnahme auf Fig. 2 ist dann, wenn das Signal Chip Select* vom Host-Rechner inaktiv (hochpegelig) ist, auch das Signal Latch Enable* zur Freigabe der Riegelschaltung 120 hochpegelig. Dadurch kann die Information am Eingang D der Riegelschaltung 120 durch diese und weiter zum Ausgang Q fließen. Ausgang Q folgt deshalb dem Eingang D, der am internen Peripherie-Interrupt-Signal anliegt. Das am NAND-Gatter 130 angelegte Signal 53 ist dann hochpegelig. Zusätzlich wird der Set/Reset-Flipflop 110 auf "Reset" gehalten, weil das Signal Chip Select* hochpegelig ist. Der Ausgang Q* des Set/Reset- Flipflops 110 ist hochpegelig, wenn "Reset" wahr ist. Damit ist das Signal 52 hochpegelig. Da beide Eingänge am NAND-Gatter 130 hoch liegen, wird der Ausgang tief geschaltet, so daß ein Signal "INT* aktiv" an den Host ausgegeben wird. Dieses Signal bleibt auf diesem Pegel, solange der Ausgang Q der Riegelschaltung 120 und der Ausgang Q* des Reset-Flipflops 110 hochpegelig sind.
  • Kommuniziert der Host-Rechner 10 mit der Peripherievorrichtung 20 zwecks Abarbeitung der Interrupt-Forderung, wird er zunächst Chip Select* niedrig stellen. Dadurch wird das RESET- Signal vom Reset-Flipflop 110 abgezogen, aber der Status von Q* ändert sich nicht, und INT* bleibt niederpegelig. An diesem Punkt wird die Achtel-Teilerschaltung 100, die von den Flipflops 102, 104 und 106 gebildet wird, vom RESET-Status freigegeben, da die Lösch- bsw. CLEAR-Eingänge auf den niederpegeligen Zustand geschaltet werden. Dann zählt die Zählerschaltung die Taktimpulse, die auf der SCLOCK-Leitung auftreten. Sind acht Taktimpulse gezählt worden (während denen Chip Select* niederpegelig bleibt), geht der Ausgang Q des Flipflops 106 auf den hohen Pegel (Signal S1). Der Niedrig-Hoch-Übergang von S1 setzt den Flipflop 110 zurück, wodurch der Ausgang Q* auf den niedrigen Pegel gezwungen wird (Signal S2). Die folgenden Pegelsprünge des Ausganges Q von Flipflop 106 sind bedeutungslos. Wenn das Signal S2 niederpegelig ist, sperrt es das NAND-Gatter 130, und INT* wird auf den hohen Pegel (inaktiv) gezwungen.
  • Damit wird nach diesem Signalprotokoll INT* nur dann freigegeben, wenn der Host-Rechner Chip Select asseriert und 8 Taktimpulse an das Peripheriegerät 20 abgibt.
  • Am Ende der Host-Transaktion (die viele serielle Bytes beinhalten kann), gibt der Hast Chip Select* frei. Dadurch wird die Zählerkette 100 und der Reset-Flipflop 110 zurückgesetzt, so daß das Signal S2 auf den hohen Pegel geht. Ein Eingang des NAND-Gatters 130 wird dadurch freigeschaltet. Ist die Host- Transaktion erfolgreich und das interne Peripherie-Interrupt- Signal wird gelöscht bzw. abgearbeitet, geht der Ausgang Q der Riegelschaltung 120 auf den niedrigen Pegel, da der hochpegelige Zustand von Chip Select* die Riegelschaltung 120 in den Transparentmodus versetzt hat und das Signal vom Eingang D dar Riegelschaltung 120 direkt weiter zum Ausgang Q läuft. Das Signal S3 wird damit tiefpegelig, und INT* wird nicht erneut asseriert, wenn Chip Select freigegeben worden ist. Würde die Host-Transaktion das interne Peripherie-Interrupt-Signal nicht löschen, wäre das Signal S3 hochpegelig, und INT* würde über die ansteigende Flanke von Chip Select niederpegelig geschaltet.
  • Fall 2: Bei aktivem Chip Select* erzeugtes internes Peripherie-Interrupt-Signal
  • Ist das Signal Chip Select vom Host-Rechner aktiv (niederpegelig), ist auch das Signal Latch Enable* zur Freischaltung der Riegelschaltung 120 niederpegelig. Die fallende Flanke von Chip Select* hatte zuvor den Status von Eingang D an dar Riegelschaltung 120 gesperrt, der im Falle 2 niederpegelig bzw. inaktiv ist. Das Signal S3 ist somit niederpegelig, und der Eingang des NAND-Gatters 130 verhindert eine Ausgabe von INT*, nachdem Chip Select* asseriert worden ist.
  • Wird das interne Peripherie-Interrupt-Signal in dem Zeitraum aktiv, in dem Chip Select aktiv ist, ändert sich der Zustand des Ausganges der Riegelschaltung 120 nicht. Ist Chip Select* freigegeben (hochpegelig), wird die Riegelschaltung 120 wieder transparent, und der Ausgang Q (Signal S3) folgt dem hochpegeligen Eingang am Eingang D. Da nun das Signal S2 hochpegelig ist, wenn Chip Select* hochpegelig ist, wird das Signal INT* erzeugt.
  • Die Schlüsselelemente für die funktionstechnische Umsetzung des neuen Signalprotokolls nach der vorliegenden Erfindung lassen sich wie folgt zusammenfassen:
  • 1. Die Chip-Select-Leitung vom Host steuert die Erzeugung des Interrupt-Signales von der Peripherievorrichtung.
  • 2. Die serielle Taktgeberleitung vom Host steuert die Freigabe des interrupt -Signales von der Peripherievorrichtung.
  • 3. Die Peripherie-Host-Schnittstellenlogik:
  • a. erzeugt (wenn angebracht) ein aktives Interrupt-Signal an den Host, sofern der Host nicht Chip Select asseriert hat,
  • b. untersagt die Assertion des Interrupt-Signales, wenn Chip Select vom Host asseriert worden ist,
  • c. gibt das Interrupt-Signal nach 8 Taktimpulsen der seriellen Taktgeberleitung vom Host frei, unabhängig vom Status des internen Interrupt-Signals in der Peripherievorrichtung (diese Verzögerung vermeidet Störungen der Interrupt-Leitung),
  • d. hält den Interrupt-Status innerhalb der Peripherievorrichtung bis zur Freigabe von Chip Select durch den Host,
  • e. asseriert interrupt erneut, wenn (i) die Interaktion mit dem Host den Interrupt-Zustand innerhalb der Peripherievorrichtung nicht behoben hat, oder (ii) noch irgendeine andere Interrupt-Bedingung innerhalb der Peripherievorrichtung besteht,
  • f, asseriert Interrupt nicht erneut, wenn die Interaktion mit dem Host diesen Zustand innerhalb der Peripherievorrichtung behoben hat, der die Assertion des Interrupt-Signals verursacht hatte.
  • Ein die logische Umsetzung der vorliegenden Erfindung darstellendes Flußdiagramm ist in Fig. 4 dargestellt. Das Flußdiagramm stellt einen kontinuierlichen Prozeß dar (keine "Ende"- Erklärung), der von der Peripherie angewendet wird, um ein Signalprotokoll zu erzeugen, das sowohl mit pegelkompatiblen als auch mit flankenkompatiblen Interrupt -Anforderungen an den Host- Prozessor verträglich ist. Der Datenaustausch auf seiten des Rosts und der Peripherievorrichtung ist nicht dargestellt.
  • Nach einem Rücksetzen oder Start in Schritt 200 werden die Blöcke 210 und 220 kontinuierlich weiter ausgeführt. Ist Chip Select* aktiv, wartet der Prozeß ab, bis Chip Select freigegeben wird. Dann geht der Prozeß, wenn kein internes Peripherie-Interrupt aktiv ist, zurück zu Block 210 und überprüft diese Bedingung erneut.
  • Ist Chip Select nicht aktiv, und das interne Peripherie- Interrupt ist aktiv, werden die Blöcke 230 bis 290 ausgeführt. Die INT*-Leitung wird asseriert, und der Prozeß wartet, bis Chip Select* aktiv wird (Block 240). Ist Chip Select* dann aktiv, wird der Zähler der SCLOCK-Sprünge gelöscht. Der nächste Block 260 zählt dann 8 SCLOCK-Impulse, worauf Block 270 INT* freigibt. Block 280 wartet, bis Chip Select* freigegeben wird, und Block 290 bestimmt, ob noch irgendwelche Interrupts in der Peripherievorrichtung verbleiben. Wenn dem so ist, wird eine Abzweigung zurück zu Block 230 beschritten, um die INT*-Leitung neu zu asserieren. Wenn nicht, geht der Prozeß zurück zum Anfang bei Block 200/210.
  • Eine Peripherievorrichtung, die ein Signal entsprechend den obigen Anforderungen erzeugt, ist dann gleichzeitig mit einem pegelgesteuerten und einem flankengesteuerten Interrupt-Detektor in der Host-Zentraleinheit (CPU) vereinbar. Die Bedingungen für das pegelgesteuerte Interrupt-Signal werden erfüllt, weil die Interrupt-Leitung aktiv bleibt, bis der Host auf das Interrupt- Signal von der Peripherievorrichtung reagiert, womit gesichert ist, daß das Interrupt-Signal beim Host auch verzeichnet wird. Die Bedingungen für ein flankengesteuertes Interrupt-Signal sind erfüllt, weil eine neue Interrupt-Flanke bei allen Interrupt- Bedingungen erzeugt wird, einschließlich derjenigen Fälle, wo der Host eine Interrupt-Situation nach der Kommunikation mit der Peripherievorrichtung nicht löst, oder wo mehrere Interrupt- Bedingungen gleichzeitig innerhalb des Peripheriegerätes anstehen.

Claims (6)

1. Verfahren zur Erzeugung eines Interrupt-Signales für die Kommunikation zwischen einer Peripherievorrichtung und einem Host mit einem entweder pegelsenitiven oder flankensensitiven Interrupt-Detektor, folgende Schritte aufweisend:
A. Empfangen einer aktiven Interrupt-Anforderung und, in Reaktion darauf, Bestimmen, ob Chip Select vom Host freigegeben worden ist,
B, in Reaktion auf eine Freigabe von Chip Select,
B1. Umschalten und Halten des Interrupt-Signales auf "aktiv",
B2. Empfangen eines aktiven Chip-Select-Signales und mehrerer Taktimpulse vom Host als Bestätigung des Empfangs des Interrupt-Signals und, in Reaktion darauf, Umschalten des Interrupt- Signales von "aktiv" auf "inaktiv",
B3. nochmals Umschalten und Halten des Interrupt-Signals von "inaktiv" auf "aktiv" nur dann, wenn die Interrupt-Anforderung noch immer aktiv ist und Chip Select freigegeben worden ist,
so daß der Pegel des Interrupt-Signals in Schritt B1 pegelsensitive Detektoren aktiviert, und die Kombination der Übergänge in den Schritten B1, B2 und B3 flankensensitive Detektoren im Host aktiviert.
2. Verfahren nach Anspruch 1, außerdem den Schritt der Wiederholung der Schritte B1, B2 und B3 beinhaltend, bis die Ursache der Interrupt-Anforderung vom Host behoben worden ist.
3. Verfahren nach Anspruch 1, worin Schritt B2 den Schritt des Empfangs von wenigstens 8 Taktimpulsen vom Host beinhaltet, nachdem ein aktives Chip-Select-Signal vom Rost eingegangen ist.
4. Schaltung zur Erzeugung eines Interrupt-Signales, das sowohl mit pegelsensitiven als auch mit flankensensitiven Interrupt-Detektoren kompatibel ist, für die Kommunikation zwischen einer Peripherievorrichtung (20) und einem Host (10), die allgemein wenigstens über Leitungen (30) für die Interrupt-Signale, (32) für das Chip-Select-Signal und (34) für die Systemtaktgebersignale miteinander verbunden sind, folgendes aufweisend:
erste Mittel (120) zum Empfangen einer aktiven Interrupt- Anforderung und, in Reaktion darauf, zur Bestimmung, ob Chip Select vom Host freigegeben worden ist,
Steuermittel, die nur in Reaktion auf die Freigabe von Chip Bei ect aktiviert werden und folgendes aufweisen:
zweite Mittel (130) zum Umschalten und Halten des Interrupt- Signals auf "aktiv",
dritte Mittel (100) zum Empfangen eines aktiven Chip-Select- Signales und mehrerer Taktimpulse vom Host als Bestätigung des Empfanges des Interrupt-Signales und, in Reaktion darauf, zur Umschaltung des Interrupt-Signales von "aktiv" auf "inaktiv",
vierte Mittel (110) zum Umschalten und Halten des Interrupt- Signales von "inaktiv" auf "aktiv" nur dann, wenn die Interrupt- Anforderung noch immer aktiv ist und Chip Select freigegeben worden ist,
so daß der Pegel des Interrupt-Signales von besagten zweiten Mitteln pegelsensitive Detektoren aktiviert, und die Kombination der Übergänge von besagten zweiten und vierten Mitteln flankensensitive Detektoren im Host aktiviert.
5. Schaltung nach Anspruch 4, worin besagte zweite Mittel aus jeweils einem UND-Gatter oder einem NAND-Gatter (130) bestehen.
6. Schaltung nach Anspruch 5, worin besagte dritte Mittel (10) eine Achtel-Teilerschaltung beinhalten, welche mit dem Rost verbunden ist, zur Abzählung von wenigsten 8 Taktimpulsen von diesem, und ein damit verbundenes logisches UND-Gatter zum Umschalten des Interrupt-Signals in Reaktion auf den Empfang sowohl der 8 Taktimpulse als auch des Chip-Select-Signales.
DE69614658T 1996-02-12 1996-12-11 Protokoll für Unterbrechungssignale Expired - Fee Related DE69614658T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/565,653 US5848277A (en) 1996-02-12 1996-02-12 Method for providing both level-sensitive and edge-sensitive interrupt signals on a serial interface between a peripheral and host

Publications (2)

Publication Number Publication Date
DE69614658D1 DE69614658D1 (de) 2001-09-27
DE69614658T2 true DE69614658T2 (de) 2002-06-27

Family

ID=24259572

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69614658T Expired - Fee Related DE69614658T2 (de) 1996-02-12 1996-12-11 Protokoll für Unterbrechungssignale

Country Status (5)

Country Link
US (1) US5848277A (de)
EP (1) EP0789304B1 (de)
JP (1) JPH09231090A (de)
CA (1) CA2197255A1 (de)
DE (1) DE69614658T2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021458A (en) * 1998-01-21 2000-02-01 Intel Corporation Method and apparatus for handling multiple level-triggered and edge-triggered interrupts
US6775730B2 (en) * 2001-04-18 2004-08-10 Sony Corporation System and method for implementing a flexible interrupt mechanism
US20050190757A1 (en) * 2004-02-27 2005-09-01 Cisco Technology Inc. Interworking between Ethernet and non-Ethernet customer sites for VPLS
DE602004007489D1 (de) * 2004-05-11 2007-08-23 Sgs Thomson Microelectronics Unterbrechungsbehandlungssystem
US7643409B2 (en) 2004-08-25 2010-01-05 Cisco Technology, Inc. Computer network with point-to-point pseudowire redundancy
FR2882939B1 (fr) * 2005-03-11 2007-06-08 Centre Nat Rech Scient Dispositif de separation fluidique
US7835370B2 (en) * 2005-04-28 2010-11-16 Cisco Technology, Inc. System and method for DSL subscriber identification over ethernet network
US8213435B2 (en) * 2005-04-28 2012-07-03 Cisco Technology, Inc. Comprehensive model for VPLS
US8194656B2 (en) 2005-04-28 2012-06-05 Cisco Technology, Inc. Metro ethernet network with scaled broadcast and service instance domains
US8175078B2 (en) * 2005-07-11 2012-05-08 Cisco Technology, Inc. Redundant pseudowires between Ethernet access domains
US7889754B2 (en) * 2005-07-12 2011-02-15 Cisco Technology, Inc. Address resolution mechanism for ethernet maintenance endpoints
US7515542B2 (en) * 2005-07-12 2009-04-07 Cisco Technology, Inc. Broadband access note with a virtual maintenance end point
US8169924B2 (en) * 2005-08-01 2012-05-01 Cisco Technology, Inc. Optimal bridging over MPLS/IP through alignment of multicast and unicast paths
US7855950B2 (en) * 2005-08-01 2010-12-21 Cisco Technology, Inc. Congruent forwarding paths for unicast and multicast traffic
US9088619B2 (en) * 2005-09-14 2015-07-21 Cisco Technology, Inc. Quality of service based on logical port identifier for broadband aggregation networks
US7646778B2 (en) * 2007-04-27 2010-01-12 Cisco Technology, Inc. Support of C-tagged service interface in an IEEE 802.1ah bridge
US8804534B2 (en) * 2007-05-19 2014-08-12 Cisco Technology, Inc. Interworking between MPLS/IP and Ethernet OAM mechanisms
US8203943B2 (en) * 2007-08-27 2012-06-19 Cisco Technology, Inc. Colored access control lists for multicast forwarding using layer 2 control protocol
US8312299B2 (en) * 2008-03-28 2012-11-13 Packet Digital Method and apparatus for dynamic power management control using serial bus management protocols
CN114942834A (zh) * 2022-03-31 2022-08-26 上海阵量智能科技有限公司 中断控制器、芯片、计算机设备及中断控制方法、介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142625A (en) * 1985-06-12 1992-08-25 Minolta Camera Kabushiki Kaisha One-chip microcomputer including a programmable logic array for interrupt control
US4715031A (en) * 1985-09-23 1987-12-22 Ford Motor Company Vehicular data transfer communication system
PH24865A (en) * 1987-03-24 1990-12-26 Ibm Mode conversion of computer commands
US5101497A (en) * 1988-09-09 1992-03-31 Compaq Computer Corporation Programmable interrupt controller
US5261107A (en) * 1989-11-03 1993-11-09 International Business Machines Corp. Programable interrupt controller
US5179707A (en) * 1990-06-01 1993-01-12 At&T Bell Laboratories Interrupt processing allocation in a multiprocessor system
US5613128A (en) * 1990-12-21 1997-03-18 Intel Corporation Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
US5396633A (en) * 1992-10-02 1995-03-07 Compaq Computer Corporation Positive pulse format noise-filter and negative pulse format extension circuit for conditioning interrupt request signals
US5499384A (en) * 1992-12-31 1996-03-12 Seiko Epson Corporation Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device
DE69326935T2 (de) * 1993-03-02 2000-05-18 International Business Machines Corp., Armonk Verfahren und Vorrichtung zur Übertragung von einem Datenstrom mit hoher Bitfolgefrequenz über unabhängige digitale Kommunikationskanäle
US5551044A (en) * 1994-12-01 1996-08-27 Intel Corporation Method and apparatus for interrupt/SMI# ordering
US5535420A (en) * 1994-12-14 1996-07-09 Intel Corporation Method and apparatus for interrupt signaling in a computer system
US5555413A (en) * 1995-02-17 1996-09-10 International Business Machines Corporation Computer system and method with integrated level and edge interrupt requests at the same interrupt priority

Also Published As

Publication number Publication date
DE69614658D1 (de) 2001-09-27
EP0789304A1 (de) 1997-08-13
CA2197255A1 (en) 1997-08-13
US5848277A (en) 1998-12-08
EP0789304B1 (de) 2001-08-22
JPH09231090A (ja) 1997-09-05

Similar Documents

Publication Publication Date Title
DE69614658T2 (de) Protokoll für Unterbrechungssignale
DE69330970T2 (de) Sicheres Frontenverbindungssystem und Verfahren für Prozesssteuerungsrechner
DE3700426C2 (de) Überwachungszeitgeber
DE102005046350A1 (de) Anordnung bei einer CAN-Verbindung in einem CAN-System
DE2534141A1 (de) Computer-schnittstellensystem
DE69732889T2 (de) Mikrokontroller mit einer geringeren n-bit-datenbus-breite als anzahl i/o-ausgänge
DE3809831C2 (de)
DE4421083C2 (de) Verfahren zur Überwachung einer seriellen Übertragung von digitalen Daten auf einer Ein-Draht-Multiplexverbindung zwischen untereinander kommunizierenden Signalverarbeitungsgeräten
EP2241953A1 (de) Verfahren und Vorrichtung zur Realisierung einer fehlersicheren Zeitfunktion
EP0564923B1 (de) Verfahren und Vorrichtung zur Phasenmessung
DE4429764C2 (de) Zeitgebereinrichtung für einen Mikrocomputer
DE3545293C2 (de)
EP1067448A2 (de) PC-System für Echtzeit- und Nicht-Echtzeitprogramme
DE19962723A1 (de) Verfahren und Vorrichtung zum Erkennen von Handshaking-Protokollfehlern auf einem asynchronen Datenbus
DE2423195A1 (de) Wartungsvorrichtung
DE3726489C2 (de) Einrichtung zur Überwachung eines Rechnersystems mit zwei Prozessoren in einem Kraftfahrzeug
DE69429500T2 (de) Kommunikationsbussystem mit verringerung des verriegelungsproblems von folgestationen
DE69800095T2 (de) Schnelles Semaphoreregister mit einer sicheren Arbeitsweise ohne spezifisches Busprotokoll
EP1800234A1 (de) Elektronisches modul zur programmierung kontaktbehafteter und/oder kontaktloser chipkarten
EP0195457B1 (de) Vorrichtung zur Eigenüberwachung einer Schaltungsanordnung mit einem Mikrocomputer
DE2935847C2 (de) Eingabe/Ausgabe-Logik für einen Mikrocomputer
EP1044538B1 (de) Verfahren und vorrichtung zur überprüfung der sperrfunktion einer netzwerkkomponenten-übertragungssperrvorrichtung
DE3882537T2 (de) Verfahren und Vorrichtung für eine sichere und diagnostizierbare, Signalverwaschungen vermeidende Übertragung.
DE19948598B4 (de) Mikrocomputer mit Abtastfunktion eines Wiederholungs-Anforderungssignals in Synchronisation mit einem Abtastsignal
DE69425751T2 (de) Adapter/Wandler für differentiale und unsymetrische SCSI-Schnittstelle

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee