Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SENSOR TIME
Document Type and Number:
WIPO Patent Application WO/2013/159972
Kind Code:
A2
Abstract:
The invention relates to a sensor having a detection element, an analogue frontend and a digital backend; wherein the digital backend is to be connected to a control unit via a digital interface, wherein the sensor provides sampled data in the digital backend. The sensor contains means for providing time information relating to the sampled data in the digital backend, which information can be accessed by the control unit by means of the digital interface. The invention also relates to a method for assigning an item of time information to sampled measurement data from a sensor.

Inventors:
LAMMEL GERHARD (DE)
DORSCH RAINER (DE)
CLAUS THOMAS (DE)
Application Number:
PCT/EP2013/054505
Publication Date:
October 31, 2013
Filing Date:
March 06, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
G01D9/00
Domestic Patent References:
WO2010056246A12010-05-20
Foreign References:
US7382780B12008-06-03
Other References:
KNUTH, DONALD E: "The Art of Computer Programming", 1972, ADDISON-WESLEY
Download PDF:
Claims:
Patentansprüche

1. Sensor, der ein Erfassungselement, ein analoges Frontend und ein digitales Backend umfasst; wobei das digitale Backend über eine digitale Schnittstelle mit einer Steuereinheit zu verbinden ist, wobei der Sensor abgetastete Daten in dem digitalen Backend bereitstellt, dadurch gekennzeichnet, dass

der Sensor Mittel zum Bereitstellen von Zeitinformationen der abgetasteten Daten in dem digitalen Backend enthält, auf die durch die digitale Schnittstelle durch die Steuereinheit zugegriffen werden kann

2. Sensor nach Anspruch 1, dadurch gekennzeichnet, dass die Mittel zum Bereitstellen von Zeitinformationen ein Abtasttimerregister umfassen.

3. Sensor nach Anspruch 2, dadurch gekennzeichnet, dass die Mittel zum Bereitstellen von Zeitinformationen ein Abtastzählerregister umfassen.

4. Sensor nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass das Abtastzählerregister und/oder das Abtasttimerregister in einer atomischen Operation mit den abgetasteten Daten ausgelesen werden können.

5. Sensor nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das digitale Backend einen FI FO-Speicher umfasst. 6. Verfahren zum Zuordnen einer Zeitinformation zu abgetasteten Messdaten eines Sensors, gekennzeichnet durch die folgenden Schritte:

a) Bereitstellen eines Sensors nach einem der vorhergehenden Ansprüche 1- 5.

b) Bereitstellen einer Steuereinheit, die über eine digitale Schnittstelle mit dem Sensor verbunden ist

c) Zugreifen auf die abgetasteten Daten des Sensors durch die Steuereinheit d) Zugreifen auf die Zeitinformation der abgetasteten Daten des Sensors durch die Steuereinheit

e) Berechnen eines Zeitstempels durch die Steuereinheit

f) Zuordnen des Zeitstempels zu den abgetasteten Daten durch die Steuereinheit.

7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Steuereinheit dafür ausgelegt ist, die Datenausleselatenz durch Lesen der abgetasteten Daten, wenn eine vorhergesagte Abtastzeit erreicht ist, zu verringern; wobei das Verfahren t(l) verwendet, um die Zeit vorherzusagen, zu der die nächsten abgetasteten Daten in dem digitalen Backend bereitgestellt werden.

8. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Steuereinheit dafür ausgelegt ist, Jitter der Zeitstempel zu verringern, wobei die Steuereinheit das Abtasttimerregister und/oder das Abtastzählerregister verwendet, um eine tatsächliche Abtastzeit mit einer Sub- Abtastauflösung zu berechnen.

9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass ein Sensor nach Anspruch 5 bereitgestellt wird und die Zeitstempel t unter Verwendung von t=f(n) für die Abtastwerte l...n in dem FI FO berechnet werden.

10. Sensorsystem, das einen Sensor nach einem der Ansprüche 1 bis 5 und eine Steuereinheit, die mit dem Sensor verbunden ist, umfasst.

Description:
Beschreibung Titel

Sensorzeit

Stand der Technik

Die Erfindung betrifft einen Sensor mit einem Erfassungselement, einem analogen Frontend und einem digitalen Backend; wobei das digitale Backend über eine digitale Schnittstelle mit einer Steuereinheit zu verbinden ist, wobei der Sensor abgetastete Daten in dem digitalen Backend bereitstellt.

Die Erfindung betrifft außerdem ein Verfahren zum Vergeben einer Zeitinformation an abgetastete Messdaten eines Sensors.

US-7382780 Bl beschreibt die retrospektive Zeitsynchronisation unter Verwendung von Abtastwertzählern und eines Echtzeit- Takts sowie die Sammlung von Daten in Rahmen. Sie betrifft nicht Sub-Abtastintervall-Zeiten. Ein Sensor besteht typischerweise aus einem Erfassungselement, einem analogen Frontend und einem digitalen Backend, wie in Fig. 1 zu sehen ist. Das Erfassungselement setzt die zu messende physikalische Größe in ein Analogsignal um und das analoge Frontend steuert das Erfassungselement und verarbeitet das Analogsignal und setzt es in ein Digitalsignal um. Das digitale Backend führt z.B. Datenfilterung, Ereigniserzeugung und Steuerung des analogen Frontend durch. Ein oder mehrere Sensoren sind durch eine digitale

Schnittstelle des digitalen Sensor- Backend mit einer Steuereinheit verbunden, z.B einem Anwendungsprozessor in einem Smartphone oder Internet- Tablet, einem dedizierten Mikrocontroller (μθ) oder einer beliebigen anderen Implementierung einer Steuereinheit in Hardware oder Software. Der Sensor tastet Sensordaten mit einer konfigurierbaren Ausgangsdatenrate odr ab und speichert die verarbeiteten Sensordatenabtastwerte in dem digitalen Backend. Gegebenenfalls kann das digitale Backend einen FI FO-Speicher zur Sensordatenspeicherung enthalten. Die Steuereinheit liest die Sensordaten über die digitale Schnittstelle aus dem digitalen Backend. Die Sensoren verfügen über keinen Begriff der globalen Zeit, d.h beim Verarbeiten der Sensordaten in der Steuereinheit wird typischerweise angenommen, dass die Zeit, zu der die Steuereinheit die Sensordaten ausliest, mit der Zeit identisch ist, zu der die Sensordaten abgetastet wurden.

Sensoren implementieren typischerweise Filterfunktionen, z.B ein Tiefpassfilter, mit einer bestimmten Bandbreitengrenze.

Die Ausgangsdatenrate des Sensors hängt oft von Umgebungsparametern wie Temperatur ab. Bei Änderungen an diesen Parametern sind Schwankungen von 10% der Ausgangsdatenrate nicht unüblich. Die Steuereinheit mit einer unabhängigen und typischerweise genaueren Zeitreferenz liest die Daten asynchron aus dem Sensor mit einer Auslesedatenrate rdr wie in Fig. 2 gezeigt.

Jeder Abtastintervallkasten (10) gibt einen neuen Sensordatenabtastwert an, der in dem digitalen Teil gespeichert wird, die Pfeile unten geben die Auslesungen (30) der Steuereinheit aus dem Sensor an, die in diesem Beispiel häufiger sind als der Sensor Ausgangsdaten erzeugt. Da typischerweise angenommen wird, dass die Sensordaten-Abtastzeit und die Sensordaten-Auslesezeit identisch sind, bedeutet dies, dass die Verzögerung zwischen der Erzeugung von Ausgangsdaten und der Auslesung nicht berücksichtigt wird. Durch diese Annahme wird ein Zeitjitter eingeführt, das durch die Jitterkästen (20) angegeben ist. Das durch den beschriebenen Mechanismus hinzugefügte mittlere Jitter wird gegeben durch

Oft werden Daten von mehr als einem Sensor verwendet, um Fusionsdaten, z.B. Orientierung im Raum oder Position einer mobilen Einrichtung, zu berechnen.

Diese Techniken werden oft in Trägheitsmesseinheiten (IMUs) verwendet. Jitter verschlechtert die Genauigkeit der berechneten Daten.

Zusätzlich zu der Fehlanpassung zwischen odr und rdr kommt Latenz dazu, die sich auf bestimmte Anwendungen, z.B. Echtzeit-Spielanwendungen, auswirken kann.

Es gibt drei bekannte Lösungen für das oben beschriebene Problem. Das Vergrößern der Auslesedatenrate rdr verkleinert das mittlere Jitter gemäß der Gleichung für Jitter ave rage- Das Vergrößern der Ausgangsdatenrate odr verkleinert das mittlere Jitter gemäß der Gleichung für Jitter ave rage- Das Vergrößern der Ausgangsdatenrate wird durch derzeitige Sensoren, z.B. den Dreiachsen- Beschleunigungssensor BMA255 Digital, unterstützt. Das Triggern von Auslesungen durch Interrupts ist eine andere Technik, die von dem Sensor erfordern soll, ein Interrupt zu der Steuereinheit zu senden, wenn neue Daten verfügbar sind. Dies leitet dann das Auslesen von Daten aus dem Sensor ein.

Diese bekannten Lösungen können jedoch einige Nachteile umfassen. Das Vergrößern der Auslesedatenrate rdr vergrößert die Arbeitslast für die Steuereinheit. Falls die Steuereinheit in Software implementiert ist und der ausführende Prozessor nur niedrige Auslastung aufweist, vergrößert diese Lösung die Anzahl der Übergänge des Ausführungsprozessors von inaktiv in ein- Zustände, wodurch der Stromverbrauch signifikant vergrößert wird.

Das Vergrößern der Ausgangsdatenrate odr bedeutet, dass, wenn die Abtastrate vergrößert wird, dadurch Rauschen auf den Sensordaten vergrößert wird. Wenn nur die Ausgangsdatenrate unabhängig von der Bandbreite des Tiefpassfilters geändert wird, wird die Implementierung des digitalen Backend komplexer. Dadurch erhöht sich die erforderliche Siliziumfläche und der Stromverbrauch des digitalen Backend. Die Kosten für die Sensorhardware und den Betrieb des Sensors nehmen somit zu.

Das Triggern von Auslesungen durch Interrupts erfordert separate Leitungen für das Interrupt-Signal zusätzlich zu typischen Schnittstellen wie I2C, wodurch Kosten hinzukommen. Zusätzlich ist das Verarbeiten von Interrupts durch Software auf der Steuereinheit nicht sehr effizient, da ein Interrupt einen Kontextwechsel in dem Prozessor erfordert. Dies wirkt sich auf Cache-Hit-

Verhältnisse in dem Prozessor und ähnliche Leistungsfähigkeitsparameter aus. Wenn viele Sensoren mit einem Prozessor verbunden sind, skaliert sich diese Lösung nicht gut. Zusätzlich werden bei vielen modernen mobilen Plattformen Interrupts nicht unmittelbar versorgt, und somit behandelt die Lösung das Problem nur teilweise.

Offenbarung der Erfindung Aufgabe der Erfindung

Die Erfindung hat die Aufgabe einen Sensor zu schaffen, dessen Messdaten möglichst präzise einen Messzeitpunkt zugeordnet werden können. Die Erfindung hat auch die Aufgabe ein Verfahren zur Zuordnung von Messdaten eines Sensors zu einem Messzeitpunkt zu schaffen.

Zeichnung

Fig. 1 zeigt einen vorbekannten Sensor und eine Steuereinheit.

Fig. 2 zeigt eine vorbekannte Sensorausgangsdatenrate als Funktion der

Lesedatenrate einer Steuereinheit.

Fig. 3 zeigt einen Abtasttimer eines Sensors gemäß einer ersten Ausführungsform der Erfindung.

Fig. 4 zeigt einen Sensortimer, der aus einem Abtastzähler und einem Abtasttimer eines Sensors besteht, gemäß einer zweiten Ausführungsform der Erfindung. Fig. 5 zeigt zwei Sensoren, die jeweils ihre Abtastwerte in einem FI FO-Speicher mit etwas unterschiedlicher Abtastrate speichern.

Fig. 6 zeigt einen Sensor gemäß der Erfindung und eine Steuereinheit.

Fig. 7 zeigt ein Verfahren zur Vermeidung von Jitter beim Datenauslesen des Sensors.

Fig. 8 zeigt ein Verfahren zur Echt-Ausgabedatenratenschätzung des Sensors. Fig. 9 zeigt ein Verfahren zum Verringern von Latenz beim Beschaffen von Daten aus dem Sensor.

Fig. 10 zeigt ein Verfahren zum Verringern von Jitter unter Verwendung eines FI FO-Speichers in dem Sensor.

Beschreibung der Erfindung anhand von Ausführungsbeispielen

Fig. 3 zeigt einen Abtasttimer eines Sensors gemäß einer ersten Ausführungsform der Erfindung. Bei einer ersten Ausführungsform der Erfindung wird ein Register zu dem in Fig. 1 beschriebenen Sensor hinzugefügt. Das Register enthält das Alter der Sensordaten und wird durch das digitale Backend des Sensors aktualisiert. Das zusätzliche Register erlaubt es der Steuereinheit, das Alter der

Sensordaten seit ihrer Erzeugung auszulesen. Dies kann als separater Zähler realisiert werden, oder ein existierender Zähler kann wiederverwendet werden, wodurch die Datenabtastung gesteuert wird. Der Zähler wird nach neuer Datenabtastwerterzeugung zurückgesetzt und läuft weiter, bis Daten durch die Steuereinheit ausgelesen werden, oder länger. Der "Abtasttimer" ist der Wert des Abtastzeitregisters, normiert auf eine Abtastperiode. Die Abtastperiode wird durch 1/odr gegeben. Wenn man beispielsweise eine Abtastperiode von 10 ms hat, hätte, wenn der Datenabtastwert zum Zeitpunkt des Auslesens 3 ms alt ist, der Abtasttimer den Wert 0,3 Abtastperioden (zum Auslesezeitpunkt). Dadurch kann Jitter verringert werden. Das Lesen des Abtasttimers erlaubt es der Steuereinheit, zu bestimmen, wie alt die Daten zum Zeitpunkt des Auslesens aus dem Sensor sind. Im Idealfall kann dieses Abtasttimerregister atomisch (in einem Datenblock ohne Unterbrechung) mit den Sensordaten ausgelesen werden. Die Steuereinheit kann mit Bezug auf ihre Steuersystemzeit den Zeitpunkt in der Vergangenheit rekonstruieren, zu dem die Sensordaten tatsächlich erzeugt wurden. Wenn sich mehr als ein Sensor in einem System befindet, z. B. ein Beschleunigungsmesser, ein Gierratensensor und ein Magnetometer, sind synchronisierte Sensordaten für Sensorfusionsalgorithmen wichtig. Verringertes Jitter erlaubt bessere Sensordatensynchronisation. Dadurch vergrößert sich die Leistungsfähigkeit des Sensorfusionsalgorithmus.

Fig. 4 zeigt einen Sensortimer, der aus einem Abtastzähler und einem Abtasttimer eines Sensors besteht, gemäß einer zweiten Ausführungsform der Erfindung. Bei einer zweiten Ausführungsform der Erfindung wird ein Register zu dem in Fig. 3 beschriebenen Sensor hinzugefügt. Wenn zusätzlich zu dem Abtasttimer ein Abtastzähler vorliegt, soll dies als Sensorzeit bezeichnet werden. Man kann damit den Sensortakt als Funktion des Steuersystemtakts messen. Die Steuereinheit kann die Sensorzeit an zwei Zeitpunkten auslesen und die reale Ausgangsdatenrate rodr berechnen. Die reale Ausgangsdatenrate erlaubt, vorherzusagen, wann die nächsten erzeugten Sensordaten verfügbar sind, was zur Verringerung von Latenz beim Lesen von Sensordaten verwendet werden kann, ohne die Leistung signifikant zu vergrößern. Zusätzlich erlaubt es die Schätzung der Datenerzeugungszeiten der Datenrahmen im FI FO, wodurch widerum bessere Datensynchronisation ermöglicht wird.

Fig. 5 zeigt zwei Sensoren, die jeweils ihre Abtastwerte in einem FI FO-Speicher mit etwas unterschiedlicher Abtastrate speichern, obwohl die konfigurierte Ausgangsdatenrate für die Sensoren identisch sein könnte. Die Figur zeigt in einem Beispiel das Problem des asynchronen Abtastens zweier Sensoren. Im selben Moment mit der Abtastung beginnend speichert in einem gegebenen Zeitraum Sensor A 12 Abtastwerte in einem FI FO, während Sensor B nur 11 Abtastwerte speichert. Ohne einen Sensortimer werden, wenn die Abtastzeit auf der Basis der Auslesezeit und des konfigurierten OD R berechnet wird, die Abtastwerte in dem FI FO in diesem Beispiel um mehr als eine Abtastperiode fehlausgerichtet. Fig. 6 zeigt einen Sensor gemäß der Erfindung und eine Steuereinheit. Zusätzlich zu dem vorbekannten Sensor von Fig. 1 sind ein Datenregister für Sensordaten, ein Abtasttimer und ein Abtastzähler in dem digitalen Backend vorgesehen. Um gemessene Daten, Abtastzähler und Abtastzeit auszulesen, ist die Steuereinheit CU über Schnittstelle mit dem Sensor verbunden. Zusätzlich kann ein FI FO- Speicher in dem digitalen Backend vorgesehen sein. In diesem FI FO können Werte von Sensordaten gespeichert werden.

Ein anderer Aspekt der Erfindung ist ein Verfahren zur Jitterverringerung beim Beschaffen von Daten von dem Sensor. Fig. 7 zeigt ein Verfahren zur Vermeidung von Jitter beim Datenauslesen des Sensors. Die Steuereinheit liest die Sensordaten und die Sensorzeit aus. Der Abtasttimer- Teil des Sensorzeit- Inhalts ist direkt das in den Jitterkästen 20 in Fig. 2 gezeigte Jitter. Die Steuereinheit berechnet die Datenerzeugungszeit, d.h. die tatsächliche Sensorzeit, durch Subtrahieren von Abtasttimer * Abtastperiode von ihrer aktuellen Systemzeit. Die Steuereinheit CU verwendet dann tatsächliche Sensorzeit anstelle der Systemzeit als einen Zeitstempel für die beim Datenauslesen bereitgestellten abgetasteten Daten.

Tatsächliche Sensordatenzeit = Systemzeit beim Datenauslesen - Abtasttimer * Abtastperiode

Als eine Erweiterung können eine zusätzliche Verzögerung für das Abtasten (z. B. in dem Sensor- Frontend), Datenverarbeitung (z. B. in dem Sensor- Backend) und Lesen der Daten subtrahiert werden.

Ein anderer Aspekt der Erfindung ist ein Verfahren zur Echt- Ausgangsdatenratenschätzung beim Beschaffen von Daten aus dem Sensor wie in Fig. 8 gezeigt. Es wird angenommen, dass die Sensorzeit atomisch ausgelesen wird, d.h. in einer Operation auf der digitalen Schnittstelle darf sich die Sensorzeit während der Leseoperation nicht ändern, z.B. muss der Abtastzähler mit dem Abtasttimer kompatibel sein. Implementierungsbeispiel:

Das Sensorzeit- Register hat einen Bereich rst

ftsf < = 2^'' ^ es Abtastzählers

Die maximal mögliche Ausgangsdatenrate ist odr max

Ein potentieller Überlauf kann korrigiert werden, wenn die Sensorzeit zum Zeitpunkt tl und t2 mit

t2 < tl + rst/odr max

ausgelesen wird. Die reale Ausgangsdatenrate rodr (z. B. in Einheiten Abtastwerte/s) kann unter Verwendung von

rodr = mod(Sensorzeit(f2) - Sensorzeit(Ü) sf)/(f2-Ü)

geschätzt werden, wobei die modulo-Operation von Knuth, Donald E, The Art of Computer Programming, Addison-Wesley, 1972, definiert wird.

Anwendungen der rodr sind z. B. Verringern von Latenz oder Verringern des Jitter, wenn FI FOs verwendet werden, bevor die Steuereinheit die Daten erhält.

Ein anderer Aspekt der Erfindung ist ein Verfahren zum Verringern der Latenz beim Beschaffen von Daten aus dem Sensor wie in Fig. 9 gezeigt.

Die rodr kann dann verwendet werden, um die zukünftigen Zeiten t(n) zu berechnen, zu denen die nächsten n Abtastwerte für die Steuereinheit zum Abruf aus dem Sensor bereit sind,

t(n) = t2 + (n - Abtasttimer(t2)/rodr

n>=l...

Dadurch kann die Steuereinheit vorhersagen, wann die nächsten Daten erzeugt werden, und sie mit geringer Latenz abrufen, unmittelbar nachdem Daten in dem

Sensor verfügbar sind.

Ein anderer Aspekt der Erfindung ist ein Verfahren zum Verringern von Jitter unter Verwendung von FI FO-Speicher in dem Sensor wie in Fig. 10 gezeigt. Die rodr kann verwendet werden, um die vergangenen Zeiten tf(n) zu berechnen, zu denen der nte Rahmen in dem FI FO erzeugt wurde.

tf(n) = t2 - Abtasttimer(t2) + n - l)/rodr

Wenn die odr anstelle der rodr verwendet wird, entsteht ein Fehler von 5% in der odr in einem FI FO mit 10 Elementen in 50% eines Abtastperioden-Jitter. Stattdessen rodr zu verwenden, löst dieses Problem.

Ein anderer Aspekt der Erfindung ist ein Verfahren zum Erweitern des Messintervalls des Sensors wie in Fig. 8 gezeigt.

Die Beschränkung des Messintervalls auf

rst/odr max

kann gelockert werden, wenn die minimal mögliche Ausgangsdatenrate odr mm dem Messintervall

rst/(odr max -odr mm )

bekannt ist, wodurch eine eindeutige Korrelation mit der Anzahl der Sensorzeitüberläufe sto mit Bezug auf Sensorzeit (tl) ermöglicht wird,

rodr = (mod(Sensorzeit(t2) - Sensorzeit(tl),rst) + sto * rst)/(t2-tl) mit sto = stomod mt

tom °C/ min dabei ist

sto = (t2-tl)*odr m rst

stomod mm = mod((t2-tl)*odr mm ,rst)

realmod = mod(Sensorzeit(t2) - Sensorzeit(tl),rst)

Hier ist sto min die Mindestzahl der Sensorzeit-Überläufe, die auf der minimalen odr basiert. Ein Sensorzeitüberlauf zum Zeitpunkt t wird gegeben, wenn

Sensorzeit(t) = Sensorzeit(tl) ist.

Die maximale Anzahl der Überläufe kann nur um eins größer als die Mindestzahl sein, andernfalls ist die eindeutige Korrelation von Sensorzeitüberläufen mit Sensorzeit nicht mehr möglich. Wenn der modulo-Wert aus den gemessenen Sensorzeitdaten unter dem modulo-Wert des Mindest-oc/r liegt, muss es einen zusätzlichen Sensorzeitüberlauf geben.