-
Die
vorliegende Erfindung betrifft eine Schaltungsanordnung, in der
ein erster Mikroprozessor mit einem ersten Taktgeber und ein zweiter
Mikroprozessor zeitlich aufeinander abgestimmte Abläufe durchführen. Insbesondere
betrifft die Erfindung eine solche Schaltungsanordnung, die der Überwachung
eines Lichtgitters und/oder der Implementierung wenigstens einer
sicherheitskritischen Funktion in einem Lichtgitter dient.
-
In
der Sicherheitstechnik ist es prinzipiell bekannt, sicherheitskritische
Funktionen mit einer zweikanaligen Struktur auszubilden oder sicherheitskritische
Tests mit einer zweikanaligen Struktur auszuwerten, wobei jeder
Kanal typischerweise durch einen Mikroprozessor realisiert wird,
der über
einen Taktgeber verfügt.
-
Solche
mit einer zweikanaligen Struktur ausgewerteten Tests werden bekanntermaßen zur Überwachung
von Hardwarekomponenten, beispielsweise in einem Lichtgitter, eingesetzt
und erfordern eine Interaktion beider Kanäle bzw. Mikroprozessoren durch
geeignete Interaktionsmechanismen. Je nach Art der Interaktionsmechanismen
zwischen den Kanälen
kann eine hohe Genauigkeit in der zeitlichen Abstimmung der in den
Mikroprozessoren stattfindenden Abläufe erforderlich sein.
-
Um
eine solche zeitliche Abstimmung zu gewährleisten ist es prinzipiell
bekannt, jedem der zwei Mikroprozessoren einen Quarzbaustein als
Taktgeber zuzuweisen, wobei beide Quarzbausteine die gleiche Taktrate
aufweisen.
-
Bei
einer solchen Schaltungsanordnung entstehen durch die Notwendigkeit
zweier Quarzbausteine höhere
Herstellungskosten und der Platzbedarf ist erhöht.
-
Die
Genauigkeit der Taktdauer eines Quarzbausteins ist begrenzt und
variiert mit unterschiedlichen Einflussgrößen wie zum Beispiel Temperatur oder
Alter, sodass nur eine begrenzte Genauigkeit der zeitlichen Abstimmung
der Abläufe
der Mikroprozessoren gewährleistet
werden kann, insbesondere wenn die beiden Quarzbausteine unterschiedlichen Einflüssen, zum
Beispiel unterschiedlichen Temperaturen, ausgesetzt sind.
-
Der
Erfindung liegt deshalb die Aufgabe zugrunde, eine Schaltungsanordnung
mit einem ersten und einem zweiten Mikroprozessor zu schaffen, die eine
erhöhte
Genauigkeit der zeitlichen Abstimmung von in den Mikroprozessoren
stattfindenden Abläufen
gewährleistet
und darüber
hinaus mit verringertem Aufwand und verringerten Kosten bereitgestellt werden
kann.
-
Zur
Lösung
dieser Aufgabe ist eine Schaltungsanordnung mit den Merkmalen des
Anspruchs 1 vorgesehen.
-
Die
erfindungsgemäße Schaltungsanordnung
umfasst einen ersten Mikroprozessor mit einem ersten Taktgeber und
einen zweiten Mikroprozessor, wobei der erste Mikroprozessor konfiguriert
ist, um ein erstes Ereignis zu erzeugen und nach Ablaufen einer
vorgegebenen Referenzanzahl von auf das erste Ereignis folgenden
Taktzyklen des ersten Taktgebers ein zweites Ereignis zu erzeugen.
Der erste Taktgeber ist vorzugsweise in den ersten Mikroprozessor
integriert. Der zweite Mikroprozessor ist konfiguriert, um die Zeitdifferenz
zwischen dem ersten und dem zweiten Ereignis mit einer Zeitmesseinrichtung
zu messen und wenigstens ein Signal zu senden und dabei den Sendezeitpunkt
des wenigstens einen Signals in Abhängigkeit von dem Ergebnis der Messung
der Zeitdifferenz zwischen dem ersten und dem zweiten Ereignis so
festzulegen, dass der zeitliche Abstand zwischen dem zweiten Ereignis
und dem Sendezeitpunkt des wenigstens einen Signals der Dauer einer
vorgegebenen Anzahl von Taktzyklen des ersten Taktgebers entspricht.
-
Durch
eine solche Schaltungsanordnung wird gewährleistet, dass das Senden
des wenigstens einen Signals durch den zweiten Mikroprozessor zeitlich
auf die Abläufe
in dem ersten Mikroprozessor abgestimmt ist. Da der erste Taktgeber
den ersten Mikroprozessor betaktet, werden zeitliche Abläufe im ersten
Mikroprozessor durch den ersten Taktgeber bzw. durch die Dauer eines
Taktzyklus des ersten Taktgebers bestimmt. Die zeitliche Abstimmung
zwischen dem wenigstens einen Signal und den Abläufen im ersten Mikroprozessor
wird somit erfindungsgemäß dadurch
erreicht, dass der Sendezeitpunkt des wenigstens einen vom zweiten
Mikroprozessor gesendeten Signals so angepasst ist, dass sein zeitlicher
Abstand von dem zweiten Ereignis, das von dem ersten Mikroprozessor
erzeugt wird, einer vorgegebenen Anzahl von Taktzyklen des ersten
Taktgebers entspricht.
-
Diese
Anpassung des Sendezeitpunkts des wenigstens einen Signals an die
Dauer eines bzw. mehrerer Taktzyklen des ersten Taktgebers wird
dadurch gewährleistet,
dass der zweite Mikroprozessor eine Messung der Zeitdifferenz zwischen
dem ersten und dem zweiten vom ersten Mikroprozessor erzeugten Ereignis
durchführt,
wobei diese Zeitdifferenz der Dauer einer vorgegebenen Referenzanzahl
von Taktzyklen des ersten Mikroprozessors entspricht.
-
Dadurch,
dass diese Referenzanzahl von Taktzyklen des ersten Mikroprozessors
vorgegeben und somit dem zweiten Mikroprozessor bekannt ist, kann
der zweite Mikroprozessor die von ihm zwischen dem ersten und dem
zweiten Ereignis gemessene Zeit zu der bekannten Referenzanzahl
der am ersten Mikroprozessor in derselben Zeit abgelaufenen Taktzyklen
ins Verhältnis
setzen bzw. der zweite Mikroprozessor erlangt mit anderen Worten
durch die Messung eine Information über dieses Verhältnis.
-
Unter
Verwendung dieses Verhältnisses
ermittelt der zweite Mikroprozessor im Rahmen der Festlegung des
Sendezeitpunkts des wenigstens einen Signals, welche an der Zeitmesseinrichtung
des zweiten Mikroprozessors gemessene Zeit der Dauer der vorgegebenen
Anzahl von Taktzyklen des ersten Taktgebers entspricht, und sendet
das wenigstens eine Signal, sobald die Zeitmesseinrichtung des zweiten
Mikroprozessor das Verstreichen dieser Zeit nach dem zweiten Ereignis
misst.
-
Auf
diese Weise wird gewährleistet,
dass der zeitliche Abstand zwischen dem zweiten Ereignis und dem
Sendezeitpunkt des wenigstens einen Signals der Dauer der vorgegebenen
Anzahl von Taktzyklen des ersten Taktgebers entspricht.
-
Hierbei
kann davon ausgegangen werden, dass sich innerhalb des Zeitraums
zwischen dem ersten Ereignis und dem Senden des wenigstens einen
Signals die Dauer eines Taktzyklus des ersten Taktgebers sowie auch
die Genauigkeit der Zeitmessung der Zeitmesseinrichtung des zweiten
Mikroprozessors, zum Beispiel aufgrund von Temperaturschwankungen
oder Ähnlichem,
allenfalls unwesentlich verändert.
Dies ist insbesondere deshalb gerechtfertigt, da sinnvolle Zeitabstände zum
Beispiel im Bereich von 100 μs
liegen und in so kurzer Zeit in der Regel keine wesent liche Veränderung
eines Einflussfaktors wie zum Beispiel Alterung oder Temperatur
eintritt.
-
Durch
eine Schaltungsanordnung gemäß der vorliegenden
Erfindung wird also gewährleistet, dass
das Senden wenigstens eines Signals durch den zweiten Mikroprozessor
zeitlich auf Abläufe
in dem ersten Mikroprozessor abgestimmt ist.
-
Die
Schaltungsanordnung der vorliegenden Erfindung ist besonders dafür geeignet,
wiederholt und insbesondere in gleich bleibenden zeitlichen Abständen in
dem ersten Mikroprozessor Ereignisse zu generieren und jeweils darauf
folgend das zeitlich abgestimmte Senden von mindestens einem Signal durch
den zweiten Mikroprozessor wie voranstehend beschrieben zu bewirken,
um zum Beispiel eine kontinuierliche Überwachung eines Lichtgitters
zu ermöglichen.
Die Erfindung umfasst dementsprechend Schaltungsanordnungen, in
denen ein erster Mikroprozessor konfiguriert ist, um in regelmäßigen Abständen zwei
Ereignisse zu generieren und ein zweiter Mikroprozessor konfiguriert
ist, um jeweils die zeitliche Differenz zwischen den jeweiligen
zwei Ereignissen zu messen und auf Grundlage des Messergebnisses
wenigstens ein zeitlich auf einen Taktgeber des ersten Mikroprozessors
abgestimmtes Signal zu senden.
-
Die
Erfindung umfasst ferner Ausführungsformen,
in denen der zweite Mikroprozessor konfiguriert ist, um unter bestimmten
Bedingungen die zeitliche Differenz zwischen einem ersten und einem zweiten
von einem ersten Mikroprozessor erzeugten Ereignis zu messen und
ansonsten jeweils auf einen gespeicherten Messwert der Zeitdifferenz
aus einer vorhergehenden Messung der Zeitdifferenz zwischen einem
früheren
ersten und einem früheren
zweiten Ereignis zurückzugreifen,
um wenigstens ein zeitlich auf den ersten Taktgeber abgestimmtes
Signal zu senden. Zur Spei cherung eines Messwertes weist die Schaltungsanordnung
bei einer solchen Ausbildung der Erfindung eine Speichereinrichtung
auf, insbesondere eine in dem zweiten Mikroprozessor integrierte
Speichereinrichtung.
-
Generell
kann ein von dem zweiten Mikroprozessor gesendetes und erfindungsgemäß zeitlich auf
die Abläufe
in dem ersten Mikroprozessor abgestimmtes Signal einen beliebigen
für die
jeweilige Verwendung geeigneten Zeitverlauf aufweisen und unter
anderem auch nur aus einem Puls bestehen, der beispielsweise als
Testpuls dienen kann.
-
Durch
die Erfindung können
neben dem Senden wenigstens eines Signals durch den zweiten Mikroprozessor
beliebige weitere in dem zweiten Mikroprozessor stattfindende Abläufe zeitlich
auf Abläufe in
dem ersten Mikroprozessor abgestimmt werden.
-
So
kann zum Beispiel der zweite Mikroprozessor das wenigstens eine
Signal als Testsignal an den ersten Mikroprozessor senden und gleichzeitig eine Überwachungsfunktion
aktivieren, die eine Antwort des ersten Mikroprozessors auf das
gesendete Signal überwacht,
zum Beispiel um zu überprüfen, ob die
Signalverarbeitung in dem ersten Mikroprozessor noch funktioniert.
Insbesondere im Anwendungsbereich von Lichtgittern kann es erforderlich
sein, den Sendezeitpunkt eines solchen Testsignals mit einer hohen
zeitlichen Genauigkeit (zum Beispiel innerhalb einer Zeitfensterbreite
von 6.8 μs)
auf einen vorgegebenen Taktzyklus des ersten Mikroprozessors abzustimmen,
damit das Testsignal für
den ersten Mikroprozessor gültig
ist und anhand einer entsprechenden Signalantwort des ersten Mikroprozessors
auf das Testsignal eine Aussage über
die Fehlerfreiheit der Signalverarbeitung des ersten Mikroprozessor getroffen
werden kann.
-
Ein
zusätzlicher
Vorteil der vorliegenden Erfindung ist es, dass für die zeitlichen
Abläufe
des zweiten Mikroprozessors, die auf die zeitlichen Abläufe des
ersten Mikroprozessors abgestimmt werden, dieselbe absolute zeitliche
Genauigkeit erreicht wird wie für
die Abläufe
des ersten Mikroprozessors, deren absolute zeitliche Genauigkeit
durch den ersten Taktgeber bzw. die Genauigkeit seiner Taktdauer bestimmt
ist.
-
Mit
anderen Worten geht durch die erfindungsgemäße zeitliche Abstimmung die
Genauigkeit, mit der in dem ersten Mikroprozessor die Zeit unter
Verwendung des ersten Taktgebers gemessen wird, auf die Abläufe des
zweiten Mikroprozessors über.
Verwendet der erste Taktgeber beispielsweise einen hochpräzisen Quarztaktgeberbaustein,
so bewirkt die vorliegende Erfindung, dass sowohl die Abläufe des
ersten Mikroprozessor als auch die Abläufe des zweiten Mikroprozessor
die hohe absolute zeitliche Genauigkeit, die durch diesen Quarztaktgeberbaustein
erreicht wird, aufweisen.
-
Die
vorliegende Erfindung ist nicht auf eine Schaltungsanordnung mit
genau zwei Mikroprozessoren beschränkt, sondern kann eine beliebige
Mehrzahl von Mikroprozessoren aufweisen, die entsprechend der vorliegenden
Erfindung konfiguriert sind, um in ihnen stattfindende zeitliche
Abläufe
zeitlich aufeinander abzustimmen. Hierbei kann zum Beispiel ein
Mikroprozessor mit einem hochpräzisen Taktgeber
ausgestattet sein und konfiguriert sein, um Ereignisse zu generieren
und alle anderen Mikroprozessoren können konfiguriert sein, um
die Differenz zwischen diesen Ereignissen messen und anhand der
Messung Signale mit entsprechend der Erfindung abgestimmten Sendezeitpunkten
zu senden. Andererseits können
auch mehrere Mikroprozessoren konfiguriert sein, um Ereignisse zu
generieren, und die restlichen Mikroprozessoren können konfiguriert sein,
um jeweils die Zeitdifferenz der Ereignisse eines bestimmten Mikroprozes sors
zu messen und Sendezeitpunkte von Signalen entsprechend anzupassen.
Es ist auch möglich,
dass ein Mikroprozessor Sendezeitpunkte von Signalen entsprechend
der Erfindung auf Grundlage der Ereignisse eines anderen Mikroprozessors
anpasst und diese Signale von einem dritten Mikroprozessor erfasst
werden und für diesen
Mikroprozessor als Ereignisse fungieren, anhand derer der dritte
Mikroprozessor die Signalsendezeitpunkte von ihm gesendeter Signale
anpasst.
-
Vorteilhafte
Ausführungsformen
der Erfindung sind in den Unteransprüchen, der Beschreibung und
den Zeichnungen beschrieben.
-
So
kann der zweite Mikroprozessor der Schaltungsanordnung nach einer
ersten vorteilhaften Ausführungsform
konfiguriert sein, um nach dem zweiten Ereignis mehrere Signale
zu unterschiedlichen Zeitpunkten zu senden und dabei den Sendezeitpunkt
jedes dieser Signale in Abhängigkeit
von dem Ergebnis der Messung der Zeitdifferenz zwischen dem ersten
und dem zweiten Ereignis so festzulegen, dass der zeitliche Abstand
zwischen dem zweiten Ereignis und dem Sendezeitpunkt jedes dieser
Signale jeweils der Dauer einer für das jeweilige Signal vorgegebenen
Anzahl von Taktzyklen des ersten Taktgebers entspricht.
-
Bei
dieser Ausführungsform
werden also mehrere Signale von dem zweiten Mikroprozessor gesendet,
wobei jedes der Signale zeitlich auf die Abläufe des ersten Mikroprozessor
abgestimmt ist, indem der Sendezeitpunkt jedes Signals von dem Zeitpunkt
des zweiten Ereignisses einen zeitlichen Abstand aufweist, der der
Dauer einer für
das jeweilige Signal vorgegebenen Anzahl von Taktzyklen des ersten
Taktgebers entspricht.
-
Das
Senden von mehreren zeitlich abgestimmten Signalen erlaubt zum Beispiel
das Durchführen
von besonders zuverlässigen
sicherheitskriti schen Tests mit zeitlicher Abstimmung, da durch
die mehreren Signale eine Überprüfung mehrerer
Parameter oder eine redundante Überprüfung ermöglicht wird.
-
Nach
einer weiteren Ausbildung der Erfindung ist dem zweiten Mikroprozessor
der Schaltungsanordnung als Zeitmesseinrichtung ein zweiter Taktgeber
zugeordnet und der zweite Mikroprozessor ist konfiguriert, um zur
Messung der Zeitdifferenz zwischen dem ersten und dem zweiten Ereignis
die Anzahl der zwischen den beiden Ereignissen ablaufenden Taktzyklen
des zweiten Taktgebers zu bestimmen.
-
Ein
zweiter Taktgeber stellt eine besonders zweckmäßige Zeitmesseinrichtung für den zweiten Mikroprozessor
dar, die deshalb mit geringem schaltungstechnischem Aufwand realisiert
werden kann. Eine besonders einfache Schaltungsanordnung ergibt
sich, wenn der zweite Taktgeber in dem zweiten Mikroprozessor integriert
ist.
-
Besonders
bevorzugt ist es, wenn der zweite Mikroprozessor konfiguriert ist,
um zur Festlegung des Sendezeitpunkts des wenigstens einen Signals eine
Anzahl von Taktzyklen festzulegen und das wenigstens eine Signal
zu senden, sobald nach dem zweiten Ereignis die festgelegte Anzahl
von Taktzyklen des zweiten Taktgebers abgelaufen ist.
-
Der
zweite Mikroprozessor legt also bei dieser Ausbildung der Erfindung
eine Anzahl von Taktzyklen fest und prüft, zu welchem Zeitpunkt nach
dem zweiten Ereignis die festgelegte Anzahl von Taktzyklen des zweiten
Taktgebers abgelaufen ist. Dies stellt eine besonders einfache Festlegung
des Sendezeitpunkts des wenigstens einen Signals dar, sodass die Programmierung
der Schaltungsanordnung bzw. des zweiten Mikroprozessors dementsprechend
mit geringem Aufwand erfolgen kann.
-
Eine
vorteilhafte Weiterbildung der Erfindung sieht vor, dass der erste
Taktgeber mit einem ersten Zähler
verbunden ist, dessen Zählerstand
sich bei Ablauf eines Taktzyklus des ersten Taktgebers um 1 ändert, insbesondere
um 1 verringert, und/oder der zweite Taktgeber mit einem zweiten
Zähler
verbunden ist, dessen Zählerstand
von dem zweiten Mikroprozessor gesetzt werden kann und sich bei
Ablauf eines Taktzyklus des zweiten Taktgebers um 1 ändert, insbesondere
um 1 verringert.
-
Das
Setzen des Zählerstands
des zweiten Zählers
durch den zweiten Mikroprozessor bedeutet dabei, dass der zweite
Mikroprozessor durch entsprechende Steuersignale bewirkt, dass der
Zählerstand
beim Übergang
von einem Taktzyklus zum nächsten
einen den Steuersignalen entsprechenden ganzzahligen Wert annimmt.
-
Besonders
bevorzugt ist es, wenn der zweite Mikroprozessor konfiguriert ist,
um das Ablaufen der festgelegten Anzahl von Taktzyklen des zweiten
Taktgebers nach dem zweiten Ereignis dadurch zu überwachen, dass er den Zählerstand
des zweiten Zählers
zum Zeitpunkt des zweiten Ereignisses auf die von dem zweiten Mikroprozessor
festgelegte Anzahl von Taktzyklen des zweiten Taktgebers setzt und prüft, wann
der Zählerstand
des zweiten Zählers
den Wert 0 erreicht hat.
-
Bei
den zuletzt geschilderten Ausführungsformen
der erfindungsgemäßen Schaltungsanordnung
misst der zweite Mikroprozessor also die Zeitdifferenz zwischen
dem ersten und dem zweiten Ereignis, indem er die Anzahl der zwischen
beiden Ereignissen ablaufenden Taktzyklen eines zweiten Taktgebers,
der dem zweiten Mikroprozessor zugeordnet ist, bestimmt. Anhand
der Kenntnis dieser Anzahl der abgelaufenen Taktzyklen des zweiten
Taktgebers sowie der vorgegebenen und bekannten Referenzanzahl der im
selben Zeitraum (zwischen dem ersten und dem zweiten Ereignis) abgelaufenen
Taktzyklen des ersten Taktgebers bestimmt der zweite Mikroprozessor
dann die Anzahl der Taktzyklen des zweiten Taktgebers, die zeitlich
der vorgegebenen Anzahl der zwischen dem zweiten Ereignis und dem Senden
des wenigstens einen Signals ablaufenden Taktzyklen des ersten Taktgebers
entspricht. Nach Ablaufen der so bestimmten Anzahl von Taktzyklen des
zweiten Taktgebers sendet der zweite Mikroprozessor das wenigstens
eine Signal.
-
Der
zweite Mikroprozessor kann konfiguriert sein, um den zum Zeitpunkt
des ersten und des zweiten Ereignisses jeweils am zweiten Zähler vorliegenden
Zählerstand
zu erfassen. Vorzugsweise kann dieses Erfassen unter Verwendung
einer Capture-Funktion des zweiten Mikroprozessors erfolgen.
-
Hierbei
ist es zweckmäßig, wenn
der zweite Mikroprozessor konfiguriert ist, um die Anzahl der zwischen
dem ersten und dem zweiten Ereignis ablaufenden Taktzyklen des zweiten
Taktgebers zu ermittelt, indem er den zum Zeitpunkt des ersten Ereignisses
von dem zum Zeitpunkt des zweiten Ereignisses am zweiten Zähler vorliegenden
Zählerstand subtrahiert.
Eine solche Subtraktion ist besonders einfach zu realisieren, sodass
sie den Gesamtaufwand für
die Implementierung der Schaltungsanordnung verringert.
-
Nach
einer weiteren Ausbildung der Erfindung weist der erste Taktgeber
hinsichtlich der Genauigkeit seiner Taktdauer eine höhere Toleranz
auf als der zweite Taktgeber. Unter Toleranz wird hierbei die Robustheit
der Taktdauer gegenüber
den Einflussgrößen verstanden,
die prinzipiell zu einer Veränderung
der Taktdauer gegenüber
ihrem Nennwert führen
können,
wie beispielsweise Temperaturabweichungen oder die Alterung des Taktgebers
oder herstellungsbedingte Abweichungen von Parametern des Taktgebers.
Im Folgenden wird ein Taktgeber mit höherer Toleranz als „genauerer” Taktgeber
bezeichnet, da er dauerhaft zuverlässig eine genauere Messung
der Zeit liefern kann.
-
Der
Vorteil eines genaueren ersten Taktgebers besteht darin, dass die
höhere
Genauigkeit des ersten Taktgebers gemäß der vorliegenden Erfindung
dazu führt,
dass sowohl die Abläufe
im ersten Mikroprozessor eine höhere
zeitliche Genauigkeit aufweisen als auch die Abläufe im zweiten Mikroprozessor,
die erfindungsgemäß zeitlich
auf die Abläufe des
ersten Mikroprozessors abgestimmt sind.
-
Der
zweite Taktgeber kann bei einer solchen Schaltungsanordnung also
weniger genau ausgebildet sein, ohne die zeitliche Genauigkeit der
Abläufe des
zweiten Mikroprozessors oder die Genauigkeit ihrer zeitlichen Abstimmung
auf die Abläufe
des ersten Mikroprozessors wesentlich zu beeinträchtigen. Ein solcher weniger
genauer zweiter Taktgeber kann mit verringertem Aufwand bereitgestellt
werden.
-
Eine
besonders vorteilhafte Ausbildung der Erfindung sieht einen ersten
Taktgeber mit einer Quarztaktgebereinrichtung vor und einen zweiten Taktgeber
mit einem kalibrierten RC-Oszillator. Bei der Ausbildung mit einer
Quarztaktgebereinrichtung ist der erste Taktgeber in der Regel sehr
genau, während
der zweite Taktgeber mit dem kalibrierten RC-Oszillator normalerweise
eine geringere Genauigkeit bzw. eine geringere Toleranz gegenüber Einflussgrößen aufweist.
-
Besonders
bevorzugt ist es, wenn die vorgegebene Referenzanzahl der zwischen
dem ersten und dem zweiten Ereignis ablaufenden Taktzyklen des ersten
Taktgebers genau so groß ist
wie die vorgegebene Anzahl der zwischen dem zweiten Ereignis und
dem Senden des wenigstens einen Signals ablaufenden Taktzyklen des
ersten Taktgebers.
-
Bei
dieser Ausführungsform
legt der zweite Mikroprozessor den Sendezeitpunkt des wenigstens einen
Signals so fest, dass die Zeitdifferenz zwischen dem zweiten Ereignis
und dem Senden des Signals der Zeitdifferenz zwischen dem ersten
und dem zweiten Ereignis entspricht. Hierzu misst der zweite Mikroprozessor
erfindungsgemäß die Zeitdifferenz
zwischen dem ersten und dem zweiten Ereignis und wartet nach dem
zweiten Ereignis genau diese gemessene Zeitdifferenz ab, bevor er
das wenigstens eine Signal sendet. Falls der zweite Mikroprozessor wie
weiter oben beschrieben einen zweiten Taktgeber mit einem Zähler verwendet,
dessen Zählerstand sich
bei Ablauf jedes Takts des zweiten Taktgebers um 1 verringert, kann
er hierzu einfach die Zahl der zwischen dem ersten und dem zweiten
Ereignis ablaufenden Taktzyklen des zweiten Taktgebers bestimmen,
zum Zeitpunkt des zweiten Ereignisses den Zählerstand des zweiten Zählers auf
eben diese Anzahl setzen und dann das Signal senden, sobald der Zählerstand
des zweiten Zählers
den Wert 0 erreicht hat.
-
Bei
dieser Ausbildung ergibt sich eine besonders einfach zu implementierende
Festlegung eines zeitlich auf Abläufe des ersten Mikroprozessors
abgestimmten Sendezeitpunkts des wenigstens einen Signals.
-
Die
erfindungsgemäße Schaltungsanordnung
eignet sich besonders gut für
eine Verwendung in sicherheitstechnischen Anlagen. Besonders vorteilhaft
lässt sich
die erfindungsgemäße Schaltungsanordnung
in Verbindung mit Lichtgittern einsetzen, die zum Beispiel zur Absicherung
von Werkzeugmaschinen, Gesenkbiegepressen oder ähnlichen eingesetzt werden
und bei denen hohe Anforderungen an die Störsicherheit und Zuverlässigkeit
gestellt werden. Die Schaltungsanordnung kann dann der Ü berwachung
des Lichtgitters und der Implementierung wenigstens einer sicherheitskritischen
Funktion in dem Lichtgitter dienen. Durch die Ausbildung von sicherheitskritischen
Funktionen mit zwei Mikroprozessoren oder die Auswertung von sicherheitskritischen Tests
mit zwei Mikroprozessoren wird die Zuverlässigkeit des Lichtgitters erhöht. Die
Ausbildung solcher Funktionen mit zwei Mikroprozessoren und die Auswertung
solcher Tests mit zwei Mikroprozessoren erfordert eine zeitliche
Abstimmung der in beiden Mikroprozessoren stattfindenden Abläufe, wie
sie durch die vorliegende Erfindung in vorteilhafter Weise erreicht
wird. Somit kann durch die vorliegende Erfindung Störsicherheit
und Zuverlässigkeit
eines Lichtgitters erhöht
werden.
-
Nachfolgend
wird die vorliegende Erfindung rein beispielhaft anhand einer vorteilhaften
Ausführungsform
unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben. Es zeigen:
-
1 eine
erfindungsgemäße Schaltungsanordnung
mit einem ersten Mikroprozessor, einem zweiten Mikroprozessor, einem
Lichtgitter und weiteren Komponenten; und
-
2 ein
Zeitdiagramm zur Veranschaulichung der zeitlichen Abläufe in der
erfindungsgemäßen Schaltungsanordnung.
-
1 zeigt
eine erfindungsgemäße Schaltungsanordnung 8 mit
einem ersten Mikroprozessor 10 mit einem ersten Taktgeber 12,
der einen Quarztaktgeberbaustein umfasst. Ein zweiter Mikroprozessor 14 ist
mit einem zweiten Taktgeber 16 verbunden, der einen kalibrierten
RC-Oszillator umfasst. Der erste Mikroprozessor 10 ist
mit einem Lichtgitter 18 verbunden, welches durch die Schaltungsanordnung 8 angesteuert
und fortlaufend und regelmäßig getestet und überwacht
wird.
-
Der
erste Mikroprozessor 10 weist einen ersten Zähler 20 auf,
dessen Zählerstand
sich bei Ablauf eines Taktzyklus des ersten Taktgebers 12 um
1 verringert.
-
Der
zweite Mikroprozessor 14 weist einen zweiten Zähler 22 auf,
dessen Zählerstand
sich bei Ablauf eines Taktzyklus des zweiten Taktgebers 16 um
1 verringert.
-
Der
erste Mikroprozessor 10 ist konfiguriert, um in regelmäßigen Zeitabständen ein
Ereignispaar bestehend aus einem ersten und einem zweiten Ereignis
zu generieren, wobei das zweite Ereignis jeweils nach Ablaufen einer
vorgegebenen Referenzanzahl von auf das erste Ereignis folgenden
Taktzyklen des ersten Taktgebers 12 erzeugt wird.
-
Gleichzeitig
mit jedem erzeugten Ereignis stellt der erste Mikroprozessor 10 jeweils
ein entsprechendes Signal an einem Capture-Eingang 24 des zweiten
Mikroprozessors 14 zur Verfügung.
-
Der
zweite Mikroprozessor 14 ist konfiguriert, um für jedes
vom ersten Mikroprozessor 10 erzeugte Ereignispaar bestehend
aus einem ersten und einem zweiten Ereignis die Zeitdifferenz zwischen
dem ersten und dem zweiten Ereignis zu messen. Zum Messen der Zeitdifferenz
bestimmt der zweite Mikroprozessor 14 die Anzahl der zwischen dem
ersten und dem zweiten Ereignis ablaufenden Taktzyklen des zweiten
Taktgebers 16.
-
Hierzu
ordnet der zweite Mikroprozessor 14 dem ersten Ereignis über eine
dem Capture-Eingang 24 zugeordnete Capture-Funktion den
zum Zeitpunkt des ersten Ereignisses am zweiten Zähler 22 vorliegenden
Zählerstand
zu. Ebenso ordnet der zweite Mikroprozessor 14 dem zweiten
Ereig nis über
die Capture-Funktion den zum Zeitpunkt des zweiten Ereignisses am
zweiten Zähler 22 vorliegenden
Zählerstand
zu und subtrahiert beide Zählerstände voneinander.
-
Der
zweite Mikroprozessor 14 ist außerdem konfiguriert, um auf
das zweite Ereignis folgend sechs Signale zu unterschiedlichen Zeitpunkten über eine
Verbindung 26 an den ersten Mikroprozessor 10 zu
senden.
-
Hierfür sind sechs
Anzahlen von Taktzyklen des ersten Taktgebers 12 vorgegeben
und die Sendezeitpunkte der sechs Signale werden von dem zweiten
Mikroprozessor 14 unter Verwendung der gemessenen Anzahl
von Taktzyklen des zweiten Taktgebers 16 zwischen dem ersten
und dem zweiten Ereignis so festgelegt, dass der zeitliche Abstand zwischen
dem zweiten Ereignis und dem Sendezeitpunkt jedes der sechs Signale
jeweils der Dauer der für
das jeweilige Signal vorgegebenen Anzahl von Taktzyklen des ersten
Taktgebers 12 entspricht.
-
2 zeigt
ein Zeitdiagramm, welches die zeitlichen Abläufe in der erfindungsgemäßen Schaltungsanordnung
widerspiegelt.
-
Die
horizontale Achse des Zeitdiagramms stellt die von dem ersten Taktgeber 12 gemessene und
durch den Zählerstand
des ersten Zählers 20 repräsentierte
Zeit t dar. Da der erste Taktgeber 12 einen Quarztaktgeberbaustein
aufweist, entspricht die Dauer eines Taktzyklus des ersten Taktgebers 12 sehr
genau der nominalen Taktdauer des ersten Taktgebers 12,
sodass die von dem ersten Taktgeber 12 gemessene Zeit t
mit der realen Zeit nahezu identisch ist.
-
Die
vertikale Achse des Zeitdiagramms stellt den Zählerstand n des zweiten Zählers 22 dar,
welcher einerseits von dem zweiten Taktgeber 16 be aufschlagt
wird und andererseits von dem zweiten Mikroprozessor 14 auf
einem vom zweiten Mikroprozessor 14 bestimmten ganzzahligen
Wert gesetzt werden kann.
-
Der
Zählerstand
des zweiten Zählers 22 nimmt
nur ganzzahlige Werte an, sodass er sich in diskreten Schritten
verändert.
Da die nominale Dauer eines Taktzyklus des zweiten Taktgebers 16 im
vorliegenden Ausführungsbeispiel
mit 271,3 ns jedoch sehr kurz gegenüber dem in dem Zeitdiagramm
dargestellten Zeitraum (ungefähr
300 μs)
ist, ergibt sich in der zeichnerischen Darstellung in 2 ein
praktisch kontinuierlicher Verlauf des Zählerstands des zweiten Taktgebers 16.
-
Aufgrund
des kurzen Zeitabstands zwischen dem ersten Ereignis und dem Senden
der Signale kann davon ausgegangen werden, dass sich innerhalb des
in 2 dargestellten Zeitraums weder die Dauer eines
Zyklus des ersten Taktgebers 12 noch die Dauer eines Zyklus
des zweiten Taktgebers 16 zum Beispiel aufgrund von Temperaturschwankungen
wesentlich ändert.
-
Der
Zeitverlauf des Zählerstands
des zweiten Zählers 22 weist
deshalb abgesehen von den Sprüngen,
die jeweils durch ein Setzen des Zählerstands des zweiten Zählers 22 durch
den zweiten Mikroprozessor 14 bewirkt werden, über den
gesamten in 2 gezeigten Zeitraum eine konstante
Steigung auf.
-
Auf
der horizontalen Achse des Zeitdiagramm ist der Zeitpunkt der Erzeugung
eines ersten Ereignisses E1 sowie der Zeitpunkt der Erzeugung eines
zweiten Ereignisses E2 durch den ersten Mikroprozessor 10 dargestellt,
wobei zwischen den beiden Ereignissen eine vorgegebene Referenzanzahl von
Taktzyklen des ersten Taktgebers 12 abläuft. Die aufsummierte Dauer dieser
Referenzanzahl von Taktzyklen des ersten Taktgebers 12 ist
im Zeitdiagramm mit tref bezeichnet. Die
Referenzanzahl von Taktzyklen des ersten Taktgebers 12 ist
im vorliegenden Ausführungsbeispiel
so gewählt,
dass sich für
tref beispielsweise der Wert 100 μs ergibt,
wenn die Dauer jedes Taktzyklus während des Zeitraums zwischen E1
und E2 exakt mit der nominalen Taktdauer, d. h. der vom Hersteller
spezifizierten Taktdauer, des ersten Taktgebers 12 übereinstimmt.
Da der erste Taktgeber 10 sehr genau ist, weicht der Wert
von tref in der Regel allenfalls unwesentlich
von 100 μs
ab.
-
Die
nominale Taktdauer des zweiten Taktgebers 16 beträgt im vorliegenden
Ausführungsbeispiel 271,3
ns, sodass eine Dauer von 100 μs
etwa 369 Taktzyklen des zweiten Taktgebers 16 entspricht.
-
Abhängig von
der Genauigkeit des RC-Oszillators ist davon auszugehen, dass die
Abweichung der tatsächlichen
Taktdauer des zweiten Taktgebers 16 von der nominalen Taktdauer
(271,3 ns) zum Beispiel auf den Bereich zwischen –2,5% und
+2,5% beschränkt
ist, sodass zwischen dem ersten und dem zweiten von dem ersten Mikroprozessor 10 erzeugten
Ereignis zum Beispiel zwischen 359 und 378 Taktzyklen des zweiten
Taktgebers 16 ablaufen.
-
Um
die Anzahl der zwischen dem ersten und dem zweiten Ereignis ablaufenden
Taktzyklen des zweiten Taktgebers 16 zu ermitteln, erfasst
der zweite Mikroprozessor 14 den zum Zeitpunkt E1 vorliegenden
Zählerstand
des zweiten Zählers 22,
in 2 bezeichnet mit N1, und erfasst den zum Zeitpunkt
E2 vorliegenden Zählerstand
des zweiten Zählers 22,
in 2 bezeichnet mit N2, und bildet deren Differenz D
= N1 – N2.
-
Der
zweite Mikroprozessor 14 ist konfiguriert, um auf das zweite
Ereignis folgend sechs Signale zu senden.
-
Für diese
sechs Signale sind sechs verschiedene Anzahlen von Taktzyklen des
ersten Taktgebers 12 vorgegeben, wobei die Sendezeitpunkte
der sechs Signale von dem zweiten Mikroprozessor 14 so
festgelegt werden, dass der zeitliche Abstand zwischen dem zweiten
Ereignis E2 und dem Sendezeitpunkt jedes der sechs Signale jeweils
der Dauer der für
das jeweilige Signal vorgegebenen Anzahl von Taktzyklen des ersten
Taktgebers 12 entspricht.
-
Die
sich dabei ergebenden sechs Sendezeitpunkte sind im Zeitdiagramm
von 2 mit S1, S2, S3, S4, S5 und S6 bezeichnet.
-
Wie 2 zeigt,
haben die sechs vorgegebenen Anzahlen von Taktzyklen des ersten
Taktgebers 12 solche Werte, dass die sich ergebenden Sendezeitpunkte
S1 bis S6 symmetrisch um einen Mittelpunkt M liegen, wobei die Anzahl
der zwischen E2 und M ablaufenden Taktzyklen des ersten Taktgebers 12 gleich
der vorgegebenen Referenzanzahl von Taktzyklen des ersten Taktgebers 12 ist,
sodass der zeitliche Abstand zwischen E2 und M gerade tref entspricht.
-
Um
den Sendezeitpunkt des ersten gesendeten Signals festzulegen, setzt
der zweite Mikroprozessor 14 zum Zeitpunkt E2 den Zählerstand
des zweiten Zählers 22 auf
die Anzahl von Taktzyklen des zweiten Taktgebers 16, deren
aufsummierte Dauer der aufsummierten Dauer der für das erste Signal vorgegebenen
Anzahl von Taktzyklen des ersten Taktgebers 12 entspricht.
-
Zur
Ermittlung dieser Anzahl nutzt der zweite Mikroprozessor 14 die
von ihm gewonnene Information, dass die Dauer von D = N1 – N2 Taktzyklen
des zweiten Taktgebers 16 der Dauer der bekannten vorgegebenen
Referenzanzahl von Taktzyklen des ersten Taktgebers 12 entspricht.
-
Hierfür ist in
dem zweiten Mikroprozessor
14 eine Rechenoperation vorgegeben,
die dem folgenden mathematischen Zusammenhang entspricht
wobei NTakt1_1 die Anzahl
der für
das erste Signal vorgegebenen Anzahl von Taktzyklen des ersten Taktgebers
12 bezeichnet,
N1 und N2 wie oben beschrieben die Zählerstände des zweiten Zählers
22 zu
den Zeitpunkten E1 bzw. E2 bezeichnen, Nref die vorgegebene Referenzanzahl
von Taktzyklen des ersten Taktgebers
12 bezeichnet und
die „Runde”-Funktion
definiert ist, um eine Rundung ihres Funktionsarguments auf eine
ganze Zahl durchzuführen.
Z1 bezeichnet den Wert, auf den der zweite Mikroprozessor
14 den
Zählerstand
des zweiten Zählers
22 zum
Zeitpunkt E2 setzt, wie in
2 gezeigt.
-
Der
zweite Mikroprozessor 14 sendet das erste Signal dann,
sobald der Zählerstand
des zweiten Zählers 22 zum
Zeitpunkt S1 den Wert 0 erreicht, sodass zwischen dem zweiten Ereignis
E2 und dem Senden des ersten Signals D = N1 – N2 Taktzyklen des zweiten
Taktgebers 16 ablaufen.
-
Zum
Zeitpunkt S1 setzt der zweite Mikroprozessor 14 den Zählerstand
des zweiten Zählers 22 auf
einen Wert Z2, der so angepasst ist, dass der Zählerstand den Wert 0 erreicht,
wenn nach dem zweiten Ereignis die für das zweite Signal vorgegebene
Anzahl von Taktzyklen des ersten Taktgebers 12 abgelaufen
ist, wie in 2 dargestellt ist.
-
Der
Wert Z2 wird vom zweiten Mikroprozessor 14 in einer zu
der Ermittlung des Werts Z1 analogen Weise ermittelt.
-
Die
für die
sechs Signale vorgegebenen Anzahlen von Taktzyklen des ersten Taktgebers 12 haben
in dem vorliegenden Ausführungsbeispiel
solche Werte, dass die Differenz zwischen den für zwei aufeinanderfolgende
Signale vorgegebenen Anzahlen von Taktzyklen des ersten Taktgebers 12 für alle Signale
gleich ist. Dementsprechend wird der Zählerstand zu jedem der Sendezeitpunkte
des ersten bis fünften
Signals auf den Wert Z2 gesetzt.
-
Eine
Ausnahme bildet die Differenz zwischen der für das dritte Signal und der
für das
das vierte Signal vorgegebenen Anzahl von Taktzyklen des ersten
Taktgebers 12. Diese Differenz ist doppelt so hoch ist
wie die übrigen
Differenzen, sodass der Zählerstand
des zweiten Zählers 22 zum
Sendezeitpunkt des dritten Signals S3 vom zweiten Mikroprozessor 14 auf
den Wert Z3 gesetzt wird, welcher doppelt so hoch ist wie Z2.
-
Jedes
der sechs Signale wird hierbei jeweils zu einem Zeitpunkt gesendet,
zu dem der Zählerstand
des zweiten Zählers 22 den
Wert 0 erreicht.
-
Zum
Zeitpunkt des Sendens des sechsten Signals setzt der zweite Mikroprozessor 14 den
Zählerstand
des zweiten Zählers 22 auf
einen Startwert Z0, der geeignet ist, um dem zweiten Mikroprozessor 14 in
dem auf den dargestellten Zeitraum folgenden Testzyklus erneut die
Messung der Zeitdifferenz zwischen einem ersten und einem zweiten
vom ersten Mikroprozessor 10 erzeugten Ereignis zu erlauben.
-
- 8
- Schaltungsanordnung
- 10
- Mikroprozessor
- 12
- Taktgeber
mit Quarztaktgeberbaustein
- 14
- Mikroprozessor
- 16
- Taktgeber
mit kalibriertem RC-Oszillator
- 18
- Lichtgitter
- 20
- Zähler
- 22
- Zähler
- 24
- Capture-Eingang
- 26
- Verbindung