HINKELMANN HORST (DE)
FRITZSCHE KLAUS (DE)
HINKELMANN HORST (DE)
WO2006006106A1 | 2006-01-19 |
EP1467557A1 | 2004-10-13 | |||
US5903613A | 1999-05-11 | |||
US5727006A | 1998-03-10 | |||
US5748902A | 1998-05-05 | |||
JPS59204336A | 1984-11-19 |
Patentansprüche
1. Verfahren zum Konfigurieren eines Slave-Knotens an einem differentiellen Zweidrahtbus mit einer Empfangsleitung und einer Sendeleitung in Bezug auf die Polarität des
Zweidrahtbusses, bei dem an dem Slave-Knoten die folgenden
Schritte durchgeführt werden:
Erfassen (Sl) einer Synchronisationsperiode von einem Master-Knoten, in der keine Nutzdaten übertragen werden; Prüfen (S2, S3) eines Pegels auf der Empfangsleitung des Zweidrahtbusses während der Synchronisationsperiode im
Vergleich zu einem Referenzpegel der Empfangsleitung für die Synchronisationsperiode; und Invertieren (S4) der Polarität des Zweidrahtbusses an dem Slave-Knoten, wenn der Pegel auf der Empfangsleitung ungleich dem Referenzpegel ist.
2. Verfahren gemäß Anspruch 1, bei dem die Synchronisationsperiode durch Ablauf einer vorbestimmten Zeitgeberdauer nach Bestimmung eines Rahmenfehlers, wenn der Bus bei Inbetriebnahme des Slave-Knotens inaktiv ist, oder nach Empfang von Nutzdaten erfasst wird.
3. Verfahren gemäß Anspruch 2, wobei die vorbestimmte
Zeitgeberdauer kürzer ist als eine vorbestimmte Länge der Synchronisationsperiode .
4. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem die Polarität des Busses invertiert wird, indem der
Pegel auf der Empfangsleitung und der Pegel auf der Sendeleitung invertiert werden.
5. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei der differentielle Zweidrahtbus ein RS-485-Bus ist.
6. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei der differentielle Zweidrahtbus gemäß Transistor- Transistor-Logik betrieben wird.
7. Busschnittstelle für einen Slave-Knoten an einem differentiellen Zweidrahtbus mit einer Empfangsleitung
(RxD) und einer Sendeleitung (TxD) , wobei die
Busschnittstelle eingerichtet ist, den Slave-Knoten in Bezug auf die Polarität des Zweidrahtbusses zu konfigurieren, mit einer Erfassungseinrichtung (2) zum Erfassen einer
Synchronisationsperiode von einem Master-Knoten, in der keine Nutzdaten übertragen werden; einer Pegelprüfeinrichtung (4) zum Prüfen eines Pegels auf der Empfangsleitung des Zweidrahtbusses während der
Synchronisationsperiode im Vergleich zu einem Referenzpegel der Empfangsleitung für die Synchronisationsperiode; und einer Invertiereinrichtung (5) zum Invertieren der Polarität des Zweidrahtbusses an dem Slave-Knoten, wenn der
Pegel auf der Empfangsleitung ungleich dem Referenzpegel ist .
8. Busschnittstelle gemäß Anspruch 7, zusätzlich mit einem Zeitgeber (6) zum Erfassen der Synchronisationsperiode durch Ablauf einer vorbestimmten Zeitgeberdauer nach Bestimmung eines Rahmenfehlers, wenn der Bus bei Inbetriebnahme des Slave-Knotens inaktiv ist, oder nach Empfang von Nutzdaten.
9. Busschnittstelle gemäß Anspruch 8, wobei die vorbestimmte Zeitgeberdauer kürzer ist als eine vorbestimmte Länge der Synchronisationsperiode.
10. Busschnittstelle gemäß einem der Ansprüche 7 bis 9, bei der die Invertiereinrichtung (5) aufweist: ein Exklusiv-ODER-Gatter, dessen Eingänge die Empfangsleitung (RxD) und eine Invertierleitung (INV) sind, und ein Exklusiv-ODER-Gatter, dessen Eingänge die Sendeleitung (TxD) und die Invertierleitung (INV) sind.
11. Busschnittstelle gemäß Anspruch 10, wobei die Invertiereinrichtung eingerichtet ist, die Polarität des
Busses zu invertieren, indem der Pegel der Invertierleitung invertiert wird.
12. Busschnittstelle gemäß einem der Ansprüche 7 bis 11, wobei der differentielle Zweidrahtbus ein RS-485-Bus ist.
13. Busschnittstelle gemäß einem der Ansprüche 7 bis 12, wobei der differentielle Zweidrahtbus gemäß Transistor- Transistor-Logik betrieben wird. |
KONFIGURATION EINES SLAVE-KNOTENS IN BEZUG AUF DIE
POLARITäT EINES DIFFERENTIELLEN ZWEIDRAHTBUSSES
Die Erfindung bezieht sich auf die Konfiguration eines Slave-Knotens in Bezug auf die Polarität eines differentiellen Zweidrahtbusses, an den der Slave-Knoten angeschlossen ist, und insbesondere auf ein Verfahren zum Konfigurieren des Slave-Knotens sowie eine Busschnittstelle für den Slave-Knoten.
Im Stand der Technik sind zur Verbindung von (Mikro-) Controllern und/oder Eingangs-/Ausgangsmodulen verschiedener zu vernetzender Komponenten Bussysteme bekannt. Bekanntermaßen können Bussysteme nach dem Master- Slave-Prinzip betrieben werden, gemäß dem ein Slave-Knoten von sich aus nicht auf das gemeinsame Medium zugreifen darf oder kann und warten muss, bis er von dem (oder einem der) Master-Knoten gefragt wird.
Bei bekannten Bussystem kann zwischen massebezogenen und differentiellen Bussen unterschieden werden, wobei die Informationen bei einem massebezogenen Bus als ein Spannungspegel auf einer Leitung gegenüber dem Massepegel auf einer anderen Leitung des Busses kodiert werden und bei einem differentiellen Bus als eine Spannungsdifferenz zwischen Spannungspegeln auf verschiedenen Leitungen des Busses kodiert werden. Ein Beispiel für einen massebezogenen Bus ist ein RS-232- bzw. EIA-232-Bus. Ein
Beispiel für einen differentiellen Bus ist ein RS-485- bzw. EIA-485-Bus.
Insbesondere bei einem differentiellen Bus mit zwei Leitungen, d.h. einem differentiellen Zweidrahtbus, ist die
Polarität der beiden Leitungen entscheidend für die richtige Dekodierung der übertragenen Informationen. Daher müssen dessen Leitungen, die üblicherweise mit + und - gekennzeichnet sind, stets polaritätsrichtig angeschlossen werden.
Es ist folglich ein Nachteil des Standes der Technik, dass die Installation solcher differentieller Busse schwierig und fehleranfällig ist.
Dementsprechend liegt der Erfindung die Aufgabe zu Grunde, ein Verfahren und eine Busschnittstelle für einen Slave- Knoten zu schaffen, die es ermöglichen, einen differentiellen Zweidrahtbus mit beliebiger Polarität zu betreiben.
Die Aufgabe wird erfindungsgemäß mit dem Verfahren gemäß Patentanspruch 1 und der Busschnittstelle gemäß Patentanspruch 7 gelöst.
Weitere vorteilhafte Ausführungsbeispiele der Erfindung sind in den abhängigen Patentansprüchen dargelegt.
Es ist ein Vorteil der Erfindung, dass bei der Installation eines differentiellen Zweidrahtbusses keine Rücksicht auf dessen Polarität genommen werden muss, der Bus also mit beliebiger Polarität betrieben werden kann.
Durch die Erfindung werden die Probleme des Standes der Technik dahingehend gelöst, dass eine Verdrahtung von
Bussystem erleichtert wird und die Fehlerbehebung im Falle einer Fehlverdrahtung vermieden wird.
Gemäß einem Aspekt der Erfindung wird mit Hilfe eines Zeitgeberablaufs eine Synchronisationsperiode eines Master-
Knotens erfasst, was auf einfache und effiziente Weise implementiert werden kann.
Gemäß einem Aspekt der Erfindung werden die Pegel auf der Empfangsleitung sowie der Sendeleitung des Busses durch jeweilige Exklusiv-ODER-Gatter invertiert. Diese Implementierung ist aufgrund ihrer geringen Komplexität vorteilhaft und kann auf einfache Weise an die dem System zu Grunde liegende Logikfamilie (zum Beispiel Transistor- Transistor-Logik) angepasst werden.
Im Folgenden werden bevorzugte Ausführungsbeispiele der Erfindung unter Bezugnahme auf die Zeichnung ausführlicher beschrieben. Dabei zeigen:
Figur 1 ein schematisches Blockschaltbild der Busschnittstelle eines Slave-Knotens gemäß einem Ausführungsbeispiel der Erfindung,
Figur 2 ein Ablaufdiagramm eines Verfahrens gemäß einem Ausführungsbeispiel der Erfindung, und
Figur 3 beispielhafte Zeitabläufe eines Verfahrens gemäß einem Ausführungsbeispiel der Erfindung.
Gemäß Figur 1 ist der Anschluss eines differentiellen Zweidrahtbusses (+, -) wie etwa eines RS-485-Busses an einem Slave-Knoten 2 wie etwa einem (Mikro-) Controller oder einem E/A-Modul veranschaulicht. Der Anschluss erfolgt über einen entsprechenden Bustreiber 1, der über eine Leitung DE die Freigabe zum Senden von Daten auf den Bus für den Slave-Knoten 2 steuert. Mit RxD ist in Figur 1 die Empfangsleitung bezeichnet und mit TxD ist in Figur 1 die Sendeleitung bezeichnet. Bei den hier und im Folgenden beschriebenen Ausführungsbeispielen liegt eine
Implementierung gemäß Transistor-Transistor-Logik (TTL) zu Grunde, obgleich die Erfindung nicht darauf beschränkt ist.
Die erfindungsgemäße Busschnittstelle ist strukturell zwischen einem physikalischen Kabelanschluss bzw. dem Bustreiber und einem UART, d.h. einem universellen asynchronen Sender-Empfänger im Slave-Knoten angeordnet.
Die erfindungsgemäße Busschnittstelle 2 umfasst eine Erfassungseinrichtung 3, die eine Synchronisationsperiode eines Master-Knotens erfasst, d.h. eine Periode, in der der Sender des Master-Knotens aktiviert ist, aber keine Nutzdaten überträgt. Eine solche Synchronisationsperiode erfolgt nach Inbetriebnahme des Master-Knotens, nachdem dieser die Signalpolarität eingestellt hat, sowie periodisch, zum Beispiel einmal pro Sekunde. Die Dauer dieser Periode beträgt zum Beispiel etwa 30 ms.
Gemäß einem Aspekt der Erfindung wird die Synchronisationsperiode mit Hilfe eines Zeitgebers 6 erfasst, der mit der Erfassungseinrichtung verbunden ist. Dazu wird der Zeitgeber 6 auf eine vorbestimmte Zeitgeberdauer eingestellt, die kürzer ist als die Länge der Synchronisationsperiode, zum Beispiel etwa 20 ms. Der Zeitgeber wird gestartet bzw. neu gestartet, wenn der
Slave-Knoten in Betrieb genommen wird, wenn Daten empfangen werden, oder wenn ein Rahmenfehler auftritt (siehe Figur 3) . Eine Synchronisationsperiode wird demnach erfasst, wenn für die eingestellte Zeitgeberdauer keine Nutzdaten empfangen werden.
Die erfindungsgemäße Busschnittstelle umfasst ferner eine Pegelprüfeinrichtung 4, die aktiviert wird, wenn die Erfassungseinrichtung eine Synchronisationsperiode erfasst, und mit der Erfassungseinrichtung 3 verbunden ist. Die
Pegelprüfeinrichtung 4 prüft den Pegel auf der Empfangsleitung RxD in der Synchronisationsperiode im Vergleich zu einem Referenzpegel, der während der Synchronisationsperiode in Abhängigkeit von der verwendeten Logikfamilie erwartet wird. Im Fall der TTL-Logikfamilie wird in der Synchronisationsperiode ohne Nutzdatenübertragung zum Beispiel ein hoher Pegel erwartet.
Ferner umfasst die erfindungsgemäße Busschnittstelle eine Invertiereinrichtung 5, die in Figur 1 exemplarisch durch den gestrichelten Kasten angedeutet ist. Ist der geprüfte Pegel ungleich dem erwarteten Referenzpegel, invertiert die Invertiereinrichtung 5 die Polarität des Zweidrahtbusses an dem Slave-Knoten 2.
Gemäß einem Aspekt der Erfindung erfolgt die Invertierung der Buspolarität durch Invertierung der Pegel sowohl auf der Empfangsleitung RxD als auch auf der Sendeleitung TxD. Bei dem gemäß Figur 1 veranschaulichten Ausführungsbeispiel wird eine solche Invertierung durch zwei Exklusiv-ODER-
Gatter (auch bekannt als Antivalenzgatter) implementiert, die als einen Eingang jeweils die Empfangs- bzw. Sendeleitung und als anderen, gemeinsamen Eingang eine Invertierleitung INV haben. Zur Invertierung der Polarität wird der Pegel der Invertierleitung INV durch die
Invertiereinrichtung 5 invertiert, d.h. bei TTL von einem niedrigem auf einen hohen Pegel gebracht.
Es ist zu beachten, dass Figur 1 nur zum Verständnis der Erfindung erforderliche Teile des Slave-Knotens 2 zeigt. Zum Beispiel sind Sender und Empfänger nicht gezeigt.
Gemäß Figur 2 ist ein grundlegendes Ablaufdiagramm eines Konfigurationsverfahrens gemäß einem Ausführungsbeispiel
der Erfindung veranschaulicht, das an einem Slave-Knoten in dessen Busschnittstelle durchgeführt wird.
Nach Erfassung einer Synchronisationsperiode in Schritt Sl wird in Schritt S2 ein auf der Empfangsleitung RxD anliegender Pegel im Vergleich zu einem erwarteten Referenzpegel geprüft. Ist der geprüfte Pegel ungleich dem Referenzpegel („Nein" in Schritt S3) wird die Buspolarität invertiert (Schritt S4), zum Beispiel durch Invertieren der Pegel auf der Empfangs- und der Sendeleitung. Anschließend werden, wie auch im Fall der Gleichheit von geprüftem Pegel und Referenzpegel („Ja" in Schritt S3) , Nutzdaten empfangen (Schritt S5) . Das Verfahren wird fortlaufend durchgeführt, was in Figur 2 durch den Pfeil von Schritt S5 zu Schritt Sl angedeutet ist, wodurch aufgrund der Periodizität der
Synchronisationsperiode auch die Pegelprüfung periodisch bei jedem Zeitgeberablauf erfolgt.
Gemäß Figur 3 sind drei beispielhafte Zeitabläufe eines Konfigurationsverfahrens gemäß einem Ausführungsbeispiel der Erfindung veranschaulicht. Allen drei Abläufen geht die Einstellung der Signalpolarität auf dem Bus durch den Master-Knoten sowie eine erste Synchronisationsperiode nach dessen Inbetriebnahme voraus.
Der erste Ablauf, der mit a) bezeichnet ist, veranschaulicht einen Fall, bei dem der Bus bei Inbetriebnahme des Slave-Knotens inaktiv ist.
Zum Inbetriebnahmezeitpunkt tθ werden die Pfade des Senders und Empfängers am Slave-Knoten in der normalen Betriebsart initialisiert. Demzufolge ist aufgrund der störungssicheren Eigenschaft bei der TTL-Logikfamilie die Ausgabe des Empfängers an der Empfangsleitung RxD bei inaktivem Bus auf einem hohen Pegel. Zum Zeitpunkt tl wird ein Zeitgeber mit
vorbestimmter Zeitgeberdauer T gestartet, um eine Synchronisationsperiode zu erfassen. Bei Ablauf der Dauer T bei t2 wird der Pegel der Empfangsleitung und damit die Polarität des Busses überprüft, und bei dem dargestellten Beispiel für ordnungsgemäß befunden.
Zum Zeitpunkt t3 startet der Master-Knoten erneut eine Synchronisationsperiode Sync, d.h. der Master-Knoten aktiviert seinen Sender zum Senden im Leerlaufmodus, also ohne Nutzdatenübertragung. Dabei sendet der Master-Knoten ein Byte, das bei dem dargestellten Beispiel eine inverse, d.h. verkehrte, Polarität aufweist. Dies führt dazu, dass während der Synchronisationsperiode Sync am Slave-Knoten ein niedriger Pegel auf der Empfangsleitung anliegt, obwohl dieser gemäß der TTL-Logikfamilie hoch sein sollte. Das von dem Master-Knoten gesendete Byte wird zum Zeitpunkt t4 am Slave-Knoten mit einem Rahmenfehler empfangen und daher ignoriert. Bei t4 wird aufgrund des Byteempfangs erneut ein Zeitgeber mit der Dauer T gestartet. Bei dessen Ablauf zum Zeitpunkt t5 wird wiederum der Pegel auf der
Empfangsleitung im Vergleich zu dem erwarteten hohen Pegel gemäß TTL-Logikfamilie geprüft. Dabei wird festgestellt, dass der Pegel ungleich dem erwarteten Referenzpegel ist, und daraus gefolgert, dass die Polarität des Busses verkehrt ist, woraufhin diese wie vorstehend beschrieben geändert wird, zum Beispiel durch Erhöhen des Pegels der Invertierleitung INV gemäß Figur 1 auf einen hohen Pegel.
Nach Ende der Master-Synchronisationsperiode zum Zeitpunkt t6 sendet der Master-Knoten eine Nutzdatennachricht, die durch die vorherige Invertierung der Buspolarität am Slave- Knoten ordnungsgemäß empfangen wird, obwohl die Leitungen des Zweidrahtbusses verkehrt angeschlossen sind.
Der zweite Ablauf, der mit b) bezeichnet ist, veranschaulicht einen Fall, bei dem der Bus bei Inbetriebnahme des Slave-Knotens aktiv ist. Das heißt, dass bei Inbetriebnahme des Slave-Knotens bei tθ' Nutzdaten in Form von Nachrichten auf dem Bus übertragen werden.
Alle empfangenen Bytes werden am Slave-Knoten (ungeachtet des Vorliegens von Rahmenfehlern) ignoriert, bevor das erste Mal ein Zeitgeberablauf stattgefunden hat, d.h. bevor ein erstes Mal eine Master-Synchronisationsperiode Sync erfasst wurde. In Figur 3 ist dies zwischen den Zeitpunkten tθ' und tl' bzw. t2' der Fall.
Wie vorstehend beschrieben wird nach jedem Datenempfang der Zeitgeber neu gestartet, wobei in Figur 2 der erste
Zeitgeberablauf nach der Zeitgeberdauer T zum Zeitpunkt t2' erfolgt. Zum Zeitpunkt t2' wird der Pegel der Empfangsleitung bzw. die Polarität des Busses geprüft, indem der anliegende Pegel (hier hoch) mit dem erwarteten Referenzpegel (hier hoch, wegen TTL) verglichen wird. Da der geprüfte Pegel bei t2' mit dem Referenzpegel übereinstimmt, ist keine Inversion der Pegel bzw. Polarität notwendig, d.h. der Pegel der Invertierleitung INV bleibt niedrig. Der Empfang von Nutzdatennachrichten, die von dem Master-Knoten nach Ende der Synchronisationsperiode Sync zum Zeitpunkt t3' gesendet werden, ist ordnungsgemäß möglich .
Der dritte Ablauf, der mit c) bezeichnet ist, veranschaulicht ebenfalls einen Fall, bei dem der Bus bei Inbetriebnahme des Slave-Knotens aktiv ist.
Anders als bei dem mit b) bezeichneten Ablauf wird bei diesem Fall nach abgelaufener Zeitgeberdauer T zum Zeitpunkt t2'' festgestellt, dass der anliegende Pegel auf
der Empfangsleitung (hier niedrig) nicht gleich dem Referenzpegel (hier hoch, wegen TTL) ist, weshalb bei t2'' der RxD-Pegel ebenso wie der TxD-Pegel, und somit auch die Polarität des Busses, invertiert wird. Dies erfolgt gemäß einem vorstehend beschriebenen Aspekt der Erfindung durch Anlegen eines hohen Pegels auf der Invertierleitung INV, die einen Eingang von beiden in Figur 1 gezeigten Exklusiv- ODER-Gattern bildet. Durch die Polaritätsinvertierung ist der Slave-Knoten in der Lage, die nach Ende der Sync- Periode zum Zeitpunkt t3' ' gesendete Nutzdatennachricht ordnungsgemäß zu empfangen, obwohl die Leitungen des Zweidrahtbusses verkehrt angeschlossen sind.
Zusammenfassend wird von dem Slave-Knoten der Zeitpunkt des Zeitgeberablaufs, d.h. die Erfassung einer
Synchronisationsperiode des Master-Knotens dazu genutzt, sich an die Polarität des Busses anzupassen.
Obwohl die Erfindung und ihre Ausführungsbeispiele vorstehend beispielhaft unter der Annahme der Verwendung der TTL-Logikfamilie beschrieben ist, ist sie gleichermaßen auf die Verwendung anderer Logikfamilien anwendbar. Ebenso ist die Erfindung auf jeden differentiellen Zweidrahtbus anwendbar, auch wenn die vorstehend beschriebenen Ausführungsbeispiele beispielhaft auf den RS-485-Bus bezogen sind.