Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PROCESSING THE SIGNAL OF A PLURALITY OF ANALOG INPUT SIGNALS BY MEANS OF A COMMON ANALOG-DIGITAL CONVERTER AND SUITABLE CIRCUIT
Document Type and Number:
WIPO Patent Application WO/2006/099846
Kind Code:
A1
Abstract:
The invention relates to a method and to a signal processing unit for processing the signal of a plurality of analog input signals (4.1) by means of a common analog-digital converter (4.0) which detects, in a consecutive manner and in one cycle, at least one part of the analog input signal (4.1), converts (4.0) and respectively, actualises a corresponding digital value in the respectively associated intermediate memory (2.1). Said intermediate memories (2.1 ) are read in a sequential manner (.6) by means of a common interface (2). At least during one cycle, the respective, actualised intermediate memory (2.1) is recorded (2.3,4.3). Also, the state of the A/D-indicator can be stored in a register or a marking, which indicates the actualisation state, can be provided.

Inventors:
FENDT GUENTER (DE)
KEMMETTER HERMANN (DE)
GOETZ MARIO (DE)
MICHEL FRANK (DE)
WEICHENBERGER LOTHAR (DE)
MICHEL HEIKO (DE)
FEY WOLFGANG (DE)
HELLDOERFER REINHARD (DE)
ZOERKLER GERHARD (DE)
YERLIKAYA METIN LEVENT (DE)
NAU CHRISTIAN (DE)
Application Number:
PCT/DE2006/000487
Publication Date:
September 28, 2006
Filing Date:
March 18, 2006
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CONTI TEMIC MICROELECTRONIC (DE)
CONTINENTAL TEVES AG & CO OHG (DE)
FENDT GUENTER (DE)
KEMMETTER HERMANN (DE)
GOETZ MARIO (DE)
MICHEL FRANK (DE)
WEICHENBERGER LOTHAR (DE)
MICHEL HEIKO (DE)
FEY WOLFGANG (DE)
HELLDOERFER REINHARD (DE)
ZOERKLER GERHARD (DE)
YERLIKAYA METIN LEVENT (DE)
NAU CHRISTIAN (DE)
International Classes:
H03M1/12; G06F3/05; G06F5/10; G06F5/12
Foreign References:
US5291197A1994-03-01
DE19812917A11999-09-30
US5696768A1997-12-09
Download PDF:
Claims:
Patentansprüche
1. , Verfahren zur Signalverarbeitung einer Mehrzahl analoger Eingangssignale (4.1) mit einem gemeinsamen AnalogDigitalWandler (4.0), der in einem Durchlauf zumindest einen Teil der analogen Eingangssignale (4.1) nacheinander erfasst, wandelt (4.0) und jeweils einen entsprechenden Digitalwert in dem jeweils zugeordneten Zwischenspeicher (2.1) aktualisiert, wobei die Zwischenspeicher (2.1) über eine gemeinsame Schnittstelle (2) ebenfalls sequentiell (2.6) ausgelesen werden, dadurch gekennzeichnet, daß zumindest während eines Durchlaufs in einem auslesbaren Speicherbereich (2.3,4.3) vermerkt wird, welcher Zwischenspeicher (2.1) jeweils aktualisiert wurde.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, daß bei dem Auslesen zumindest eines vorgegebenen Zwischenspeichers (2.1. y) vermerkt (2.3) wird, welcher Zwischenspeicher (2.1.x) zu diesem Zeitpunkt gerade durch den A/DWandler (4.0) aktualisiert wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß nach dem Auslesen zumindest eines vorgegebenen Zwischenspeichers (2.1. y) auch die vermerkte (2.3) Position (x) des zum Zeitpunkt des Auslesens dieses vorgegebenen Zwischenspeichers (2.1. y) gerade durch den A/DWandler aktualisierten Zwischenspeichers (2.1.x) ausgelesen wird.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß aus der Position (y) des vorgegebenen Zwischenspeichers (2.1. y) sowie der Position (x) des gerade aktualisierten Zwischenspeichers (2.1.x) auf den Zeitpunkt (= (xy)* At1 ) der Aktualisierung des vorgegebenen Zwischenspeichers (2.1.y) geschlossen und die zeitliche Zuordnung des Wertes des vorgegebenen Zwischenspeichers (2.1.y) oder der Wert des Zwischenspeichers (2.1.y) angepasst wird. 5) Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß aus dem aktuellen Wert des vorgegebenen Zwischenspeichers (2.1. y) sowie zumindest einem vorhergehenden Wert dieses Zwischenspeichers (2.1. y) sowie den jeweiligen Zeitpunkten der Aktualisierung ein Wert der Eingangsgröße für einen vorgegebenen Zeitpunkt durch Interpolation abgeschätzt wird.
5. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß der Wert eines Zwischenspeichers (2.1. y) durch Interpolation auf einen gleichen Zeitpunkt wie der Wert eines anderen Zwischenspeichers (2.1. y+1) bezogen und die Werte beider Zwischenspeicher (2.1.y,2.1.y+1) miteinander verarbeitet werden.
6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß während eines Durchlaufs zumindest für einen vorgegebenen Zwischenspeicher (2.1.x) bzw. Eingangssignal (4.1.x) jeweils eine Markierung (4.3.x) gesetzt wird, wenn die Aktualisierung dieses Zwischenspeichers (2.1.x) abgeschlossen ist, wobei die Markierung so gewählt wird, dass zwischen jeweils zumindest zwei aufeinanderfolgenden Aktualisierungsdurchläufen eindeutig unterschieden werden kann .
7. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß bei dem Auslesen zumindest eines vorgegebenen Zwischenspeichers (2.1.y) vermerkt wird, welche Markierung (4.3.y) dieses Zwischenspeichers (2.1. y) gesetzt war.
8. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß bei dem sequentiellen Auslesen einer aus mehr als einem Zwischenspeicher (2.1. y, 2.1.y1 , ...) bestehenden Gruppe vorgegebener Zwischenspeicher jeweils in einem gemeinsamen Register (2.5) vermerkt wird, welche Markierung (4.3.y) des jeweils gerade ausgelesenen Zwischenspeichers (2.1. y) gesetzt war, nachfolgend das Register (2.5) ausgelesen und dabei geprüft wird, ob für alle Zwischenspeicher deren Markierungen identisch gesetzt waren. 10) Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß die Gruppe vorgegebener Zwischenspeicher (2.1.y, 2.1.y1 , ...) ausgelesen und nach dem Auslesen der Gruppe für die gesamte Gruppe nur die Position (x) desjenigen Zwischenspeichers (2.1.x) ausgelesen wird, welcher während des Auslesen des letzten Zwischenspeichers (2.1.y) gerade aktualisiert wurde, zudem die Markierungen (4.3.y,4.3.y1 ,...) der Zwischenspeicher dieser Gruppe ausgelesen werden und bei der Übereinstimmung der Markierungen aus der Position aller Zwischenspeicher (2.1. y, 2.1.y1 , ...) der Gruppe zur Position (x) des während des letzten Auslesens eines Zwischenspeichers dieser Gruppe gerade aktualisierten Zwischenspeichers (2.1.x) die Aktualisierungszeitpunkte aller Zwischenspeicher abgeschätzt werden.
9. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass die Werte zweier Zwischenspeicher nur dann miteinander weiterverarbeitet werden, wenn die Markierungen beider Zwischenspeicher übereinstimmen.
10. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, daß aus den Positionen zumindest zweier Zwischenspeicher und deren Markierungen auf die Zeitdifferenz zwischen deren jeweiliger Aktualisierung geschlossen und diese Zeitdifferenz bei der Weiterverarbeitung der Werte der Zwischenspeicher miteinander berücksichtigt wird.
11. Signalverarbeitungseinheit (1) für eine Mehrzahl analoger Eingangssignale (4.1), mit einem gemeinsamen AnalogDigitalWandler (4.0) , der in einem Durchlauf zumindest einen Teil der analogen Eingängssignale (4.1) nacheinander erfasst und in einen Digitalwert wandelt, einen Zwischenspeicher (2.1) für jedes Eingangssignal (4.1), in dem bei einen Durchlauf jeweils ein entsprechender Digitalwert des Eingangssignals aktualisiert wird, einer gemeinsamen Schnittstelle (2), über welche die Zwischenspeicher sequentiell ausgelesen werden, dadurch gekennzeichnet, daß ein Register (4.3,2.3) vorgesehen ist, in welchem zumindest während eines Durchlaufs vermerkt wird, welcher Zwischenspeicher (2.1.x) jeweils aktualisiert wurde. 14) Signalverarbeitungseinheit nach Anspruch 13, dadurch gekennzeichnet, daß der A/DWandler (4.0) einen A/DZeiger (4.2.) aufweist, dessen Wert (x) der Position des aktuell erfassten Eingangssignals (4.1.x) und des zugeordneten Zwischenspeichers (2.1.x) entspricht, die Signalverarbeitungseinheit (1) bei jedem Auslesen zumindest eines vorgegebenen Zwischenspeichers (2.1. y) ein Steuersignal (2.4) erzeugt, auf welches hin der Wert des A/D Zeigers (4.2) in das Register (2.3) übertragen wird.
12. Signalverarbeitungseinheit nach Anspruch 14, dadurch gekennzeichnet, daß zumindest für vorgegebene Zwischenspeicher (2.1.x) bzw. Eingangssignale (4.1.x) ein Markierungsspeicher (4.3.x) vorgesehen ist, der gesetzt wird, wenn die Aktualisierung dieses Zwischenspeichers (2.1.x) abgeschlossen ist.
13. Signalverarbeitungseinheit nach Anspruch 15, dadurch gekennzeichnet, daß der Markierungsspeicher (4.3.x) aus 1 Bit je Kanal (x) besteht, welches bei jedem Durchlauf nach Abschluß der Aktualisierung des Kanals (x) invertiert wird.
14. Signalverarbeitungseinheit nach Anspruch 14 oder 15, dadurch gekennzeichnet, daß ein auslesbares Markierungsregister (2.5) vorgesehen ist, die Signalverarbeitungseinheit (1) bei jedem Auslesen zumindest eines vorgegebenen Zwischenspeichers (2.1. y) ein Steuersignal (2.4) erzeugt und auf das Steuersignal (2.4) hin zumindest der aktuelle Wert des Markierungsspeichers (4.3.y) des ausgelesenen Zwischenspeichers (2.1.y) in das Markierungsregister (2.5) gesichert wird.
Description:
Verfahren zur Signalverarbeitung einer Mehrzahl analoger Eingangssignale mit einem gemeinsamen Analog-Digital-Wandler sowie geeignete Schaltungsanordnung

Die Erfindung betrifft ein Verfahren zur Signalverarbeitung einer Mehrzahl analoger Eingangssignale mit einem gemeinsamen Analog-Digital-Wandler gemäß dem Oberbegriff von Anspruch 1. Soll eine Mehrzahl analoger Eingangssignale mit einem gemeinsamen Analog-Digital-Wandler digitalisiert werden, so wird sequentiell jeweils eines der analogen EΞingangssignale erfasst, gewandelt und ein entsprechender Digitalwert in dem zugeordneten Zwischenspeicher aktualisiert. Die Zwischenspeicher können als Register ausgestaltet und dann parallel oder über eine gemeinsame Schnittstelle ebenfalls sequentiell ausgelesen werden. A/D-Wandler zur Wandlung einer Mehrzahl analoger Eingangssignale können mittels einer synchronen Betriebsart bspw. von einem Mikrocontroller synchronisiert betrieben werden, wobei das Schreiben in den Zwischenspeicher und das Auslesen daraus fest synchronisiert werden. Diese Betriebsart ist aufwendig und weist zudem gewisse Probleme auf, wenn mehr als ein μC die Ergebnisse auswerten will (sofern die μCs zueinander nicht synchronisiert sind). Darüber hinaus ist ein unsynchronisierter Betrieb denkbar. Figur 1 zeigt eine

Erfassungsvorrichtung gemäß dem Stand der Technik, bei dieser eine freilaufende A/D- Wandlereinheit (4) mit beispielsweise 20 Eingangs-Kanälen (4.1) zyklisch die (nicht näher dargestellten zu erfassenden) Signalquellen / Signalgrößen erfasst und wandelt. Pro Wandelvorgang mittels des A/D-Wandlers 4.0 für einen A/D-Kanal wird eine Zeit Δt1 benötigt, so dass für die Wandlung aller Kanäle die entsprechend x-fache Zeit benötigt wird (im Beispiel 20 * Δt1). Nach der Erfassung und Wandlung der Signalquelle / Signalgröße von A/D-Kanal 20, wird automatisch wieder bei A/D-Kanal 1 gestartet. Der A/D-Zeiger (4.2) zeigt hierbei jeweils auf den aktuell zur Wandlung ausgewählten A/D-Kanal (4.1).

Nach jeder einzelnen A/D-Wandlung wird das Ergebnis der Wandlung in einem für den jeweiligen A/D-Kanal (4.1) zugeordneten Register (2.1) bspw. einer SPI-Schnittstelle zwischengespeichert (2.2), damit das Ergebnis zur weiteren Verarbeitung von diesem Register (2.1) (Registern) abgeholt / ausgelesen werden kann. Der Mikro-Controller (3) kann bspw. mittels seiner SPI-Schnittstelle die Daten der Registerinhalte / Ergebnisregister (2.1) auslesen, wozu zum Auslesen eines jeweiligen ausgewählten einzelnen Registers (2.1) eine Zeit Δt2 erforderlich ist. Entsprechend der Anzahl der auszulesenden Registerinhalte / Registerwerte, wird hierfür ein Vielfaches der Zeit Δt2 benötigt. Das Auslesen geht jedoch in der Regel deutlich schneller (Δt1 > Δt2) als der A/D-Wandlungs- und Registeraktualisierungsprozeß.

Da der A/D-Wandler freilaufend, d.h. ohne Synchronisation zur SPI-Schnittstelle bzw. ohne Triggerung des Beginns eines Wandlerzyklus die Signalquellen / Signalgrößen erfasst und wandelt (wofür eine gewisse Zeit benötigt wird), kann beim Auslesen der Register-Daten / Registerwerte (2.1 ) mittels der SPI-Schnittstelle keine exakte zeitliche Zuordnung getroffen werden, wie aktuell die entsprechenden Register-Daten / Registerwerte (2.1) sind, da je nach relativer Position des A/D-Zeigers (4.2) zur Position des auszulesenden Registers (2.1 ) der Inhalt der Register-Daten / Registerwerte (2.1) entweder sehr aktuell oder bis zu 20 mal der Wandlungszeit (4.5) (20 * Δt1) alt sein kann. In ungünstigen Fällen kann dieser Effekt sogar dazu führen, dass zwei benachbarte Registerinhalte beim Auslesen jeweils mit einer größeren Zeitdifferenz unterschiedlich alt sein können, obwohl die beiden Registerinhalte innerhalb eines Durchlaufs zeitlich sehr eng zusammen liegend beschrieben werden.

Durch eine Drift der beiden Frequenzen (Δt1 ≠ Δt2) kann sich dieser Effekt noch verstärken und über alle jeweils benachbarten Register erstrecken. Der Lesezugriff kann also den Schreibzugriff quasi "ein-" oder gar "überholen". Die Aufgabe der vorliegenden Erfindung ist es daher, ein Verfahren sowie eine dazugehörige Schaltungsanordnung zur Signaiverarbeitung einer Mehrzahl analoger Eingangssignale mit einem gemeinsamen Analog-Digital-Wandler vorzustellen, bei dem ohne starre Synchronisierung von Schreib- und Lesezugriff auf den Zwischenspeicher eine zeitliche Zuordnung möglich wird.

Diese Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst. Vorteilhafte Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen, wobei auch Kombinationen und Weiterbildungen einzelner Merkmale miteinander denkbar sind.

Ein wesentlicher Gedanke der Erfindung besteht darin, dass vermerkt wird, welche Zwischenspeicher während eines Durchlaufs bereits aktualisiert wurden. Dies kann bspw. durch entsprechende Markierungen für die Zwischenspeicher oder auch die Abfrage der Position des A/D-Zeigers erfolgen. Es wird also ein Verfahren zur Signalverarbeitung einer Mehrzahl analoger Eingangssignale mit einem gemeinsamen Analog-Digital-Wandler beschrieben, wobei der A/D-Wandler in einem Durchlauf zumindest einen Teil der analogen Eingangssignale nacheinander erfasst, wandelt und jeweils einen entsprechenden Digitalwert in dem jeweils zugeordneten Zwischenspeicher aktualisiert. Die Zwischenspeicher werden über eine gemeinsame Schnittstelle ebenfalls sequentiell ausgelesen.

Zumindest während eines Durchlaufs wird vermerkt, welcher Zwischenspeicher jeweils aktualisiert wurde. Nach dem Durchlauf können die Informationen beispielsweise durch den nächsten' Durchlauf überschrieben werden. Darüber hinaus könnten natürlich die Informationen über mehrere Durchläufe gespeichert und ausgewertet werden. Vorzugsweise wird bei dem Auslasen zumindest eines vorgegebenen Zwischenspeichers vermerkt, welcher Zwischenspeicher zum Zeitpunkt des Auslesens gerade durch den A/D-Wandler aktualisiert wird, also wo bspw. ein entsprechender A/D-Zeiger gerade steht.

Vorzugsweise wird nach dem Auslesen zumindest eines vorgegebenen Zwischenspeichers auch die vermerkte Position des zum Zeitpunkt des Auslesens dieses vorgegebenen Zwischenspeichers gerade durch den A/D-Wandler aktualisierten Zwischenspeichers ausgelesen und aus der Position des vorgegebenen Zwischenspeichers sowie der Position des gerade aktualisierten Zwischenspeichers auf den Zeitpunkt der Aktualisierung des vorgegebenen Zwischenspeichers geschlossen und die zeitliche Zuordnung des Wertes des vorgegebenen Zwischenspeichers oder der Wert angepasst.

Dabei kann beispielsweise eine zumindest annähernd bekannte Zykluszeit für die Dauer einer Aktualisierung verwendet werden.

Aus dem aktuellen Wert des vorgegebenen Zwischenspeichers sowie zumindest einem vorhergehenden Wert dieses Zwischenspeichers bzw. der Eingangsgröße sowie den jeweiligen Zeitpunkten der Aktualisierung kann vorzugsweise ein Wert der Eingangsgröße für einen vorgegebenen Zeitpunkt durch Interpolation abgeschätzt werden.

Bspw. die Werte zumindest zweier nacheinander ausgelesener Zwischenspeicher durch

Interpolation zumindest eines der Werte auf einen gleichen Zeitpunkt bezogen und miteinander verarbeitet werden. Dies ist beispielsweise für miteinander korrelierte Messgrößen wichtig, wie bspw. die Beschleunigungen in zwei Richtungen, die zu einer Gesamtbeschleunigung vektoriell

verknüpft werden sollen, wie dies beispielsweise zur Richtungsdetektion bei Beschleunigungen für die Auslösung von Insassenschutzeinrichtungen erforderlich ist.

Während eines Durchlaufs zumindest für vorgegebene Zwischenspeicher bzw. Eingangssignale wird vorzugsweise jeweils eine Markierung gesetzt, wenn die Aktualisierung dieses Zwischenspeichers abgeschlossen ist. Dadurch können insbesondere Fälle paralleler Lese- und Schreibzugriffe erkannt werden.

Vorzugsweise wird bei dem Auslesen zumindest eines vorgegebenen Zwischenspeichers vermerkt, ob zumindest die Markierung dieses vorgegebenen Zwischenspeichers bereits gesetzt, die Aktualisierung also abgeschlossen war. Alternativ oder ergänzend kann eine Markierung vorgesehen werden, in der vermerkt wird, ob ein Wert im Zwischenspeicher bereits einmal ausgelesen wurde, wobei die Markierung so gewählt wird, dass zwischen jeweils zumindest zwei aufeinanderfolgenden Aktualisierungsdurchläufen eindeutig unterschieden werden kann. Dadurch kann bei einem Lesezugriff erkannt werden, ob ein alter, d.h. bereits einmal gelesener Wert nochmals gelesen wird oder es sich um einen neuen Wert handelt. Im Gegensatz zu einem Handshake-Verfahren ist dabei auch erkennbar, ob ein alter Wert vorliegt, unabhängig davon, ob dieser nun ausgelesen wurde oder nicht. Um zwei aufeinander folgende Aktualisierungsdurchläufe eindeutig unterscheiden zu können, reicht eine 1 -Bit- Information, wobei für eine höhere Genauigkeit auch ein kleiner Zähler mit mehr als 1 Bit vorgesehen sein kann, der bei jedem Schreibzugriff entsprechend inkrementiert wird. Bereits eine kleine Bitanzahl reicht dabei aus, um die erforderliche zeitliche Zuordnung zu ermöglichen, ohne dass aufwändige Zeitstempelverfahren mit entsprechend hohem Speicherbedarf erforderlich wären.

Dieses Verfahren mit der für zumindest zwei aufeinander folgende Aktualisierungsdurchläufe, also Schreibzugriffe eindeutigen Markierung ermöglicht bereits eine Zeitdifferenz zwischen zwei Werten zweier Zwischenspeicher zu gewinnen, ohne dass eine Absolutzeitinformation bspw. durch den Vermerk des jeweils aktuell gerade aktualisierten Zwischenspeichers erforderlich ist.

Bei dem sequentiellen Auslesen einer aus mehr als einem Zwischenspeicher bestehenden Gruppe vorgegebener Zwischenspeicher wird bevorzugt jeweils in einem gemeinsamen Register vermerkt, ob die Markierung des gerade ausgelesenen Zwischenspeichers bereits gesetzt war. Nachfolgend wird das Register ausgelesen und dabei geprüft, ob für alle Zwischenspeicher die Markierung identisch gesetzt war. Dann gab es keinen Schreibzugriff während des Lesens auf die Zwischenspeicher.

In einer Weiterbildung wird die Gruppe vorgegebener Zwischenspeicher ausgelesen und nach dem Auslesen der Gruppe für die gesamte Gruppe nur die Position desjenigen Zwischenspeichers ausgelesen, welcher während für des Auslesen des letzten Zwischenspeichers gerade aktualisiert wurde. Zudem werden die Markierungen der Zwischenspeicher dieser Gruppe ausgelesen und bei der Übereinstimmung der Markierungen aus der Position aller Zwischenspeicher der Gruppe zur Position des während des letzten Auslesens eines Zwischenspeichers dieser Gruppe gerade

aktualisierten Zwischenspeichers die Aktualisierungszeitpunkte aller Zwischenspeicher abgeschätzt.

Es reicht also ein einmaliges Auslesen des Zeiger-Registers für die zeitliche Zuordnung aller Messwerte, wenn anhand der Markierungen nur ausgeschlossen werden kann, dass das Auslesen das Aktualisieren eingeholt hat.

Entsprechend wird eine Signalverarbeitungseinheit für eine Mehrzahl analoger Eingangssignale vorgestellt. Es ist ein gemeinsamer Analog-Digital-Wandler vorgesehen, der in einem Durchlauf zumindest einen Teil der analogen Eingangssignaie nacheinander erfasst und in einen Digitalwert wandelt. Weiterhin ist jeweils ein Zwischenspeicher für jedes Eingangssignal vorhanden, in dem bei einen Durchlauf jeweils ein entsprechender Digitalwert des Eingangssignals aktualisiert wird. Darüber hinaus gibt es eine gemeinsame Schnittstelle, über welche die Zwischenspeicher sequentiell ausgelesen werden.

Zudem ist erfindungsgemäß ein Register vorgesehen, in welchem zumindest während eines Durchlaufs vermerkt wird, welcher Zwischenspeicher jeweils aktualisiert wurde. Vorzugsweise weist der A/D-Wandler einen A/D-Zeiger auf, dessen Wert der Position des aktuell erfassten Eingangssignals und des zugeordneten Zwischenspeichers entspricht, und erzeugt die Signalverarbeitungseinheit bei jedem Auslesen zumindest eines vorgegebenen Zwischenspeichers ein Steuersignal, auf welches hin der Wert des A/D-Zeigers in das Register übertragen wird.

Die Signalverarbeitungseinheit weist vorzugsweise zumindest für bestimmte, vorgegebene Zwischenspeicher bzw. Eingangssignale ein Markierungsspeicher auf, der gesetzt wird, wenn die Aktualisierung dieses Zwischenspeichers abgeschlossen ist.

Der Markierungsspeicher kann in einem Ausführungsbeispiel ein Ein-Bit-Speicher je Kanal sein, welcher bei jedem Durchlauf nach Abschluß der Aktualisierung invertiert oder in der Variante der Lesemarkierung gesetzt wird, wenn ein Zwischenspeicherinhalt ausgelesen wurde. Vorzugsweise ist ein auslesbares Markierungsregister vorgesehen, wobei die Signalverarbeitungseinheit bei jedem Auslesen zumindest eines vorgegebenen Zwischenspeichers wieder ein Steuersignal erzeugt und auf das Steuersignal hin zumindest der aktuelle Wert des Markierungsspeichers des ausgelesenen Zwischenspeichers in das Markierungsregister gesichert wird. Die Erfindung wird nun nachfolgend anhand eines Ausführungsbeispieles unter Zuhilfenahme der Figuren näher erläutert. Im Folgenden können für funktional gleiche und/oder gleiche Elemente mit den gleichen Bezugsziffern bezeichnet sein. Es zeigen

Fig. 1 : Signalverarbeitungseinheit gemäß dem Stand der Technik

Fig. 2: erste Ausgestaltung einer erfindungsgemäßen Signalverarbeitungseinheit mit einem Zeiger-Register

Fig. 3 weitere Ausgestaltung mit einem Zeiger-Register sowie Markierungsspeichern

Fig. 4 Detailansicht

Figur 1 zeigt den Stand der Technik und wurde bereits eingangs erläutert und insoweit Bezug genommen. Gleiche Baugruppe wurden mit gleichlautenden Bezugszeichen versehen

In Ergänzung zur Figur 1 werden in Fig. 2 die Ergebnis-Register 2.1 , die als Zwischenspeicher dienen, um ein weiteres Register, ein Zeiger-Register 2.3 ergänzt.

In dieses Zeigerregister 2.3 wird beim Auslesen eines vorgegebenen oder beliebigen Ergebnisregisters 2.1.y die Zeigerinformation / des A/D-Zeigers 4.2 übernommen, welche/r den aktuell zur Wandlung anstehenden A/D-Kanal x zeigt. Dies wird bis zum nächsten Auslesevorgang im Zeiger-Register 2.3 festgehalten. Das Zeiger-Register 2.3 kann ausgelesen werden, bspw. ebenfalls über die SPI-Schnittstelle 2.

So ist nach dem Auslesen eines einzelnen Registers 2.1.y anhand der festgehaltenen Position x des A/D-Zeigers 4.2 zu diesem Zeitpunkt eine Zuordnung bzw. eine Aussage über die Aktualität der Reg ister- Daten / Registerwerte 2.1. y ableitbar, denn die erforderliche ZeJt At 1 zum Wandeln eines Messwertes mittels des A/D-Wandlers 4.0 (siehe Fig. 4) und Einschreiben ins Ergebnis- Register und die Position und Abarbeitungsreihenfolge ist ja bekannt.

Generell können parallele Lese-Schreibzugriffe auf einen Zwischenspeicher erkannt und die Werte verworfen werden.

Es ergeben sich daraus folgende zwei bevorzugten Möglichkeiten der exakten zeitlichen Zuordnung (Altersbestimmung) der Register-Daten 2.1 : a) Ermittlung der Differenz der Position x des A/D-Zeigers 4.2 bzw. Zeiger-Registers 2.3 zur

Position y des auszulesenden Registers. Vorzugsweise könnte durch Interpolation aus dem vorherigen Wert, aktuelleren Wert und der Verzögerungszeit der Wert korrigiert werden. b) Monitoring des Zeiger-Registers 2.3, d.h. bei jedem Auslesen des Zeigerregisters 2.3 wird die Position des A/D-Zeigers 4.2 aktualisiert und versetzt für den folgenden Lesevorgang im Zeiger-Register hinterlegt. Sobald im Zeigerregister 2.3 die gewünschten zu erfassenden A/D-Kanäle als bearbeitet angezeigt werden (Zeiger zeigt Kanalwert +1), kann der entsprechende Registerwert 2.1 sehr zeitaktuell ausgelesen werden. insbesondere die Variante a) soll noch etwas näher erläutert werden. Nach dem Auslesen zumindest eines vorgegebenen Zwischenspeichers 2.1.y, wenn gewünscht natürlich aller, wird auch die im Zeiger-Register 2.3 vermerkte Position x des zum Zeitpunkt des Auslesens dieses vorgegebenen Zwischenspeichers 2.1. y gerade durch den A/D-Wandler 4.0 aktualisierten Zwischenspeichers 2.1.x ausgelesen und aus der Position y des vorgegebenen Zwischenspeichers 2.1. y sowie der Position x des gerade aktualisierten Zwischenspeichers 2.1.x auf den Zeitpunkt der Aktualisierung des vorgegebenen

Zwischenspeichers 2.1.y geschlossen ( etwa (x-y) * At 1 ) und die zeitliche Zuordnung des Wertes

des vorgegebenen Zwischenspeichers 2.1. y angepasst, d.h. der Zeitwert entsprechend korrigiert, oder der Wert des Zwischenspeichers (2.1.y) angepasst.

Die Anpassung des Wert des Zwischenspeichers 2.1.y kann beispielsweise so erfolgen, in dem aus dem aktuellen Wert des vorgegebenen Zwischenspeichers 2.1. y sowie zumindest einem vorhergehenden Wert dieses Zwischenspeichers 2.1. y bzw. Kanals sowie den jeweiligen Zeitpunkten der Aktualisierung ein Wert der Eingangsgröße für einen vorgegebenen Zeitpunkt durch Interpolation abgeschätzt wird.

So können der Wert eines Kanals durch Interpolation auf einen gleichen Zeitpunkt bezogen werden wie ein anderer Kanal und die Werte beider Kanäle miteinander verarbeitet werden. Dies ist wichtig, wenn zueinander korrelierte sich schnell ändernde Signale miteinander verarbeitet werden sollen, aber keine zwei parallelen A/D- und Einlesepfade zur Verfügung stehen. Nur so können beispielsweise die Beschleunigungssignale zweier in Winkel zueinander versetzt ausgerichteter Beschleunigungssensoren vektoriell addiert werden, um ein richtungsselektives Auslösesignal für ein Insassenschutzsystem für Kraftfahrzeuge zu generieren. Analoges gilt für Drehratensignale oder die logische Verknüpfung von Beschleunigungs- und Drehratensignalen, wenn diese einander plausibilisieren sollen.

Es sei darauf hinzuweisen, dass es ausreicht, aus der Menge der A/D-Kanäle (hier 20) nur für diejenigen Kanäle bzw. Zwischenspeicher 2.1 .y eine Vermerkung bspw. der aktuellen Position x des A/D-Zeigers 4.2 vorzunehmen, für die eine derartige zeitkritische Signalverarbeitung erforderlich ist und durchaus mit der gleichen A/D-Wandlereinheit 4 zudem unkritische Kanäle verarbeitet werden.

Dies ist wichtig, weil zumindest für eine exakte zeitliche Zuordnung eines Kanals y die Position x des dabei zeitgleich gerade aktualisierten Kanals y nachfolgend mit ausgelesen werden sollte, was quasi zu einer Verdopplung der Lesezugriffe der Schnittstelle 2 führen würde. Daher könnte nur nach jedem der zeitkritischen Kanälen (bspw. y=5) oder sogar nur einmal nach einem Block zeitkritischer Kanäle auch das Zeiger-Register 2.3 ausgelesen werden.

Figur 3 zeigt eine weiterführende Realisierung, bei dieser zwecks Markierung des abgeschlossenen Aktualisierungsprozesses eine Zustandsanzeige 4.3 bspw. mit je einem Toggle- Bit 4.3 zur Anwendung gelangt. In Ergänzung zur Figur 2 werden zumindest die zeitkritischen (oder hier alle) A/D-Kanäle 4.1 um ein Toggle-Bit 4.3 ergänzt sowie ein Zyklus-Register 2.5 vorgesehen. Es ergeben sich auch hier verschiedene Ausgestaltungen.

Die Funktionsweise des Toggle-Bits 4.3.x ist im einfachsten Fall die, dass nach jedem erfolgten Wandlungsvorganges des x-ten A/D-Kanals, z.B. wenn die Daten ins dazugehörige Register 2.1.x übergeben werden, sich das Bit 4.3.x:=4.3.x+1 entsprechend abwechselnd ändert. Wie aus der Figur 3 zu entnehmen ist, ist die Sequenz der Wandlungsvorgänge bis Kanal 16 bzw. der Wandlungsvorgang des A/D-Kanals 16 zum dargestellten Zeitpunkt abgeschlossen. Die Verwendung einer Mehr-Bit-Information je Kanal eröffnet natürlich noch weitergehende Analysen.

In das Zyklus-Register 2.5 kann der Stand eines oder mehrerer Toggle-Bits 4.3 festgehalten und gesichert werden.

Ist für jeden Kanal ein Toggle-Bit vorgesehen, so kann aus der Gesamtheit der Toggle-Bits 4.3 unmittelbar auf den zuletzt aktualisierten Kanal (hier 16) und den folglich aktuell MD- zuwandelnden und evt. im Schreiben ins Register 2.1.x betroffenen Kanal x=17 geschlossen werden. Wird also analog zu der Variante in Fig. 2 bei jedem Lesezugriff zumindest auf einen vorgegebenen zeitkritischen Zwischenspeicher 2.1.y die Gesamtheit der Toggle-Bits 4.3 in das Zyklus-Register 2.5 gesichert und danach ausgelesen, kann dadurch ohne die Position x des A/D- Zeigers 4.2 und damit ohne entsprechendes Register 2.3 ausgekommen werden. Vorzugsweise kommt aber eine Kombination beider Varianten zum Einsatz. Dabei wird im Zyklus- Register 2.5 jeweils nur dasjenige Toggle-Bit 4.3.y des Kanals y gesichert, auf dessen Zwischenspeicher 2.1.y gerade gelesen wird.

Im Zyklus-Register 2.5 wird also für jeden Kanal der Aktualisierungsstand beim jeweiligen Lesezugriff vermerkt. So kann beim Auslesen eines beliebigen bzw. vorgegebenen Ergebnisregisters 2.1.y im Zyklus- Register 2.5 das entsprechende Toggle-Bit 4.3.y festgehalten werden, so dass nach dem Auslesen insbesondere auch noch nach dem Auslesen einer Registersequenz, also mehrerer Ergebnis- Register nacheinander anhand des Zyklus-Registers 2.5 vorzugsweise in Verbindung mit dem Zeiger-Register 2.3 eine sehr exakte Zuordnung bzw. eine sehr exakte Aussage über die Aktualität der Registerwerte (2.1) abgeleitet werden.

Mitteis dieser zusätzlichen Zyklus-Information erreicht man den Vorteil gegenüber dem Verfahren gemäß Figur 2, dass eine höhere / präzisere Aussagekraft, bedingt durch den Wegfall der möglichen auftretenden Toleranzen in der Frequenz der Zeitschleifen, erreicht werden kann.

Die zu eliminierende Unscharfe / Unsicherheit gemäß dem Verfahren nach Figur 2 ist in Fig. 4 skizziert und darin begründet, dass eine gewisse Asynchronität beim Wechsel eines A/D-Kanals zum nächsten A/D-Kanal auftreten kann, welcher dann auftritt, wenn sich der Pointer des Zeigerregisters (2.3) im Bereich einer auszulesenden Sequenz von Werten befindet, oder sich dieser unmittelbar zuvor befindet, da dann eine Aussage, ob der Wert bereits schon aktualisiert ist, oder ob es sich noch um den alten Wert handelt, nicht möglich ist. Diese Unscharfe / Unsicherheit ist mittels der ergänzenden Toggle-Bit-Information 4.3 eindeutig zu eliminieren.

Durch das Setzen eines Pointers (Zeigers) zur Kennzeichnung des aktuell gewandelten Kanals und vorzugsweise einer zusätzlichen Toggle-Bit-Information beim Auslesen eines beliebigen Registers / Ergebnisregisters kann auch eine zeitliche Zuordnung und somit eine Aussage über das „Alter" / die Aktualität des ausgelesenen Registers / Ergebnisregisters auch im kritischen „Übergangsbereich" getroffen werden, selbst wenn eine Sequenz von mehreren Werten ausgelesen wird.

Insbesondere bei dem sequentiellen Auslesen einer aus mehr als einem Zwischenspeicher 2.1. y, 2.1. y-1 , ... bestehenden Gruppe vorgegebener Zwischenspeicher wird daher jeweils in einem gemeinsamen Register 2.5 vermerkt, ob die Markierung 4.3.y des jeweils gerade ausgelesenen Zwischenspeichers 2.1. y bereits gesetzt war. Nachfolgend, beispielsweise erst nach dem Ende des Durchlaufs, wird das Register 2.5 ausgelesen und dabei geprüft, ob für alle Zwischenspeicher die Markierungen identisch gesetzt waren, also alle Zwischenspeicher aktualisiert wurden, bevor der Lesezugriff erfolgte.

Insbesondere kann nach dem Auslesen der Gruppe für die gesamte Gruppe nur die Position x desjenigen Zwischenspeichers 2.1.x ausgelesen wird, welcher während des Auslesen des letzten Zwischenspeichers 2.1. y gerade aktualisiert wurde, also dem aktuellen Wert x des A/D-Zeigers 4.2 gemäß dem Register 2.3 entspricht.

Zudem werden die im Zyklus-Register 2.5 jeweils sequentiell gesicherten Markierungen 4.3.y,4.3.y- 1 ,... der Zwischenspeicher dieser Gruppe ausgelesen und bei der Übereinstimmung der Markierungen aus der Position y,y-1 ,y-2,.... aller Zwischenspeicher 2.1. y, 2.1. y-1 , ... der Gruppe zur Position x des während des letzten Auslesens eines Zwischenspeichers dieser Gruppe gerade aktualisierten Zwischenspeichers 2.1.x die Aktualisierungszeitpunkte aller Zwischenspeicher abgeschätzt werden, da ein Überholen des Lesezugriffs ausgeschlossen werden kann.

Die Erfindung eignet sich insbesondere für Signalverarbeitungseinheiten, bei denen mehrere Mikrocontroller über eine oder mehrere Schnittstellen auf die gleichen Zwischenspeicher, also Ergebnis-Register zugreifen. Dazu wäre dann für jeden Microcontroller ein eigenes Toggle-Bit- System sowie entsprechendes Zyklusregister erforderlich. Die Mehrfachnutzung von Sensordaten wird aber beispielsweise im Bereich der Automobilelektronik zunehmend der Fall sein, da bestimmte Eingangssignale , wie Linear- oder Drehbeschleunigungen für unterschiedliche Anwendungen, wie die Steuerung von Insassenschutzeinrichtungen, ABS und dergleichen verwendet werden und aus Kostengründen die Anzahl von Sensoren weiter reduziert werden muß.

Bezuqszeichenliste

1 Signalverarbeitungseinheit

2 SPI-Schnittstelle

2.1 Ergebnis-Register an der SPI-Schnittstelle

2.2 Bereitstellung des Wandlerergebnisses an das Ergebnis-Register

2.3 Zeiger- Register an der SPI-Schnittstelle

2.4 Steuerleitung

2.5 Zyklus-Register für die Toggle-Bits an der SPI-Schnittstelle

2.6 Lese-Zeiger, der auf das jeweils aktuell ausgelesene Ergebnis-Register zeigt

3 Mikro-Controller zur weiteren Signalverarbeitung

4 Analog/Digital-Wandeleinheit

4.0 A/D-Wandler

4.1 Eingangssignale / Eingangskanäle des Analog/Digital-Wandlers

4.2 A/D-Zeiger, zeigt auf den aktuell zur Wandlung ausgewählten A/D-Kanal

4.3 Toggle-Bit für Zustandsanzeige

4.4 Bereitstellung der Toggle-Bit-Informationen für das Zyklus-Register

At 1 Erforderliche Zeit zum Wandeln eines Messwertes mittels A/D-Wandlers und Einschreiben ins Ergebnis-Register

At 2 Erforderliche Zeit zum Auslesen eines Registerinhalts / Registerwerts x Laufvariable, welche auf die Position des A/D-Zeigers und damit das jeweils aktuell gewandelte Eingangssignal 4.1.x, dessen Zwischenspeicher 2.1.x und ggfs. das zugehörige Toggle-Bit 4.3.y kennzeichnet y Laufvariable, welche auf die Position des Lese-Zeigers und damit den aktuell ausgelesenen Zwischenspeicher 2.1.y und ggfs. das zugehörige Toggle-Bit 4.3.y kennzeichnet