DE69529451T2 - Automatische Erkennung einer Netzwerk-Hardware-Verbindung - Google Patents

Automatische Erkennung einer Netzwerk-Hardware-Verbindung

Info

Publication number
DE69529451T2
DE69529451T2 DE69529451T DE69529451T DE69529451T2 DE 69529451 T2 DE69529451 T2 DE 69529451T2 DE 69529451 T DE69529451 T DE 69529451T DE 69529451 T DE69529451 T DE 69529451T DE 69529451 T2 DE69529451 T2 DE 69529451T2
Authority
DE
Germany
Prior art keywords
network
connector
transmission device
neb
bit
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 - Lifetime
Application number
DE69529451T
Other languages
English (en)
Other versions
DE69529451D1 (de
Inventor
Tony K. Ip
William C. Russell
Duc Tran
Robert D. Wadsworth
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of DE69529451D1 publication Critical patent/DE69529451D1/de
Application granted granted Critical
Publication of DE69529451T2 publication Critical patent/DE69529451T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Netzwerkübertragungseinrichtung, die über eine Vielzahl von Netzwerkanschlußsteckern verfügt, und die automatisch erfaßt, welcher Anschlußstecker mit dem Netzwerk verbunden ist. Genauer: Die vorliegende Erfindung betrifft eine Netzwerkübertragungseinrichtung, die abtastet, welche der Vielzahl von Anschlußsteckern mit dem Netzwerk verbunden sind und Netzwerkübertragungen vom und zum Netzwerk über diesen Anschlußstecker überträgt.
  • Das Dokument EP-A 0598513 mit dem Titel "Method And Apparatus For Interfacing A Peripheral To Local Area Network" beschreibt eine Netzwerkerweiterungskarte mit einer Vielzahl von Anschlußsteckern.
  • Netzwerkübertragungseinrichtungen stellen ganz allgemein mehrere unterschiedliche Typen von körperlichen Verbindungen zum Verbinden von Netzwerkkabeln mit einem LAN (Local Area Network, lokales Netzwerk) zur Verfügung. Beispielsweise kann ein BNC (Bayonet Nut Connector) zur Verbindung an einem 10Base-2 (Koaxialkabel) verwendet werden, während ein RJ-45- Anschlußstecker für die Verbindung an ein 10Base-T (ungeschirmtes paarweise verdrehtes Kabel) vorgesehen werden kann. Andere körperliche Anschlußstecker wie beispielsweise der Datenünschlußstecker der Firma IBM für abgeschirmte paarweise verdrehte Kabel (STP, Shielded Twisted Pair) oder ein ST- Glasfaser-Anschlußstecker für ein optisches Glasfaserkabel sind ebenfalls denkbar.
  • Wenn typischerweise eine Netzwerkübertragungseinrichtung mit einem LAN mit einem ihrer verschiedenen Anschlußstecker verbunden wird, darf eine individuelle Festlegung oder Änderung des Anschlusses mit dem LAN nicht nur das Kabel in den richtigen Anschlußstecker stecken, sondern es muß auch körperlich die Anordnung der Steckbrücke geändert werden, damit die Daten zu dem oder von dem richtigen Anschlußstecker zu- beziehungsweise abgeführt werden.
  • Aufgrund menschlicher Fehler jedoch ist es möglich, daß jemand vergessen hat, die Steckbrücke zu ändern, oder die Steckbrücke an der falschen Stelle, bezogen auf die festgelegte Verbindung, anbringt. Befindet sich die Steckbrücke an einer falschen Stelle, dann ist die Netzwerkübertragungseinrichtung natürlich nicht in der Lage, mit dem Netzwerk zu kommunizieren, da sie Daten an einen offenen Anschlußstecker sendet oder sie versucht an einem offenen Anschlußstecker Daten auszulesen. Ein Anwender, der versucht, die Einheit zu verwenden, ruft eine Kundendienstperson an, die kommt und viel Zeit zur Isolierung des Problems aufwendet, um schließlich die Steckbrücke an der richtigen Stelle anzubringen. Als Folge treten unnötiger Zeitverlust, unnötige Inanspruchnahme einer Arbeitskraft und unnötige Computerressourcen auf.
  • Die Patentschrift JP-A-2 294757 beschreibt eine Schnittstelleneinheit, die über einen Centronics- und einen RS-232-Anschlußstecker verfügt. Wird ein Schnittstellenkabel von einem Zentralsystem mit einem der Anschlußstecker verbunden, wird ein Erkennungssignal ausgegeben, und die Zentraleinheit bestimmt den Typ der verbundenen Schnittstelle, die entsprechend dem Ergebnis verwendet werden soll.
  • Das US-Patent Nr. 5 319 785 beschreibt eine Anforderungstechnik für ein Statusregister, das mit einem Systembus eines Computers gekoppelt ist.
  • Die vorliegende Erfindung überwindet diese Schwierigkeiten, indem eine Netzwerkübertragungseinrichtung bereitgestellt wird, die automatisch feststellt, welcher Anschlußstecker mit dem LAN verbunden wurde, und anschließend werden dem Anschlußstecker Daten zugeführt oder Daten entnommen.
  • Nach einem Aspekt der vorliegenden Erfindung vorgesehen ist eine Netzwerkübertragungseinrichtung, die über eine Vielzahl unterschiedlicher Anschlußstecker verfügt, die jeweils mit einem Netzwerk verbindbar sind, wobei die Einrichtung in der Lage ist, automatisch eine der unterschiedlichen Verbindungsstecker für eine Netzwerkübertragung auszuwählen, wobei die Einrichtung über einen. Wähler verfügt, der anspricht auf ein Auswahlsignal, das einen der Vielzahl unterschiedlicher Verbindungsstecker gemäß dem Auswahlsignal auswählt, und mit einer Vielzahl von Detektoren, die jeweils einem entsprechenden Anschlußstecker zugehörig sind,
  • dadurch gekennzeichnet, daß
  • jeder der Vielzahl von Detektoren betriebsbereit ist, festzustellen, ob der entsprechende Anschlußstecker mit dem Netzwerk verbunden ist, bevor die Netzwerkübertragungseinrichtung die Netzwerkübertragung über den entsprechenden Anschlußstecker bewirkt;
  • und daß des weiteren ein Prozessor vorgesehen ist, der betriebsbereit ist, einen Auswahlprozeß durch Ausgabe eines Auswahlsignals auszuführen, um so einen jeden der Vielzahl unterschiedlicher Verbindungsstecker auszuwählen, beginnend mit einem Verbindungsstecker, Beibehalten eines Zustands des Auswahlsignals in einem Falle, bei dem der Detektor, der dem ausgewählten Verbindungsstecker zugeordnet ist, die Verbindung mit dem Netzwerk aufzeigt, Ausgeben des Auswahlsignals, um so einen nächsten Anschlußstecker in einem Falle auszuwählen, bei dem der Detektor keine Verbindung mit dem Netzwerk aufzeigt, und Wiederholen des Auswahlprozesses, bis bestimmt ist, daß einer der Vielzahl von Steckern mit dem Netzwerk verbunden ist.
  • Nach einem anderen Aspekt der vorliegenden Erfindung vorgesehen ist eine Verfahren zum automatischen Auswählen, welcher Anschlußstecker unter einer Vielzahl unterschiedlicher Anschlußstecker auf einer Netzwerkübertragungseinrichtung mit einem Netzwerk verbunden ist, mit dem Verfahrensschritt des Ausgebens eines Auswahlsignals, um so nacheinander einen jeden der Vielzahl unterschiedlicher Anschlußstecker auszuwählen, beginnend mit dem ersten Anschlußstecker, gekennzeichnet durch die Verfahrensschritte:
  • Feststellen, ob jeder der Vielzahl unterschiedlicher Anschlußstecker mit dem Netzwerk verbunden ist, bevor die Netzwerkübertragungseinrichtung die Netzwerkübertragung über den entsprechenden Anschlußstecker unter Verwendung einer Vielzahl von Detektoren bewirkt, wobei jeder der Vielzahl von Detektoren einem jeweiligen der Vielzahl unterschiedlicher Anschlußstecker zugehörig ist, durch Feststellen, ob der ausgewählte Anschlußstecker mit dem Netzwerk verbunden ist;
  • Beibehalten des Zustands vom Auswahlsignal in einem Falle, bei dem der Feststellschritt bestimmt, daß der ausgewählte Anschlußstecker mit dem Netzwerk verbunden ist;
  • zyklisches Weitergehen zum nächsten Anschlußstecker in einem Falle, bei dem der Feststellschritt bestimmt, daß der ausgewählte Anschlußstecker mit dem Netzwerk verbunden ist; und
  • Wiederholen der Ausgabe, des Feststellens, des Beibehaltens und des zyklischen Weitergehens in einem Falle, bei dem der zyklische Weitergehschritt alle der Vielzahl unterschiedlicher Anschlußstecker zyklisch durchlaufen hat, bis bestimmt ist, daß einer der Vielzahl von Anschlußsteckern mit dem Netzwerk verbunden ist.
  • Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden ein RJ-45-Anschlußstecker und ein BNC- Anschlußstecker mit einer Netzwerksteuerung verbunden. Die Netzwerksteuerung enthält einen ersten Detektor, der erkennt, ob der RJ-45-Anschlußstecker mit dem Netzwerk verbunden ist, und ein Register, das der Prozessor lesen kann, das ein "Störungsbit" speichert, das anzeigt, daß der BNC- Anschlußstecker fehlangepaßt abgeschlossen ist. Ein zweites Register, das der Prozessor ebenfalls lesen kann, speichert ein "Gute-Verbindungs-Bit", das anzeigt, daß der RJ-45- Anschlußstecker mit dem Netzwerk elektrisch verbunden ist. Ein Steuerregister, in das der Prozessor einschreiben kann, speichert ein Auswahlbit. Das Steuerregister gibt das Auswahlsignal entsprechend dem eingespeicherten Auswahlbit aus.
  • Der Prozessor führt einen Auswahlvorgang durch 1) Einschreiben eines Auswahlbits in das Steuerregister, um die Ausgabe eines Auswahlsignals zu bewirken, das den RJ-45- Anschlußstecker auswählt, 2) Auslesen des Gute-Verbindungs-Bits vom zweiten Register, 3) Beibehalten des Zustandes des Auswahlbits, wenn das Gute-Verbindungs-Bit elektrische Verbindung zum Netzwerk anzeigt, 4) Einschreiben eines Auswahlbits in das Steuerregister, um eine Ausgabe des Auswahlsignals, das den BNC-Anschlußstecker auswählt, zu bewirken, wenn das Gute-Verbindungs-Bit keine elektrische Verbindung mit dem Netzwerk anzeigt. 5) Auslesen des Störungsbits aus dem ersten Register, 6) Beibehalten des Zustands des Auswahlbits, wenn das Störungsbit keinen fehlangepaßten elektrischen Abschluß des zweiten Anschlußsteckers anzeigt, und 7) Wiederholung des Auswahlvorgangs, wenn das Störungsbit fehlangepaßten elektrischen Abschluß des zweiten Anschlußsteckers anzeigt.
  • Diese kurze Zusammenfassung wurde gegeben, damit der Ursprung der Erfindung in kurzer Zeit verstanden werden kann. Ein genaueres Verständnis der Erfindung kann unter Bezugnahme auf die folgende ausführliche Beschreibung des bevorzugten Ausführungsbeispiels in Verbindung mit den anliegenden Zeichnungen erhalten werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Fig. 1 zeigt ein Diagramm eines lokalen Netzwerks und eines globalen Netzwerks, das mit einer Netzwerkkarte verbunden ist.
  • Fig. 2 zeigt eine Schnittansicht einer Netzwerkkarte, die in einen Laserdrucker LBP 1260 der Firma Canon eingebaut ist.
  • Fig. 3 zeigt in einem Blockdiagramm die Netzwerkkarte, die zwischen einem Drucker und einem lokalen Netzwerk angeordnet ist.
  • Fig. 4 zeigt in einem Diagramm die körperliche Anordnung von Bauteilen auf der Netzwerkkarte.
  • Fig. 5 zeigt die Zeichnung einer Frontplatte für eine Netzwerkkarte.
  • Fig. 6 zeigt ein Funktionsblockdiagramm der Netzwerkkarte.
  • Fig. 7 zeigt in einem Diagramm Beispiele verschiedener Software-Funktionseinheiten, die in dem EEPROM gespeichert werden können.
  • Fig. 8 zeigt ein Blockdiagramm einer Anordnung, die dazu verwendet wird, zu bestimmen, welcher Anschlußstecker mit dem Netzwerk verbunden ist.
  • Fig. 9 zeigt in einem Flußdiagramm wie erfaßt werden kann, welcher Anschlußstecker mit dem Netzwerk verbunden ist.
  • Fig. 10 zeigt in einem Flußdiagramm die Arbeitsweise eines PRETASK-Software-Funktionseinheit.
  • Die Fig. 11(a) bis 11(d) zeigen Diagramme mit möglichen Beziehungen verschiedener Netzwerk-Software-Funktionseinheiten.
  • Fig. 12 zeigt ein Blockdiagramm eines PC, der mit einem lokalen Ethernet-Netzwerk und einem lokalen Toten-Ring-Netzwerk verbunden ist.
  • Fig. 13 zeigt in einem Diagramm die Inhalte eines Netzwerkinformationsdateiblocks, der zur Speicherung von Konfigurationsinformationen verwendet wird.
  • Fig. 14 zeigt ein Flußdiagramm zur Wiederprogrammierung eines EEPROM.
  • Fig. 15 zeigt ein Blockdiagramm einer Speicherentscheidungseinheit.
  • Fig. 16 zeigt ein Blockdiagramm eines bevorzugten Aufbaus eines gemeinsamen Speicherbusverwalters in einer Entscheidungseinheit.
  • Fig. 17 zeigt in einem Diagramm die Zeitsteuerung von Signalen, die einer Entscheidungseinheit zugeführt werden.
  • Fig. 18 zeigt in einem Diagramm die Anordnung eines gemeinsamen Speichers.
  • Fig. 19 zeigt in einem Flußdiagramm die Vorgänge beim Einschreiben in einen gemeinsamen Speicher.
  • Fig. 20 zeigt in einem Flußdiagramm die Vorgänge beim. Auslesen aus einem gemeinsamen Speicher.
  • Die Fig. 21(a) bis 21(c) zeigen verschiedene Alternativen zur Anordnung eines gemeinsamen Speichers.
  • Fig. 22 zeigt in einem Blockdiagramm einer seriellen Ein-/ Ausgabeeinheit.
  • Die Fig. 23(a) und 24(a) zeigen in einem Flußdiagramm Vorgänge beim Empfangen und Senden serieller Nachrichtenübertragung über die serielle Ein-/Ausgabeeinheit.
  • Die Fig. 23(b) und 24(b) zeigen in Diagrammen die Zeitsteuerung von Signalen bei den seriellen Empfangs- und den Sende-Betriebsarten.
  • GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • In der am häufigsten bevorzugten Art wird die vorliegende Erfindung auf einer Netzwerkkarte (abgekürzt: NEB), die Hardware-, Software- und Firmwarelösungen bereitstellt, ausgeführt, um eine periphere Netzwerkeinrichtung bereitzustellen, wie einen Drucker, ein intelligentes, interaktives Netzwerkbauteil herzustellen, das nicht nur in der Lage ist, Daten vom Netzwerk zu empfangen und zu verarbeiten, sondern an das Netzwerk bedeutsame Werte von Daten über die periphere Einheit wie genaue Statusinformation oder Betriebsparameter zu übertragen. Die Erfindung kann auch über in anderen netzwerkbetriebenen Einheiten wie Scannern, Bildübertragungseinheiten, Kopierern oder Bildverarbeitungseinheiten verwendet werden. Das Einbeziehen von Hardware, Software und Firmware in die periphere Einrichtung macht einen Personal Computer, der als ein peripherer Server dient, überflüssig.
  • [Netzwerkaufbau]
  • Fig. 1 zeigt ein Diagramm der vorliegende Erfindung, die in einer Netzwerkkarte (NEB) 101 verwirklicht wird, die mit einem Drucker 102 mit einem offenen Aufbau verbunden ist. NEB 101 ist mit einem lokalen Netzwerk (LAN) 100 über eine LAN- Schnittstelle, beispielsweise mit einer Ethernet-Schnittstelle 10Base-9 einem Koaxialanschlußstecker oder 10Base-T mit einem RJ-45-Anschlußstecker verbunden ist.
  • Mehrere Personal Computer (PC), beispielsweise die PC 103 und 104 sind ebenfalls mit dem LAN 100 verbunden, und unter der Steuerung des Netzwerkbetriebssystems sind diese PC in der Lage mit NEB 101 zu kommunizieren. Einer der PC, beispielsweise PC 103, kann als Netzwerkadministrator (Netzwerkverwalter) dienen. Ein PC kann mit einem Drucker verbunden sein, beispielsweise der Drucker 105, der mit dem PC 104 verbunden ist.
  • Ebenfalls mit dem LAN 100 verbunden ist ein Dateiserver 106, der den Zugriff auf Dateien verwaltet, die sich auf einer Netzwerkfestplatte 107 großer Kapazität (beispielsweise 10 GByte) befinden. Ein Druckserver 108 liefert Druckdienste an die mit ihm verbundenen Druckern 109 und 110 ebenso, wie entfernt aufgestellte Drucker (beispielsweise Drucker 105). Weitere, hier nicht gezeigte periphere Einheiten können ebenfalls mit dem LAN 100 verbunden sein.
  • Genauer: Das in Fig. 1 abgebildete Netzwerk kann jede Netzwerksoftware, beispielsweise Novell- oder Unix-Software, um die Nachrichtenübertragung zwischen den verschiedenen Netzwerkbauteilen auszuführen. Die vorliegenden Ausführungsbeispiele werden im Hinblick auf ein LAN beschrieben, das die Novell-Software NetWare® verwendet, obgleich auch jede andere Netzwerksoftware verwendet werden könnte. Eine ausführliche Beschreibung dieses Softwarepakets kann im "NetWare® User's Guide" und im "NetWare® Supervisosr's Guide", die von M&T Books, 1990, verlegt wurden, nachgelesen werden. Es kann ebenfalls "NetWare® Printer Server" von Novell, Ausgabe März 1991, Novell-Teilenummer 100-000892-001 herangezogen werden.
  • Der Dateiserver 106 dient als ein Dateiverwalter, der Dateien von Daten zwischen den LAN-Mitgliedern empfängt, abspeichert, in eine Warteschlange stellt, zwischenspeichert und überträgt. Beispielsweise können Datendateien, die in PC 103 oder PC 104 aufbereitet wurden, einem Dateiserver 106 zugeführt werden, der derartige Datendateien anfordern kann und der anschließend die angeforderten Datendateien im Anschluß an einen Befehl vom Druckserver 108 übertragen kann.
  • Die PC 103 und 104 können ein üblicher PC sein, der Datendateien zu erzeugen vermag, um diese anschließend auf das LAN 100 zu übertragen oder vom LAN 100 zu empfangen, und der derartige Daten anzeigen oder verarbeiten kann. Statt der in Fig. 1 gezeigten PC kann auch eine andere Computerausstattung gewählt werden, die in der Lage ist, entsprechende Netzwerksoftware auszuführen. Beispielsweise können Unix- Arbeitsplatzrechner im Netzwerk implementiert werden, wenn Unix- Software verwendet wird, und solche Arbeitsplatzrechner können unter bestimmten Umständen in Verbindung mit den dargestellten PC verwendet werden.
  • Typisch für ein LAN, wie LAN 100, ist die Bedienung einer begrenzten Gruppe von Anwendern, wie beispielsweise einer Gruppe von Anwendern auf einem Stockwerk oder verteilt über mehrere Stockwerke eines Gebäudes. Sind Anwender über weite Strecken, beispielsweise über mehrere Gebäude oder verschiedene Staaten verteilt, kann ein globales Netzwerk (WAN, Wide Area Network) geschaffen werden, das im wesentlichen aus mehreren LAN besteht, die durch schnelle digitale Leitungen wie ISDN-Telefonleitungen (Integrated Services Digital Network, Dienste integrierendes digitales Netzwerk) miteinander verbunden sind. Die in Fig. 1 gezeigten LAN 100, 110 und 120 werden zu einem WAN über Modulatoren/Demodulatoren (Modems), Transponder 130 und Backbone 140, das vereinfacht dargestellt eine elektrische Verbindung zwischen verschiedenen Busystemen ist. Jedes LAN enthält ihren eigenen PC und jedes enthält gewöhnlich ihren eigenen Datei- und Druckserver, obgleich dies nicht notwendigerweise der Fall ist.
  • Auf diese Weise, wie in Fig. 1 gezeigt, sind an das LAN 110 die PC 111 und 112, der Dateiserver 113, die Netzwerkfestplatte 114, der Druckserver 115 und die Drucker 116 und 117 angeschlossen. An LAN 120 hingegen sind nur die PC 121 und 122 angeschlossen. Über WAN-Verbindungen können Geräte in jedem der LAN 100, 110 und 120 untereinander aufeinander Zugriff nehmen.
  • Der PC 104 kann ein RPRINTER-Softwareprogramm enthalten, wodurch eine begrenzte Steuerung peripherer Netzwerkeinrichtungen ausgeübt werden kann. Das Programm RPRINTER ist ein TSR-Programm (Terminate-and-Stay-Resident, abschließen und speicherresident bleiben) unter MS-DOS, das Anwendern ermöglicht, den mit dem PC verbundenen Drucker 105 zu nutzen und gleichzeitig zuläßt, daß der PC 104 Nichtdrucktätigkeiten ausführt. RPRINTER ist ein relativ einfaches Programm, das nicht über die Fähigkeit verfügt, nach anstehende Druckerwarteschlangen zu suchen. RPRINTER erhält einen Druckauftrag vom Druckserver 108, der sich irgendwo im Netzwerk bewegt. Da das Programm mit dem angeschlossenen Drucker über die Parallelschnittstelle kommuniziert, kann es vom Drucker 105 nur begrenzte Zustandsinformationen erhalten, und es kann diese Zustandsinformationen an den Druckserver 108 über das LAN 100 zurückgeben. Vom Steuerungsstandpunkt aus gestattet RPRINTER den Druckbetrieb (wenn beispielsweise im Drucker kein Papier mehr vorhanden ist oder der Drucker ausgeschaltet ist) einzustellen und ein wenig mehr. Einige Drucker enthalten RPRINTER-Eigenschaften, indem interne und externe Platinen angeboten werden, daß sie die gleichen begrenzten Eigenschaften des RPRINTER-TSR-Programms zur Verfügung stellen, das auch im PC abläuft.
  • Der Druckserver 108 hat die Fähigkeit, eine bedeutsamere Steuerung über periphere LAN-Einheiten auszuüben. Dies jedoch erfordert einen anwendungsspezifischen PC, der nicht für beliebige andere Aufgaben eingesetzt werden kann. Der Druckserver 108, der auch ein PC sein kann, verfügt über die Möglichkeiten mehrfache benutzerdefinierte Druckwarteschlangen zu bedienen, eine dynamische Suchwarteschlangenveränderung durchzuführen und er stellt bestimmte Benachrichtigungsverfahren für Ausnahmebedingungen (Fehler) sowie Zustand- und Steuermöglichkeiten zur Verfügung, und der Server kann sowohl lokale Drucker 109 und 110 (das heißt Drucker, die körperlich mit dem Druckserver 108 verbunden sind) als auch entfernte Drucker steuern. Die lokalen Drucker 109 und 110 können sowohl mit seriellen als auch parallelen Schnittstellen, und die entfernten Drucker, wie der Drucker 105, sind Drucker, die irgendwo im System unter Steuerung des Druckservers 108 mit Hilfe der RPRINTER-Software betrieben werden.
  • Der Druckserver 108 kann viele lokalen und entfernten Drucker steuern, und er kann Druckinformationen von vielen Dateiserverwarteschlangen anfordern. Jedoch sind einige Nachteile, sich auf den Druckserver 108 zur Steuerung von Netzwerdruckdienste zu verlassen. Ein erster Nachteil ist, daß Mehrfachdruckerströme durch einen einzigen Netzwerkknoten geführt werden müssen. Die kann zu einem Flaschenhals werden. Ein zweiter Nachteil ist, daß für den wirksamsten Betrieb, die Drucker lokal mit dem Druckserver verbunden sein sollten, wie beispielsweise die Drucker 109 und 110. Dies kann zu Unannehmlichkeiten für die Anwender führen, da es erforderlich ist, die Drucker um den Druckserver 108 zusammenzuballen, und es verlangt von den Anwendern, daß sie zu solche zusammengeballten Drucker gehen. Ein dritter Nachteil ist, wenn die angesteuerten Drucker entfernt sind, wie im Fall des Druckers 105, der vom Programm RPRINTER bedient wird, daß die Druckdaten verschiedene Wege zu durchlaufen haben, als erstes vom Dateiserver 108 zum Drucker 108, auf dem das Programm RPRINTER läuft. Dies ist ineffizient.
  • Ein vierter Nachteil ist die begrenzte Menge an Druckerzustands- und Steuerungsinformation, die durch den Druckserver 108 angeboten wird. Es wurde schon erwähnt, daß das Programm RPRINTER nichts weiter zuläßt als ein paar elementare Zustandinformationen wie "kein Papier mehr" oder "keine Verbindung". Der Druckserver 108 bietet nicht mehr als dies, weil er im Hinblick auf die Begrenzungen der Parallelschnittstelle des Personal Computers entworfen wurde.
  • [Die Netzwerkkarte]
  • Die Installation der NEB 101 in den Drucker 102 liefert viele Vorteile gegenüber der oben erläuterten peripheren Netzwerksteuerungseinheit dahingehend, daß dem Drucker 102 ermöglicht wird, ein leistungsfähiges, interaktives Netzwerkteil zu werden.
  • Wie in Fig. 2 gezeigt, ist die NEB 101 vorzugsweise in einem internen Erweiterungssteckplatz des Druckers 102 untergebracht, das in einem bevorzugten Ausführungsbeispiel der vorliegende Erfindung ein Laserdrucker LBP 1260 der Firma Canon ist. Dies macht die NEB 101 zu einem eingebetteten Netzwerkknoten, der über die Verarbeitung- und Datenspeichereigenschaften verfügt, wie unten beschrieben wird.
  • Der Aufbau der NEB 101 liefert einen Vorteil dahingehend, daß er ein einmaliges Unterstützungsmerkmal für die Verwaltung großer, weitflächiger WAN hat. Diese Unterstützungseigenschaften können beispielsweise sein: Druckersteuerung und Zustandsüberwachung für einen entfernten Ort auf dem Netzwerk (wie beispielsweise vom Büro der Netzwerkverwaltung aus), automatische Verwaltung der Druckeranordnung nach jeder Druckanforderung, um eine garantierte Anfangsumgebung für den nächsten Anwender bereitzustellen, und Druckerprotokolle oder Gebrauchsstatistiken, auf die über das Netzwerk für bestimmte Druckerauslastung und die Planung zum Ersetzen von Tonerkassetten zugegriffen werden kann.
  • Ein wichtiger Parameter beim NEB-Entwurf ist die Möglichkeit, auf den Druckersteuerzustand von der NEB 101 über eine bidirektionale Schnittstelle, in diesem Fall ein gemeinsamer Speicher, obgleich auch andere bidirektionale Schnittstellen wie SCSI-Schnittstellen (Small Computer Systems Interface) möglich sind, Zugriff zu nehmen. Dies gestattet Information vom Druckerbedienpult an die NEB 101 oder an ein externes Netzwerk auszugeben, wodurch es ermöglicht wird, viele nützliche Unterstützungsfunktionen zu programmieren. Blöcke von Druckabbildungsdaten und Steuerinformationen werden von einem Mikroprozessor auf der NEB 101 zusammengebaut. Diese Blöcke werden dann in den gemeinsamen Speicher eingeschrieben, und sie werden dann vom Drucker 102 ausgelesen. Ähnlich wird eine Druckerzustandsinformation vom Drucker 102 an den gemeinsamen Speicher übertragen, von wo die Information vom Mikroprozessor der NEB gelesen wird.
  • Fig. 2 zeigt eine Schnittzeichnung der Installation der NEB 101 in den Drucker 102. Wie aus Fig. 2 zu erkennen ist, besteht die NEB 101 aus einer Karte 101a, an der eine Frontplatte 101b befestigt ist, die Netzwerkverbindung erlaubt, und die über den Anschlußstecker 170 mit der Druckerschnittstellenkarte 150 verbunden ist. Wie unten beschrieben, steuert die Druckerschnittstellenkarte unmittelbar das Druckwerk im Drucker 102. Druckdaten und Druckerzustandsbefehle werden der Druckerschnittstellenkarte 150 vom NEB 101 über den Anschlußstecker 170 zugeführt, und die Druckerzustandsinformation wird von der Karte 150 ebenfalls über den Anschlußstecker 170 erhalten. NEB 101 übermittelt diese Information dem LAN 100 über die Netzwerkanschlußstecker auf der Frontplatte 101b. Gleichzeitig kann der Drucker 102 ebenfalls Druckdaten vom konventionellen seriellen Schnittstelle 102a und der Parallelschnittstelle 102b empfangen.
  • Fig. 3 zeigt in einem Blockdiagramm die elektrische Verbindung der NEB 101 mit dem Drucker 102. NEB 101 ist unmittelbar mit dem LAN 100 über eine LAN-Schnittstelle und zum Drucker 102 über eine Druckerschnittstellenkarte 150 verbunden. In einem bevorzugten Ausführungsbeispiel der vorliegende Erfindung ist die Druckerschnittstellenkarte 150 eine nichtgleichberechtigte LBP-860/1260-externe Standard-Ein- /Ausgabe-Kartenschnittstelle, die von der Firma Peerless System Corp. ausgeliefert wird. Einzelheiten über die Schnittstellenkarte können den "Peerless Standard I/O Interface Design Specification, Revision 2.07a" der Firma Peerless System Corp., 10. Mai 1994 entnommen werden. Auf der Karte befindet sich ein 80960KB-20-Mikroprozessor 151 der Firma Intel. Obgleich es sich um einen 32-Bit-Mikroprozessor handelt, werden die Daten vom Mikroprozessor 151 zum NEB 101 oder umgekehrt mit einer Zwei-Byte-Breite (16 Bit) über den gemeinsamen Speicher 200, der auf der NEB 101 angeordnet ist, übertragen. Der Mikroprozessor 151 kommuniziert auch mit dem Druckwerk 160, das den Druckmechanismus ansteuert.
  • [Körperliche Anordnung der NEB]
  • Fig. 4 zeigt die Abmessung des bevorzugten Ausführungsbeispiels der NEB 101 und die körperliche Anordnung der darauf befindlichen Bauteile. Sie hat die Abmessung 10,0 cm · 14,2 cm. Auf der NEB 101 befindet sich ein Druckerschnittstellenkarteanschlußstecker 170 (der im Fall der nichtgleichberechtigten Druckerschnittstellenkarte ein Anschlußstecker mit 80 Kontaktstiften ist), der die Druckerschnittstellenkarte und die Frontplatte 300 mit den Anschlußsteckern 301 und 302 miteinander verbindet, die eine Verbindung zum LAN 100 erlaubt. Die Frontplatte verfügt auch über vier lichtemittierende Dioden (LED. Ligth Emitting Diode) 303 bis 306 zur Zustandsanzeige. Auf der Netzwerkkarte angeordnet sind Sende-/Empfangsgerät 171, Kristalloszillator 172, Mikroprozessor 173, Verteilersteuerlogik 400, EEPROM (Electrically Erasable Programmable Read Only Memory) 174, DRAM (Dynamic Random Access Memory) 135, erstes SRAM (static RAM) 200, zweites SRAM 176, Netzwerk- und NEB-Steuerlogik 500 und serieller Schnittstelleanschlußstecker 600. Jedes dieser Bauteile wird weiter unten genauer beschrieben.
  • Fig. 5 zeigt die Frontplatte 300 genauer. Ihre Abmessungen sind 11,6 cm · 3,25 cm. Wie oben ausgeführt, wird die NEB 101 über die Anschlußstecker 301 und 302 mit dem LAN 100 verbunden, wobei der Anschlußstecker 302 ein RJ-45-Anschlußstecker ist, der für eine 10Base-T-Vebindung geeignet ist, während der Anschlußstecker 302 ein einfacher Koaxial-Anschlußstecker sein kann, der für eine 10Base-2-Verbindung geeignet ist. Die Zustands-LED 303 leuchtet auf, wenn die NEB 101 Daten über das LAN 100 überträgt, und die Zustands-LED 304 leuchtet auf, wenn die NEB 101 Daten vom LAN 100 empfängt. Die Zustands-LED 305 leuchtet auf, wenn der RJ-45-Anschlußstecker 301 mit dem LAN 100 verbunden ist, während Zustands-LED 306 aufleuchtet, wenn NEB 101 einen Selbsttest durchführt. Die Montagelöcher 307 sind zum Befestigen der NEB 101 an den Drucker 102 mit Hilfe von Schrauben.
  • [NEB-Aufbau]
  • Der Aufbau der NEB 101 ist in Fig. 6 gezeigt. Die elektrische Stromzufuhr erfolgt zu sämtlichen Schaltungen der NEB 101 von einer +5 V-Versorgungsquelle. Die +5 V-Spannung wird auch den Spannungsumsetzern 178 und 179 zugeführt. Der Spannungsumsetzer 178 liefert eine -9 V-Versorgungsspannung an das Sende-/Empfangsgerät 171, während der Spannungsumsetzer 179 eine +12 V-Versorgungsspannung dem EEPROM 174 zum Wiederprogrammieren des EPROM zuführt.
  • Die Netzwerk- und NEB-Steuerlogik 500 ist bevorzugt eine anwenderspezifische Schaltung (ASIC, Application Specific Intergrated Circuit) mit 144 Kontaktstiften, die eine Netzwerksteuereinheit 510 und eine NEB-Steuerlogik 520 enthält. Die Netzwerksteuereinheit 510 ist eine Makrozelle der Firma NEC, die kompatibel zur Ethernet-Steuereinheit DP83902A "ST-NIC" der Firma National Semiconductors ist, wobei genauere Einzelheiten in dem "Local Area Networks Databook", p/n 400055 der Firma National Semiconductor, 1993 gefunden werden können. Die Netzwerksteuereinheit 510 wurde entworfen, um mit einem CMSA/CD- Typ-LAN (Carrier Sense Multiple Access with Collision Detection) verbunden zu werden.
  • Die Netzwerksteuereinheit 510 wird mit dem RJ-45- Anschlußstecker unmittelbar und mit dem Koaxialanschlußstecker 302 über das Sende-/Empfangsgerät 171 verbunden, wobei es sich bevorzugt um eine Koaxial-Sende-/Empfangsgeräteschnittstelle DP8392 der Firma National Semiconductor handelt, deren nähere Beschreibung in dem "Local Area Networks Databook" zu finden ist. Die Netzwerksteuereinheit 510 ist auch mit einem 8 KB-SRAM (Static RAM) 176 verbunden, das als ein Eingangs-/Ausgangs- Paketpuffer für Ethernet-Daten verwendet wird. Dieser Speicher sollte bevorzugt eine Zugriffszeit von etwa 70 ns oder weniger haben.
  • Die NEB-Steuerlogik 520 bildet eine Schnittstelle zwischen der Netzwerksteuereinheit 510, dem Mikroprozessor 173 und den Speichereinheiten EPROM 174 und DRAM 175. Die NEB-Steuerlogik 520 ist auch mit dem nichtflüchtigen RAM (NVRAM) 180 verbunden, das einen seriellen 256 Bytes elektrisch löschbaren/programmierbaren Speicher darstellt, der zur Initialisierung der Datenspeicherung während des Ein- oder Ausschaltens des Druckers 102, der auf dem NEB 101 untergebracht ist, dient. Die Netzwerk- und die Druckeranordnungsparameter werden in das NVRAM 180 eingeschrieben, wenn der Drucker zum ersten Mal auf dem Netzwerk installiert wird, damit die NEB- Software die Installationsparameter wiederentdecken kann, nachdem er aus- und eingeschaltet wurde.
  • Die NEB-Steuerlogik 520 ist auch mit dem seriellen Schnittstellenanschlußstecker 600 verbunden, der eine Empfangsdatenstift 601 und einen Übertragungsdatenstift 602 enthält, die serielle Datenströme zur Fehlersuche und - beseitigung empfangen beziehungsweise übertragen können. Die NEB-Steuerlogik 520 tastet auf der Empfangsdatenleitung befindliche Daten ab und tastet die seriellen Bits in gleichmäßigen Intervallen ab, wie weiter unten ausführlicher erläutert wird.
  • Die zentrale Steuereinheit der NEB 101 ist der Mikroprozessor 173, bevorzugt ein 8 Bit-Prozessor 80C188EA-20 der Firma Intel. Einzelheiten über diesen Prozessor können in dem "80C186EA/80188EA User's Manual", Intel p/n 270950-001, Intel Corp. nachgelesen werden. Diese Prozessor ist ein 8 Bit- Prozessor mit direktem Speicherzugriff (DMA, Direct Memory Access), Interrupts, Zeitgebern und einer DRAM- Auffrischsteuerung. Weitere Mikroprozessoren wie der 8 Bit- Mikroprozessor 80C188-20 von der Firma AMD können alternativ verwendet werden. Ein 256 KB-EEPROM 174 und ein 512 KB-DRAM 175 werden mit dem Mikroprozessor 173 über die NEB-Steuerlogik 520 verbunden, während das 32 KB-SRAM 200 (das gemeinsam mit der Druckerschnittstellenkarte 150 verwendet wird) mit dem Mikroprozessor 173 über die Verteilersteuerlogik 400 verbunden wird. Ein 40 MHz, 50 ppm Kristalloszillator 172 versorgt den Mikroprozessor mit einem Taktsignal, das völlig getrennt vom und asynchron zum Taktsignal ist, das dem Mikroprozessor 151 auf der Druckerschnittstellenkarte 150 zur Verfügung gestellt wird.
  • Der Mikroprozessor 173 führt Befehle im EEPROM 164 aus, das Steuerfirmware und Druckanwendungssoftware speichert. Im Anschluß an die Selbstprüfung (POST, Power-On Self-Test) nach dem Einschalten wird der Code gezielt zum höher eingestuften 512 1KB-DRAM 175, das eine Zugriffszeit von etwa 80 ns haben sollte, zur aktuellen Ausführung geleitet. Das EEPROM 174 kann vom LAN 100, wie oben besprochen, wiederprogrammiert werden.
  • Fig. 7 zeigt verschieden Beispiele von Blockcodes oder Funktionseinheiten, die im EEPROM 174 gespeichert sind. Die Funktionseinheit XPL liefert eine Normschnittstelle zwischen Drucker 102 und NEB 101. MLTD (Multi Link Interface Driver, Mehrfachanschlußschnittsdtellentreiber) ist ein Teil des Novell- Codes (MSM, Media Support Modul, Medienunterstützungsfunktionseinheit), der mit einem Teil des angepaßten Codes (HSM, Hardware Support Module, Hardwareunterstützungsfunktionseinheit) verknüpft ist, und das sich auf der untersten Ebene der Netzwerkverknüpfung befindet, während LSK (Link Support Layer, Verknüpfungsunterstützungsebene) ein Teil des Novell-Codes ist, der als ein Multiplexer zwischen dem MLID auf niedriger Ebene und einigen darüber liegenden Netzwerkprotokollen wirkt. CNETX ist ein angepaßter Code, der örtliche DOS-ähnliche Funktionsaufrufe in Netzwerkfunktionsaufrufe umwandelt, wobei Funktionen wie ÖFFNEN, LESEN, SCHREIBEN und SCHLIESSEN bereitgestellt werden.
  • Die PRETASK-Funktionseinheit ist verantwortlich für die Identifizierung, welcher Datenübertragungstyp zu den oben beschriebenen verschiedenen möglichen Netzwerkprotokollen gehören. Da NEB 101 Mehrfachnetzwerkprotokolle unterstützt, ist diese Funktionseinheit, solange NEB 101 in Betrieb ist, präsent.
  • Das IPX/SPX-Netzwerkprotokoll (Internetwork Packet Exchange/Sequenced Packet Exchange) der Firma Novell ist im EEPROM 174 enthalten, und es wird durch das SAP (Dervice Advertising Protocol) unterstützt. SAP ist ein Novell-Konzept, das Bauteilen erlaubt, sich selbst Dateiserverbindary (bindary etwa Datenbank) zu registrieren, das aktive und inaktive Netzauerkeinheiten auflistet. Da Druckserver eine spezielle Art von Bindary ist, registriert SAP NEB 101 über CPSOCKET, und wenn NEB 101 als ein Druckserver ausgelegt ist, registriert SAP den Druckserver mit der NetWare-Bindary (Netzwerkbetriebssytem der Firma Novell). CPRINTSERVER ist eine Kundenimplementierung der Druckerserveranwendung von Novell. Diese Funktionseinheit liefert sich selbst generierende Druckbanner, Benutzermeldung von Beendigungs- und Ausnahmezustand und die Übertragung von Druckdaten sowie Zustandsbefehle an das Druckwerk. Dies weicht vom Druckserver von Novell in soweit ab, daß CPRINTSERVER zur Ansteuerung des lokalen Druckes (beispielsweise des Druckers 102, in dem NEB 101 untergebracht ist) fest zugeordnet wird, und es kann nicht irgendwelche entfernt stehenden Drucker (RPRINTERs) ansteuern. Dieses Programm belegt den Druckdatenkanal für die Dauer einer Druckbearbeitung. RPRINTER ist eine Kundenimplementierung der RPRINTER-Druckanwendung von Novell. Diese Funktionseinheit ist eine Slave-Anwendung, das heißt sie sendet Daten durch eine Druckserveranwendung von Novell überall auf dem LAN 100.
  • Das TCP/IP-Protokollprofil (Transmission Control Protocol/Internet Protocol, Übertragungssteuerungs-/ Internetprotokoll) verfügt über User Datagram Protocol (UDP, Anweriderdatenpaketprotokoll), Reverse Address Resolution Protocol (RARP, Rückwärtsadreßauflösungsprotokoll) und Bootp- Unterstützung (Urladeprotokoll). INTERRUPT ist ein Unterbrechungsbearbeitung für die TCP/IP-Aufgaben, während TIMERTICK das Zeitgebertaktsignal für UNIX-TCP/IP-Aufgaben ist. LPPRINTSERVER ist die TCP/IP-Druckserveranwendung, und es belegt den Druckdatenkanal für die Dauer einer Druckbearbeitung.
  • Das PCSOCKET-Programm läuft bei sämtlichen Protokollprofilen. Das Programm reagiert auf Anforderungen zu Verbindungen, Anforderungen zum Herunterladen von Daten oder Anforderungen für Dienste von entfernten Hilfsprogrammen, und es liefert Zustand und Steuerung an andere Aufgaben über Zwischenprozeßnachrichtenübertragung. Da CPSOCKET den Zustands- und Steuerkanal zwischen NEB 101 und Drucker 102 belegt, ist es der einzige Vorgang, der die Möglichkeit hat, einen Druckzustand über den Zustandskanal zu erhalten. CPSOCKET ist für die Netzwerk- und die Paketverbindungen zwischen dem Novellorientierten Zustand und Steuerhilfsprogrammen (CPNET) oder zwischen dem UNIX-orientierten Zustand und den Steuerhilfsprogrammen (CPNET) verantwortlich.
  • MONITOR ist ein angepaßtes Mehrprozessorverarbeitungsprogramm, das Aufgabenerstellung, Aufgabenlöschung und Mikroprozessorverteilung durchführt. MONITOR enthält auch die Speicherverwaltungsfunktionseinheiten MEMGET und MEMFREE. RESIDENT ist ein Block von Programmen, die spezifische Dienste wie das Auslesen und Einschreiben von NVRAMs, den FLASH-Code, auf ROM (Read Only Memory, Festwertspeicher) beruhende Fehlersuchprogramme, Hardwarezeitsteuertaktsignal und andere grundlegende Merkmale. POST (Power-On Self-Test) ist eine Funktionseinheit zum Selbsttest beim Einschalten, die die Vollständigkeit der NEB- Hardware und-Software beim Einschalten prüft.
  • Das EEPROM 174 speichert auch einen Netzwererkennungdateiblock (NIF, Network Identification File), der die karteninvariante Information wie beispielsweise die Medienzugriffssteuerungsadresse (MAC, Media Access Control), die speziell für jede Netzwerkkarte zugeteilt ist, Hardwareanordnung und Kartenüberarbeitungsnummer, ebenso wie veränderbare Informationen wie die Versionsnummer speichert. Die Information des NIF-Blocks wird verwendet, um sicherzustellen, daß das EEPROM 174 nicht mit einem unverträglichen Abbild wiederprogrammiert wird. Der NIF-Block wird genauer in Verbindung mit Fig. 13 erläutert.
  • Die gesamte Nachrichtenübertragung zwischen NEB 101 und der Druckerschnittstellenkarte 150 wird über das gemeinsam benutzte SRAM 200 ausgeführt. Die Verteilersteuerlogik 400, bevorzugt ein ASIC (Application Specific Integrated Circuit, anwenderspezifische Integrierte Schaltung), verteilt zwischen zwei Byte breiten Speicherzugriffen des Druckerschnittstellenmikroprozessors 152 und dem ein Byte breiten Speicherzugriffen des NEB-Mikroprozessors 173, wobei jedes der Systeme voneinander unabhängig ist.
  • Allgemein gesprochen kommuniziert der 8-Bit-Datenbus des Mikroprozessors 173 auf der Karte NEB 101 mit der Bus- Steuerlogik 410, während der 32-Bit-Datenbus des Mikroprozessors 151 auf der Karte der Druckerschnittstelle 150 mit der Bussteuerlogik 420 kommuniziert. Die Speicherzugriffe eines jeden Bus werden dem gemeinsamen Speicherverteiler 430 zugeführt, der bestimmt, welcher Bus Vorrang hat (entsprechend der unten beschriebenen Verteilungstechnik), und er gestattet dem Bus mit dem Vorrang auf das SRAM 200 über die SRAM- Schnittstelle 440 zuzugreifen. Auf das Interrupt-Steuerregister 450 wird ebenfalls über den gemeinsamen Speicherverteiler 430 zugegriffen, um einem Mikroprozessor zu erlauben, den anderen zu unterbrechen.
  • [Funktionsfähigkeit der NEB]
  • Allgemein gesprochen ist NEB 101 eine interaktive Netzwerkkarte, die den Drucker 102 mit dem LAN 200 verbindet, wodurch der Drucker 102 ein ansprechfähiges und ein interaktives Netzwerkteil wird. Die NEB 101 empfängt eine Druckauftragsinformation und eine Zustandsanforderung vom LAN 100, und überträgt die Druckdaten und die Zustandsbefehle an den Drucker 102 zur Ausführung, erhält Zustandsinformation vom Drucker 102 und überträgt die Zustandsinformation zurück an das LAN 100.
  • Das heißt, NEB 101 kann nicht nur RPRINTER entfernter Druckerdienste und PSERVER Druckserverfunktionsfähigkeit ausführen, sondern sie kann auch den Netzwerkteilen eine breite Vielfalt von Zustands- und Steuereigenschaften bieten. Als Folge von NEB 101 können Netzwerkteile auf vielfältige Beträge von Zustandsinformationen, die in NEB abgespeichert sind, beispielsweise Anzahl der Druckaufträge, die Anzahl der Seiten pro Auftrag, der erforderliche Zeitbedarf pro Auftrag, die Anzahl der Gesamtseiten pro Tag und die Anzahl der Aufträge pro Tag zugreifen. Insgesamt kann eine Reihe von Steuerinformationen vom Netzwerkdrucker 102 geliefert werden, beispielsweise das Üben der Funktionen des Bedienfelds auf der Vorderseite vom netzverdrahtetem PC.
  • Der gesamte Netzverkehr tritt in die NEB 101 ein oder verläßt die NEB 101 über entweder einen BNC-Anschlußstecker 302, der mit der Netzwerksteuerung 510 über das Sende-/Empfangsgerät 171 verbunden ist, oder den RJ-45-Anschlußstecker 301, der unmittelbar mit der Netzwerksteuerung 510 verbunden ist. Um die Notwendigkeit für den Anwender zu eliminieren, daß der eine oder der andere Stecker per Schalter gewählt wird, enthält NEB 101 Hardware und Software, die automatisch erkennt, welche der beiden Stecker mit dem Netzwerk verbunden ist. Die Netzwerknachrichtenübertragungen werden zwischen den gewählten Anschlußstecker und dem Rest der Karte übertragen, wobei die Netzwerksteuerung 510 in Verbindung mit der NEB-Steuerlogik 520 den Datenfluß zwischen dem Netzwerkverkehr an dem ausgewählten Anschlußstecker und dem Datenbus des Mikroprozessors 173 steuert.
  • Sämtliche Softwarefunktionseinheiten, die durch den Mikroprozessor 173 ausgeführt werden, werden im EEPROM 174 abgespeichert. Einige Funktionseinheiten auf niedriger Ebene, die immer benutzt werden, wie beispielsweise das Zeitsteuertaktsignal und das Auslesen des NVRAMs, könnten unmittelbar vom EEPROM 174 ausgeführt werden, jedoch zum größten Teil führt der Mikroprozessor 173 Softwarefunktionseinheiten nicht unmittelbar vom EEPROM 174 aus, sondern er lädt die erforderlichen Funktionseinheiten gezielt in das DRAM 175 zur Ausführung vom DRAM. Aufgrund dieser Anordnung ist es möglich, die spezifischen Funktionseinheiten auszuwählen, die aus dem EEPROM 174 ausgelesen werden, um sie im DRAM 175 auszuführen, damit eine flexible Anordnung des NEB 101 ermöglicht wird.
  • Da beispielsweise viele Nachrichtenübernittlungsprotokolltypen auf dem LAN 100 übertragen werden können, enthält die NEB 101 im EEPROM 174 Softwarefunktionseinheiten zur Unterstützung mehrerer Protokolle. Die NEB 101 überwacht den gesamten Netzwerkverkehr auf dem heterogenen Netzwerk, um die in Verwendung befindlichen Protokolltypen zu bestimmen, und um Protokollprofile zu laden, die den Protokollen entsprechen, die sie im DRAM 175 erfaßt.
  • Das wiederprogrammierbare EEPROM 174 mit einem neuen Abbild, das ein neues Protokollprofil enthalten kann, wird ebenfalls über das DRAM 175 ausgeführt. Wird ein neues Abbild und ein Befehl zur Umprogrammierung empfangen, wobei ein derartiger Befehl über das Netzwerk oder den seriellen Schnittstellenanschlußstecker 600 empfangen wird, wird die Softwareumprogrammierungsfunktionseinheit vom EEPROM 174 in das DRAM 175 geladen. Der Mikroprozessor 173 führt diese Funktionseinheit vom DRAM 175 aus, bestätigt, daß das neue Firmwareabbild mit der Anordnung des NEB 101 verträglich ist, und er programmiert das EEPROM 174 um, wenn die Verträglichkeit bestätigt wird, wie ausführlicher weiter unten beschrieben wird.
  • Der Mikroprozessor 173, der ein geladenes Protokollprofil vom DRAM 175 ausführt, kann Netzwerknachrichtenübertragung an die LAN-Teile beziehungsweise von den LAN-Teilen unter Verwendung dieses Protokolls senden beziehungsweise empfangen. Druckauftragsdaten werden über die Netzwerksteuerung 510 erhalten und dem Mikroprozessor 173 über die NEB-Steuerlogik 520 zugeführt. Der Mikroprozessor 173 schreibt die Druckauftragsdaten in das gemeinsame SRAM 200, von wo der Druckermikroprozessor 151 die Daten liest, und das Druckwerk 160 in Gang setzt. Hinzu kommt, daß jeder der Mikroprozessoren 173 und 151 Nachrichtendaten an den anderen Mikroprozessor in einen anderen Teil des gemeinsamen Speichers schreiben kann.
  • Der Zugriff zum gemeinsamen SRAM 200 wird, wie oben ausgeführt, von der Verteilersteuerlogik 400 nach einer Entscheidungsprioritätstechnik verteilt. Die Verteilersteuerlogik 400 verschachtelt gleichzeitig ablaufende Zugriffe der beiden Mikroprozessor miteinander, indem den Mikroprozessoren gestattet wird, auf das gemeinsame SRAM nach dem Prinzip wer zuerst kommt, wird zuerst bedient, zuzugreifen. Der Prozessor mit der niedrigeren Priorität wird gegenüber dem Prozessor mit der höheren Priorität in den Wartezustand versetzt. Im Fall einer exakten Verbindung, wird dem Mikroprozessor 173 auf der NEB 101 willkürlich eine Priorität zugeteilt.
  • Ein Großteil des gemeinsamen SRAM 200 ist als Ringpuffer ausgelegt, in das der NEB-Mikroprozessor 173 Druckdaten einschreibt, und aus dem der Druckerschnittstellenmikroprozessor 151 die Druckdaten ausliest. Da jeder Prozessor Datenblöcke einschreibt oder ausliest, wird ein Schreibzeiger beziehungsweise ein Lesezeiger aktualisiert, die irgendwo im SRAM 200 abgespeichert sind, um die nächste Stelle anzuzeigen, auf die der Prozessor Zugriff nehmen sollte.
  • Aufgrund dieser Anordnung kann der schreibende Prozessor bestimmen, ob ausreichend Speicherplatz zum Einschreiben zur Verfügung steht, und der lesende Prozessor kann bestimmen, ob verbleibende Daten zum Auslesen vorhanden sind, indem der Schreib- und der Lesezeiger miteinander verglichen werden. Um den Betrag der Überlappung für den gemeinsamen Speicher zwischen den beiden Prozessoren zu reduzieren, unterbricht der NEB- Mikroprozessor 173 das Einschreiben in den Speicher (und entsprechend wird das Auslesen und das Aktualisieren der Zeiger unterbrochen) nach vorbestimmten Intervallen, wodurch der Druckerschnittstellenmikroprozessor 151 allein Zugriff auf den Speicher nehmen kann, bis er seine Arbeit beendet hat, wie weiter unten genauer beschrieben wird.
  • Der serielle Schnittstellenanschlußstecker 600 steht zur Verfügung, um der NEB 101 zu ermöglichen, daß von einem externen Computer Fehler erkannt, lokalisiert und korrigiert werden können. Der serielle Schnittstellenanschlußstecker 600 ist mit der NEB-Steuerlogik 520 verbunden, der serielle Daten über den Empfangsdatenstift 601 des seriellen Schnittstellenanschlußstecker empfängt, und die seriellen Daten Bit für Bit dem Mikroprozessor 173 übermittelt. Der Mikroprozessor 173 konfiguriert die NEB-Steuerlogik 520, so daß ein Startbit bei den seriellen Daten den nichtmaskierbaren Interrupt des Mikroprozessors aktiviert. Der Mikroprozessor 173 baut dann die Datenbits der seriellen Daten zu Bytes mit jeweils acht Bits zusammen. Zusätzlich steuert die NEB-Steuerlogik 520 den Datenbus des Mikroprozessor 173 und schickt einen seriellen Datenstrom durch den Datenbus, um an den Datenstift 602 des serielle Schnittstellenanschlußsteckers 600 zu übertragen; all dies wird weiter unten genauer beschrieben.
  • [Automatische Erfassung der Netzwerkhardwareverbindung]
  • Die Netzwerkschnittstellenkarten liefern im allgemeinen einige verschiedene Typen körperlicher Verbindungen, um Netzwerkkabel mit einem LAN zu verbinden. NEB 101 beispielsweise liefert einen BNC-Anschlußstecker 302, an den ein 10Base-2- Koaxialkabel angeschlossen werden kann und ein RJ-45- Anschlußstecker 301 an den ein 10Base-T-UTP (Unshielded Twistet Pair, nichtabgeschirmtes verdrilltes Leiterpaar) angeschlossen werden kann. Weitere körperliche Verbindungen wie beispielsweise einen Datenanschlußstecker der Firma IBM für einen STP-Draht (Shielded Twistet Pair, abgeschirmtes verdrilltes Leiterpaar) oder ein optischer ST-Glasfaseranschlußstecker für ein optisches Glasfaserkabel sind ebenfalls möglich.
  • Wenn typischerweise eine Netzwerkschnittstellenkarten mit einem LAN durch einen der verschiedenen Anschlußstecker verbunden wird, muß ein Anwender, der die Verbindung mit dem LAN einrichtet oder ändert, nicht nur das LAN-Kabel in den richtigen Anschlußstecker einstecken, sondern er muß auch körperlich die Stellung der Steckbrücke ändern, wodurch die Daten zum und vom richtigen Anschlußstecker zugeführt werden.
  • Aufgrund eines menschlichen Fehlers ist es jedoch möglich, daß der Anwender vergißt, die Steckbrücken zu ändern oder die Steckbrücken an der falschen Stelle in Bezug auf die Verbindung anbringt g, die eingerichtet wurde. In solch einem Fall könnte die Karte mit dem Netzwerk nicht in Verbindung treten. Die Isolation und die Korrektur des Problems führt zu unangebrachtem Zeitverlust, zu unangebrachtem Arbeitsverlust und zu Computerstillstandszeiten. Eine Netzwerkschnittstellenkarte, die automatisch feststellt, welcher Anschlußstecker mit dem LAN verbunden wurde, und anschließend Daten zu und von diesem Anschlußstecker zuführt, würde sehr das Verfahren des Einrichtens oder der Änderung von Verbindungen verbessern.
  • Die vorliegende Erfindung liefert für solch eine automatische Erkennung der Hardwareverbindung durch Testen jedes der Anschlußstecker für eine Anzeige der Netzwerkanschlußfähigkeit, und danach das Auswählen eines der Anschlußstecker, wodurch die Netzwerknachrichtenübertragung zwischen dem ausgewählten Anschlußstecker und dem auf der Karte befindlichen Prozessor durchgeführt werden kann. In Kürze: Eine Netzwerksteuerung enthält einen ersten Detektor, der erfaßt, ob der erste Anschlußstecker elektrisch mit dem Netzwerk verbunden ist, und ein erstes Register, dessen Inhalt der Prozessor auslesen kann, der ein Störbit abspeichert, das anzeigt, ob der zweite Anschlußstecker unsachgemäß angeschlossen ist. Ein zweites Register, dessen Inhalt der Prozessor ebenfalls auslesen kann, speichert ein Gute-Verbindungs-Bit, das anzeigt, daß der erste Detektor erfaßt hat, daß der erste Anschlußstecker elektrisch mit dem Netzwerk verbunden ist, und ein Steuerregister, auf das der Prozessor schreiben kann, speichert ein Auswahlbit. Das Steuerregister gibt das Auswahlsignal entsprechend dem darin gespeicherten Auswahlbit aus.
  • Der Mikroprozessor führt einen softwaregesteuerten Auswahlvorgang aus durch (1) Schreiben eines Auswahlbits zum Steuerregister, damit eine Ausgabe des Auswahlsignals erfolgt, das den ersten Anschlußstecker auswählt (hier RJ-45 301), (2) Auslesen des Gute-Verbindungs-Bits vom zweiten Register, (3) Halten des Zustands des Auswahlbits, wenn das Gute- Verbindungs-Bit elektrische Verbindung mit dem Netzwerk anzeigt, (4) Einschreiben eines Auswahlbits in das Steuerregister, damit die Ausgabe eines Auswahlsignals, das den zweiten Anschlußstecker (hier UTP 302) auswählt, bewirkt wird, wenn das Gute-Verbindungs-Bit keine elektrische Verbindung mit dem Netzwerk anzeigt, (5) Auslesen des Störbits vom ersten Register, (6) Halten des Zustands des Auswahlbits, wenn das Störbit keinen unsachgemäßen elektrischen Anschluß des zweiten Anschlußstecker anzeigt, und (7) Wiederholen des Auswahlvorgangs, wenn das Störbit unsachgemäßen elektrischen Anschluß des zweiten Anschlußstecker anzeigt. Diese Abfolge erlaubt den Auswahlvorgang durchzuführen, lange nachdem die Karte eingeschaltet wurde. Wenn einmal eine Auswahl vorgenommen wurde, wird sie für den gesamten Einschaltzyklus der Karte beibehalten.
  • Genauer gesagt und unter Bezugnahme auf Fig. 8: Der BNC- Anschlußstecker 302 (über das Sende-/Empfangsgerät 171) und der RJ-45-Anschlußstecker sind jeweils mit dem Wähler 511 in der Netzwerksteuerung 510 verbunden. Der Netzwerkverkehr fließt zu und vom Mikroprozessor 173 durch den Bus 181 über entweder den BNC-Anschlußstecker 302 oder den RJ-45-Anschlußstecker 30, in Abhängigkeit vom Zustand des Wählers 101. Die Lage des Wählers 511 wird durch die Ausgabe des Steuerregisters 521 bestimmt.
  • Ist der RJ-45-Anschlußstecker mit dem LAN verbunden, wird ein elektrischer Strom am Anschlußstecker vorhanden sein. Demgemäß enthält die Netzwerksteuerung 510 einen Gute- Verbindungs-Detektor 512, der den RJ-45-Anschlußstecker 301 überwacht, um zu bestimmen, ob der RJ-45-Anschlußstecker 301 elektrisch mit dem LAN 100 verbunden ist. In der Netzwerksteuerung 83902 ist ein Gute-Verbindungs-Detektor 512 als ein N-Kanal-Bauteil mit offenem Drain angeordnet. Wird ein elektrischer Strom am RJ-45-Anschlußstecker 301 erfaßt, wird sich der Ausgang des Gute-Verbindungs-Detektors 512 im L-Zustand befinden, und eine Zustands-LED 305 (Light Emitting Diode, lichtemittierende Diode) wird leuchten, was eine elektrische Verbindung anzeigt. Liegt kein elektrischer Strom am RJ-45- Anschlußstecker 301 an, geht der Ausgang des Gute-Verbindungs- Detektors 512 in den H-Zustand über, wodurch die Zustand-LED 305 ausgeschaltet wird. Die Ausgabe des Gute-Verbindungs-Bit wird auch in das Gute-Verbindungs-Register 522 in der NEB-Steuerlogik 520 verschoben, was dem Mikroprozessor 173 ermöglicht, den Zustand des Gute-Verbindungs-Signals auszulesen.
  • Ein BNC-Anschlußstecker, wie der BNC-Anschlußstecker 302, gibt ein Störsignal aus, wenn der Anschlußstecker nicht einwandfrei angeschlossen ist, wie beispielsweise, wenn er an ein LAN mit einem Koaxialadapter vom T-Typ verbunden ist. Die Netzwerksteuerung 510 enthält eine Stör-Detektorschaltung 513, die erfaßt, ob am BNC-Anschlußstecker 302 eine wohlbekannte Störung auftritt, und sie schreibt das Ergebnis der Erfassung in das Störungsmelderegister 514. Das heißt, das Störungsmelderegister 514 einhält ein Bit, das anzeigt, ob der BNC-Anschlußstecker 302 einwandfrei angeschlossen ist. Das Störbit kann dann durch die Software ausgelesen werden.
  • Der Mikroprozessor 173 steuert den Zustand des Wählers 511 durch Ausführen einer Softwarefunktionseinheit, die im EEPROM 174 in einer Weise abgespeichert ist, die nun unter Bezugnahme auf das Flußdiagramm der Fig. 9 beschrieben wird. Nachdem NEB 1.01 angeschaltet wurde (Schritt S900), setzt der Mikroprozessor 173 den Wähler 511 auf die RJ-45-Anschlußlage, indem in das Steuerregister 521 über den Bus 181 der Wert 0 eingeschrieben wird (Schritt S901). Das Programm liest den Zustand des Gute-Verbindungs-Registers 522 aus (Schritt S902), und wenn das im Gute-Verbindungs-Register 522 abgespeicherte Bit sich im L-Zustand befindet (Anzeige eines elektrischen Stroms), erfaßt das Programm, daß der RJ-45-Anschlußstecker 301 mit dem LAN 1.00 verbunden ist, und das Programm wird verlassen, wobei der Wähler 511 in der RJ-45-Anschlußlage (Schritte S903/S904) bleibt.
  • Da beim Umschalten des N-Kanal-Bauteils, das einen Gute- Verbindungs-Detektor 512 enthält, eine Eigenzeit auftritt, ist es erforderlich, dem Gute-Verbindungs-Detektor 512 ausreichend Zeit zu geben, um eine elektrische Verbindung zu erfassen. Entsprechend, wenn das in dem Gute-Verbindungs-Register 522 abgespeicherte Bit sich im H-Zustand befindet (Anzeige keiner elektrischen Verbindung) wird das Programm das Gute-Verbindungs- Register 522 wiederholt auslesen, wobei das Programm verlassen wird, und der Wähler 511 in der RJ-45-Anschlußlage verlassen wird, wenn sich das Bit im L-Zustand für jeden der Auslesvorgänge befindet (Schritte S905/S906/S902). Wenn sich das im Gute-Verbindungs-Register 522 abgespeicherte Bit nach 500 Lesevorgängen im H-Zustand befindet, setzt das Programm den Wähler 511 in die BNC-Anschlußlage, indem der Wert 1 in das Steuerregister 521 eingeschrieben wird (Schritt S907).
  • Das Programm liest dann das Störungsmelderegister 514 aus (Schritt S908). Wenn sich das Störungsmelderegister 514 im L- Zustand befindet (Anzeige, daß der BNC-Anschlußstecker 302 richtig angeschlossen ist und eine BNC-Verbindung besteht), wird das Programm verlassen, wobei der Wähler 511 in der BNC- Anschlußlage verbleibt (Schritte S909/910). Befindet sich das Störungsbit im H-Zustand (Anzeige, daß der BNC-Anschlußstecker 302 nicht richtig angeschlossen ist, und deshalb nicht mit LAN 100 verbunden ist), kehrt das Programm zu Schritt S901 zurück, wobei der Wähler 511 auf die RJ-45-Anschlußlage zurückgesetzt wird. Das Programm führt sich dann zyklisch welbst aus, bis entweder eine RJ-45- oder eine BNC-Verbindung eingerichtet hat.
  • Das heißt, NEB 101wird fortfahren zwischen dem BNC- Anschlußstecker 302 und dem RJ-45-Anschlußstecker 302 umzuschalten, wobei nach jedem umschalten geprüft wird, ob der betreffende Anschlußstecker mit LAN 100 verbunden ist. Aufgrund dieser Anordnung ist NEB 101 fähig, beim Einschalten (oder bis eine Verbindung zustande gekommen ist) zu erfassen, ob sein BNC- Anschlußstecker 302 oder sein RJ-45-Anschlußstecker 301 mit dem Netzwerk verbunden wurde, ohne einen Bediener zum Schalterwechsel von Hand zu benötigen. Entsprechend wird die Möglichkeit, daß NEB 101 versuchen wird, mit dem LAN 100 über einen Anschlußstecker zu kommunizieren, der nicht mit dem LAN 100 verbunden ist, beseitigt.
  • Beim vorliegenden Ausführungsbeispiel wird die ausgewählte Hardwareverbindung während des laufenden Einschaltzyklus aufrecherhalten. Es ist möglich, Software zu implementieren, die, nachdem eine Auswahl getroffen wurde, feststellt, ob die Hardwareverbindung nicht länger gültig ist, und anschließend den Auswahlvorgang wiederholt, wobei Anschlußsteckern erlaubt wird, während des laufenden Einschaltzyklus zu wechseln. Dies gestattet, dynamisches Schalten einer Verbindung zur anderen zu bilden.
  • [Netzwerkprotokollsensor]
  • Um einen einwandfreien Betrieb in einem Multiprotokollsystem sicherzustellen, und um sich vor nicht einwandfreien Annahmen zu schützen, was das Protokoll und den Frame-Typ (Datenpakettyp), die in einem Netzwerk verwendet werden, betrifft, verwendet NEB 101 Autoprotokollerfassung, um Frame-Typen, die im Netzwerkverkehr verwendet werden, zu erfassen, und um derartige Frame-Typen mit einem speziellen der unterschiedlichen Protokolle, die auf der NEB 101 zur Verfügung stehen, zu korrelieren. Speziell: Durch Verwendung der PRETASK- Funktionseinheit, die im EEPROM 174 abgespeichert ist, ist der Mikroprozessor 173 in der Lage, zu erfassen, welcher Frame-Typ gerade für den Netzwerkverkehr verwendet wird, um diesen Frame- Typ mit einem der unterschiedlichen Protokolle zu korrelieren, und um ein Protokollprofil (beispielsweise IPX/SPX oder TCP/IP) als dem EEPROM 174 zu laden, damit Netzwerknachrichtenübertragung, die dieses Protokoll und den erfaßten Frame-Typ verwenden, auszuführen.
  • Die Fig. 10 und 11(a) bis 11(d) werden zur Beschreibung des Vorgang verwendet. Fig. 10 ist ein Flußdiagramm, das die Ablaufschritte zeigt, die durch den NEB-Mikroprozessor 173 entsprechend der im EEPROM 174 befindlichen PRETASK- Softwarefunktionseinheit ausgeführt wird. PRETASK weist, obwohl es verschieden ist, Ähnlichkeiten mit der PRESCAN- Softwarefunktionseinheit auf, die in der Patentschrift EP-A- 0598510 mit dem Titel "Method And Apparatus For Adaptively Determing The Format Of Data Packets Carried On Local Area Network" beschrieben wurde.
  • In Schritt S1001 von Fig. 10 lädt Mikroprozessor 173 das MLID (Multi Link Interface Driver, Mehrfachanschlußschnittstellentreiber) vom EEPROM 174 in das DRAM 175 und beginnt mit der Ausführung des MLID. Wie oben beschrieben, ist MLID die unterste Ebene der Software, die mit dem Netzwerk kommuniziert. Als Folge wirkt als unmittelbare Softwareschnittstelle der Frame-Pakete des Netzwerks, die auf der Netzwerkleitung übertragen werden.
  • Bei Schritt S1002 lädt der Mikroprozessor 173 das LSL (Link Support Layer, Streckenunterstützungsschicht) im höchsten Bereich des MLID, und er beginnt LSL auszuführen. LSL wirkt als Multiplexer zwischen dem MLID auf niedriger Ebene und verschiedene Netzwerkprotokolle, die darüber geladen werden können. Im Einzelnen: LSL akzeptiert Registrierungen von jedem der verschiedenen Frame-Typen, mit denen Frame-Pakete auf dem Netzwerk übertragen werden können. Das heißt, wird LSL beispielsweise in einer Ethernet-Umgebung Registrierungen von 802.2, 802.3, Ethernet II und Ethernet Snap akzeptieren, und in einer Token-Ring-Umgebung wird LSL Registrierungen von 802.5 und Token-Ring-Snap akzeptieren. Durch Positionieren eines Frame- Typs mit LSL weist eine Softwarefunktionseinheit oberhalb LSL an, die Funktionseinheit mit sämtlichen Frame-Paketen, die mit dem registrierten Frame-Typ übereinstimmen, zu liefern.
  • Bei Schritt S1003 lädt der Mikroprozessor 173 PRETASK in den oberen Bereich des LSL. Wie oben ausgeführt, ist PRETASK verantwortlich dafür, welche Frame-Typen mit den verschiedenen Protokollen, in denen NEB 101 zur Nachrichtenübertragung angepaßt wird, verbunden sind. Bei Schritt S1004 zeigt PRETASK an, von dem LSL sämtliche Frame-Typen empfangen zu wollen, die von MLID unterstützt werden. Als Folge registriert in der Ethernet-Umgebung des vorliegenden Ausführungsbeispiels 802.2, 802.3, Ethernet_II und Ethernet_Snap mit LSL, wobei LSL angewiesen wird, PRETASK mit sämtlichen Frame-Paketen, die mit jedem der registrierten Frame-Typen übereinstimmen, bereitzustellen.
  • Anschließend in Schritt S1005 fortgefahren, bei dem MLID und LSL das Netzwerk für jede Art Verkehr kontrolliert. Speziell wird in Schritt S1005 das Netzwerk zu Rundsendeverkehrsmitteln kontrolliert, damit der Bestimmungsort des Verkehr nicht spezifiziert ist (das heißt, Senden an jedermann). Üblicherweise wird der Rundsendeverkehr durch eine globale Spezifikation der Empfänger-MAC-Adresse (Media Access Control), beispielsweise 12 Sedezimal-Ziffern F in Folge, erkannt. Solange vom LAN der Rundsendeverkehr nicht erkannt wird, ruht PRETASK.
  • An diesem Punkt bei der PRETASK-Ausführung ist die Beziehung der verschiedenen Softwarefunktionseinheiten untereinander wie in Fig. 11(a) dargestellt. Wie zu erkennen ist, ist es für Mehrfachnetzwerkeinheiten, beispielsweise die Einheiten 182, 183, 184 und 185, möglich, daß jede dieser Einheiten ein unterschiedliches Protokoll unter Verwendung unterschiedlichen Frame-Typs ablaufen läßt, wobei sämtliche Einheiten mit einem LAN 100 verbunden sind. In Fig. 11(a) ist Einheit 182 eine Novell-Einheit, bei der ein IPX/SPX-Protokoll unter Verwendung eines Frame-Typs 802.2 abläuft; Einheit 183 ist eine UNIX-Netzwerkeinheit, bei der ein TCP/IP-Protokoll unter Verwendung eines Frame-Typs Ethernet II abläuft; Einheit 184 ist eine Macinthosh-Einheit, bei der ein Ethernet-Talk-Protokoll unter Verwendung eines Frame-Typs Ethernet-Snap abläuft, und die Netzwerkeinheit 185 ist eine nicht identifizierte Frame- und Protokolleinheit, die einen Frame-Typ 802.3 verwendet. Natürlich dienen die in Fig. 11(a) gezeigten Kombinationen nur zu Veranschaulichung, und es ist beispielsweise möglich, für ein Novell-IPX/SPX-Protokoll einen Frame-Typ 802.3 oder irgendeinen anderen Frame-Typ zu verwenden. Die einzige Forderung ist, daß jeder Protokolltyp einem und nur einem Frame-Typ zugeordnet ist.
  • NEB 101 ist ebenfalls an das LAN 100 angeschlossen, und sie enthält LSL 187, das oberhalb von MLID 186 geladen wurde. PRETASK 188 wird so dargestellt, als hätte es jeden der verschiedenen Frame-Typen, die auf dem LAN 100 rundsenden können, registriert. Als Folge, wie Fig. 11(a) zeigt, hat PRETASK 188 802.2 bei Bezugszeichen 189, Ethernet_II bei Bezugszeichen 190, Ethernet-Snag bei Bezugszeichen 191 und 802.3 bei Bezugszeichen 192 registriert.
  • Wird LAN-Rundsendeverkehr erkannt, wird in Fig. 10 in Schritt S1006 fortgefahren, bei dem LSL das Frame-Paket PRETASK zugeführt wird. Bei Schritt S1007 decodiert PRETASK den Kopfbereich, um das bei diesem Frame-Paket verwendete Protokoll herauszufinden. Die Abweichung dieses Kopfbereichs verändert sich in Abhängigkeit vom Frame-Typ, den das Protokoll benutzt. Die nachfolgende Tabelle enthält einige Beispiele sedezimaler Werte und die Kopfbereich der Protokolle, die die verschiedenen Protokolle identifiziert.
  • Sedezimalwert Protokolltyp
  • 0800 IP
  • 0806 ARP
  • 809B EtherTalk
  • 8137 IPX/SPX
  • Fig. 11(b) zeigt diese Abfolge. Wie aus Fig. 11(b) zu erkennen ist, hat die Netzwerkeinheit 182 ein Rundsendeframe- Paket unter Verwendung des Frame-Typs 802.2 ausgesendet. Da PRETASK bei Bezugszeichen 189 (siehe Fig. 11(a)) mit Hilfe von LSL den Frame-Typ 802.2 registriert hat, stellt LSL das Frame- Paket. PRETASK bereit. PRETASK decodiert den Kopfbereich des Frame-Protokolls mit Hilfe der oben angeführten Tabelle, um das durch diesen Frame-Typ verwendete Protokoll zu bestimmen.
  • Beugnehmend auf Fig. 10 wird in Schritt S1008 die Registrierung des gerade von LSL empfangenen Frame-Typs vom PRETASK aufgehoben. Als Folge, wie in Fig. 11(a) zu erkennen ist, hat PRETASK die Registrierung des Frame-Typs 802.2 aufgehoben.
  • Während Schritt S1008 die Aufhebung der Registrierung in allen Fällen zeigt, gibt es einige Fälle, in denen es sinnvoll ist, die Registrierung nicht aufzuheben. Besonders ist mit jedem unterschiedlichen Protokoll eine Liste erlaubter Frame-Typen verbunden. Beispiele erlaubter Frame-Typen für IPX/SPX und für TCP/IT sind folgende:
  • IPX/SPX TCP/IP
  • Ethernet_II Ethernet_II
  • Ethernet_Snap Ethernet_Snap
  • 802.2
  • 802.3
  • Wie aus der Tabelle hervorgeht, ist es möglich, daß zwei der Frame-Typen (Ethernet_II und Ethernet-Snap) durch verschiedene Protokolle verwendet werden können. Es sei auch angemerkt, daß es dem gleichen Frame-Typ erlaubt ist, von verschiedenen Protokollen auf dem gleichen LAN angewendet zu werden. Als Folge wird bei einer bevorzugten Betriebsart die Aufhebung der Registrierung in Schritt S1008 nicht durchgeführt, wenn der in Schritt S1006 von PRETASK empfangene Frame-Typ von einem Protokoll verwendet werden kann, das noch nicht mit Hilfe von LSL registriert wurde (siehe Schritt S1010). Diese bevorzugte Betriebsart erlaubt das Erkennen und den Betrieb sämtlicher auf dem LAN zugelassener Protokolle, wenn selbst später empfangene Frame-Typen für ein Protokoll, das von den schon registrierten Protokollen abweicht, von PRETASK erkannt und verarbeitet werden kann, um das abweichende Protokoll zu laden.
  • Bei Schritt S1009 lädt PRETASK das Netzwerkprotokoll, der zu dem in Schritt S1007 gehörenden Protokoll decodiert wurde. Wenn, wie ein Beispiel in Fig. 11(b) zeigt, ein IPX/SPX- Protokoll decodiert wird, lädt PRETASK das IPX/SPX- Netzwerkprotokoll vom EEPROM 174. Vor dem Laden wird das Netzwerkprotokoll, wenn es von LSL empfangen wurde, mit dem Frame-Typ, hier 802.2, initialisiert.
  • Bei Schritt S1010 registriert sich das neu geladene Netzwerkprotokoll mit Hilfe von LSL selbst, wie beispielsweise in Fig. 11(c) gezeigt. Wie hier zu sehen ist, registriert das IPX/SPX-Protokollprofil den Frame-Typ 802.2 mit Hilfe von LSL. Durch die Registrierung, und wie oben beschrieben, informiert IPX/SPX LSL, um sämtliche Frame-Pakete, die mit dem registrierten Frame-Typ übereinstimmen (hier 802.2), dem neu geladenen Protokollprofil zur Verfügung zu stellen.
  • PRETASK kehrt dann zu Schritt S1005 zurück, um das Netzwerk für den Rundsendeverkehr zu überwachen. Wenn LSL Frame- Paketen begegnet, die mit den verbleibenden Frame-Typen übereinstimmen, und von PRETASK registriert sind, stellt LSL diese: Frame-Typen dem PRETASK zur Verarbeitung entsprechend Fig. 10 zur Verfügung. Wenn als Folge zusätzliche Frame-Typen angetroffen werden, beispielsweise ein Frame-Typ, der mit einem TCP/IP-Prtokoll verbunden ist, werden solche Frames von PRETASK verarbeitet, damit das zugehörige Netzwerkprotokoll vom EEPROM 174 geladen werden kann.
  • Da in der Zwischenzeit ein Protokollprofil geladen wurde, beginnt es nun auf dem Netzwerk zu arbeiten (siehe Fig. 11(d)). Genauer: Während PRETASK völlig passiv war und keinerlei Netzwerknachrichtenübertragung rundsendete, rundsendet IPX/SPX die zugehörigen SAP-Anforderungen. Andere Protokollanforderungen, die von PRETASK geladen wurden, würden ihre zugehörigen Anforderungen rundsenden. Wenn beispielsweise ein TCP/IP-Protokollprofil geladen wurde, würde dieses Netzwerkprotokoll RARPs dann rundsenden, um ihre Adresse vom am nächst liegenden Server zu erhalten.
  • [Intelligente Verarbeitung]
  • Wenn lokale Netzwerke immer komplexer werden, wird es erforderlich die Netzwerkschnittstellenkarten, wie beispielsweise NEB 101, unter Berücksichtigung der neusten Techniken zu überarbeiten. Weil NEB 101 mit Betriebssoftware aufgeliefert wird, kann diese Software nachfolgend über LAN 100 wiederaufgespielt werden. Beispielsweise kann von des Netzwerksystemverwalters PV 103 der Netzwerkverwalter im Hintergrund das ROM-Firmwareabbild im EEPROM 174 ändern, indem neue Daten heruntergeladen werden, beispielweise Fehlerkorrekturcodes, Herstellungsprüfprogramme, ganze Firmwareaktualisierungen und verschiedene Sprachversionen.
  • Ein typischer PC kann mit mehr als einem LAN verbunden sein. Wie beispielsweise Fig. 12 zeigt, wird PC103 mit LAN 100, das ein Ethernet-LAN ist, und mit LAN 193, das ein Token-Ring- LAN ist, verbunden, und er kann tatsächlich als des Netzwerksystemverwalters PC für beide Netzwerke funktionieren. Jede der LAN kann der Reihe nach mit verschiedenen Druckern verbunden werden, wobei jeder in einer einzelnen NEB untergebracht ist. Andere wiederprogrammierbare Einheiten können ebenfalls mit einem oder beiden der LAN verbunden werden. Als Folge gibt es mehrere NEBs oder andere Einheiten, die der Netzwerksystemverwalter neu programmieren kann.
  • Um eine spezielle NEB neu zu programmieren aktiviert der Netzwerksystemverwalter des PC 103 ein Programm, das die Netzwerkbindary abtastet, um geeignete schnelle Ziele für sämtliche Netzwerkeinheiten zu erkennen, die mit dem Netzwerk verbunden sind. Geeignete schnelle Ziele enthalten sämtliche NEB-ähnlichen Einheiten mit schnellen Fähigkeiten, die Ethernet- oder Token-Ring-Einheiten enthalten. Der Netzwerksystemverwalter wählt eine der Einheiten zur Neuprogrammierung aus und richtet Netzwerknachrichtenübertragung mit dieser Einheit ein. Das EEPROM auf dieser Karte programmiert sich dann selbst mit dem neuen Abbild.
  • Da der Netzwerksystemverwalter zwei oder mehrere Netzwerke verwalten kann, verfügt jedes der Netzwerke über mehrere mit ihnen verbundene wiederprogrammierbare Karten. Der Systemverwalter muß sicher sein, daß das richtige Abbild zur Ziel-NEB gesendet wird. Wenn also in diesem Fall, in dem der Netzwerksystemverwalter das EEPROM 174 auf der NEB 101 (wobei die NEB mit einem Ethernet-LAN verbunden ist) neu programmieren möchte, muß er sicher sein, daß das ausgesendete Abbild ein Ethernet-Abbild ist, und daß das Abbild mit anderen Erscheinungen der NEB 101 verträglich ist.
  • Das Ergebnis eines Herunterladens eines nicht verträglichen Abbilds kann verheerend sein. Wenn der Netzwerksystemverwalter beispielsweise irrtümlich ein Token- Ring-Abbild auf die NEB 101 herunterlädt, und NEB 101 anschließend ihr EEPROM 174 mit diesem Abbild neu programmiert, dann ist NEB 101 nicht mehr länger in der Lage, auf dem Ethernet-LAN zu kommunizieren. Dies bedeutet, daß NEB 101 nicht mal eben über LAN 100 neu programmiert werden kann; es ist sprichwörtlich eine "tote" Karte, solange es sich um Ethernet- LAN handelt. Weitere Unverträglichkeiten wie beispielsweise die Unverträglichkeit in der Hauptschnittstellenanordnung (die Art Schnittstelle zwischen der NEB und den peripheren Einheiten, in denen sie untergebracht ist) Produktanordnung (der Kartentyp des NEBs), Prozessoranordnung (Typ und Taktfrequenz des Prozessors auf der Karte) und Speicheranordnung (Größe und Löschbarkeit der verschiedenen auf der Karte befindlichen Speicher) kann ebenfalls zu Problemen führen. Wenn darüber hinaus neuere Generationen eines Produkts vorliegen, wird schnelle Software, die nur mit den neueren Generationen zusammenarbeiten kann, ebenfalls zu einer "toten" Karte führen.
  • Um solch vernichtende Ergebnisse in diesem Fall, bei dem ein unverträgliches Abbild heruntergeladen wird, zu verhindern, enthält NEB101 einen Softwarecode, der sicherstellt, daß das heruntergeladene Abbild verträglich ist, bevor eine aktuelle Neuprogrammierung erfolgt. Genauer: Das EEPROM 174 im NEB 101 speichert ein derzeitiges Programmabbild, das einen Neztwerksinformationsdateiblock (NIF, Network Information File) enthält, der Anordnungsinformation für die NEBV 101 enthält, und eine Softwarefunktionseinheit zur Neuprogrammierung des EEPROMs 174. Der Mikroprozessor 173 sendet und empfängt Netzwerknachrichtenübertragungen, und wenn ein neues Programmabbild über das Netzwerk empfangen wird, lädt der Mikroprozessor 173 das neue Abbild in das DRAM 175, bestätigt, daß das neue Programmabbild mit der Anordnungsinformation im NIF-Block verträglich ist, und er programmiert das EEPROM 174 nur dann neu, wenn Verträglichkeit bestätigt wurde.
  • Genauer: Der NIF-Block enthält permanent die adapterspezifische Anordnungsinformation, und er ist einzigartig für jede einzelne NEB. In einem bevorzugten Ausführungsbeispiel belegt der NIF-Block 32 Bytes an Speicherplatz im EEPROM 413, und er ist unterteilt in vier Datenbänke zu je 8 Bytes. Wie Fig. 13 zeigt, enthält der NIF-Block eine MAC- Adreßinformationsdatenbank (MAC, Macintosh), eine Kartenversion und eine Identifikationsinformationsdatenbank, eine Bauteileidentifikationsinformationsdatenbank und eine allgemeine Informationsdatenbank.
  • Die MAC-Adreßinformationsdatenbank speichert, wie der Name sagt, die einzigartige MAC-Adresse der Karte. Die Kartennachweis- und -identifikationsinformationsdatenbank ist in vier kleinere Datenbänke unterteilt. Weil die Netzwerkschnittstellenkarten, außer NEC, ebenfalls an das LAN angeschlossen sein können, identifiziert eine Produktdatenbank die Art des Produkts, das an das LAN angeschlossen ist, und eine Kartenüberarbeitungsdatenbank identifiziert die Überarbeitungsnummer des Produkts.
  • Die körperliche Netzwerksmediumdatenbank ist weiter unterteilt in eine körperliche Netzwerkdatenbank, die das körperliche Medium, auf dem die Karte verwendet wird (beispielsweise Ethernet, Token-Ring oder FDDI (Fiber distribute Data Interface)), identifiziert, während der unterstützte Anschlußblock die Typen der körperlichen Anschlußstecker, die die Karte unterstützt (beispielsweise 10Base-T, 10Base-2 und 10Base-5 im Fall eines Ethernet-Netzwerks und UTP sowie STP im Fall eines Token-Ring-Netzwerks), identifiziert. Bei der Hauptschnittstellenverfahrensbank wird der Schnittstellentyp zu den peripheren Einheiten, die innerhalb der Karte untergebracht sind (beispielsweise der Drucker 102 im Gehäuse der NEB 101) identifiziert. Beispiele solcher Schnittstellentypen bilden gemeinsame RAM, SCSI, parallele Normschnittstelle, serielle RS- 232C-Schnittstelle und parallele Centronics-Schnittstelle.
  • Die Bauteileidentifikationsinformationsdatenbank ist ebenfalls in verschiedene kleinere Datenbänke unterteilt. Diese Datenbänke identifizieren die Größe und die körnige Beschaffenheit der ROM, DRAM und NVRAM auf der Karte. Zusätzlich werden die Netzwerksteuerung (Chip DP83902 im Fall von Ethernet und Chip TI380C25 im Fall von Token-Ring) und die Hauptsteuereinheit (gemeinsames Verteiler-RAM, SCSI- Steuereinheit NCR53C80 oder NCR53C80) identifiziert. In der Identifikationsdatenbank der Zentraleinheit werden der Prozesortyp und die Taktgeschwindigkeit abgespeichert. Schlußendlich kann die allgemeine Informationsdatenbank weitere Daten speichern, die zusätzliche Anordnungseigenschaften der Karte, wie Hardwareüberarbeitungsstufe, speichern kann.
  • Unter Bezugnahme auf Fig. 14 beginnt die Neuprogrammierung des EEPROPM 174 auf der NEB 101, wenn das CPFLASH-Programm auf dem PC des Netzwerksystemverwalter das Bindery (Schritt S1401) abtastet und eine Liste potentieller schneller Ziele dem Administrator darbietet. Der Administrator wählt ein Ziel aus (Schritt S1402), und das Programm CPFLASH stellt die Nachrichtenverbindung mit dem Ziel her und lädt das neue Firmwareabbild über das LAN 100, wobei es in das DRAM 175 der NEB abgespeichert wird (Schritt S1403).
  • Ist das neue Abbild im DRAM 175 eingespeichert, deaktiviert der Mikroprozessor 173 auf der NEB das Protokollprofil, das ausgeführt wird, da es, zumindest dabei ist, programmiert zu werden, und es kann sich nicht in die Nachrichtenübertragung während dieser Zeit einschalten (Schritt S1404). Der Mikroprozessor 173 kopiert dann den derzeitigen NIF- Block vom EEPROM 174 in das DRAM 175 (Schritt S1405), und er beginnt mit der Ausführung der Softwareneuprogrammierungsfunktionseinheit.
  • Die Softwareneuprogrammierungsfunktionseinheit führt dann abbildverträgliche Prüfungen aus, indem sie auf die Information zurückgreift, die im derzeitigen Abbild-NIF-Block (der in das DRAM 175 eingespeichert wurde) gespeichert ist, und sie vergleicht diese Information mit der Information, die in dem neuen Firmwareabbild-NIF-Block abgespeichert ist, um sicher zu sein, daß das neue Abbild verträglich ist (Schritt S1406). Da der NIF-Block viele Informationen über die NEB 101 enthält, sind eine Vielzahl von Prüfungen möglich, um eine solche Verträglichkeit zu bestimmen.
  • Eine erste Verträglichkeitsprüfung beinhaltet eine Netzwerkdatenträgeranordnungsprüfung, um zu bestimmen, ob das neue Abbild der genaue Netzwerkdatenträgertyp (beispielsweise Ethernet oder Token-Ring) ist, indem auf die Daten Bezug genommen wird, die in der körperlichen Netzwerkbank des NIF- Blocks gespeichert ist. Ähnlich enthält die zweite Verträglichkeitsprüfung eine Anordnungsprüfung der Hauptschnittstelle, um zu bestimmen, ob das neue Abbild ein Abbild zum Verbinden mit der Schnittstellen der Hauptschnittstelle (beispielsweise gemeinsames RAM oder SCSI) ist, indem die abgespeicherten Daten bei den Hauptschnittstellenverfahrens- und Hauptschnittstellensteuerbänken des NIF-Blocks mit dem neuen Abbild verglichen wird.
  • Eine dritte Verträglichkeitsprüfung enthält eine Produktanordnungsprüfung, die ausgeführt wird, indem auf die Produktkategorie- und Kartenüberarbeitungsbänke des NIF-Blocks Bezug genommen wird, und durch Vergleich dieser Daten mit dem neuen Abbild, um zu bestimmen, ob das neue Abbild für den Typ auf cler Karte, auf der sich das EPROM befindet, geeignet ist. Des weiteren kann eine Prozessoranordnungprüfung ausgeführt werden, indem auf die Zentraleinheitsbank des NIF-Blocks Bezug genommen wird, um zu bestimmen, ob das neue Abbild mit dem auf der Karte befindlichen Mikroprozessor verträglich ist. Zusätzlich kann eine Speicheranordnungsprüfung durchgeführt werden, indem die in den ROM-, DRAM- oder NVRAM-Bänken abgespeicherte Daten des NIF-Blocks mit dem neuen Abbild verglichen werden, um zu bestimmen, ob das neue Abbild mit dem Speicher der Karte verträglich ist. Andere Verträglichkeitsprüfungen unter Verwendung anderer im NIF-Block abgespeicherter Informationen sind ebenfalls möglich.
  • Wenn bestimmt wird, daß das neue Abbild nicht verträglich ist, wird das derzeitige Protokollprofil reaktiviert (Schritte S1407/51408), und es wird eine Fehlermeldung an den PC 103 des Netzwerksystemverwalters über das LAN 100 gegeben, die darauf hinweist, daß ein Versuch unternommen wurde, NEB 101 mit einem unverträglichen Abbild neu zu programmieren (Schritt S1409).
  • Wenn andererseits das neue Bild verträglich ist, werden die karteninvarianten Teile des NIF-Blocks des neuen Abbilds durch die entsprechenden Teile des NIF-Blocks des derzeitigen Abbilds ersetzt, um jede kartenspezifische Information (wie beispielsweise die MAC-Adresse oder die Überarbeitungsnummer der Karte) aufrechtzuerhalten (Schritte S1407-S1410). Das Programm löscht anschließend das derzeitige Abbild vom EEPROPM 174 und programmiert das EEPROPM 174 mit dem neue im DRAM 175 abgespeicherten Abbild neu, das nun den ursprünglichen NIF-Block enthält.
  • Wegen dieser Anordnung wird der Mikroprozessor 173 niemals ein EEPROPM 174 mit einem unverträglichen Abbild neu programmieren, selbst in dem Fall nicht, bei dem ein unverträgliches Abbild irrtümlich über das LAN 100 heruntergeladen wurde. Eher, im Fall, bei dem ein Netzwerksystemverwalter den Versuch unternimmt, die NEB 101 mit einem unverträglichen Abbild neu zu programmieren, wird die NEB 101 eine Meldung zurück an den Netzwerksystemverwalter senden, um ihn über die Unverträglichkeit zu unterrichten. Entsprechend wird ein zuverlässiges Maßnahme gegen menschliche Fehler auf preiswerte und wirksame Weise bereitgestellt.
  • [Verteilereinheit]
  • Die Fig. 15 bis 17 dienen zur Erklärung der Verteilung des gemeinsamen SRAM 200 als Antwort auf eine Zugriffsanforderung von der Druckerschnittstellenkarte 150 oder von dem auf der NEB befindlichen Mikroprozessor 173.
  • Fig. 15 zeigt den Drucker-Adreß-/Datenbus 701 (A/D-Bus), das Drucker-Adreß-Zwischenspeicherfreigabesignal 702 (ALE, Address Latch Enable), das Druckerdatenfreigabesignal 704 (DEN, Data Enable), die Druckertaktsignalleitung 705 und das Druckerbetriebsbereitsignal 706. Diese Signale werden sämtlich über den Druckerschnittstellenanschlußstecker 170 von der Druckerschnittstellenkarte 150 empfangen. Spezifisch ist beispielsweise der Adreß-/Datenbus 701 als Adreß-/Datenbus für den Drucker des Mikroprozessor 151, der auf der Druckerschnittstellenkarte 150 angebracht ist Das Drucker-Adreß- Zwischenspeicherfreigabesignal 702 ist ein Signal, das anzeigt, wenn eine gültige Adreßinformation auf dem Adreß-/Datenbus 701 ausgeführt wird, und das Druckerdatenfreigabesignal 704 ist ein Signal, das anzeigt, wenn eine gültige Dateninformation am Adreß-/Datenbus 701 ausgeführt wird. Das Druckertaktsignal 705 ist das Haupttaktsignal für den Drucker des Mikroprozessor 151 und das Druckerbetriebsbereitsignal 706 ist ein Signal, das, wenn es falsch ist, dem Mikroprozessor 151 anzeigt, daß ein Speicherzugriff nicht beendet ist, und daß Mikroprozessor 151 in einen Wartezustand übergehen soll bis der Speicherzugriff beendet ist.
  • Ebenfalls ist in Fig. 15 der NEB-Adreß-/Datenbus 711, das NEB-Adreß-Zwischenspeicherfreigabesignal 712, Lese- und Schreibsignale (RD, Read, und WD, Write) 714, das NEB-Taktsignal 715 und das NEB-Bereitsignal 176 gezeigt. Der NEB-Adreß-/ Datenbus 711 ist das Hauptadreßbus für den Mikroprozessor 173, und er überträgt Adreß- und Dateninformation für sämtliche Bauteile, die sich auf der NEB 101 befinden. Das NEB-Adreß- Zwischenspeicherfreigabesignal 712 ist ein Signal, das anzeigt, wenn die gültige Adreßinformation auf dem Adreß-/Datenbus 711 zur Verfügung steht, die Lese- und Schreibsignale 714 sind Signale, die anzeigen, wenn gültige Dateninformation auf dem Adreß-/Datenbus 711 zur Verfügung steht und zusätzlich, ob diese Daten gelesen oder geschrieben werden sollen, NEB-Taktsignal 715 ist ein Haupttaktsignal, das vom Kristalloszillator 172 geliefert wird und das NEB-Bereitsignal 176 ist ein Signal, das, wenn es falsch ist, dem NEB-Mikroprozessor 173 anzeigt, daß ein Speicherzugriff noch nicht zur Verfügung steht, und daß dieser Mikroprozessor 173 in den Wartezustand gehen soll, bis der Speicherzugriff zur Verfügung steht.
  • Der Druckermikroprozessor 151 und der NEB-Mikroprozessor 172 kommunizieren, wie oben beschrieben, über das gemeinsame SRAM 200. Zugriffsanforderungen für das gemeinsame SRAM 200 werden vom Mikroprozessor 151 beziehungsweise vom Mikroprozessor 173 auf dem Adreß-/Datenbus 701 beziehungsweise 711 ausgegeben, und sie werden von der Verteilersteuerlogik 400, wie oben beschrieben, verteilt. Genauer: Wie oben unter Bezug auf Fig. 6 beschrieben, enthält die Verteilersteuerlogik 400 die Bussteuerlogik 410 zur Steuerung des Buszugriffs auf dem NEB- Adreß-/Datenbus 711, die Bussteuerlogik 420 zur Steuerung des Busverkehrs auf dem Drucker-Adreß-/Datenbus 701, einen gemeinsamer Speicherverteiler 430 zur Verteilung zwischen den Adreßanforderungen auf dem Adreß-/Datenbus 701 und dem Adreß- /Datenbus 711, eine SRAM-Schnittstelle 440 zum Verbinden des Drucker-Adreß-/Datenbus 701 und den NEB-Adreß-/Datenbus 711 zum Adressieren und Datenbusse für das SRAM 200. Jedes dieser Teile wird unten genauer beschrieben.
  • Die Bussteuerlogik 410 enthält den Zwischenspeicher 717, der die Adreßinformation auf dem NEB-Adreß-/Datenbus 711 als Antwort auf das NEB-Adreß-Zwischenspeicherfreigabesignal 712 zwischenspeichert, um eine zwischengespeicherte Adreßinformation 719 bereitzustellen. Der Decodierer 720 decodiert die zwischengespeicherte Adreßinformation, wenn ein Lese- oder ein Schreibsignal 714 aktiv ist, um ein NEB-Anforderungsignal 721 (NREQ signal, NEB Request Signal) bei dem Ereignis bereitzustellen, damit die Adreßinformation auf dem NEB-Adreß- /Datenbus 711 dem Adreßraum des gemeinsamen SRAM entspricht.
  • In gleicher Weise enthält die Bussteuerlogik 420 einen Zwischenspeicher 722, der Adreßinformation auf dem Drucker- Adreß-/Datenbus 701 zwischenspeichert, wenn sich das Drucker- Adreß-Zwischenspeicherfreigabesignal im H-Zustand befindet, damit die zwischengespeicherte Adreßinformation 724 bereitgestellt wird. Ein Decodierer 725 spricht auf die zwischengespeicherte Adreßinformation an, und er gibt ein Druckeranforderungssignal 726 (PREQ, Printer Request) aus, wenn das Druckerfreigabesignal 704 bei dem Ereignis aktiv ist, damit die zwischengespeicherte Adreßinformation dem Adreßraum des gemeinsamen SRAM 200 entspricht.
  • Der gemeinsame Speicherverteiler 430 enthält einen Synchronisationsschaltungsaufbau, um das Drucker- und das NEB- Zugriffsanforderungssignal an ein gemeinsames Taktsignal, hier NEB-Taktsignal 715, zu synchronisieren, eine Verzögerungsschaltung, die eine kleinere Taktsignalverzögerung in eins der Anforderungssignale einfügt, eine Verzögerungsschaltung, die Zugriff auf ein zuerst empfangenes Anforderungssignal erteilt, und ein Verzögerungszugriff auf später empfangene Zugriffsanforderungen und eine Wiedersynchronisationsschaltung. Insbesondere werden sowohl das NEB-Anforderungssignal 721 als auch das Druckeranforderungssignal 726 den Synchronisationsschaltungen, die beide mit dem NEB-Taktsignal 715 synchronisiert sind, zur Verfügung gestellt, um beide Zugriffsanforderungen für ein gemeinsames Taktsignal zu synchronisieren. Zu einem hier dargestellten speziellen Augenblick wird das Druckeranforderungssignal, das von Natur aus mit dem eignen Druckertaktsignal 705 synchronisiert ist, mit dem NEB-Taktsignal 715 synchronisiert. Die Verzögerung 729 wird in eins der Zugriffsanforderungssignale eingesetzt, hier in das Zugriffsanforderungssignal des Druckers, damit ein versetztes Anforderungssignal bereitgestellt wird. Die Verzögerungsschaltung setzt eine kleine Taktsignalverzögerung ein, beispielsweise eine Verzögerung um ein halbes Taktsignal, damit gewährleistet ist, damit, selbst wenn beide Zugriffsanforderungen genau zum gleichen Zeitpunkt ausgegeben werden, eine Zugriffsanforderung die Verzögerungsschaltung 730 vor der anderen Zugriffsanforderung erreicht.
  • Die Verzögerungsschaltung 730 gibt die ersten und die zweiten Zugriffserteilungssignale PACK (Positive Acknowledgement) und NACK (Negative Acknowledgement) entsprechend den ersten und den zweiten Zugriffsanforderungssignalen aus. Genau eines der ersten und der zweiten Zugriffserteilungssignale wird aktiviert, entsprechend welches des ersten und des zweiten versetzten Anforderungssignals zuerst empfangen wird. Das andere (später empfangene) versetzte Anforderungssignal wird so lange zurückgehalten, bis das zuerst empfangene Zugriffsanforderungssignal verarbeitet ist. Um dem verzögerten Mikroprozessor anzuzeigen, daß der Zugriff zurückgewiesen wird, wird ein Nichtbetriebsbereitsignal ausgegeben. In einem Fall beispielsweise, bei dem eine NEB-Zugriffsanforderung nach einer Druckerzugriffsanforderung empfangen wird, erteilt die Verzögerungsschaltung 730 Zugriff zudem Drucker und verzögert den Zugriff durch die NEB. In diesem Fall wird das NEB- Betriebsbereitsignal 716 deaktiviert, was dem Mikroprozessor 173 anzeigt, in den Wartezustand zu gehen, bis Zugriff erteilt wird. Umgekehrt, wenn eine NEB-Zugriffsanforderung empfangen wird, bevor eine Druckerzugriffsanforderung empfangen wird, erteilt die Verzögerungsschaltung 730 der NEB Zugriff, und sie verzögert den Zugriff auf den Drucker. In diesem Fall verzögert die Verzögerungsschaltung 730 das Druckerbetriebsbereitsignal 706, um dem Mikroprozessor 151 anzuzeigen, in den Wartezustand zu gehen, bis der Zugriff erteilt wird.
  • Das PACK-Zugriffserteilungssignal für den Drucker wird dann dem Wiedersynchronisierungsschaltung 731 zugeführt, wobei das entsynchronisierte Signal mit dem eigenen Taktsignal wiedersynchronisiert wird. Das wiedersynchronisierte Signal wird als FPACK bezeichnet. Die wiedersynchronisierten Zugriffserteilungssignale FPACK und NACK werden der SRAM- Schnittstelle 440 zugeführt, was einwanderfreie Verbindung zwischen dem Mikroprozessor, dem Zugriff erteilt wurde, und dem gemeinsamen SRAM 200 liefert.
  • Der gemeinsame Speicherverteiler 430 wird bevorzugt aus D- Flipflops und übliche Logikschaltungen zusammengebaut. Ein bevorzugter Aufbau wird in Fig. 16 gezeigt. Wie hier zu sehen ist, wird das Zugriffsanforderungssignal 726 vom Drucker einem synchronisierenden D-Flipflop 728a, das durch das NEB-Taktsignal 715 getaktet wird, und anschließend einem zweiten D-Flipflop 728b zugeführt wird. Zur gleichen Zeit wird das Zugriffsanforderungssignal 721 von der NEB dem Eingang des D-Flipflops 727a und anschließend dem zweiten D-Flipflops 727b zugeführt. Diese beiden Flipflops 727a und 727b werden bereitgestellt, um geeignete Synchronisation sicherzustellen, und um das Zugriffsanforderungssignal 721 zu verzögern. Das bei abfallender Flanke auslösende D-Flipflop 729 ist vorgesehen, eine 1¹/&sub2;-fache Taktsignalverzögerung beim Zugriffsanforderungssignal 726 des Druckers einzusetzen. Der Ausgang des Flipflop 729 wird durch das Rücksetzsignal 732 im L-Zustand gehalten, das bei dem Ereignis bereitgestellt wird, wenn ein Zugriffserteilungssignal schon dem NEB (das heißt, das NACK-Signal befindet sich im H-Zustand) zugeführt wurde. Andererseits, wenn der Zugriff zur NEB noch nicht erteilt wurde, dann wird jedes der Zugriffsanforderungssignale vom Drucker getaktet, um das PACK-Signal zu bilden. Das PACK-Signal wird zum Wiedersynchronisations-Flipflop 731 gesendet, das durch das Druckertaktsignal 705 getaktet wird. Zur gleichen Zeit wird das PACK-Signal dem NAND-Glied 734 zugeführt, das in Verbindung mit dem getakteten NEB-Zugriffsanforderungssignal arbeitet. Wurde der Zugriff dem Drucker erteilt, dann gewährleistet das NAND- Glied 734, daß der Zugriff, selbst wenn angefordert, so lange dem NEB nicht erteilt wird, bis PACK in den L-Zustand übergeht.
  • Aufgrund der in Fig. 16 gezeigten Anordnung gibt die Sperrschaltung 730 die ersten und die zweiten Erteilungssignale aus, wobei nur genau eins dieser Signale zu einem Zeitpunkt aktiviert ist. Das heißt, wird der Zugriff dem Drucker erteilt, wird der Zugriff für das NEB gesperrt; umgekehrt, wenn der Zugriff dem NEB erteilt ist, wird der Drucker gesperrt.
  • Bei erneuter Bezugnahme auf Fig. 15 empfängt die SRAM- Schnittstelle 400 das wiedersynchronisierte Druckerzugriffserteilungssignal FPACK ebenso wie das NEB- Zugriffserteilungssignal NACK und auf der Grundlage, welches der Signale aktiviert ist, wird der Zugriff zwischen entweder dem Drucker-Mikroprozessor 151 oder dem NEB-Mikroprozessor 173 dem gemeinsamen SRAM 200 zugeordnet.
  • Genauer: Wie in Fig. 15 gezeigt, wird das NEB- Zugriffserteilungssignal NACK dem Multiplexer 735 zugeführt, der entweder die zwischengespeicherte NEB-Adreßinformation 719 oder die zwischengespeicherte Druckeradreßinformation 724 entsprechend dem NACK-Signal auswählt, und er führt die ausgewählte Adreßinformation dem internen Adreßbus 736 zu. In dem Fall, daß NACK aktiv ist, stellt der Multiplexer 735 sämtliche 13 Bits der zwischengespeicherten Information 719 auf dem internen Adreßbus 736 zur Verfügung. Ist andererseits, NACK nicht aktiv (das heißt, der Drucker hat Zugriff), stellt der Multiplexer 735 12 der 13 Bits der zwischengespeicherten Druckeradreßinformation 724 auf dem internen Adreßbus 736 zur Verfügung. Das 13. Bit, hier AO, wird durch den Generator 747 in einer Weise zur Verfügung gestellt, die weiter unten beschrieben wird.
  • Der Puffer 737 puffert die Adreßinformation vom internen Adreßbus 736 auf den SRAM-Adreßbus 740. Der Puffer 737 wird von dem Ausgang des ODER-Gliedes 739 aktiviert. Am ODER-Glied 739 ist einer der Eingänge mit dem NEB-Zugriffserteilungssignal NACK belegt. Entsprechend, sobald dieses Signal in den H-Zustand übergeht, puffert der Puffer 737 die Adreßinformation auf dem internen Adreßbus 736 auf dem SRAM-Adreßbus 740.
  • Je nachdem, ob Lesen oder Schreiben angefordert wird, das heißt, entsprechend dem Zustand des Lese- oder Schreibsignals 714, empfängt SRAM 200 Dateninformationen, oder es gibt Dateninformationen auf seinen Datenbus 741 aus. Diese Dateninformation wird über den bidirektionalen Puffer 742 an den internen Datenbus 744 übertragen. Der bidirektionale Puffer 742 wird durch die Ausgabe des ODER-Gliedes 745 aktiviert, das akzeptiert, wenn an einem ihrer Eingänge ein NEB- Zugriffserteilungssignal NACK anliegt. Wenn entsprechend NACK in den H-Zustand übergeht, liegt auch am Ausgang des ODER-Gliedes 745 ein H-Signal an, wodurch die Dateninformation vom SRAM- Datenbus 741 auf den internen Datenbus 744 übertragen werden kann. Die Dateninformation auf dem internen Datenbus 744 wird auf den NEB-Adreß-/Datenbus 711 über den bidirektionalen Puffer 746 übertragen, der durch das NEB- Zugriffserteilungssignal NACK aktiviert wird. Da sich das NEB- Zugriffserteilungssignal NACK letztendlich selbst aus dem Decodierer 720 ableitet, der durch das Lese- oder das Schreibsignal 711 angesteuert wird, wird das Zeitverhalten der Dateninformation auf dem NEB-Adreß-/Datenbus 711 insoweit korrekt, weil der Bus 711 nicht länger gültige Adreßdaten die auf ihm erscheinen könnten, erwartet sondern er erwartet jetzt gültige Dateninformation.
  • Wenn somit zusammenfaßt, der NEB Zugriff zum gemeinsamen SRAM 200 erteilt ist, wird die zwischengespeicherte Adreßinformation vom Zwischenspeicher 717 auf dem SRAM-Adreßbus 740 über den Multiplexer 735 und den Puffer 737 zwischengespeichert, und die Dateninformation wird in (oder vom) NEB-Adreß-/Datenbus 711 von (oder zu) dem SRAM-Datenbus 741 über die bidirektionalen Puffer 742 und 746 zwischengespeichert. Sind die Zugriffsvorgänge für die NEB vollständig, wird jede der Verzögerungszugriffsanforderungen vom Drucker verarbeitet.
  • Bei dem Ereignis, daß dem Drucker-Mikroprozessor 151 Zugriff auf das gemeinsame SRAM 200 erteilt wurde, werden dann obere und untere Byte-Puffer erforderlich, um die Bitbreitenunterschiede zu lösen, selbst wenn der Drucker- Mikroprozessor 151 die gleiche 13 Bit breite Adresse, die auch der NEB-Mikroprozessor 173 verwendet, hat, weil der Mikroprozessor 151 eine Datenbusbreite hat, die von der des SRAM 200 abweicht. Genauer: Wie oben beschrieben, ist der Drucker-Mikroprozessor 151 ein 32-bit 80960KB_RISC- Mikroprozessor der Firma Intel, der, nach Vereinbarung, mit externen Einheiten über 16-Bit breiten, gemeinsamen RAM- Datenzugriff kommuniziert. Die Auflösung der 16-Bit-Zugriffe zum internen 32-Bit-Format des Drucker-Mikroprozessor 151 ist dem Drucker-Mikroprozessor überlassen. Die Auflösung jedoch der 16- Bit-Datenzugriffe vom Mikroprozessor 151 zu dem 8-Bit breiten, gemeinsamen SRAM 200 ist der SRAM-Schnittstelle 440 überlassen und den oben erwähnten oberen und unteren Byte-Puffern. Diese Anordnung wird unten genauer beschrieben.
  • Genauer: Für eine Adreßinformation, die im Zwischenspeicher 722 zwischengespeichert ist, überträgt der Multiplexer 735 12 der 13 Bits auf den internen Adreßbus 736. Das dreizehnte Bit, hier AO, wird vom Generator 747 bereitgestellt. Der Generator 747 wird durch die untere Aktivierungsimpulsausgabe 750 und die obere Aktivierungsimpulsausgabe 752 angesteuert, wobei beide vom Aktivierungsimpulsgenerator 751 angesteuert werden. Der Aktivierungsimpulsgenerator 751 ist so angeordnet, zwei aufeinanderfolgende Signale bereitzustellen, den unteren Aktivierungsimpuls 750 und den oberen Aktivierungsimpuls 752, als Antwort auf den Empfang eines FPACK- Zugriffserteilungssignals vom gemeinsamen Speicherverteiler 430. Das untere Aktivierungsimpulssignal 750 wird dem Generator 747 zur Verfügung gestellt, das wiederum dem Multiplexer 735 ein binäres-Bit mit dem Wert 0 für das dreizehnte Adreßbit liefert. Der Multiplexer 735 wählt diese 13 Adreßbits auf dem internen Adreßbus 736 aus. Die Adreßinformation auf dem internen Adreßbus 736 wird, wie oben dargestellt, auf dem SRAM- Adreßbus 740 über den Puffer 737 zwischengespeichert. Der Puffer 737 wird über den Ausgang des ODER-Gliedes 739 angesteuert, an dessen Eingängen unter anderem das obere Aktivierungsimpulssignal 752 und das untere Aktivierungsimpulssignal 750 anliegen. Als Folge gibt, als Antwort auf jedes aufeinanderfolgende obere beziehungsweise untere Aktivierungsimpulssignal 752 beziehungsweise 750 das ODER-Glied 739 ein Signal an den Puffer 737 aus, das eine Adreißinformation auf dem internen Adreßbus bewirkt, um an den SRAM-Adreßbus 740 übertragen zu werden.
  • Der obere Adreßaktivierungsimpuls 752 wird auch dem Generator 747 zur Verfügung gestellt, der ein binäres Bit mit dem Wert 1 für das dreizehnte Adreßbit für den Multiplexer 735 erzeugt. Der Multiplexer 735 wählt solche dreizehnten Bits auf dem internen Adreßbus 736 aus. Diese veränderte Adreßinformation wird, in der Reihenfolge des Empfangs des oberen Aktivierungsimpulses durch das ODER-Glied 739, auf den Adreßbus 740 des SRAM 200 übertragen.
  • Die Bearbeitung der Dateninformation hängt davon ab, ob vom Druck-Mikroprozessor 151 ein Lese- oder ein Schreibvorgang angefordert wird. Im Fall eines Schreibvorgangs stellt der Aktivierungsimpulsgenerator 751 dem Puffer ein unteres Aktivierungsimpulssignal 750 zur Verfügung, das das untere Byte der Dateninformation auf dem Drucker-Adreß-/Datenbus 701 zum internen Datenbus 744 puffert. Diese Dateninformation wird im SDRAM-Datenbus 741 über den bidirektionalen Puffer 742 gepuffert, der durch den Ausgang des ODER-Gliedes 745 aktiviert wird, das wiederum auf das am Eingang anliegende Druckerzugriffserteilungssignal FPACK reagiert. Als Folge wird das untere Byte der Dateninformation auf dem Drucker-Adreß-/ Datenbus 701 über den Puffer 754 auf dem internen Datenbus 744 an den SRAM-Datenbus 741 übertragen.
  • Das obere Byte der Dateninformation an den Drucker-Adreß-/ Datenbus 701 wird durch den Puffer 755 gepuffert, der durch das obere Aktivierungsimpulssignal 752 vom Aktivierungsimpulsgenerator 751 aktiviert wird. Wie oben wird das obere Byte der Dateninformation auf dem internen Datenbus 744 auf den SRAM-Datenbus 741 über den bidirektionalen Puffer 742 übertragen.
  • Wenn der Druck-Mikroprozessor 151 einen Lesevorgang von SRAM-Daten anfordert, werden das untere Aktivierungsimpulssignal 750 und das obere Aktivierungsimpulssignal 752 durch die entsprechenden Verzögerungen 756 und 757 und die verzögerte Aktivierungsimpulssteuerung durch die entsprechenden Zwischenspeicher 758 und 759 verzögert. Diese Zwischenspeicher speichern die entsprechenden vom Datenbus 741 des SRAM 200 gelieferten unteren und oberen Bytes zwischen, bauen die unteren und die oberen Bytes auf dem Drucker-Adreß-/Datenbus 701 zusammen, und stellen die zusammengebaute Dateninformation dem Druck-Mikroprozessor 151 zur Verfügung.
  • Wenn zusammengefaßt, dem Druck-Mikroprozessor 151 Zugriff zum gemeinsamen SRAM 200 erteilt ist, wird die im Zwischenspeicher 722 abgespeicherte Adreßinformation dem Adreßbus des SRAM 200 zugeführt, und die in das SRAM 200 eingeschriebene (oder vom SRAM 200 ausgelesene) Dateninformation wird durch die unteren und die oberen Puffer 754 und 755 in die Dateninformation für den SRAM-Datenbus 741 aufgeteilt (oder von der Dateninformation vom Datenbus 741 durch die Zwischenspeicher 758 und 759 zusammengebaut). Ist der Zugriff durch den Druck-Mikroprozessor 151 beendet, werden dann jede Art von Verzögerungszugriffsanforderungen von der NEB verarbeitet.
  • Das ODER-Glied 760 gibt an das gemeinsame RAM ein Chipauswahlsignal 761 aus. An den Eingängen des ODER-Gliedes 760 liegen das untere Adreßaktivierungsimpulssignal 750, das obere Adreßaktivierungsimpulssignal 752 und das NEB- Adreßerteilungssignal NACK an. Als Folge wird als Antwort auf eines dieser Signale ein Chipauswahlsignal 761 ausgegeben.
  • Fig. 17 zeigt eine Zeitablaufdiagramm für die Taktsignalsteuerung von Signalen, die der Verteilersteuerlogik 400 zugeführt werden. Genauer: Auf der Druckerseite wird, wie oben besprochen, die Verteilersteuerlogik 400 dem Druckertaktsignal 705, dem Drucker-ALE-Signal 702 (PALE), dem Drucker-Adreß-/Datenbus 701 (PAD00), dem Drucker-DEN-Signal 704 (PDEN) und dem Druckerbereitschaftssignal 706 (PREADY) zugeführt. Als Antwort auf die Adreßinformation auf dem Drucker- Adreß-/Datenbus 701, der zum Adreßraum im gemeinsamen SRAM 200 gehört, die gültig und zwischengespeichert ist, wenn das Drucker-ALE-Signal 702 in den H-Zustand übergeht, und die danach ein Druckeranforderungssignal 726 (siehe Fig. 15) erzeugt, wenn das Drucker-DEN-Signal 704 in den L-Zustand übergeht, erzeugt die Verzögerungsschaltung 730 in der Verteilersteuerlogik 400 ein Druckerbereitschaftssignal 706, um den Druck- Mikroprozessor 151 zu veranlassen, so lange einen Wartezustand zu erzeugen, bis der Zugriff zum SRAM 200 erteilt wurde, und gültige Daten auf dem Drucker-Adreß-/Datenbus 701 erscheinen, was angezeigt wird, wenn das Drucker-DEN-Signal 704 in den H-Zustand übergeht.
  • Auf der NEB-Seite, als Antwort auf die Adreßinformation auf dem NEB-Adreß-/Datenbus 711, der zum Adreßraum im SRAM 200 gehört, die gültig und zwischengespeichert ist, wenn das NEB-ALE-Signal 712 in den L-Zustand übergeht, und die danach ein NEB-Anforderungssignal 721 erzeugt, wenn das NEB- Schreibsignal 714 (hier nicht gezeigt) in den L-Zustand übergeht, wird ein NEB-Bereitschaftssignal 716 erzeugt, bis der Zugriff vom SRAM 200 erteilt wird, und gültige Daten auf dem NEB-Adreß-/Datenbus 711 erscheinen.
  • [Reduzieren de Busüberlappung beim gemeinsamen Speicher]
  • Wie oben dargelegt, ist die Verteilersteuerlogik 400 grundlegend für den Entwurf der NEB 101 dahingehend, daß sie nur einem der Prozessoren erlaubt, zu einem bestimmten Zeitpunkt auf das gemeinsame SRAM zuzugreifen. Dies verhindert einen gleichzeitigen Zugriff auf die gleiche Speicherzelle, wodurch Datenverletzung verhindert wird. Die Verteilung jedoch wird, bei Bedarf, auf dem gesamten Speicherbereich ausgeführt und nicht auf einzelnen Speicherzellen. Als Folge muß ein Prozessor warten, während der anderen auf den Speicher zugreift, selbst wenn die Bezugsadressen der beiden Prozessoren unterschiedlich sind. Die kann zu einer sehr langsamen Speicherzugriffszeit führen, besonders an dem Fall, bei dem Druckdaten vom Netzwerk durch den NEB-Mikroprozessor 173 an die Druckerschnittstellenmikroprozessor 151 über das gemeinsame SRAM 200 übertragen wird.
  • Fig. 18 zeigt, wie verfügbarer Speicher in logischen Speicherraum unterteilt werden kann. Sämtliche von der NEB 101 zu Drucker 102 übertragenen Daten, einschließlich Druckauftragsdaten, Befehle und Statusanforderungen werden durch den NEB-Mikroprozessor 173 in den Druckerdatenbereich 201 eingeschrieben, von wo die Daten vom Druckerschnittstellenmikroprozessor 151 ausgelesen werden. Umgekehrt, werden sämtliche vom Drucker 102 an die NEB 101 übertragenen Daten vom Druckerschnittstellenmikroprozessor 151 in den Meldedatenbereich 202 eingeschrieben, von wo die Daten vom NEB-Mikroprozessor 173 ausgelesen werden.
  • Wie in Fig. 18 gezeigt, wird der Druckdatenbereich 201 als Ringpuffer angeordnet, in welchem ein linearer Speicherbereich ringförmig adressiert wird, so daß die Adressierung automatisch am Ausgangspunkt wiederbeginnt, wenn das Ende erreicht ist. Eine solche Speicherstruktur erfordert zwei Zeiger, eine Schreibzeiger, der die nächste Adresse markiert, ab der Daten eingeschrieben werden können, und einen Lesezeiger, der die nächste Adresse markiert, ab der Daten ausgelesen werden können. Die Werte dieser Zeiger werden in dem Zustandsmeldebereich 203 des SRAM 200 abgespeichert. Der sendende Prozessor steuert den Wert des Schreibzeigers, indem er den Wert erhöht, wenn er Daten in den Ringpuffer einschreibt, während der empfangende Prozessor den Wert des Lesezeigers steuert, der den Wert erhöht, wenn Daten nach draußen kopiert werden.
  • Die Daten werden in den Ringpuffer in Blöcken von 256 Bytes eingeschrieben, einschließlich der Schreib- und Lesezeigermarkierung, an welcher Stelle der nächste Block beginnen soll. In Fig. 18 beispielsweise zeigt der Schreibzeiger auf Block 2011, was anzeigt, daß dieser Block der nächste verfügbare Raum im Speicher ist, in den der NEB- Mikroprozessor 173 einschreiben kann. Der Lesezeiger zeigt auf Block 2012, was anzeigt, daß dieser Block der nächste verfügbare Raum im Speicher ist, aus dem der Druckerschnittstellenmikroprozessor 151 auslesen kann. Vor dem Einschreiben eines Datenblocks in den Speicher, liest der NEB- Mikroprozessor 173 die Werte der Schreib- und Lesezeiger vom Zustandmeldebereich 203 aus, und er vergleicht sie, um zu bestimmen, wo ausreichender freier Raum auf dem Ringspeicher zur Verfügung steht. Ähnlich liest der Druckerschnittstellenmikroprozessor 151 die Werte der Schreib- und Lesezeiger von dem Zustandmeldebereich 203 aus, und er vergleicht sie, um zu bestimmen wo sich Daten befinden, die ausgelesen werden können.
  • Beim Übertragen von Daten von einem auf einen anderen Prozessor unter Benutzung eines Ringpuffers folgt der empfangende Prozessor dem sendenden Prozessor somit im Umlaufring, in dem die Daten, die eingeschrieben wurden, ausgelesen werden. Da der empfangende Prozessor durch die Geschwindigkeit des anzusteuernden Druckers begrenzt ist, schreibt der sendende Prozessor die Daten schneller ein als der empfangende Prozessor die Daten auszulesen vermag, und dies ist wahrscheinlich der Grund, warum in einem herkömmlichen System der Schreibzeiger im Ring kreist und den Lesezeiger, der sich hinter dem Schreibzeiger befindet, "einfängt". In solch einem Fall wartet der sendende Prozessor einfach, bis der Speicherraum auf dem Ring frei wird. Während dieser Wartezeit liest und vergleicht in einem herkömmlichen System der sendende Prozessor die Schreib- und Lesezeiger zyklisch, um zu bestimmen, wann Raum zu Verfügung steht. Ein solch zyklisches Abfragen durch den sendenden Prozessor verlangsamt den empfangenden Prozessor, da der sendende Prozessor auf den gemeinsamen Speicher Zugriff nehmen muß, um die Werte der Zeiger auszulesen, wodurch einem Zugriff durch den Drucker vorgebeugt wird; dies reduziert die Eigenschaften des gesamten Systems.
  • Bei der NEB 101 wird die Busüberlappung durch die Vorbeugung reduziert, daß sich der Schreibzeiger vor dem Lesezeiger um mehr als einen vorbestimmten Betrag befindet und dann abwartet, bis der Lesezeiger ihn einfängt. Die NEB fragt das gemeinsame SRAM 200 nicht ab, um zu bestimmen, wann der Schreibzeiger den Lesezeiger einholt, sonder sie verläßt sich auf eine anderen Einheit, hier das Interrupt-Steuerregister 450, um einen Hinweis zu bekommen, wann der Lesezeiger eingefangen wird. Speziell ist es eine Eigenschaft der Druckerschnittstelle, daß die Druckdaten einen Befehl für den Drucker enthalten kann, um eine Bestätigung an die NEB über das Interrupt-Steuerregister 450 zu erzeugen. Die NEB setzt diesen Befehl in den letzten Block der Druckdaten, den sie an den Drucker sendet, und sie verwendet die Betätigung vom Interrupt-Steuerregister 450 als einen Ersatz für die Abfrage. Speziell sendet die NEB Druckdaten zum Drucker (1) durch Bestimmen, ob ausreichender Speicherraum im gemeinsamen RAM zu Drucken der Daten zur Verfügung steht, unter Bezugnahme auf einen Zähler für ausstehende Bestätigungen, (2) ist ausreichender Speicherraum vorhanden, werden die Lese- und Schreibzeiger eingelesen, und es wird bestimmt, ob der Schreibzeiger gleich einem von mehreren Speicherblockindizes ist, die zu einer Anzahl von Speicherblöcken gehören, in die der Ringpuffer unterteilt ist, (3) Schreiben eines Befehls, der dem empfangenden Prozessor (den Drucker) auffordert, eine Bestätigung in dem Fall auszugeben, in dem der Wert des Schreibzeigers gleich einem der vorgegebenen Indizes ist, (4) Schreiben eines Blocks von Druckdaten in das gespeicherte RAM am Ort des Schreibzeigers, und (5) danach Aktualisierung des Wertes des Schreibzeigers. Wenn die NEB 101 einen Befehl schreibt, der den Drucker auffordert, eine Bestätigung auszugeben, aktualisiert sie die Anzahl der ausstehenden Bestätigungen, die sie vom Drucker zu empfangen erwartet, indem der Wert 1 dem Zähler für ausstehende Bestätigungen hinzuaddiert wird. Wird vom Drucker eine Bestätigung empfangen, wird der Zähler für ausstehende Bestätigungen um den Wert 1 erniedrigt. Der Zähler wird nicht im DRAM 175, das sich im NEB-Mikroprozessor 173 befindet, abgespeichert, und für den keine Probleme einer Busüberlappung besteht. Entsprechend bestimmt die NEB 101, ob im Ringpuffer ausreichender Raum zu Verfügung steht, indem die Anzahl der im Zähler abgespeicherten ausstehenden Bestätigungen mit der Anzahl der Speicherblöcke, in die der Ringpuffer unterteilt ist, verglichen wird. Ist die Anzahl der ausstehenden Bestätigungen größer oder gleich der Anzahl der Speicherblöcke, ist der Ringpuffer voll und die NEB 101 schreibt keine weitere Druckinformation in den Ringpuffer, stattdessen wartet sie, bis eine Bestätigung empfangen wird, die anzeigt, daß der Drucker einen Speicherblock des Ringpuffers gelöscht hat, und daß dieser Speicherblock nun für eine neue Druckinformation zur Verfügung steht. Ist andererseits die Anzahl der ausstehenden Bestätigungen kleiner ist als die Anzahl der Speicherblöcke, dann ist noch ausreichender freier Raum im Ringpuffer vorhanden.
  • Fig. 19 zeigt den Ablauf, bei dem der sendende Prozessor auf der NEB 101 (das heißt, der NEB-Mikroprozessor 173) Daten in das gemeinsame SRAM 200 einschreibt. Der Ablauf beginnt, wenn ein Druckauftrag vom LAN empfangen wird (Schritt S1902). Wird der Druckauftrag erhalten, bestimmt der NEB-Mikroprozessor 173, ob im Ringpuffer ausreichend Raum für die Druckdaten ist. Dies geschieht durch Zählen der Anzahl der ausstehenden Bestätigungen, die vom Drucker erwartet werden. Genauer: Wie oben dargelegt ist es für den NEB-Mikroprozessor 173 möglich, Befehle, die mit den Druckdaten gemischt sind, einzusetzen, die den Drucker veranlassen, eine Bestätigung auszugeben, die vom Drucker an den NEB-Mikroprozessor 173 über das Interrupt- Steuerregister 450 übermittelt wird. Der NEB-Mikroprozessor 173 verfolgt die Anzahl der ausstehenden Bestätigungen, das heißt, die Anzahl der Befehle, die für eine Bestätigung erteilt wurden, minus der Anzahl der Bestätigungen, die tatsächlich empfangen wurden. Ist die Anzahl der ausstehenden Bestätigungen kleiner als die Anzahl der Speicherblöcke in die der Ringpuffer unterteilt wurde (hier wurde der Ringpuffer in zwei Speicherblöcke unterteilt), dann steht im Ringpuffer freier Raum für weitere Druckdaten zur Verfügung; wenn andererseits die Anzahl der ausstehenden Bestätigungen größer oder gleich der Anzahl der Speicherblöcke, in die der Ringpuffer unterteilt wurde, ist, dann steht kein freier Raum zur Verfügung, und der NEB-Mikroprozessor 173 wartet, bis Bestätigungen empfangen wurden.
  • Als Folge bestimmt in Schritt S1903 der NEB- Mikroprozessor 173, ob eine Bestätigung vom Drucker empfangen wurde. Wurde eine Bestätigung empfangen, wird in Schritt S1904 fortgefahren, bei dem die Anzahl der ausstehenden Bestätigungen aktualisiert wird. Bei jedem Ereignis wird in Schritt S1905 fortgefahren, bei dem der NEB-Mikroprozessor 173 bestimmt, wieviel freier Raum im Ringpuffer für die in Schritt S1902 empfangenen Druckdaten zur Verfügung steht. Wie oben dargelegt, bestimmt der NEB-Mikroprozessor 173 nicht, wieviel freier Raum zur Verfügung steht, indem er auf die Lese- und Schreibzeiger zugreift, da solche Zugriffe nutzlose Busüberlappung hervorrufen würde. Stattdessen bestimmt der NEB-Mikroprozessor 173, ob Raum zur Verfügung steht, indem die Anzahl der ausstehenden Bestätigungen mit der Anzahl der Speicherblöcke, in die der Ringpuffer unterteilt wurde, verglichen wird. Ist die Anzahl der ausstehenden Bestätigungen nicht kleiner als die Anzahl der Speicherblöcke, dann steht kein freier Raum im Ringpuffer zur Verfügung, und es wird zu Schritt S1903 so lange zurückgesprungen, bis eine zusätzliche Bestätigung empfangen wird. Wenn andererseits die Anzahl der ausstehenden Bestätigungen kleiner als die Anzahl der Speicherblöcke ist, dann steht im Ringpuffer Raum zur Verfügung und es wird in Schritt S1906 fortgefahren.
  • In Schritt S1906 werden die Werte der Schreib- und Lesezeiger aus dem SRAM 200 vom Zustandmeldebereich 203 ausgelesen. Wenn in Schritt S1907 der Schreibzeiger gleich einem Speicherblockindex ist, das heißt, wenn der Schreibzeiger auf das Ende eines Speicherblocks im Ringpuffer zeigt, wie beispielsweise der Index A oder der Index B in Fig. 18, dann setzt der NEB-Mikroprozessor 173 einen Befehl für den Drucker ein, um eine Bestätigung auszugeben. Genauer: Wenn der Schreibzeiger gleich einem der Speicherblockindizes ist, wird zu Schritt S1908 verzweigt, wobei der NEB-Mikroprozessor 173 seinen nächsten Druckdatenblock an die Speicherstelle schreibt, die durch den Schreibzeiger angezeigt wird, aber er fügt, in dem Block einen Befehl für den empfangenden Prozessor (das heißt, den Druckmikroprozessor 151) ein, um eine Bestätigung auszugeben. Der NEB-Mikroprozessor 173 aktualisiert dann den Wert der Anzahl der ausstehenden Bestätigungen (Schritt S1910). Es wird anschließend in Schritt S1911 fortgefahren, bei dem bestimmt wird, ob weitere Druckdaten an den Drucker gesendet werden sollen. Sollen weitere Daten gesendet werden, wird zu Schritt S1903 zurückgesprungen, wo der NEB-Mikroprozessor 173 bestimmt, ob freier Raum im Ringpuffer unter Bezugnahme auf die Anzahl der ausstehenden Bestätigungen zur Verfügung steht.
  • Wenn andererseits in Schritt S1907 der Schreibzeiger nicht gleich einem der Speicherblockindizes ist, wird in Schritt S1912 fortgefahren, bei dem der NEB-Mikroprozessor 173 einfach seinen nächsten Druckdatenblock in die Speicherstelle schreibt, die durch den Schreibzeiger angezeigt wird; er aktualisiert den Wert des Schreibzeigers (Schritt S1913) und fährt in Schritt S1911 fort, zu bestimmen, ob weitere Daten an den Drucker gesendet werden sollen.
  • Der empfangende Prozessor gibt Bestätigungen aus, wenn er aus dem gemeinsamen Speicher den Datenblock, der den Befehl enthält, ausliest. Genauer: Unter Bezugnahme auf Fig. 20 beginnt der empfangende Prozessor seine Datenrückgewinnung, indem er die Werte der Schreib- und Lesezeiger vom gemeinsamen Speicher ausliest (Schritt S2001). Wenn Wiederauffinddaten vorhanden sind (Schritt S2002), liest der empfangende Prozessor den Datenblock von der Speicherstelle aus, die vom Lesezeiger angezeigt wird (Schritte S2002 bis S2004), und er aktualisiert den Wert des Lesezeigers (Schritt S2005).
  • Der empfangende Prozessor führt dann jeden der Befehle aus, die im Datenblock enthalten waren (Schritt S2006), wie beispielsweise einen Befehl, um eine Bestätigung auszugeben. Der empfangende Prozessor gibt diese Bestätigung als einen Interrupt an den sendenden Prozessor aus, die erzeugt wird, indem ein Bit zum Interrupt-Steuerregister 450 geschrieben wird, das Teil des Verteilersteuerlogik 400 ist. Empfängt der sendende Prozessor den Interrupt aktualisiert er die Anzahl von ausstehenden Bestätigungen, wie oben beschrieben.
  • Entsprechend schreibt der sendende Prozessor gleichzeitig Blöcke nur auf die Hälfte des Ringpuffers, wenn der Ringpuffer in zwei Speicherblöcke unterteilt ist, er prüft, ob der empfangende Prozessor das Auslesen der anderen Hälfte beendet hat, und er hört auf, auf den gemeinsamen Speicher bei jedem der Indizes zuzugreifen, bis der empfangende Prozessor die Übertragung beendet. Bei alternativen Ausführungsbeispielen kann das Ringregister feiner aufgeteilt werden, wenn zwei Ringsegmente nicht ausreichen (siehe Fig. 21(a) bis 21(c)), können zusätzliche Indizes verwendet werden.
  • Aufgrund dieser Anordnung hindert der Wartezustand des NEB-Mikroprozessor 173 nicht daran, den Druckerschnittstellenmikroprozessor 151 auszulesen, da der NEC- Mikroprozessor 173 zu diesem Zeitpunkt nicht auf das gemeinsame SRAM 200 zugreift: Hiermit wird nicht nur einen größerer Datendurchsatz erzielt, da der Druckerschnittstellenmikroprozessor 151 seine Aufgabe schneller erledigen kann, sondern es befreit auch den NEC- Mikroprozessor 173 von der Abfrage der Schreib- und Lesezeiger, wodurch er andere Arbeiten erledigen kann, die nicht mit dem gemeinsamen SRAM 200 zusammenhängen.
  • [Serielle Schnittstelle]
  • Der serielle Schnittstellenanschlußstecker 600 ist, wie oben erwähnt, für die serielle Nachrichtenübertragung mit externen Prozessoren vorgesehen, speziell für einen Prozessor, der in Verbindung mit Fehlersuch- und Fehlerkorrekturdienstleistungen für die NEB 101 benutzt wird. Genauer: Über den serielle Schnittstellenanschlußstecker 600 ist ein externer Prozessor in der Lage, Fehlersuch- und Fehlerkorrekturinformationen wiederaufzufinden, die von der NEB 101 übermittelt wurden, wenn die NEB 101 in einen Fehlersuch- und Fehlerkorrekturzustand versetzt wurde. Diese Information kann beispielsweise beinhalten: Den Status der internen NEB-Register, den Status der Netzwerkverbreitung und der Verkehr auf der Netzwerkschnittstelle 301 (oder 302, je nachdem, welche freigegeben ist), und den Status der Druckinformation ebenso wie eine Druckinformation, die zum gemeinsamen SRAM 200 geschrieben wurde.
  • Da der serielle Schnittstellenanschlußstecker 600 in Verbindung mit Fehlersuch- und Fehlerkorrekturdienstleistungen verwendet wird, ist es unbedingt erforderlich, daß die serielle Nachrichtenübertragung über diese Schnittstelle durch den NEB- Mikroprozessor 173 angesprochen wird, unabhängig von der Unterbrechbarkeit des NEB-Mikroprozessor 173. Wenn beispielsweise die Busüberlappung durch Warten reduziert wird, um neue Druckdaten in das SRAM 200 zu schreiben, bis der Drucker 102, wie oben beschrieben, eine Bestätigung ausgibt, ist es für den Drucker möglich, daß er irrtümlich versagt, solch eine Bestätigung auszugeben. In solch einem Fall wird der NEB- Mikroprozessor kontinuierlich in einer Schleife sein, bis eine Bestätigung empfangen wird. Gewöhnlich befindet sich ein Prozessor in einem Sperrzustand, das heißt, er antwortet nicht auf Interrupts; in diesem Sperrzustand ist es üblicherweise erforderlich, der Karte zyklisch mit Strom zu versorgen. Dieser falsche Arbeitsablauf jedoch ist genau die Art von Arbeitsablauf, für die die Fehlersuch- und Fehlerkorrekturinformation über den serielle Schnittstellenanschlußstecker 600 erwünscht ist. Es ist unbedingt erforderlich, daß der NEB-Mikroprozessor 173 auf solch eine serielle Nachrichtenübertragung antworten kann.
  • Die Anordnung, die in den begleitenden Figuren gezeigt ist, beschreibt den Aufbau einer seriellen Schnittstelle, bei der Signale auf einem Empfangskanal an einen nichtmaskierbaren Interrupt-Anschlußstift (NMI, Non-Maskable Interrupt) des NEB- Mikroprozessor 173 übertragen werden. Ein nichtmaskierbare Interrupt-Zusatzeinrichtung ist bei den meisten modernen Prozessoren verfügbar, beispielsweise bei der 80 · 86-Reihe von Prozessoren der Firma Intel, und es liefert ein Mittel zur Unterbrechung des Prozessors, unabhängig vom derzeitigen Verarbeitungszustand. Das heißt, wenn der NMI-Anschlußstift aktiviert wird, muß der Prozessor auf die Unterbrechung antworten, unabhängig von anderen Vorgängen, die derzeit ablaufen.
  • Genauer: Fig. 22 zeigt einen seriellen Schnittstellenaufbau entsprechend der vorliegende Erfindung. Er enthält einen NEB-Mikroprozessor 173, an dem sich ein nichtmaskierbaren Interrupt-Anschlußstift 1731 befindet, und der über den Bus 181 mit der NEB-Steuerlogik 520, wie oben beschrieben, verbunden ist. Die NEB-Steuerlogik 520 enthält eine Adreßdecodierlogik 523, die das Adreßsignal auf dem Bus 181 decodiert, und den Zugriff auf interne Register der NEB- Steuerlogik 520 ermöglicht. Vor allem handelt es sich hier um die drei Register: Senderegister 524, Empfangsregister 525 und NMI-Freigaberegister 526.
  • Das Senderegister 524 enthält ein Übertragungsbit, das mit dem Übertragungsanschluß 602 (TX) der seriellen Schnittstelle verbunden ist. Insbesondere das Übertragungsbit kann vom NEB- Mikroprozessor 173 über den Bus 181 und über die Adreßdecodierlogik 523 beschrieben werden, und entsprechend einem binären 1- oder einem binären 0-Zustand dieses Übertragungsbits tritt am Übertragungsanschluß 602 ein entsprechendes Spannungspegel von +5 V oder 0 V auf.
  • Das Empfangsregister 525 enthält ein Empfangsbit, das mit dem Empfangsanschluß 601 (RX) der seriellen Software- Schnittstelle verbunden ist. Genauer: Entsprechend einem Spannungspegel, der am Empfangsanschluß 601 erscheint, wird das Empfangsbit auf den binären Wert 0 oder den binären Wert 1 gesetzt, und das Empfangsbit kann durch den Mikroprozessor 173 über den Bus 181 und die Adreßdecodierlogik 523 ausgelesen werden.
  • Das NMI-Freigaberegister 526 ist eine Schalter, der durch den Mikroprozessor 173 gesteuert werden kann, und der zwischen dem Empfangsanschluß 601 und dem NMI-Anschluß 1731 liegt. Unter der Steuerung des Mikroprozessor 173 und über den Bus 181 sowie die Adreßdecodierlogik 523 ist das NMI-Freigaberegister 526 zwischen einem Freigabezustand, bei dem die am Empfangsanschluß 601 erscheinenden Signale mit dem NMI- Anschluß 1731 verbunden sind, und einem Sperrzustand, bei dem die am Empfangsanschluß 601 erscheinenden Signale am Empfangsanschluß 601 gesperrt werden.
  • Das Senderegister 524, das Empfangsregister 525 und das NMI-Register 526 können körperlich aus einem einzigen Register aufgebaut sein, aber typischer ist, daß jedes der Register ein getrennt adressierbares Register ist, wie in Fig. 22 gezeigt.
  • Fig. 23(a) zeigt die serielle Schnittstellenverarbeitung in einer seriellen Empfangsbetriebsart. Die in Fig. 23(a) gezeigten Verarbeitungsschritte werden vom NEB- Mikroprozessor 173 mit Software-Befehlen, die im DRAM 175 abgespeichert sind, ausgeführt:
  • Bei Schritt S2301 gibt der Mikroprozessor 173 das NMI- Freigaberegister frei, damit die Übertragung von Signalen, die am Empfangsanschluß 601 erscheinen, unmittelbar an den NMI- Anschluß 1731 übertragen werden. Bei Schritt S2302 überwacht der Mikroprozessor 173 den NMI-Anschluß 1731 auf das Erscheinen eines NMI-Signals. Wurde kein nichtmaskierbarer Interrupt empfangen, fährt der Mikroprozessor 173 mit der laufenden Verarbeitung fort (Schritt S2303), beispielsweise mit Druckvorgängen auf dem Netzwerk zwischen dem computergestützten LAN 100 und dem Drucker.
  • Wenn andererseits am NMI-Anschluß 1731 ein NMI-Signal empfangen wird, wird in Schritt S2304 fortgefahren, bei dem der Mikroprozessor 173 die laufenden Verarbeitungen unterbricht. Da, wie in Fig. 23(b) gezeigt, das NMI-Freigaberegister freigegeben wurde, wird ein NMI-Signal entsprechend einem Startbit am Empfangsanschluß 601 empfangen. Fig. 23(b) zeigt den Zeitverlauf der Signale in der seriellen Empfangsbetriebsart. Wenn ein Spannungspegel, das einem Startbit entspricht, am Empfangsanschluß 601, aufgrund eines Freigabezustands des NMI- Freigaberegisters, erscheint, wird dieses Startbit an den NMI- Anschluß 1731 übertragen. Gleichzeitig, aufgrund des mit dem Spannungspegel 601 verbundenen Startbits, schaltet das Empfangsbit im Empfangsregister 525 auf den binären Wert 1 um.
  • Zurückkommend auf Fig. 23(a): Nachdem der Mikroprozessor 173 die laufenden Verarbeitungen (Schritt S2304) unterbrochen hat, beginnt der Mikroprozessor mit der Ausführung eines NMI-Interrupt-Auswertungsvorgangs, der in Schritt S2305 das NML-Freigaberegister 526 sperrt, um die Übertragung anderer Signale vom Empfangsanschluß 601 zum NMI-Anschluß 1731 zu blockieren. Der Interrupt-Auswertungsvorgang wartet dann auf einen seriellen Übertragungszeitraum, damit das erste Datenbit am Empfangsanschluß 601 erscheinen kann. In Situationen, in denen serielle Übertragung bei einer Frequenz von 19,2 kHz durchgeführt wird, beträgt der vorbestimmte, serielle Übertragungszeitraum 1/19,2 kHz oder 52 us. Nachdem der vorbestimmte, serielle Übertragungszeitraum verstrichen ist, wird in Schritt S2307 fortgefahren, bei dem das Empfangsbit im Empfangsregister 525 ausgelesen wird. Dies zeigt Fig. 23(b), bei dem zu Anschauungszwecken das erste Datenbit, entsprechend dem hohen Spannungspegel am Empfangsanschluß 601, den binären Wert 1 hat. Das empfangene Bit wird vom Empfangsregister 525 wiederaufgefunden und die Schritte S2306 sowie S2307 werden so lange wiederholt (Schritt S2308), bis acht Datenbits empfangen wurden. Irgendwelche Stoppbits, (beispielsweise 611 in Fig. 23(b)), die übertragen werden, werden einfach ignoriert.
  • Nach Empfang von acht Datenbits wird in Schritt S2309 fortgefahren, bei dem der Interrupt-Auswertungsvorgang ein aus acht Bit bestehendes Byte von Daten, die am Empfangsanschluß 601 empfangen wurden, abgespeichert. Bei Schritt S2310 gibt der Mikroprozessor 173 das NMI-Freigaberegister 526 frei, damit es darauf vorbereitet ist, die nächste serielle Übertagung zu empfangen. Der serielle Nachrichtenübertragungszyklus zum Empfangen eines Byte von seriellen Daten wird dann abgeschlossen.
  • In Schritt S2311 bestimmt der Mikroprozessor 173, ob das in Schritt S2309 abgespeicherte Byte einen asynchronen Abbruch der laufenden Softwareaufgaben anfordert. Genauer: Wenn der NMI- Interrupt-Auswertungsvorgang, wie oben beschrieben, einmal beendet ist, wird üblicherweise bei der laufenden Verarbeitung, wie CPSOCKET, unter der MONITOR-Steuerung fortgefahren. Ein Vorzug einer NMI-gesteuerten seriellen Schnittstelle ist die Möglichkeit, ein laufendes Programm inmitten eines Problems zu unterbrechen. In Situationen beispielsweise, in denen die NEB wegen eines unerwarteten Softwareproblems abgestürzt ist, ist der Zustand der NEB oft unbekannt. Sie kann sich in einer sehr hartnäckigen Mikroprozessorschleife befinden, die keine Fehlersuch- und Fehlerkorrektur-Meldungen übertragen hat. Das Rücksetzen der NEB, das vielfach der einzige Weg ist, die Mikroprozessorschleife zu unterbrechen, wird den derzeitigen Zustand der NEB nicht mehr einnehmen, und es wird keine Information für die Ursache des Absturzes geliefert. In solch einer Situation ist die Möglichkeit, über die NMI-gesteuerte, serielle Schnittstelle unterbrechen zu können, extrem wertvoll.
  • Entsprechend wird in Schritt S2311 bestimmt, ob das über den seriellen Schnittstellenanschlußstecker empfangene Byte einen asynchronen Abbruch anfordert. Bei der kürzlich angeordneten Vereinbarung könnte beispielsweise bestimmt werden, daß die Übertragung eines Ausrufezeichens ("!") eine Anforderung für einen Abbruch bedeutet. In solchen Momenten fährt der Mikroprozessor 173 fort, die laufenden Vorgänge einzustellen, und er gibt ein interaktives Fehlersuchprogramm ein. Das interaktive Fehlersuchprogramm erlaubt dem Anwender Speicheradressen, Register der Zentraleinheit und Ein-/ Ausgabeschnittstellen einzusehen oder zu ändern. Zusätzlich erlaubt das Fehlersuchprogramm das Setzen zweier Unterbrechungspunkte im Code, und es hat die Möglichkeit die Ausführung von jedem solchen Unterbrechungspunkt zu starten. Dies geschieht über den seriellen Schnittstellenanschlußstecker 600.
  • Als Folge erlaubt asynchroner Abbruch einem Fehlersuchprogramm den derzeitigen Zustand der NEB zu analysieren, wenn ein Problem aufgetreten ist. Da das Startbit bei einer serieller Nachrichtenübertragung ein zu erzeugendes NMI-Signal verursacht, erlaubt ein asynchroner Abbruch eine interaktives Fehlersuchprogrammsitzung durchzuführen, bei der eine hartnäckige Mikroprozessorschleife unterbrochen werden kann, damit eine Analyse des Systemzustands ermöglicht wird.
  • Wenn andererseits das in Schritt S2309 abgespeicherte Byte keinen asynchronen Abbruch anfordert, speichert der Mikroprozessor 173 einfach das empfangene Byte und kehrt zu Schritt S2303 zurück, wo er die Ausführung der laufenden Verarbeitungen, die in Schritt S2304 eingestellt wurde, wieder fortgesetzt. Typische andere Funktionseinheiten, die im Mikroprozessor 173 aktiv sind, wie beispielsweise CPSOCKET, überwachen des Datenpuffers, in den das aus 8 Bit bestehende Byte abgespeichert wurde. Durch eine kürzlich angeordnete Vereinbarung beispielsweise, könnte bestimmt werden, daß die Übertragung der Zeichenfolge "DNLD" eine Anforderung zum Herunterladen von Dienstleistungen bedeutet, wobei eine neue Software-Funktionseinheit oder neue Software-Funktionseinheiten über den seriellen Schnittstellenanschlußstecker 600 heruntergeladen werden. In solch einem Moment könnte CPSOCKET derart angeordnet werden, daß jedes der "DNLD"-Zeichen nach dem Empfang zurückgemeldet wird, um danach in die Herunterladen- Betriebsart einzutreten.
  • Fig. 24(a) zeigt ein Flußdiagramm einer Verarbeitung in der Übertragungsbetriebsart der seriellen Softwareschnittstelle, und Fig. 24(b) zeigt Signale, die am Übertragungsanschluß 602 in Verbindung mit Übertragungsbits, die in das Senderegister 524 eingeschrieben werden, auftreten.
  • Bei Schritt S2401 schreibt der Mikroprozessor 173 ein Startbit mit dem binären Wert 1 zum Übertragungsbit im Senderegister 524 ein. Das Übertragungsbit, das mit dem Übertragungsanschluß 602 verbunden ist, bewirkt, daß ein 5 V-Spannungspegel am Übertragungsanschluß 602 auftritt.
  • Fortgefahren wird in Schritt S2402, bei dem der NEB-Mikroprozessor 173 einen vorbestimmten seriellen Übertragungszeitraum bei einer seriellen Übertragungsgeschwindigkeit von 19,2 kHz, das 1/19,2 = 52 us (ein Zwischenbitzeit) entspricht, wartet. Nach Ablauf der Zwischenbitzeit schreibt der Mikroprozessor 173 das erste Bit im übertragenen Wort in das Übertragungsbit im Übertragungsbitregister 524 (Schritt S2403) ein. Bis sämtliche acht Bits des übertragenen Worts eingeschrieben wurden (Schritt S2404), wiederholt der Mikroprozessor 173 die Schritte S2402 und S2403, bei denen er für den seriellen Übertragungszeitraum wartet, und er dann das nächste Datenbit in das Senderegister 524 einschreibt. Nachdem sämtliche acht Bits eingeschrieben sind, wird in Schritt S2405, bei dem, nach dem Warten für einen Zwischenbit-Übertragungszeitraum, ein Stoppbit in das Register 524 eingeschrieben wird, um dann in Schritt S2406 die serielle Übertragung zu beenden.

Claims (40)

1. Netzwerkübertragungseinrichtung, die über eine Vielzahl unterschiedlicher Anschlußstecker (301, 302) verfügt, die jeweils mit einem Netzwerk verbindbar sind, wobei die Einrichtung in der Lage ist, automatisch eine der unterschiedlichen Verbindungsstecker für eine Netzwerkübertragung auszuwählen, wobei die Einrichtung über einem Wähler (511) verfügt, der anspricht auf ein Auswahlsignal, das einen der Vielzahl unterschiedlicher Verbindungsstecker gemäß dem Auswahlsignal auswählt, und mit einer Vielzahl von Detektoren (512, 513), die jeweils einem entsprechenden Anschlußstecker zugehörig sind,
dadurch gekennzeichnet, daß
jeder der Vielzahl von Detektoren (512, 513) betriebsbereit ist, festzustellen, ob der entsprechende Anschlußstecker (301, 302) mit dem Netzwerk verbunden ist, bevor die Netzwerkübertragungseinrichtung die Netzwerkübertragung über den entsprechenden Anschlußstecker bewirkt;
und daß des weiteren ein Prozessor (173) vorgesehen ist, der betriebsbereit ist, einen Auswahlprozeß durch Ausgabe eines Auswahlsignals auszuführen, um so einen jeden der Vielzahl unterschiedlicher Verbindungsstecker auszuwählen, beginnend mit einem Verbindungsstecker (301), Beibehalten eines Zustands des Auswahlsignals in einem Falle, bei dem der Detektor, der dem ausgewählten Verbindungsstecker zugeordnet ist, die Verbindung mit dem Netzwerk aufzeigt, Ausgeben des Auswahlsignals, um so einen nächsten Anschlußstecker (302) in einem Falle auszuwählen, bei dem der Detektor keine Verbindung mit dem Netzwerk aufzeigt, und Wiederholen des Auswahlprozesses, bis bestimmt ist, daß einer der Vielzahl von Steckern (301, 302) mit dem Netzwerk verbunden ist.
2. Netzwerkübertragungseinrichtung nach Anspruch 1, bei der die Vielzahl unterschiedlicher Anschlußstecker (301, 302) wenigstens über einen RJ-45-Stecker (301) verfügt, der in der Lage ist, einen 10Base-T-Anschlußstecker und einen BNC-Anschlußstecker (302) zu akzeptieren, der in der Lage ist, einen 10Base-2- Anschlußstecker zu akzeptieren.
3. Netzwerkübertragungseinrichtung nach einem der Ansprüche 1 oder 2, bei der die Vielzahl unterschiedlicher Detektoren (512, 513) wenigstens über einen ersten Detektor (512) verfügt, um festzustellen, ob der erste Anschlußstecker (301) mit dem Netzwerk verbunden ist, und über einen zweiten Detektor (513) um festzustellen, ob ein zweiter Anschlußstecker (302) mit dem Netzwerk verbunden ist.
4. Netzwerkübertragungseinrichtung nach Anspruch 3, bei der der erste Detektor (512) feststellt, ob ein elektrischer Strom im ersten Anschlußstecker (301) fließt.
5. Netzwerkübertragungseinrichtung nach Anspruch 4, die des weiteren über ein erstes Erfassungsregister (522) verfügt, das in einen ersten Zustand in einem Falle versetzt ist, bei dem der erste Detektor (512) einen elektrischen Strom im ersten Anschlußstecker (301) feststellt, und in einen zweiten Zustand in einem Falle, bei dem der erste Detektor (512) keinen elektrischen Strom im ersten Anschlußstecker (301) feststellt.
6. Netzwerkübertragungseinrichtung nach Anspruch 3, bei dem der zweite Detektor (513) feststellt, ob der zweite Anschlußstecker (302) fehlangepaßt abgeschlossen ist.
7. Netzwerkübertragungseinrichtung nach Anspruch 6, die des weiteren über ein zweites Erfassungsregister (514) verfügt, welches in einen ersten Zustand in einem Falle versetzt wird, bei dem der zweite Detektor (513) feststellt, daß der zweite Anschlußstecker (302) festangepaßt abgeschlossen ist, und in einen zweiten Zustand in einem Falle, bei dem der zweite Detektor (513) feststellt, daß der zweite Anschlußstecker (302) fehlangepaßt abgeschlossen ist.
8. Netzwerkübertragungseinrichtung nach Anspruch 3, die des weiteren ausgestattet ist mit:
einem ersten Erfassungsregister (522), das in einen ersten Zustand in einem Falle versetzt wird, bei dem der erste Detektor (512) feststellt, daß der erste Anschlußstecker (301) mit dem Netzwerk verbunden ist, und in einen zweiten Zustand in einem Falle, bei dem der erste Detektor feststellt, daß der erste Anschlußstecker (301) nicht mit dem Netzwerk verbunden ist; und
einem zweiten Erfassungsregister (514), welches in einen ersten Zustand in einem Falle versetzt wird, bei dem der zweite Detektor (513) feststellt, daß der zweite Anschlußstecker (302) mit dem Netzwerk verbunden ist, und in einen zweiten Zustand in einem Falle, bei dem der zweite Detektor (513) feststellt, daß der zweite Anschlußstecker (302) nicht mit dem Netzwerk verbunden ist.
9. Netzwerkübertragungseinrichtung nach Anspruch 8, bei dem der Prozessor (173) betriebsbereit ist, den Auswahlprozeß durch Ausgabe eines Auswahlsignals auszuführen, um so den ersten Anschlußstecker (301) auszuwählen, das erste Erfassungsregister (522) zu lesen, den Zustand des Auswahlsignals in einem Falle aufrechtzuerhalten, bei dem das erste Erfassungsregister (522) im ersten Zustand ist, Ausgeben eines Auswahlsignals, um so den zweiten Anschlußstecker (302) in einem Falle auszuwählen, bei dem das erste Feststellregister (514) im zweiten Zustand ist, Lesen des zweiten Erfassungsregisters (514), Beibehalten des Zustands vom Auswahlsignal in einem Falle, bei dem das zweite Erfassungsregister (514) im ersten Zustand ist, und Wiederholen des Auswahlprozesses in einem Falle, bei dem das zweite Erfassungsregister (514) im zweiten Zustand ist.
10. Netzwerkübertragungseinrichtung nach einem der vorstehenden Ansprüche, bei der Netzwerkübertragungen zwischen dem Prozessor (173) und dem ausgewählten Anschlußstecker erfolgen.
11. Netzwerkübertragungseinrichtung nach einem der vorstehenden Ansprüche, bei der der Prozessor (173) betriebsbereit ist, eine Netzwerkverbindung über einen ausgewählten Verbindungsstecker zu bewirken, nachdem der Prozessor (173) bestimmt, welcher Anschlußstecker mit dem Netzwerk verbunden ist.
12. Netzwerkübertragungseinrichtung nach einem der vorstehenden Ansprüche, bei der der Prozessor (173) betriebsbereit ist, den Auswahlprozeß auszuführen, nachdem die Netzwerkübertragungseinrichtung eingeschaltet ist.
13. Netzwerkübertragungseinrichtung nach Anspruch 1, bei der der Prozessor (173) betriebsbereit ist, den Auswahlprozeß auszuführen, wenn die Verbindung nicht länger gültig ist.
14. Netzwerkübertragungseinrichtung nach Anspruch 1, die wenigstens erste (301) und zweite (302) mit einer Netzwerksteuerung (510) verbundene Anschlußstecker besitzt,
wobei die Netzwerksteuerung (510) ausgestattet ist mit: dem Wähler (511); einem ersten Detektor (512) zum Feststellen, ob der erste Anschlußstecker (301) elektrisch mit dem Netzwerk verbunden ist; einem zweiten Detektor (513) zum Feststellen, ob der zweite Anschlußstecker (302) mit dem Netzwerk verbunden ist, und rar Ausgabe eines Datensalatbits, das eine defekte Verbindung des zweiten Anschlußsteckers aufzeigt; und mit einem ersten Register (514), das durch den Bus (181) zu lesen ist, und wobei die Netzwerksteuerung (510) betriebsbereit ist, das vom zweiten Detektor (513) ausgegebene Datensalatbit zu speichern, wobei der erste und der zweite Detektor (512, 513) betriebsbereit ist, die Verbindungen vom ersten beziehungsweise zweiten Verbindungsstecker (301, 302) festzustellen, bevor die Netzwerkübertragungseinrichtung die Netzwerkübertragung über den ersten und zweiten Anschlußstecker (301, 302) bewirkt,
wobei die Netzwerkübertragungseinrichtung des weiteren ausgestattet ist mit:
einem zweiten Register (522), das sich durch den Bus (181) lesen läßt, um ein Gute-Verbindungs-Bit zu speichern, das aufzeigt, daß der erste Detektor (512) feststellt, daß der erste Anschlußstecker (301) elektrisch mit dem Netzwerk verbunden ist; und mit
einem Steuerregister (521), das sich durch den Bus (181) zur Ausgabe eines Auswahlsignals gemäß einem dort gespeicherten Auswahlbit schreiben läßt,
und wobei der Prozessor (173), der betriebsbereit ist, Netzwerkübertragungen über den Bus (181) zu senden und zu empfangen, auch betriebsbereit ist zur Ausführung des Auswahlprozesses durch (i) Schreiben eines Auswahlbits durch den Bus (181) in das Steuerregister (521), um so die Ausgabe eines Auswahlsignals zu veranlassen, das den ersten Anschlußstecker (301) auswählt, (ii) Lesen des Gute-Verbindungs-Bits durch den Bus (181) aus dem zweiten Register (522), (iii) Beibehalten des Zustands vom Auswahlbit in einem Falle, bei dem das Gute- Verbindungs-Bit eine elektrische Verbindung mit dem Netzwerk aufzeigt; (iv) Schreiben eines Auswahlbits durch den Bus (181) in das Steuerregister (521), um so die Abgabe eines Auswahlsignals zu veranlassen, das den zweiten Anschlußstecker (302) in einem Falle auswählt, bei dem das Gute-Verbindungs-Bit keine elektrische Verbindung mit dem Netzwerk aufzeigt, (v) Lesen des Datensalatbits durch den Bus (181) aus dem ersten Register (514), (vi) Beibehalten des Zustands vom Auswahlbit in einem Falle, bei dem das Datensalatbit einen fehlangepaßten elektrischen Abschluß des zweiten Anschlußsteckers (302) aufzeigt, und (vii) Wiederholen des Auswahlprozesses in einem Falle, beidem das Datensalatbit einen fehlangepaßten elektrischen Abschluß des zweiten Anschlußsteckers (302) aufzeigt und das Gute-Verbindungs-Bit keine gute elektrische Verbindung aufzeigt, wobei der Wiederholschritt den Auswahlprozeß wiederholt, bis bestimmt ist, daß einer der Anschlußstecker (301, 302) mit dem Netzwerk verbunden ist.
15. Netzwerkübertragungseinrichtung nach Anspruch 14, bei der erste Anschlußstecker ein RJ-45-Anschlußstecker (301) ist, der in der Lage ist, eine 10Base-T-Verbindung zu akzeptieren, und bei dem der zweite Anschlußstecker ein BNC-Stecker (302) ist, der in der Lage ist, eine 10Base-2-Verbindung zu akzeptieren.
16. Netzwerkübertragungseinrichtung nach Anspruch 15, bei dem der Prozessor (173) beim Ausführen des Auswahlprozesses das Gute-Verbindungs-Bit durch den Bus (181) aus dem zweiten Register (522) in einer vorbestimmten Häufigkeit liest, um so eine Verzögerung zu verursachen, und den Zustand des Auswahlbits in einem Falle beibehält, bei dem das Gute-Verbindungs-Bit eine elektrische Verbindung mit dem Netzwerk nach irgendeinem der Vielzahl von Lesevorgänge aufzeigt.
17. Netzwerkübertragungseinrichtung nach einem der vorstehenden Ansprüche, die in einem Netzwerkperipheriegerät installiert ist.
18. Netzwerkübertragungseinrichtung nach Anspruch 17, dessen Netzwerkperipheriegerät ein Drucker (102) ist.
19. Netzwerkübertragungseinrichtung nach Anspruch 18, die des weiteren ausgestattet ist mit:
einem Übertragungsmittel zum Übertragen von Statusinformationen aus dem Netzwerkperipheriegerät an das Netzwerk.
20. Netzwerkübertragungseinrichtung nach Anspruch 18, die des weiteren über ein Übertragungsmittel verfügt zum Übertragen von Druckbilddaten aus dem Netzwerk zum Netzwerkperipheriegerät.
21. Netzwerkübertragungseinrichtung nach einem der Ansprüche 1 bis 16, wobei die Netzwerkübertragungseinrichtung eine Netzwerkkarte (101) ist.
22. Netzwerkübertragungseinrichtung nach einem der Ansprüche 1 bis 16, wobei die Netzwerkübertragungseinrichtung ein Kopierer ist.
23. Netzwerkübertragungseinrichtung nach einem der Ansprüche 1 bis 16, wobei die Netzwerkübertragungseinrichtung ein Drucker (102) ist.
24. Verfahren zum automatischen Auswählen, welcher Anschlußstecker unter einer Vielzahl unterschiedlicher Anschlußstecker (301, 302) auf einer Netzwerkübertragungseinrichtung mit einem Netzwerk verbunden ist, mit dem Verfahrensschritt des Ausgebens eines Auswahlsignals (S901, S907), um so nacheinander einen jeden der Vielzahl unterschiedlicher Anschlußstecker auszuwählen, beginnend mit dem ersten Anschlußstecker (301), gekennzeichnet durch die Verfahrensschritte:
Feststellen (S903, S909), ob jeder der Vielzahl unterschiedlicher Anschlußstecker (301, 301) mit dem Netzwerk verbunden ist, bevor die Netzwerkübertragungseinrichtung die Netzwerkübertragung über den entsprechenden Anschlußstecker unter Verwendung einer Vielzahl von Detektoren (512, 513) bewirkt, wobei jeder der Vielzahl von Detektoren (512, 513) einem jeweiligen der Vielzahl unterschiedlicher Anschlußstecker (301, 302) zugehörig ist, durch Feststellen, ob der ausgewählte Anschlußstecker (301, 302) mit dem Netzwerk verbunden ist;
Beibehalten (S904) des Zustands vom Auswahlsignal in einem Falle, bei dem der Feststellschritt bestimmt, daß der ausgewählte Anschlußstecker mit dem Netzwerk verbunden ist;
zyklisches Weitergehen (S905, S907) zum nächsten Anschlußstecker (302) in einem Falle, bei dem der Feststellschritt bestimmt, daß der ausgewählte Anschlußstecker mit dem Netzwerk verbunden ist; und
Wiederholen der Ausgabe, des Feststellens, des Beibehaltens und des zyklischen Weitergehens in einem Falle, bei dem der zyklische Weitergehschritt alle der Vielzahl unterschiedlicher Anschlußstecker (301, 302) zyklisch durchlaufen hat, bis bestimmt ist, daß einer der Vielzahl von Anschlußsteckern (301, 302) mit dem Netzwerk verbunden ist.
25. Verfahren nach Anspruch 24, bei dem die Vielzahl unterschiedlicher Anschlußstecker (301, 302) wenigstens einen RJ-45-Stecker (301) enthält, der in der Lage ist, eine 10Base-T- Verbindung zu akzeptieren, und einen BNC-Stecker (302), der in der Lage ist, eine 10Base-2-Verbindung zu akzeptieren.
26. Verfahren nach Anspruch 25, mit den weiteren Verfahrensschritten:
Bestimmen, ob der erste Anschlußstecker (301) mit dem Netzwerk verbunden ist, durch Bestimmen, ob ein elektrischer Strom im ersten Anschlußstecker (301) fließt; und
Bestimmen, ob ein zweiter Anschlußstecker (302) mit dem Netzwerk verbunden ist, durch Bestimmen, ob der zweite Anschlußstecker (302) fehlangepaßt abgeschlossen ist.
27. Verfahren nach einem der Ansprüche 24 bis 26, mit den weiteren Verfahrensschritten:
Einstellen eines ersten Erfassungsregisters (522) in einen ersten Zustand in einem Falle, bei dem ein erster Anschlußstecker (301) mit dem Netzwerk verbunden ist, und in einen zweiten Zustand in einem Falle, bei dem der erste Detektor (512) feststellt, daß der erste Anschlußstecker (301) nicht mit dem Netzwerk verbunden ist; und
Einstellen eines zweiten Erfassungsregisters (514) in einen ersten Zustand in einem Falle, bei dem der zweite Detektor (513) feststellt, daß ein zweiter Anschlußstecker (302) mit dem Netzwerk verbunden ist, und in einen zweiten Zustand in einem Falle, bei dem der zweite Detektor (513) feststellt, daß der zweite Anschlußstecker (302) nicht mit dem Netzwerk verbunden ist.
28. Verfahren nach einem der Ansprüche 24 bis 27, mit dem weiteren Verfahrensschritt:
Übertragen von Netzwerkübertragungen zwischen dem ausgewählten Anschlußstecker und einem Prozessor auf der Netzwerkübertragungseinrichtung.
29. Verfahren nach einem der Ansprüche 24 bis 28, mit dem weiteren Verfahrensschritt des Bewirkens einer Netzwerkverbindung über einen ausgewählten Anschlußstecker, nachdem bestimmt ist, welcher Anschlußstecker mit dem Netzwerk verbunden ist.
30. Verfahren nach einem der Ansprüche 24 bis 29, bei dem die Schritte des Ausgebens, Feststellens und Beibehaltens erfolgen, nachdem die Netzwerkübertragungseinrichtung eingeschaltet ist.
31. Verfahren nach einem der Ansprüche 24 bis 29, bei dem die Verfahrensschritte des Ausgebens, Feststellens und Beibehaltens erfolgen, wenn die Verbindung nicht länger gültig ist.
32. Verfahren nach einem der Ansprüche 24 bis 31, wobei die Netzwerkübertragungseinrichtung in ein Netzwerkperipheriegerät installiert ist.
33. Verfahren nach Anspruch 32, bei dem das Netzwerkperipheriegerät ein Drucker (102) ist.
34. Verfahren nach Anspruch 32, bei dem ein Übertragungsmittel vorhanden ist, das eine Übertragungsstatusinformation aus dem Netzwerkperipheriegerät in das Netzwerk überträgt.
35. Verfahren nach Anspruch 32, bei dem ein Übertragungsmittel Druckbilddaten aus dem Netzwerk zum Netzwerkperipheriegerät überträgt.
36. Verfahren nach einem der Ansprüche 24 bis 31, bei dem die Netzwerkübertragungseinrichtung eine Netzwerkkarte ist.
37. Verfahren nach einem der Ansprüche 24 bis 31, bei dem die Netzwerkübertragungseinrichtung ein Kopierer ist.
38. Verfähren nach einem der Ansprüche 24 bis 31, bei dem die Netzwerkübertragungseinrichtung ein Drucker (102) ist.
39. Computerausführbare Prozeßschritte zum Ausführen des Verfahrens nach einem der Ansprüche 24 bis 38.
40. Computerprogrammprodukt mit prozessorausführbaren Befehlen zum Ausführen des Verfahrens nach einem der Ansprüche 24 bis 38.
DE69529451T 1994-11-04 1995-10-30 Automatische Erkennung einer Netzwerk-Hardware-Verbindung Expired - Lifetime DE69529451T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/336,662 US5701411A (en) 1994-11-04 1994-11-04 Automatic detection of network hardware connection

Publications (2)

Publication Number Publication Date
DE69529451D1 DE69529451D1 (de) 2003-02-27
DE69529451T2 true DE69529451T2 (de) 2003-10-02

Family

ID=23317103

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69529451T Expired - Lifetime DE69529451T2 (de) 1994-11-04 1995-10-30 Automatische Erkennung einer Netzwerk-Hardware-Verbindung

Country Status (4)

Country Link
US (1) US5701411A (de)
EP (1) EP0710912B1 (de)
JP (1) JP3796282B2 (de)
DE (1) DE69529451T2 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819110A (en) * 1995-06-05 1998-10-06 Ricoh Company, Ltd. System for determining whether connection or connectionless modes of communication should be used to transmit information between devices in accordance with priorities of events
US6098116A (en) * 1996-04-12 2000-08-01 Fisher-Rosemont Systems, Inc. Process control system including a method and apparatus for automatically sensing the connection of devices to a network
US5892926A (en) * 1996-12-30 1999-04-06 Compaq Computer Corporation Direct media independent interface connection system for network devices
US5980078A (en) 1997-02-14 1999-11-09 Fisher-Rosemount Systems, Inc. Process control system including automatic sensing and automatic configuration of devices
US5935249A (en) * 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
US6353927B1 (en) * 1997-10-14 2002-03-05 Lucent Technologies Inc. Data download technique into installed memory
US5949335A (en) * 1998-04-14 1999-09-07 Sensormatic Electronics Corporation RFID tagging system for network assets
US6707567B1 (en) * 1998-05-20 2004-03-16 Ricoh Company, Ltd. Supervising system for image forming apparatus and method thereof
US6725278B1 (en) * 1998-09-17 2004-04-20 Apple Computer, Inc. Smart synchronization of computer system time clock based on network connection modes
US6408334B1 (en) 1999-01-13 2002-06-18 Dell Usa, L.P. Communications system for multiple computer system management circuits
US6718381B1 (en) 1999-01-26 2004-04-06 Dell Usa L.P. Removal notification for a computer system
US6665724B2 (en) * 1999-07-20 2003-12-16 Canon Kabushiki Kaisha Method for automatically delaying initialization of a protocol stack within a network interface
US6711629B1 (en) 1999-10-18 2004-03-23 Fisher-Rosemount Systems, Inc. Transparent support of remote I/O in a process control system
US7589849B2 (en) * 2000-04-17 2009-09-15 Inforprint Solutions Company, Llc Method and apparatus for providing printer recognition and management of a print job entity
US7216347B1 (en) 2000-04-17 2007-05-08 International Business Machines Corporation Method and apparatus for prioritizing print jobs from multiple printer input channels
TWI237966B (en) * 2000-09-21 2005-08-11 Via Tech Inc Method for dynamically selecting physical layer
US20020108058A1 (en) * 2001-02-08 2002-08-08 Sony Corporation And Sony Electronics Inc. Anti-theft system for computers and other electronic devices
US7552216B2 (en) * 2001-03-27 2009-06-23 Lexmark International, Inc. Method of sharing a printer
US20030055958A1 (en) * 2001-09-20 2003-03-20 Russell Richard Francis Method for automatically creating network printer ports on a workstation
US6653845B2 (en) * 2002-02-25 2003-11-25 Daimlerchrysler Corporation Addressable open connector test circuit
US7366799B2 (en) 2002-03-06 2008-04-29 Pharos Systems International, Inc. Document processing system including multi-device compatible interface and related methods
US7043577B2 (en) * 2002-08-27 2006-05-09 General Electric Company Auto-detecting universal appliance communication controller
JP2004171411A (ja) * 2002-11-21 2004-06-17 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びバッファメモリの管理方法
JP2004289561A (ja) * 2003-03-24 2004-10-14 Sony Corp ネットワーク接続の管理方法および電子機器
JP4880883B2 (ja) * 2004-07-14 2012-02-22 キヤノン株式会社 通信装置の制御方法、通信装置、および通信装置の制御プログラム
JP2006039982A (ja) 2004-07-28 2006-02-09 Canon Inc 情報処理装置の制御方法、情報処理装置、および情報処理装置の制御プログラム
JP4725066B2 (ja) * 2004-09-30 2011-07-13 セイコーエプソン株式会社 印刷装置監視システム、ネットワークボード、印刷装置監視方法
US8082368B2 (en) * 2006-04-21 2011-12-20 Infortrend Technology, Inc. Display device for indicating connection statuses of a communication channel provided between two systems and method thereof
TWI569604B (zh) * 2015-01-21 2017-02-01 智邦科技股份有限公司 網路交換機系統及其操作方法
CN111402784B (zh) * 2020-03-10 2022-02-18 苏州仰邦软件科技有限公司 一种稳定led控制器网络运行的方法及其显示屏控制系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3990024A (en) * 1975-01-06 1976-11-02 Xerox Corporation Microstrip/stripline impedance transformer
JPH02294757A (ja) * 1989-05-09 1990-12-05 Ricoh Co Ltd 入出力機器
US5142269A (en) * 1991-04-01 1992-08-25 Charles T. Rush Electronic component theft sensor and security system
US5319785A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Polling of I/O device status comparison performed in the polled I/O device
US5410535A (en) * 1992-07-02 1995-04-25 Digital Equipment Corporation Automatic selection of an interface for ethernet stations
US5444856A (en) * 1992-07-07 1995-08-22 Intel Corporation Apparatus and method for switching ethernet media type
US5696899A (en) 1992-11-18 1997-12-09 Canon Kabushiki Kaisha Method and apparatus for adaptively determining the format of data packets carried on a local area network
US5611046A (en) * 1992-11-18 1997-03-11 Canon Kabushiki Kaisha Method and apparatus for interfacing a peripheral to a local area network
US5406260A (en) * 1992-12-18 1995-04-11 Chrimar Systems, Inc. Network security system for detecting removal of electronic equipment
US5513370A (en) * 1992-12-22 1996-04-30 National Semiconductor Corporation Twisted pair and attachment unit interface (AUI) coding and transceiving circuit with full duplex, testing, isolation, and automatic output selection

Also Published As

Publication number Publication date
JPH08255118A (ja) 1996-10-01
US5701411A (en) 1997-12-23
DE69529451D1 (de) 2003-02-27
JP3796282B2 (ja) 2006-07-12
EP0710912B1 (de) 2003-01-22
EP0710912A1 (de) 1996-05-08

Similar Documents

Publication Publication Date Title
DE69529451T2 (de) Automatische Erkennung einer Netzwerk-Hardware-Verbindung
DE69520819T2 (de) Verringerung von Buszugriffskonflikten in gemeinsamem Speicher
DE69516634T2 (de) Intelligente Wiederprogrammierung eines Flash-Speichers
DE69329818T2 (de) Verfahren und Vorrichtung zur Schnittstellenbildung zwischen einem Peripheriegerät und einem lokalen Netzwerk
DE69524846T2 (de) Arbitervorrichtung
US5613096A (en) Network protocol sensor
DE69429279T2 (de) Multiprozessor-programmierbares unterbrechungskontrollersystem mit prozessor-integrierten unterbrechungskontrollern
DE69333496T2 (de) Verfahren, Netzwerk und Schnittstellenmodul für Verwaltung des Zugangs zu einer peripheren Einrichtung in einem Netz
DE69326421T2 (de) Verfahren und Vorrichtung zur Gewinnung und Steuerung des Zustandes eines Peripheregerätes in einem Netz
DE69323840T2 (de) Verfahren und Gerät zur Fernveränderung von, in einer an eine peripherale Netzeinrichtung gekoppelte Schnittstelle, gespeicherte Programme
DE69322943T2 (de) In einer interaktiven Netzwerkleiterplatte, Verfahren und Gerät zur Registrierung statistischer Daten aus Peripheriegeräten
DE69318259T2 (de) Verfahren und Vorrichtung zur Implementierung einer Zweiwegeschnittstelle zwischen einem lokalen Netzwerk und einem Peripheriegerät
DE69331963T2 (de) Verfahren und Gerät zur selbstanpassenden Bestimmung des Formats eines über einen LAN getragenen Datenpaketes
DE69318939T2 (de) Verfahren und Vorrichtung zur Anzeige von Diensten zweier Netzanbieter von einem einzelnen Netzknoten
DE69326416T2 (de) Verfahren und Gerät zum ferngesteuerten Laden und Ausführen von Dateien in einen Speicher
DE69322743T2 (de) Verfahren und Vorrichtung zur Verhinderung der unabsichtlichen Löschung gespeicherter Daten
DE69319567T2 (de) Verfahren und Gerät zur operationsfähigen Konfigurationsbildung einer Schnittstellenkarte
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE69319853T2 (de) Verfahren und Gerät zum Betrieb einer peripheren Einrichtung in einem Netz
DE69315964T2 (de) Verfahren und Vorrichtung zum Speichern einer Mediumzugrifts-Steueradresse in einem fernveränderbaren Speicher
DE69329056T2 (de) Verfahren und Gerät zum Laden unabhängig ausführbarer Programme in einen Festwertspeicher
DE69315961T2 (de) Verfahren und Gerät zum Setzen eines Peripheriegerätes in eine Standardkonfiguration
DE68928311T2 (de) Fern-Urlader
DE3650092T2 (de) E/a-steuerung mit zwei funktionen.
DE69515458T2 (de) Serielle Anschlussstelle für Ferndiagnose

Legal Events

Date Code Title Description
8364 No opposition during term of opposition