-
Die
vorliegende Erfindung bezieht sich allgemein auf Halbleiterschaltungen
und insbesondere auf ein System und ein Verfahren zum Testen eines Moduls.
-
Eingebaute
elektronische Steuergeräte (ECUS – electronic
control units) können alle Aspekte des Betriebs eines Kraftfahrzeugs,
wie etwa die Kraftstoffanlage, die Zündanlage, die Antriebs-Schlupf-Regelung
und Klimaanlagen- und Heizungssysteme, steuern. Ein typisches Kraftfahrzeug kann
Dutzende von ECUS enthalten. Da Sicherheits- und Zuverlässigkeitsstandards
für die Kraftfahrzeugelektronik immer strenger geworden
sind, ist die Fähigkeit, neu hergestellte elektronische
Elemente schnell testen zu können und ausfallende Elemente auf
Fehler untersuchen und diese beseitigen zu können, d. h.,
debuggen zu können, immer wichtiger geworden.
-
Kraftfahrzeug-ECU-Module
bestehen im Allgemeinen aus einem Mikrocontroller oder Mikroprozessor
und anderen Schaltungen, wie zum Beispiel Speicher- und Schnittstellenschaltungen,
die auf einer gedruckten Leiterplatte (PCB – printed circuit board)
montiert sind und mit einem einzigen Steckverbinder verbunden sind,
der Strom- und Signalschnittstellen bereitstellt. Wenn ein Bauteil
innerhalb des ECU-Moduls ausfällt, dann umfasst das genaue Bestimmen
der Ursache für den Ausfall im Allgemeinen das physische Öffnen
des Moduls und das Analysieren des Versagens durch Untersuchen der
PCB unter Zufuhr von Testsignalen und das Entlöten, also das
Lösen von Lötstellen von einzelnen Bauteilen, bei
denen eine Fehler- bzw. Ausfallanalyse durchgeführt werden
soll.
-
Ein
komplizierender Faktor bei der Durchführung eines Test
und eines Debuggens bzw. einer Fehlersuche und -beseitigung bei
einem ECU-Modul liegt darin, dass die Testfunktionen auf einzelnen Bauteilen
oftmals nur über dedizierte Pins (Anschlussstifte) zugänglich
sind, die während des normalen Betriebs mit der Energieversorgung
und der Erde verbunden sind. Da Testschnittstellen auf der Modulebene
nicht zur Verfügung stehen, ist die Möglichkeit,
schnell eine umfassende Debug- und/oder Ausfallanalyse im Feldeinsatz
durchführen zu können, sehr begrenzt.
-
Somit
werden auf dem Gebiet der Kraftfahrzeugelektronik Systeme und Verfahren
zum schnellen Testen und Durchführen einer Fehler- bzw.
Ausfallanalyse bei Modulen benötigt, bei denen das Modul
nicht zerlegt werden muss.
-
Die
Erfindung erreicht dieses bzw. andere Ziele durch die Gegenstände
der Ansprüche 1, 6, 10. Vorteilhafte Weiterbildungen sind
in den Unteransprüchen angegeben.
-
In
einer Ausführungsform wird ein System offenbart. Das System
weist einen Busschnittstellenport, eine Auswahlschaltung, die mit
dem Busschnittstellenport gekoppelt ist, eine erste Busschnittstellenschaltung,
die mit der Auswahlschaltung gekoppelt ist, und eine zweite Busschnittstellenschaltung,
die mit der Auswahlschaltung gekoppelt ist, auf. Die Auswahlschaltung
ist so konfiguriert, dass sie zwischen der ersten Busschnittstellenschaltung
und der zweiten Busschnittstellenschaltung auswählt. Das
System weist auch eine Initialisierungsschaltung auf, die so konfiguriert
ist, dass sie ein erstes Codewort erfasst, das in den Busschnittstellenport
geschrieben wird, und die zweite Busschnittstellenschaltung aktiviert, wenn
das erste Codewort erfasst wird. Das oben Genannte hat die Merkmale
der vorliegenden Erfindung ziemlich grob umrissen.
-
Gemäß einem
Aspekt wird ein Verfahren zum Testen eines Moduls zur Verfügung
gestellt, das eine Busschnittstelle umfasst, wobei das Verfahren Folgendes
umfasst:
Setzen eines Modulbetriebsmodus auf einen ersten Modus,
wobei das Setzen das Konfigurieren der Busschnittstelle derart umfasst,
dass sie unter Verwendung eines ersten Busschnittstellenprotokolls
arbeitet;
nach dem Setzen des Moduls in den ersten Betriebsmodus
das Ändern des Betriebsmodus auf einen zweiten Betriebsmodus,
wobei das Ändern des Betriebsmodus auf den zweiten Betriebsmodus
Folgendes umfasst:
Schreiben eines ersten Codeworts in die
Busschnittstelle, wobei sich das erste Codewort von einem Codewort
unterscheidet, das innerhalb des ersten Busschnittstellenprotokolls
verwendet wird;
Konfigurieren der Busschnittstelle derart,
dass sie unter Verwendung eines zweiten Busschnittstellenprotokolls
arbeitet; und
nach dem Ändern des Betriebsmodus auf
den zweiten Betriebsmodus das Verwenden des zweiten Busschnittstellenprotokolls
für den Tool-Zugang einer chipinternen Software-Debug-
und Hardware-Test-Infrastruktur.
-
Vorteilhaft
kann das Verfahren des Weiteren nach dem Ändern des Betriebsmodus
auf den zweiten Betriebsmodus das Aktivieren eines Anwendungstestmodus
umfassen, wobei das Aktivieren des Anwendungstestmodus das Ausgeben
eines Anwendungstestmodus-Befehls an der Busschnittstelle umfasst,
wobei der Anwendungstestmodus-Befehl so konfiguriert ist, dass er
das Modul in dem Anwendungstestmodus neu hochfährt, wobei
das erneute Hochfahren das Initialisieren von Registern innerhalb des
Moduls umfasst.
-
Vorteilhaft
ist das erste Codewort in dem ersten Busschnittstellenprotokoll
nicht definiert.
-
Vorteilhaft
umfasst das Setzen des Modulbetriebsmodus des Weiteren das Hochfahren
des Moduls in dem ersten Betriebsmodus.
-
Vorteilhaft
umfasst das erste Busschnittstellenprotokoll ein Controller Area
Network(CAN)-Schnittstellenprotokoll.
-
Vorteilhaft
umfasst das zweite Busschnittstellenprotokoll ein Controller Area
Network(CAN)-Schnittstellenprotokoll.
-
Vorteilhaft
umfasst das zweite Busschnittstellenprotokoll ein Debug Access Port(DAP)-Protokoll.
-
Vorteilhaft
umfasst das erste Busprotokoll eine maximale Übergangsfrequenz;
und
das Schreiben des ersten Codeworts in die Busschnittstelle
das Betreiben der Busschnittstelle bei einer Übergangsfrequenz,
die die maximale Übergangsfrequenz des ersten Busprotokolls überschreitet.
-
Vorteilhaft
umfasst das erste Busschnittstellenprotokoll ein Controller Area
Network(CAN)-Schnittstellenprotokoll;
das zweite Busschnittstellenprotokoll
ein Debug Access Port(DAP)-Protokoll; und
das erste Codewort
1024 ,0'-Werte in einem Single Pin DAP(SPD)-Format.
-
Vorteilhaft
umfasst das Verfahren des Weiteren Folgendes:
nach dem Aktivieren
des Anwendungstestmodus das Betreiben des Moduls in dem Anwendungstestmodus,
wobei das Betreiben des Moduls in dem Anwendungstestmodus das Zugreifen
auf eine JTAG-Schnittstelle in dem Modul umfasst.
-
Vorteilhaft
umfasst der erste Betriebsmodus einen normalen Betriebsmodus; und
der
zweite Betriebsmodus einen Tool-Zugangs-Betriebsmodus.
-
Gemäß einem
weiteren Aspekt wird ein System zur Verfügung gestellt,
umfassend:
einen Busschnittstellenport;
eine Auswahlschaltung,
die mit dem Busschnittstellenport gekoppelt ist;
eine erste
Busschnittstellenschaltung, die mit der Auswahlschaltung gekoppelt
ist;
eine zweite Busschnittstellenschaltung, die mit der Auswahlschaltung
gekoppelt ist, wobei die Auswahlschaltung so konfiguriert ist, dass
sie zwischen der ersten Busschnittstellenschaltung und der zweiten Busschnittstellenschaltung
auswählt; und
eine Initialisierungsschaltung, die
so konfiguriert ist, dass sie
ein erstes Codewort erfasst,
das in den Busschnittstellenport geschrieben wird, und
die
zweite Busschnittstellenschaltung aktiviert, wenn das erste Codewort
erfasst wird.
-
Vorteilhaft
umfasst das System des Weiteren Folgendes:
eine Controller-Schaltung;
und
eine Prüfschaltung, die mit der Controller-Schaltung und
der zweiten Busschnittstellenschaltung gekoppelt ist, wobei die
Prüfschaltung über die zweite Busschnittstellenschaltung
steuerbar ist.
-
Vorteilhaft
umfasst das System des Weiteren eine Anwendungstestmodus-Initialisierungsschaltung,
die mit der zweiten Busschnittstellenschaltung gekoppelt ist, wobei
die Anwendungstestmodus-Initialisierungsschaltung so konfiguriert
ist, dass sie die Controller-Schaltung neu hochfährt und
die Prüfschaltung unter die Steuerung der zweiten Busschnittstellenschaltung
stellt, nachdem die Controller-Schaltung neu hochgefahren ist.
-
Vorteilhaft
umfasst das System des Weiteren einen Transceiver, der mit dem Busschnittstellenport gekoppelt
ist.
-
Vorteilhaft
umfasst die erste Busschnittstellenschaltung eine Controller Area
Network(CAN)-Schnittstellenschaltung; und
die zweite Busschnittstellenschaltung
eine Debug Access Port(DAP)-Schnittstellenschaltung.
-
Vorteilhaft
ist das erste Codewort in dem CAN-Protokoll nicht definiert.
-
Vorteilhaft
umfasst das erste Codewort Übergänge bei einer Übergangsfrequenz,
die eine maximale Übergangsfrequenz des CAN-Protokolls überschreitet.
-
Vorteilhaft
ist die DAP-Schnittstellenschaltung mit der Prüfschaltung
gekoppelt.
-
Vorteilhaft
wird eine Integrierte Schaltung bereitgestellt, die das o. g. System
umfasst.
-
Vorteilhaft
wird des Weiteren ein Kraftfahrzeug-Controller bereitgestellt, der
das o. g. System umfasst, wobei der Busschnittstellenport eine exklusive
Schnittstelle für den Zugriff auf die Prüfschaltung umfasst.
-
Gemäß einem
weiteren Aspekt wird ein Kraftfahrzeug-Controller-Modul zur Verfügung
gestellt, umfassend:
eine gedruckte Leiterplatte (PCB);
eine
Zielschaltung, die sich auf der PCB befindet;
eine Prüfschaltung,
die mit der Zielschaltung gekoppelt ist, wobei die Prüfschaltung
so konfiguriert ist, dass sie die Zielschaltung prüft;
eine
erste Schnittstellenschaltung, die mit der Zielschaltung gekoppelt
ist, wobei die erste Schnittstellenschaltung so konfiguriert ist,
dass sie mit der Zielschaltung in einem normalen Modus in Übereinstimmung
mit einem ersten Protokoll kommuniziert;
eine zweite Schnittstellenschaltung,
die mit der Prüfschaltung gekoppelt ist, wobei die zweite
Schnittstellenschaltung so konfiguriert ist, dass sie mit der Prüfschaltung
in Übereinstimmung mit einem zweiten Protokoll kommuniziert;
eine
Schnittstellenauswahlschaltung, wobei die Schnittstellenauswahlschaltung
so konfiguriert ist, dass sie zwischen der ersten Schnittstellenschaltung und
der zweiten Schnittstellenschaltung auswählt;
einen
Busport, der mit der Schnittstellenauswahlschaltung gekoppelt ist;
und
eine Testmodus-Initialisierungsschaltung, die gekoppelt
und so konfiguriert ist, dass sie
ein erstes Codewort an dem
Busport erfasst, wobei sich das erste Codewort von einem Codewort
unterscheidet, das von dem ersten Protokoll definiert ist,
die
zweite Schnittstellenschaltung bei Erfassung des ersten Codeworts
an dem Busport aktiviert, und
die Zielschaltung und die Testschnittstelle
beim Empfangen eines zweiten Codeworts, nachdem die zweite Schnittstelle
aktiviert worden ist, in einen Testmodus neu hochfährt.
-
Vorteilhaft
umfasst die erste Schnittstelle eine Controller Area Network(CAN)-Schnittstelle;
und
die Zielschaltung einen Mikrocontroller.
-
Vorteilhaft
ist die Prüfschaltung so konfiguriert, dass sie mit einer
JTAG-Schnittstelle verbunden werden kann.
-
Weitere
Merkmale der Erfindung werden im Folgenden beschrieben werden, die
den Gegenstand der Patentansprüche der Erfindung bilden.
Es sollte von den Fachleuten auf dem Gebiet aber verstanden werden,
dass die Idee und die spezifische, hier offenbarte Ausführungsform
ohne Weiteres auch als eine Basis für die Modifizierung
oder Konstruktion anderer Strukturen oder Prozesse zur Durchführung
derselben Zwecke der vorliegenden Erfindung verwendet werden können.
Es sollte von den Fachleuten auf diesem Gebiet auch realisiert werden,
dass solche äquivalenten Konstruktionen nicht von dem Erfindungsgedanken
und dem Schutzumfang der Erfindung, wie sie in den angehängten
Patentansprüchen dargelegt ist, abweichen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Für
ein vollständigeres Verständnis der vorliegenden
Erfindung und ihrer Vorteile wird nun Bezug auf die nachfolgenden
Beschreibungen genommen, die in Verbindung mit den beigefügten
Zeichnungen erstellt sind, in denen:
-
1 ein
Kraftfahrzeugsystemdiagramm und eine Schnittstellenliste für
ein elektronisches Steuergerät für ein Kraftfahrzeug
gemäß einer Ausführungsform veranschaulicht;
-
2 ein
Blockdiagramm eines elektronischen Steuergeräts gemäß einer
Ausführungsform veranschaulicht;
-
3 eine
Testarchitektur für ein elektronisches Steuergerät,
das geprüft wird, gemäß einer Ausführungsform
veranschaulicht;
-
4 ein
Ablaufdiagramm eines ECU-Schnittstellen-Verfahrens gemäß einer
Ausführungsform veranschaulicht;
-
5 ein
Zeitdiagramm eines Steuerworts gemäß einer Ausführungsform
veranschaulicht; und
-
6 ein
Ablaufdiagramm eines ECU-Testverfahrens gemäß einer
Ausführungsform veranschaulicht.
-
Entsprechende
Bezugszeichen und Symbole in unterschiedlichen Figuren beziehen
sich im Allgemeinen auf entsprechende Teile, außer dies
ist hier anders angegeben. Die Figuren sind so gezeichnet, dass
sie die relevanten Aspekte von Ausführungsformen der vorliegenden
Erfindung klar veranschaulichen und sind nicht unbedingt maßstabsgetreu
gezeichnet. Zur klareren Veranschaulichung gewisser Ausführungsformen
kann ein Buchstabe auf eine Figurenzahl folgen, der Variationen
derselben Struktur, desselben Materials oder Prozessschrittes angibt.
-
AUSFÜHRLICHE BESCHREIBUNG
VON VERANSCHAULICHENDEN AUSFÜHRUNGSFORMEN
-
Die
Herstellung und Verwendung von Ausführungsformen werden
unten im Einzelnen besprochen. Es sollte aber verstanden werden,
dass die vorliegende Erfindung viele anwendbare erfinderische Konzepte
bereitstellt, die in einer breiten Vielfalt von spezifischen Kontexten
verwirklicht werden können. Die hier erörterten,
spezifischen Ausführungsformen dienen lediglich zur Veranschaulichung
von spezifischen Möglichkeiten, die Erfindung auszuführen
und zu verwenden, und begrenzen nicht den Schutzumfang der Erfindung.
-
Die
vorliegende Erfindung wird im Hinblick auf Ausführungsformen
in einem spezifischen Kontext beschrieben werden, nämlich
einem System und Verfahren zum Testen eines elektronischen Steuergeräts
für ein Kraftfahrzeug. Ausführungsformen der vorliegenden
Erfindung können auch auf andere Schaltungen und Systeme
angewandt werden, die ein nichtinvasives Testen bzw. Prüfen
oder einen Zugriff auf Funktionen benötigen, die an dem
Schnittstellenport normalerweise nicht zugänglich sind.
-
1 veranschaulicht
ein Kraftfahrzeugsystem 100 gemäß einer
Ausführungsform, das Steuer- und Sensorleitungen zeigt,
die typischerweise mit einem elektronischen Steuerungssystem gekoppelt sind.
Sensorsignale gehen zum Beispiel von den Fußpedalen 104,
dem Klopfsensor 108, der Nockenwellenstellungsreferenz 112,
dem Lufttemperaturfühler 114, dem Drucksensor 116,
dem Kraftstoff-Füllstands-Sensor 120, dem Kurbelwellensensor 124, dem
Wassertemperaturfühler 126, dem vorgeschalteten
Lambda-Sensor 128 und dem nachgeschalteten Sensor 130 aus.
Andererseits steuern Steuersignale die elektronische Drosselklappe 102,
die Einspritzdüse 106, eine Zündkerze 110,
die Kraftstoffpumpe 122, die Aktivkohlefilterspülung 118,
die Klimaanlage 132 und das Kühlgebläse 134.
Die beschriebenen und veranschaulichten Steuer- und Sensorleitungen
dienen als Beispiele. Einige Ausführungsform-Kraftfahrzeugsysteme
gemäß der vorliegenden Erfindung können
mehr oder weniger Sensor- und Steuersignale aufweisen, als dies
in 1 gezeigt ist.
-
2 veranschaulicht
ein Blockdiagramm eines elektronischen Steuergeräts (ECS) 200 für
ein Kraftfahrzeug gemäß einer Ausführungsform.
Das ECS 200 weist einen Mikrocontroller 202 auf,
der mit einer analogen Schnittstelle 204, einer digitalen Schnittstelle 208,
einer Stromversorgung 210, einem Zündungs-IGBT 212,
einer H-Brücke, Ausgangstreibern 216, diskreten
Bauteilen 218, einem Controller Area Network(CAN)-Schnittstellenblock 220 und
einem Local Interconnect(LIN)-Schnittstellenblock 224 gekoppelt
ist. In Ausführungsformen der vorlegenden Erfindung befinden
sich diese Blöcke auf einer Leiterplatte PCB im Innern
eines physischen Moduls.
-
Der
Mikrocontroller 202 empfängt Daten von den Schnittstellen 204 und 208 und
stellt den Schnittstellen 212, 214, 216 und 218 Steuersignale
basierend auf einem Programm bereit, das entweder in einem externen
Speicher oder in einem internen Speicher (nicht gezeigt) gespeichert
ist. Die direkte Programmierung und Steuerung des Mikrocontrollers 202 findet
entweder durch die CAN-Schnittstelle 220 und 222,
die LIN-Schnittstelle 224 oder einen chipinternen oder
eingebauten nichtflüchtigen Speicher (nicht gezeigt) statt.
In herkömmlichen Ausführungsformen wird die Testfunktionalität
aber nicht durch die CAN-Schnittstelle erzielt, sondern wird unter
Verwendung eines externen Testmodus-Pins (nicht gezeigt) zur Freigabe
des TCU und einer externen JTAG/DAP-Debug-Schnittstelle (nicht gezeigt)
zum Betreiben des und Kommunizieren mit dem TCU aktiviert. In Ausführungsformen
der vorliegenden Erfindung stellt ein Prüfgerät
(TCU – test control unit) 226 die Testfunktionalität über
eine CAN-Schnittstellen-Hardware 220 bereit. Der Mikrocontroller 202 enthält
auch Register 230. In alternativen Ausführungsformen
der vorliegenden Erfindung können andere Steuerschaltungen
außer einer auf einem Mikrocontroller basierenden Steuerschaltung
verwendet werden, zum Beispiel ein Mikroprozessor oder eine andere
dedizierte Steuerlogik.
-
Die
analoge Schnittstelle 204 verbindet analoge Signale wie
etwa die Öltemperatur, die Lufttemperatur, die Drosselklappenstellung,
die Pedalstellung, den Öldruck, den Einlasskrümmerdrucksensor, den
Kraftstofffüllstand, die Batteriespannung, erzeugte Spannungen,
den Spulenstrom und den Lambda-Sensor mit dem Mikrocontroller 202.
Die analoge Schnittstelle 204 ist in Übereinstimmung
mit Ausführungsformen der vorliegenden Erfindung entsprechend
herkömmlichen Techniken konstruiert, die im Stand der Technik
bekannt sind, und weist im Allgemeinen einen oder mehrere Analog-Digital-Wandler
an einem oder mehreren analogen Multiplexer auf.
-
Die
digitale Schnittstelle 208 verbindet Schalter und diskrete
Signale mit dem Mikrocontroller 202, die etwa ein Diagnoseanforderungssignal, den
Klimaanlagenschalter, den Hochdruckschalter, das Zündschlüsselsignal
und Kurbelwellen- und Nockenwellenstellungssignale. Die digitale
Schnittstelle 208 ist in Übereinstimmung mit herkömmlichen
Ausführungsformen implementiert, die im Stand der Technik
bekannt sind.
-
Das
elektronische Steuergerät 200 liefert und empfängt
in Ausführungsformen der vorliegenden Erfindung auch Stromversorgungsspannungen zu
und von dem Kraftfahrzeug über die Stromversorgungsschnittstelle 210.
Die Stromversorgungsschnittstelle 210 ist ebenfalls in Übereinstimmung
mit herkömmlichen Techniken implementiert.
-
Die
Zündspulen werden über den Zündungs-IGBT 212 aktiviert,
und der Drosselklappensteller wird über die H-Brücke 214 unter
der Kontrolle des Mikrocontrollers 202 gesteuert. Die Ausgangstreiber 216 stellen
Steuersignale für die Kraftstoffeinspritzdüsen,
das Aktivkohlebehälter-Spülventil, die variable
Ventilsteuerung, das Kraftstoffpumpenrelais und das Klimaanlagenrelais
bereit. Die diskreten Bauteile 218 steuern Diagnoselampen
an und steuern die Motordrehzahl. In alternativen Ausführungsformen
der vorliegenden Erfindung können einige der veranschaulichten
Sensor- und Steuersignale weggelassen werden, während andere
Sensor- und Steuersignale, die hier nicht gezeigt sind, enthalten sein
können. Es sollte außerdem klar sein, dass andere
Schnittstellenblöcke außer den beschriebenen und
veranschaulichten Blöcken in Abhängigkeit von der
Technologie und den Spezifikationen des Ziel-Kraftfahrzeugsystems
verwendet werden können.
-
Der
CAN-Controller 222 und die CAN-Schnittstelle 220 stellen
eine Kommunikationsverbindung zu dem ECU 200 entsprechend
dem CAN-Schnittstellenstandard ISO 11898 bereit,
welcher ein arbitrierungsfreier Schnittstellenstandard ist, der
verwendet wird, um mit Kraftfahrzeug-ECUs zu kommunizieren. In alternativen
Ausführungsformen der vorliegenden Erfindung können
andere Schnittstellenstandards in Abhängigkeit von den
Systemspezifikationen und der verwendeten Technologie verwendet
werden. So kann zum Beispiel in anderen Kraftfahrzeugsystemen eine
LIN- oder FlexRay-Schnittstelle verwendet werden. In Nicht-Kraftfahrzeug-Systemen,
wie etwa Mobiltelefonen, kann zum Beispiel eine Schnittstelle wie
etwa USB, eine Speicherkarte oder eine Chipkarte (Smartcard) verwendet
werden.
-
3 veranschaulicht
ein ECU-System 300, das geprüft wird, in Übereinstimmung
mit einer Ausführungsform der vorliegenden Erfindung. In
dem zu prüfenden ECU-System 300 ist das ECU 302 mit dem
Gerätetester 304 über einen CAN-Schnittstellenbus 338 gekoppelt.
Das ECU 302 weist eine PCB 303 auf, auf der ein
Mikrocontroller 310 und eine Busschnittstellenschaltung 308 in
Ausführungsformen der vorliegenden Erfindung montiert sind.
-
Wenn
ein Kraftfahrzeug-ECU-Element im Einsatz ausfällt, ist
es für den Hersteller des ausgefallenen ECU-Elements und/oder
den Hersteller der eingebauten (On-Board-)Bauteile wichtig, das
ausgefallene ECU zu analysieren und die Ursache für den
Ausfall zu diagnostizieren. Die Diagnoseerstellung für
ECU-Elemente gemäß dem herkömmlichen Stand
der Technik erfordert oftmals eine intrusive Analyse des Moduls,
was typischerweise das Zerlegen des Moduls einschließt.
Im Falle eines Bauteilversagens können herkömmliche
Diagnoseverfahren aus dem Stand der Technik Leiterplattenmodifikationen
und/oder -abänderungen erfordern, um an die Wurzel des
Problems zu gelangen. Die Nachteile von solchen intrusiven Diagnoseverfahren
umfassen die Zeit und den Aufwand bzw. die Kosten für die
Diagnoseerstellung für das ECU. Außerdem kann
eine intrusive Diagnose das ausgefallene ECU physisch ändern
und möglicherweise den Fehlermodus maskieren oder verändern.
-
In
Ausführungsformen der vorliegenden Erfindung wird die ECU-Diagnose
durch die ECU-Schnittstelle oder den ECU-Steckverbinder durchgeführt,
ohne dass das ECU zerlegt oder geöffnet werden muss. Ein
nichtintrusives Prüfen des ECU 302 wird erreicht,
indem eine Testschnittstelle innerhalb des ECU bereitgestellt wird,
die über den Schnittstellenbus 338 adressierbar
ist. In einigen Ausführungsform-Mikrocontrollerchips, die
auf den Schnittstellenbus 338 unter Verwendung des CAN-Standards
zugreifen, muss der Chip funktionsfähig sein, damit die
CAN-Schnittstelle arbeiten kann. Deshalb wird in Ausführungsbeispielen,
in denen die Testfunktionalität für nicht betriebsbereite
oder teilweise funktionierende Bauteile benötigt wird,
eine andere Hardware außer der existierenden dedizierten
CAN-Schnittstelle benutzt. In ECU-Modulen, die eine proprietäre
Software verwenden, kann das Aufweisen einer Nicht-CAN-Testschnittstelle
die Sicherheit verbessern, indem ein nicht berechtigter Zugriff auf
Testfunktionen über eine Benutzer-Software verhindert wird.
In alternativen Ausführungsformen der vorliegenden Erfindung
können das Testen bzw. Prüfen und die Diagnose
auch unter Verwendung der CAN-Schnittstelle durchgeführt
werden.
-
Der
Mikrocontroller 310 weist eine CAN-Schnittstellenschaltung 314 auf,
die verwendet wird, um mit dem Mikrocontroller 310 während
des normalen Betriebs zu kommunizieren, und er weist eine Single
Pin (Ein-Pin) DAP (SPD)-Schnittstelle 316 innerhalb des
Prüfgeräts (TCU) 321 auf, die verwendet
wird, um mit Testschaltungen während der Prüfoperation
zu kommunizieren. Sowohl die SPD-Schnittstelle 316 als
auch die CAN-Schnittstelle 314 sind mit dem Schnittstellenbus 338 gekoppelt. Ein
Mux 312 wählt entweder das Signal Dout von der SPD-Schnittstelle 316 oder
das Signal TxD von der CAN-Schnittstelle 314 aus, um ein
Ausgangssignal TX zu bilden. Das Eingangssignal Rx ist mit dem Signal
Din der SPD-Schnittstelle 316 und der CAN-Schnittstelle 314 gekoppelt.
Der CAN-Transceiver 308 führt eine Zwischenspeicherung
der Logikpegelsignale Rx und Tx durch und steuert den Schnittstellenbus 338 über
den Steckverbinder 306 an.
-
In
einer Ausführungsform der vorliegenden Erfindung ist die
CAN-Schnittstelle 314 durch zwei unidirektionale Pins RxD
und TxD repräsentiert. Diese Pins sind mit einem CAN-Transceiver 308 auf
der PCB gekoppelt, der die dominanten (,0') und rezessiven (,1')
TxD-Werte in entsprechende Pegel an dem Schnittstellenbus 338 umwandelt,
was unter Verwendung einer differentiellen 2-Draht-CAN-Busstruktur implementiert
wird. In Ausführungsformen der vorliegenden Erfindung ist
ein Signal dominant, wenn wenigstens eine CAN-Schnittstellenvorrichtung
an einem CAN-Bus einen dominanten Wert unabhängig davon
ansteuern kann, wie viele CAN-Schnittstellen einen rezessiven Wert
ausgeben. So ist zum Beispiel an einem Bus, der einen Pull-Down-Transistor
und eine Pull-Up-Widerstandslast zu VDD oder VDD aufweist, der Pull-Down-Wert
ein dominanter Pegel und der Pull-Up-Wert ist der rezessive Pegel.
Der CAN-Transceiver 308 wandelt die Spannungsdifferenz
der beiden CAN-Bus-Drähte in einen entsprechenden Logikpegel
bei RxD um. Die CAN-Schnittstelle 314 arbeitet vorzugsweise
bei einer maximalen Betriebsgeschwindigkeit von 1 Mbit/s in Peer-to-Peer-Umgebungen
und 512 kbit/s in regulären Umgebungen. Das CAN-Protokoll
besteht aus spezifischen Rahmen (Data Frames, Remote Frames und
Error Frames) mit einer maximalen Länge von bis zu 128
Bits, woraufhin die letzten 7 Bits als rezessive (,1') End-of-Frame-Bits
(Rahmenende-Bits) übertragen werden. Danach folgen wenigstens
drei rezessive Bits, bevor der nächste Rahmen starten kann.
In alternativen Ausführungsformen der vorliegenden Erfindung
können andere Betriebsgeschwindigkeiten und Schnittstellenbusprotokolle
verwendet werden.
-
Das
TCU 321 stellt eine Schnittstelle zu den Testfunktionen
des Mikrocontrollers 310 bereit, wie etwa zu einem Boundary
Scan (Grenzpfadabtastung) oder anderen internen Testmodi. In Ausführungsformen
der vorliegenden Erfindung weist das TCU 312 einen Test
Access Port (Testzugangsport) (TAP) 320 auf, der als ein
JTAG-TAP funktioniert, um Boundary-Scan-Fähigkeiten entsprechend
dem JTAG-Standard 1149.1 oder dem IEEE-Standard
1149.1 bereitzustellen. Der TAP 320 ist mit Teststeuerregistern 323 gekoppelt,
die eine Auswahl von spezifischen Testoperationen in einem Testmodus
erlauben. Die Kommunikation zu der Testschnittstelle wird über
den Debug Access Port (Debug-Zugangsport) (DAP) 318 und
eine Single Pin DAP-Schnittstelle 316 hergestellt. Die
SPD-Schnittstelle 316 weist einen Dateneingang Din, einen
Datenausgang Dout und ein Ausgangsfreigabesignal OutEn auf. Eine
eingebaute Quarzoszillatorschaltung (nicht gezeigt), die einen Quarz 324 verwendet,
taktet die SPD-Schnittstelle 316 bei einer Frequenz von
etwa 10 MHz. Alternativ dazu können auch andere Oszillatorfrequenzen
in Abhängigkeit von der Anwendung und ihren Spezifikationen
verwendet werden.
-
Eine
externe Debug-Hardware 304 ist mit dem Schnittstellenbus 338 gekoppelt
und weist eine Gerätezugangs-Hardware 336 auf,
die Eingangssignale DAP1 und Ausgangssignale DAP2 aufweist. Die Inverter 334 und 332 Puffern
diese Signale zu und von dem CAN-Schnittstellen-Transceiver 330.
Während der Testoperation erlaubt es eine SPD-Initialisierungslogik 322,
dass die SPD-Schnittstelle 316 auf die Busschnittstelle 338 über
den CAN-Schnittstellentreiber 308 zugreifen kann. Eine
herkömmliche DAP-Schnittstelle verwendet zwei Pins: einen Takt-Pin
und einen bidirektionalen Daten-Pin. Die CAN-Schnittstelle verwendet
andererseits zwei unidirektionale Pins: einen Sende-Pin und einen
Empfangs-Pin. Der DAP verwendet vorab definierte Telegramme mit
einem Start-Bit, einem Befehls- und Daten-Feld, um die Test-/Debug-basierte
Lese/Schreib-Operation in serielle Schieberegister zu veranlassen.
In Ausführungsformen der vorliegenden Erfindung sind diese
DAP-Telegramme im Vergleich zu den CAN-Rahmen einfacher und werden
von einer externen Debug-Hardware 304 initiiert.
-
Der
SPD-Block 316 wandelt die beiden DAP-Pins in ein bidirektionales
Datensignal mit einer impulsmodulierten Wellenform um, so dass Daten unter
Verwendung von unterschiedlichen Impulsbreiten übertragen
werden. 5 veranschaulicht ein Codierungsschema 500 gemäß einer
Ausführungsform basierend auf einem Eindraht-DAP-Protokoll. So
wird zum Beispiel ein ,0'-Wert 502 mit einer anderen Impulsbreite
als ein ,1'-Wert 504 übertragen. In einer Ausführungsform
der vorliegenden Erfindung wird eine ,0' unter Verwendung einer
Impulsbreite von 5 Zeitperiodeneinheiten übertragen, während eine
,1' unter Verwendung von 10 Zeitperiodeneinheiten übertragen
wird. Eine Impulsbreite von größer als 12 Zeitperioden
kennzeichnet einen Time-Out oder ein Ende einer Übertragung.
Auf der Empfangsseite wird eine logische ,1' erfasst, wenn eine
Impulsbreite von 7, 8, 9, 10 oder 11 Zeitperiodeneinheiten empfangen
wird, während eine logische ,0' erfasst wird, wenn eine
Impulsbreite von 1, 2, 3, 4, 5 oder 6 Zeitperiodeneinheiten empfangen
wird. Das in 5 veranschaulichte Beispiel
zeigt eine Überabtastrate von 5 mal der kleinsten übertragenen
und/oder empfangenen Zeitperiode. In anderen Ausführungsformen
der vorliegenden Erfindung können andere Überabtastraten
und Impulsbreiten verwendet werden, um übertragene Daten
zu bezeichnen. Da ein einziger Draht verwendet wird, um SPD-Daten
zu übertragen, weist der SPD 316 eine Taktquelle
auf, um die Eingangsdaten überabzutasten. Intern zählt der
SPD 316 die Anzahl an internen Impulsen zwischen zwei benachbarten
Signalflanken.
-
4 ist
ein Ablaufdiagramm 400, das einen Prozess gemäß einer
Ausführungsform veranschaulicht, durch den ein ECU gemäß einer
Ausführungsform von einem normalen Modus in einen Anwendungstestmodus übergeht.
Im Schritt 402 wird das ECU-System in einem normalen Betriebsmodus hochgefahren,
welcher typischerweise der Standardhochfahrmodus der Systeme ist.
Das System arbeitet normalerweise in dem normalen Betriebsmodus,
um eine Motorsteuerung, Schlupfregelung oder andere Aufgaben entsprechend
der Auslegung des speziellen Moduls des ECU bereitzustellen. Während
des normalen Modus ist das ECU-Modul so konfiguriert, dass es unter
Verwendung der CAN-Schnittstelle arbeitet, wie dies in Schritt 404 gezeigt
ist. In alternativen Ausführungsformen der vorliegenden
Erfindung kann das ECU so konfiguriert sein, dass es außer
einer CAN-Schnittstelle auch andere Schnittstellen verwendet, zum
Beispiel LIN oder FlexRay.
-
Während
des normalen Betriebsmodus ist das ECU so konfiguriert, dass es
ein DAP-Initialisierungs-Codewort an dem CAN-Bus im Schritt 406 erfasst.
Dieses DAP-Initialisierungs-Codewort ist vorzugsweise so konfiguriert,
dass es außerhalb des Satzes von erkennbaren CAN-Schnittstellen-Codewörtern
liegt, oder dass es alternativ dazu außerhalb des Satzes
von erkennbaren Codewörtern des speziellen Schnittstellenprotokolls
ist, das von dem ECU in einem normalen Betriebsmodus verwendet wird.
In einer bevorzugten Ausführungsform der vorliegenden Erfindung
ist das DAP-Initialisierungs-Codewort als 1024 ,0'-Werte definiert,
die über die CAN-Schnittstelle im SPD-Format übermittelt
werden, was als ein Flankenübergang alle 500 ns bis 700 ns
auftritt. Die exakte maximale Zeitspanne zwischen zwei benachbarten
Flanken, die von dem SPD immer noch als ein ,0'-Wert erkannt werden,
hängt von der Überabtastrate und von der SPD-internen
Betriebsfrequenz ab. Dieses spezielle Initialisierungs-Codewort
wird von der CAN-Schnittstelle nicht erkannt, da das CAN-Transaktionsprotokoll
einen normalen CAN-Austausch als bei zwischen etwa 512 kbit/s und etwa
1 Mbit/s stattfindend definiert, so dass ein erwarteter Flankenübergang
für eine CAN-Übertragung typischerweise keinen
Flankenübergang schneller als alle 1 μs bis 2 μs
erzeugt. Demzufolge wird während einer normalen CAN-Operation
die SPD-Schnittstelle 316 gemäß der Ausführungsform (3)
das DAP-Initialisierungs-Codewort nicht erkennen, da die längere
CAN-Flankenübergangszeit von der SPD-Schnittstelle 316 als
,1'-Werte oder als Time-Out-Werte interpretiert werden wird. In
alternativen Ausführungsformen der vorliegenden Erfindung können
auch andere DAP-Initialisierungs-Codewörter benutzt werden.
-
Da
die Übertragung des DAP-Initialisierungs-Codeworts das
CAN-Protokoll verletzt, wird ein aktiver CAN-Knoten (d. h., die
CAN-Schnittstelle 314 in 3) auf das
DAP-Initialisierungs-Codewort reagieren, indem es einen Error Frame
(Fehler-Rahmen) sendet, bis ein Überlauf in einem internen
Fehlerzähler auftritt, wodurch der CAN-Knoten automatisch
deaktiviert wird. In einigen Ausführungsformen der vorliegenden
Erfindung kann das Vorhandensein dieser Error Frames die SPD-Initialisierungssequenz stören
und tatsächlich ein Codewort erfordern, das mehr als die
1024 ,0'-Werte enthält, damit das Initialisierungscodewort
erkannt werden wird.
-
Nach
einem erfolgreichen Senden und Empfangen des DAP-Initialisierungs-Codeworts
wird die Steuerung des CAN-Sende-Pins (TX in 3) von der
CAN-Schnittstelle 314 (3) zu der SPD-Schnittstelle 316 (3)
transferiert, so dass der externe Bus 338 mit der SPD-
(oder DAP-)Schnittstelle arbeitet, wie dies im Schritt 408 gezeigt
ist. Wenn die Schnittstelle einmal umgeschaltet ist, besitzt der
externe Bus 338 (3) einen
direkten Zugriff auf die SPD-Schnittstelle 316, die DAP-Schnittstelle 318 und
den JTAG-TAP 320, und die zur Verfügung stehende
Tool/(Werkzeug)-Zugangsfunktionalität ist diejenige, die
normalerweise in einem normalen Betriebsmodus zur Verfügung
stehen würde. In alternativen Ausführungsformen
werden dedizierte DAP- und JTAG-Pins an dem Gerät 310 (3)
deaktiviert.
-
Wenn
die SPD-Verbindung für den Tool-Zugang eingerichtet ist,
dann sind Software-Debug-Operationen wie etwa das Lesen oder Schreiben eines
Speichers oder das Steuern des Prozessorkerns (Start, Stopp, Schritt,
Breakpoints, etc.) möglich. Mit der Tool-Zugangsfunktionalität
ist eine Analyse für den Fall möglich, dass ein
Versagen auf die analoge Schnittstelle 200 zurückzuführen
ist, aber nicht dem Mikrocontroller 202 zuzuschreiben ist.
-
Zum
Aktivieren des Anwendungstestmodus (ATM) wird im Schritt 410 ein
ATM-Initialisierungs-Codewort erfasst. Der ATM-Modus stellt eine ähnliche
Testfunktionalität wie die normale Mikrocontroller-Testfunktionalität
bereit, die oben beschrieben worden ist. In einer bevorzugten Ausführungsform wird
ein eindeutiges 16-Bit-Codewort in die SPD-Schnittstelle geschrieben.
Wenn das ATM-Initialisierungs-Codewort dann einmal erfasst ist,
wird das ECU-System in dem ATM-Modus im Schritt 412 neu
hochgefahren. In einer bevorzugten Ausführungsform werden
alle Register in dem Mikrocontroller, mit ein paar wenigen Ausnahmen,
während des erneuten Hochfahrens zurückgesetzt,
um die Sicherheit in dem Zustand 414 zu verbessern (d.
h., um zu verhindern, dass eine proprietäre Software während des
Testmodus zurückgelesen wird). In alternativen Ausführungsformen
können einige oder alle Register ihren vorhergehenden Zustand
beibehalten. In bevorzugten Ausführungsformen beeinflusst
das erneute Hochfahren des Systems in dem Zustand 412 zwar alle
Mikrocontrollerbauteile, aber es beeinflusst nicht JTAG-Domänen-Bauteile.
Wenn das System einmal im Testmodus hochgefahren ist, dann ist die
gleiche Testfunktionalität, die dem IC 310 in
einem herkömmlichen Testmodus zur Verfügung stehen
würde, über den Schnittstellenbus 338 zugänglich,
während der ATM-Modus herrscht. In einigen Ausführungsformen der
vorliegenden Erfindung kann mehr oder weniger Testfunktionalität über
den Schnittstellenbus 338 zugänglich sein, zum
Beispiel kann ein herkömmlicher Scanmodus oder andere Modi
in dem ATM-Modus nicht zur Verfügung stehen. In Ausführungsformen der
vorliegenden Erfindung sind Allzweck-E/A-Pins (GPIOs – general
purpose I/O pins) über eine manuelle Auswahl in einem ATM-Modus
auf einen Standardzustand eingeschränkt, zum Beispiel indem
Eingänge mit einem schwachen Pull-Up auf einen bekannten
Zustand aktiviert sind. Des Weiteren sind typischerweise analoge
Funktionen deaktiviert, während der ATM-Modus herrscht.
In alternativen Ausführungsformen der vorliegenden Erfindung
kann in Abhängigkeit von der Anwendung und ihren Spezifikationen
eine andere Mischung von Funktionen im ATM-Modus aktiviert oder
deaktiviert sein.
-
Nun
wird Bezug auf 6 genommen, in der ein Ablaufdiagramm
veranschaulicht ist, das einen Prozess des Testens eines ECU gemäß einer
Ausführungsform in Übereinstimmung mit einem Verfahren
gemäß einer Ausführungsform zeigt. In
einer Ausführungsform wird das ECU aus einem Auto (oder
einer anderen Vorrichtung) im Schritt 602 herausgenommen
bzw. davon abmontiert. Ein solches Herausnehmen bzw. Abmontieren
umfasst typischerweise das physische Entfernen des ECU von dem Rest
des Kraftfahrzeugsystems, aber in alternativen Ausführungsformen
kann es sein, dass ein solches Herausnehmen nicht notwendig ist,
wenn der CAN-Bus für Prüf- und Messgeräte
zugänglich ist. Im Schritt 604 wird das ECU an
einer Debug-Umgebung, wie etwa dem Prüfgerät 304,
das in 3 gezeigt ist, angebracht, und im Schritt 606 wird
das System im normalen Modus gestartet.
-
Im
Schritt 608 wird eine Impulsbreite für die Übertragung
auf dem CAN mit einer Impulsbreite = z initialisiert, und im Schritt 610 wird
ein Testmodus-Initialisierungs-Steuerwort auf dem CAN-Bus mit der Impulsbreite
= z übermittelt. In einer Ausführungsform wird
das z so initialisiert, dass es zwischen etwa 500 ns und etwa 700
ns liegt, und zwar in Abhängigkeit von der Frequenz der
Taktquelle 324 für den SPD 316 (3).
Eine Folge von wenigstens 1024 Flanken wird dann von dem Prüfgerät
zu dem ECU gesendet. Im Schritt 612 wird ein DAP-Telegramm
im DAP-Format auf dem CAN-Bus gesendet, und der CAN-Bus wird im
Schritt 614 auf eine Antwort gepollt bzw. abgefragt. Wenn
innerhalb von bis zu etwa 100 μs keine Antwort empfangen
wird, dann wird der Impulsbreitenwert z um 10% reduziert, und ein
anderes Testmodus-Initialisierungs-Steuerwort wird durch das Wiederholen
der Schritte 610, 612 und 614 übermittelt.
In alternativen Ausführungsformen können andere
zeitliche Begrenzungen implementiert werden. Wenn im Schritt 614 festgestellt
wird, dass eine Antwort empfangen worden ist, wird ein Codewort übermittelt,
um im Schritt 618 in den ATM-Modus einzutreten. Der Tester
wartet dann um zu sehen, ob eine korrekte zyklische Redundanzprüfung
(CRC – cyclic redundancy check) im Schritt 620 empfangen
wird. Die CRC wird von der Gerätezugangs-Hardware 336 (3)
vorzugsweise automatisch überprüft. Wenn die korrekte
CRC empfangen ist, dann werden die Prüf- bzw. Testoperationen
von dem Tester im Schritt 622 übermittelt, ansonsten
wird das Codewort zum Eintreten in den ATM-Modus im Schritt 618 erneut übermittelt.
-
Es
wird von den Fachleuten auf diesem Gebiet auch ohne Weiteres verstanden
werden, dass Materialien und Verfahren variiert werden können, solange
innerhalb des Schutzumfangs der vorliegenden Erfindung geblieben
wird. Es wird auch verstanden werden, dass die vorliegende Erfindung
viele anwendbare erfinderische Konzepte außer den spezifischen
Kontexten, die zur Veranschaulichung von Ausführungsformen
verwendet wurden, bereitstellt. Dem entsprechend ist es so gedacht,
dass die angehängten Ansprüche derartige Prozesse,
Maschinen, Herstellungsarten, Stoffverbindungen, Einrichtungen,
Verfahren oder Schritte in ihrem Schutzumfang einschließen
sollen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- - ISO 11898 [0050]
- - JTAG-Standard 1149.1 [0056]
- - IEEE-Standard 1149.1 [0056]