DE4412488C2 - Verfahren und Vorrichtung zur Steuerung der Zündvorrichtung eines Automobils - Google Patents

Verfahren und Vorrichtung zur Steuerung der Zündvorrichtung eines Automobils

Info

Publication number
DE4412488C2
DE4412488C2 DE4412488A DE4412488A DE4412488C2 DE 4412488 C2 DE4412488 C2 DE 4412488C2 DE 4412488 A DE4412488 A DE 4412488A DE 4412488 A DE4412488 A DE 4412488A DE 4412488 C2 DE4412488 C2 DE 4412488C2
Authority
DE
Germany
Prior art keywords
elements
signals
ignition coil
ignition
register
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.)
Expired - Fee Related
Application number
DE4412488A
Other languages
English (en)
Other versions
DE4412488A1 (de
Inventor
Douglas George Rosner
Thomas Phillip Mioduszewski
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.)
Ford Motor Co
Original Assignee
Ford Motor Co
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 Ford Motor Co filed Critical Ford Motor Co
Publication of DE4412488A1 publication Critical patent/DE4412488A1/de
Application granted granted Critical
Publication of DE4412488C2 publication Critical patent/DE4412488C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02PIGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
    • F02P7/00Arrangements of distributors, circuit-makers or -breakers, e.g. of distributor and circuit-breaker combinations or pick-up devices
    • F02P7/02Arrangements of distributors, circuit-makers or -breakers, e.g. of distributor and circuit-breaker combinations or pick-up devices of distributors
    • F02P7/03Arrangements of distributors, circuit-makers or -breakers, e.g. of distributor and circuit-breaker combinations or pick-up devices of distributors with electrical means
    • F02P7/035Arrangements of distributors, circuit-makers or -breakers, e.g. of distributor and circuit-breaker combinations or pick-up devices of distributors with electrical means without mechanical switching means
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02PIGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
    • F02P3/00Other installations
    • F02P3/02Other installations having inductive energy storage, e.g. arrangements of induction coils
    • F02P3/04Layout of circuits
    • F02P3/0407Opening or closing the primary coil circuit with electronic switching means
    • F02P3/0435Opening or closing the primary coil circuit with electronic switching means with semiconductor devices
    • F02P3/0442Opening or closing the primary coil circuit with electronic switching means with semiconductor devices using digital techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Ignition Installations For Internal Combustion Engines (AREA)
  • Electrical Control Of Ignition Timing (AREA)

Description

Diese Erfindung bezieht sich auf ein Zündsteuerungsverfahren für eine Automobil-Zündvorrichtung mit mehreren Zündspulen­ bänken und auf eine Vorrichtung zur Durchführung des Zünd­ steuerungsverfahrens.
Für einen verbesserten Betrieb und Wirkungsgrad von Au­ tomobil-Zündvorrichtungen, einschließlich der inzwischen gut bekannten verteilerlosen Zündvorrichtungen, ist eine große Vielfalt von Steuerungsvorrichtungen und -verfahren entwickelt worden. Bei derartigen Vorrichtungen und Verfahren werden in zunehmendem Maße elektronische Steuereinrichtungen einschließlich Mikroprozessoren mit verschiedenen peripheren Elementen oder vollständig gepackte Microcontroller eingesetzt.
Elektronische verteilerlose Zündvorrichtungen enthalten typi­ scherweise mehrere Zündspulen, wobei jede Zündspule minde­ stens eine entsprechende Zündkerze mit Energie versorgt. Die Zündspulen sind im allgemeinen in mehreren Gruppen oder Bän­ ken mit verschiedenen Eingangs/Ausgangs-Elementen (E/A) zur Übertragung von Signalen zu und von den Zündspulenbänken an­ geordnet.
Auf Mikroprozessoren oder Microcontrollern basierende Steue­ rungsvorrichtungen und Verfahren für derartige verteilerlose Zündvorrichtungen enthalten einen Speicher zum Speichern der durch die E/A-Elemente zu und von den Zündspulenbänken über­ tragenen Signale. Ein derartiger Speicher speichert auch das für die Verarbeitung und Erzeugung der Signale verantwortli­ che Programm (Software), um das Zündsteuerungsverfahren zu implementieren.
Solche auf Mikroprozessoren oder Microcontrollern basierende Zündsteuerungsvorrichtungen und Verfahren sind z. B. aus der US-PS 49 13 123, der US-PS 46 25 704 und der US-PS 45 58 684 bekannt. Darüber hinaus bieten auf Mikroprozessoren oder Microcontrollern basierende Zündsteuerungsvorrichtungen und Verfahren vorteilhafte Einrichtungen, um mehrere Zündspulenbänke unabhängig zu steuern, wodurch es möglich wird, daß sich aufeinanderfolgende Zündspulenladeperioden überlappen. Solche sich überlappenden Schließwinkel ergeben wiederum die derzeit gut bekannten Vorteile der Zünd­ vorrichtung, wie sie in der US-PS 50 14 676 beschrieben sind, welche die Möglichkeit zur Zündfunkenwiederholung und den Vorteil keiner Verringerung der Zündfunkenenergie mit steigender Motordrehzahl einschließen.
Aus der DE 40 05 544 A1 ist eine Verteilung des Zündsignals bei einem System mit ruhender Hochspannungsverteilung bekannt, bei dem zur Ansteuerung der einzelnen Zündspulen Adressensignale verwendet werden, die von einem Mikrocomputer erzeugt werden. Ein Vermeiden von Fehlzündungen wird dabei dadurch erreicht, daß die Adressensignale, die bestimmen, auf welche nachgeschaltete Zündendstufe das jeweilige Zündsignal geschaltet ist, einem Flipflop-Bauteil zugeführt werden, das die Adressensignale während der Offenzeit der Zündsignale übernimmt und sie wenigstens während der anschließenden Schließzeit der Zündsignale speichert.
Mit den andauernden Bemühungen, den Wirkungsgrad der Auto­ mobil-Zündvorrichtung zu verbessern, wurde jedoch die erfor­ derliche Software für die auf Mikroprozessoren oder Microcon­ trollern basierenden Zündsteuerungsvorrichtungen in zunehmen­ den Maße komplexer. Eine komplexere Software erfordert wie­ derum mehr von dem nur begrenzten und wertvollen Speicher­ platz, welcher in den im Handel erhältlichen Mikroprozessoren oder Microcontrollern vorgesehen ist. Mit geringer werdendem Speicherplatz wird auch die Fähigkeit von auf Mikroprozesso­ ren oder Microcontrollern basierenden Steuerungsvorrichtungen und Verfahren, zusätzliche und komplexere Aspekte der Zünd­ vorrichtung zu steuern, geringer. Da die Automobil-Zündvor­ richtungen selbst komplexer werden, wird die Verfügbarkeit von Speicherplatz, der nicht unter den vorgenannten Gesichts­ punkten belegt wird, zunehmend problematischer.
Aufgabe der Erfindung ist es deshalb, ein Zündsteuerungsver­ fahren für eine Automobil-Zündvorrichtung mit mehreren Zünd­ spulbänken und eine Vorrichtung zur Durchführung des Verfah­ rens zu schaffen, bei denen der genutzte Speicherplatz einer Rechnervorrichtung gegenüber dem Stand der Technik verringert ist.
Erfindungsgemäß wird diese Aufgabe durch ein Verfahren gemäß dem Anspruch 1 und eine Vorrichtung gemäß dem Anspruch 3 ge­ löst.
Mit der vorliegenden Erfindung werden eine speichereffiziente Rechnervorrichtung und ein Verfahren zur Steuerung einer Au­ tomobil-Zündvorrichtung geschaffen, welche bzw. welches Zündspulenbänke mit mindestens einer Zündspule zur Energieversorgung einer entsprechen Zündkerze aufweist. Die Steuerungsvorrichtung der vorliegenden Erfindung enthält Ein­ gangs/Ausgangs-Elemente (E/A), die in elektrischer Verbindung mit den Zündspulenbänken stehen, um Zündspulensignale zu übertragen, wobei jede Zündspulenbank mindestens einen Satz entsprechender E/A-Elemente aufweist, die ähnliche Signale übertragen. Die Speichereinrichtung enthält ebenfalls eine erste Speichereinrichtung zum Speichern ähnlicher Signale, die von Sätzen entsprechender E/A-Elemente übertragen werden, wobei die ähnlichen Signale in der ersten Speichereinrichtung Adressen mit einem konstanten Versatz zueinander aufweisen.
Die Steuerungsvorrichtung der vorliegenden Erfindung enthält ferner eine zweite Speichereinrichtung zum Speichern von Pro­ grammroutinen für die Verarbeitung und Erzeugung der von den Sätzen der entsprechenden E/A-Elemente übertragenen ähnlichen Signale. Die Vorrichtung enthält außerdem noch eine Zugriffs­ einrichtung für den Zugriff auf die ähnlichen Signale in der ersten Speichereinrichtung durch die Programmroutinen unter Verwendung eines indizierten Adressierungsmodus und des kon­ stanten Adressenversatzes in der Weise, daß eine einzige Pro­ grammroutine einen Satz entsprechender E/A-Einrichtungen steuert.
Das Steuerungsverfahren der vorliegenden Erfindung enthält den Schritt der Bereitstellung von E/A-Elementen, die zur Übertragung von Zündspulensignalen in elektrischer Verbindung mit den Zündspulenbänken stehen, wobei jede Zündspulenbank mindestens einen Satz entsprechender E/A-Elemente aufweist, welche ähnliche Signale übertragen. Das Verfahren enthält den Schritt der Speicherung der ähnlichen von Sätzen entsprechender E/A-Elemente übertragenen Signale, wobei die ähnlichen Signale Adressen im Speicher mit einem konstanten Versatz zueinander aufweisen.
Das Steuerungsverfahren der vorliegenden Erfindung enthält ferner den Schritt der Speicherung von Programmroutinen für die Verarbeitung und Erzeugung ähnlicher von Sätzen ent­ sprechender E/A-Elemente übertragener Signale. Desweiteren enthält das Verfahren den Schritt des Zugriffs auf die ähnli­ chen Signale durch die Programmroutinen, welche einen indi­ zierten Adressierungsmodus und den konstanten Adressenversatz in der Weise verwenden, daß eine einzige Programmroutine einen Satz entsprechender E/A-Elemente steuert.
Weitere Merkmale und Vorteile der Erfindung werden in der nachstehenden Beschreibung unter Bezug auf das in den beige­ fügten Zeichnungen dargestellte Ausführungsbeispiel erläutert.
Es zeigen:
Fig. 1 ein schematisches Schaltbild der Steuerungsvorrichtung der vorliegenden Erfindung;
Fig. 2 eine Teil-Speicherzuordnung der Steuerungsvorrichtung und des Verfahrens der vorliegenden Erfindung;
Fig. 3 ein Flußdiagramm von Programmroutinen der Steuerungs­ vorrichtung und des Verfahrens der vorliegenden Er­ findung;
Fig. 4 eine Tabelle typischer Rechnerbefehle, welche zugeord­ net zu Teilen des Flußdiagramms von Fig. 3, die die von der Steuerungsvorrichtung und dem Verfahren der vorliegenden Erfindung verwendete indizierte Adres­ sierung demonstrieren;
Fig. 5 ein etwas detaillierteres Schaltbild eines Teils der in Fig. 1 dargestellten Steuerungsvorrichtung der vorliegenden Erfindung;
Fig. 6 ein vereinfachtes Flußdiagramm von Programmroutinen einer Steuerungsvorrichtung und eines Verfahrens nach dem Stand der Technik;
Fig. 7 ein vereinfachtes Flußdiagramm von Programmroutinen der Steuerungsvorrichtung und des Verfahrens der vor­ liegenden Erfindung;
Fig. 8 ein Blockdiagramm des Steuerungsverfahrens der vor­ liegenden Erfindung; und
Fig. 9 ein Blockdiagramm einer alternativen Ausführungsform des Steuerungsverfahrens der vorliegenden Erfindung.
In Fig. 1 ist die speichereffiziente Rechnervorrichtung der vorliegenden Erfindung zur Steuerung einer Automobil-Zündvor­ richtung schematisch dargestellt und als Ganzes mit dem Be­ zugszeichen 10 bezeichnet. Die Zündvorrichtung enthält acht in zwei Sätzen oder Zündspulenbänken 14 angeordnete Zündspu­ len 12. Jede Zündspule 12 wird über einen entsprechenden Spu­ lentreibertransistor 16 mit Energie versorgt und ist einer (nicht dargestellten) Zündkerze zugeordnet.
Die Steuerungsvorrichtung 10 selbst weist im allgemeinen meh­ rere E/A-Elemente 18, einen Speicher 20 und eine zentrale Verarbeitungseinrichtung (CPU) 22 auf. Der Speicher 20 und die CPU 22 bilden zusammen einen Mikroprozessor, welcher ge­ trennt von den E/A-Elementen 18 angeordnet sein kann. In der Steuerungsvorrichtung 10 der vorliegenden Erfindung sind je­ doch die E/A-Elemente 18, der Speicher 20 und die CPU 22 alle bevorzugt Teil einer einzigen integrierten Schaltung oder ei­ nes Chips, der als Microcontroller bekannt ist. Für die vor­ liegende Erfindung ist der bevorzugte Microcontroller der Typ MC68HC05TB der Firma Motorola.
Jedes der E/A-Elemente 18 steht mit einer der zwei Zündspu­ lenbänke 14 entweder direkt oder indirekt über ein weiteres E/A-Element 18 in elektrischer Verbindung. In ähnlicher Weise stehen die E/A-Elemente 18 mit dem Speicher 20 und der CPU 22 wiederum entweder direkt oder indirekt über ein weiteres E/A- Element 18 in elektrischer Verbindung. Die E/A-Elemente 18 enthalten zwei Erfassungseingänge 24, Stromsensoren 26, Im­ pulsakkumulatoren 28, Spulenauswahleinrichtungen 30 und Aus­ gangsvergleichseinrichtungen 32.
Die E/A-Elemente 18 sind so angeordnet, daß jede Spulenbank 14 mindestens einen Satz entsprechender E/A-Elemente 18 ent­ hält. Diesbezüglich weist gemäß Darstellung in Fig. 1 jede der zwei Spulenbänke 14 einen ihr zugeordneten Erfassungs­ eingang 24, einen Stromsensor 26, einen Impulsakkumulator 28, eine Spulenauswahleinrichtung 30 und eine Ausgangsver­ gleichseinrichtung 32 auf. Der in Fig. 1 dargestellte spezi­ fische Aufbau der Steuerungsvorrichtung 10 der vorliegenden Erfindung ist jedoch lediglich ein Beispiel zur Veran­ schaulichung, wie eine auf einem Mikroprozessor oder einem Microcontroller basierende Steuerungsvorrichtung aufgebaut sein könnte, um einen Satz Zündspulen 12 eines Verbren­ nungsmotor zu betreiben. Viele dazu ähnliche Aufbauten für beliebige Anzahlen von Zündspulen 12 und Zündspulenbänken 14 sind sowohl machbar als auch dem Fachmann auf diesem Gebiet bekannt.
Im Betrieb dient der jeder Zündspulenbank 14 zugeordnete Satz der Erfassungseingänge 24 für die Aufzeichnung der Zeit, bei der externe Ereignisse auftreten, in diesem Falle für das Auftreten des Rückschlagspannung, die mit dem Abschalten der Zündspulen verbunden ist. Der Satz der jeder Zündspulenbank 14 zugeordneten Stromsensoren 26 und Impulsakkumulatoren 28 dient zur Messung des Ladezeitintervalls des Stromflusses zu jeder Zündspule 12. Zuletzt dient der jeder Zündspulenbank 14 zugeordnete Satz der Spulenauswahleinrichtungen 30 und Aus­ gangsvergleichseinrichtungen 32 dazu, ein externes Ereignis zu einem gegebenen Zeitpunkt auszulösen, in diesem Falle zum Ein- oder Ausschalten der Zündspulen 12.
In der Steuerungsvorrichtung 10 der vorliegenden Erfindung nimmt die den Zündspulen 12 zugeordnete Information bezüglich Spannung, Strom und Einschaltdauer die Form von Eingangs- und Ausgangssignalen für die Zündspulen an. Diese Zündspulen­ signale werden von den verschiedenen E/A-Elementen 18 sowohl zu den entsprechenden Zündspulenbänken 14 und dem Speicher 20 hin als auch von diesen weg übertragen. Wie es ohne weiteres ersichtlich ist, dient ein Satz entsprechender E/A-Elemente 18, der jeder Zündspulenbank 14 zugeordnet ist, für die Über­ tragung ähnlicher Zündspulensignale. Beispielsweise überträgt jeder Erfassungseingang 24 ein ähnliches Zündspulensignal von seiner zugeordneten Zündspulenbank 14 an den Speicher 20, das die Zeit des Auftretens der mit dem Abschalten verbundenen Rückschlagspannung darstellt.
Ferner weist gemäß Darstellung in Fig. 1 der Speicher 20 der Steuerungsvorrichtung der vorliegenden Erfindung einen Speicherbereich mit wahlfreien Zugriff 34 (RAM) und einen Nur-Lese-Speicherbereich 36 (ROM) auf. Der RAM-Bereich 34 stellt eine erste Speichereinrichtung zum Speichern der von den verschiedenen E/A-Elementen 18 übertragenen Zündspulen­ signale bereit. Der ROM-Bereich 36 stellt eine zweite Spei­ chereinrichtung zum Speichern mehrerer Programmroutinen mit kodierten Befehlen für die Verarbeitung der Zündspulen­ eingangssignale und zum Erzeugen der Zündspulenausgangs­ signale dar, die von den E/A-Elementen 18 übertragen und für die Steuerung der Zündvorrichtung verwendet werden.
Die kodierten Befehle der in dem ROM-Bereich 36 gespeicherten Programmroutinen empfangen die in dem RAM-Bereich 34 gespei­ cherten Eingangssignale der Zündvorrichtung über die CPU 22. Nach der Verarbeitung der Zündspuleneingangssignale durch die kodierten Befehle der Programmroutinen in dem ROM-Bereich 36, dient die CPU 22 auch für die Rückübertragung der von den ko­ dierten Befehlen erzeugten Zündspulenausgangssignale in den RAM-Bereich 34. Die CPU 22 stellt somit eine Zugriffseinrich­ tung für den Zugriff auf die Zündspulensignale in dem RAM-Be­ reich 34 mittels der in dem ROM-Bereich 36 gespeicherten Pro­ grammroutinen bereit.
In Fig. 2 ist ein veranschaulichendes Beispiel einer Teilzu­ ordnung des RAM-Bereichs 34 der Steuerungsvorrichtung 10 der vorliegenden Erfindung dargestellt. Wie darin dargestellt, weist der RAM-Bereich 34 mehrere Register 38 auf. Jedes der Register 38 weist eine einzigartige, in einem hexadezimalen Format angegebene "Adresse", 40 im RAM-Bereich 34 auf. Solche Adressen 40 werden von den kodierten Befehlen der in dem ROM- Bereich 36 gespeicherten Programmroutinen dazu genutzt, die logischen Operationen der Programmroutinen auf ein spezielles Register 38 in dem RAM-Bereich 34 zu richten.
Wie im Fachgebiet üblich, werden die Register entweder als Daten-, Steuer- oder Statusregister 42, 44 bzw. 46 bestimmt. Sätze dieser Register 42, 44, 46 sind jedem der in Fig. 1 dargestellten E/A-Elemente 18 zugeordnet. Jedem dieser Regi­ ster 38 ist auch ein Registername 48 und ein Registersymbol 50 zugeordnet, um eine Idee ihrer Verwendung in der Steue­ rungsvorrichtung 10 zu vermitteln, und zur Erleichterung der Bezeichnung und der Programmierung.
Wie im Fachgebiet üblich, umfassen die Register 38 selbst acht Bits 52, oder ein Byte des Speichers in dem RAM-Bereich 34. Jedes Bit kann entweder in einen "AUS"- oder "EIN"-Zu­ stand, welcher durch einen logischen Wert "0" bzw. "1" darge­ stellt wird, versetzt werden. Als Teil des RAM-Bereichs 34 können die Bits 52 typischerweise kodierte Zündspulensignale "ausgelesen" oder "eingeschrieben" durch die CPU 22 aufwei­ sen, wenn diese die kodierten Befehle der in dem ROM-Bereich 36 gespeicherten Programmroutinen ausführt. Dieser Aspekt der Bits 52 wird in Fig. 2 durch eine "Lesen/Schreiben"-Spalte gekennzeichnet.
Weiter sind gemäß Fig. 2 zwei Datenregister 42 unter dem Na­ men "Spule 1 obere Daten" (COIL1_H) und "Spule 1 untere Da­ ten" (COIL1_L) in dem RAM-Bereich 34 an den hexadezimalen Adressen $0000 bzw. $0001 angeordnet. Das COIL1_H-Register und das COIL1_L-Register bilden zusammen eine 16-Bit-Binär­ zahl, welche eine Zeit darstellt, bei der eine der vier Zünd­ spulen 12 in einer in Fig. 1 dargestellten Zündspulenbank ein- oder ausgeschaltet werden kann. Die acht Bits 52 des COIL1_H-Registers stellen das höchstwertige Byte dieser 16- Bit-Binärzahl dar und werden als "obere Daten 1"-Bits Null bis Sieben (D10_H bis D17_H) bezeichnet. In ähnlicher Weise stellen die acht Bits 52 des COIL1_L-Registers das niedrigst­ wertige Byte der 16-Bit-Binärzahl dar und werden als "untere Daten 1"-Bits Null bis Sieben (D10_L bis D17_L) bezeichnet.
An der hexadezimalen Adresse $0002 im RAM-Bereich 34 ist das Steuerregister 44 unter dem Namen "Steuerung 1" (CTRL1) ange­ ordnet. Das CTRL1-Register weist zwei "Steuertreiberauswahl 1"-Bits (CDS10 und CDS11) auf, welche zusammen eine 2-Bit- Binärzahl bilden, die angibt, welche der vier Zündspulen 12 einer in Fig. 1 dargestellten Zündspulenbank eingeschaltet werden soll. Das CTRL1 weist auch ein "Ausgabepegel 1"-Bit (OLVL1) auf, welches darstellt, ob eine Zündspule 12 durch die Ausgangsvergleichseinrichtung 32 ein- oder ausgeschaltet werden soll.
An der hexadezimalen Adresse $0003 im RAM-Bereich 33 ist das Statusregister 46 unter dem Namen "Status 1" (STS1) angeord­ net. Das STS1-Register weist ein "Schließwinkel 1"-Bit (DWL1) auf, welches darstellt ob eine Zündspule 12 momentan ein- oder ausgeschaltet ist. Wie es nachstehend unter Bezugnahme auf Fig. 5 detaillierter erläutert wird, wird das DWL1-Bit des STS1-Registers von dem OLVL1-Bit des CTRL1-Registers und einem 16-Bit-Komparator gesteuert.
Gemäß Darstellung in Fig. 2 sind die vorstehend beschriebenen COIL1_H- COIL1_L-, CTRL1- und STS1-Register alle einer der zwei Zündspulenbänke 14 von Fig. 1 zugeordnet. Ein Duplikat­ satz dieser Register 38 ist unter den Namen "Spule 2 obere Daten" (COIL2_H), "Spule 2 untere Daten" (COIL2_L), "Steue­ rung 2" (CTRL2) bzw. "Status 2" (STS2) in dem RAM-Bereich 34 angeordnet. Wie es ebenfalls in Fig. 2 dargestellt ist, sind die COIL_2H-, COIL_2L-, CTRL2- und STS2-Register mit der an­ deren Zündspulenbank 14 von Fig. 1 verbunden.
Deutlich sichtbar sind Sätze entsprechender Daten-, Steuer- und Statusregister 42, 44, 46 zum Speichern ähnlicher Zünd­ spulensignale, die Sätzen entsprechender E/A-Elemente 18 für jede der zwei Zündspulenbänke 14 zugeordnet sind, in dem RAM- Bereich 34 mit einem konstanten numerischen Versatz voneinan­ der getrennt. Beispielsweise weist das einer Zündspulenbank 14 zugeordnete COIL2_H-Register eine hexadezimale Adresse $0006 auf, welche in dem RAM-Bereich 34 um sechs Bytes von dem der anderen Zündspulenbank 14 zugeordneten COIL1_H-Regi­ ster mit einer hexadezimalen Adresse von $0000 versetzt ist. In ähnlicher Weise sind die übrigen Sätze der entsprechenden Register 38, die Sätzen entsprechender E/A-Elemente 18 für jede Zündspulenbank 14 zugeordnet sind, ebenfalls in dem RAM- Bereich 34 um sechs Bytes voneinander versetzt.
Wie nachstehend unter Bezugnahme auf Fig. 3 detaillierter be­ schrieben werden wird, ermöglicht es dieser konstante Versatz in dem RAM-Bereich 34 zwischen Sätzen entsprechender Register 38, daß eine einzige in dem ROM-Bereich 36 des Speichers 20 gespeicherte Programmroutine beide Zündspulenbänke 14 unab­ hängig steuert und dadurch den Platzbedarf in dem ROM-Bereich 36 reduziert. Obwohl viele im Handel erhältliche Standard- Microcontroller entsprechende im RAM angeordnete Register mit einem konstanten Versatz zueinander aufweisen, werden solche Anordnungen nicht dafür genutzt, Sätze entsprechender E/A- Elemente mittels einer einzigen Programmroutine zu steuern, um Speicherplatz in dem ROM zu sparen. Die unabhängige Steue­ rung der Zündspulenbänke 14 ermöglicht auch, daß sich aufein­ anderfolgende Schließwinkelperioden der Zündspulen 12 über­ lappen, was als Vorteil der Zündvorrichtung die Möglichkeit für wiederholte Zündfunken, und den Vorteil keiner Reduzie­ rung der Zündfunkenenergie mit steigender Motordrehzahl er­ gibt.
Gleich wichtig für dieses Ziel ist jedoch die entsprechende Anordnung von Bits 52 innerhalb von Sätzen entsprechender Re­ gister 38 des RAM-Bereichs 34. So wie z. B. das CDS10- und das CDS11-Bit die zwei niedrigstwertigen Bits 52 des CTRL1-Regi­ sters sind, sind auch die CSD20- und die CSD21-Bits die zwei niedrigstwertigen Bits 52 des CTRL2-Registers. Auf diese Weise kann eine einzige Programmroutine in ähnlicher Weise ähnliche Bereiche der in einem Satz entsprechender Register 38 gespeicherten ähnlichen Zündspulensignale auslesen, sie verarbeiten und wieder einschreiben.
Wie zuvor angemerkt, ist die in Fig. 2 dargestellte Teil­ zuordnungstabelle des RAM-Bereichs 34 der Steuerungsvorrich­ tung 10 der vorliegenden Erfindung nur ein veranschau­ lichendes Beispiel. Zusätzlich zu den darin angeordneten Re­ gistern 38 sind andere (nicht dargestellte) Register eben­ falls den E/A-Elementen 18 und den Zündspulenbänken 14 zugeordnet. Wie die Register 38 von Fig. 2 sind diese Regi­ ster so angeordnet, daß Sätze entsprechender Register, die ähnliche Zündspulensignale speichern, die Sätzen entsprechen­ der E/A-Elemente 18 für jede Zündspulenbank 14 zugeordnet sind, in dem RAM-Bereich 34 um konstante sechs Bytes zueinan­ der versetzt sind.
Es sollte jedoch beachtet werden, daß die Funktionen der in Fig. 2 dargestellten Register, oder die Funktionen irgend­ welcher anderer nicht dargestellter Register nicht kritisch für die vorliegende Erfindung sind. In ähnlicher Weise ist auch die Art der in dem ROM-Bereich 36 gespeicherten kodier­ ten Befehle der Programmroutinen nicht kritisch für die vor­ liegende Erfindung. Diesbezüglich sind, wie vorstehend de­ tailliert ausgeführt, die Schlüsselmerkmale der vorliegenden Erfindung sowohl die Anordnung der Register 38 in dem RAM-Be­ reich 34 in der Weise, daß entsprechende Sätze von Registern 38 zum Speichern ähnlicher Zündspulensignale, die entspre­ chenden Sätzen von E/A-Elementen 18 für jede Zündspulenbank 14 zugeordnet sind, einen konstanten Versatz zueinander auf­ weisen, als auch die entsprechende Anordnung von Bits 52 in­ nerhalb entsprechender Sätze der Register 38. Obwohl der hierin beschriebene Versatz zwischen entsprechenden Sätzen von Registern 38 in dem RAM-Bereich 34 sechs Bytes beträgt, können auch andere Versatzwerte verwendet werden, solange der gewählte Versatz zwischen entsprechenden Sätzen von Registern 38 konstant bleibt.
In Fig. 3 ist ein Flußdiagramm veranschaulichender Programm­ routinen für die Steuerungsvorrichtung 10 der vorliegenden Erfindung dargestellt. Wie darin zu sehen ist, wird beim Start 54 einer Programmroutine der Inhalt eines (nicht darge­ stellten) Indexregisters X in der CPU 22 auf den numerischen Wert Null gesetzt. Dann werden kodierte Befehle ausgeführt, um zu bestimmen 58, ob der Zeitpunkt für die Berechnung einer Schließwinkelperiode für eine Zündspule 12 und eine Auswahl der nächsten Zündspule 12 für ein Zündspulenbank 14 vorliegt. Unter der Annahme, daß die Antwort auf diese Frage ein Ja ist, werden kodierte Befehle ausgeführt 60, um eine Schließwinkelperiode einer Zündspule 12 zu berechnen und um die nächste Zündspule auszuwählen.
Darauf folgend werden kodierte Befehle ausgeführt, um zu be­ stimmen 62, ob der Inhalt des Indexregisters Null ist. Da das Indexregister X zuvor auf Null gesetzt worden war, ist die Antwort auf diese Frage ein Ja. Demzufolge wird der Inhalt des Indexregisters X auf den numerischen Wert Sechs gesetzt 64, was der gewählte Versatz zwischen entsprechenden Sätzen von Registern 38 zum Speichern ähnlicher Zündspulensignale ist, die entsprechenden Sätzen von E/A-Elementen 18 für jede Zündspulenbank 14 zugeordnet sind.
Danach werden dieselben kodierten Befehle, wie zuvor be­ schrieben, nochmals ausgeführt, um zu bestimmen 58, ob der Zeitpunkt vorliegt, die Schließwinkelperiode einer Zündspule 12 zu berechnen und die nächste Zündspule 12 der verbliebenen Zündspulenbank 14 auszuwählen. Mit der weiteren Annahme, daß die Antwort auf diese Frage ein Ja ist, werden dann kodierte Befehle nochmals ausgeführt 60, um die Schließwinkelperiode einer Zündspule 12 zu berechnen und die nächste Zündspule 12 zu auszuwählen.
Zum Schluß werden nochmals kodierte Befehle ausgeführt, um zu bestimmen 62, ob der Inhalt des Indexregisters Null ist. Da das Indexregister X zuvor auf Sechs gesetzt worden war, ist die Antwort auf diese Frage ein Nein. Demzufolge endet die Programmroutine und kehrt bei 65 zu einer aufrufenden Routine oder einer (nicht dargestellten) Hintergrundschleife zurück.
Bei der Ausführung der Programmroutine, wie vorstehend be­ schrieben, greifen die kodierten Befehle im ROM-Bereich 36 auf die Register 38 im RAM-Bereich 34 über die CPU 22 unter Verwendung eines bekannten indizierten Adressierungsmodus zu. Diesbezüglich wird ein Befehl auf ein spezielles Register 38 im RAM-Bereich 34 gerichtet, dessen Adresse 40 die Summe der Adresse 40 des in dem Befehl selbst angegebenen Registers 38 und des Inhalts des Indexregisters X ist. Somit wird, wenn der Inhalt des Indexregisters X Null ist, ein Befehl auf das Register 38 gerichtet, dessen Adresse 40 einfach die des Re­ gisters 38 ist, das im Befehl angegeben ist. Wenn der Inhalt des Indexregisters Sechs ist, wird ein Befehl auf das Regi­ ster 38 gerichtet dessen Adresse 40 die der im Befehl angege­ benen Adresse plus Sechs ist.
Somit werden bei dem ersten Durchlauf der Programmroutine die Zündspulensignale von Registern 38, die der einen Zündspulen­ bank 14 zugeordnet sind, ausgelesen, verarbeitet und wieder eingeschrieben. Beim nächsten Durchlauf derselben Programm­ routine werden im Lichte des vorstehenden beschriebenen indi­ zierten Adressierungsmodus und des konstanten Versatzes zwi­ schen entsprechenden Sätzen von Registern 38 im RAM-Bereich 34 ähnliche Zündspulensignale aus einem entsprechenden Satz von Registern 38, die der verbleibenden Zündspulenbank 14 zu­ geordnet sind, ausgelesen, verarbeitet und wieder einge­ schrieben. Auf diese Weise kann eine einzige Programmroutine ähnliche Zündspulensignale verarbeiten und erzeugen, die in entsprechenden Sätzen von Registern 38 gespeichert sind, die entsprechenden Sätzen von E/A-Elementen 18 für jede Zündspu­ lenbank 14 zugeordnet sind.
Nach dem Abschluß der Programmroutinen 58, 60 zur Schließ­ winkelberechnung und Spulenauswahl können andere Programm­ routinen, welche Operationen 66, 68, 70, 72 zum Einschalten der Spulen und Verzögerungszeit-Operationen 74, 76 betreffen, in ähnlicher Form ausgeführt werden. Wie vorstehend be­ schrieben, kann aufgrund des konstanten Versatzes zwischen entsprechenden Sätzen von Registern 38 im RAM-Bereich 34 eine einzige Programmroutine für jeden dieser Vorgänge ähnliche Zündspulensignale, die von entsprechenden Sätzen von Regi­ stern 38 gespeichert werden, die entsprechenden Sätzen von E/A-Elementen 18 für jede Zündspulenbank 14 zugeordnet sind, einfach durch Austauschen des Inhalts des Indexregisters X berechnet werden.
In Fig. 4 ist nun eine Tabelle einiger typischer kodierter Befehle, die Teilen des veranschaulichenden Flußdiagramms von Fig. 3 zugeordnet sind, dargestellt. Die Tabelle von Fig. 4 bietet eine etwas detailliertere Darstellung der in der vor­ liegenden Erfindung eingesetzten indizierten Adressierung. Wie darin dargestellt, umfaßt ein Teil der kodierten Befehle zum Auswählen 60 der nächsten Zündspule 12 einen Befehl zum Laden eines Akkumulators in der CPU 22 mit dem numerischen Wert, den man an der Adresse in dem ROM-Bereich 36 findet, die unmittelbar dem Akkumulator-Ladebefehl (LDA #1) folgt. Als Folge dieses Befehls wird die binäre Zahl %00000001 in den Akkumulator der CPU 22, ein Acht-Bit-Register, einge­ schrieben.
Ein anderer dargestellter Befehl zum Auswählen 60 der näch­ sten Zündspule 12, ist der Befehl, den Inhalt des Akku­ mulators in das Register 38 zu speichern, das an der Adresse 40 angeordnet ist, die die Summe der Adresse 40 des CTRL1-Re­ gisters und des Inhalts des Indexregisters X ist (STA CTRL1,X). Als Ergebnis dieses Befehls wird, wenn der Inhalt des Indexregisters X Null ist, lediglich die binäre Zahl %00000001 in das CTRL1-Register geschrieben. Bei einem derar­ tigen Ablauf wird gemäß Darstellung in Fig. 2 das niedrigst­ wertige Bit 52 des CTRL1-Registers, das CSD10-Bit gesetzt (ein logischer "1"-Wert zugewiesen). Desweiteren werden die OLVL1- und CDS11-Bits des CTRL1-Registers gelöscht (ein logi­ scher "0"-Wert zugewiesen).
Wenn jedoch der Inhalt des Indexregisters X gleich sechs ist, schreibt der STA CTRL1,X-BEFEHL statt dessen die binäre Zahl %00000001 in das Register 38 mit der Adresse 40, die die Summe der Adresse 40 des CTRL1-Registers, $ 0002, und des nu­ merischen Wertes Sechs ist. Gemäß Darstellung in Fig. 2 ent­ spricht die hexadezimale Adresse $0008 ($0002 + $0006) dem CTRL2-Register. Folglich wird das CDS20-Bit des CTRL2-Regi­ sters gesetzt (ein logischer "1"-Wert zugewiesen), während die OLVL2- und CDS21-Bits des CTRL2-Registers gelöscht werden (ein logischer "0"-Wert zugewiesen wird).
In Fig. 4 sind noch eine Anzahl weiterer kodierter Befehle dargestellt um zu bestimmen 66, ob ein Zeitpunkt vorliegt, bei dem eine Zündspule 12 eingeschaltet werden kann und um eine spezielle Zündspule 12 einer der Zündspulenbänke 14 ein­ zuschalten 68. Unter Verwendung eines indizierten Adressie­ rungsmodus, werden solche Befehle in einer ähnlichen Art wie die Befehle zur Auswahl 60 der nächsten Zündspule 12 ausge­ führt.
Es ist somit ohne weiteres ersichtlich, daß der konstante Adressenversatz von entsprechenden Sätzen von Registern 38 zusammen mit der entsprechenden Anordnung von Bits 52 inner­ halb dieser entsprechenden Sätze von Registern 38 es ermög­ licht, daß ein einziger kodierter Befehl im ROM-Bereich 36 Zündspulensignale von einem Satz entsprechender Register 38 auslesen, bearbeiten und einschreiben kann. Folglich kann eine einzige Programmroutine einen Satz entsprechender E/A- Elemente 18, welche ähnliche Zündspulensignale übertragen, die einem Satz entsprechender Register 38 zugeordnet sind, gleichzeitig und unabhängig von der betroffenen Zündspulen­ bank 14 steuern und dadurch die vorstehend diskutierten Vor­ teile bieten.
Es sollte beachtet werden, daß die in der Tabelle von Fig. 4 offenbarten und vorstehend beschriebenen Befehle, gerade so wie bei dem in Fig. 3 dargestellten Flußdiagramm, lediglich zur Veranschaulichung dienen. Solche Befehle sind für die vorliegende Erfindung nicht kritisch. Statt dessen werden sol­ che Befehle lediglich als ein etwas detaillierteres Mittel zur Darstellung des in der vorliegenden Erfindung einge­ setzten indizierten Adressierungsmodus offenbart.
In Fig. 5 sind eine Spulenauswahleinrichtung 30 und eine Aus­ gangsvergleichseinrichtung 32 aus Fig. 1, als Ganzes mit ei­ nem Bezugszeichen 77 bezeichnet, mit mehr Details darge­ stellt. Wie darin zu sehen ist, enthält die Spulenaus­ wahleinrichtung 30 vier logische UND-Gatter mit Zweifach-Ein­ gang 78, 80, 82, 84, wovon jedes einen Eingangsanschluß, der elektrisch mit dem Ausgang eines Spulen-Multiplexers 86 ver­ bunden ist, aufweist. Zusätzlich stehen die Ausgangsleitungen von jedem der logischen UND-Gatter mit Zweifach-Eingang 78, 80, 82, 84 in elektrischer Verbindung mit entsprechenden (in Fig. 1 dargestellten) Spulentreibertransitoren 16.
Die Ausgangsvergleichseinrichtung 32 weist einen 16-Bit-Kom­ parator 88 in elektrischer Verbindung mit einem elektroni­ schen Zwischenspeicher 90 auf. Die Ausgangsver­ gleichseinrichtung 32 steht mit der Spulenauswahleinrichtung 30 über die Ausgangsleitung des Zwischenspeichers 90 in elek­ trischer Verbindung, welche mit dem verbleibendem Eingangsan­ schluß von jedem der logischen UND-Gatter mit Zweifach-Ein­ gang 78, 80, 82, 84 verbunden ist.
Im Betrieb empfängt der Komparator 88 eine 16-Bit-Binärzahl von den COIL1_H- und COIL1_L-Registern im RAM-Bereich 34, welche eine Zeit darstellen, zu der eine der Zündspulen in einer Zündspulenbank 14 ein- oder ausgeschaltet werden kann. Wie vorstehend erläutert, stellen die acht Bits 52 des COIL1_H- und des COIL1_L-Registers die höchstwertigen bzw. die niedrigstwertigen Bytes der 16-Bit-Binärzahl dar.
Der Komparator 88 empfängt ebenfalls eine permanent aktuali­ sierte 16-Bit-Binärzahl von einem als Taktgeber arbeitenden Zeitgeber/Zähler 92. Wenn die 16-Bit-Binärzahl von den COIL1_H- und den COIL1_L-Registern mit der des Zeitge­ bers/Zählers 92 übereinstimmt, überträgt der Komparator 88 ein Übereinstimmungssignal (einen Übergang von logisch "0" auf logisch "1") an den Zwischenspeicher 90, um anzuzeigen, das ein Zeitpunkt erreicht ist, daß eine Zündspule 12 in ei­ ner Zündspulenbank 14 eingeschaltet oder ausgeschaltet werden kann.
Nach dem Empfang des Übereinstimmungssignals setzt der Zwi­ schenspeicher 90 den logischen Wert des DWL1-Bits entspre­ chend dem logischen Wert des OLVL1- Bits. Das DWL1-Bit ist mit einem Eingangsanschluß von jedem der logischen UND-Gatter mit Zweifach-Eingang 78, 80, 82, 84 verbunden. Somit über­ trägt, wenn der logische Wert des DWL1_Bits "0" ist, jedes der logischen UND-Gatter mit Zweifach-Eingang 78, 80, 82, 84 ein logisches Ausgangssignal "0" an den entsprechenden Spu­ lentreibertransistor 16, wodurch alle Zündspulen 12 der einen Zündspulenbank 14 abgeschaltet werden. Wenn jedoch der logi­ sche Wert des DWL1-Bits "1" ist, kann jedes der logischen UND-Gatter mit Zweifach-Eingang 78, 80, 82, 84 ein logisches Ausgangssignal "1" an seinen entsprechenden Spulentreiber­ transistor 16 abhängig von dem logischen Wert übertragen, der an den verbleibenden Eingangsanschluß von dem Spulen­ multiplexer 86 angelegt wird.
Gemäß Darstellung in Fig. 5 empfängt der Spulenmultiplexer 86 die logischen Werte der CDS10- und CDS11-Bits aus dem CTRL1-Register im RAM-Bereich 34 als Eingangssignale. Der Multiplexer 86 weist auch vier Ausgangsleitungen auf, von denen jede mit einem Eingangsanschluß der logischen UND-Gat­ ter mit Zweifach-Eingang 78, 80, 82, 84 verbunden ist.
Wie ohne weiteres zu erkennen ist, stellt jede der vier mög­ lichen Kombinationen des Zwei-Bit-Eingangssignals in den Mul­ tiplexer 86 eine der vier Zündspulen 12 in einer Zündspulen­ bank 14 dar. Somit überträgt der Multiplexer 86 abhängig von der logischen Kombination der CSD10- und CSD11-Bits ein logi­ sches "1" Signal an eines der vier logischen UND-Gatter mit Zweifach-Eingang 78, 80, 82, 84, während die restlichen ein logisches "0"-Signal empfangen. Deshalb überträgt, wenn die 16-Bit-Binärzahl von den COIL1_H/COIL1_L-Registern und dem Zeitgeber/Zähler übereinstimmt, und wenn der logische Wert des OLVL1-Bits "1" ist, eines der vier logischen UND-Gatter mit Zweifach-Eingang 78, 80, 82, 84 ein logisches "1"-Signal an seinen entsprechenden Spulentreibertransistor 16, und schaltet dadurch die entsprechende Zündspule 12 ein.
In Fig. 6 ist nun ein vereinfachtes Flußdiagramm einer Pro­ grammroutine einer Steuerungsvorrichtung und eines Verfahrens nach dem Stand der Technik dargestellt. Wie darin darge­ stellt, werden unmittelbar nach dem Start 96 der Programmrou­ tine die Operationen, welche beide Zündspulenbänke 14 betref­ fen, ausgeführt 98. Als nächstes werden die Befehle für die eine Zündspulenbank 14 ausgeführt 100, welche die Register 38 im RAM-Bereich 34 betreffen, die den E/A-Elementen 18 für diese Zündspulenbank 14 zugeordnet sind.
Danach werden ähnliche Befehle für die verbleibende Zündspu­ lenbank 14 ausgeführt 102, welche die Register 38 im RAM-Be­ reich 34 betreffen, die den E/A-Elementen 18 für diese Zünd­ spulenbank 14 zugeordnet sind. Zum Schluß endet die Programm­ routine und kehrt 104 zu einer aufrufenden Routine oder einer (nicht dargestellten) Hintergrundschleife zurück. Wie ohne weiteres zu ersehen ist, erfordert eine derartige Programm­ routine, daß die Befehle für die Steuerung der Zündspulenbank 14 für jede Zündspulenbank 14 dupliziert werden müssen, wo­ durch mehr Platz im ROM-Bereich 36 verbraucht wird und die Wahrscheinlichkeit eines Fehlers bei der Kodierung der Be­ fehle steigt.
In Fig. 7 ist nun ein vereinfachtes Flußdiagramm einer Pro­ grammroutine der Steuerungsvorrichtung und des Verfahrens der vorliegenden Erfindung dargestellt. Gemäß dieser Darstellung und der vorstehenden detaillierteren Beschreibung unter Be­ zugnahme auf Fig. 3 werden unmittelbar nach dem Start 106 der Programmroutine die für beide Zündspulenbänke 14 gemeinsamen Operationen ausgeführt 108. Als nächstes wird der Inhalt des Indexregisters X mittels eines Indexregister-Ladebefehls (LDX #0) auf Null gesetzt 110.
Danach werden unter Verwendung eines indizierten Adres­ sierungsmodus Befehle für die eine Zündspulenbank 14 ausge­ führt 112, welche die Register 38 im RAM-Bereich 34 betref­ fen, die den E/A-Elementen 18 für diese Zündspulenbank 14 zu­ geordnet sind. Zum Abschluß eines derartigen Befehls wird der Inhalt des Indexregisters X geprüft 114, um zu sehen, ob er Null ist. Wenn dieses der Fall ist, wird der Inhalt des In­ dexregisters mittels eines Indexregister-Ladebefehls (LDX #6) auf Sechs gesetzt 116.
Danach werden wiederum unter Verwendung eines indizierten Adressierungsmodus dieselben Befehle für die verbleibende Zündspulenbank 14 ausgeführt 112, welche die entsprechenden Register 38 im RAM-Bereich 34 betreffen, die den ent­ sprechenden E/A-Elementen 18 für diese Zündspulenbank 14 zu­ geordnet sind. Zum Abschluß derartiger Befehle wird der In­ halt des Indexregisters X wiederum geprüft 114, um zu sehen, ob er Null ist. Wenn dieses nicht der Fall ist, endet die Programmroutine und kehrt zu einer aufrufenden Routine oder einer (nicht dargestellten) Hintergrundschleife zurück 120.
Wie es ohne weiteres ersichtlich ist, erfordert im Gegensatz zur Programmroutine von Fig. 6 die Programmroutine von Fig. 7 nicht, daß die Befehle für die Steuerung der Zündspulenbank 14 für jede Zündspulenbank 14 dupliziert werden müssen. Statt dessen steuert eine einzige Programmroutine unter Ver­ wendung eines indizierten Adressierungsmodus zusammen mit ei­ nem konstanten Adressenversatz zwischen entsprechenden Sätzen von Registern 38 im RAM-Bereich 34 beide Zündspulenbänke 14. Folglich vergrößert sich der im ROM-Bereich 36 zur Verfügung stehende Platz und die Wahrscheinlichkeit eines Fehlers bei der Kodierung der Befehle wird kleiner.
In Fig. 8 ist ein Blockdiagramm des Steuerungsverfahrens der vorliegenden Erfindung dargestellt, das als Ganzes mit dem Bezugszeichen 122 bezeichnet ist. Wie darin zu ersehen ist, enthält das Steuerungsverfahren 122 der vorliegenden Erfin­ dung den Schritt 124 zum Bereitstellen mehrerer E/A-Elemente 18 für die Übertragung von Zündspulensignalen, welche einer Zündspulenbank 14 zugeordnet sind, wobei die Zündspulenbänke 14 mindestens einen Satz entsprechender E/A-Elemente 18 auf­ weisen, die ähnliche Signale übertragen.
Das Steuerungsverfahren 122 der vorliegenden Erfindung ent­ hält auch den Schritt 126 zum Speichern der ähnlichen Si­ gnale, die von entsprechenden Sätzen von E/A-Elementen 18 übertragen werden, wobei die ähnlichen Signale Adressen 40 im RAM-Bereich 34 mit einem konstanten Versatz zueinander auf­ weisen. Das Steuerungsverfahren 122 enthält ferner den Schritt 128 zum Speichern mehrerer Programmroutinen im ROM- Bereich 36 für die Verarbeitung und Erzeugung der ähnlichen Signale, die von entsprechenden Sätzen von E/A-Elementen 18 übertragen werden. Das Steuerungsverfahren 122 enthält auch noch den Schritt 130 für den Zugriff auf die ähnlichen Si­ gnale mittels der Programmroutinen, die einen indizierten Adressierungsmodus und den konstanten Adressenversatz in der Weise verwenden, daß eine einzige Programmroutine einen Satz entsprechender E/A-Elemente 18 unabhängig von der betroffenen Zündspulenbank 14 steuert, wodurch die vorstehend be­ schriebenen Vorteile entstehen.
Der Schritt 126 des Steuerungsverfahrens 122 zum Speichern E ähnlicher Signale weist selbst den Schritt 132 zum Bereit­ stellen mehrerer Register 38 im RAM-Bereich 34, den Schritt 134 zum Zuordnen jedes Registers 38 zum Speichern mindestens eines der ähnlichen Signale, die von entsprechenden Sätzen von E/A-Elementen 18 übertragen werden, und den Schritt 136 zum Zuordnen einer Adresse 40 im RAM-Bereich 34 an jedes Re­ gister 38 auf. Der Schritt 126 des Steuerungsverfahrens 122 zum Speichern der ähnlichen Signale enthält auch den Schritt 138 zum Bereitstellen mehrerer Bits 52 innerhalb jedes Regi­ sters 38, und den Schritt 140 zum Anordnen der Bits 52 in der Weise, daß ein ähnlicher Bereich von jedem der ähnlichen Si­ gnale in entsprechenden Bits 52 in jedem Register 38 gespei­ chert wird.
In Fig. 9 ist ein Blockdiagramm einer alternativen Aus­ führungsform des Steuerungsverfahrens 122 der vorliegenden Erfindung dargestellt. Gemäß dieser alternativen Aus­ führungsform enthält das Steuerungsverfahren 122 den Schritt 142 zum Zuordnen mehrerer Register 38 im RAM-Bereich 34 zum Speichern der ähnlichen Signale, die von nur einem Satz ent­ sprechender E/A-Elemente 18 übertragen werden. Diese Ausfüh­ rungsform des Steuerungsverfahrens 122 enthält auch den Schritt 144 zum Zuordnen von Adressen 40 im RAM-Bereich 34 mit konstanten Versatz zueinander an Register 38.
Die alternative Ausführungsform des Steuerungsverfahrens 122 enthält ferner den Schritt 146 für den Zugriff auf die Regi­ ster 38 von den Programmroutinen im ROM-Bereich 36 unter Ver­ wendung eines indizierten Adressierungsmodus und des konstan­ ten Adressenversatzes in der Weise, daß eine einzige Pro­ grammroutine einen Satz entsprechender E/A-Elemente 18 steu­ ert, wodurch der im ROM-Bereich 36 verwendete Platz verrin­ gert wird. Diese alternative Ausführungsform des Steuerungs­ verfahrens 122 enthält auch noch den Schritt 148 zum Anordnen der Bits 52 innerhalb der Register 38 in der Weise, daß ein ähnlicher Bereich von jedem der ähnlichen Signale in entspre­ chenden Bits 52 in jedem Register 38 gespeichert wird.
Es wird darauf hingewiesen, daß die vorliegende Erfindung in einer veranschaulichenden Weise beschrieben wurde und daß die dabei verwendete Terminologie mehr beschreibender Natur sein und keine Einschränkung darstellen soll. Offensichtlich sind viele Modifikationen und Variationen im Rahmen der vorstehen­ den Ausführungen möglich. Daher ist es verständlich, daß die Erfindung innerhalb des Umfangs der nachstehenden Pa­ tentansprüche auch anders als in der vorstehenden spezifi­ schen Beschreibung in die Praxis umgesetzt werden kann.

Claims (10)

1. Zündsteuerungsverfahren für eine Automobil-Zündvorrichtung mit mehreren Zündspulenbänken, wovon jede Bank mindestens eine Zündspule zur Versorgung einer Zündkerze mit Energie enthält, mit den Schritten:
Bereitstellen mehrerer Eingangs/Ausgangs-(E/A)-Elemente (18) zum Übertragen von elektrischen Signalen zwischen ei­ nem Mikroprozessor und den Zündspulen, wobei jedes E/A-Ele­ ment (18) mit einer der mehreren Zündspulenbänke (14) in elektrischer Verbindung steht, und den Bänken (14) minde­ stens ein Satz entsprechender E/A-Elemente (18) zum Über­ tragen gleichartiger Zündspulensignale zugeordnet ist;
Speichern der von den entsprechenden E/A-Elementen (18) übertragenen gleichartigen Signale, wobei den gleichartigen Signalen Adressen im Speicher (34) mit einem konstanten Versatz zueinander zugeordnet sind;
Speichern mehrerer Programmroutinen, wobei jede Routine zum Verarbeiten und Erzeugen der gleichartigen Signale dient, die von Sätzen entsprechender E/A-Elemente (18) übertragen werden; und
Zugreifen auf die gleichartigen Signale mittels der Pro­ grammroutinen unter Verwendung eines indizierten Adressie­ rungsmodus und des konstanten Adressenversatzes in der Weise, daß eine einzige Programmroutine einen Satz entspre­ chender E/A-Elemente (18) unabhängig von der betroffenen Zündspulenbank (14) steuert, und dadurch den zum Speichern benutzten Platz verringert.
2. Zündsteuerungsverfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß der Schritt zum Speichern gleichartiger Si­ gnale ferner die Schritte aufweist:
Bereitstellen mehrerer Register (38);
Bestimmen der jeweiligen Register (38) zum Speichern mindestens eines der von den Sätzen entsprechender E/A-Ele­ mente (18) übertragenen gleichartigen Signale; und
Zuordnen einer Adresse (40) an jedes Register (38).
3. Zündsteuerungsverfahren nach Anspruch 2, dadurch gekenn­ zeichnet, daß es ferner die Schritte aufweist:
Bereitstellen mehrerer Bits (52) innerhalb jedes Regi­ sters (38); und
Anordnen der Bits (52) in der Weise, daß ein gleicharti­ ger Bereich von jedem der gleichartigen Signale in entspre­ chenden Bits (52) in jedem Register (38) gespeichert ist.
4. Vorrichtung zur Durchführung des Zündsteuerungsverfahrens nach einem der Ansprüche 1 bis 3, gekennzeichnet durch:
mehrere Eingangs/Ausgangs- (E/A) -Elemente (18) zum Über­ tragen von elektrischen Signalen zwischen einem Mikropro­ zessor und den Zündspulen, wobei jedes E/A-Element (18) mit einer der mehreren Zündspulenbänke (14) in elektrischer Verbindung steht und den Bänken (14) mindestens ein Satz entsprechender E/A-Elemente (18) zum Übertragen gleicharti­ ger Zündspulensignale zugeordnet ist;
eine erste Speichereinrichtung (34) zum Speichern der von den entsprechenden E/A-Elementen (18) übertragenen gleichartigen Signale, wobei den gleichartigen Signalen Adressen in der ersten Speichereinrichtung (34) mit einem konstanten Versatz zueinander zugeordnet sind;
eine zweite Speichereinrichtung (36) zum Speichern meh­ rerer Programmroutinen, wobei jede Routine zum Verarbeiten und Erzeugen der gleichartigen von Sätzen entsprechender E/A-Elemente (18) übertragenen Signale dient; und
eine Zugriffseinrichtung für den Zugriff auf die gleich­ artigen Signale in der ersten Speichereinrichtung (34) mit­ tels der Programmroutinen in der zweiten Speichereinrich­ tung (36) unter Verwendung eines indizierten Adressierungs­ modus und des konstanten Adressenversatzes in der Weise, daß eine einzige Programmroutine einen Satz entsprechender E/A-Elemente (18) unabhängig von der betroffenen Zündspu­ lenbank (14) steuert, und dadurch den in der zweiten Spei­ chereinrichtung (36) benutzten Platz verringert.
5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die mehreren E/A-Elemente (18), die erste Speichereinrich­ tung (34), die zweite Speichereinrichtung (36) und die Zu­ griffseinrichtung alle Teil einer einzigen integrierten Schaltung sind.
6. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die erste Speichereinrichtung (34) einen Speicher mit wahl­ freiem Zugriff (RAM) aufweist.
7. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die zweite Speichereinrichtung (36) einen Nur-Lese-Speicher (ROM) aufweist.
8. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Zugriffseinrichtung eine zentrale Verarbeitungseinrich­ tung (22) aufweist.
9. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß das RAM (34) mehrere Register (38) aufweist, wovon jedes Regi­ ster (38) zum Speichern von mindestens einem der von Sätzen entsprechender E/A-Elemente (18) übertragenen gleichartigen Signale bestimmt ist, und jedes Register (38) eine ihm zu­ geordnete Adresse (40) in dem RAM (34) besitzt.
10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, daß jedes der mehreren Register (38) mehrere in der Weise ange­ ordnete Bits (52) aufweist, daß ein gleicher Bereich von jedem der gleichartigen Signale in entsprechenden Bits (52) in jedem Register (38) gespeichert ist.
DE4412488A 1993-05-07 1994-04-12 Verfahren und Vorrichtung zur Steuerung der Zündvorrichtung eines Automobils Expired - Fee Related DE4412488C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/058,110 US6115665A (en) 1993-05-07 1993-05-07 Memory efficient computer system and method for controlling an automotive ignition system

Publications (2)

Publication Number Publication Date
DE4412488A1 DE4412488A1 (de) 1994-11-10
DE4412488C2 true DE4412488C2 (de) 1996-07-11

Family

ID=22014747

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4412488A Expired - Fee Related DE4412488C2 (de) 1993-05-07 1994-04-12 Verfahren und Vorrichtung zur Steuerung der Zündvorrichtung eines Automobils

Country Status (4)

Country Link
US (1) US6115665A (de)
JP (1) JPH06330804A (de)
DE (1) DE4412488C2 (de)
GB (1) GB2277778B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19621902A1 (de) * 1996-05-31 1997-12-04 Bosch Gmbh Robert System zur Überlagerung von Informationen
DE19756342C2 (de) * 1997-12-18 2003-02-13 Conti Temic Microelectronic Verfahren zur Steuerung einer Brennkraftmaschine
DE19949050B4 (de) * 1999-10-11 2012-07-19 Robert Bosch Gmbh Verfahren, Vorrichtung, Steuereinheit sowie Speichermittel zur Steuerung von Prozessen in Verbindung mit einer Brennkraftmaschine
CN102171421A (zh) * 2008-07-30 2011-08-31 法雷奥电机控制系统公司 用于热力发动机阀的一个或多个电磁促动器的控制单元、以及该控制单元和该电磁促动器的不同组件
DE102009047219A1 (de) * 2009-11-27 2011-06-01 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Verbrennungsmotors
JP6609927B2 (ja) * 2014-04-10 2019-11-27 株式会社デンソー 内燃機関用点火装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle
US4149238A (en) * 1977-08-30 1979-04-10 Control Data Corporation Computer interface
DE2812241C2 (de) * 1978-03-21 1984-06-28 Robert Bosch Gmbh, 7000 Stuttgart Einrichtung zur Dateneingabe und Datenausgabe in bzw. aus einem Mikroprozessor
US4231091A (en) * 1978-11-27 1980-10-28 General Motors Corporation Engine control system
US4316248A (en) * 1978-12-06 1982-02-16 Data General Corporation Memory refresh means including means for providing refresh addresses during power failures
JPS5948307B2 (ja) * 1979-02-23 1984-11-26 日産自動車株式会社 内燃機関の点火時期制御装置
JPS5660857A (en) * 1979-10-22 1981-05-26 Nippon Denso Co Ltd Ignition timing control device of internal combustion engine for automobile
US4265211A (en) * 1979-11-23 1981-05-05 General Motors Corporation Distributorless internal combustion engine ignition system
US4313162A (en) * 1979-12-14 1982-01-26 Burroughs Corporation I/O Subsystem using data link processors
DE3129184A1 (de) * 1981-07-24 1983-02-03 Robert Bosch Gmbh, 7000 Stuttgart Verfahren zur schliesswinkelregelung bei zuendanlagen fuer brennkraftmaschinen
GB8319694D0 (en) * 1983-07-21 1983-08-24 Lucas Ind Plc Ic engine coil-type ignition control
JPS60164629A (ja) * 1984-02-07 1985-08-27 Nissan Motor Co Ltd スロツトル制御装置
JPS60219462A (ja) * 1984-04-16 1985-11-02 Nippon Denso Co Ltd 内燃機関用点火制御装置
JPH0633764B2 (ja) * 1985-04-17 1994-05-02 日本電装株式会社 内燃機関用点火コイル
JPS62649A (ja) * 1985-06-25 1987-01-06 Honda Motor Co Ltd 内燃エンジン用制御装置の出力タイミング異常検出方法
US4625704A (en) * 1985-06-28 1986-12-02 Teledyne Industries, Inc. Electronic ignition system
US4787354A (en) * 1986-02-05 1988-11-29 Electromotive, Inc. Ignition control system for internal combustion engines with simplified crankshaft sensing and improved coil charging
US4943924A (en) * 1986-06-27 1990-07-24 Nissan Motor Company, Limited Trouble checking apparatus
US4829973A (en) * 1987-12-15 1989-05-16 Sundstrand Corp. Constant spark energy, inductive discharge ignition system
US4836175A (en) * 1988-08-01 1989-06-06 Delco Electronics Corporation Ignition system dwell control
US4933861A (en) * 1988-10-03 1990-06-12 Ford Motor Company Ignition system with feedback controlled dwell
US5043900A (en) * 1988-10-03 1991-08-27 Ford Motor Company Ignition system with feedback controlled dwell
US5014676A (en) * 1989-03-20 1991-05-14 Ford Motor Company Ignition system with repetitive sparks
US4913123A (en) * 1989-03-23 1990-04-03 Ford Motor Company Ignition timing system with feedback correction
US4922874A (en) * 1989-06-30 1990-05-08 Ford Motor Company Automobile electronic control modules communicating by pulse width modulated signals
JPH0740690Y2 (ja) * 1989-09-12 1995-09-20 本田技研工業株式会社 内燃機関の点火時期制御装置
DE4005544A1 (de) * 1990-02-22 1991-08-29 Bosch Gmbh Robert Verteilung des zuendsignals bei einem system mit ruhender hochspannungsverteilung

Also Published As

Publication number Publication date
GB9407395D0 (en) 1994-06-08
JPH06330804A (ja) 1994-11-29
US6115665A (en) 2000-09-05
DE4412488A1 (de) 1994-11-10
GB2277778B (en) 1996-05-29
GB2277778A (en) 1994-11-09

Similar Documents

Publication Publication Date Title
DE69121382T2 (de) Emulator zur Emulation eines verbindungsloses Mikrokontroller und Mikrokontroller zur Verwendung in einem solchen Emulator
DE69613560T2 (de) Ein Prüfgerät für elektronische Schaltkreise oder Platinen mit komprimierten Datenfolgen
DE2705858A1 (de) Speichereinheit fuer datenverarbeitungssysteme
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE3685711T2 (de) Anordnung zur simulation von rechnerfunktionen von grossrechenanlagen.
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
DE10317390A1 (de) Datenübertragungseinrichtung und elektronische Steuereinheit
DE1285219B (de) Steuerwerk zur Ausfuehrung von Unterprogrammen
DE2718110A1 (de) Datenverarbeitungseinheit
DE2926322A1 (de) Speicher-subsystem
WO1995010803A1 (de) Prozessor für zeichenketten variabler länge
DE19916120A1 (de) Ein-Chip-Mikrocomputer, der ECC-Daten intern erzeugen kann
DE4412488C2 (de) Verfahren und Vorrichtung zur Steuerung der Zündvorrichtung eines Automobils
DE2935101C2 (de)
DE3501194A1 (de) Verfahren und vorrichtung zum datenaustausch zwischen mikroprozessoren
DE68925376T2 (de) In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas
EP0203409B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes eines digitalen Zählers
DE2702722A1 (de) Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen
DE4302553A1 (en) High security binary counting method for chip card - offsetting final state of binary number w.r.t. sequence such that contents of counter never represents number smaller than previous value
DE2710436C2 (de) Datenverarbeitungseinrichtung
DE1948508A1 (de) System zur fruehzeitigen Anzeige von Fehlern in Datenverarbeitungs-anlage
DE69525438T2 (de) Datenverarbeitungsgerät zur simulation einer asynchronen logikschaltung
DE2954533C2 (de)
EP1543411B1 (de) Prozessor mit expliziter angabe über zu sichernde informationen bei unterprogrammsprüngen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee