HILDNER, Christian (Propsteistr. 205, Nürnberg, 90455, DE)
| Patentansprüche 1. Verfahren zum Betrieb eines Prozessors (6) in einer Echtzeitumgebung (1), wobei der Prozessor (6) nach Behandlung eines EchtZeitereignisses (EZE, EZE1 bis EZE3) von einem Be¬ triebszustand (BZ) in einen Ruhezustand (RZ) geschaltet wird, wobei ein Hilfssignal (HS) bei einem nahe bevorstehenden Ein¬ treten eines nachfolgenden EchtZeitereignisses (EZE, EZE1 bis EZE3) generiert wird, mittels dessen der Prozessor (6) vor dem Eintreten des nachfolgenden EchtZeitereignisses (EZE, EZE1 bis EZE3) in den Betriebszustand (BZ) geschaltet wird. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Hilfssignal (HS) von einem Zeitgeber generiert wird, wobei der Prozessor (6) vom Zeitge¬ ber nach Ablauf eines Differenzintervalls (DI), das ein be¬ kanntes Zeitintervall (ZI) zwischen zwei aufeinanderfolgenden EchtZeitereignissen (EZE1 bis EZE3) abzüglich eines Sicherheitsintervalls (SI) umfasst, in den Betriebszustand (BZ) ge- schaltet wird. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Sicherheitsintervall (SI) in einem Bereich zwischen 10 % und 30 %, vorzugsweise 20 % der Dauer des bekannten Zeitintervalls (ZI) zwischen zwei aufeinanderfolgenden EchtZeitereignissen (EZE1 bis EZE3) gewählt wird . 4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Prozessor (6) EchtZeitereig¬ nisse (EZE) in Form eines Signals mindestens eines Sensors (3) behandelt, wobei das Signal vom Sensor (3) generiert wird, wenn dieser eine Überschreitung oder Unterschreitung eines vorgegebenen Schwellwertes (SW) einer Größe (s) detek- tiert, wobei der Prozessor (6) nach Behandlung eines Echt¬ zeitereignisses (EZE) von einem Betriebszustand (BZ) in einen Ruhezustand (RZ) geschaltet wird, wobei mittels mindestens eines Hilfssensors (4, 4') eine Überschreitung beziehungswei- se Unterschreitung eines vorgegebenen Hilfsschwellwertes (HSW, HSW ) der Größe (s) detektiert und vom Hilfssensor (4) das Hilfssignal (HS) generiert wird, wobei der Hilfsschwell- wert (HSW, HSW' ) während der Änderung des Wertes der Größe (s) vor dem Schwellwert (SW) erreicht wird. 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die vom Sensor (3) und vom Hilfssensor (4) überwachte Größe eine Strecke (s) ist, wobei der Schwellwert (SW) eine Position ist, deren Erreichen oder Überschreiten das EchtZeitereignis (EZE) darstellt. 6. Verfahren nach einem der Ansprüche 4 oder 5, dadurch gekennzeichnet, dass der Prozessor (6) während der Behandlung des EchtZeitereignisses (EZE) einen Antriebsmotor (5) abschaltet, wobei der Antriebsmotor (5) während seines Betriebs die Änderung der Größe (s) bewirkt. 7. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass jedem Sensor (3) zwei Hilfssen¬ soren (4, 4') zugeordnet werden, von denen einer die Überschreitung des vorgegebenen Hilfsschwellwertes (HSW) der Größe (s) vor Überschreitung des Schwellwertes (SW) detektiert, wobei der andere Hilfssensor (4') die Unterschreitung eines anderen vorgegebenen Hilfsschwellwertes (HSW ) der Größe (s) vor Unterschreitung des Schwellwertes (SW) detektiert. 8. Verwendung eines Verfahrens nach einem der Ansprüche 1 bis 7 in einem Roboter. |
Verfahren zum Betrieb eines Prozessors in einer Echtzeitumge- bung
Echtzeitumgebungen sind Einsatzfälle von Computern oder ähnlichen Datenverarbeitungseinrichtungen, die ein bestimmtes Ergebnis oder eine Reaktion nicht nur korrekt, sondern auch garantiert innerhalb eines vorbestimmten Zeitraums liefern müssen, um einen reibungslosen Ablauf einer Anlage, beispielsweise eines Roboters, sicherzustellen.
Moderne, leistungsfähige Prozessoren, die in Computern einge ¬ setzt werden, weisen häufig hohe Verlustleistungen mit ent- sprechender Wärmeentwicklung auf. Daher ist häufig ein Energiesparmodus oder Ruhezustand vorgesehen, in den die Prozes ¬ soren geschaltet werden können, wenn sie vorübergehend nicht benötigt werden. In Echtzeitumgebungen können Energiesparmodi moderner Prozessoren allerdings meist nicht benutzt werden, da die für das Wiederhochfahren des Prozessors aus dem Ruhezustand in einen Betriebszustand erforderliche Aufwachzeit die Latenzzeit des Systems beeinträchtigt, so dass Timing-Erfordernisse gegebe- nenfalls nicht eingehalten werden. Die Latenzzeit ist der
Zeitraum zwischen einem EchtZeitereignis , beispielsweise ei ¬ nem Sensorsignal und dem spätesten zulässigen Zeitpunkt der erforderlichen Reaktion auf das EchtZeitereignis . Es ist daher eine Aufgabe der Erfindung, ein verbessertes
Verfahren zum Betrieb eines Prozessors in einer Echtzeitumge- bung anzugeben.
Die Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 1.
Vorteilhafte Weiterbildungen sind Gegenstand der Unteransprü ¬ che . Bei einem erfindungsgemäßen Verfahren zum Betrieb eines Prozessors in einer Echtzeitumgebung wird der Prozessor nach Behandlung eines EchtZeitereignisses von einem Betriebszustand in einen Ruhezustand (auch Energiesparmodus, low power State oder idle State genannt) geschaltet, wobei ein Hilfssignal bei einem nahe bevorstehenden Eintreten eines nachfolgenden EchtZeitereignisses generiert wird, mittels dessen der Pro ¬ zessor vor dem Eintreten des nachfolgenden EchtZeitereignisses in den Betriebszustand (auch Volllastmodus oder füll ope- ration mode genannt) geschaltet wird. Auf das erwartete Echt ¬ zeitereignis kann somit trotz Verwendung des Ruhezustands mit minimaler Latenzzeit reagiert werden. Durch den Ruhezustand kann Energie gespart und die Wärmeabgabe verringert werden. Bei einer ersten Ausführungsform des Verfahrens zum Betrieb eines Prozessors in einer Echtzeitumgebung wird der Prozessor nach Behandlung eines ersten EchtZeitereignisses von einem Betriebszustand in einen Ruhezustand geschaltet. Das Hilfs ¬ signal wird von einem Zeitgeber generiert. Nach Ablauf eines Differenzintervalls, das ein bekanntes Zeitintervall zwischen zwei aufeinanderfolgenden EchtZeitereignissen abzüglich eines Sicherheitsintervalls umfasst, wird der Prozessor durch den Zeitgeber in den Betriebszustand geschaltet, so dass auf das erwartete EchtZeitereignis mit minimaler Latenzzeit reagiert werden kann. Diese Ausführungsform eignet sich für Echtzeitumgebungen mit wohlbekanntem Timing-Verhalten, das heißt solche Echtzeitumgebungen, bei denen das genaue Zeitintervall zwischen zwei EchtZeitereignissen bekannt ist. Auf diese Wei ¬ se kann Energie gespart und die Wärmeabgabe verringert wer- den.
Das Sicherheitsintervall ist so zu wählen, dass der Prozessor beim Eintreten des EchtZeitereignisses sicher in den Be ¬ triebszustand geschaltet und zur Bearbeitung des Echtzeiter- eignisses bereit ist. Vorzugsweise wird das Sicherheitsinter ¬ vall in einem Bereich zwischen 10 % und 30 %, insbesondere 20 % der Dauer des bekannten Zeitintervalls zwischen zwei aufeinanderfolgenden EchtZeitereignissen gewählt. Beispielsweise kann das bekannte Zeitintervall zwischen zwei EchtZeitereig ¬ nissen fünf Sekunden betragen. Als Sicherheitsintervall wird beispielsweise eine Sekunde gewählt, so dass der Prozessor für das Differenzintervall von vier Sekunden in den Ruhezu- stand geschaltet wird.
In einer weiteren Ausführungsform des Verfahrens zum Betrieb eines Prozessors in einer Echtzeitumgebung behandelt der Pro ¬ zessor EchtZeitereignisse in Form eines Signals mindestens eines Sensors. Das Signal wird vom Sensor generiert, wenn dieser eine Überschreitung oder Unterschreitung eines vorgegebenen Schwellwertes einer Größe detektiert. Nach Behandlung eines ersten EchtZeitereignisses wird der Prozessor von einem Betriebszustand in einen Ruhezustand geschaltet. Weiterhin ist mindestens ein Hilfssensor vorgesehen, der die gleiche Größe überwacht, jedoch eine Überschreitung beziehungsweise Unterschreitung eines vorgegebenen Hilfsschwellwertes der Größe detektiert und daraufhin das Hilfssignal generiert. Der Hilfsschwellwert ist dabei so gewählt, dass er während der Änderung des Wertes der Größe vor dem Schwellwert erreicht wird. Durch das Hilfssignal wird der Prozessor in den Be ¬ triebszustand geschaltet, so dass er beim anschließenden Er ¬ reichen des Schwellwertes bereit ist, auf das EchtZeitereig ¬ nis, das heißt das Signal des Sensors, zu reagieren. Diese Ausführungsform stellt für EchtZeitanwendungen, bei denen das Zeitintervall zwischen aufeinanderfolgenden EchtZeitereignis ¬ sen nicht bekannt ist oder variiert, sicher, dass die Latenz ¬ zeit eingehalten wird. Auch bei dieser Ausführungsform kann Energie gespart und die Wärmeabgabe des Prozessors verringert werden.
Die vom Sensor und vom Hilfssensor überwachte Größe kann eine Strecke sein, wobei der Schwellwert eine Position ist, deren Erreichen das EchtZeitereignis darstellt. Der Hilfsschwell- wert ist dann eine Hilfsposition, die beim Abfahren der Strecke vor der Position erreicht wird. Die Echtzeitanwendung kann beispielsweise eine motorbetriebe ¬ ne Anwendung sein. Ein Antriebsmotor bewirkt dabei während seines Betriebes eine Änderung der durch den Sensor und den Hilfssensor überwachten Größe. Beispielsweise wird durch den Antrieb des Motors die Strecke abgefahren. Infolge des Errei ¬ chens der vom Sensor detektierten Position schaltet der Prozessor den Antriebsmotor ab. Damit die Abschaltung präzise erfolgt, muss die Latenzzeit eingehalten werden. Dies wird durch die weitere Ausführungsform des Verfahrens sicherge- stellt.
Jedem Sensor können zwei Hilfssensoren zugeordnet werden, von denen einer die Überschreitung des vorgegebenen Hilfsschwell- wertes der Größe vor Überschreitung des Schwellwertes detek- tiert, wobei der andere Hilfssensor die Unterschreitung eines anderen vorgegebenen Hilfsschwellwertes der Größe vor Unterschreitung des Schwellwertes detektiert. Beispielsweise kann so eine Annäherung an die Position aus zwei Richtungen detektiert werden.
Die Ausführungsformen des Verfahrens können vorteilhaft in einem Roboter verwendet werden.
Im Folgenden werden Ausführungsbeispiele der Erfindung anhand von Zeichnungen näher erläutert. Darin zeigen:
FIG 1 ein Impulsdiagramm zur Veranschaulichung eines Verfahrens zum Betrieb eines Prozessors in einer Echt- zeitumgebung mit bekanntem Zeitintervall zwischen zwei aufeinanderfolgenden EchtZeitereignissen, und
FIG 2 eine Echtzeitumgebung mit einer motorbetriebenen
Komponente, die eine Strecke abfährt, wobei die Po ¬ sition der Komponente durch einen Sensor und einen
Hilfssensor überwacht wird.
Figur 1 zeigt ein Impulsdiagramm zur Veranschaulichung eines Verfahrens zum Betrieb eines Prozessors in einer Echtzeitum- gebung mit bekanntem Zeitintervall ZI zwischen zwei aufeinanderfolgenden EchtZeitereignissen EZEl, EZE2, EZE3.
Zum Zeitpunkt des Auftretens des EchtZeitereignisses EZEl be- findet sich der Prozessor in einem Betriebszustand BZ und verbleibt dort zur Bearbeitung des EchtZeitereignisses EZEl. Nach der Bearbeitung wird der Prozessor in den Ruhezustand RZ geschaltet. Das Zeitintervall ZI zwischen je zwei aufeinan ¬ derfolgenden EchtZeitereignissen EZEl, EZE2, EZE3 ist be- kannt . Es wird ein Differenzintervall DI aus dem Zeitinter ¬ vall ZI abzüglich eines Sicherheitsintervalls SI bestimmt. Nach Ablauf des Differenzintervalls DI wird der Prozessor wieder in den Betriebszustand BZ versetzt, um für die Bear ¬ beitung des nächsten EchtZeitereignisses EZE2 bereit zu sein. Der Ablauf wiederholt sich für das EchtZeitereignis EZE3 und gegebenenfalls weitere EchtZeitereignisse .
Vorzugsweise wird das Sicherheitsintervall SI in einem Be ¬ reich zwischen 10 % und 30 %, insbesondere 20 % der Dauer des bekannten Zeitintervalls ZI gewählt. Beispielsweise kann das bekannte Zeitintervall ZI fünf Sekunden betragen. Als Sicherheitsintervall SI wird dann beispielsweise eine Sekunde ge ¬ wählt, so dass der Prozessor bis zum Ablauf des Differenzintervalls DI von vier Sekunden in den Ruhezustand RZ geschal- tet wird.
Figur 2 zeigt eine Echtzeitumgebung 1 mit einer motorbetriebenen Komponente 2, die eine Strecke s abfährt, wobei die Po ¬ sition der Komponente 2 durch einen Sensor 3 und einen Hilfs- sensor 4 überwacht wird. Ein Antriebsmotor 5 der Komponente 2 wird von einem Prozessor 6 gesteuert. In der in Figur 2 gezeigten Position ist der Prozessor 6 in den Ruhezustand geschaltet, nachdem er gegebenenfalls ein vorhergehendes Echt ¬ zeitereignis bearbeitet hat.
Während des Abfahrens der Strecke s erreicht die motorbetrie ¬ bene Komponente 2 zunächst die Position des Hilfssensors 4, was dieser als Überschreiten eines Hilfsschwellwertes HSW de- tektiert, woraufhin er ein Hilfssignal HS generiert, mittels dessen der Prozessor 6 in den Betriebszustand BZ geschaltet wird . Die motorbetriebene Komponente 2 setzt ihre Bewegung fort und erreicht die Position des Sensors 3, was dieser als Über ¬ schreiten eines Schwellwertes SW detektiert, woraufhin er ein Signal generiert, welches ein EchtZeitereignis EZE darstellt. Der Prozessor ist zu diesem Zeitpunkt bereits im Betriebszu- stand BZ, damit er auf das EchtZeitereignis EZE reagieren kann. Beispielsweise schaltet der Prozessor 6 den Antriebsmo ¬ tor 5 infolge des EchtZeitereignisses EZE ab.
Der Hilfsschwellwert HSW ist so gewählt, dass er während der Änderung des Wertes der Größe vor dem Schwellwert SW erreicht wird .
Die vom Sensor 3 und vom Hilfssensor 4 überwachte Größe kann eine Strecke s oder eine andere Größe sein.
Jedem Sensor 3 können zwei Hilfssensoren 4, 4' zugeordnet werden, von denen einer die Überschreitung des vorgegebenen Hilfsschwellwertes HSW der Größe vor Überschreitung des
Schwellwertes SW detektiert, wobei der andere Hilfssensor 4' die Unterschreitung eines anderen Hilfsschwellwertes HSW' der Größe vor Unterschreitung des Schwellwertes SW detektiert. Beispielsweise kann so eine Annäherung der Komponente 2 an die Position des Sensors 3 aus zwei Richtungen detektiert werden .
