DE19737182A1 - Verfahren zum Ändern von Daten - Google Patents

Verfahren zum Ändern von Daten

Info

Publication number
DE19737182A1
DE19737182A1 DE19737182A DE19737182A DE19737182A1 DE 19737182 A1 DE19737182 A1 DE 19737182A1 DE 19737182 A DE19737182 A DE 19737182A DE 19737182 A DE19737182 A DE 19737182A DE 19737182 A1 DE19737182 A1 DE 19737182A1
Authority
DE
Germany
Prior art keywords
memory
data
reference data
stored
address table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE19737182A
Other languages
English (en)
Inventor
Joerg Dell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE19737182A priority Critical patent/DE19737182A1/de
Priority to JP23728698A priority patent/JP4495265B2/ja
Priority to US09/139,951 priority patent/US6141726A/en
Publication of DE19737182A1 publication Critical patent/DE19737182A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23334Use of table with addresses for different modules, write new table if modified
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25213Synchronisation, address and data

Description

STAND DER TECHNIK
Die vorliegende Erfindung betrifft ein Verfahren zum Ändern von Daten, welche durch ein Programm einer Datenverarbei­ tungseinrichtung, und insbesondere eines Steuergeräts zur Steuerung eines Aggregats, zu verwenden sind.
Aus der DE 195 00 453 A1 ist ein Verfahren zur Optimierung von Daten und/oder Programmteilen für programmierte Steuer­ geräte, insbesondere Motorsteuerungen, bekannt. Die im Steuergerät gespeicherten Daten werden zur Erfüllung be­ stimmter Anforderungen durch das Steuergerät, wie bei­ spielsweise minimaler Kraftstoffverbrauch, geringe Abgas­ werte unter Berücksichtigung von Komforteigenschaften wie Laufruhe usw., optimiert.
Allgemein nennt man die Änderung der betreffenden Daten (Festwerte, Kennlinien, Kennfelder) Applizieren. Das Appli­ zieren kann in serielles und paralleles Applizieren unter­ gliedert werden. Bei der seriellen Applikation, die hier betrachtet wird, werden die Daten dem Steuergerät über eine serielle Schnittstelle zugeführt, während bei der paralle­ len Applikation der Datenspeicher durch beispielsweise ein Dual-Port-RAM (RAM = Schreib-/Lesespeicher) emuliert wird.
Das Steuergerät ist über eine serielle Schnittstelle mit einem externen Applikationsgerät verbunden, durch das die Änderungen der zu optimierenden Daten, wie beispielsweise Kennfelder für Einspritzmenge und Zündwinkel, eingegeben werden. Das externe Applikationsgerät ist beispielsweise ein entsprechend programmierter Personal-Computer mit Ta­ statur und Bildschirm.
Bei dem bekannten Verfahren werden die zu optimierenden Da­ ten vor der Optimierung von einem programmierbaren Fest­ wertspeicher (PROM) in einen Schreib/Lese-Speicher (RAM) des Steuergerätes geladen. Als programmierbarer Festwert­ speicher (PROM) wird ein löschbares EPROM in Form eines FLASH-EPROMS verwendet, welches gelöscht und programmiert werden kann, ohne daß ein gesondertes Programmiergerät er­ forderlich ist. Die serielle Applikation bzw. Änderung der in dem Festwertspeicher (PROM) abgespeicherten Daten setzt bei diesem Verfahren allerdings voraus, daß der komplette applizierbare Datensatz in den verfügbaren Schreib/Lese-Speicher (RAM) geladen werden kann.
Ist der Schreib/Lese-Speicher, wie allgemein üblich, nicht ausreichend dimensioniert, ist es erforderlich einen zu­ sätzlichen Emulationsspeicher für Applikationszwecke be­ reitzustellen, oder man muß auf die Applizierbarkeit eines Teils der Daten verzichten. Zur Applikation aller in dem Festwertspeicher abgespeicherten Daten muß die Speichergrö­ ße des Schreib/Lese-Speichers mindestens so groß sein wie Speichergröße des Festwertspeichers.
Bei allen bekannten Verfahren zum seriellen Applizieren muß vor der Programmausführung festgelegt sein, welche Daten aus der Gesamtdatenmenge applizierbar sind. Die Größe die­ ses ausgewählten Teildatensatzes richtet sich immer nach dem zur Verfügung stehenden freien RAM-Speicher, und zwar unabhängig davon, ob dieser zusätzlich für Applikations­ zwecke eingebaut wird (d. h. "SERAM" = serielle Applikation mit zusätzlichem Speicher) oder ob vorhandener Speicher ge­ nutzt werden kann (d. h. "SERAP" = serielle Applikation ohne zusätzlichen Speicher). Paßt der gesamte Datensatz in den verfügbaren Speicher, so sind bei diesen Verfahren alle Da­ ten applizierbar. Reicht der verfügbare Speicher dagegen nicht aus, dann werden vor der Programmausführung bestimmte Daten ausgewählt, die während der Programmlaufzeit in den verfügbaren Speicher ladbar sind, also applizierbar sind.
Keines der bekannten Verfahren erlaubt jedoch bei begrenz­ tem verfügbaren Speicher, beliebige Daten während des Pro­ grammablaufs zu applizieren bzw. während des Pro­ grammablaufs zu entscheiden, welche Daten in den RAM-Speicher geladen werden.
Somit ist nachteilhafterweise entweder durch die Bereit­ stellung eines Emulationsspeichers ein zusätzlicher Hard- Ware-Aufwand zu betreiben, oder muß die Flexibilität in der Applikation eingeschränkt werden.
VORTEILE DER ERFINDUNG
Das erfindungsgemäße Verfahren mit den Merkmalen des An­ spruches 1 bietet den besonderen Vorteil, daß quasi unab­ hängig von der Speichergröße des verfügbaren zweiten Spei­ chers eine beliebige Menge an Daten, die in dem ersten Speicher abgespeichert ist, applizierbar bzw. änderbar ist, ohne daß ein zusätzlicher Emulationsspeicher bereitgestellt werden muß oder bestimmte Daten für die Applikation ge­ sperrt werden müssen. Quasi unabhängig bedeutet, daß ledig­ lich die Arbeitsdaten-Speicheradreßtabelle und die größte zur Applizierung vorgesehene Datenstruktur in dem zweiten Speicher Platz finden müssen. Die Speichergröße des weiter verfügbaren zweiten Speichers beschränkt dabei nur die Men­ ge der gleichzeitig applizierbaren Daten.
Die Daten sind in beliebigen Datenstrukturen und insbeson­ dere auch als Einzeldaten organisierbar. Auf die Daten­ strukturen kann schnell über abgespeicherte Zeigeradressen bzw. Vektoren in Form einer Speicheradreßtabelle zugegrif­ fen werden. Da kein zusätzlicher Emulationsspeicher vorzu­ sehen ist stellt das erfindungsgemäße Verfahren eine sehr kostengünstige Lösung dar. Die Optimierung der Daten er­ folgt besonders schnell, weil durch eine dynamische Spei­ cherverwaltung flexibel auf die Datenstrukturen zugegriffen wird.
Die der vorliegenden Erfindung zugrundeliegende allgemeine Idee besteht darin, daß bei einer Datenapplikation nicht alle der in einem ersten Speicher eines Steuergerätes abge­ speicherten und über eine Speicheradreßtabelle adressierba­ ren Daten, sondern nur die zu ändernden Daten in den zwei­ ten Speicher der Datenverarbeitungseinrichtung zu kopieren sind.
Vorteilhafte Weiterbildungen des erfindungsgemäßen Verfah­ rens finden sich in den Unteransprüchen.
Gemäß einer bevorzugten Weiterbildung werden die geänderten Arbeitsdaten als neue Referenzdaten in den ersten Speicher zurückgespeichert. Dieses Zurückspeichern ist im allgemei­ nen der letzte Schritt einer Optimierungsphase, in der ver­ schiedene Änderungen getestet werden.
Gemäß einer weiteren bevorzugten Weiterbildung erfolgt die Adressierung durch das Programm über die Referenzdaten-Speicher­ adreßtabelle oder die Arbeitsdatenspeicheradreßta­ belle indirekt. Dies bietet den Vorteil, daß eine dynami­ sche und flexible Speicherverwaltung möglich ist.
Gemäß einer weiteren bevorzugten Weiterbildung erfolgt das Kopieren der Referenzdaten-Speicheradreßtabelle und das Ko­ pieren der zu ändernden Referenzdaten, nachdem eine Anfor­ derung zur Verstellung eingegeben wird. Mit anderen Worten leitet die Anforderung zur Verstellung eine Änderungsphase ein.
Gemäß einer weiteren bevorzugten Weiterbildung wird die An­ forderung zur Verstellung durch ein an die Datenverarbei­ tungseinrichtung angeschlossenes externes Applikationsgerät eingegeben.
Gemäß einer weiteren bevorzugten Weiterbildung sind die Re­ ferenzdaten in Datenstrukturen, vorzugsweise als Datensei­ ten, organisiert in dem ersten Speicher abgespeichert. Dies bietet den Vorteil, daß eine Vielzahl von Referenzdaten funktionell gruppierbar und seitenweise applizierbar und zurückspeicherbar ist.
Gemäß einer weiteren bevorzugten Weiterbildung ist in einem ersten Speicherbereich des ersten Speichers ein Pro­ grammcode des Programms abgespeichert.
Gemäß einer weiteren bevorzugten Weiterbildung greift das Programm der bei seiner Ausführung umschaltbar auf die in einem zweiten Speicherbereich des ersten Speichers gespei­ cherten Referenzdaten über die in einem dritten Speicherbe­ reich des ersten Speichers gespeicherte Referenzdaten-Speicher­ adreßtabelle oder zusätzlich über die in einem er­ sten Speicherbereich des zweiten Speichers gespeicherte Ar­ beitsdaten-Speicheradreßtabelle auf die in einem zweiten Speicherbereich des zweiten Speichers gespeicherten Ar­ beitsdaten zu. Zweckmäßigerweise erfolgt das Umschalten über eine Offsetadresse oder einen Offset-Algorithmus. Dann müssen bestehende Programmteile nur minimal geändert wer­ den.
Gemäß einer weiteren bevorzugten Weiterbildung erfolgt das Ändern der Arbeitsdaten während der Ausführung des Pro­ gramms. Dies hat den Vorteil, daß die Auswirkungen der Än­ derungen unmittelbar online erkennbar sind und jederzeit wieder auf die alten bewährten Referenzdaten zugegriffen werden kann.
Gemäß einer weiteren bevorzugten Weiterbildung erfolgt das Zurückspeichern der geänderten Arbeitsdaten in den ersten Speicher derart, daß die geänderten Arbeitsdaten in einem Zwischenspeicher zusammen mit den ungeänderten Referenzda­ ten zwischengespeichert werden. Dies ist insbesondere dann von Vorteil, wenn die Referenzdaten nur seitenweise pro­ grammiert werden können. Dann nämlich wird der Zwischen­ speicher zweckmäßigerweise entsprechend der Seitengröße ausgewählt.
Gemäß einer weiteren bevorzugten Weiterbildung ist der Zwi­ schenspeicher ein vierter Speicherbereich des ersten Spei­ chers.
Gemäß einer weiteren bevorzugten Weiterbildung ist der er­ ste Speicher ein seitenweise oder zellenweise programmier­ barer Festwertspeicher und der zweite Speicher ein Schreib/Lese-Speicher.
Gemäß einer weiteren bevorzugten Weiterbildung ist der er­ ste Speicher ein FLASH-EPROM. Solch ein Flash-EPROM kann blockweise gelöscht, seitenweise oder zellenweise program­ miert und zellenweise ausgelesen werden.
ZEICHNUNGEN
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher er­ läutert.
Es zeigen:
Fig. 1 eine Anordnung zur Applikation von Referenzdaten eines Steuergerätes für ein Aggregat mit Hilfe des erfindungsgemäßen Verfahrens zum Ändern von Daten;
Fig. 2 die Belegung des ersten und zweiten Speichers der Datenverarbeitungseinrichtung vor der Durchfüh­ rung des erfindungsgemäßen Verfahrens zum Ändern von Daten;
Fig. 3 die Belegung des ersten und zweiten Speichers der Datenverarbeitungseinrichtung nach dem Kopieren der Referenzdaten-Speicheradreßtabelle in den zweiten Speicher;
Fig. 4 die Belegung des ersten und zweiten Speichers der Datenverarbeitungseinrichtung nach dem Kopieren der zu ändernden Referenzdaten als Arbeitsdaten in den zweiten Speicher und dem Ändern der Ar­ beitsdaten-Speicheradreßtabelle; und
Fig. 5 die Belegung des ersten und zweiten Speichers der Datenverarbeitungseinrichtung beim Zurückspei­ chern der geänderten Arbeitsdaten als Referenzda­ ten in den ersten Speicher über einen Zwischen­ speicher.
Fig. 1 zeigt eine Anordnung zur Applikation von Referenzda­ ten eines Steuergerätes für ein Aggregat mit Hilfe des er­ findungsgemäßen Verfahrens zum Ändern von Daten.
In Fig. 1 bezeichnet 1 eine Datenverarbeitungseinrichtung, die eingangseitig über erste Daten- und Steuerleitungen 2 an ein Applikationsgerät 3 und ausgangsseitig über zweite Daten- und Steuerleitungen 4 an ein bestimmtes Aggregat 5, wie beispielsweise einen elektronisch gesteuerten Motor, angeschlossen ist.
Die Daten- und Steuerleitungen 2 bestehen bei dieser bevor­ zugten Ausführungsform aus einem seriellen Datenübertra­ gungsbus, wobei das Applikationsgerät 3 über eine serielle Schnittstelle mit der Datenverarbeitungeinrichtung 1 kommu­ niziert.
Die Datenverarbeitungseinrichtung 1 steuert über die Daten- und Steuerleitungen 4 das Aggregat 5 und erfaßt weiterhin Zustandsgrößen des Aggregates 5, wie beispielweise Dreh­ zahl, Luftdurchlaß und Temperatur des erwähnten Motors.
Die Datenverarbeitungseinrichtung 1 weist eine Rechenein­ richtung 6 auf, die über einen internen Bus 7 mit einem er­ sten Speicher 8 und mit einem zweiten Speicher 9 verbunden ist.
Die Recheneinrichtung 6 ist zweckmäßigerweise ein Mikropro­ zessor, der über die serielle Schnittstelle und einen in­ ternen Bus an das Applikationsgerät 3 angeschlossen ist.
Der erste Speicher 8 ist ein programmierbarer Festwertspei­ cher (PROM), in dem Daten und ein Programmcode für ein Pro­ gramm zur Steuerung des Aggregates 5 abgespeichert sind. Bei dem ersten Speicher 8 handelt es sich beispielsweise um ein FLASH-EPROM. Das FLASH-EPROM ist zweckmäßigerweise blockweise löschbar und seitenweise bzw. pageweise program­ mierbar (obwohl es auch zellenweise programmierbar sein kann), ohne daß ein gesondertes Programmiergerät wie bei gewöhnlichen EPROMS erforderlich ist.
Der zweite Speicher 9 ist ein üblicher Schreib-/Lese­ speicher, beispielsweise ein Speicher mit wahlfreiem Zu­ griff (RAM) oder ein Massenspeicher wie z. B. eine Festplat­ te.
Die Recheneinrichtung 6, der erste und zweite Speicher 8, 9 und die serielle Schnittstelle sind zweckmäßigerweise auf einem Chip integriert, obwohl dies nicht immer möglich ist.
Das Applikationsgerät 3 dient zur Applikation, d. h. der Än­ derung, der im Speicher 8 der Datenverarbeitungseinrichtung 1 abgespeicherten Daten, um die Auswirkungen dieser Da­ tenänderung auf das Verhalten des Aggregates 5, insbesonde­ re auf dessen Zustandsgrößen zu untersuchen. Als Applika­ tiongerät kommt jeder übliche entsprechend programmierte Personal-Computer mit Tastatur und Bildschirm in Frage. Über die Tastatur werden die zu applizierenden Daten von einem Bediener eingegeben. Die zu applizierenden Daten kön­ nen aber auch von einer automatischen Applikationseinrich­ tung generiert und dem Applikationsgerät zugeführt werden.
Bei einer Datenapplikation müssen die in dem ersten Spei­ cher 8 abgespeicherten Referenzdaten verändert werden. Die Referenzdaten können eine erstmalige Grundeinstellung dar­ stellen oder auf bisherigen Erfahrungen beruhen. Bei Appli­ kation der Referenzdaten wird das Verhalten des Aggregates 5 auf diese Datenänderung untersucht und eine Dateneinstel­ lung gesucht, die in Bezug auf die bisherigen Referenzdaten hinsichtlich bestimmter gestellter Anforderungen an das Ag­ gregat 5 zu einem besseren Ergebnis führt. Die Applikation erfolgt online, d. h. während der Ausführung des in dem er­ sten Speicher 8 abgespeicherten Programmcodes. Da die Refe­ renzdaten in dem als Festwertspeicher ausgebildeten ersten Speicher 8 abgespeichert sind, müssen sie vorübergehend in den als Schreib/Lese-Speicher ausgebildeten zweiten Spei­ cher 9 verlagert werden, bevor sie geändert werden können.
Das erfindungsgemäße Verfahren bewirkt nun, daß für Test­ zwecke nicht alle Daten aus dem ersten Speicher 8 ausgela­ gert werden müssen.
Fig. 2 zeigt die Belegung des ersten und zweiten Speichers der Datenverarbeitungseinrichtung vor der Durchführung des erfindungsgemäßen Verfahrens zum Ändern von Daten.
Der erste Speicher 8 ist ein Festwertspeicher, hier ein FLASH-EPROM, der einen ersten Speicherbereich 8a aufweist, in dem der Programmcode des Programms zur Steuerung des Ag­ gregates 5 abgespeichert ist. In einem zweiten Speicherbe­ reich 8b des Festwertspeichers sind Referenzdaten abgelegt, die in Datenstrukturen A, B, C, D, E organisiert sind. Die Datenstrukturen A, B, C, D, E sind über die zugehörigen Adressen , , , , adressierbar. Bei den Daten­ strukturen A, B, C, D, E kann es sich jeweils um Einzelda­ ten oder um viele Einzeldaten umfassende Datenblöcke han­ deln.
Auf diese Datenstrukturen kann indirekt über Vektoren, in denen die Adressen , , , , abgelegt sind, zuge­ griffen werden. Diese Vektoren sind in einer Referenzdaten-Speicher­ adreßtabelle in einem dritten Speicherbereich 8c des ersten Speichers 8 abgelegt. Die auf die Datenstruktu­ ren A, B, C, D, E zeigenden Vektoren sind unter den Spei­ cheradressen VA, VB, VC, VD, VE des ersten Speichers 8 ab­ gelegt. Die Adressen , , , , , die in den Vekto­ ren abgelegt sind, sind dabei die Anfangsadressen der in dem ersten Speicherbereich 8a abgespeicherten Datenstruktu­ ren A, B, C, D, E.
Fig. 3 zeigt die Belegung des ersten und zweiten Speichers der Datenverarbeitungseinrichtung nach dem Kopieren der Re­ ferenzdaten-Speicheradreßtabelle in den zweiten Speicher.
Während eines oder mehrerer bestimmter Zeitpunkte der Pro­ grammausführung, z. B. während des Rechnerhochlaufs, der Da­ tenverarbeitungseinrichtung 1 wird eine vollständige Kopie der Referenzdaten-Speicheradreßtabelle in dem ersten Be­ reich 9a des Schreib-/Lese-Speicher bei den Adressen VA', VB', VC', VD', VE' angelegt. Der Inhalt der kopierten Refe­ renzdaten-Speicheradreßtabelle ändert sich bei diesem Ko­ pierschritt nicht. Die kopierte Referenzdaten-Speicher­ adreßtabelle wird als Arbeitsdaten-Speicher­ adreßtabelle bezeichnet, wobei die Adressen VA', VB', VC', VD', VE' der kopierten Vektoren jeweils um eine Differenz bzw. einen Offset ΔV von den Adressen der ur­ sprünglichen Vektoren VA, VB, VC, VD, VE abweichen.
Fig. 4 zeigt die Belegung des ersten und zweiten Speichers der Datenverarbeitungseinrichtung nach dem Kopieren der zu ändernden Referenzdaten als Arbeitsdaten in den zweiten Speicher und dem Ändern der Arbeitsdaten-Speicheradreß­ tabelle.
Die zu ändernden Referenzdaten C, E aus dem zweiten Spei­ cherbereich 8b des ersten Speichers 8 werden in einen zwei­ ten Speicherbereich 9b des zweiten Speichers 9 kopiert.
Durch eine an dem Applikationsgerät 3 angebrachte Eingabe­ einrichtung werden bestimmte Daten geändert und dem Appli­ kationsgerät 3 zugeführt. Das Applikationsgerät 3 gibt über die Daten- und Steuerleitungen 2 eine Verstellanforderung für die entsprechenden Daten oder betroffenen Datenblöcke an die Datenverarbeitungseinrichtung 1 ab.
In dem in Fig. 4 gezeigten Beispiel werden Daten, die die Datenstrukturen C, E betreffen, geändert. Das Applikations­ gerät 3 gibt also jeweils eine Verstellanforderung für die Datenstruktur C und die Datenstruktur E an Datenverarbei­ tungseinrichtung 1 ab. Die Recheneinrichtung 6 der Daten­ verarbeitungseinrichtung 1 kopiert über den internen Bus 7 nur die an den Adressen , im zweiten Speicherbereich 8b des ersten Speichers 8 befindlichen, Referenzdaten ent­ haltenden Datenstrukturen C, E auf die Adressen ', ' im zweiten Speicherbereich 9b des zweiten Speichers 9. Die an den Adressen ', ' befindlichen kopierten Datenstruktu­ ren C', E' enthalten zu verändernde Arbeitsdaten, die nach dem Kopieren zunächst mit den Referenzdaten der Datenstruk­ turen C, E übereinstimmen.
Die in dem ersten Speicherbereich 9a des zweiten Speichers 9 an den Adressen VC' und VE' abgelegten Vektoren, die zu­ nächst auf die Datenstrukturen C, E zeigen, für die eine Verstellanforderung vorliegt, werden auf die kopierten Da­ tenstrukturen C', E' umgelenkt, d. h. die in den Vektoren der Arbeitsdaten-Speicheradreßtabelle abgespeicherten Zei­ geradressen , werden durch die Zeigeradressen ', ' ersetzt.
Nach dem Kopieren der die zu verändernden Referenzdaten enthaltenden Datenstrukturen C, E von dem ersten Speicher 8 in den zweiten Speicher 9 als Arbeitsdaten enthaltende Da­ tenstrukturen C', E' gibt die Datenverarbeitungseinrichtung 1 über die Daten- und Steuerleitungen 2 ein Rückmeldesignal an das Applikationsgerät 3 ab und informiert es darüber, daß die Datenstrukturen, welche die zu applizierenden Daten enthalten, in den zweiten Speicher 9 kopiert sind. Das Ap­ plikationsgerät 3 verändert die in den Datenstrukturen C', E' im zweiten Speicherbereich 9b des zweiten Speichers 9 befindlichen Arbeitsdaten entsprechend den im Applikation­ gerät 3 eingegebenen Applikationsdaten.
Es werden dabei nur die von der Applikation betroffenen Da­ tenstrukturen C, E von dem ersten Speicher 8 in den zweiten Speicher 9 kopiert und dort mit den Applikationsdaten über­ schrieben. Die nicht von einer Veränderung betroffenen Da­ tenstrukturen A, B, D werden nicht kopiert und bleiben un­ verändert in dem zweiten Bereich 8b des ersten Speichers 8 abgespeichert.
Daher begrenzt die Speichergröße des zweiten Speichers 9 nur die Menge der gleichzeitig applizierbaren Datenstruktu­ ren. Dies wird dadurch ermöglicht, daß bei diesem Verfahren nicht alle Datenstrukturen von dem ersten Speicher 8 in den zweiten Speicher 9 kopiert werden, sondern nur die wirklich durch die Datenänderungen betroffenen Datenstrukturen. Ein zweiter Speicher 9 mit einer geringeren Speichergröße als der erste Speicher 8 gestattet dennoch die Applikation al­ ler in dem ersten Speicher 8 abgespeicherten Datenstruktu­ ren, ohne daß ein zusätzlicher Emulationspeicher für die Datenapplikation bereitgestellt werden muß.
Fig. 5 zeigt die Belegung des ersten und zweiten Speichers der Datenverarbeitungseinrichtung beim Zurückspeichern der geänderten Arbeitsdaten als Referenzdaten in den ersten Speicher über einen Zwischenspeicher.
Das Zurückspeichern der in einer Applikationssitzung durch Änderung der Arbeitsdaten betroffenen Datenstukturen C', E' erfolgt über einen Zwischenspeicher 8d in Form neuer Refe­ renzdaten in den zweiten Speicherbereich 8b des ersten Speichers 8. Der Zwischenspeicher 8d ist vorzugsweise ein Speicherbereich des ersten Speichers 8, zweckmäßigerweise eine Seite des FLASH-EPROMs.
Das Zurückspeichern der applizierten Arbeitsdaten von dem zweiten Speicherbereich 9b des zweiten Speichers 9 in den zweiten Speicherbereich 8b des ersten Speichers 8 kann al­ lerdings auch direkt ohne Zwischenspeicher erfolgen.
Durch das Zurückspeichern werden die bisherigen Referenzda­ ten durch die während der Applikationssitzung gefundenen und ein gewünschtes Verhalten des Aggregates 5 hervorrufen­ den Applikationsdaten ersetzt. Diese Referenzdaten können durch Applikation beliebig oft erneuert werden.
Die Applikation der Referenzdaten kann erfolgen, während der Programmcode im ersten Speicherbereich 8a des ersten Speichers 8 ausgeführt und das Aggregat 5 über die Daten- und Steuerleitungen 4 durch den Programmcode angesteuert wird.
Dabei greift der Programmcode durch die Eingabe umschaltbar auf die im zweiten Speicherbereich 8b des ersten Speichers 8 abgespeicherten und die Referenzdaten enthaltenden Daten­ strukturen oder auf die im zweiten Speicherbereich 9b des zweiten Speichers 9 abgespeicherten und die Arbeitsdaten enthaltenden Datenstrukturen zu. Die Umschaltung zwischen Referenz- und Arbeitsdaten ist von außen steuerbar und er­ folgt über eine Speicheradreßbasisadresse SBA.
Greift die Programmcodesoftware bei der Abarbeitung bei­ spielsweise auf Daten zu, die in der Datenstruktur C ent­ halten sind, nimmt sie diejenige Zeigeradresse, welche in dem Vektor mit der Adresse VC + SBA abgelegt ist, wobei VC die in der Speicheradreßstabelle enthaltene Vektoradresse für die Datenstruktur C und SBA die Speicheradreßbasi­ sadresse ist.
Bei gewünschtem Zugriff auf die Referenzdaten wird die Speicheradreßbasisadresse SBA auf Null und beim gewünschten Zugriff auf die Arbeitsdaten wird die Speicheradreßbasi­ sadresse SBA auf den Offset ΔV eingestellt.
Somit greift der Programmcode bei Verwendung von Referenz­ daten auf den in der Referenzdaten-Speicheradreßtabelle bei der Adresse VC abgelegten Vektor mit der Zeigeradresse zu, welche auf die die Referenzdaten enthaltende Daten­ struktur C im zweiten Speicherbereich 8b des ersten Spei­ chers 8 zeigt.
Bei Verwendung von Arbeitsdaten greift der Programmcode auf den in der Arbeitsdaten-Speicheradreßtabelle bei der Adres­ se VC' = VC + ΔV abgelegten Vektor mit der Zeigeradresse ' zu, welche auf die die Arbeitsdaten enthaltende Daten­ struktur C' im zweiten Speicherbereich 9b des zweiten Spei­ chers 9 zeigt.
Die Applikation der Daten kann daher während der Abarbei­ tung des Programmcodes erfolgen, wobei der Programmcode von außen durch den Applikateur steuerbar auf die Arbeits- oder Referenzdaten zugreifen kann. Diese dynamische Speicherver­ waltung über indirekte Adressierung ermöglicht einen schnellen und flexiblen Zugriff auf die Daten.
Obwohl die vorliegende Erfindung anhand eines bevorzugten Ausführungsbeispiels vorstehend beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Weise mo­ difizierbar.
Insbesondere ist das erfindungsgemäße Verfahren nicht nur für einen Festwertspeicher (PROM), sondern für beliebige Speicher anwendbar.
Auch ist die Umschaltung der Programmcodesoftware von dem ersten auf den zweiten Speicher nicht nur durch einen Offset realisierbar, sondern durch beliebige Algorithmen. Liegt beispielsweise eine Datenverarbeitungseinrichtung vor, die nicht linear adressierbar ist, sondern in irgend­ einer anderen algorithischen Form, so ist der Offset-Algo­ rithmus eben dieser Form anzupassen, um variabel und ohne großen Aufwand auf den ersten und zweiten Speicher zu­ greifen zu können.
Auch bedarf es nicht der speziellen, oben beschriebenen In­ teraktion zwischen dem Tester (Applikationsgerät) und dem Steuergerät. Der Ablauf der Kommunikation richtet sich in erster Linie nach dem verwendeten Übertragungsprotokoll, was sich aber auf das in der Erfindung beschriebene Verfah­ ren nicht auswirkt.
So gibt es beispielsweise Protokolle, welche ganz auf die Sicherheit eines Rückmeldesignals verzichten. Außerdem ist es denkbar, daß alle Aktionen, die Fig. 4 schematisch dar­ stellt, durch eine einzige Anweisung des Testers angestoßen werden. Zudem braucht der Tester in der Regel gar nicht über die intern im Steuergerät ablaufenden Aktionen, bei­ spielsweise die Adressierungsänderungen und Kopiervorgänge, informiert zu werden. Er muß lediglich wissen, ob die Ver­ stellung (Datenänderung) erfolgreich durchgeführt wurde oder nicht. Damit bleibt die Schnittstelle zum Tester unab­ hängig vom im Steuergerät verwendeten Applikationsverfah­ ren.
Bezugszeichenliste
1
Datenverarbeitungseinrichtung
2
Daten- und Steuerleitungen
3
Applikationsgerät
4
Daten- und Steuerleitungen
5
Aggregat
6
Recheneinrichtung
7
interner Bus
8
erster Speicher
8
a-
8
d erster-vierter Bereich von
8
9
zweiter Speicher
9
a,
9
b erster, zweiter Bereich von
9

Claims (13)

1. Verfahren zum Ändern von Daten, welche durch ein Pro­ gramm einer Datenverarbeitungseinrichtung (1), insbesondere eines Steuergeräts zur Steuerung eines Aggregats (5), zu verwenden sind, wobei
die Daten als Referenzdaten (A, B, C, D, E) in einem ersten Speicher (8) gespeichert sind; und
die Speicheradressen der Referenzdaten (A, B, C, D, E) im ersten Speicher (8) in einer Referenzdaten-Speicheradreß­ tabelle in dem ersten Speicher (8) zur Adressierung durch das Programm gespeichert sind;
mit den Schritten:
  • (a) Kopieren der Referenzdaten-Speicheradreßtabelle als Arbeitsdaten-Speicheradreßtabelle in einen zweiten Speicher (9) zur Adressierung durch das Programm;
  • (b) Kopieren der zu ändernden Referenzdaten (C, E) als zu ändernde Arbeitsdaten in den zweiten Speicher (9);
  • (c) Ändern der Arbeitsdaten-Speicheradreßtabelle, so daß die Speicheradressen der zu ändernden Arbeitsdaten im zwei­ ten Speicher (9) an die Stelle der Speicheradressen der zu ändernden Referenzdaten im ersten Speicher (8) treten; und
  • (d) Ändern der Arbeitsdaten.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die geänderten Arbeitsdaten (C', E') als neue Referenzdaten in den ersten Speicher (8) zurückgespeichert werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeich­ net, daß die Adressierung durch das Programm über die Refe­ renzdaten-Speicheradreßtabelle oder die Arbeitsdatenspei­ cheradreßtabelle indirekt erfolgt.
4. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß das Kopieren der Referenzdaten-Speicher­ adreßtabelle und das Kopieren der zu ändernden Re­ ferenzdaten (C, E) erfolgt, nachdem eine Anforderung zur Verstellung eingegeben wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die Anforderung zur Verstellung durch ein an die Datenver­ arbeitungseinrichtung (1) angeschlossenes externes Applika­ tionsgerät (3) eingegeben wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß die Referenzdaten (A, B, C, D, E) in Datenstrukturen, vorzugsweise als Datenseiten, organi­ siert in dem ersten Speicher (8) abgespeichert sind.
7. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß in einem ersten Speicherbereich (8a) des ersten Speichers (8) ein Programmcode des Pro­ gramms abgespeichert ist.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß das Programm der bei seiner Ausführung umschaltbar auf die in einem zweiten Speicherbereich (8b) des ersten Speichers (8) gespeicherten Referenzdaten (A, B, C, D, E) über die in einem dritten Speicherbereich (8c) des ersten Speichers (8) gespeicherte Referenzdaten-Speicheradreßtabelle oder zu­ sätzlich über die in einem ersten Speicherbereich (9a) des zweiten Speichers (9) gespeicherte Arbeitsdaten-Speicher­ adreßtabelle auf die in einem zweiten Speicherbereich (9b) des zweiten Speichers (9) gespeicherten Arbeitsdaten zu­ greift.
9. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß das Ändern der Arbeitsdaten wäh­ rend der Ausführung des Programms erfolgt.
10. Verfahren nach einem der vorhergehenden Ansprüche 2 bis 9, dadurch gekennzeichnet, daß das Zurückspeichern der geänderten Arbeitsdaten (C', E') in den ersten Speicher (8) derart erfolgt, daß die geänderten Arbeitsdaten (C', E') in einem Zwischenspeicher zusammen mit den ungeänderten Refe­ renzdaten (A, B, D) zwischengespeichert werden.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß der Zwischenspeicher ein vierter Speicherbereich (8d) des ersten Speichers (8) ist.
12. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß der erste Speicher (8) ein sei­ tenweise oder zellenweise programmierbarer Festwertspeicher (PROM) und der zweite Speicher (9) ein Schreib/Lese-Speicher (RAM) ist.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß der erste Speicher (8) ein FLASH-EPROM ist.
DE19737182A 1997-08-26 1997-08-26 Verfahren zum Ändern von Daten Ceased DE19737182A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19737182A DE19737182A1 (de) 1997-08-26 1997-08-26 Verfahren zum Ändern von Daten
JP23728698A JP4495265B2 (ja) 1997-08-26 1998-08-24 データ変更方法
US09/139,951 US6141726A (en) 1997-08-26 1998-08-25 Method for modifying data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19737182A DE19737182A1 (de) 1997-08-26 1997-08-26 Verfahren zum Ändern von Daten

Publications (1)

Publication Number Publication Date
DE19737182A1 true DE19737182A1 (de) 1999-03-04

Family

ID=7840233

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19737182A Ceased DE19737182A1 (de) 1997-08-26 1997-08-26 Verfahren zum Ändern von Daten

Country Status (3)

Country Link
US (1) US6141726A (de)
JP (1) JP4495265B2 (de)
DE (1) DE19737182A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006125760A2 (de) * 2005-05-25 2006-11-30 Robert Bosch Gmbh Verfahren und vorrichtung zur umschaltung bei einem speicher für ein steuergerät
WO2007077054A1 (de) * 2005-12-28 2007-07-12 Siemens Aktiengesellschaft Verfahren zum ansteuern einer geräte- und maschinenbaugruppenanordnung sowie engineering-system und runtime-system zur durchführung des verfahrens
US7369926B2 (en) 2004-08-31 2008-05-06 Mitsubishi Denki Kabushiki Kaisha On-vehicle electronic control unit
DE102005053847B4 (de) * 2005-04-29 2013-11-14 Mediatek Inc. Speicheranordnungsverfahren und System
EP2674824A1 (de) * 2012-06-14 2013-12-18 Siemens Aktiengesellschaft Verfahren und industrielle Automatisierungskomponente zur indirekten Adressierung von Speicher
DE102005013896B4 (de) * 2004-03-28 2014-07-03 Mediatek Inc. Verfahren zur Datenverwaltung und Datenzugriffssystem zum Speichern von allen Verwaltungsdaten in einer Verwaltungsbank eines nicht-flüchtigen Speichers

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553328B1 (en) * 2000-02-18 2003-04-22 Hughes Electronics Corp. Non-intrusive memory access for embedded processors
US6748465B2 (en) * 2001-09-28 2004-06-08 Intel Corporation Local bus polling support buffer
CA2461446A1 (en) 2002-08-29 2004-03-11 Matsushita Electric Industrial Co., Ltd. Semiconductor memory apparatus and method for writing data into the flash memory device
TWI254947B (en) * 2004-03-28 2006-05-11 Mediatek Inc Data managing method and data access system for storing all management data in a management bank of a non-volatile memory
DE112010005725B4 (de) * 2010-07-08 2017-07-20 Mitsubishi Electric Corp. Fahrzeugdatenabnormalitäts-Bestimmungsvorrichtung

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19500453A1 (de) * 1994-06-16 1995-12-21 Bosch Gmbh Robert Verfahren zur Optimierung von Daten und/oder Programmteilen für programmierte Steuergeräte und Steuergerät

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2796590B2 (ja) * 1991-08-07 1998-09-10 三菱電機株式会社 メモリ装置及びそれを使用したデータ処理装置
US5999933A (en) * 1995-12-14 1999-12-07 Compaq Computer Corporation Process and apparatus for collecting a data structure of a memory dump into a logical table
US5719983A (en) * 1995-12-18 1998-02-17 Symbios Logic Inc. Method and apparatus for placement of video data based on disk zones
US5893152A (en) * 1996-03-08 1999-04-06 Sun Microsystems, Inc. Method and apparatus that detects and tolerates inconsistencies between the cache and main memory, and the translation lookaside buffer and the virtual memory page table in main memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19500453A1 (de) * 1994-06-16 1995-12-21 Bosch Gmbh Robert Verfahren zur Optimierung von Daten und/oder Programmteilen für programmierte Steuergeräte und Steuergerät

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
G. Paulin, Turbo-Pascal, 3. Aufl., Verlag Technik GmbH, Berlin München, 1992, S. 109-117 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005013896B4 (de) * 2004-03-28 2014-07-03 Mediatek Inc. Verfahren zur Datenverwaltung und Datenzugriffssystem zum Speichern von allen Verwaltungsdaten in einer Verwaltungsbank eines nicht-flüchtigen Speichers
DE102005021053B4 (de) * 2004-08-31 2013-05-02 Mitsubishi Denki K.K. Fahrzeugelektronik-Steuereinheit
US7369926B2 (en) 2004-08-31 2008-05-06 Mitsubishi Denki Kabushiki Kaisha On-vehicle electronic control unit
CN100425817C (zh) * 2004-08-31 2008-10-15 三菱电机株式会社 车载电子控制装置
DE102005053847B4 (de) * 2005-04-29 2013-11-14 Mediatek Inc. Speicheranordnungsverfahren und System
WO2006125760A2 (de) * 2005-05-25 2006-11-30 Robert Bosch Gmbh Verfahren und vorrichtung zur umschaltung bei einem speicher für ein steuergerät
US8464016B2 (en) 2005-05-25 2013-06-11 Robert Bosch Gmbh Method and device for switching over in a memory for a control device
WO2006125760A3 (de) * 2005-05-25 2007-04-19 Bosch Gmbh Robert Verfahren und vorrichtung zur umschaltung bei einem speicher für ein steuergerät
WO2007077054A1 (de) * 2005-12-28 2007-07-12 Siemens Aktiengesellschaft Verfahren zum ansteuern einer geräte- und maschinenbaugruppenanordnung sowie engineering-system und runtime-system zur durchführung des verfahrens
US8433429B2 (en) 2005-12-28 2013-04-30 Siements Aktiengesellschaft Method for controlling a device and machine module arrangement as well as an engineering system and runtime system for implementing the method
DE102005062810B4 (de) * 2005-12-28 2019-06-06 Siemens Aktiengesellschaft Verfahren zum Ansteuern einer Geräte- und Maschinenbaugruppenanordnung
EP2674824A1 (de) * 2012-06-14 2013-12-18 Siemens Aktiengesellschaft Verfahren und industrielle Automatisierungskomponente zur indirekten Adressierung von Speicher
US9436602B2 (en) 2012-06-14 2016-09-06 Siemens Aktiengesellschaft Method and industrial automation component for indirect memory addressing

Also Published As

Publication number Publication date
US6141726A (en) 2000-10-31
JP4495265B2 (ja) 2010-06-30
JPH11154085A (ja) 1999-06-08

Similar Documents

Publication Publication Date Title
DE3803759C2 (de)
DE60206336T2 (de) Industrielles Steuerungssystem und-verfaher mit einem E/A Prozessor mit Cache-speicher zur Optimierung der Übertragung von geteilten Daten
DE3011552C2 (de)
DE4022885C2 (de) Verfahren zum Verschieben von Speicherbereichen und Hierarchie-Speichersystem
DE19836748C1 (de) Verfahren zum Applizieren von Steuerdaten eines elektronischen Kraftfahrzeug-Steuergeräts
DE19737182A1 (de) Verfahren zum Ändern von Daten
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
DE102004061597A1 (de) Betriebssystem, das den Lauf von Echtzeitprogrammen ermöglicht, Steuerungsverfahren hierfür sowie Verfahren zum Laden von DLLs
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE4103093C2 (de) Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers und Computersystem zum Durchführen dieses Verfahrens
EP1314135A1 (de) Verfahren zur virtuellen vergrösserung des stacks eines tragbaren datenträgers
DE2710436C2 (de) Datenverarbeitungseinrichtung
EP1332501A2 (de) Speicherverwaltungslogik zur erweiterten nutzung von festwertspeichern
DE19709975C2 (de) Mikrocomputer
DE60216016T2 (de) Mikroprozessor mit Aufrechterhaltung der Speicherübereinstimmung
DE19903302B4 (de) Verfahren und Vorrichtung zur Überprüfung der Funktion eines Rechners
EP1559111A1 (de) Verfahren zum betreiben einer speicheranordnung
WO1998036333A1 (de) Steuergerät, insbesondere für den einsatz in einem kraftfahrzeug
EP0556430B1 (de) Verfahren zur Steuerung eines Peripheriesystems
DE10035635A1 (de) Verfahren und Vorrichtung zum Bearbeiten von Daten in einem Speicher
DE19704531C1 (de) Verfahren und Vorrichtung zum Laden einer Anwendungssoftware in einen programmierbaren Lesespeicher
DE4406835A1 (de) Elektronisches Gerät
DE10107833A1 (de) Speicheranordnung und Verfahren zum Auslesen einer Speicheranordnung
DE102023201932A1 (de) Chip und verfahren zum ansteuern von speicherbänken

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R011 All appeals rejected, refused or otherwise settled
R003 Refusal decision now final

Effective date: 20121130