-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht die Priorität der chinesischen Patentanmeldung mit der Seriennummer
202010291113.7 , die am 14. April 2020 eingereicht wurde. Die Gesamtheit der oben genannten Patentanmeldung wird hiermit durch Verweis in diese Anmeldung aufgenommen und zu einem Teil dieser Beschreibung gemacht.
-
HINTERGRUND
-
1. Technischer Bereich
-
Die vorliegende Offenbarung bezieht sich auf Kommunikationstechnologien und insbesondere auf einen in eine EtherCAT-Master-Slave-Station integrierten Bridge-Controller, ein Steuerverfahren, ein Steuersystem und ein lesbares Speichermedium.
-
2. Beschreibung des einschlägigen Stands der Technik
-
EtherCAT (Ethernet for Control Automation Technology) ist ein Ethernet-basiertes Feldbussystem mit offener Architektur. EtherCAT ist aufgrund seiner Eigenschaften von hoher Echtzeitleistung, flexibler Topologie und einfacher Systemkonfiguration in der Industrie weit verbreitet.
-
Derzeit verwendet EtherCAT einen Master-Slave-Medienzugriffssteuermodus. Eine Master-Station verwendet eine Standard-Ethernet-Karte, und eine Slave-Station verwendet einen speziellen ESC-Chip (EtherCAT Slave Controller) wie z.B. ET1100, ET1200 oder LAN9252, um die Funktion der Slave-Station zu erreichen. Zwischen den Geräten der Master- und der Slave-Station wird eine lineare Topologiekommunikation angewendet. Zum Beispiel sendet ein Master-Stationsgerät ein Telegramm, und ein Slave-Stationsgerät liest Daten, die von der Master-Station an sie adressiert sind, wenn das Telegramm den Knoten des Slave-Stationsgerätes durchläuft, und fügt Daten (die an die Master-Station zurückgesendet werden sollen) in das Telegramm ein. Dabei wird das Telegramm nur um einige Dutzend Nanosekunden verzögert. Nachdem das Telegramm alle Slave-Stationen durchlaufen hat und der Datenaustausch abgeschlossen ist, wird das Telegramm von der letzten Slave-Station des EtherCAT-Segments zurückgesendet.
-
Ein EtherCAT-Master-Stationsgerät ist der Kern eines gesamten EtherCAT-Master-Slave-Systems. Das EtherCAT-Master-Stationsgerät muss in der Lage sein, stabil und zuverlässig zu arbeiten, um die Echtzeit und die Synchronisation der Slave-Stationsgeräte zu gewährleisten. Das EtherCAT-Master-Stationsgerät ist durch eine eingebettete Lösung von Beckhoff in Deutschland implementiert, die auf einem Windows-, Linux- oder Android-Betriebssystem von Personal Computern basiert. Da das Windows-, Linux- oder Android-Betriebssystem kein Echtzeitbetriebssystem ist, ist die Priorität für die Aufgabenplanung eines EtherCAT-Protokollanalyseprozesses unkontrollierbar und unsicher, wodurch sich die Zeit für den Empfang von Daten durch die Master- und Slave-Stationen verlängert, die Kommunikationsperiode und der Periodenjitter erhöht und somit die Anforderungen an eine hochpräzise CNC-Synchronisationssteuerung (Computer Numerical Control) nicht erfüllt werden. Um die Echtzeitleistung der Master-Station zu gewährleisten, verwenden einige Geräte ein RTOS-Echtzeitbetriebssystem wie z.B. ein Vxworks-, QNX-, uC/OS II-Betriebssystem. Da das Urheberrecht des RTOS-Betriebssystems jedoch teuer ist und die Softwaretransplantation einen hohen Arbeitsaufwand erfordert, ist es schwierig, es auf breiter Basis einzusetzen. Darüber hinaus umfasst ein aktuelles EtherCAT-Bus-Steuersystem in der Regel nur ein EtherCAT-Master-Stationsgerät und eine Vielzahl von EtherCAT-Slave-Stationsgeräten. Die Kommunikation in einer Single-Master-Netzwerktopologie beruht auf der Zuweisung und Ablaufplanung einer einzigen Master-Station. Sobald das Master-Stationsgerät oder ein Slave-Stationsgerät ausfällt, wird unter Umständen das gesamte Netzwerk lahmgelegt.
-
Daher ist es entscheidend geworden, wie die oben beschriebenen Nachteile überwunden werden können.
-
ZUSAMMENFASSUNG
-
Angesichts der oben beschriebenen Nachteile werden in der vorliegenden Offenbarung ein in eine EtherCAT-Master-Slave-Station integrierter Bridge-Controller, ein Steuerverfahren, ein Steuersystem und ein lesbares Speichermedium angegeben, um die Zuverlässigkeit der Feldbus-Steuerung zu verbessern.
-
Das Steuerverfahren ist in einem FPGA-basierten, in eine EtherCAT-Master-Slave-Station integrierten Bridge-Controller mit einem Master-Stationsteil, einem Slave-Stationsteil und einem GPMC-Bus (General Purpose Memory Controller) anwendbar. Das Steuerverfahren umfasst die folgenden Schritte: der Master-Stationsteil greift über den GPMC-Bus auf erste Daten in einer externen Zentraleinheit (Central Processing Unit, CPU) zu und sendet die ersten Daten an ein Slave-Stationsgerät eines Drittanbieters; der Master-Stationsteil empfängt zweite Daten von dem Drittanbieter-Slave-Stationsgerät und leitet die zweiten Daten an die externe CPU zurück; der Slave-Stationsteil greift über den GPMC-Bus auf dritte Daten in der externen CPU zu und sendet die dritten Daten an ein Master-Stationsgerät eines Drittanbieters; und der Slave-Stationsteil empfängt vierte Daten von dem Drittanbieter-Master-Stationsgerät und leitet die vierten Daten an die externe CPU zurück.
-
In einer Ausführungsform umfasst der Master-Stationsteil einen Master-Stations-Sendepuffer und eine Master-Stationsuhr, und der Schritt des Zugreifens auf die ersten Daten in der externen CPU über den GPMC-Bus und des Sendens der ersten Daten an das Drittanbieter-Slave-Stationsgerät umfasst: Zugreifen auf die ersten Daten, Speichern der ersten Daten im Master-Stations-Sendepuffer und Senden der ersten Daten zu einer bestimmten Zeit in Abhängigkeit der Master-Stationsuhr an das Drittanbieter- Slave-Stationsgerät.
-
In einer Ausführungsform umfasst der Master-Stationsteil einen Master-Stations-Empfangspuffer, und der Schritt des Empfangens der zweiten Daten von dem Drittanbieter-Slave-Stationsgerät und des Zurückleitens der zweiten Daten an die externe CPU umfasst: Empfangen der zweiten Daten und Speichern der zweiten Daten im Master-Stations-Empfangspuffer, so dass die externe CPU auf die zweiten Daten zugreifen kann.
-
In einer Ausführungsform umfasst der Slave-Stationsteil einen Slave-Stations-Sendepuffer und ein Slave-Stations-Verarbeitungsmodul, und der Schritt des Zugreifens auf die dritten Daten in der externen CPU über den GPMC-Bus und des Sendens der dritten Daten an das Drittanbieter-Master-Stationsgerät umfasst: Zugreifen auf die dritten Daten, Speichern der dritten Daten im Slave-Stations-Sendepuffer und Einfügen der dritten Daten in ein Datenpaket durch das Slave-Stations-Verarbeitungsmodul, um die dritten Daten an das Drittanbieter-Master-Stationsgerät zu senden.
-
In einer Ausführungsform umfasst der Slave-Stationsteil einen Slave-Stations-Empfangspuffer, und der Schritt des Empfangens der vierten Daten von dem Drittanbieter-Master-Stationsgerät und des Zurückleitens der vierten Daten an die externe CPU umfasst: Empfangen der vierten Daten und Speichern der vierten Daten im Slave-Stations-Empfangspuffer, so dass die externe CPU auf die vierten Daten zugreifen kann.
-
Der in eine EtherCAT-Master-Slave-Station integrierte Bridge-Controller ist in einem FPGA (Field-Programmable Gate-Array) eingebaut und umfasst einen Master-Stationsteil, einen Slave-Stationsteil und einen GPMC-Bus, wobei der Master-Stationsteil über den GPMC-Bus mit einer externen CPU verbunden ist, der Slave-Stationsteil über den GPMC-Bus mit der externen CPU verbunden ist, der Master-Stationsteil über einen Netzwerktreiber-Chip mit einem Slave-Stationsgerät eines Drittanbieters verbunden ist und der Slave-Stationsteil über einen Netzwerktreiber-Chip mit einem Master-Stationsgerät eines Drittanbieters verbunden ist.
-
In einer Ausführungsform umfasst der Master-Stationsteil: ein Master-Stations-Verarbeitungsmodul, eine Master-Stationsuhr, einen Master-Stations-Sendepuffer, einen Master-Stations-Empfangspuffer und ein Master-Stations-Statusregister.
-
In einer Ausführungsform umfasst der Slave-Stationsteil: ein Slave-Stations-Verarbeitungsmodul, eine Slave-Stationsuhr, einen Slave-Stations-Sendepuffer, einen Slave-Stations-Empfangspuffer und ein Slave- Stations- Statusregister.
-
In einer Ausführungsform umfasst der GPMC-Bus einen Decoder, einen unidirektionalen Adressbus, einen bidirektionalen Datenbus, ein GPMC-Bus-Steuersignal und einen Interrupt-Arbitration-Controller, wobei das GPMC-Bus-Steuersignal ein Chip-Auswahlsignal, ein Schreibsignal und ein Lesesignal umfasst, die mit niedrigem Pegel wirksam sind.
-
Das Steuersystem basiert auf einem in eine Master-Slave-Station integrierten Bridge-Controller und umfasst: mindestens einen Bridge-Controller wie oben beschrieben, ein Master-Stationsgerät eines Drittanbieters, ein oder mehrere Slave-Stationsgeräte eines Drittanbieters und eine externe CPU zur Steuerung des Bridge-Controllers, wobei das Drittanbieter-Master-Stationsgerät mit dem Slave-Stationsteil des Bridge-Controllers verbunden ist, die Drittanbieter-Slave-Stationsgeräte kommunikativ mit dem Master-Stationsteil des Bridge-Controllers verbunden sind und die externe CPU über den GPMC-Bus kommunikativ mit dem Master-Stationsteil oder dem Slave-Stationsteil verbunden ist.
-
Auf dem lesbaren Speichermedium ist ein Computerprogramm gespeichert. Wird das Computerprogramm von einem Prozessor ausgeführt, setzt es die oben beschriebenen Schritte des Steuerverfahrens des in eine EtherCAT-Master-Slave-Station integrierten Bridge-Controllers um.
-
Das in der vorliegenden Offenbarung angegebene Steuerverfahren für den in eine EtherCAT-Master-Slave-Station integrierten Bridge-Controller wird in dem FPGA-basierten Bridge-Controller mit einem Master-Stationsteil, einem Slave-Stationsteil und einem GPMC-Bus angewendet. Das Steuerverfahren umfasst die folgenden Schritte: Zugreifen durch den Master-Stationsteil auf erste Daten in einer externen CPU über den GPMC-Bus und Senden der ersten Daten an ein Slave-Stationsgerät eines Drittanbieters; Empfangen von zweiten Daten von dem Drittanbieter-Slave-Stationsgerät durch den Master-Stationsteil und Zurückleiten der zweiten Daten an die externe CPU; Zugreifen durch den Slave-Stationsteil auf dritte Daten in der externen CPU über den GPMC-Bus und Senden der dritten Daten an ein Master-Stationsgerät eines Drittanbieters; und Empfangen von vierten Daten von dem Drittanbieter-Master-Stationsgerät durch den Slave-Stationsteil und Zurückleiten der vierten Daten an die externe CPU.
-
Bei dem vorliegenden Verfahren hat der FPGA-basierte Bridge-Controller aufgrund der parallelen Charakteristik des FPGAs eine harte Echtzeitcharakteristik und eine Parallelfähigkeit. Somit gewährleistet das vorliegende Verfahren während der Steuerung eines Industriebusses das Senden und Empfangen von Daten in Echtzeit und verringert die Abhängigkeit von der CPU und dem Betriebssystem. Darüber hinaus kann der Bridge-Controller gegenüber einem Master-Stationsgerät eines Drittanbieters als Slave-Gerät und gleichzeitig gegenüber einem Slave-Stationsgerät eines Drittanbieters als Master-Gerät dienen. Das heißt, der Bridge-Controller kann das Drittanbieter-Master-Stationsgerät und das Drittanbieter-Slave-Stationsgerät miteinander in Verbindung bringen und sowohl als Master-Station als auch als Slave-Station dienen.
-
Durch die Reihenschaltung von zwei oder mehr Bridge-Controllern kann die Verbindungstopologie-Schnittstelle zwischen dem Drittanbieter-Master-Stations-Gerät und dem Drittanbieter-Slave-Stations-Gerät geändert werden. Die aktuelle lineare Einzelkommunikation kann die Bridge-Controller als Verbindungsknoten verwenden, um eine Netzwerktopologie mit einer Baumstruktur aufzubauen, wodurch die Flexibilität der Netzwerktopologie verbessert, die Netzwerklast verringert und die Zuverlässigkeit und Echtzeitleistung des Netzwerksystems verbessert wird.
-
Dementsprechend erzielen auch der in einer EtherCAT-Master-Slave-Station integrierte Bridge-Controller, das Steuersystem und das lesbare Speichermedium die oben beschriebenen technischen Effekte, deren detaillierte Beschreibung hier unterbleibt.
-
Figurenliste
-
- 1 ist ein Flussdiagramm, das ein Steuerverfahren eines in eine EtherCAT-Master-Slave-Station integrierten Bridge-Controllers gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt;
- 2 ist ein schematisches Diagramm, das einen Aufbau eines Bridge-Controllers gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt;
- 3 ist ein schematisches Diagramm, das Verbindungen zwischen einem Bridge-Controller und externen Geräten gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt; und
- 4 ist ein schematisches Diagramm, das eine Netzwerktopologie eines Steuersystems auf der Grundlage eines in eine Master-Slave-Station integrierten Bridge-Controllers gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgenden illustrativen Ausführungsbeispiele sollen die vorliegende Offenbarung veranschaulichen, wobei diese und weitere Vorteile und Auswirkungen für den Fachmann nach der Lektüre dieser Beschreibung ersichtlich sein können.
-
Es ist anzumerken, dass sämtliche Zeichnungen nicht dazu gedacht sind, die vorliegende Offenbarung einzuschränken. Es können verschiedene Modifikationen und Variationen vorgenommen werden, ohne vom Geist der vorliegenden Offenbarung abzuweichen. Ferner dienen Begriffe wie „erste“, „zweite“, „auf“, „ein“ usw. lediglich der Veranschaulichung und sollten nicht so ausgelegt werden, dass sie den Umfang der vorliegenden Offenbarung einschränken.
-
Erste Ausführungsform
-
1 ist ein Flussdiagramm, das ein Steuerverfahren eines in einer EtherCAT-Master-Slave-Station integrierten Bridge-Controllers gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt. Das Steuerverfahren des in eine EtherCAT-Master-Slave-Station integrierten Bridge-Controllers ist beispielsweise in einem FPGA-basierten Bridge-Controller anwendbar. Unter Bezugnahme auf 2 weist der Bridge-Controller einen Master-Stationsteil, einen Slave-Stationsteil und einen GPMC-Bus auf.
-
Das Steuerverfahren umfasst die folgenden Schritte.
-
Bei S101 greift der Master-Stationsteil über den GPMC-Bus auf erste Daten in einer externen CPU zu und sendet die ersten Daten an ein Slave-Stationsgerät eines Drittanbieters.
-
Dabei ist der Master-Stationsteil relativ zum Drittanbieter-Slave-Stationsgerät, und der Bridge-Controller übernimmt die Rolle einer Master-Station. Das heißt, der Master-Stationsteil kann als eine virtuelle Master-Station im FPGA-basierten Bridge-Controller betrachtet werden, und der Master-Stationsteil hat die Verarbeitungskapazität/-funktion eines Master-Stationsgeräts. Insbesondere kann das Slave-Stationsgerät des Drittanbieters ein anderer Bridge-Controller oder ein EtherCAT-Slave-Stationsgerät sein.
-
Insbesondere können die ersten Daten Steuerdaten sein, die von der externen CPU für die Steuerung des Drittanbieter-Slave-Stationsgeräts verwendet werden.
-
Wenn der Master-Stationsteil einen Master-Stations-Sendepuffer und eine Master-Stationsuhr umfasst, kann die Verarbeitung der ersten Daten insbesondere Folgendes umfassen: Zugreifen auf die ersten Daten, Speichern der ersten Daten im Master-Stations-Sendepuffer und Senden der ersten Daten an das Drittanbieter-Slave-Stationsgerät zu einer bestimmten Zeit gemäß der Master-Stationsuhr. Das heißt, der Bridge-Controller kann über den GPMC-Bus auf die ersten Daten in der externen CPU zugreifen, die ersten Daten im Master-Stations-Sendepuffer speichern und die ersten Daten zu einer bestimmten Zeit unter Steuerung der Master-Stationsuhr an das Drittanbieter-Slave-Stationsgerät senden.
-
Bei S102 empfängt der Master-Stationsteil zweite Daten vom Drittanbieter-Slave-Stationsgerät und leitet die zweiten Daten an die externe CPU zurück.
-
Bei den zweiten Daten kann es sich insbesondere um Daten des Drittanbieter-Slave-Stationsgeräts als Reaktion auf die Steuerungsverwaltung der externen CPU oder um Ereignisdaten handeln, die im Betrieb von dem Drittanbieter-Slave-Stationsgerät erzeugt werden und zur Verarbeitung an die externe CPU gemeldet werden müssen.
-
Wenn der Master-Stationsteil einen Master-Stations-Empfangspuffer enthält, kann die Verarbeitung der zweiten Daten durch den Master-Stationsteil insbesondere Folgendes umfassen: Empfangen der zweiten Daten und Speichern der zweiten Daten im Master-Stations-Empfangspuffer, so dass die externe CPU auf die zweiten Daten zugreifen kann. Das heißt, nachdem der Master-Stationsteil in dem Bridge-Controller die zweiten Daten empfangen hat, kann er die zweiten Daten im Master-Stations-Empfangspuffer speichern. Auf diese Weise kann die externe CPU auf die zweiten Daten zugreifen, indem sie den Master-Stations-Empfangspuffer ausliest.
-
Bei S103 greift der Slave-Stationsteil über den GPMC-Bus auf dritte Daten in der externen CPU zu und sendet die dritten Daten an ein Master-Stationsgerät eines Drittanbieters.
-
Dabei ist der Slave-Stationsteil ein Teil des FPGA-basierten Bridge-Controllers, der die Funktion einer Slave-Station ausführt. Insbesondere kann das Drittanbieter-Master-Stationsgerät ein anderer Bridge-Controller oder ein EtherCAT-Master-Stationsgerät sein. Bei den dritten Daten kann es sich insbesondere um Daten handeln, die von der externen CPU zur Steuerung des Drittanbieter-Master-Stationsgeräts verwendet werden.
-
Wenn der Slave-Stationsteil einen Slave-Stations-Sendepuffer und ein Slave-Stations-Verarbeitungsmodul enthält, kann die Verarbeitung der dritten Daten durch den Slave-Stationsteil das Zugreifen auf die dritten Daten, das Speichern der dritten Daten im Slave-Stations-Sendepuffer und das Einfügen der dritten Daten in ein Datenpaket durch das Slave-Stations-Verarbeitungsmodul umfassen, um die dritten Daten an das Drittanbieter-Master-Stationsgerät zu senden. Das heißt, wenn der Slave-Stationsteil auf die dritten Daten in der externen CPU zugreift, kann er die dritten Daten im Slave-Stations-Sendepuffer speichern und dann die dritten Daten über das Slave-Stations-Verarbeitungsmodul in ein Datenpaket einfügen, um die dritten Daten an das Drittanbieter-Master-Stationsgerät zu senden.
-
Bei S104 empfängt der Slave-Stationsteil vierte Daten vom Master-Stationsgerät des Drittanbieters und leitet die vierten Daten an die externe CPU zurück.
-
Bei den vierten Daten kann es sich insbesondere um Daten handeln, die vom Drittanbieter-Master-Stationsgerät an die externe CPU gesendet werden müssen, z. B. Antwortdaten.
-
Wenn der Slave-Stationsteil einen Slave-Stations-Empfangspuffer enthält, umfasst die Verarbeitung der vierten Daten durch den Slave-Stationsteil Folgendes: Empfangen der vierten Daten und Speichern der vierten Daten im Slave-Stations-Empfangspuffer, so dass die externe CPU auf die vierten Daten zugreifen kann. Wenn der Slave-Stationsteil in dem Bridge-Controller die vierten Daten von dem Drittanbieter-Master-Stationsgerät empfängt, kann er die vierten Daten im Slave-Stations-Empfangspuffer speichern, so dass die externe CPU die vierten Daten aus dem Slave-Stations-Empfangspuffer auslesen kann.
-
Die oben genannten Schritte beschreiben die spezifischen Inhalte des Master-Stationsteils und des Slave-Stationsteils im Bridge-Controller. In praktischen Anwendungen können die Module des Master-Stationsgeräts und des Slave-Stationsteils darüber hinaus spezifische Funktionsmodule wie z.B. Uhren und Statusregister enthalten. Darüber hinaus können die Schritte S101, S102, S103 und S104 entsprechend den spezifischen Datenübertragungsanforderungen parallel oder nacheinander ausgeführt werden.
-
Das in der vorliegenden Offenbarung angegebene Steuerverfahren des in einer EtherCAT-Master-Slave-Station integrierten Bridge-Controllers wird in einem FPGA-basierten Bridge-Controller angewendet. Der Bridge-Controller umfasst einen Master-Stationsteil, einen Slave-Stationsteil und einen GPMC-Bus. Das Steuerverfahren des in eine EtherCAT-Master-Slave Station integrierten Bridge-Controllers umfasst die folgenden Schritte: der Master-Stationsteil greift über den GPMC-Bus auf erste Daten in einer externen CPU zu und sendet die ersten Daten an ein Slave-Stationsgerät eines Drittanbieters; der Master-Stationsteil empfängt zweite Daten von dem Drittanbieter-Slave-Stationsgerät und leitet die zweiten Daten an die externe CPU zurück; der Slave-Stationsteil greift über den GPMC-Bus auf dritte Daten in der externen CPU zu und sendet die dritten Daten an ein Master-Stationsgerät eines Drittanbieters; und der Slave-Stationsteil empfängt vierte Daten von dem Drittanbieter-Master-Stationsgerät und leitet die vierten Daten an die externe CPU zurück.
-
Bei dem vorliegenden Verfahren hat der FPGA-basierte Bridge-Controller aufgrund der Paralleleigenschaft des FPGAs eine harte Echtzeitcharakteristik und eine Parallelfähigkeit. Somit gewährleistet das vorliegende Verfahren während der Steuerung eines Industriebusses das Senden und Empfangen von Daten in Echtzeit und verringert die Abhängigkeit von der CPU und dem Betriebssystem. Darüber hinaus kann der Bridge-Controller gegenüber einem Master-Stationsgerät eines Drittanbieters als Slave-Gerät und gleichzeitig gegenüber einem Slave-Stationsgerät eines Drittanbieters als Master-Gerät dienen. Das heißt, der Bridge-Controller kann das Drittanbieter-Master-Stationsgerät und das Drittanbieter-Slave-Stationsgerät miteinander in Verbindung bringen und sowohl als Master-Station als auch als Slave-Station dienen. Durch die Reihenschaltung von zwei oder mehreren Bridge-Controllern kann die Verbindungstopologie-Schnittstelle zwischen dem Drittanbieter-Master-Stationsgerät und dem Drittanbieter-Slave-Stationsgerät geändert werden. Die aktuelle lineare Einzelkommunikation kann die Bridge-Controller als Verbindungsknoten verwenden, um eine Netzwerktopologie mit einer Baumstruktur aufzubauen, wodurch die Flexibilität der Netzwerktopologie verbessert, die Netzwerklast verringert und die Zuverlässigkeit und Echtzeitleistung des Netzwerksystems verbessert wird.
-
Zweite Ausführungsform
-
Entsprechend dem oben genannten Steuerverfahren des in eine EtherCAT-Master-Slave-Station integrierten Bridge-Controllers wird in der vorliegenden Offenbarung weiterhin ein in eine EtherCAT-Master-Slave-Station integrierter Bridge-Controller 100 angegeben, wie in 2 und 3 dargestellt. Insbesondere zeigt 2 einen Aufbau des Bridge-Controllers gemäß einer Ausführungsform der vorliegenden Offenbarung, und 3 zeigt Verbindungen zwischen dem Bridge-Controller und externen Geräten gemäß einer Ausführungsform der vorliegenden Offenbarung. Der Bridge-Controller 100 ist in einem FPGA eingebaut. Der Bridge-Controller umfasst einen Master-Stationsteil 102, einen Slave-Stationsteil 101 und einen GPMC-Bus 103.
-
Der Master-Stationsteil ist über den GPMC-Bus mit einer externen CPU verbunden. Der Slave-Stationsteil ist über den GPMC-Bus mit der externen CPU verbunden.
-
Der Master-Stationsteil ist über einen Netzwerktreiber-Chip 4003 mit einem Slave-Stationsgerät eines Drittanbieters verbunden.
-
Der Slave-Stationsteil ist über Netzwerktreiber-Chips 3005 und 3006 mit einem Master-Stationsgerät eines Drittanbieters verbunden.
-
Insbesondere handelt es sich bei den Netzwerktreiber-Chips um PHY-Chips.
-
Die Parallelrechenfähigkeit des FPGA gewährleistet das Senden und Empfangen von Datentabellen in Echtzeit durch Master- und Slave-Stationen und verringert die Abhängigkeit vom Betriebssystem und der CPU-Leistung.
-
Der Master-Stationsteil umfasst ein Master-Stations-Verarbeitungsmodul 1020, eine Master-Stationsuhr 1024, einen Master-Stations-Sendepuffer 1021, einen Master-Stations-Empfangspuffer 1023 und ein Master-Stations-Statusregister 1022.
-
Insbesondere bilden das Master-Stations-Verarbeitungsmodul 1020, der externe PHY-Chip 4003, ein Netzwerkisolationstransformator 4002 und eine EtherCAT-Busschnittstelle 4001 eine physikalische Ein-/Ausgangs-Master-Stationsverbindung des integrierten Bridge-Controllers 100, der als Master-Stationsgerät dient und ein sekundäres EtherCAT-Netzwerk mit einem oder mehreren EtherCAT-Slave-Stationsgeräten von Drittanbietern bildet. Die externe CPU schreibt über den GPMC-Bus Daten (die an ein Slave-Stationsgerät eines Drittanbieters gesendet werden sollen) in den Master-Stations-Sendepuffer 1021. Jedes Mal, wenn ein Datenpaket geschrieben wird, wird der Zähler des Sendepuffers (FIFO) im Statusregister 1022 um 1 erhöht; wenn der Zähler des Sendepuffers (FIFO) größer als 10 ist, bedeutet dies, dass der Sendepuffer (FIFO) voll ist und die CPU das Schreiben stoppt.
-
Entsprechend einer durch die Master-Stationsuhr festgelegten Sendeperiode für PDO-Daten (synchrones Datenpaket) liest das Master-Stations-Verarbeitungsmodul ein Datenpaket des Master-Stations-Sendepuffers 1021 und sendet es über die physikalische Sendeverbindung (4003, 4002, 4001) an ein Slave-Stationsgerät eines Drittanbieters. Jedes Mal, wenn das Master-Stations-Verarbeitungsmodul ein Datenpaket liest, wird der Sendepufferzähler um 1 verringert. Wenn die eingestellte PDO-Datensendeperiode ausgelöst wird, stoppt das Master-Stations-Verarbeitungsmodul, wenn der Sendepufferzähler 0 ist, das Senden von Daten und ein Sendefehlerzähler im Statusregister 1022 wird um 1 erhöht.
-
Das Master-Stations-Verarbeitungsmodul empfängt Daten von einem Slave-Stationsgerät eines Drittanbieters über die physikalische Empfangsverbindung (4001, 4002, 4003) und speichert die Daten im Master-Stations-Empfangspuffer (FIFO) 1023. Jedes Mal, wenn ein Datenpaket in den Master-Stations-Empfangspuffer (FIFO) geschrieben wird, wird der Empfangspufferzähler im Statusregister um 1 erhöht.
-
Die externe CPU liest den Wert des Empfangspufferzählers im Statusregister über den GPMC-Bus aus. Ist der Wert größer als 1, bedeutet dies, dass das Master-Stations-Verarbeitungsmodul ein vollständiges Datenpaket empfangen hat. Die externe CPU liest Datenpakete im Master-Stations-Empfangspuffer über den GPMC-Bus. Jedes Mal, wenn ein Datenpaket gelesen wird, wird der Empfangspufferzähler um 1 verringert. Wenn der Empfangspufferzähler gleich 0 ist, stoppt die CPU das Lesen.
-
Das Master-Stations-Statusregister 1022 umfasst einen Sendepufferzähler, einen Empfangspufferzähler, einen Fehlerzähler und einen Verbindungsstatus des PHY-Chips 4003. Darin zeichnet der Sendepufferzähler die Anzahl der Datenpakete im aktuellen Sendepuffer auf. Jedes Mal, wenn die CPU ein Datenpaket schreibt, wird der Sendepufferzähler um 1 erhöht. Jedes Mal, wenn das Slave-Stations-Verarbeitungsmodul ein Datenpaket liest, wird der Sendepufferzähler um 1 verringert. Der Empfangspufferzähler zeichnet die Anzahl der Datenpakete im aktuellen Empfangspuffer auf. Jedes Mal, wenn die CPU ein Datenpaket liest, wird der Empfangspuffer-Zähler um 1 verringert. Jedes Mal, wenn das Slave-Stations-Verarbeitungsmodul ein Datenpaket schreibt, wird der Empfangspuffer-Zähler um 1 erhöht. Der Fehlerzähler zeichnet die Anzahl der Fehler beim Senden/Empfangen von Datenpaketen durch das Slave-Stations-Verarbeitungsmodul auf. Der Verbindungsstatus des PHY-Chips 4003 zeichnet den aktuellen Verbindungsstatus des Netzwerkkabels auf. „1“ bedeutet, dass die Verbindung besteht, und „0“ bedeutet, dass keine Netzwerkverbindung besteht.
-
Die Master-Stationsuhr 1024 kann mit einer Uhr eines Drittanbieter-Slave-Stationsgeräts synchronisiert sein. Die externe CPU kann die PDO-Datenpaket-Sendeperiode des Master-Stations-Verarbeitungsmoduls über den GPMC-Bus einstellen und schreibt sie in ein Register der Master-Stationsuhr 1024. Wenn die Periode des eintreffenden PDO-Datenpakets kommt, veranlasst die Master-Stationsuhr 1024 das Master-Stations-Verarbeitungsmodul zum Senden eines PDO-Datenpakets.
-
Der Slave-Stationsteil umfasst ein Slave-Stations-Verarbeitungsmodul 1010, eine Slave-Stationsuhr 1014, einen Slave-Stations-Sendepuffer 1011, einen Slave-Stations-Empfangspuffer 1013 und ein Slave-Stations-Statusregister 1012.
-
Insbesondere bilden das Slave-Stations-Verarbeitungsmodul 1010, der PHY(Netzwerktreiber)-Chip 3005, ein Netzwerkisolationstransformator 3003 und eine EtherCAT-Busschnittstelle 3001 eine physikalische Eingangsverbindung der Slave-Station des integrierten Bridge-Controllers 100 für den Empfang von Datentabellen von einer EtherCAT-Master-Station eines Drittanbieters.
-
Das Slave-Stations-Verarbeitungsmodul 1010, der externe PHY-Chip 3006, ein Netzwerkisolationstransformator 3004 und eine EtherCAT-Busschnittstelle 3002 bilden eine physikalische Ausgangsverbindung der Slave-Station des integrierten Bridge-Controllers 100 zur Weiterleitung von Datentabellen von der Drittanbieter-EtherCAT-Master-Station an ein Slave-Stationsgerät der nächsten Ebene.
-
Das Slave-Stations-Verarbeitungsmodul 1010 komprimiert ein Datenpaket einer von der Drittanbieter-EtherCAT-Master-Station gesendeten Datentabelle, das mit der Adresse des Controllers übereinstimmt, in den Empfangspuffer (FIFO). Jedes Mal, wenn ein komplettes Datenpaket in den Empfangspuffer (FIFO) komprimiert wird, wird der Zähler des Empfangspuffers (FIFO) im Statusregister um 1 erhöht. Über den GPMC-Bus greift die externe CPU auf die Statusinformationen des Slave-Stations-Empfangspuffers (FIFO) zu und greift auf die Anzahl der Datenpakete im aktuellen Empfangspuffer (FIFO) zu. Wenn der Zähler des Empfangspuffers (FIFO) größer als 1 ist, liest die externe CPU Datenpakete über den GPMC-Bus. Jedes Mal, wenn ein Datenpaket gelesen wird, wird der Empfangspuffer-Zähler um 1 verringert. Die CPU beendet das Lesen erst, wenn der Wert des Empfangspuffer-Zählers 0 ist.
-
Die externe CPU schreibt Daten (die an eine Master-Station eines Drittanbieters gesendet werden sollen) über den GPMC-Bus in den Slave-Stations-Sendepuffer 1011. Jedes Mal, wenn ein Datenpaket geschrieben wird, wird der Zähler des Sendepuffers (FIFO) im Statusregister um 1 erhöht. Wenn der Zähler des Sendepuffers (FIFO) größer als 10 ist, bedeutet dies, dass der Sendepuffer (FIFO) voll ist und die CPU das Schreiben stoppt. Das Slave-Stations-Verarbeitungsmodul liest ein Datenpaket im Sendepuffer 1011, fügt es in das Datenpaket der Master-Station ein, das über die physikalische Empfangsverbindung (3001, 3003, 3005) eingegeben wird, und leitet das Datenpaket über die physikalische Sendeverbindung der Slave-Station (3006, 3004, 3002) an eine Slave-Station der nächsten Ebene weiter.
-
Die Slave-Stationsuhr 1014 ist mit der Drittanbieter-Master-Station und jeder EtherCAT-Slave-Station synchronisiert.
-
Das Slave-Stations-Statusregister 1012 umfasst einen Sendepufferzähler, einen Empfangspufferzähler, einen Fehlerzähler und die Verbindungsstatus der PHY-Chips 3005 und 3006. Darin registriert der Sendepufferzähler die Anzahl der Datenpakete des aktuellen Sendepuffers. Jedes Mal, wenn die CPU ein Datenpaket schreibt, wird der Sendepufferzähler um 1 erhöht. Jedes Mal, wenn das Slave-Stations-Verarbeitungsmodul ein Datenpaket liest, wird der Sendepufferzähler um 1 verringert. Der Empfangspufferzähler zeichnet die Anzahl der Datenpakete des aktuellen Empfangspuffers auf. Jedes Mal, wenn die CPU ein Datenpaket liest, wird der Empfangspuffer-Zähler um 1 verringert. Jedes Mal, wenn das Slave-Stations-Verarbeitungsmodul ein Datenpaket schreibt, wird der Empfangspuffer-Zähler um 1 erhöht. Der Fehlerzähler zeichnet die Anzahl der Fehler beim Senden/Empfangen von Datenpaketen durch das Slave-Stations-Verarbeitungsmodul auf. Die Verbindungsstatus der PHY-Chips 3005 und 3006 zeichnen die aktuellen Netzwerkkabel-Verbindungsstatus auf. „1“ bedeutet, dass die Verbindung besteht, und „0“ bedeutet, dass keine Netzwerkverbindung besteht.
-
Der GPMC-Bus umfasst einen Decoder 1031, einen unidirektionalen 16-Bit-Adressbus, einen bidirektionalen 16-Bit-Datenbus, ein GPMC-Bus-Steuersignal und einen Interrupt-Arbitration-Controller 1032. Das GPMC-Bus-Steuersignal umfasst ein Chip-Auswahlsignal nCS, ein Schreibsignal nWE und ein Lesesignal nOE, die mit niedrigem Pegel wirksam sind.
-
Insbesondere führt die externe CPU über den GPMC-Bus eine Lese- und Schreibsteuerung jedes Einheitenmoduls eines hybriden Industrie-Bridge-Controllers einer Master-Slave-Station aus. Der Interrupt-Arbitration-Controller 1032 aktiviert oder deaktiviert den hybriden Industrie-Bridge-Controller der Master-Slave-Station, um ein Interrupt-Signal an die CPU zu senden.
-
Der Decoder
1031 decodiert eine 16-Bit-Adresse, die von der externen CPU gesendet wird, und steuert die CPU, um die Lese- und Schreibsteuerung des Slave-Stations-Sendepuffers, des Slave-Stations-Empfangspuffers, des Slave-Stations-Statusregisters, der Slave-Stationsuhr, des Master-Stations-Sendepuffers, des Master-Stations-Empfangspuffers, des Master-Stations-Statusregisters und der Master-Stationsuhr durchzuführen. Die spezifischen Adressen sind in Tabelle 1 aufgeführt.
Tabelle 1 Adressdecodierung
Funktion | Adresse |
Slave- Stations- Sendepuffer | 0x0000∼0x0fff |
Slave-Stations-Empfangspuffer | 0x1000∼0x1fff |
Slave- Stations- Statusregister | 0x2000∼0x2fff |
Slave-Stationsuhr | 0x3000-0x3fff |
Master -Stations-Sendepuffer | 0x4000~0x4fff |
Master -Stations-Empfangspuffer | 0x5000~0x5fff |
Master -Stations- Statusregister | 0x6000~0x6fff |
Master -Stationsuhr | 0x7000~0x7fff |
-
Es ist zu beachten, dass die oben beschriebenen spezifischen Werte, wie etwa die auf die Zähler und die Adressen bezogenen Werte, der Veranschaulichung dienen und entsprechend den praktischen Gegebenheiten eingestellt und angepasst werden können.
-
Bei dem vorliegenden Verfahren hat der FPGA-basierte Bridge-Controller aufgrund der Paralleleigenschaft des FPGAs eine harte Echtzeitcharakteristik und eine Parallelfähigkeit. Somit gewährleistet das vorliegende Verfahren während der Steuerung eines Industriebusses das Senden und Empfangen von Daten in Echtzeit und verringert die Abhängigkeit von der CPU und dem Betriebssystem. Darüber hinaus kann der Bridge-Controller gegenüber einem Master-Stationsgerät eines Drittanbieters als Slave-Gerät und gleichzeitig gegenüber einem Slave-Stationsgerät eines Drittanbieters als Master-Gerät dienen. Das heißt, der Bridge-Controller kann das Drittanbieter-Master-Stationsgerät und das Drittanbieter-Slave-Stationsgerät miteinander Verbinden und sowohl als Master-Station als auch als Slave-Station dienen. Durch die Reihenschaltung von zwei oder mehr Bridge-Controllern kann die Verbindungstopologie-Schnittstelle zwischen dem Drittanbieter-Master-Stationsgerät und dem Drittanbieter-Slave-Stationsgerät geändert werden. Die aktuelle lineare Einzelkommunikation kann die Bridge-Controller als Verbindungsknoten verwenden, um eine Netzwerktopologie mit einer Baumstruktur aufzubauen, wodurch die Flexibilität der Netzwerktopologie verbessert, die Netzwerklast reduziert und die Zuverlässigkeit und Echtzeitleistung des Netzwerksystems verbessert wird.
-
Dritte Ausführungsform
-
Entsprechend dem oben beschriebenen Verfahren und der oben beschriebenen Vorrichtung gibt die vorliegende Offenbarung ferner ein Steuersystem an, das auf einem in eine Master-Slave-Station integrierten Bridge-Controller basiert. 4 zeigt eine Netzwerktopologie des Steuersystems auf der Grundlage eines in eine Master-Slave-Station integrierten Bridge-Controllers entsprechend einer Ausführungsform der vorliegenden Offenbarung. Unter Bezugnahme auf 4 umfasst das Steuersystem einen oder mehrere Bridge-Controller der zweiten Ausführungsform, ein Master-Stationsgerät eines Drittanbieters, ein oder mehrere Slave-Stationsgeräte eines Drittanbieters und externe CPUs zur Steuerung der Bridge-Controller.
-
Das Drittanbieter-Master-Stationsgerät ist mit den Slave-Stationsteilen der Bridge-Controller verbunden, die Drittanbieter-Slave-Stationsgeräte sind kommunikativ mit den Master-Stationsteilen der Bridge-Controller verbunden, und die externen CPUs sind über die GPMC-Busse kommunikativ mit den Master-Stationsteilen oder den Slave-Stationsteilen verbunden.
-
Insbesondere kann ein EtherCAT-Master-Stationsgerät eines Drittanbieters an ein Master-Slave-Stations-Hybridsystem angeschlossen werden, das aus einem oder mehreren Bridge-Controllern besteht, die über einen EtherCAT-Bus in Reihe geschaltet sind, und jeder Bridge-Controller kann mit einem oder mehreren EtherCAT-Slave-Stationsgeräten eines Drittanbieters in Reihe geschaltet werden, wodurch sich die Netzwerktopologie des Systems ändert.
-
In der vorliegenden Ausführungsform verfügt ein EtherCAT-Master-Stationsgerät eines Drittanbieters über eine große Flexibilität bei der Erweiterung der Slave-Stationsgeräte, reduziert die Netzwerklast, verbessert die Flexibilität der Netzwerktopologie und verbessert die Effizienz und Stabilität beim Senden und Empfangen von Datentabellen. Darüber hinaus ist ein Bridge-Controller mit einem oder mehreren EtherCAT-Slave-Stationsgeräten eines Drittanbieters in Reihe geschaltet. Aufgrund der FPGA-basierten Steuerungsstrategie in harter Echtzeit wird der Verarbeitungsdruck der CPU stark reduziert. Darüber hinaus gewährleistet die im FPGA implementierte Uhrensynchronisation das Senden und Empfangen von Datentabellen in Echtzeit durch die Master-Station und reduziert die Abhängigkeit vom Betriebssystem und der CPU-Leistung.
-
Vierte Ausführungsform
-
Entsprechend dem oben beschriebenen Verfahren gibt die vorliegende Offenbarung ferner ein lesbares Speichermedium an. Das nachfolgend beschriebene lesbare Speichermedium kann sich auf das oben beschriebene Steuerverfahren des in eine EtherCAT-Master-Slave-Station integrierten Bridge-Controllers beziehen.
-
Auf dem lesbaren Speichermedium ist ein Computerprogramm gespeichert. Das Computerprogramm setzt bei Ausführung durch einen Prozessor die Schritte des oben beschriebenen Steuerverfahrens des in eine EtherCAT-Master-Slave-Station integrierten Bridge-Controllers um.
-
Das lesbare Speichermedium kann ein USB-Flash-Laufwerk, eine mobile Festplatte, ein ROM (Read-Only Memory), ein RAM (Random Access Memory), eine Magnetplatte, eine optische Platte oder ein anderes lesbares Speichermedium sein, das Programmcodes speichern kann.
-
Der Fachmann erkennt, dass die beispielhaften Einheiten und Algorithmusschritte, die in Verbindung mit den in der Beschreibung offenbarten Ausführungsformen beschrieben werden, mittels elektronischer Hardware, Computersoftware oder einer Kombination davon implementiert werden können. Um die Austauschbarkeit von Hard- und Software klar zu veranschaulichen, sind der Aufbau und die Schritte jeder Ausführungsform in der vorstehenden Beschreibung im Allgemeinen nach Funktionen beschrieben. Ob diese Funktionen durch Hardware oder Software erreicht werden, hängt von den spezifischen Anwendungen und den Designbeschränkungen der technischen Lösung ab. Der Fachmann kann verschiedene Verfahren verwenden, um die oben beschriebenen Funktionen für jede spezifische Anwendung umzusetzen, aber eine solche Umsetzung sollte nicht als über den Umfang der vorliegenden Offenbarung hinausgehend betrachtet werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-