-
Stand der Technik
-
Die vorliegende Erfindung betrifft einen Begleit-Chip zur Anwendung in einer Motorsteuerung nach Anspruch 1. Der Begleit-Chip wird im Folgenden auch als Companion-Chip bezeichnet.
-
Aus der Druckschrift
DE 10 2004 022 614 B3 ist ein erweiterbares Steuergerät zur Steuerung von Komponenten in einem Verkehrsmittel, mit einem Mikrorechner bekannt, wobei zur Erweiterung der Datenverarbeitungskapazität des Mikrorechners eine Schaltung vorgesehen ist. Die Schaltung ist dabei als Multichip-Modul ausgeführt.
-
Aus der Druckschrift
DE 100 52 552 A1 ist ein System zur Steuerung von Betriebsabläufen, insbesondere bei einem Fahrzeug bekannt, wobei eine erste Kontrolleinheit und eine zweite Kontrolleinheit enthalten ist und die Kontrolleinheiten untereinander Informationen austauschen. Dabei ist vorgesehen, Daten zwischen den Kontrolleinheiten zu replizieren, um besonders schnell darauf zugreifen zu können.
-
Aus der Druckschrift
DE 100 27 006 A1 ist ein System zur Steuerung der Betriebsabläufe eines Kraftfahrzeugs mit einer Anzahl von Steuergeräten und einem Hauptsteuergerät bekannt, wobei sich die Programme zur Steuerung der Steuergeräte in einem Zentralspeicher auf dem Hauptsteuergerät befinden.
-
Aus der Druckschrift
US 6 526 340 B1 ist ein Diagnostikwerkzeug bestehend aus einem Prozessor und einem „Field Programmable Gate Array“(FPGA) bekannt, wobei der Prozessor diagnostische Routinen zur Anwendung auf eine Mehrzahl von Steuergeräten verarbeitet und der FPGA hierzu passende Schnittstellen bereithält.
-
Vorzugsweise finden ein Mikrocontroller, ein Companion-Chip und ein Einspritz-IC in der Motorsteuerung im LMFS (low medium function segment) bis HFS (high function segment) ihren Einsatz. Zuwachsmärkte sind aber zurzeit im BFS (basic function segment) zu finden. Heutigen Derivaten innerhalb einer Mikrocontroller-Familie sind bezüglich der Leistungsspreizung hinsichtlich der Varianz, Stückzahlen und Kosten bestimmte Grenzen gesetzt, so dass die verfügbaren Derivate an den Sprungstellen von einem zum anderen Derivat zu Kostensprüngen führen. Zudem ist das Derivat heute in der untersten Leistungsklasse für Low End Anwendungen immer noch zu leistungsfähig und damit zu teuer.
-
Offenbarung der Erfindung
-
Es ist Aufgabe der vorliegenden Erfindung, Einspritzsysteme mit geringen Kosten herzustellen. Es ist insbesondere Aufgabe der vorliegenden Erfindung, die Entwicklung einer Chip-Partitionierung mit einem Companion-Chip für ein Motorsteuergerät, insbesondere für ein Einspritzsystem, mit geringen Systemanforderungen im BFS (basic function segment) bereitzustellen. Eine IP-Partitionierung im Companion-Chip ist so zu entwickeln, dass bei geringen Systemanforderungen, zB für 1-Zylinder Anwendungen, ein Mikrocontroller im BFS (basic function segment) entfallen kann und die Rechnerperformance des Companion-Chips, oder einer Variante davon, mit zusätzlicher externer Beschaltung von am Markt erhältlichen ICs, wie zB Speicher, ausreichend ist.
-
Diese Aufgabe wird durch einen Begleit-Chip zur Anwendung in einer Motorsteuerung gelöst, welcher einen Mikroprozessor, einen ersten internen Speicher, welcher eine Software gespeichert hält, einen externen seriellen Flash-Speicher, welcher einen zur Steuerung notwendigen Code und zur Steuerung notwendige Daten gespeichert hält, und eine interne serielle Schnittstelle enthält, welche zum Laden des zur Steuerung notwendigen Codes und der zur Steuerung notwendigen Daten in einen zweiten internen Speicher ausgebildet ist, wobei der zweite interne Speicher zur Ausführung des zur Steuerung notwendigen Codes und der zur Steuerung notwendigen Daten ausgebildet ist. Ein wesentlicher Punkt des erfindungsgemäßen Begleit-Chips besteht darin, einen, für zB eine 4-Zylinder Anwendung, bezüglich der verfügbaren Rechenleistung, Inputs- und Outputs und davon abhängiger IP, ausgelegten Begleit-Chip für zB eine 1-Zylinder Anwendung zu verwenden und dabei den separaten Mikrocontroller zu sparen.
-
Die wenigen in 1-Zylinder Anwendungen verbleibenden Eingangs- und Ausgangssignale und deren Berechnung werden an und in den Begleit-Chip verlagert. Dies wird deshalb ermöglicht, da Berechnungen und Ansteuerungen für zB 3 Zylinder im Prinzip entfallen. Ferner ist die maximale Motordrehzahl geringer (zB 1 Zylinder bis ca. 2000 U/min). Ferner sind weniger Steller und Sensoren und damit weniger Inputs und Outputs, einschließlich der zugehörigen Berechnungen, dh Funktionen/Software, nötig.
-
Der Kern der Erfindung ist die Implementierung von einem internen ROM, welcher eine Software (einen Bootstraploader) gespeichert hält, die Anbindung eines vorzugsweise externen seriellen Flash-Speichers mit Code und Daten, die Nutzung einer der internen seriellen Schnittstellen, vorzugsweise SPI, zum Laden von Codes und Daten um sie in das interne RAM zu laden und dort auszuführen.
-
Der Vorteil liegt in einer kostengünstigen Lösung für Motorsteuergeräte für Low End Anwendungen, zB 1-Zylinder Motoren, ohne Verwendung eines typischen Automotiv Mikrocontrollers.
-
Bevorzugte Weiterbildungen des erfindungsgemäßen Begleit-Chips sind in den Unteransprüchen 2 bis 9 angegeben.
-
Danach ist es in einer vorteilhaften Ausführungsform des Begleit-Chips vorgesehen, dass der Begleit-Chip mit einem Mikrocontroller betreibbar ist. Der gleiche Begleit-Chip kann somit bei höheren Anforderungen, zB für 4-Zylinder Motoren, wie bisher vorgesehen zusammen mit einem Mikrocontroller (zB Leda™ Performance Klasse) betrieben werden. Das externe serielle Flash wäre in diesem Fall nicht vorhanden, und die serielle Schnittstelle wäre für andere Anwendungen frei. Für High End Anwendungen, zB 8-Zylinder Motoren, sind zB 2 Begleit-Chips und ein leistungsfähigerer Mikrocontroller (zB Leistungsklasse IFX Metis™ mit seinem internen/externe Flash) denkbar.
-
Vorzugsweise ist der Mikroprozessor mit einem Mikroprozessor-Speicher in einer eigenen Mikroprozessor-Bus-Domäne implementiert. Dadurch ist der Mikroprozessor im Begleit-Chip dazu in der Lage, seine Interrupts schnell und effizient abzuarbeiten
-
Vorzugsweise ist der Mikroprozessor über eine Bridge an verbleibende Hardware-Komponenten des Begleit-Chips angeschlossen. Durch diese Entkopplung des Mikroprozessor kann dieser leicht ausgetauscht werden. Dadurch werden die Kosten für den Begleit-Chip durch etwaige anstehende Lizenzgebühren weiter gesenkt.
-
Vorzugsweise enthält der Mikroprozessor einen Core mit hoher Interrupt-Behandlung. Als Mikroprozessor kommen dabei unterschiedliche Cores in Frage. Beispielsweise waren der Cortex-M3™ von ARM™ für den Begleit-Chip gut geeignet.
-
Vorzugsweise enthält der Mikroprozessor einen Core mit einem angepassten Befehlssatz. Dadurch wird die Codedichte bei einem sehr kleinen Gatecount für die Implementierung erhöht.
-
Vorzugsweise enthält der Core angepasste Befehle für zumindest eine MAC-Operation. Dadurch bietet der Core eine schnelle Interrupt-Behandlung und einen speziellen Befehlssatz zur Erhöhung der Codedichte an.
-
Vorzugsweise ist der Core zur Ausführung einer Division in Hardware ausgebildet. Dadurch wird eine schnelle Abarbeitung von Prozessen ermöglicht.
-
Vorzugsweise enthält der Begleit-Chip ein separates Schnittstellenmodul. Dadurch wird eine schnelle Abarbeitung von Signalen ermöglicht, wenn die Anzahl der Signale sehr hoch ist.
-
Vorzugsweise ist das Schnittstellenmodul zum Messen von analogen Eingabewerten ausgebildet. Dadurch kann der Mikrocontroller entfallen, ohne dass Leistungsminderungen auftreten.
-
Vorzugsweise enthält der Begleit-Chip einen Analog/Digital-Umwandler, welcher mit einem Zeit- und Winkelstempel-Konzept bereitgestellt ist. Dadurch ist eine Behandlung von Zeit- und Winkelstempeln, welche mit Werten des Analog/Digital-Umwandlers korreliert sind, möglich.
-
Vorzugsweise enthält der Begleit-Chip einen Fahrzeugelektrik-Bus, welcher mit einem FIFO-Puffer verbunden ist. Dadurch kann ein Programmcode für den Mikroprozessor im FIFO-Puffer zwischengespeichert werden.
-
Vorzugsweise stellt die Bridge eine Verbindung zwischen einem Mikroprozessor-Hersteller abhängigen Bus und dem Fahrzeugelektrik-Bus her. Dadurch kann der Mikroprozessor entkoppelt und somit leicht ausgetauscht werden.
-
Vorzugsweise enthält der Begleit-Chip ein Interpreter-Modul.
-
Figurenliste
-
Eine erfindungsgemäße Anordnung des Begleit-Chips wird im folgenden anhand eines Ausführungsbeispiels näher erläutert. Gleiche oder gleichwirkende Teile sind mit gleichen Bezugszeichen versehen. Es zeigen:
- 1 zeigt einen Begleit-Chip in einer ersten Ausführungsform,
- 2 zeigt einen Begleit-Chip in einer zweiten Ausführungsform, und
- 3 zeigt ein GTM-Modul.
-
Ausführungsformen der Erfindung
-
1 zeigt einen Begleit-Chip 2 in einer ersten Ausführungsform. Im Prinzip ist der Begleit-Chip 2 ein vorrangig auf das Einspritzsystem und dessen Verwaltung entworfener, stark ereignisgetriggerter Mikrocontroller, der in dieser IP-Partitionierung, seiner Architektur und seinen geringen Kosten am Markt nicht verfügbar ist.
-
2 zeigt einen Begleit-Chip 2 in einer zweiten Ausführungsform. Eine SPI-Schnittstelle 4 in 2 bedient mindestens einen Stabi, einen Watchdog, eine Diagnose und einen Endstufenbaustein 6 (Kleinleistungsendstufen-IC). Die dafür notwendigen Chip-Selects werden vom Begleit-Chip 2 erzeugt.
-
Eine andere SPI-Schnittstelle 4' in 2 bedient das Einspritz-IC 8 zur Ansteuerung der Einspritzendstufen (SCK - SPI clock, SI - SPI Input, SO - SPI Output, NSS - Slave select).
-
Alternativ dazu kann der Digitalteil des Einspritz-IC 8 in den Begleit-Chip 2 integriert werden. Die Verbindung zwischen Analogteil und Begleit-Chip 2 wird in diesem Fall über eine serielle Hochgeschwindigkeits-Schnittstelle, vorzugsweise LVDS oder ähnlich, hergestellt. Die SPI Schnittstelle 4' für die Ansteuerung des Einspritz-ICs 8 kann in diesem Fall entfallen.
-
Ein Mikroprozessor 10 kann weiterhin mit einem externen Takt (zB Quarz) versorgt werden oder aber den Takt intern erzeugen. Für den Einspritz-IC muss vom Begleit-Chip weiterhin ein sehr genauer Takt erzeugt werden, da sonst die Synchronität mit der internen State Maschine des Einspritzbausteins nicht sichergestellt werden kann (CLK am Einspritz-IC 8). Deshalb ist unter Umständen ein Vielfaches als Takt für den Begleit-Chip 2 zu wählen (im Vergleich zum Einspritzbaustein).
-
Der Mikroprozessor 10 im Begleit-Chip 2 sollte in der Lage sein, seine Interrupts schnell und effizient abzuarbeiten. Im Begleit-Chip 2 wird der Mikroprozessor 10 deshalb zusammen mit seinem Speicher 13 in einer eigenen Mikroprozessor-Bus-Domäne 11 implementiert und über eine Bridge 12 an die restlichen Hardware-Komponenten des Begleit-Chips 2 angeschlossen. Durch diese Entkopplung des Mikroprozessors 10 kann dieser leicht ausgetauscht, und damit können die Kosten für den Begleit-Chip 2 durch etwaige anstehende Lizenzgebühren weiter gesenkt werden.
-
Als Mikroprozessor 10 kommen unterschiedliche Cores oder vergleichbare Mikrocontroller µC in Frage. Der Cortex-M3™ von ARM™ wäre für den Begleit-Chip 2 gut geeignet. Der Core bietet eine schnelle Interrupt-Behandlung und einen speziellen Befehlssatz zur Erhöhung der Codedichte bei einem sehr kleinen Gatecount für die Implementierung. Darüber hinaus bietet er spezielle Befehle für MAC-Operationen und eine Division in Hardware.
-
Als alternative Cores könnten konfigurierbare Prozessoren von ARC™ und Tensilica™ verwendet werden. Der ARC610D™ wird mit einer Taktfrequenz von 260 MHz betrieben und verbraucht bei einer 130nm-Technologie eine Fläche von 0,64 mm2. Er besitzt 16 und 32 Bit MUL/MAC-Befehle mit speziellen Registern für eine parallele Ausführung neben normalen ALU-Befehlen.
-
Es werden DSP-Algorithmen durch die ARC DSPlib™ unterstützt. Durch 16 und 32 Bit-Befehle ist eine hohe Codedichte gewährleistet, und es stehen 32 x 2 Level-Interrupts zur Verfügung. Der ARC710D™ wird mit einer Taktfrequenz von 533MHz betrieben und verbraucht bei einer 130 nm-Technologie 0,93 mm2 Chipfläche. Er besitzt ebenso wie der ARC610D™ 16 und 32 Bit MUL/MAC-Befehle, die eine parallele Ausführung zu ALU-Befehlen erlauben. Er unterstützt DSP-Algorithmen durch die ARC DSPlib™. Dabei sorgen 16 und 32 Bit-Befehle für eine hohe Codedichte und es stehen 32 x 2 Level-Interrupts zur Verfügung.
-
Tensillica™ bietet die beiden Cores Xtensa 6™ und Xtensa LX™ an. Der Xtensa 6™ kommt in Consumer, Netzwerk, Büroautomatisierung und drahtlosen SoC-Anwendungen zum Einsatz. Der Xtensa 6™ wird mit einer Taktfrequenz von 350 MHz betrieben und benötigt in seiner Minimalkonfiguration 20.000 Gatter. Der Xtensa Lx™ wird ebenfalls mit 350 MHz betrieben, benötigt allerdings in seiner Minimalkonfiguration 28.000 Gatter. Beide Prozessor-Cores verfügen über eine 16x16 MAC-Einheit.
-
Die Bridge 12 stellt die Verbindung zwischen dem Mikroprozessor-Hersteller abhängigen Bus 14 und einem Fahrzeugelektrik-Bus 16 (Automotive Electronics (AE)-Bus) her. Wird der Mikroprozessor 10 eines anderen Herstellers verwendet, so sind die IP am Fahrzeugelektrik-Bus 16 davon nicht betroffen. Ein Problem des Cortex-M3 besteht darin, dass Peripheriemodule nur über einen AHB-Lite-Bus angeschlossen werden können. Diese Variante des AHB-Busses ist allerdings nicht Multi-Master-fähig, weshalb die Bridge 12 zu einer Fahrzeugelektrik-Bus-Domäne 17 nur ein Slave auf dem AHB-Lite sein kann. Dadurch muss der Cortex-M3™ zu bearbeitende Daten aktiv aus der Fahrzeugelektrik-Bus-Domäne 17 von FIFO-Speichern abholen, die ihn dazu per Interrupt veranlassen können.
-
Ein eventuelles Interpreter Modul zur Kommunikation zwischen Mikrocontroller und Mikroprozessor 10 entfällt bzw. wird nicht verwendet.
-
Ein Frage-Antwort-Protokoll zwischen einem Watchdog-Modul (in einem Stabi implementiert) und dem Mikroprozessor 10 zur Überwachung des Mikroprozessors 10 führt bei nicht stimmiger Antwort zu einem Reset des Gesamtsystems durch das Watchdog-Modul. Die Reset-Signale für den Einspritz-IC 8 werden vom Stabi erzeugt (ABE_WDA - Ausschaltsignal für alle Einspritzendstufen, NRST - Reset).
-
In 2 sind digitale Ein- und Ausgangssignale mit Bezugszeichen 30 gekennzeichnet und analoge Signale mit Bezugszeichen 32 gekennzeichnet.
-
3 zeigt ein GTM-Modul 18, wie in 1 und 2 gezeigt, in vergrößerter Darstellung. Da der Mikrocontroller entfällt, muss ein GPIO Modul (Schnittstellenmodul) 20 im GTM-Modul 18 die mindestens erforderlichen Standard Input- und Output-Signale handhaben. Zu den Inputs zählen einKL15-Signal, ein Kurbelwellengebersignal, und ein Luftmassenmesser (digital, alternativ zu analog oder Ladedrucksensor).
-
Zu den Outputs zählen ein Druckregelventil Hoch-/oder Niederdruckkreis, eine Fehlerlampe, eine Glührelaisansteuerung, und eine elektrische Kraftstoffvorförderpumpe.
-
Zu den Steuersignalen für das Einspritz-IC zählen die Signale YSEL (Zylinderauswahl bei mehr als einem Zylinder), ON (Einspritzung aktiv), und STATE (Triggerung der Aktionen des Einspritz-IC).
-
Es ist ebenfalls möglich, ein separates GPIO Modul im Begleit-Chip zu implementieren, wenn die Anzahl der Signale zu hoch ist.
-
Im folgenden wird eine Beschreibung über einen in der Ausführungsform verwendeten Analog/Digital-Umwandler gegeben. Da der Mikrocontroller entfällt, muss das GPIO Modul im GTM-Modul die minimal erforderlichen analogen Inputs verarbeiten. Hierzu zählen ein Pedalwertgeber, ein Raildrucksensor, ein Luftmassenmesser (analog alternativ zu digital oder Ladedrucksensor), und ein Motortemperaturfühler. Diese Bauteile stellen hierbei analoge Signale bereit.
-
Bidirektionale Interfaces enthalten einen ISO-K zur Diagnose.
-
Im Folgenden wird das Reset- und Initialisierungsverhalten erläutert (siehe hierzu 1 und 2). Der Begleit-Chip 2 wird mit einem Reset-Signal vom Stabi zurückgesetzt. Im Einzelnen werden die folgenden Aktionen während der sich anschließenden Bootphase durchgeführt.
-
Der Mikroprozessor 10 bootet aus einem Boot-ROM 22. Die Bootroutine beinhaltet im Prinzip nur die Routine zum Holen der Laderoutine aus dem externen seriellen Flash 24. Diese Zwei-Stufigkeit hat den Vorteil, dass Änderungen im Bootvorgang und Korrekturen vorgenommen werden können. Das interne Rom 22 ist nicht änderbar.Der Mikroprozessor initialisiert die SPI 4" zum Flash 24.Der Mikroprozessor 10 initialisiert Empfangs-FIFO's 26.Ein Loader wird aus dem ROM 22 in einen RAM 28 kopiert und ausgeführt. Es wird eine Fehlererfassung basierend auf einem Checksummentest und einer Prüfsumme durchgeführt.
-
Ferner wird der Bootloader wird ins RAM 28 kopiert und ausgeführt.Der Mikroprozessor 10 initialisiert den Interrupt-Controller (Interrupts sind ausgeschaltet). Der Mikroprozessor 10 füllt den Mikroprozessor-Speicher RAM 28 mit Code und Daten aus dem externen Flash 24. Dazu wird vom Mikroprozessor 10 im Burst-Modus der Programmcode für den Mikroprozessor 10 über die SPI-Schnittstelle 4" vom seriellen externen Flash 24 in den Begleit-Chip 2 geladen und dort in den FIFO's 26 zwischengespeichert. Der Programmcode des Mikroprozessors 10 kann einige 100 KB groß werden. Der Mikroprozessor 10 wartet auf einen Interrupt, der ihm eine volle FIFO 26 signalisiert. Die Interrupt-Routine lädt dann den Speicher RAM 28 des Mikroprozessors 10 mit seinem Programmcode und Daten über die Bridge 12 des Begleit-Chips 2. Dies setzt allerdings voraus, dass der Prozessor schreibend auf seinen Programmspeicher RAM 28 zugreifen kann.
-
Ferner initialisiert der Mikroprozessor 10 die restlichen Module des Begleit-Chips 2.Die Interrupts werden eingeschaltet, und das Operating System (OS) wird gestartet. Die Init Task wird ausgeführt unddanach geht der Begleit-Chip 2 in den Anwendungsmodus über.