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 PDF

Info

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
Application number
DE200510062576
Other languages
English (en)
Other versions
DE102005062576B4 (de
Inventor
Robert Dr.-Ing. Baumgartner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Production Printing Germany GmbH and Co KG
Original Assignee
Oce Printing Systems GmbH and Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oce Printing Systems GmbH and Co KG filed Critical Oce Printing Systems GmbH and Co KG
Priority to DE200510062576 priority Critical patent/DE102005062576B4/de
Publication of DE102005062576A1 publication Critical patent/DE102005062576A1/de
Application granted granted Critical
Publication of DE102005062576B4 publication Critical patent/DE102005062576B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus 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

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.

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 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

Claims (15)

  1. 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).
  2. 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.
  3. 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.
  4. Elektronische Steuereinrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Datenbus (5) ein mit dem MULTIBUS II kompatibler Datenbus ist.
  5. Steuereinrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die serielle Datenverbindung (9, 10) zum RocketIO Transceiver kompatibel ist.
  6. 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.
  7. 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.
  8. 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.
  9. Elektronische Steuereinrichtung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die elektronische Steuereinrichtung Bestandteil eines Hochleistungsdruckers ist.
  10. 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.
  11. 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.
  12. 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.
  13. 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
  14. 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.
  15. Verfahren nach einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, dass eine jede serielle Datenverbindung (9, 10) mehrere Datenkanäle umfasst.
DE200510062576 2005-12-27 2005-12-27 Elektronische Steuereinrichtung mit einem parallelen Datenbus Active DE102005062576B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138185A (en) * 1998-10-29 2000-10-24 Mcdata Corporation High performance crossbar switch

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
DE60226268T2 (de) Verfahren und vorrichtung zur bereitstellung einer optimierten ausnutzung schneller strecken
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
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
DE3043894C2 (de)
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE102006058818B4 (de) Vorrichtung und Verfahren zur Umwandlung von Textmitteilungen
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
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
DE19900369A9 (de) Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus
CH656275A5 (de) Verfahren und schaltungsanordnung zum uebertragen von datensignalen zwischen datensignalsendern und datensignalempfaengern.
DE69918053T2 (de) Datenübertragungs-steuervorrichtung und elektronische vorrichtung
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
DE102005062575B4 (de) Verfahren und Vorrichtung zum Übertragen von Daten über eine Datenverbindung von einem Sender zu einem Empfänger mittels Pakete
DE102016216495B4 (de) Basic-CAN Controller
DE102005062576B4 (de) Elektronische Steuereinrichtung mit einem parallelen Datenbus

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