PatentDe  


Dokumentenidentifikation DE102005062576A1 28.06.2007
Titel Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung
Anmelder Océ Printing Systems GmbH, 85586 Poing, DE
Erfinder Baumgartner, Robert, Dr.-Ing., 85457 Wörth, DE
Vertreter Schaumburg, Thoenes, Thurn, Landskron, 81679 München
DE-Anmeldedatum 27.12.2005
DE-Aktenzeichen 102005062576
Offenlegungstag 28.06.2007
Veröffentlichungstag im Patentblatt 28.06.2007
IPC-Hauptklasse G06F 13/28(2006.01)A, F, I, 20051227, B, H, DE
IPC-Nebenklasse G06F 3/12(2006.01)A, L, I, 20051227, B, H, DE   
Zusammenfassung Die Erfindung betrifft eine elektronische Steuereinrichtung mit einem parallelen Datenbus und mit seriellen Datenverbindungen zum Datentransfer zwischen mehreren Baugruppen. Die seriellen Datenverbindungen sind über eine Schaltmatrix geschaltet, die mittels über den parallelen Datenbus übertragenen Nachrichten gesteuert werden. Hierdurch ist es möglich, Daten zwischen beliebigen Baugruppen zu übertragen, wobei jeweils eine serielle Datenverbindung mit hoher Übertragungsrate zwischen den jeweiligen Baugruppen zur Datenübertragung aufgebaut wird. Nach Beendigung der Datenübertragung wird die serielle Datenverbindung wieder abgebaut. Diese elektronische Steuerungseinrichtung ist vorzugsweise für eine Steuereinrichtung zum Ansteuern eines Hochleistungsdruckers ausgebildet, bei welchem große Mengen an Bilddaten zu übertragen sind.

Beschreibung[de]

Die Erfindung betrifft eine Steuereinrichtung mit einem parallelen Datenbus und ein Verfahren zum Betreiben der Steuereinrichtung.

Die Erfindung bezieht sich insbesondere auf eine elektronische Steuereinrichtung, die einen großen Datenstrom verarbeiten muss, wie z.B. eine Steuereinrichtung zum Aufbereiten von Druckdaten für einen Hochleistungsdrucker.

Hochleistungsdrucker, die 400 DIN A3 Seiten pro Minute mit einer Auflösung von 600 dpi in schwarz/weiß drucken benötigen einen Datenstrom von mindestens 560 MBit pro Sekunde. Bei einem Farbdruck wird ein vielfacher Datenstrom hiervon benötigt.

In „Das Druckbuch – Technik und Technologie der Hochleistungsdrucker von Océ Printing Systems GmbH – Drucktechnologien" Ausgabe 3c, Mai 1998, ISBN 3-00-001019-X ist eine als „SRA Controller" (SRA: Skalierbare Raster Architektur) bezeichnete Steuereinrichtung zum Ansteuern eines Hochleistungsdruckers beschrieben.

Der Aufbau dieser bekannten Steuereinrichtung ist schematisch in 1 gezeigt. Eine solche Steuereinrichtung 1 weist ein I/O-Modul 2, ein oder mehrere Rastermodule 3 und ein Serialiser-Modul 4 auf. Die einzelnen Module 2 bis 4 sind über einen parallelen Datenbus 5 miteinander verbunden. Die Rastermodule 3 und das Serialiser-Modul 4 sind über einen weiteren Pixel-Bus 6 miteinander verbunden. An das Serialiser-Modul 4 ist ein Druckkopf 7 eines Hochleistungsdruckers angeschlossen.

Das I/O-Modul 2 empfängt die Druckinformationen von einer Computereinrichtung, die ein Großrechnersystem oder auch ein Rechnernetzwerk sein kann. Die Druckinformation wird von dem I/O-Modul 2 an die Rastermodule 3 und das Serialiser-Modul 4 weitergeleitet, wobei die Rastermodule 3 die Druckbildinformationen empfangen und zu einem von dem Druckkopf 7 verarbeitbaren Druckbilddatenstrom umsetzen. Diese Druckbilddatenströme werden von den Rastermodulen 3 über den Pixel-Bus 6 an das Serialiser-Modul 4 übertragen, das die Datenströme in einer vorbestimmten Folge aufreiht und an den Druckkopf 7 weiterleitet.

Der Datenbus ist z.B. ein Multibus II (Multibus ist eine eingetragene Marke der Intel Corp.). Der Multibus II ist ein synchronisierter Bus, der in IEEE Standard for a High-Performance Synchronous 32-Bit Bus: MULTIBUS II, The Institute of Electrical and Electronics Engineers, Inc., 345 East 47th Street, NY 10017, USA, 1988 festgelegt ist. Im nachfolgenden wird der „MULTIBUS II" vereinfacht als „Multibus" bezeichnet.

Die Module 2 bis 4 der Steuereinrichtung 1 sind jeweils mit einem Prozessor versehen. Eine Interprozessor-Kommunikation erfolgt bei auf dem Multibus basierenden Systemen durch einen Nachrichtenaustausch (Message-Transfer), wobei zur Übertragung von Daten Nachrichten mit Datenpaketen mit einer vorbestimmten Länge übermittelt werden.

Beim Multibus gibt es zwei Arten dieser Nachrichten, nämlich sogenannte unangeforderte Nachrichten (unsolicited messages) und angeforderte Nachrichten (solicited messages). Die unangeforderten Nachrichten können als „intelligente Interrupts" betrachtet werden, wobei bis zu 255 Interruptquellen (die Anzahl gültiger Adressen) eine unangeforderte Nachricht aussenden können. Mit einer unangeforderten Nachricht können 28 Byte Statusinformationen übertragen werden.

Die Eigenschaften einer unangeforderten Nachricht sind, dass deren Ankunft vom Empfänger nicht vorhergesehen werden kann, sie eine begrenzte Länge und eine begrenzte Übertragungszeit aufweisen.

Angeforderte Nachrichten sind Nachrichten, die zum Übertragen von Datenpaketen dienen, wobei zunächst mittels unangeforderter Nachrichten (buffer request message, buffer grant message und buffer reject message) die Übertragungsmodalitäten (Übertragungsrate, Datenmenge, ...) verhandelt werden.

Ein Datentransfer vom I/O-Modul 2 zu den Rastermodulen 3 über den Datenbus 5 ist in einem Flussdiagramm in 2 gezeigt. Hierbei sind die Aktionen, die am I/O-Modul 2 stattfinden, auf der linken Seite und die Aktionen, die am Rastermodul 3 ausgeführt werden, auf der rechten Seite dargestellt.

Im Schritt S1 schickt das I/O-Modul 2 an ein Rastermodul 3 eine Nachricht, dass Daten vorhanden sind. Diese Nachricht wird von dem Prozessor des I/O-Moduls erzeugt. Hierauf schickt das Rastermodul, falls es Daten benötigt, im Schritt S2 eine entsprechende Nachricht. Diese Nachricht wird vom Prozessor des Rastermoduls 2 ausgelöst. Hat das I/O-Modul 2 diese Nachricht empfangen, programmiert der Prozessor einen DMA-Controller des I/O-Moduls zum Senden der gewünschten Daten an das Raster-Modul und schickt eine buffer-request-Nachricht an das Raster-Modul (Schritt S3). Kann das Raster-Modul diese Daten aufnehmen, programmiert deren Prozessor einen DMA-Controller zum Empfangen der Daten und sendet eine buffer-grant-Nachricht an das I/O-Modul (Schritt S4).

Mit dem Empfang der buffer-grant-Nachricht durch das I/O-Modul sind die „Verhandlungen" abgeschlossen und das I/O-Modul sendet eine ein Datenpaket enthaltende Daten-Nachricht an das Rastermodul (Schritt S5). Eine solche Daten-Nachricht wird so oft übertragen, bis alle Daten an das Raster-Modul übertragen worden sind, wobei dies in einem Schritt S6 geprüft wird.

Sind alle Daten an das Raster-Modul gesendet worden, dann ist der Datentransfer beendet (S7).

Die Schritte S2 bis S6 bilden eine angeforderte Nachricht (gestrichelter Rahmen), wobei die Verhandlung (S2 bis S4) mittels der die Daten angefordert werden, mit unangeforderten Nachrichten ausgeführt wird. Die einzelnen Nachrichten der Schritte S2 bis S4 werden jeweils von den Prozessoren der Module 2, 3 erzeugt.

In der WO 00/22537 ist eine elektronische Steuereinrichtung, die einen parallelen Datenbus und mehrere jeweils mit einem Prozessor versehene Baugruppen aufweist, und eine Weiterbildung der anhand von 1 und 2 erläuterten Steuervorrichtung ist. Die Baugruppen kommunizieren über den Datenbus. Die Baugruppen weisen jeweils einen Prozessor und eine Speichereinrichtung auf und sind mittels eines Bus-Controllers mit dem Datenbus verbunden. Die Daten zwischen einer Sender-Baugruppe und einer Empfänger-Baugruppe werden mittels Nachrichten übertragen.

Diese Vorrichtung zeichnet sich dadurch aus, dass der Bus-Controller der Sender-Baugruppe so ausgebildet ist, dass er ohne Inanspruchnahme des Prozessors der Sender-Baugruppe auf eine Anforderungs-Nachricht der Empfänger-Baugruppe in der Speichereinrichtung der Sender-Baugruppe gespeicherte Daten liest und an die Empfänger-Baugruppe sendet. Die Empfänger-Baugruppe löst somit durch ihre Anforderungs-Nachricht bei der Sender-Baugruppe eine automatische Übertragung der Daten aus. Dies führt zu einer wesentlichen Entlastung der Sender-Baugruppe, da die Daten mittels eines DMA-Controllers direkt wesentlich schneller und effektiver ausgelesen werden können und der Prozessor nicht lange durch eine solche Datenübertragung belegt ist. Zudem wird die eingangs beschriebene „Verhandlung", die beim herkömmlichen Multibus drei Nachrichtenübermittlungen umfasst (siehe 2) auf die Übermittlung einer einzigen Anforderungs-Nachricht reduziert, wodurch eine weitere Vereinfachung und Beschleunigung des Übertragungsvorganges erzielt wird.

Der Erfindung liegt die Aufgabe zugrunde, die aus der WO 00/22537 bekannte Steuereinrichtung derart weiterzubilden, dass ein großer Datenstrom noch schneller und effektiver Verarbeitet werden kann. Eine weitere Aufgabe der Erfindung liegt in der Schaffung eines Verfahrens zum Betreiben einer solchen Steuereinrichtung, mit dem einfach und effektiv ein großer Datenstrom in der Steuereinrichtung bewältigt werden kann.

Die Aufgabe wird durch eine Vorrichtung mit den Merkmalen des Anspruchs 1 und durch ein Verfahren mit den Merkmalen des Anspruchs 10 gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den jeweiligen Unteransprüchen angegeben.

Die erfindungsgemäße elektronische Steuereinrichtung ist mit einem parallelen Datenbus und mehreren mit dem Datenbus verbundener Baugruppen versehen, die eine Prozessoreinheit und eine Speichereinheit aufweisen und mittels eines Busmoduls mit dem Datenbus verbunden sind, wobei Daten zwischen einer Sender-Baugruppe und einer Empfänger-Baugruppe mittels Nachrichten übertragen werden, wobei die Baugruppen auch eine Schnittstelle zu einer seriellen Datenverbindung zum Senden von Daten und zu einer seriellen Datenverbindung zum Empfangen von Daten in Form eines Moduls aufweist, und auf den Baugruppen ein Mikrocontroller vorgesehen ist, zum Steuern eines kombinierten Datentransfers über den Datenbus und die seriellen Datenverbindungen.

Die erfindungsgemäße Steuereinrichtung sieht somit eine Hybrid-Datenverbindung vor, die einen Datentransfer über den parallelen Datenbus sowie einen Datentransfer über die seriellen Datenverbindungen erlaubt und in Kombination ausführt. Diese Hybrid-Datenverbindung erlaubt einen kombinierten Datentransfer, wobei die Vorteile des flexiblen parallelen Datenbusses mit der hohen Übertragungsgeschwindigkeit einer seriellen Datenverbindung kombiniert werden.

Die Vorteile des parallelen Datenbuses liegen darin, dass mehrere Baugruppen miteinander Kommunizieren können, ohne dass eine separate Verbindung aufgebaut werden muss, und dass die Datenübertragung auf dem parallelen Datenbus zum einen kaum fehleranfällig ist und zum anderen Fehler bereits während der Datenübertragung festgestellt werden, so dass sie unmittelbar korrigierbar sind.

Die zur Durchführung einer seriellen Datenverbindung notwendige Hardware ist wesentlich einfacher als die für einen parallelen Datenbus und ist die serielle Datenverbindung einmal eingerichtet, so ist deren Übertragungsrate deutlich höher als die üblicher paralleler Datenbuse.

Insbesondere erlaubt die Erfindung in Verbindung mit einer Schaltmatrix zum Schalten der seriellen Datenverbindungen den individuellen und automatischen Auf- bzw. Abbau der Datenverbindungen zwischen unterschiedlichen Baugruppen-Modulen.

Die Erfindung wird nachfolgend anhand der beigefügten Zeichnungen beispielhaft erläutert. Die Zeichnungen zeigen:

1 den grundlegenden Aufbau einer Steuereinrichtung zum Aufbereiten von Druckdaten für einen Hochleistungsdruck in einem Blockschaltbild gemäß dem Stand der Technik,

2 ein Flussdiagramm eines Datentransfers nach einem vom Multibus bekannten Übertragungsverfahren,

3 mehrere Baugruppen, die über einen Multibus und High-Speed-Links miteinander verbunden sind,

4 schematisch den Aufbau einer Baugruppe, die als I/O-Modul bzw. Rastermodul verwendbar ist,

5 schematisch den Aufbau eines Datenlink & Multibus-Abschnitt eines Host Adapter Serial Interface (HASI),

6 schematisch den Aufbau des in 5 gezeigten HihSpeed-Moduls,

7 schematisch den grundsätzlichen Aufbau eines Pakets zum Übertragen über ein High-Speed-Link,

8 einen Paket-Header aus 7 im Blockschaltbild,

9 die Bit-Belegung des Feldes Pakettyp des Paket-Headers aus 8,

10 den Paket-Header eines Check-Pakets,

11 die Struktur einer Data-Request-Message in einem Blockschaltbild,

12 die Struktur einer Connect-Message in einem Blockschaltbild,

13 die Struktur einer Connect-Acknowledge-Message in einem Blockschaltbild, und

14 die Struktur einer Disconnect-Message in einem Blockschaltbild.

Die Erfindung wird anhand eines Ausführungsbeispiels einer elektronischen Steuereinrichtung 1 zum Ansteuern eines Hochleistungsdruckers erläutert, die den in 3 gezeigten Aufbau aufweist.

Die Erfindung ist eine Weiterentwicklung der aus der WO 00/22537 bekannten elektronischen Steuereinrichtung und des darin beschriebenen Verfahrens zum Betreiben der Steuereinrichtung. Die WO 00/22537 wird deshalb unter Bezugnahme in die vorliegende Patentanmeldung inkorperiert.

Die Steuereinrichtung umfasst ein I/O-Modul 2, ein oder mehrere Rastermodule 3 und ein Back-End-Modul 8. An das Back-End-Modul ist ein Druckkopf 7 eines Hochleistungsdruckers angeschlossen.

Die einzelnen Module 2, 3, 8 sind mit einem parallelen Datenbus 5 miteinander verbunden.

Das I/O-Modul 2 und die Rastermodule 3 sind aus der selben Baugruppe ausgebildet, weshalb sie im folgenden als Baugruppen-Module bezeichnet werden. Der Aufbau dieser Baugruppen-Module wird unten näher erläutert. Zwischen den Baugruppen-Modulen 2, 3 und dem Back-End-Modul 8 sind jeweils zumindest zwei High-Speed-Links 9, 10 vorgesehen. Die High-Speed-Links sind serielle Datenleitungen, wobei im vorliegenden Ausführungsbeispiel ein mit 2,5 GHz getaktetes Signal zum Übertragen der Daten verwendet wird. Hierdurch wird eine Datenübertragungsgeschwindigkeit von 250 MByte/s pro Kanal erzielt.

Die High-Speed-Links 9 sind zur Datenübertragung von den Baugruppen-Modulen 2, 3 zum Back-End-Modul 8 und die High-Speed-Links 10 sind zur Datenübertragung vom Back-End-Modul 8 zu den Baugruppen-Modulen 2, 3 ausgebildet. Die High-Speed-Links 9, 10 weisen jeweils zwei separate Kanäle auf.

Das Back-End-Modul 8 weist eine passive Schaltmatrix 11 auf. Die Schaltmatrix 11 weist eine Eingangsseite auf, an welche die High-Speed-Links 9 angeschlossen sind und eine Ausgangsseite, an welche die High-Speed-Links 10 angeschlossen sind. Die Schaltmatrix 11 ist derart ausgebildet, dass jeweils ein Eingang mit einem Ausgang verbunden werden kann. Es können auch gleichzeitig mehrere Eingänge mit mehreren Ausgängen verbunden werden, wobei jedoch nur immer eine paarweise Verbindung zwischen einem Eingang und einem Ausgang möglich ist.

Die Schaltmatrix 11 wird von einem Steuerbauteil 12 (COSI) geschaltet. Dieses Steuerbauteil 12 ist Bestandteil des Back-End-Moduls 8. Die Verwendung einer passiven Schaltmatrix 11 erlaubt extrem schnelle Schaltvorgänge so dass selbst Signale im GHz-Bereich sauber geschaltet werden können und ein Datenverlust vermieden wird.

Das Grundprinzip der vorliegenden Erfindung liegt darin, dass die Kommunikation zwischen den Baugruppen-Modulen 2, 3 und die Kommunikation zwischen den Baugruppen-Modulen 2, 3 und dem Druckkopf 7 mittels einer Kombination aus einer Übertragung der Daten über den parallelen Datenbus 5, sowie einer Übertragung der Daten über die seriellen High-Speeds-Links 9, 10 erfolgt. Da die Schaltmatrix 11 passiv ausgebildet ist, wird zunächst über den parallelen Datenbus 5 das Steuerbauteil 12 derart angesteuert, dass es die Schaltmatrix 11 zum Aufbau der gewünschten Verbindung über die High-Speed-Links 9, 10 schaltet, über welche dann die Daten übertragen werden. Ist diese Datenübertragung beendet, dann wird mittels einer über den parallelen Datenbus 5 übertragenen Nachricht (Message) die serielle Verbindung über die High-Speed-Links 9, 10 wieder abgebaut, indem in der Schaltmatrix 11 die entsprechenden Verbindungen unterbrochen werden. Das Protokoll, mit welchem diese Kommunikation ausgeführt wird, wird unten näher erläutert.

Der Aufbau eines Baugruppen-Moduls 2, 3 ist in 4 in Hinblick auf die Kommunikationsstruktur schematisch dargestellt. Ein solches Baugruppen-Modul 2, 3 weist eine zentrale Prozessoreinheit 13 (CPU), eine Speichereinheit 14 und drei Verteiler 15 (Hubs) auf. Die Verteiler sind in 4 mit MCH7501, P64H2#1 bzw. P64H2#2 bezeichnet. Die Verteiler 15 verbinden die zentrale Prozessoreinheit 13 über mehrere PCI-X-Busse mit der Peripherie 16, einem Host Adapter Serial Interface (HASI) 17 und mehreren Steckverbindern 18 zum Kontaktieren eines Kompakt-PCI-X-Bus.

Das HASI weist zwei separate Abschnitte, nämlich einen Hybridabschnitt 19 und einen Pixellink-Abschnitt 20 auf.

Der Aufbau des Hybridabschnitts 19 ist schematisch in 5 dargestellt. Der Hybridabschnitt 19 umfasst einen PCI-X Core 21, ein PCI Application Interface 22, ein HS-Modul 23 (High-Speed-Modul) und ein Multibus-Modul 24.

Das Multibus-Modul 24 stellt eine Schnittstelle zum Multibus 5 dar. Das HS-Modul 23 ist mit zwei Kanälen der High-Speed-Links 9, 10 zum Versenden von Daten und zwei Kanälen zum Empfangen von Daten verbunden. Das High-Speed-Modul 23 und das Multibus-Modul 24 sind miteinander verbunden und stehen mit dem PCI Application Interface 22 in Verbindung, das einem DMA-Controller und einen Register-Controller-Interface zum Beschreiben von Registern im HS-Modul 23 enthält. Das PCI Application Interface 22 ist mit dem PCI-X Core verbunden, der ein Schnittstellenmodul zum PCI-X-Bus darstellt, über den das Hybridmodul 19 mit einem der Verteiler 15 verbunden ist.

Der Hybridabschnitt 19 wird als Hybridabschnitt bezeichnet, da er mit dem HS-Modul 23 eine Schnittstelle zu den seriellen High-Speed-Links 9, 10 und mit dem Multibus-Modul 24 eine Schnittstelle zum parallelen Datenbus 5, der als Multibus ausgebildet ist, aufweist. Der Hybridabschnitt 19 erlaubt somit eine serielle als auch parallele Datenübertragung.

6 zeigt schematisch den Aufbau des HS-Moduls 23 aus 5. Das HS-Modul 23 weist zwei Multi-GigaBit-Transfer-Driver 25, 26 auf, die im folgenden als MGTs bezeichnet werden. Ein solcher MGT ist z.B. unter dem Handelsnamen RocketIO Transceiver (XILINX) bekannt. Der RocketIO Transceiver ist im RocketIO Transceiver User Guide (UG 024 (v. 1.5) Oktober 16, 2002) beschrieben.

An diese MGTs 25, 26 ist jeweils ein Kanal der High-Speed-Links 9 bzw. ein Kanal der High-Speed-Links 10 angeschlossen. Im Betrieb werden Daten gleichzeitig über beide Kanäle übertragen, so dass die High-Speed-Links 9 zum Senden von Daten von beiden MGTs 25, 26 mit Daten versorgt werden und die High-Speed-Links 10 zum Empfangen von Daten auf beiden MGTs 25, 26 Daten empfangen.

Mittels eines Steuerblocks 27 werden die beiden MGTs 25, 26 zur Ausführung der Datenübertragung gesteuert, wobei der Steuerblock 27 von dem Mikrocontroller 28 beschrieben wird, der im vorliegenden Ausführungsbeispiel als PowerPC405-System ausgebildet ist. Der Mikrocontroller 28 ist mittels eines Puffers 29 (DATA Request Buffer) mit dem Multibus-Modul 24 verbunden und kann über diesen Puffer 29 Daten vom Multibus-Modul 24 empfangen. Somit können über den Multibus 5, den Multibus-Modul 24, dem Puffer 29, dem Mikrocontroller 28 Daten zugeführt werden.

Weiterhin ist der Mikrocontroller 28 mit einem Registerblock 30 verbunden. Der Registerblock enthält Kontroll- und Statusregister, auf die die Prozessoreinheit 13 und der Mikrocontroller 28 zugreifen können.

Die MGTs 25, 26 sind jeweils mit einem Datenpuffer 31, 32 verbunden, in welchen sie Daten Schreiben bzw. aus welchem Sie Daten lesen. Die Datenpuffer sind mit einem DMA-Kanal 33 verbunden. Der DMA-Kanal 33 führt durch das PCI Application Interface 22 hindurch, in welchem ein DMA-Controller 36 angeordnet ist. Das PCI Application Interface 22 weist weiterhin ein Target-Interface 37 auf, das zur Datenverbindung zwischen dem Mikrocontroller 28 und der Prozessoreinheit 13 dient.

Das High-Speed-Modul weist zwei Empfangspuffer 35, 38 auf, die parallel zu den Datenpuffern 31, 32 geschaltet sind und mittels welcher der Mikrocontroller 28 Daten von den High-Speed-Link 10 einlesen kann.

An den Eingängen der MGTs 25, 26, an welchen Daten zum Übertragen über die High-Speed-Links 9 eingelesen werden, ist jeweils ein Multiplexer 39, 40 angeschlossen, die jeweils entweder eine von den Datenpuffern 31, 32 oder vom Mikrocontroller 28 führende Datenleitung mit einem der MGTs 25, 26 verbinden.

Nachfolgend wird die Datenkommunikation zwischen den Baugruppen-Modulen anhand eines Beispieles erläutert, bei dem ein Rastermodul 3 Daten vom I/O-Modul 2 anfordert, wobei diese Daten dann vom I/O-Modul 2 zum Rastermodul 3 übertragen werden. Hierbei wird auf den Prozessoreinheiten 13 der Baugruppenmodule 2, 3 im wesentlichen das gleiche Verfahren ausgeführt, wie es aus der WO 00/22537 bekannt ist. Dies bedeutet, dass die Baugruppen-Module 2, 3 der vorliegenden Erfindung bezüglich der darauf auszuführenden Anwendungssoftware kompatibel zu den bisherigen Baugruppen-Modulen sind, wie sie in der WO 00/22537 beschrieben sind. Die wesentlichen Unterschiede der vorliegenden Erfindung zu diesem Stand der Technik liegen zum einem in der darunter angeordneten Schaltungsstruktur, insbesondere dem HOST Adapter Serial Interface 17 und dem hierauf ausgeführten Übertragungsprotokoll, das im wesentlichen vom Mikrocontroller 28 gesteuert wird.

Damit die Datenübertragung vom I/O-Modul 2 zum Rastermodul 3 erfolgen kann, muss zum einem der DMA-Controller 36 am I/O-Modul zum Auslesen der Daten aus der Speichereinheit 14 des I/O-Modul und zum Einspeisen der Daten in den mit dem I/O-Modul 2 verbundenen Datenlink 9 programmiert werden, und zum anderen die Schaltmatrix 11 derart geschaltet werden, dass der mit dem I/O-Modul 2 verbundene High-Speed-Link 9 mit dem entsprechenden Rastermodul 3 verbundene High-Speed-Link 10 über die Schaltmatrix 11 verbunden werden.

Für den Aufbau und den Abbau der Datenverbindung über die High-Speed-Links 9, 10 werden unangeforderte Nachrichten (unsolicited Multibus-Messages) verwendet, die über den Datenbus 5, der als Multibus II ausgebildet ist, übertragen werden. Diese Nachrichten umfassen grundsätzlich acht 32-Bit-Worte, die nur zum Teil benutzt werden. Hierzu werden vier Typen von unangeforderten Nachrichten verwendet, nämlich eine Data-Request-Message, eine Connect-Message, eine Connect-Acknowledge-Message und eine Disconnect-Message.

Diese unangeforderten Nachrichtenweisen einen Header auf, der durch das erste 32-Bit-Wort dargestellt wird. In dem Header dient ein Byte als Identifikationsnummer des Typs der unangeforderten Nachrichten, ein weiteres Byte als Adresse der Multibus-Baugruppe, die die Nachricht versendet (Multibus-Source-Adresse) und ein weiteres Byte als Adresse der Multibus-Baugruppe, die die Nachricht bzw. Message empfangen soll (Multibus-Destination-Adresse).

Die Data-Request-Message wird von einem der Baugruppen-Module 2, 3 versendet, die Daten von dem anderen Baugruppen-Modul benötigen (11). Die Data-Request-Message beinhaltet als Parameter die Anzahl der Daten-Bytes die angefordert werden und die Adresse der Daten im Speicher der Baugruppe, welche die Daten sendet.

Die Connect-Message wird vom Mikrocontroller 28, der die Data-Request-Message empfangen hat, erzeugt und über den Datenbus 5 zu dem die Schaltmatrix 11 enthaltenden Back-End-Modul 8 über den Datenbus 5 gesandt. Die Connect-Message enthält einen HW MSG Header (Hardware Message), mit dem definiert wird, dass die in der Connect-Message enthaltenen Informationen innerhalb des Back-End-Moduls 8 an das Steuerbauteil 12 weitergegeben werden, um die Eingänge mit den Ausgängen der Schaltmatrix 11 zu verbinden. Diese weiteren Informationen sind zwei Wertepaare (Multibus-Data-Link Odd-Input – Multibus-Data-Link Odd-Output; Multibus-Data-Link Even-Input – Multibus-Data-Link Even-Output). Diese Wertepaare beinhalten jeweils die Nummern der zu verbindenden Ausgänge und Eingänge. Eine solche Connect-Message enthält somit Informationen um zwei Datenverbindungen mittels der High-Speed-Links zu schalten, für die jeweils eine Übertragungsrichtung vorgesehen sind.

Die Connect-Acknowledge-Message ist ähnlich aufgebaut wie die Connect-Message, sie wird jedoch vom Back-End-Modul 8 erzeugt und an den die Daten sendenden Mikrocontroller 28 über den Datenbus 5 übermittelt. Das die Daten sendende Baugruppen-Modul 2, 3 ist dasjenige, das die Data-Request-Message empfangen hat. Die Connect-Acknowledge-Message dient als Bestätigung, dass die High-Speed-Links mittels der Schaltmatrix 11 verbunden worden sind. Der Inhalt der Connect-Acknowlegde-Message entspricht dem Inhalt der Connect-Message. Er wird aber vom Mikrocontroller 28 nicht ausgewertet, da der sendende Mikrocontroller 28 nicht gleichzeitig mehrere Verbindungen über die High-Speed-Links 9, 10 betreiben kann. Daher genügt als Bestätigung der reine Empfang der Connect-Acknowledge-Message.

Mit der Disconnect-Message wird das Steuerbauteil 12 der Schaltmatrix 11 von dem sendenden Baugruppen-Modul 2, 3 aufgefordert, die in der Message spezifizierte Verbindung zu trennen. Die Verbindung wird über die beiden Ausgänge der Schaltmatrix 11 definiert, an welchen die High-Speed-Links 10 angeschlossen sind. Im Gegensatz zu der Connect-Message erfolgt bei der Disconnect-Message keine Bestätigung.

Der Verbidnungsaufbau in den Baugruppen-Modulen 2, 3 erfolgt mit folgenden Schritten:

  • 1. Die Prozessoreinheit 13 des Rastermoduls 3 erzeugt eine Data-Request-Message und überträgt sie mittels des Hybridabschnittes 19 des Host Adapter Serial Interface 17, dem Multibus 5 zum Hybridabschnitt 19 des Host Adapter Serial Interfaces 17 des I/O-Modul 2
  • 2. Am I/O-Modul wird die Data-Request-Message vom Mikrocontroller 28 des High-Speed-Moduls 23 des Hybridabschnittes 19 gelesen und der Mikrocontroller 28 programmiert durch Schreiben einer entsprechenden Datensequenz in den Registerblock 30 den DMA-Contoller des PCI Application Interface 22, um die vorbestimmten Daten aus der Speichereinheit 14 des I/O-Modul 2 auszulesen.
  • 3. Die auszulesenden Daten werden aus der Speichereinheit 13 mittels der Verteiler 15 zum Host Adapter Serial Interface 17 des I/O-Moduls übertragen. Hierbei ist zu berücksichtigen, dass weder bei der Programmierung des DMA-Controllers noch beim Auslesen der Daten aus der Speichereinheit 14 die an sich zur Speichereinheit 14 zugehörige Prozessoreinheit 13 beansprucht wird. Auch diesbezüglich stimmt das vorliegende Verfahren mit dem Verfahren gemäß der WO 00/22537 überein.
  • 4. Im Host Adapter Serial Interface 17 werden die Daten über den PCI-X Core 21, dem PCI Application Interface 22 und dem High-Speed-Modul 23 an den High-Speed-Link 9 angelegt.

Gleichzeitig mit dem Verbindungsaufbau in den Baugruppen-Modulen 2, 3 des I/O-Moduls wird die Schaltmatrix 11 mit folgenden Schritten geschaltet:

  • 1. Der Mikrocontroller 28 des I/O-Modul 2 erzeugt eine Connect Message, die über das entsprechende Multibus-Modul 24, dem Multibus 5 zum Back-End-Modul 8 übertragen wird und dort vom Steuerbauteil 12 gelesen wird. Die Connect Message enthält die Information, welcher Eingang der Schaltmatrix 11 mit welchem Ausgang zu verbinden sind.
  • 2. Das Steuerbauteil 12 schaltet die Schaltmatrix 11 entsprechend den in der Connect Message enthaltenen Informationen.
  • 3. Das Steuerbauteil 12 erzeugt eine Connect Acknowledge Message und sendet sie über den Multibus 5 zum I/O-Moduls 2 zurück, wo die Connect Acknowledge Message vom Mikrocontroller 28 gelesen wird, der daraufhin den MGT 26 mittels des Steuerblocks 27 zum Senden der Daten frei schaltet.

Die Daten können nun über die High-Speed-Links 9, 10 übertragen werden. Sie werden in Form von Paketen übertragen, deren Struktur nachfolgend erläutert wird:

Der grundsätzliche Aufbau der Pakete ist in 7 gezeigt und entspricht demjenigen der Multibus-Pakete. Die Pakete sind aus 32 Bitworten zusammengesetzt. Am Anfang des Pakets steht ein Select Header (SEL Header), der die Information enthält, ob das Paket ein Datenpaket oder ein Steuerpaket (Control-Paket) ist. Dann folgt ein SOF (Start of Frame) und am Ende ist ein EOF (End of Frame) angeordnet. Diese sind speziell codierte Datenworte und markieren den Anfang bzw. das Ende eines Pakets. Sie entsprechen der an sich bekannten Fibre Channel Spezifikation.

Dem SOF folgt die Receiver Adresse, die die Busadresse der Baugruppe enthält, für die die Nachricht bestimmt ist, und ein Paket-Header, der sich gemäß 8 aus zwei Feldern zusammensetzt, dem Pakettyp und der Block-Id. Das Feld für den Pakettyp ist acht Bit breit und das Feld für die Block-Id umfasst vierundzwanzig Bit. Das Feld für den Pakettyp stellt eine oneHot-Codierung dar, d.h., jedes der acht Bits steht für einen bestimmten Pakettyp (9). Hiermit werden folgende Pakettypen codiert:

Datenpaket, Positiv-Acknowledge-Paket, Negativ-Rcknowledge-Paket, Request-Acknowledge-Paket, Check-Paket, Aboard-Paket, Wait-Paket, Check-Failed-Paket.

Bei den meisten Paketen folgt auf den Paket-Header ein CRC //was ist das?// und hierauf der EOF (End of Frame).

Wenn das Paket ein Datenpaket ist, folgt auf den Paket-Header ein Datenblock mit einer Datenkapazität von 1 KB. Die Kontroll-Pakete haben einen Pseudo-Datenblock von einigen wenigen Byte. Dem Datenblock ist eine Nummer zugeordnet, die Block-Id, die im jeweiligen Paket-Header eingetragen ist. Bei den anderen Paketen, den Statuspaketen, gibt die Block-Id an, auf welchem Datenblock sich das Paket bezieht. Die einzige Ausnahme hiervon bildet das Check-Paket. Hier wird in dem Feld für die Block-Id eine Identifikationsnummer des Ziels (Destination-Id) und eine Identifikationsnummer der Herkunft (Source-Id) der Data-Request-Message eingetragen, die den Auftrag für den Multibus-Data-Link-Transfer enthält. Die Source-Id in dem Check-Paket muss mit der Multibus-Id der Baugruppe übereinstimmen, an die der sendende Mikrocontroller 28 das Check-Paket sendet (10).

Das Datenpaket wird für die Übertragung von Daten verwendet. Es wird immer eine feststehende Anzahl von Datenbits. Gegebenenfalls wird das Datenpaket am Ende einer Übertragung mit Dummydaten ergänzt. Im vorliegenden Ausführungsbeispiel umfasst ein Datenpaket 1 KB Daten. Ausschließlich der sendende Mikrocontroller sendet Datenpakete.

Für jeden Datenblock, der von der DMA auf der Empfangsseite in die Speichereinheit 14, die auch als Hauptspeicher bezeichnet werden kann, eingetragen wird, sendet der empfangende Mikrocontroller 28 ein Positiv-Acknowledge-Paket an den sendenden Mikrocontroller 28. Das Paket enthält als Nutzinformation die Paketnummer des abgespeicherten Datenblocks.

Für jedes Datenpaket, das in der Reihenfolge der empfangenen Datenpakete fehlt, sendet der empfangene Mikrocontroller 28 ein Negativ-Acknowledge-Paket an den sendenden Mikrocontroller 28. Das Paket enthält als Nutzinformation die Paketnummer des fehlenden Datenblocks.

Mit einem Acknowledge-Request-Paket kann der sendende Mikrocontroller 28 ein Acknowledge-Paket für ein vorrausgegangenes Datenpaket vom empfangenden Mikrocontroller 28 anfordern. Dieses Paket enthält als Nutzinformation die Paketnummer.

Am Anfang der Datenübertragung wird vom sendenden Mikrocontroller 28 ein Check-Paket einmal gesendet. In der Block-Id des Paket-Headers des Check-Pakets sind die Destination-Id und die Source-Id der Data-Request-Message eingetragen. Das Paket dient zur Kontrolle, ob in der Schaltmatrix 11 die richtige Verbindung geschaltet wurde.

Das Abort-Paket wird gesendet, wenn der Datentransfer (Multibus-Data-Link-Transfer) aufgrund eines Fehlers abgebrochen werden soll.

Bei dem vorliegenden Ausführungsbeispiel ist der DMA-Controller derart ausgebildet, dass die zu übertragenden Daten in separate Seiten unterteilt sind. Einzelne Seiten können auf einem externen Speicher ausgelagert werden. Wenn eine solche extern gespeicherte Seite mit dem DMA-Kanal übertragen werden soll, so muss sie zunächst in die Speichereinheit 14 übertragen werden. Diese Situation wird als DMA-Page-Miss bezeichnet. Das Wait-Paket wird bei einem DMA-Page-Miss, bei dem der Datentransfer fortgesetzt wird, fortlaufend gesendet, damit auf der Empfängerseite ein Timeout-Zähler, der unten näher erläutert wird, nicht abläuft.

Der empfangende Mikrocontroller 28 sendet ein Check-Failed-Paket, wenn die Source-Id im Block-Id-Feld des Check-Pakets nicht mit seiner Multibus-Message-Adresse übereinstimmt.

Nachfolgend wird das Protokoll zur Übertragung der Daten über die High-Speed-Links 9, 10 und die Schaltmatrix 11 erläutert:

Zum Beginn jeder Übertragung auf den High-Speed-Links 9, 10 schicken der sendende und der empfangende Mikrocontroller 28 der Baugruppen 2, 3 Idle-Zeichen über die High-Speed-Links 9, 10, damit sich die MGTs 25, 26 einsynchronisieren können. Diese Synchronisation muss während der gesamten Übertragung aufrechterhalten bleiben, so dass in den Daten ohne eine Pause zwischen der Übertragung von Daten Idle-Zeichen über die seriellen High-Speed-Links 9, 10 gesendet werden.

Der empfangende Mikrocontroller 28 sendet auf seinen beiden Kanälen der High-Speed-Links 9 Sync-Zeichen, sobald er vom Multibus-Modul 24 die Meldung erhalten hat, dass eine Data-Request-Message abgeschickt wurde. Der sendende Mikrocontroller 28 sendet auf seinen beiden Kanälen der High-Speed-Links 9 Sync-Zeichen, wenn die Data-Request-Message in seinem Data-Request-Puffer 29 eintrifft. Sobald die serielle Verbindung durch die Schaltmatrix 11 auf dem Back-End-Modul 8 hergestellt wird, werden die Transmit-Links-Sync-Zeichen und die Receive-Links-Sync-Zeichen nach einer gewissen Einschwingphase auf beiden Seiten richtig empfangen.

Nun sendet der sendende Mikrocontroller 28 ein Check-Paket an den empfangenden Mikrocontroller 28. Das Check-Paket enthält die Multibus-Id der Baugruppe, welche die Data-Request-Message abgeschickt hat und dient zu der Überprüfung, ob die Schaltmatrix 11 auf die richtige Verbindung eingestellt ist. Der empfangende Mikrocontroller 28 überprüft, ob die Multibus-Id in dem Check-Paket mit seiner eigenem Multibus-Id übereinstimmt und schickt im Fehlerfall ein Check-Failed-Paket an den sendenden Mikrocontroller 28 zurück, worauf der Transfer beim sendenden Mikrocontroller 28 und empfangenden Mikrocontroller 28 abgebrochen und eine entsprechende Meldung an die Prozessoreinheiten 13 der jeweiligen Baugruppen 2, 3 abgesetzt wird. Die Puffer 31, 32 auf den Baugruppen-Modulen 2, 3 sind jeweils in nSlots aufgeteilt. Die Daten eines Slots werden mit einem Datenpaket übertragen. Dies bedeutet, dass der Datenblock des Datenpakets genau der Slotgröße angepasst ist. Es werden solange Datenpakete gesendet, wie Daten in den Slots vorhanden sind, ohne dass nach jedem Senden eines Datenpaketes auf das Eintreffen des dazugehörigen Positiv-Acknowledge-Pakets gewartet wird. Der empfangende Mikrocontroller sendet für jedes fehlerfrei empfangene Datenpaket ein Positiv-Acknowledge-Paket zurück, wenn die DMA die Daten in den Puffer 31, 32 eingetragen hat. Mit dem Empfang des Positiv-Acknowledge-Pakets gibt der sendende Mikrocontroller 28 den betreffenden Slot im Puffer wieder frei. Die DMA füllt den Slot wieder mit Daten, die verpackt in ein Datenpaket über die High-Speed-Links 9, 10 gesendet werden. Liegen für alle Datenblöcke, die übertragen wurden, ein Positiv-Acknowledge-Paket vor, so sperrt der sendende Mikrocontroller die jeweiligen MGTs 25, 26. Der Transfer über die High-Speed-Libnks 9, 10 ist damit beendet.

Zum Beheben von Übertragungsfehlern auf den seriellen High-Speed-Links 9, 10 und bei DMA-Fehlern sind folgende Mechanismen vorgesehen:

Timeout-Überwachung

Zum Beginn der Datenübertragung werden sowohl bei dem empfangenden als auch bei dem sendenden Mikrocontroller 28 jeweils ein Timeout-Counter geladen. Der Timeout-Counter wird bei jedem Empfang eines Paketes erneut mit seinem Startwert geladen. Läuft der Timeout-Counter ab, so wird der Datentransfer über die High-Speed-Links abgebrochen und eine Fehlermeldung an die jeweilig Prozessoreinheit 13 abgesetzt.

Keine oder fehlende Positiv-Acknowledge-Pakete

In einem internen Register des Mikrocontrollers 28 wird die Anzahl der noch ausstehenden Positiv-Acknowledge-Pakete festgehalten. Dazu wird beim Senden eines Datenpakets das Register um eins erhöht und beim Empfangen eines positiven oder negativen Acknowledge-Pakets um eins verringet. Überschreitet das Register einen bestimmten Schwellwert, dann schickt der sendende Mikrocontroller solange Acknowledge-Request-Pakete an den empfangenden Mikrocontroller 28, bis er ein Positiv-Acknowledge-Paket oder ein Negativ-Acknowledge-Paket erhält.

Der Schwellwert wird zum Beispiel bei Störungen auf den High-Speed-Links erreicht, wodurch keine fehlerfreien Pakete empfangen werden. Der Schwellwert kann auch unter anderen Umständen erreicht werden. Wird z.B. ein Datenpaket fehlerhaft übertragen und alle darauf folgenden Datenpakete fehlerfrei übertragen, so erkennt der empfangende Mikrocontroller 28 anhand der Blocknummern, dass ein Datenpaket fehlt und schickt an den sendenden Mikrocontroller 28 ein Negativ-Acknowledge-Paket, das aber wegen eines Übertragungsfehlers vom sendenden Mikrocontroller ignoriert wird. Beide Seiten sind damit blockiert. Der sendende Mikrocontroller 28 kann wegen fehlender Positiv-Acknowledge-Pakete keine Slots freigeben. Beim Empfangen der Mikrocontroller 28 steht wegen des fehlenden Datenblocks die DMA. Durch die Acknowledge-Request-Pakete wird der empfangende Mikrocontroller 28 veranlasst, die Negativ-Acknowledge-Pakete ein zweites mal zu senden, worauf der sendenden Mikrocontroller 28 ebenfalls die fehlenden Datenpakete ein zweites mal verschickt.

Fehlende Datenpakete

Da jedes Datenpaket in seinem Paket-Header eine fortlaufende Block-Nummer aufweist, können fehlende Datenblöcke durch den Vergleich der Blocknummern eines Datenpakets mit der Blocknummer des zuvor empfangenen Datenpakets erkannt werden. Dieser Vergleich wird vom empfangenden Mikrocontroller 28 durchgeführt. Stellt der empfangende Mikrocontroller 28 fest, dass ein Datenpaket fehlt, sendet er ein Negativ-Acknowledge-Paket an den Sender der Mikrocontroller, dass im Paket-Header die Blocknummer des fehlenden Datenblocks enthält. Hierauf kann der sendende Mikrocontroller 28 das fehlende Datenpaket erneut zum empfangenden Mikrokontroller 28 senden.

DMA-Fehler beim empfangenden Mikrocontroller

Tritt beim empfangenden Mikrocontroller 28 ein nicht-behebbarer DMA-Fehler auf, so sendet der empfangende Mikrocontroller 28 ein Abort-Paket an den sendenden Mikrocontroller 28 und bricht mit einer Fehlermeldung an die jeweilige Prozessoreinheit 13 die Übertragung ab. Falls das Abort-Paket wegen einer Störung auf den High-Speed-Links 9, 10 verloren geht, greift der Mechanismus mit den Acknowledge-Request-Paketen. Da vom empfangenden Mikrocontroller 28 keine Acknowledge-Pakete mehr eintreffen, sendet der sendende Mikrocontroller 28 fortlaufend Acknowledge-Request-Pakete. Der empfangende Mikrocontroller beantwortet die Acknowledge-Request-Paket jeweils mit einem Abort-Paket.

Bei einem DMA-Page-Miss während des DMA-Transfers, wird der Datentransfer über die High-Speed-Links nicht abgebrochen, sondern der DMA-Controller erzeugt eine entsprechende Meldung an die Prozessoreinheit 13 und informiert den empfangenden Mikrocontroller 28 über den Fehler. Der empfangende Mikrocontroller 28 sendet in diesem Fall in regelmäßigen Abständen ein Wait-Paket an den sendenden Mikrocontroller 28, um den Datentransfer über die High-Speed-Links 9, 10 weiter aufrecht zu erhalten. Hat die Prozessoreinheit des sendenden Baugruppen-Moduls 2, 3 das Problem mit dem DMA-Page-Miss behoben, startet sie die DMA neu und teilt dies dem empfangenden Mikrocontroller 28 mit. Der empfangende Mikrocontroller 28 stellt daraufhin das Senden des Wait-Pakets wieder ein und der Datentransfer über die High-Speed-Links 9, 10 wird fortgesetzt.

DMA-Fehler beim sendenden Mikrocontroller

Bei einem nicht behebbaren DMA-Fehler sendet der sendende Mikrocontroller 28 solange Abort-Pakete an den empfangenden Mikrocontroller 28, bis er vom empfangenden Mikrocontroller 28 als Antwort ein Abort-Paket empfangen hat. Auf beiden Seiten wird daraufhin ein Datentransfer über die High-Speed-Links 9, 10 abgebrochen und eine Meldung an die jeweilige Prozessoreinheit 13 abgesetzt.

Tritt bei dem DMA-Transfer ein Page-Miss auf, wird der Datentransfer über die High-Speed-Links nicht abgebrochen, sondern der sendende Mikrocontroller 28 erzeugt eine entsprechende Meldung für seine Prozessoreinheit 13. Der sendende Mikrocontroller 28 sendet in diesem Fall in regelmäßigen Abständen ein Wait-Paket an den empfangenden Mikrocontroller 28 um den Datentransfer über die High-Speed-Links 9, 10 weiter aufrecht zu erhalten. Hat die Prozessoreinheit 13 das Problem mit dem Page-Miss behoben, teilt er dies dem sendenden Mikrocontroller 28 mit. Der sendende Mikrocontroller 28 stellt daraufhin das Senden des Wait-Pakets wieder ein uns startet die DMA. Der Datentransfer über die High-Speed-Links 9, 10 wird fortgesetzt.

Beim Aufbau der Datenverbindung zwischen zwei Baugruppen-Modulen 2, 3 muss sichergestellt sein, dass jeweils nur eine „Punkt zu Punkt"-Verbindung erstellt wird, d.h., dass jeweils ein Eingang an der Schaltmatrix 11 mit einem Ausgang über die Schaltmatrix 11 verbunden wird, jedoch nicht ein Eingang mit mehreren Ausgängen, bzw. mehrere Eingänge mit einem Ausgang verbunden werden.

Durch den Arbitrierungsmechanismus des Multibus wird ein Großteil der mögliche Konfliktflälle bereits ausgeschaltet. Falls z.B. mehrere Baugruppen-Module 2, 3 gleichzeitig eine Daten-Request-Message über den Datenbus 5 senden wollen, sorgt dessen Arbitrierungsmechanismen dafür, dass die Data-Request-Messages zeitlich hintereinander über den Datenbus gesendet werden.

Die Data-Request-Messages werden im Data-Request-Puffer 29 gespeichert und von dort vom Mikrocontroller 28 bearbeitet. Die Reihenfolge der Bearbeitung der daraus abgeleiteten Verbindungen über die High-Speed-Links 9, 10 entspricht der Reihenfolge in der die Data-Request-Messages abgespeichert worden sind.

Auch beim Senden der Connect-Message sorgen die Arbitrierungsmechanismen des Multibus dafür, dass die Connect-Messages zeitlich hintereinander an den Back-End-Modul 8 ankommen und auch hier in einem FIFO-Puffer (nicht dargestellt) abgespeichert werden, bevor sie vom Steuerbauteil 12 der Schaltmatrix 11 bearbeitet werden.

Der schwierigste Fall ist, dass ein bestimmtes Baugruppen-Modul 2, 3, das als Baugruppe A bezeichnet wird, von einem anderen bestimmten Baugruppen-Modulen 2, 3, das als Baugruppe B bezeichnet wird, Daten benötigt und die Baugruppe B wiederum Daten von der Baugruppe A benötigt. Durch die Arbitrierungsmechanismen des Multibus wird dafür gesorgt, dass die Anforderung für die Ressourcen des Datentransfers über die High-Speed-Links 9, 10 zeitlich hintereinander bei dem Steuerbauteil 12 des Back-End-Moduls 8 eintreffen. Wie es oben bereits erläutert und in 12 gezeigt ist, enthält eine Connect-Message jeweils die beiden Wertepaare für den Ausgang und den Eingang der zu verbindenden Baugruppen-Module 2, 3. Hierdurch werden die Verbindungen über die High-Speed-Links 9, 10 in beide Richtungen zwischen zwei Baugruppen-Modulen 2, 3 gleichzeitig aufgebaut. Somit wird sichergestellt, dass kein Baugruppen-Modul 2, 3 zum Senden mit einem bestimmten Baugruppen-Modul 2, 3 und zum Empfangen mit einem anderen Baugruppen-Modul 2, 3 verbunden werden kann. Durch dieses paarweise Anfordern der Verbindungen in der Schaltmatrix 11 wird sichergestellt, dass keine Querverbindung aufgebaut wird, selbst wenn die Baugruppen A und B gleichzeitig voneinander Daten anfordern. Diese Anforderungen werden dann aufeinanderfolgend abgearbeitet.

Die oben erläuterte Steuereinrichtung ist Bestandteil eines Hochleistungsdruckers und dient vor allem zum schnellen Übertragen von Druckdaten vom I/O-Modul 2 zu den Rastermodulen 3. In den Rastermodulen 3 werden die Druckdaten gerastert und über das Back-End-Modul 8 zum Druckkopf 7 weiter übertragen.

Die Erfindung kann folgendermaßen kurz zusammengefasst werden:

Die Erfindung betrifft eine elektronische Steuereinrichtung mit einem parallelen Datenbus und mit seriellen Datenverbindungen zum Datentransfer zwischen mehreren Baugruppen. Die seriellen Datenverbindungen sind über eine Schaltmatrix geschaltet, die mittels über den parallelen Datenbus übertragenen Nachrichten gesteuert werden. Hierdurch ist es möglich, Daten zwischen beliebigen Baugruppen zu übertragen, wobei jeweils eine serielle Datenverbindung mit hoher Übertragungsrate zwischen den jeweiligen Baugruppen zur Datenübertragung aufgebaut werden. Nach Beendigung der Datenübertragung wird die serielle Datenverbindung wieder abgebaut. Diese elektronische Steuerungseinrichtung ist vorzugsweise für eine Steuereinrichtung zum Ansteuern eine Hochleistungsdruckers ausgebildet, bei welchen große Mengen an Bilddaten zu übertragen sind.

1
Steuereinrichtung
2
I/O-Modul
3
Rastermodul
4
Serialiser-Modul
5
Datenbus
6
Pixel-Bus
7
Druckkopf eines Hochleistungsdruckers
8
Back-End-Modul
9
High-Speed-Links
10
High-Speed-Links
11
Schaltmatrix
12
Steuerbauteil (COSI)
13
Prozessoreinheit (CPU)
14
Speichereinheit
15
Verteiler (Hubs)
16
Peripherie
17
Host Adapter Serial Interface (HASI)
18
Steckverbindern
19
Hybridabschnitt
20
Pixellink-Abschnitt
21
PCI-X Core
22
PCI Application Interface
23
HS-Modul
24
Multibus-Modul
25
Multi-GigaBit-Transfer-Driver (MGT)
26
Multi-GigaBit-Transfer-Driver (MGT)
27
Steuerblock
28
Mikrocontroller
29
Puffer
30
Registerblock
31
Datenpuffer
32
Datenpuffer
33
DMA-Kanal
34
Empfangspuffer
35
Empfangspuffer
36
DMA-Controller
37
Target-Interface
38
Empfangspuffer
39
Multiplexer
40
Multiplexer


Anspruch[de]
Elektronische Steuereinrichtung mit einem parallelen Datenbus (5) und mehreren mit dem Datenbus (5) verbundenen Baugruppen (2, 3), die jeweils eine Prozessoreinheit (13) und eine Speichereinheit (14) aufweisen und mittels eines Busmoduls (24) mit dem Datenbus (5) verbunden sind, wobei Daten zwischen einer Sender-Baugruppe (2, 3) und einer Empfänger-Baugruppe (2, 3) mittels Nachrichten übertragen werden, wobei die Baugruppen (2, 3) auch eine Schnittstelle zu einer seriellen Datenverbindung (9) zum Senden von Daten und zu einer seriellen Datenverbindung (10) zum Empfangen von Daten in Form eines Moduls (24) aufweist, und auf den Baugruppen ein Mikrocontroller (28) vorgesehen ist, zum Steuern eines kombinierten Datentransfers über den Datenbus (5) und die seriellen Datenverbindungen (9). Elektronische Steuereinrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die elektronische Steuereinrichtung ein mit dem Datenbus (5) verbundenes Modul (8) aufweist, das mit einer Schaltmatrix (11) versehen ist, die zum Verbinden jeweils einer seriellen Datenverbindung (9) zum Senden von Daten von einer Baugruppe (2, 3) mit einer seriellen Datenverbindung (10) zum Empfangen von Daten einer bestimmten Baugruppe (2, 3) ausgebildet ist. Elektronische Steuereinrichtung nach Anspruch 2, dadurch gekennzeichnet, dass das Modul (8) ein Steuerbauteil (12) zum Ansteuern der Schaltmatrix (11) aufweist, wobei das Steuerbauteil (12) mittels über den Datenbus (5) übertragenen Nachrichten zum Schalten der Schaltmatrix (11) angesteuert werden kann. Elektronische Steuereinrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Datenbus (5) ein mit dem MULTIBUS II kompatibler Datenbus ist. Steuereinrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die serielle Datenverbindung (9, 10) zum RocketIO Transceiver kompatibel ist. Elektronische Steuereinrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die seriellen Datenverbindung (9, 10) zum Übertragen von Daten mittels eines Signals, das zumindest mit einer Frequenz von 1 GHz getaktet ist, ausgebildet sind. Elektronische Steuereinrichtung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass der Mikrocontroller (28) der Sender-Baugruppe so ausgebildet ist, dass er ohne in-Anspruchnahme der Prozessoreinheit (13) der Sender-Baugruppe auf eine Anforderungs-Nachricht (Data-Request-Message) der Empfänger-Baugruppe in der Speichereinheit (14) der Sender-Baugruppe gespeicherte Daten ausliest und an die Empfänger-Baugruppe übersendet. Elektronische Steuereinrichtung nach Anspruch 7, dadurch gekennzeichnet, dass die Sender-Baugruppe einen DMA-Controller (36) zum Auslesen und zum Weiterleiten der in der Speichereinheit (14) gespeicherten Daten aufweist. Elektronische Steuereinrichtung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die elektronische Steuereinrichtung Bestandteil eines Hochleistungsdruckers ist. Verfahren zum Betreiben einer elektronischen Steuereinrichtung, insbesondere nach einem der Ansprüche 1 bis 9, wobei die elektronische Steuereinrichtung einen parallelen Datenbus (5) und mehrere mit dem Datenbus (5) verbundene Baugruppen (2, 3) aufweist, die jeweils mit einer Prozessoreinheit (13) und einer Speichereinheit (14) versehen sind und mittels eines Busmoduls (24) mit dem Datenbus (5) verbunden sind, wobei Daten zwischen einer Sender-Baugruppe (2, 3) und einer Empfänger-Baugruppe (2, 3) mittels Nachrichten übertragen werden, wobei die Baugruppen (2, 3) auch eine Schnittstelle zu einer seriellen Datenverbindung (9) zum Senden von Daten und zu einer seriellen Datenverbindung (10) zum Empfangen von Daten in Form eines Moduls (24) aufweist, wobei folgende Schritte ausgeführt werden:

– Aufbauen einer seriellen Datenverbindung zwischen zwei Baugruppen (2, 3) durch Austausch von Nachrichten über den parallelen Datenbus,

– Übertragen von Daten über die seriellen Datenverbindungen.
Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass nach dem Abschluss des Übertragens von Daten über die serielle Datenverbindung die serielle Datenverbindung (9, 10) mittels des Austauschs von Nachrichten zwischen den Baugruppen-Modulen (2, 3) über den parallelen Datenbus (5) abgebaut wird. Verfahren nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass über die serielle Datenverbindung (9, 10) Daten mittels Pakete übertragen werden, wobei Datenpakete und Steuerpakete vorgesehen sind. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die Steuerpakete folgende Pakettypen umfassen:

– Positiv-Acknowledge-Paket

– Negativ-Acknowledge-Paket

– Request-Acknowledge-Paket

– Check-Paket

– Aboard-Paket

– Wait-Paket

– Check-Failed-Paket
Verfahren nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, dass beim Aufbauen der seriellen Datenverbindung gleichzeitig zwei Datenverbindungen mit entgegengesetzter Datenübertragungsrichtung zwischen zwei Baugruppen-Modulen aufgebaut werden. Verfahren nach einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, dass eine jede serielle Datenverbindung (9, 10) mehrere Datenkanäle umfasst.






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

Anmelder
Datum

Patentrecherche

  Patente PDF

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