DE102005062576A1 - Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung - Google Patents
Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung Download PDFInfo
- Publication number
- DE102005062576A1 DE102005062576A1 DE200510062576 DE102005062576A DE102005062576A1 DE 102005062576 A1 DE102005062576 A1 DE 102005062576A1 DE 200510062576 DE200510062576 DE 200510062576 DE 102005062576 A DE102005062576 A DE 102005062576A DE 102005062576 A1 DE102005062576 A1 DE 102005062576A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- module
- control device
- bus
- electronic control
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4217—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
- 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 Steuereinrichtung1 weist ein I/O-Modul2 , ein oder mehrere Rastermodule3 und ein Serialiser-Modul4 auf. Die einzelnen Module2 bis4 sind über einen parallelen Datenbus5 miteinander verbunden. Die Rastermodule3 und das Serialiser-Modul4 sind über einen weiteren Pixel-Bus6 miteinander verbunden. An das Serialiser-Modul4 ist ein Druckkopf7 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-Modul2 an die Rastermodule3 und das Serialiser-Modul4 weitergeleitet, wobei die Rastermodule3 die Druckbildinformationen empfangen und zu einem von dem Druckkopf7 verarbeitbaren Druckbilddatenstrom umsetzen. Diese Druckbilddatenströme werden von den Rastermodulen3 über den Pixel-Bus6 an das Serialiser-Modul4 übertragen, das die Datenströme in einer vorbestimmten Folge aufreiht und an den Druckkopf7 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 bis4 der Steuereinrichtung1 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 Rastermodulen3 über den Datenbus5 ist in einem Flussdiagramm in2 gezeigt. Hierbei sind die Aktionen, die am I/O-Modul2 stattfinden, auf der linken Seite und die Aktionen, die am Rastermodul3 ausgeführt werden, auf der rechten Seite dargestellt. - Im Schritt S1 schickt das I/O-Modul
2 an ein Rastermodul3 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 Rastermoduls2 ausgelöst. Hat das I/O-Modul2 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 und2 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 in5 gezeigten HihSpeed-Moduls, -
7 schematisch den grundsätzlichen Aufbau eines Pakets zum Übertragen über ein High-Speed-Link, -
8 einen Paket-Header aus7 im Blockschaltbild, -
9 die Bit-Belegung des Feldes Pakettyp des Paket-Headers aus8 , -
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 in3 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 Rastermodule3 und ein Back-End-Modul8 . An das Back-End-Modul ist ein Druckkopf7 eines Hochleistungsdruckers angeschlossen. - Die einzelnen Module
2 ,3 ,8 sind mit einem parallelen Datenbus5 miteinander verbunden. - Das I/O-Modul
2 und die Rastermodule3 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-Modulen2 ,3 und dem Back-End-Modul8 sind jeweils zumindest zwei High-Speed-Links9 ,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-Modulen2 ,3 zum Back-End-Modul8 und die High-Speed-Links10 sind zur Datenübertragung vom Back-End-Modul8 zu den Baugruppen-Modulen2 ,3 ausgebildet. Die High-Speed-Links9 ,10 weisen jeweils zwei separate Kanäle auf. - Das Back-End-Modul
8 weist eine passive Schaltmatrix11 auf. Die Schaltmatrix11 weist eine Eingangsseite auf, an welche die High-Speed-Links9 angeschlossen sind und eine Ausgangsseite, an welche die High-Speed-Links10 angeschlossen sind. Die Schaltmatrix11 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 Steuerbauteil12 (COSI) geschaltet. Dieses Steuerbauteil12 ist Bestandteil des Back-End-Moduls8 . Die Verwendung einer passiven Schaltmatrix11 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-Modulen2 ,3 und dem Druckkopf7 mittels einer Kombination aus einer Übertragung der Daten über den parallelen Datenbus5 , sowie einer Übertragung der Daten über die seriellen High-Speeds-Links9 ,10 erfolgt. Da die Schaltmatrix11 passiv ausgebildet ist, wird zunächst über den parallelen Datenbus5 das Steuerbauteil12 derart angesteuert, dass es die Schaltmatrix11 zum Aufbau der gewünschten Verbindung über die High-Speed-Links9 ,10 schaltet, über welche dann die Daten übertragen werden. Ist diese Datenübertragung beendet, dann wird mittels einer über den parallelen Datenbus5 übertragenen Nachricht (Message) die serielle Verbindung über die High-Speed-Links9 ,10 wieder abgebaut, indem in der Schaltmatrix11 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 in4 in Hinblick auf die Kommunikationsstruktur schematisch dargestellt. Ein solches Baugruppen-Modul2 ,3 weist eine zentrale Prozessoreinheit13 (CPU), eine Speichereinheit14 und drei Verteiler15 (Hubs) auf. Die Verteiler sind in4 mit MCH7501, P64H2#1 bzw. P64H2#2 bezeichnet. Die Verteiler15 verbinden die zentrale Prozessoreinheit13 über mehrere PCI-X-Busse mit der Peripherie16 , einem Host Adapter Serial Interface (HASI)17 und mehreren Steckverbindern18 zum Kontaktieren eines Kompakt-PCI-X-Bus. - Das HASI weist zwei separate Abschnitte, nämlich einen Hybridabschnitt
19 und einen Pixellink-Abschnitt20 auf. - Der Aufbau des Hybridabschnitts
19 ist schematisch in5 dargestellt. Der Hybridabschnitt19 umfasst einen PCI-X Core21 , ein PCI Application Interface22 , ein HS-Modul23 (High-Speed-Modul) und ein Multibus-Modul24 . - Das Multibus-Modul
24 stellt eine Schnittstelle zum Multibus5 dar. Das HS-Modul23 ist mit zwei Kanälen der High-Speed-Links9 ,10 zum Versenden von Daten und zwei Kanälen zum Empfangen von Daten verbunden. Das High-Speed-Modul23 und das Multibus-Modul24 sind miteinander verbunden und stehen mit dem PCI Application Interface22 in Verbindung, das einem DMA-Controller und einen Register-Controller-Interface zum Beschreiben von Registern im HS-Modul23 enthält. Das PCI Application Interface22 ist mit dem PCI-X Core verbunden, der ein Schnittstellenmodul zum PCI-X-Bus darstellt, über den das Hybridmodul19 mit einem der Verteiler15 verbunden ist. - Der Hybridabschnitt
19 wird als Hybridabschnitt bezeichnet, da er mit dem HS-Modul23 eine Schnittstelle zu den seriellen High-Speed-Links9 ,10 und mit dem Multibus-Modul24 eine Schnittstelle zum parallelen Datenbus5 , der als Multibus ausgebildet ist, aufweist. Der Hybridabschnitt19 erlaubt somit eine serielle als auch parallele Datenübertragung. -
6 zeigt schematisch den Aufbau des HS-Moduls23 aus5 . Das HS-Modul23 weist zwei Multi-GigaBit-Transfer-Driver25 ,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-Links9 bzw. ein Kanal der High-Speed-Links10 angeschlossen. Im Betrieb werden Daten gleichzeitig über beide Kanäle übertragen, so dass die High-Speed-Links9 zum Senden von Daten von beiden MGTs25 ,26 mit Daten versorgt werden und die High-Speed-Links10 zum Empfangen von Daten auf beiden MGTs25 ,26 Daten empfangen. - Mittels eines Steuerblocks
27 werden die beiden MGTs25 ,26 zur Ausführung der Datenübertragung gesteuert, wobei der Steuerblock27 von dem Mikrocontroller28 beschrieben wird, der im vorliegenden Ausführungsbeispiel als PowerPC405-System ausgebildet ist. Der Mikrocontroller28 ist mittels eines Puffers29 (DATA Request Buffer) mit dem Multibus-Modul24 verbunden und kann über diesen Puffer29 Daten vom Multibus-Modul24 empfangen. Somit können über den Multibus5 , den Multibus-Modul24 , dem Puffer29 , dem Mikrocontroller28 Daten zugeführt werden. - Weiterhin ist der Mikrocontroller
28 mit einem Registerblock30 verbunden. Der Registerblock enthält Kontroll- und Statusregister, auf die die Prozessoreinheit13 und der Mikrocontroller28 zugreifen können. - Die MGTs
25 ,26 sind jeweils mit einem Datenpuffer31 ,32 verbunden, in welchen sie Daten Schreiben bzw. aus welchem Sie Daten lesen. Die Datenpuffer sind mit einem DMA-Kanal33 verbunden. Der DMA-Kanal33 führt durch das PCI Application Interface22 hindurch, in welchem ein DMA-Controller36 angeordnet ist. Das PCI Application Interface22 weist weiterhin ein Target-Interface37 auf, das zur Datenverbindung zwischen dem Mikrocontroller28 und der Prozessoreinheit13 dient. - Das High-Speed-Modul weist zwei Empfangspuffer
35 ,38 auf, die parallel zu den Datenpuffern31 ,32 geschaltet sind und mittels welcher der Mikrocontroller28 Daten von den High-Speed-Link10 einlesen kann. - An den Eingängen der MGTs
25 ,26 , an welchen Daten zum Übertragen über die High-Speed-Links9 eingelesen werden, ist jeweils ein Multiplexer39 ,40 angeschlossen, die jeweils entweder eine von den Datenpuffern31 ,32 oder vom Mikrocontroller28 führende Datenleitung mit einem der MGTs25 ,26 verbinden. - Nachfolgend wird die Datenkommunikation zwischen den Baugruppen-Modulen anhand eines Beispieles erläutert, bei dem ein Rastermodul
3 Daten vom I/O-Modul2 anfordert, wobei diese Daten dann vom I/O-Modul2 zum Rastermodul3 übertragen werden. Hierbei wird auf den Prozessoreinheiten13 der Baugruppenmodule2 ,3 im wesentlichen das gleiche Verfahren ausgeführt, wie es aus der WO 00/22537 bekannt ist. Dies bedeutet, dass die Baugruppen-Module2 ,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 Interface17 und dem hierauf ausgeführten Übertragungsprotokoll, das im wesentlichen vom Mikrocontroller28 gesteuert wird. - Damit die Datenübertragung vom I/O-Modul
2 zum Rastermodul3 erfolgen kann, muss zum einem der DMA-Controller36 am I/O-Modul zum Auslesen der Daten aus der Speichereinheit14 des I/O-Modul und zum Einspeisen der Daten in den mit dem I/O-Modul2 verbundenen Datenlink9 programmiert werden, und zum anderen die Schaltmatrix11 derart geschaltet werden, dass der mit dem I/O-Modul2 verbundene High-Speed-Link9 mit dem entsprechenden Rastermodul3 verbundene High-Speed-Link10 über die Schaltmatrix11 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 Datenbus5 , 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 Datenbus5 zu dem die Schaltmatrix11 enthaltenden Back-End-Modul8 über den Datenbus5 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-Moduls8 an das Steuerbauteil12 weitergegeben werden, um die Eingänge mit den Ausgängen der Schaltmatrix11 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 Mikrocontroller28 über den Datenbus5 übermittelt. Das die Daten sendende Baugruppen-Modul2 ,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 Schaltmatrix11 verbunden worden sind. Der Inhalt der Connect-Acknowlegde-Message entspricht dem Inhalt der Connect-Message. Er wird aber vom Mikrocontroller28 nicht ausgewertet, da der sendende Mikrocontroller28 nicht gleichzeitig mehrere Verbindungen über die High-Speed-Links9 ,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 Schaltmatrix11 von dem sendenden Baugruppen-Modul2 ,3 aufgefordert, die in der Message spezifizierte Verbindung zu trennen. Die Verbindung wird über die beiden Ausgänge der Schaltmatrix11 definiert, an welchen die High-Speed-Links10 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 Rastermoduls3 erzeugt eine Data-Request-Message und überträgt sie mittels des Hybridabschnittes19 des Host Adapter Serial Interface17 , dem Multibus5 zum Hybridabschnitt19 des Host Adapter Serial Interfaces17 des I/O-Modul2 - 2. Am I/O-Modul wird die Data-Request-Message vom Mikrocontroller
28 des High-Speed-Moduls23 des Hybridabschnittes19 gelesen und der Mikrocontroller28 programmiert durch Schreiben einer entsprechenden Datensequenz in den Registerblock30 den DMA-Contoller des PCI Application Interface22 , um die vorbestimmten Daten aus der Speichereinheit14 des I/O-Modul2 auszulesen. - 3. Die auszulesenden Daten werden aus der Speichereinheit
13 mittels der Verteiler15 zum Host Adapter Serial Interface17 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 Speichereinheit14 die an sich zur Speichereinheit14 zugehörige Prozessoreinheit13 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 Core21 , dem PCI Application Interface22 und dem High-Speed-Modul23 an den High-Speed-Link9 angelegt. - Gleichzeitig mit dem Verbindungsaufbau in den Baugruppen-Modulen
2 ,3 des I/O-Moduls wird die Schaltmatrix11 mit folgenden Schritten geschaltet: - 1. Der Mikrocontroller
28 des I/O-Modul2 erzeugt eine Connect Message, die über das entsprechende Multibus-Modul24 , dem Multibus5 zum Back-End-Modul8 übertragen wird und dort vom Steuerbauteil12 gelesen wird. Die Connect Message enthält die Information, welcher Eingang der Schaltmatrix11 mit welchem Ausgang zu verbinden sind. - 2. Das Steuerbauteil
12 schaltet die Schaltmatrix11 entsprechend den in der Connect Message enthaltenen Informationen. - 3. Das Steuerbauteil
12 erzeugt eine Connect Acknowledge Message und sendet sie über den Multibus5 zum I/O-Moduls2 zurück, wo die Connect Acknowledge Message vom Mikrocontroller28 gelesen wird, der daraufhin den MGT26 mittels des Steuerblocks27 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 in7 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 Mikrocontroller28 ein Positiv- Acknowledge-Paket an den sendenden Mikrocontroller28 . 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 Mikrocontroller28 . 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 Mikrocontroller28 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 Schaltmatrix11 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 Schaltmatrix11 erläutert:
Zum Beginn jeder Übertragung auf den High-Speed-Links9 ,10 schicken der sendende und der empfangende Mikrocontroller28 der Baugruppen2 ,3 Idle-Zeichen über die High-Speed-Links9 ,10 , damit sich die MGTs25 ,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-Links9 ,10 gesendet werden. - Der empfangende Mikrocontroller
28 sendet auf seinen beiden Kanälen der High-Speed-Links9 Sync-Zeichen, sobald er vom Multibus-Modul24 die Meldung erhalten hat, dass eine Data-Request-Message abgeschickt wurde. Der sendende Mikrocontroller28 sendet auf seinen beiden Kanälen der High-Speed-Links9 Sync-Zeichen, wenn die Data-Request-Message in seinem Data-Request-Puffer29 eintrifft. Sobald die serielle Verbindung durch die Schaltmatrix11 auf dem Back-End-Modul8 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 Mikrocontroller28 . 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 Schaltmatrix11 auf die richtige Verbindung eingestellt ist. Der empfangende Mikrocontroller28 ü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 Mikrocontroller28 zurück, worauf der Transfer beim sendenden Mikrocontroller28 und empfangenden Mikrocontroller28 abgebrochen und eine entsprechende Meldung an die Prozessoreinheiten13 der jeweiligen Baugruppen2 ,3 abgesetzt wird. Die Puffer31 ,32 auf den Baugruppen-Modulen2 ,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 Puffer31 ,32 eingetragen hat. Mit dem Empfang des Positiv-Acknowledge-Pakets gibt der sendende Mikrocontroller28 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-Links9 ,10 gesendet werden. Liegen für alle Datenblöcke, die übertragen wurden, ein Positiv-Acknowledge-Paket vor, so sperrt der sendende Mikrocontroller die jeweiligen MGTs25 ,26 . Der Transfer über die High-Speed-Libnks9 ,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 Prozessoreinheit13 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 Mikrocontroller28 , 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 Mikrocontroller28 ein Negativ-Acknowledge-Paket, das aber wegen eines Übertragungsfehlers vom sendenden Mikrocontroller ignoriert wird. Beide Seiten sind damit blockiert. Der sendende Mikrocontroller28 kann wegen fehlender Positiv-Acknowledge-Pakete keine Slots freigeben. Beim Empfangen der Mikrocontroller28 steht wegen des fehlenden Datenblocks die DMA. Durch die Acknowledge-Request-Pakete wird der empfangende Mikrocontroller28 veranlasst, die Negativ-Acknowledge-Pakete ein zweites mal zu senden, worauf der sendenden Mikrocontroller28 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 Mikrocontroller28 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 Mikrocontroller28 das fehlende Datenpaket erneut zum empfangenden Mikrokontroller28 senden. - DMA-Fehler beim empfangenden Mikrocontroller
- Tritt beim empfangenden Mikrocontroller
28 ein nicht-behebbarer DMA-Fehler auf, so sendet der empfangende Mikrocontroller28 ein Abort-Paket an den sendenden Mikrocontroller28 und bricht mit einer Fehlermeldung an die jeweilige Prozessoreinheit13 die Übertragung ab. Falls das Abort-Paket wegen einer Störung auf den High-Speed-Links9 ,10 verloren geht, greift der Mechanismus mit den Acknowledge-Request-Paketen. Da vom empfangenden Mikrocontroller28 keine Acknowledge-Pakete mehr eintreffen, sendet der sendende Mikrocontroller28 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 Mikrocontroller28 über den Fehler. Der empfangende Mikrocontroller28 sendet in diesem Fall in regelmäßigen Abständen ein Wait-Paket an den sendenden Mikrocontroller28 , um den Datentransfer über die High-Speed-Links9 ,10 weiter aufrecht zu erhalten. Hat die Prozessoreinheit des sendenden Baugruppen-Moduls2 ,3 das Problem mit dem DMA-Page-Miss behoben, startet sie die DMA neu und teilt dies dem empfangenden Mikrocontroller28 mit. Der empfangende Mikrocontroller28 stellt daraufhin das Senden des Wait-Pakets wieder ein und der Datentransfer über die High-Speed-Links9 ,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 Mikrocontroller28 , bis er vom empfangenden Mikrocontroller28 als Antwort ein Abort-Paket empfangen hat. Auf beiden Seiten wird daraufhin ein Datentransfer über die High-Speed-Links9 ,10 abgebrochen und eine Meldung an die jeweilige Prozessoreinheit13 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 Prozessoreinheit13 . Der sendende Mikrocontroller28 sendet in diesem Fall in regelmäßigen Abständen ein Wait-Paket an den empfangenden Mikrocontroller28 um den Datentransfer über die High- Speed-Links9 ,10 weiter aufrecht zu erhalten. Hat die Prozessoreinheit13 das Problem mit dem Page-Miss behoben, teilt er dies dem sendenden Mikrocontroller28 mit. Der sendende Mikrocontroller28 stellt daraufhin das Senden des Wait-Pakets wieder ein uns startet die DMA. Der Datentransfer über die High-Speed-Links9 ,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 Schaltmatrix11 mit einem Ausgang über die Schaltmatrix11 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 Datenbus5 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 Mikrocontroller28 bearbeitet. Die Reihenfolge der Bearbeitung der daraus abgeleiteten Verbindungen über die High-Speed-Links9 ,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 Steuerbauteil12 der Schaltmatrix11 bearbeitet werden. - Der schwierigste Fall ist, dass ein bestimmtes Baugruppen-Modul
2 ,3 , das als Baugruppe A bezeichnet wird, von einem anderen bestimmten Baugruppen-Modulen2 ,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-Links9 ,10 zeitlich hintereinander bei dem Steuerbauteil12 des Back-End-Moduls8 eintreffen. Wie es oben bereits erläutert und in12 gezeigt ist, enthält eine Connect-Message jeweils die beiden Wertepaare für den Ausgang und den Eingang der zu verbindenden Baugruppen-Module2 ,3 . Hierdurch werden die Verbindungen über die High-Speed-Links9 ,10 in beide Richtungen zwischen zwei Baugruppen-Modulen2 ,3 gleichzeitig aufgebaut. Somit wird sichergestellt, dass kein Baugruppen-Modul2 ,3 zum Senden mit einem bestimmten Baugruppen-Modul2 ,3 und zum Empfangen mit einem anderen Baugruppen-Modul2 ,3 verbunden werden kann. Durch dieses paarweise Anfordern der Verbindungen in der Schaltmatrix11 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 Rastermodulen3 . In den Rastermodulen3 werden die Druckdaten gerastert und über das Back-End-Modul8 zum Druckkopf7 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
Claims (15)
- 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.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200510062576 DE102005062576B4 (de) | 2005-12-27 | 2005-12-27 | Elektronische Steuereinrichtung mit einem parallelen Datenbus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200510062576 DE102005062576B4 (de) | 2005-12-27 | 2005-12-27 | Elektronische Steuereinrichtung mit einem parallelen Datenbus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102005062576A1 true DE102005062576A1 (de) | 2007-06-28 |
DE102005062576B4 DE102005062576B4 (de) | 2012-10-25 |
Family
ID=38108913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200510062576 Active DE102005062576B4 (de) | 2005-12-27 | 2005-12-27 | Elektronische Steuereinrichtung mit einem parallelen Datenbus |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102005062576B4 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006021387A1 (de) * | 2006-05-08 | 2007-11-15 | OCé PRINTING SYSTEMS GMBH | Drucksystem und Verfahren zum Betreiben eines Drucksystems |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016122766B4 (de) | 2016-11-25 | 2022-05-05 | Canon Production Printing Holding B.V. | Steuervorrichtung zum Steuern eines Gerätes, Druckvorrichtung und Verfahren zum Betreiben einer solchen Steuervorrichtung |
DE102017130706A1 (de) | 2017-12-20 | 2019-06-27 | Océ Holding B.V. | Steuervorrichtung und Verfahren zum Steuern eines Gerätes |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0596954B1 (de) * | 1991-07-30 | 1997-10-08 | Pep Modular Computers Ag | Hochgeschwindigkeits-bussystem und verfahren zum betreiben desselben |
US6671316B1 (en) * | 2000-04-13 | 2003-12-30 | Storage Technology Corporation | Three state pulse width modulation code |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138185A (en) * | 1998-10-29 | 2000-10-24 | Mcdata Corporation | High performance crossbar switch |
-
2005
- 2005-12-27 DE DE200510062576 patent/DE102005062576B4/de active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0596954B1 (de) * | 1991-07-30 | 1997-10-08 | Pep Modular Computers Ag | Hochgeschwindigkeits-bussystem und verfahren zum betreiben desselben |
US6671316B1 (en) * | 2000-04-13 | 2003-12-30 | Storage Technology Corporation | Three state pulse width modulation code |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006021387A1 (de) * | 2006-05-08 | 2007-11-15 | OCé PRINTING SYSTEMS GMBH | Drucksystem und Verfahren zum Betreiben eines Drucksystems |
DE102006021387B4 (de) * | 2006-05-08 | 2008-04-03 | OCé PRINTING SYSTEMS GMBH | Drucksystem und Verfahren zum Betreiben eines Drucksystems |
Also Published As
Publication number | Publication date |
---|---|
DE102005062576B4 (de) | 2012-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1456722B1 (de) | Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer | |
DE2647241C2 (de) | Übertragungseinrichtung für die synchrone Datenübertragung | |
DE2953444C2 (de) | Anordnung und Verfahren für ein digitales Datenübertragungsnetzwerk | |
DE68924235T2 (de) | Hochgeschwindigkeitsvermittlungssystem mit flexibler Protokollmöglichkeit. | |
DE60226268T2 (de) | Verfahren und vorrichtung zur bereitstellung einer optimierten ausnutzung schneller strecken | |
DE68917388T2 (de) | Rechneranlage mit einer zentralen Zwischenverbindung. | |
DE3850097T2 (de) | Rechnerverbinder für gruppen von datenverarbeitungseinrichtungen. | |
DE4121446C2 (de) | Terminal-Server-Architektur | |
DE69932400T2 (de) | Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen | |
DE69936225T2 (de) | Gleichzeitige serielle verbindung zur integrierung von funktionellen blöcken in eine integrierte schaltungsvorrichtung | |
DE69133569T2 (de) | Netzschnittstelle | |
DE69930490T2 (de) | Kommunikationsverfahren, Sendungsverfahren und Empfangsverfahren und Geräte zu ihrer Durchführung | |
DE69735921T2 (de) | Vermittlungselement für Fibre-Channel unter Verwendung von verteilten Warteschlangen | |
DE3586678T2 (de) | Flexibel anwendbares serielles interface-system fuer eine verbindung zwischen einer und mehreren einheiten. | |
DE3642324C2 (de) | Multiprozessoranlage mit Prozessor-Zugriffssteuerung | |
DE19900345A9 (de) | Vorrichtung und Verfahren für die Bereitstellung einer Schnittstelle für eine Verbundsteuereinheit eines Universellen Seriellen Buses | |
DE4023471C2 (de) | Steuerungssystem mit Hostcomputer und Kommunikationsschnittstellenschaltung | |
DE19900345A1 (de) | Vorrichtung und Verfahren für die Bereitstellung einer Schnittstelle für eine Verbundsteuereinheit eines Universellen Seriellen Buses | |
DE19900245A1 (de) | Vorrichtung und Verfahren zum Senden und Empfangen von USB-Isochrondaten | |
DE19900369A1 (de) | Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus | |
DE102005048581B4 (de) | Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle | |
DE69918053T2 (de) | Datenübertragungs-steuervorrichtung und elektronische vorrichtung | |
DE102005062575B4 (de) | Verfahren und Vorrichtung zum Übertragen von Daten über eine Datenverbindung von einem Sender zu einem Empfänger mittels Pakete | |
DE102004046822A1 (de) | Verfahren zum Übertragen von Daten zwischen einem Speicher und mehreren peripheren Einheiten mit Hilfe einer Direct Memory Access-Steuerung sowie entsprechende Direct Memory Access-Steuervorrichtung | |
EP0184706B1 (de) | Schnittstelleneinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |
Effective date: 20130126 |
|
R082 | Change of representative |
Representative=s name: PATENTANWAELTE SCHAUMBURG, THOENES, THURN, LAN, DE |
|
R081 | Change of applicant/patentee |
Owner name: OCE PRINTING SYSTEMS GMBH & CO. KG, DE Free format text: FORMER OWNER: OCE PRINTING SYSTEMS GMBH, 85586 POING, DE Effective date: 20130820 |
|
R082 | Change of representative |
Representative=s name: PATENTANWAELTE SCHAUMBURG, THOENES, THURN, LAN, DE Effective date: 20130820 Representative=s name: SCHAUMBURG UND PARTNER PATENTANWAELTE MBB, DE Effective date: 20130820 Representative=s name: SCHAUMBURG & PARTNER PATENTANWAELTE GBR, DE Effective date: 20130820 Representative=s name: SCHAUMBURG & PARTNER PATENTANWAELTE MBB, DE Effective date: 20130820 |
|
R082 | Change of representative |
Representative=s name: SCHAUMBURG UND PARTNER PATENTANWAELTE MBB, DE Representative=s name: SCHAUMBURG & PARTNER PATENTANWAELTE GBR, DE Representative=s name: SCHAUMBURG & PARTNER PATENTANWAELTE MBB, DE |