Verfahren und Schaltungsanordnung zur Datenübertragung zwischen Prozessorbausteinen
Die vorliegende Erfindung betrifft ein Verfahren und eine Schaltungsanordnung zur Datenübertragung zwischen Prozessorbausteinen .
In Kraftfahrzeugen werden vielfach elektronische Steuergeräte (ECUs) für unterschiedlichste Fahrzeugfunktionen einge¬ setzt. Dabei gibt es Steuergeräte (ECUs) für sicherheitskri¬ tische Anwendungen, z.B. für die Bremsen, sowie für nicht- sicherheitskritische Anwendungen, z.B. Komfortfunktionen wie Klimaanlage, Sitzheizung etc. Aus Sicherheitsgründen werden Steuergeräte mit unterschiedlich klassifizierten Sicherheitsanforderungen (ASIL-Level) in der Regel durch getrennte, eigenständige elektronische Steuergeräte realisiert, welche über an sich bekannte digitale Fahrzeugdatenbusverbindungen miteinander kommunizieren können. Bekannte Fahrzeugdatenbussysteme für ECU-Kommunikation sind zum Beispiel CAN oder FlexRay®.
Die Erfindung setzt sich unter anderem zum Ziel, den Hardware-Aufwand in Kraftfahrzeugen dadurch zu verringern, dass weniger Steuergeräte im Fahrzeug verbaut werden müssen.
Diese Aufgabe wird erfindungsgemäß durch das im unabhängigen Kraftfahrzeugsteuergeräteanspruch definierte Steuergerät gelöst.
Aus den Dokumenten US 5 251 304 und US 5 812 881 ist es bekannt, für die Datenübertragung zwischen integrierten mikroelektronischen Bausteinen (z.B. Prozessorbausteinen) mehrere parallele an sich bekannte komplexe Busschnittstellen zu verwenden. Diese sind typischerweise für die Übertragung von Adressen, Steuersignalen und Daten vorgesehen. Dies führt dazu, dass diese an sich bekannten komplexen Bussysteme
(vollständige parallele Bussschnittstellen) eine vergleichs¬ weise kostenintensive Lösung für den Datenaustausch zwischen integrierten elektronischen Bausteinen darstellen.
Die vorliegende Erfindung beschäftigt sich mit dem Gedanken, eine Schnittstelle für elektronische Bausteine bereitzustel¬ len, welche weniger kostenintensiv ist als an sich bekannte Schnittstellen und zudem flexibler einsetzbar ist, und insbesondere sogar erweitert und verbessert wird.
Gemäß einer Aus führungs form wird eine Schaltungsanordnung bereitgestellt, die eine flexible, umkonfigurierbare und vergleichsweise einfach aufgebaute und zuverlässige paralle¬ le bidirektionale digitale Schnittstelle umfasst. Diese Schnittstelle erlaubt die Kommunikation zwischen Mikrocon- trollern unabhängig von Bussystemen für die Anbindung an periphere Einheiten.
Gemäß einer Aus führungs form erweitert die erfindungsgemäße Schnittstelle das Konzept einer EDP-Schnittstelle, wie es in der WO 2004/049159 beschrieben ist. Eine Besonderheit dieser Schnittstelle ist es, dass als Puffer zum Bereithalten von Daten, welche über den Bus übertragen werden, ein FIFO- Speicher (First In - First Out) eingesetzt wird. Hierdurch wird unter anderem erreicht, dass eine Kommunikation zwischen zweikernigen, insbesondere mehrkernigen Mikroprozessorsystemen möglich ist.
Hierdurch wird unter anderem der Vorteil erzielt, dass eine Integration von externen Reglerfunktionen in ein elektronisches Steuergerät einfacher und kostengünstiger möglich ist. Beispielsweise können zwei Mikrocontroller für Steuersoft¬ ware unterschiedlich hoher Sicherheitsstufe in ein Steuerge¬ rät integriert werden, wobei die beiden Mikrocontroller je-
weils eine Schaltungsanordnung zur Bildung der hier beschriebenen digitalen parallelen Schnittstelle aufweisen, über welche die beiden Mikrocontroller direkt miteinander verbunden sind. Diese Architektur gestattet es, Anwendungen unterschiedlicher Sicherheitsstufen zu integrieren, ohne dass beispielsweise die Anwendung mit der niedrigen Sicherheitsstufe die Anwendung mit der hohen Sicherheitsstufe be- einflusst. Insbesondere greift der Mikrocontroller mit der niedrigeren Sicherheitsstufe nicht direkt auf das Bussystem des Mikrocontrollers mit der hohen Sicherheitsstufe zu.
Es ist weiterhin nun möglich, hierdurch komplexe OEM-Soft- ware, die aufgrund von Speicherlimitation (und sonstiger Limitierungen) in herkömmlichen mehrkernigen Mikroprozessoren für sicherheitskritische Anwendungen nicht implementierbar war, in einem Steuergerät gemeinsam mit den Software-Funktionen für die sicherheitskritischen Anwendungen zu implementieren. Es existiert dabei aber immer noch eine Trennung der Software mit unterschiedlichem Sicherheitslevel auf Mik- rocontroller-Ebene, damit die nicht mit dem hohen Sicher¬ heitsstandard, wie beispielsweise eine Software für Bremsen, geprüfte OEM-Software die Software für die Bremsen im Feh¬ lerfall nicht stört.
Die vorliegende Erfindung betrifft gemäß einer Ausführungs¬ form eine Schaltungsanordnung zur Bildung einer digitalen Schnittstelle. Die erfindungsgemäße Schnittstelle wird nach¬ folgend auch als IPL-Schnittstelle bezeichnet („Inter Pro¬ zessor Link") . Diese umfasst einen digitalen Datenbus, welcher bei Verbindung von Mikroprozessorsystemen Daten austauscht, wobei dieser Datenaustausch bidirektional erfolgen kann (Senden und Empfangen bzw. Schreiben und Lesen) und die Schaltungsanordnung beim Senden von Daten als Busmaster einen Bustakt erzeugt und beim Empfangen von Daten als
Busslave nach Maßgabe eines empfangenen Taktsignals arbei¬ tet, wobei diese mindestens einen FIFO-Speicher zum Senden von Daten und/oder mindestens einen FIFO-Speicher zum Empfangen von Daten umfasst.
Gemäß einer Aus führungs form ist die Schnittstelle zwischen einem Sendemodus und einem Empfangsmodus umkonfigurierbar, wobei die Umkonfigurierung automatisch in Abhängigkeit von Steuersignalen erfolgt, die zwischen miteinander kommunizierenden IPL-Schnittstellen ausgetauscht werden. So kann jede IPL-Schnittstelle wenigsten einen 2-poligen Steuersignalan- schluss aufweisen, wobei ein Pol als Eingang und der andere Pol als Ausgang dient, die kreuzweise mit der Gegenschnitt¬ stelle verbunden sind.
Es gibt in der Schaltungsanordnung vorzugsweise Übertra¬ gungsparameter, die für eine parallele Busschnittstelle konfigurierbar sind.
Gemäß der Erfindung sollen diese parallelen vollständigen Busschnittstellen auch so vereinfacht werden, dass ein hoher Datendurchsatz sowie mehr Flexibilität in der Konfiguration gewährleistet ist.
Je nach Verfügbarkeit von Pins der Bausteine kann vorzugs¬ weise die nutzbare Breite des Busses angepasst werden. Bei¬ spiele sind 4, 8 oder 16 Bit-Datenbreite.
Die Übertragungsgeschwindigkeit kann vorzugsweise an die in¬ ternen Taktfrequenzen der kommunizierenden Bausteine angepasst werden.
Die Polarität des Taktsignals für Schiebeoperationen ist vorzugsweise frei wählbar.
Weiterhin kann vorzugsweise dieses Taktsignal bei Bedarf ausmaskiert werden, wenn der Empfänger beispielsweise die Taktung emulieren kann.
Per Konfiguration können vorzugsweise die übertragenen Daten mit einer CRC (Cyclic Redundancy Check) Prüfsumme geschützt werden .
Unter DMA-Modul wird ein Kontroller für einen „Direct Memory Access" verstanden, also ein Schaltungsmodul, welches einen direkten Speicherzugriff ohne Mitwirkung des Mikroprozessors erlaubt. In einer vorgegebenen Konfiguration kann ein Baustein vorzugsweise eine DMA-Anfrage für einen Baustein mit¬ tels eines Steuersignals auslösen, damit der andere Baustein Daten zur Verfügung stellt und vom ersten Baustein auslesen lässt .
Bei dem bzw. den erfindungsgemäßen Mikroprozessorsystem ( en) handelt es sich bevorzugt um (einen) Mikrocontroller .
Gemäß einer Aus führungs form wird eine Schaltungsanordnung für den bidirektionalen Datenaustausch zwischen Mikroprozessorsystemen oder MikroControllern bereitgestellt. Die Schaltungsanordnung umfasst eine parallele bidirektionale digita¬ le Schnittstelle mit einem parallelen bidirektional Datenan- schluss, einen wenigstens 2-poligen Steuersignalanschluss für die Datenflusssteuerung, und wenigstens einen bidirektionalen Taktsignalanschluss . Die Schaltungsanordnung ist eingerichtet, in Abhängigkeit von einem am Steuersignalanschluss anliegenden Signal zwischen einem Sendemodus und ei¬ nem Empfangsmodus umzuschalten, wobei die Schaltungsanord¬ nung im Sendemodus als Busmaster einen Bustakt erzeugt und auf dem Taktsignalanschluss ausgibt und beim Empfangen von
Daten als Busslave nach Maßgabe eines vom Taktsignalan- schluss empfangenen Taktsignals arbeitet.
Gemäß einer Aus führungs form weist die parallele bidirektio¬ nale digitale Schnittstelle keine Adressleitungsanschlüsse auf .
Gemäß einer Aus führungs form weist die Schaltungsanordnung weiterhin eine Busschnittstelle auf, die beispielsweise Da¬ ten- und Adressanschlüsse umfassen kann. Über die Bus¬ schnittstelle kann die Schaltungsanordnung mit dem Mikropro¬ zessor verbunden werden. Die Schaltungsanordnung stellt somit eine Verbindung zum Bussystem des Mikroprozessors be¬ reit.
Gemäß einer Aus führungs form umfasst die Schaltungsanordnung einen FIFO-Speicher zum Senden von Daten und einen FIFO- Speicher zum Empfangen von Daten. Die FIFO-Speicher dienen dem Zwischenpuffern der Daten.
Gemäß einer Aus führungs form umfasst die Schaltungsanordnung einen Konfliktvermeidungsmechanismus, der eingerichtet ist, eine Datenübermittlung erst nach Überprüfung des Steuersignalanschlusses auf ein Steuersignal von der Gegenseite frei¬ zugeben. Der Konfliktvermeidungsmechanismus dient dem Ver¬ meiden von Konflikten, die bei gleichzeitiger Sendebereitschaft der beiden miteinander kommunizierenden Schnittstellen entstehen können. Insbesondere kann dazu gemäß einer Aus führungs form vorgesehen sein, dass bei Erkennen eines Konflikts jede Schnittstelle eine für diese Schnittstelle vorher festgelegte Wartezeit abwartet, bevor ein erneuter Sendeversuch unternommen wird. Dadurch kann sichergestellt werden, dass die erneuten Sendeversuche zu unterschiedlichen
Zeiten wiederholt werden und dadurch nur eine der beiden Schnittstellen als Busmaster aktiv ist.
Gemäß einer Aus führungs form ist die Schaltungsanordnung in wenigstens einen Slavesendemodus umschaltbar, in welchem die Schaltungsanordnung als Busslave nach Maßgabe eines vom Taktsignalanschluss empfangenen Taktsignals arbeitet und auf Anforderung der Gegenschnittstelle Daten sendet. Der
Slavesendemodus stellt einen Kompatibilitätsmodus für
Schnittstellen dar, die über keinen eigenen Slavemodus verfügen .
Gemäß einer Aus führungs form wird ein Mikroprozessorsystem (Mikrocontroller) bereitgestellt. Das Mikroprozessorsystem umfasst wenigstens einen Mikroprozessor mit einem Bussystem, eine Schaltungsanordnung mit IPL-Schnittstelle und Bus¬ schnittstelle, welche mit dem Bussystem des Mikroprozessors verbunden ist, einen Speicher, und ein DMA-Modul für einen Zugriff auf den Speicher, wobei das DMA-Modul von der Schal¬ tungsanordnung unabhängig vom Mikroprozessor angesteuert werden kann. Der Speicher sowie das DMA-Modul können mit dem Bussystem des Mikroprozessors verbunden sein.
Die Schaltungsanordnung stellt somit eine parallele bidirek¬ tionale Schnittstelle zur Anbindung eines weiteren Mikropro¬ zessors unabhängig vom Bussystem des Mikroprozessors bereit. Die Mikroprozessoren können über die parallele bidirektiona¬ le Schnittstelle miteinander verbunden werden, ohne dass sie direkt auf das jeweilige Bussystem des jeweils anderen Pro¬ zessors zugreifen. Dies ist insbesondere bei der Kopplung von Mikroprozessoren mit unterschiedlicher Sicherheitsstufe günstig .
Weitere bevorzugte Aus führungs formen ergeben sich aus den Unteransprüchen und der nachfolgenden Beschreibung eines Ausführungsbeispiels an Hand von Figuren.
Es zeigen
Fig. la eine schematische Darstellung einer parallelen
Busschnittstelle nach dem Stand der Technik,
Fig. lb eine schematische Darstellung eines Beispiels ei¬ ner erfindungsgemäß vereinfachten Busschnittstel¬ le,
Fig. 2 eine stark schematisierte Darstellung der Funktio¬ nen eines MikroControllers mit einer erfindungsge¬ mäßen IPL-Schnittstelle,
Fig. 3 den beispielhaften Aufbau einer IPL-
Schaltungsanordnung zur Abwicklung des Datentransfers,
Fig. 4 eine Darstellung von Zeitdiagrammen für die Datenübertragung zwischen zwei erfindungsgemäßen IPL- Datenübertragungsbausteinen,
Fig. 5 eine weitere Darstellung von Zeitdiagrammen für die Datenübertragung zwischen zwei erfindungsgemäßen Datenübertragungsbaussteinen zur Veranschaulichung eines Buskonflikts beim Senden,
Fig. 6 eine weitere Darstellung von Zeitdiagrammen für die Datenübertragung zwischen zwei erfindungsgemäßen Datenübertragungsbaussteinen zur Veranschaulichung der Behandlung eines Buskonflikts beim Sen-
den und
Fig. 7 eine weitere Darstellung von Zeitdiagrammen für die Datenübertragung zwischen zwei erfindungsgemäßen Datenübertragungsbaussteinen zur Veranschaulichung des Auslösens eines DMA (Direct Memory Ac¬ cess) .
In Fig. la (Stand der Technik) wird MikroController (μθ) 1 immer im Master-Mode betrieben und bestimmt somit die Adres¬ sen für Schreib- und Lesezugriffe im MikroController 2. Der MikroController 2 wird immer im Slave-Mode betrieben. Adressleitungen 30 sind unidirektional vom Master zum Slave gelegt. Datenleitungen 20 sind bidirektional. Der Master- Mikrocontroller 1 sendet Steuersignale 10 zum Slave-Mikro- controller 2, um die Bedeutung der Datensignale festzulegen. Der Slave-Mikrocontroller 2 schickt Antwortsignale 11 an den MikroController 1. Für eine synchrone Datenübertragung werden auch Synchronisationssignale 12 benötigt.
In Fig. lb ist ein Beispiel für eine erfindungsgemäß verein¬ fachte Auslegung einer parallelen Busschnittstelle, die auch als digitale bidirektionale parallele Schnittstelle oder IPL-Schnittstelle bezeichnet wird, gezeigt. Adressleitungen 30 (Fig. la) sind nicht vorhanden. Jeder MikroController (μθ) 1 bzw. 2 besitzt die vier Pins 120 bis 123, welche auch in Fig. 3 dargestellt sind. Pin 121 von μθ 1 ist über Aus¬ gangsleitung 50 mit Pin 120 des μθ 2 verbunden. Pin 120 von μθ 1 ist über Eingangsleitung 51 mit Pin 121 des μθ 2 verbunden. Die Steuerleitungen sind somit über Kreuz mit dem jeweils anderen μθ verbunden. Es werden lediglich drei Steuersignale benötigt: ein Steuersignal 50, 51 jeweils für jede Richtung und ein Synchronisationssignal 52, welches den Bustakt überträgt.
Der Transfer zwischen den MikroControllern über die jeweilige IPL-Schnittstelle beschränkt sich neben den Signalen auf den vorstehend beschriebenen Steuerleitungen und dem Bustakt auf die über Datenleitungen 20 übertragenen Daten. Es sind also keine Adressleitungen vorhanden. Bei den Datenleitungen 20 handelt es sich um parallele Datenleitungen, beispiels¬ weise 4, 8 oder 16 Datenleitungen. Entsprechend viele Pins 123 sind jeweils vorhanden.
Jeder MikroController 1 oder 2 kann als Master oder Slave einer Datenübertragung konfiguriert sein (bidirektionaler Datenaustausch) . Die Umschaltung eines MikroControllers in Master oder Slave Mode erfolgt größtenteils automatisch. Wenn MikroController 1 mit dem Senden von Daten anfängt, erzwingt dieser einen automatischen Übergang des anderen Mik- rocontrollers 2 in den Slave-Modus und umgekehrt.
Das Umschalten kann beispielsweise folgender Maßen erfolgen. Zunächst sind beide Schnittstellen in einem Ruhezustand
(idle), da keine Daten zu übertragen sind. Werden nun vom MikroController 1 Daten zur Übertragung bereitgestellt, signalisiert die ihm zugeordnete IPL-Schnittstelle ihre Sende¬ bereitschaft durch Ausgabe eines Steuersignals 50 auf Pin
(Anschluss) 121, das mit Pin (Anschluss) 120 der IPL- Schnittstelle von MikroController 2 verbunden ist. Die IPL- Schnittstelle von MikroController 2 geht dadurch in einen Slavemodus über und erwartet den Bustakt (Synchronisations¬ signal 52), der auf Pin 122 von der Sendeschnittstelle aus¬ gegeben wird. Die IPL-Schnittstelle des MikroControllers 2 geht damit in den Slaveempfangsmodus über und arbeitet nach Maßgabe des empfangenen Bustaktes. Nach Übertragung der Daten gehen beide IPL-Schnittstellen wieder in einen Ruhezustand über.
In Fig. lb ist außerdem ein Diagnosemodul 60 darstellt, wel¬ ches über die oben beschriebenen Leitungen für Debugging- Operationen mit Mikroprozessormodul 1 oder 2 verbunden werden kann (in Fig. lb ist nur die Verbindung mit der IPL- Schnittstelle von Mikroprozessorsystem 2 durch gestrichelte Linien angedeutet) .
Fig. 2 zeigt schematisch den Aufbau eines erfindungsgemäßen MikroControllers 1 mit einer IPL-Schnittstelle 5. Die IPL- Schnittstelle ist über die üblichen Bussysteme mit der Mik¬ roprozessor-Einheit 3 verbunden, welche im dargestellten Beispiel zwei nach dem Prinzip der Kernredundanz abgesicherte Prozessorkerne 3A, 3B enthält. Das Bussystem verfügt ins¬ besondere über Datenleitungen D und Adressleitungen A. Neben einem Speicherbereich 6, beispielsweise ein ROM oder RAM, umfasst der MikroController außerdem ein DMA-Modul 4, welches selbstständig Datenaustauschvorgänge zum Beispiel zwi¬ schen den Speichern des Speicherbereichs 6 und den Speichern des IPL-Moduls 5 durchführen kann.
Die in Fig. 3 dargestellte Schaltungsanordnung ist die eigentliche IPL-Schnittstelle 5 und wickelt den Datentransfer ab. Die IPL-Schnittstelle 5 ist in einem MikroController 1 bzw. 2 angeordnet. Für den Sendepfad sowie für den Empfangs¬ pfad werden FIFO-Speicher (jeweils ein Registersatz) 101 und 104 verwendet, um kontinuierliche Datenströme zu ermögli¬ chen .
Die IPL-Schnittstelle weist die vier elektrischen Anschlüsse 120 bis 123 für die Verbindung mit einem anderen μθ oder einem Diagnosegerät für Debugging, wobei der elektrische An- schluss 123 ein paralleler Datenanschluss mit beispielsweise 4, 8, 16 oder 32 Leitungen ist.
Die Anschlüsse sind folgendermaßen belegt:
120 Steuereingang ( Steuersignaleingang)
121 Steuerausgang ( Steuersignalausgang)
122 Ausgang für Bustakt in beide Richtung
123 Data paralleler Datenbus
Die oben beschriebenen Anschlüsse, insbesondere Anschluss 123, können/kann mehrere am Chip nach außen geführte Pins umfassen .
Der zwischen den FIFO-Speichern 101 und 104 angeordnete FIFO-Controller 103 dient zur Ermittlung und Kontrolle des Status der beiden FIFO-Speicher . So lässt sich feststellen, ob die FIFO-Speicher voll oder leer sind bzw. ob spezifische Füllschwellen („watermarks" , „overrun states") über- bzw. unterschritten werden. Der FIFO-Controller ruft je nach Zustand der Speicher geeignete Aktionen ab, wie „Daten übertragen" oder „Abort". Sofern beispielsweise der Sende-FIFO
101 (TX FIFO) mit Daten gefüllt wird, wird der Mastersende¬ modus initiiert, sofern die IPL-Schnittstelle im Ruhezustand ist, d.h. es werden keine Daten gesendet oder empfangen.
FSMs-Schiebecontroller 105 ist ein Zustandsautomat , der in Abhängigkeit der über die gestrichelten Linien dargestellten Zustandsleitungen Aktionen, wie Interrupts über die IRQ- Leitungen hervorruft.
Mit 100 ist ein Peripherie-Bus-Interface mit IPL-Registern bezeichnet, welches mit dem Peripherie-Bus (Adress- und Datenbus in Fig. 2) des MikroControllers 1 verbunden ist.
102 bezeichnet ein 32-Bit-IPL-Schieberegister zum Ausgeben der Daten an dem parallelen Datenanschluss 123.
Multiplexer 106 mischt die auszugebenden Daten mit den Prüfsummeninformationen (CRC-Checkbits) . Demultiplexer 107 entfernt die Nutzdaten von den Prüfdaten beim Empfangen. Die Prüfdaten werden in CRC-Logik 108 verarbeitet, wo auch eine Fehlerprüfung durchgeführt wird.
Die Schnittstelle umfasst des Weiteren ein Konfigurationsre- gister, mit dem Eigenschaften der Schnittstelle geeignet konfiguriert werden können (z B. die Breite des Datenports 123) .
Die Zeitdiagramme in Fig. 4 zeigen die Datenübertragung zwischen der IPL (Inter Processor Link) -Schaltungsanordnung im Master-Ausgangsmode und einer weiteren IPL-Schaltungs- anordnung im Slave-Mode (Empfangen von Daten) . Der Masterausgangsmodus wird initiiert, wenn der Sende-FIFO 101 mit neuen Daten gefüllt wird. In Fig. 4 wird weiterhin davon ausgegangen, dass beide IPL-Schnittstellen im Ruhezustand sind, d.h. keine der beiden Schnittstellen gibt ein Signal (High) auf ihrem Steuerausgang IPLRDY_1, IPLRDY_2 aus. Entsprechend sind die Steuereingänge IPLLST_1 und IPLLST_2 auf Low. Zu beachten ist, dass IPLRDY_1 mit IPLLST_2 verbunden ist und IPLRDY_2 mit IPLLST_1 verbunden ist.
Ist nun der Sende-FIFO 101 der einen IPL-Schnittstelle mit Daten gefüllt, gibt diese auf IPLRDY_1 ein Signal (High) aus, das von IPLLST_2 empfangen wird. Dadurch geht die zweite IPL-Schnittstelle (IPL im Slaveeingangsmodus ) in den Slaveempfangsmodus über und synchronisiert sich mit dem von der ersten IPL-Schnittstelle (IPL im Masterausgangsmodus) ausgegebenen Synchronisationssignal. Nach erfolgter Datenübertragung gehen beide IPL-Schnittstellen wieder in den Ruhezustand über, d.h. auf beiden Steuerausgängen IPLRDY 1,
IPLRDY_2 liegt Low an.
Fig. 5 und 6 zeigen den Konfliktvermeidungsmechanismus gemäß einer Aus führungs form. Ein Konflikt kann dann auftreten, wenn beide IPL-Schnittstellen zu gleicher zeit oder kurz nacheinander ihre Sendebereitschaft durch Ausgabe eines Steuersignals (High) auf ihren Steuerausgängen IPLRDY_1 und IPLRDY_2 anzeigen. Das dafür kritische Zeitfenster ist in Fig. 5 angedeutet. Nach Verstreichen dieses Zeitfensters ist die jeweils andere IPL-Schnittstelle sicher in den Slave- modus übergegangen. Es liegt also ein Konflikt-freies Zeit¬ fenster vor, solange die eine IPL-Schnittstelle im Mastermo¬ dus bleibt. In diesem "Konflikt-freien" Zeitfenster auftretende Konflikte können nur von Hardwarefehler herrühren.
Fig. 6 zeigt, dass die IPL-Schnittstelle von MikroController 2 kurz nach der IPL-Schnittstelle von MikroController 1 ihre Sendebereitschaft angezeigt hat, ohne dass die IPL-Schnitt¬ stelle von Mikrocontroller 2 bereits auf die Sendebereit¬ schaft der IPL-Schnittstelle von Mikrocontroller 1 reagiert hat. Da auf beiden Steuereingängen IPLLST_1 und IPLLST_2 nun jeweils Steuersignal liegen, erkennen beide IPL-Schnitt¬ stellen den Konflikt und stoppen die weitere Initiierung der Datensendung. Beide IPL-Schnittstellen gehen in den Ruhezustand für eine gegebene Zeit (Wartezeit_l , Wartezeit_2) über. Die jeweiligen Wartezeiten sind für jede IPL-Schnittstelle unterschiedlich und können beispielsweise zuvor ge¬ eignet festgelegt werden. Im vorliegenden Beispiel wird da¬ von ausgegangen, dass Wartezeit_l kleiner als Wartezeit_2 ist, so dass die IPL-Schnittstelle von Mikrocontroller 1 früher als die IPL-Schnittstelle von Mikrocontroller 2 den Ruhezustand verlässt und erneut ihre Sendebereitschaft durch Ausgeben eines Steuersignals auf Steuerausgang IPLRDY_1 anzeigt. Da sich die IPL-Schnittstelle von Mikrocontroller 2
immer noch im Ruhezustand befindet, wird an IPLRDY_2 kein Steuersignal ausgegeben. Ein erneuter Konflikt wird dadurch vermieden .
Das Zeitdiagramm in Fig. 7 zeigt den Signalverlauf für eine Anordnung, bei der ein EDP-Diagnosemodul 60 (Debugging mittels eines Enhanced Data Port), dargestellt in Fig. 1, mit einem Mikroprozessorsystem 2 verbunden ist, das eine IPL- Schnittstelle aufweist. Die IPL-Schnittstelle wird zur Ver¬ bindung mit dem EDP-Diagnosemodul 60 genutzt.
Das EDP-Diagnosemodul 60 ist dabei in einem Master Eingangs¬ modus. Das damit verbundene erfindungsgemäße Mikroprozessor¬ system 2 mit IPL-Schnittstelle ist in einem Slave-Ausgangs- modus ( Slavesendemodus ) . Der Slavesendemodus stellt einen Kompatibilitätsmodus für Schnittstellen dar, die nur im Mas¬ termodus betrieben werden können. Solche Schnittstellen geben immer den Bustakt unabhängig davon, ob sie senden oder empfangen, vor. Die IPL-Schnittstelle wird dazu softwaremä¬ ßig in den Slavesendemodus gesetzt.
Das Zeitdiagramm zeigt, wie das EDP-Diagnosemodul 60 eine Anfrage erzeugt, die einen DMA auslöst. Nach dieser Anfrage wird ein DMA-Transfer im erfindungsgemäßen MikroController 2 gestartet, um das EDP-Diagnosemodul 60 mit den angeforderten Daten zu versorgen.
Zu beachten ist, dass die EDP-Schnittstelle durch Setzten von EDPRDY (Steuerausgang) auf Low anzeigt, dass sie neue Daten anfordert. Entsprechend geht IPLLST der IPL-Schnitt¬ stelle ebenfalls von High auf Low, was zur oben beschriebe¬ nen Auslösung des DMA-Transfers oder Interrupts führt. Der Sende-FIFO 101 der IPL-Schnittstelle wird entsprechend mit Daten gefüllt. Welche Daten in den Sende-FIFO 101 geladen
werden, wird von der Software vorgegeben. Sofern alle Daten geladen sind, zeigt die IPL-Schnittstelle ihre Sendebereit¬ schaft durch setzen von IPLRDY auf High an.
Entsprechend kann die IPL-Schnittstelle auch in einen
Slaveempfangsmodus umgeschaltet werden, um Daten von einer EDP-Schnittstelle zu empfangen.
Eine μθ, der die oben beschriebene IPL-Schnittstelle auf¬ weist, kann selbstverständlich darüber hinaus auch noch eine oder mehrere weitere Schnittstellen, wie CAN aufweisen.