DE102020119543A1 - Intelligente netzvorrichtungen - Google Patents

Intelligente netzvorrichtungen Download PDF

Info

Publication number
DE102020119543A1
DE102020119543A1 DE102020119543.5A DE102020119543A DE102020119543A1 DE 102020119543 A1 DE102020119543 A1 DE 102020119543A1 DE 102020119543 A DE102020119543 A DE 102020119543A DE 102020119543 A1 DE102020119543 A1 DE 102020119543A1
Authority
DE
Germany
Prior art keywords
lin
computer
communication
communication bus
custom
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.)
Pending
Application number
DE102020119543.5A
Other languages
English (en)
Inventor
Upendra J. Patel
Omar Makke
James Martin Lawlis
Jeffrey Scott Lossing
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 Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
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 Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102020119543A1 publication Critical patent/DE102020119543A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40234Local Interconnect Network LIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Abstract

Diese Offenbarung stellt intelligente Netzvorrichtungen bereit. Eine erste Vorrichtung ist zur Kommunikation auf einem Kommunikationsbus zu Folgendem programmiert: Identifizieren einer Konfiguration auf einem Kommunikationsbus, der eines von (1) einer zweiten LIN-Vorrichtung und keiner zweiten benutzerdefinierten Vorrichtung, (2) der zweiten benutzerdefinierten Vorrichtung und keiner LIN-Vorrichtung und (3) sowohl der zweiten LIN-Vorrichtung als auch der zweiten benutzerdefinierten Vorrichtung umfasst, und Auswählen eines zur Kommunikation mit der identifizierten Buskonfiguration vorgegebenen Betriebsmodus. Eine dritte Vorrichtung zur Kommunikation auf dem Kommunikationsbus ist programmiert zum Identifizieren, dass eine vierte Vorrichtung auf dem Kommunikationsbus eines von (1) einer Kalibrierungsvorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der dritten Vorrichtung zu steuern, (2) einer LIN-Master-Vorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der dritten Vorrichtung zu steuern, und (3) einer benutzerdefinierten Master-Vorrichtung, die dazu programmiert ist, nur Nachrichten von der dritten Vorrichtung zu empfangen, ist; und Auswählen eines zur Kommunikation mit der anderen Vorrichtung vorgegebenen Betriebsmodus.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen Netzkommunikationssysteme.
  • ALLGEMEINER STAND DER TECHNIK
  • Netzvorrichtungen sind dazu programmiert, z. B. auf Kommunikationsbussen gemäß einem Kommunikationsprotokoll zu kommunizieren. Es sind mehrere Kommunikationsprotokolle entwickelt worden und derzeit in Verwendung. Zudem können bisweilen neue Kommunikationsprotokolle eingeführt werden.
  • KURZDARSTELLUNG
  • Es ist eine erste Vorrichtung offenbart, die einen Computer umfasst, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor zu Folgendem programmiert ist: Identifizieren einer Konfiguration auf einem Kommunikationsbus, der eines und nur eines von (1) einer ersten Buskonfiguration, die eine zweite LIN-Vorrichtung und keine zweite benutzerdefinierte Vorrichtung beinhaltet, (2) einer zweiten Buskonfiguration, die die zweite benutzerdefinierte Vorrichtung und keine LIN-Vorrichtung beinhaltet, und (3) einer dritten Buskonfiguration, die sowohl die zweite LIN-Vorrichtung als auch die zweite benutzerdefinierte Vorrichtung beinhaltet, umfasst, wobei die zweite LIN-Vorrichtung eine Zweiwegekommunikationsvorrichtung ist, die dazu programmiert ist, LIN-Nachrichten von der ersten Vorrichtung zu empfangen und darauf zu antworten, und die zweite benutzerdefinierte Vorrichtung eine Einwegkommunikationsvorrichtung ist, die dazu programmiert ist, nur Nachrichten an die erste Vorrichtung zu übertragen. Der Prozessor ist ferner programmiert zum Auswählen eines zur Kommunikation mit der identifizierten Buskonfiguration vorgegebenen Betriebsmodus; und Steuern von Sende- und Empfangszeiten der ersten Vorrichtung auf Grundlage des ausgewählten Betriebsmodus.
  • In der ersten Vorrichtung kann der Prozessor zum Identifizieren der Kommunikationsbuskonfiguration ferner zu Folgendem programmiert sein: Detektieren einer Einschaltung; und Betreiben in einem Empfangsmodus, um eine benutzerdefinierte Nachricht von der zweiten benutzerdefinierten Vorrichtung während eines ersten vorbestimmten Zeitraums nach dem Detektieren der Einschaltung zu empfangen.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: Festlegen eines Betriebs der ersten Vorrichtung, um mit zweiten LIN-Vorrichtungen zu kommunizieren, die dazu programmiert sind, LIN-Nachrichten von der ersten Vorrichtung zu empfangen und darauf zu antworten, auf Grundlage davon, dass die benutzerdefinierte Nachricht nicht innerhalb des ersten vorbestimmten Zeitraums nach dem Detektieren der Einschaltung von der zweiten benutzerdefinierten Vorrichtung empfangen wird.
  • In der ersten Vorrichtung kann der Prozessor zum Identifizieren der Kommunikationsbuskonfiguration ferner zu Folgendem programmiert sein: Festlegen nach dem Empfangen der benutzerdefinierten Nachricht von der zweiten benutzerdefinierten Vorrichtung innerhalb des ersten vorbestimmten Zeitraums, dass die erste Vorrichtung mit einer möglichen zweiten LIN-Vorrichtung auf dem Kommunikationsbus kommuniziert. Der Prozessor kann ferner programmiert sein zum Übertragen einer LIN-Steuernachricht an die mögliche zweite LIN-Vorrichtung; und Lauschen nach einer Antwort auf die LIN-Steuernachricht von der möglichen zweiten LIN-Vorrichtung auf dem Kommunikationsbus während einer Antwortzeit.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: in einem Fall, in dem die Antwort auf die LIN-Steuernachricht nicht innerhalb der Antwortzeit empfangen wird, Festlegen eines Betriebs der ersten Vorrichtung, um Nachrichten von der zweiten benutzerdefinierten Vorrichtung zu empfangen.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: Bestimmen der zweiten LIN-Vorrichtung auf dem Kommunikationsbus auf Grundlage davon, dass die Antwort auf die LIN-Steuernachricht empfangen wird; und Festlegen eines Betriebs der ersten Vorrichtung, um sowohl mit der zweiten LIN-Vorrichtung als auch der zweiten benutzerdefinierten Vorrichtung zu kommunizieren.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: Detektieren einer Datenkollision auf dem Kommunikationsbus; Aktualisieren des ersten vorbestimmten Zeitraums auf Grundlage davon, dass die Datenkollision detektiert wird; und Speichern des aktualisierten ersten vorbestimmten Zeitraums.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: Betreiben in dem Empfangsmodus, um die benutzerdefinierte Nachricht von der zweiten benutzerdefinierten Vorrichtung während des aktualisierten ersten vorbestimmten Zeitraums zu empfangen; Festlegen nach dem Empfangen der benutzerdefinierten Nachricht von der zweiten benutzerdefinierten Vorrichtung innerhalb des aktualisierten ersten vorbestimmten Zeitraums, dass die erste Vorrichtung mit einer möglichen zweiten LIN-Vorrichtung auf dem Kommunikationsbus kommuniziert; Übertragen einer LIN-Steuernachricht an die mögliche zweite LIN-Vorrichtung; und Lauschen nach einer Antwort auf die Steuernachricht von der möglichen zweiten LIN-Vorrichtung auf dem Kommunikationsbus während einer Antwortzeit.
  • Ferner ist eine erste Vorrichtung offenbart, die einen Computer umfasst, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, um den Prozessor derart zu programmieren, dass der Prozessor zu Folgendem programmiert ist: Identifizieren, dass eine zweite Vorrichtung auf einem Kommunikationsbus eines und nur eines von (1) einer Kalibrierungsvorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der ersten Vorrichtung zu steuern, (2) einer LIN-Master-Vorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der ersten Vorrichtung zu steuern, und (3) einer benutzerdefinierten Master-Vorrichtung, die dazu programmiert ist, nur Nachrichten von der ersten Vorrichtung zu empfangen, ist; und Auswählen eines zur Kommunikation mit der identifizierten einen der Kalibrierungsvorrichtung, der LIN-Master-Vorrichtung und der benutzerdefinierten Master-Vorrichtung vorgegebenen Betriebsmodus.
  • In der ersten Vorrichtung kann der Prozessor zum Identifizieren der zweiten Vorrichtung auf dem Kommunikationsbus ferner zu Folgendem programmiert sein: Detektieren einer Einschaltung; und Festlegen einer Kommunikationsgeschwindigkeit zum Empfangen von entweder (1) einer Kalibrierungsnachricht von der Kalibrierungsvorrichtung oder (2) einer LIN-Nachricht von der LIN-Master-Vorrichtung auf dem Kommunikationsbus.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: Auswählen des zur Kommunikation mit der Kalibrierungsvorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die Kalibrierungsnachricht innerhalb eines ersten vorbestimmten Zeitraums empfangen wird.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: Auswählen des zur Kommunikation mit der LIN-Master-Vorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die LIN-Nachricht innerhalb eines ersten vorbestimmten Zeitraums empfangen wird.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: Initiieren eines zweiten Zeitgebers auf Grundlage davon, dass weder die Kalibrierungsnachricht noch die LIN-Nachricht innerhalb eines ersten vorbestimmten Zeitraums empfangen wird.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: Auswählen des zur Kommunikation mit der LIN-Master-Vorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die LIN-Nachricht innerhalb eines zweiten vorbestimmten Zeitraums empfangen wird.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: Auswählen des zur Kommunikation mit der benutzerdefinierten Master-Vorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die LIN-Nachricht nicht innerhalb eines zweiten vorbestimmten Zeitraums empfangen wird.
  • In der ersten Vorrichtung kann der Prozessor ferner zu Folgendem programmiert sein: Detektieren einer Kollision auf dem Kommunikationsbus; und Aktualisieren von mindestens einem des ersten vorbestimmten Zeitraums und des zweiten vorbestimmten Zeitraums.
  • Ferner ist ein System offenbart, das Folgendes umfasst: einen Kommunikationsbus und eine erste Vorrichtung, die einen ersten Computer beinhaltet, der einen ersten Prozessor und einen ersten Speicher beinhaltet. Der erste Speicher beinhaltet erste Anweisungen, sodass der erste Prozessor zu Folgendem programmiert ist: Identifizieren einer Konfiguration auf dem Kommunikationsbus, der eines und nur eines von (1) einer ersten Buskonfiguration, die eine zweite LIN-Vorrichtung und keine zweite benutzerdefinierte Vorrichtung beinhaltet, (2) einer zweiten Buskonfiguration, die die zweite benutzerdefinierte Vorrichtung und nicht die zweite LIN-Vorrichtung beinhaltet, und (3) einer dritten Buskonfiguration, die sowohl die zweite LIN-Vorrichtung als auch die zweite benutzerdefinierte Vorrichtung beinhaltet, umfasst, wobei die zweite LIN-Vorrichtung eine Zweiwegekommunikationsvorrichtung ist, die dazu programmiert ist, LIN-Nachrichten von der ersten Vorrichtung zu empfangen und darauf zu antworten, und die zweite benutzerdefinierte Vorrichtung eine Einwegkommunikationsvorrichtung ist, die dazu programmiert ist, nur Nachrichten an die erste Vorrichtung zu übertragen; Auswählen eines zur Kommunikation mit der identifizierten Buskonfiguration vorgegebenen Betriebsmodus; und Steuern von Sende- und Empfangszeiten der ersten Vorrichtung auf Grundlage des ausgewählten Betriebsmodus. Das System umfasst ferner eine dritte Vorrichtung, die einen zweiten Computer beinhaltet, der einen zweiten Prozessor und einen zweiten Speicher beinhaltet. Der zweite Speicher beinhaltet zweite Anweisungen, um den zweiten Prozessor derart zu programmieren, dass der zweite Prozessor zu Folgendem programmiert ist: Identifizieren, dass eine vierte Vorrichtung auf dem Kommunikationsbus eines und nur eines von (1) einer Kalibrierungsvorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der dritten Vorrichtung zu steuern, (2) einer LIN-Master-Vorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der dritten Vorrichtung zu steuern, und (3) einer benutzerdefinierten Master-Vorrichtung, die dazu programmiert ist, nur Nachrichten von der dritten Vorrichtung zu empfangen, ist; und Auswählen eines zur Kommunikation mit der identifizierten einen der Kalibrierungsvorrichtung, der LIN-Master-Vorrichtung und der benutzerdefinierten Master-Vorrichtung vorgegebenen Betriebsmodus, wobei die vierte Vorrichtung und die erste Vorrichtung eine gleiche Vorrichtung sein können.
  • In dem System kann der erste Prozessor zum Identifizieren einer Art der zweiten Vorrichtung auf dem Kommunikationsbus ferner zu Folgendem programmiert sein: Detektieren einer Einschaltung; Betreiben in einem Empfangsmodus, um eine benutzerdefinierte Nachricht von der zweiten Vorrichtung während eines ersten vorbestimmten Zeitraums nach dem Detektieren der Einschaltung zu empfangen; Bestimmen nach dem ersten vorbestimmten Zeitraum, dass keine benutzerdefinierte Nachricht empfangen worden ist; Festlegen eines Betriebs der ersten Vorrichtung, um mit zweiten LIN-Vorrichtungen zu kommunizieren, die dazu programmiert sind, eine LIN-Nachricht von der ersten Vorrichtung zu empfangen und darauf zu antworten, auf Grundlage davon, dass die benutzerdefinierte Nachricht nicht innerhalb des ersten vorbestimmten Zeitraums nach dem Detektieren der Einschaltung von der zweiten benutzerdefinierten Vorrichtung empfangen wird; und Übertragen der LIN-Nachricht auf dem Kommunikationsbus.
  • In dem System kann der zweite Prozessor zum Identifizieren einer Art der ersten Vorrichtung auf dem Kommunikationsbus ferner zu Folgendem programmiert sein: Detektieren der Einschaltung; Empfangen der LIN-Nachricht von der LIN-Master-Vorrichtung innerhalb eines zweiten vorbestimmten Zeitraums nach der Einschaltung; und Bestimmen, dass die erste Vorrichtung eine LIN-Master-Vorrichtung ist, auf Grundlage davon, dass die LIN-Nachricht innerhalb des zweiten vorbestimmten Zeitraums empfangen wird.
  • In dem System kann der zweite Prozessor ferner zu Folgendem programmiert sein: Senden einer Antwort an die erste Vorrichtung nach dem Empfangen der LIN-Nachricht; und kann der erste Prozessor ferner zu Folgendem programmiert sein: Empfangen der Antwort innerhalb einer vorbestimmten Antwortzeit; und Bestimmen auf Grundlage der Antwort, dass die zweite Vorrichtung eine LIN-Slave-Vorrichtung ist.
  • Figurenliste
    • 1 ist eine Darstellung eines beispielhaften Bussystems.
    • 2A und 2B sind ein Ablaufdiagramm eines beispielhaften Prozesses für einen Master zum Auswählen eines Betriebsmodus.
    • 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum LIN-Betrieb eines Masters.
    • 4 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Hybridbetrieb eines Masters.
    • 5 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum benutzerdefinierten Betrieb eines Masters.
    • 6 ist eine Darstellung eines beispielhaften Bussystems.
    • 7A und 7B sind ein Ablaufdiagramm eines beispielhaften Prozesses für einen Slave zum Auswählen eines Betriebsmodus.
  • DETAILLIERTE BESCHREIBUNG
  • In Automobilsystemen und anderen vernetzten Systemen können einige Netzvorrichtungen gemäß einem Standard für ein Local Interconnect Network (LIN), wie etwa LIN 2.1, kommunizieren, während andere Vorrichtungen Kommunikation auf Grundlage eines Universal Asynchronous Receiver/Transmitter (UART) nutzen können. Typischerweise unterstützt ein Kommunikationsbus innerhalb des Systems nur ein Kommunikationsprotokoll. Das heißt, das System beinhaltet LIN-Kommunikationsbusse zum Koppeln von LIN-Netzvorrichtungen und UART-basierte Kommunikationsbusse zum Koppeln von UART-Netzvorrichtungen.
  • LIN-Kommunikationsvorrichtungen sind Zweiwegekommunikationsvorrichtungen, wobei Kommunikation durch eine erste Vorrichtung initiiert wird, die als Master-Vorrichtung bezeichnet wird, und durch eine zweite Vorrichtung beantwortet wird, die als Slave-Vorrichtung bezeichnet wird. Bei LIN-Kommunikation kann die erste Vorrichtung (Master-Vorrichtung) einen Zeitplan, der als LIN-Zeitplan bezeichnet wird, zum Kommunizieren mit einer oder mehreren zweiten Vorrichtungen (Slave-Vorrichtungen) auf einem Kommunikationsbus führen. In diesem Kontext bedeutet „auf einem Kommunikationsbus“ kommunikativ an den Kommunikationsbus gekoppelt.
  • UART-basierte Kommunikationsvorrichtungen, die in dieser Schrift manchmal als benutzerdefinierte Kommunikationsvorrichtungen bezeichnet werden, sind Einwegkommunikationsvorrichtungen, bei denen die erste Vorrichtung (die Master-Vorrichtung) bisweilen Nachrichten von der zweiten Vorrichtung (der Slave-Vorrichtung) empfängt. Die benutzerdefinierte Slave-Vorrichtung ist typischerweise dazu programmiert, Nachrichten in regelmäßigen Zeitintervallen zu übertragen, zum Beispiel alle 100 oder 200 Millisekunden. Die erste Vorrichtung arbeitet kontinuierlich in einem „Empfangsmodus“ und empfängt die Nachrichten, wenn sie ankommen. Um Datenkollisionen zu vermeiden, wird typischerweise nur eine einzige benutzerdefinierte Slave-Vorrichtung auf einem Kommunikationsbus eingesetzt. Als ein Beispiel wird diese Art von Kommunikation üblicherweise verwendet, um Daten von Sensoren zu sammeln. Die Sensoren messen und/oder sammeln Daten und übertragen die gemessenen oder gesammelten Sensordaten in regelmäßigen Intervallen über eine benutzerdefinierte Slave-Vorrichtung an eine Master-Vorrichtung.
  • Intelligente Vorrichtungen, die dazu programmiert sind, eine Kommunikationsbuskonfiguration zu identifizieren und sich an andere Vorrichtungen auf einem Kommunikationsbus anzupassen, können sowohl LIN- als auch benutzerdefinierte (UART-basierte) Kommunikation auf einem einzigen Kommunikationsbus unterstützen. Bei der Kommunikationsbuskonfiguration handelt es sich um eine Anzahl und Art von Vorrichtungen auf dem Kommunikationsbus. Die intelligenten Vorrichtungen erkennen Kommunikationsprotokolle, die durch andere Einzelprotokoll- (LIN- oder benutzerdefinierte) Vorrichtungen auf dem Kommunikationsbus verwendet werden. Auf Grundlage der auf dem Bus identifizierten Arten von Einzelprotokollvorrichtungen wählen die intelligenten Vorrichtungen einen Betriebsmodus aus, der zur Kommunikation mit LIN-Vorrichtungen (LIN-Modus), mit benutzerdefinierten Vorrichtungen (benutzerdefinierter Modus) oder sowohl mit LIN- als auch benutzerdefinierten Vorrichtungen (Hybridmodus) vorgegeben ist. „Einzelprotokollvorrichtungen“ im in dieser Schrift verwendeten Sinne bezeichnet Netzvorrichtungen, die nur eine einzige Art von Datenkommunikation auf dem Kommunikationsbus unterstützen. Zum Beispiel kann eine Einzelprotokollvorrichtung nur LIN-basierte Kommunikation oder benutzerdefinierte Kommunikation unterstützen.
  • Zusätzlich können einige intelligente Vorrichtungen (intelligente Slave-Vorrichtungen) dazu programmiert sein, eine Kalibrierungsvorrichtung zu identifizieren, die kommunikativ an den Kommunikationsbus gekoppelt ist, um die Kalibrierung und das Testen des Systems zu unterstützen. Die Kalibrierungsvorrichtung kann gemäß einem LIN-Protokoll, benutzerdefinierten Protokoll oder kalibrierungsspezifischen Protokoll kommunizieren. Die Kalibrierungsvorrichtung ist typischerweise während des Herstellens oder Testens des Systems an den Kommunikationsbus gekoppelt, um einen Betrieb einer oder mehrerer Slave-Vorrichtungen, die mit dem Kommunikationsbus verbunden sind, zu kalibrieren oder zu testen. Während der Zeit, in der sich die Kalibrierungsvorrichtung auf dem Kommunikationsbus befindet, werden Master-Vorrichtungen von dem Kommunikationsbus getrennt oder anderweitig deaktiviert, sodass sie die Kalibrierungsvorrichtung nicht stören. Nach Abschließen der Kalibrierung oder des Testens wird die Kalibrierungsvorrichtung von dem Kommunikationsbus getrennt und die können wieder verbunden oder wieder aktiviert werden. Einige intelligente Vorrichtungen (intelligente Slave-Vorrichtungen) können zusätzlich zum Erkennen von LIN- und benutzerdefiniert basierter Kommunikation auf dem Kommunikationsbus auch einen Kalibrierungsbetriebsmodus auswählen, der zur Kalibrierungskommunikation mit einer Kalibrierungsvorrichtung vorgegeben ist.
  • Eine Master- (Netz-) Vorrichtung ist eine Eingabe-/Ausgabe-(E/A-)Vorrichtung, die den Kommunikationsfluss auf dem Kommunikationsbus steuert. Das Steuern des Kommunikationsflusses auf dem Kommunikationsbus beinhaltet das Steuern, wann der Kommunikationsbus zum Übertragen und Empfangen von Nachrichten durch die Master-Vorrichtung und die Slave-Vorrichtungen verwendet werden kann. Typischerweise befindet sich nur eine Master-Vorrichtung auf dem Kommunikationsbus. In einem Fall, in dem es nur eine Master-Vorrichtung und eine benutzerdefinierte Slave-Vorrichtung gibt (Slave-Vorrichtung vom Nur-Ausgabe-Typ), reduziert sich die Rolle des Masters darauf, dass nur Kommunikation von der benutzerdefinierten Slave-Vorrichtung empfangen wird, da Kommunikation von der benutzerdefinierten Slave-Vorrichtung selbsttätig initiiert wird.
  • Eine Slave-Vorrichtung kann eine E/A-Vorrichtung oder einfach eine Ausgabevorrichtung sein. Es kann eine oder mehrere Slave-Vorrichtungen auf dem Kommunikationsbus geben. LIN-Slave-Vorrichtungen sind Zweiwegekommunikationsvorrichtungen. Die LIN-Slave-Vorrichtungen empfangen Befehle von einer Master-Vorrichtung und antworten auf die Befehle. LIN-Slave-Vorrichtungen ist es nur gestattet, Nachrichten als Reaktion auf einen Befehl von der Master-Vorrichtung auf dem Kommunikationsbus zu übertragen.
  • Benutzerdefinierte Slave-Vorrichtungen übertragen Daten auf dem Kommunikationsbus auf Grundlage eines Zeitplans, der durch die benutzerdefinierte Slave-Vorrichtung geführt wird.
  • Master- oder Slave-Vorrichtungen, die nur gemäß einem Protokoll (LIN oder benutzerdefiniert) arbeiten, können in dieser Schrift als Einzelprotokollvorrichtungen bezeichnet werden.
  • Arten von intelligenten Netzvorrichtungen beinhalten intelligente Master-Vorrichtungen und intelligente Slave-Vorrichtungen. Intelligente Master-Vorrichtungen steuern den Kommunikationsfluss auf dem Kommunikationsbus und können zusätzlich Arten von Slave-Vorrichtungen (LIN oder benutzerdefiniert) identifizieren und Kommunikationsvorgänge einstellen, um eine erkannte Buskonfiguration zu berücksichtigen. Bei einer Buskonfiguration handelt es sich um eine Anzahl und Art von Netzvorrichtungen (Einzelprotokoll- (LIN- oder benutzerdefinierter) Master, intelligenter Master, Einzelprotokoll- (LIN- oder benutzerdefinierter) Slave und/oder intelligenter Slave) auf dem Kommunikationsbus. Intelligente Slave-Vorrichtungen detektieren das Vorhandensein einer Master-Vorrichtung (LIN oder benutzerdefiniert) oder einer Kalibrierungsvorrichtung auf dem Kommunikationsbus und stellen Kommunikationsvorgänge ein, um die Buskonfiguration zu berücksichtigen.
  • 1 veranschaulicht ein Fahrzeug 50, das ein beispielhaftes Kommunikationssystem 100 beinhaltet. Das Kommunikationssystem 100 kann Datenkommunikation zwischen einer oder mehreren Komponenten des Fahrzeugs 50 bereitstellen.
  • Das Kommunikationssystem 100 beinhaltet einen Kommunikationsbus 105, eine intelligente Master-Vorrichtung 110, null oder mehr intelligente Slave-Vorrichtungen 120 und null oder mehr Einzelprotokoll- (LIN-, benutzerdefinierte) Slave-Vorrichtungen 130. Die intelligente Master-Vorrichtung 110, die intelligenten Slave-Vorrichtungen 120 und die Einzelprotokoll-Slave-Vorrichtungen 130 sind kommunikativ an den Kommunikationsbus 105 gekoppelt und können gemeinsam als die Netzvorrichtungen 110, 120, 130 bezeichnet werden.
  • Der Kommunikationsbus 105 ist ein Mechanismus für drahtgebundene oder drahtlose Kommunikation zwischen den Netzvorrichtungen 110, 120, 130 und beinhaltet typischerweise einen Satz von einem oder mehreren Drähten, die die Netzvorrichtungen 110, 120, 130 physisch verbinden.
  • In einem Beispiel stellt das Kommunikationssystem 100 Kommunikation zwischen einem Computer 150, einem oder mehreren Aktoren 154 und einem oder mehreren Sensoren 156 in dem Fahrzeug 50 bereit. Der Computer 150 kann über ein Netz 152 kommunikativ an die intelligente Master-Vorrichtung 110 gekoppelt sein. In einem typischen Beispiel kann der Computer 150 über den Kommunikationsbus 105 über die intelligente Master-Vorrichtung 110 Nachrichten an intelligente Slave-Vorrichtungen 120 und/oder Einzelprotokoll-Slave-Vorrichtungen 130 übertragen und/oder von diesen empfangen. Nachrichten von dem Computer 150 können Befehle zum Steuern von Aktoren 154 beinhalten. Nachrichten, die durch den Computer 150 empfangen werden, können Daten von Sensoren 156 beinhalten.
  • Die intelligente Master-Vorrichtung 110 ist eine Hardwarekomponente, die einen Computer 112 und einen seriellen Anschluss beinhaltet. Der Computer 112 beinhaltet einen oder mehrere Prozessoren und Speicher, der Anweisungen zum Programmieren der Prozessoren beinhaltet. Der Computer 112 ist dazu programmiert, den Kommunikationsfluss auf dem Kommunikationsbus 105 zu steuern. Der serielle Anschluss ist an den Kommunikationsbus 105 gekoppelt, um Nachrichten zu senden und zu empfangen.
  • Der Computer 112 in der intelligenten Master-Vorrichtung 110 ist der Computer 112 zusätzlich dazu programmiert, Arten von Einzelprotokoll-Slave-Vorrichtungen 130 (LIN oder benutzerdefiniert) auf dem Kommunikationsbus 105 zu identifizieren und Kommunikationsvorgänge einzustellen, um die Buskonfiguration zu berücksichtigen.
  • Die intelligente Slave-Vorrichtung 120 ist eine Hardwarekomponente, die einen Computer 122 und einen seriellen Anschluss beinhaltet. Der Computer 122 beinhaltet einen oder mehrere Prozessoren und Speicher, der Anweisungen zum Programmieren der Prozessoren beinhaltet. Der Computer 122 ist zur Kommunikation auf dem Kommunikationsbus 105 programmiert. Wie nachstehend beschrieben, ist der Computer 122 dazu programmiert, zu bestimmen, ob eine Kalibrierungsvorrichtung oder eine Master-Vorrichtung (die eine intelligente Master-Vorrichtung 110, eine LIN-Master-Vorrichtung oder eine benutzerdefinierte Master-Vorrichtung sein kann) den Kommunikationsbus 105 steuert. In einem Fall, dass der Kommunikationsbus 105 durch eine Kalibrierungsvorrichtung gesteuert wird, ist der Computer 122 dazu programmiert, mit einem Kalibrierungsprotokoll zu kommunizieren.
  • In dem Fall, dass der Kommunikationsbus durch eine Master-Vorrichtung gesteuert wird, ist der Computer 122 ferner dazu programmiert, die Art der Master-Vorrichtung (LIN oder benutzerdefiniert) auf dem Kommunikationsbus 105 zu identifizieren und Kommunikationsvorgänge einzustellen, um die Art der Master-Vorrichtung zu berücksichtigen. In diesem Fall geht der Computer 122 zunächst davon aus, dass die Master-Vorrichtung 120 ein Master der LIN-Art ist, und wartet auf eine LIN-Nachricht von der Master-Vorrichtung 110. In einem Fall, in dem die LIN-Nachricht empfangen wird, kommuniziert der Computer 122 gemäß dem LIN-Protokoll. Falls der Computer 122 der intelligenten Slave-Vorrichtung 120 nach einer Zeitverzögerung keine LIN-Nachricht von der Master-Vorrichtung 110 empfangen hat, geht der Computer 122 davon aus, dass die Master-Vorrichtung 110 ein Master der benutzerdefinierten Art ist, und kommuniziert durch ein benutzerdefiniertes Protokoll. Der serielle Anschluss der intelligenten Slave-Vorrichtung 120 kann an den Kommunikationsbus 105 gekoppelt sein, und um Nachrichten zu senden und zu empfangen. Eine oder mehrere intelligente Slave-Vorrichtungen 120 können auf dem Kommunikationsbus 105 enthalten sein.
  • Die Einzelprotokoll-Slave-Vorrichtung 130 ist eine Hardwarekomponente, die einen Computer 132 beinhaltet. Der Computer 132 beinhaltet einen oder mehrere Prozessoren und Speicher, der Anweisungen zum Programmieren der Prozessoren beinhaltet. Der Computer 132 ist zur Kommunikation auf dem Kommunikationsbus 105 programmiert. In dem Fall, dass eine Einzelprotokoll-Slave-Vorrichtung 130 eine LIN-Slave-Vorrichtung 130 ist, ist der Computer 132 dazu programmiert, LIN-Befehle von der intelligenten Master-Vorrichtung 110 über den Kommunikationsbus 105 zu empfangen und auf die LIN-Befehle zu antworten. In dem Fall, dass die Einzelprotokoll-Slave-Vorrichtung 130 eine benutzerdefinierte Slave-Vorrichtung 130 ist, überträgt die benutzerdefinierte Slave-Vorrichtung 130 nur benutzerdefinierte Nachrichten auf dem Kommunikationsbus 105. Der Computer 132 ist typischerweise dazu programmiert, einem vorbestimmten Zeitplan zum Übertragen der benutzerdefinierten Nachrichten zu folgen. Der serielle Anschluss ist an den Kommunikationsbus 105 gekoppelt. Im Fall einer benutzerdefinierten Slave-Vorrichtung 130 kann der serielle Anschluss Nachrichten an den Kommunikationsbus 105 senden. Im Fall einer LIN-Slave-Vorrichtung 130 kann der serielle Anschluss Nachrichten an den Kommunikationsbus 105 senden und von diesem empfangen.
  • Aufgrund möglicher Datenkollisionen auf dem Kommunikationsbus 105 ist typischerweise nur eine benutzerdefinierte Slave-Vorrichtung 130 an den Kommunikationsbus 105 gekoppelt. „Datenkollisionen“ bezieht sich im in dieser Schrift verwendeten Sinne darauf, dass zwei oder mehr Netzvorrichtungen gleichzeitig Nachrichten auf einem Kommunikationsbus senden (ausgeben), sodass sie sich gegenseitig stören. Datenkollisionen auf dem Datenbus führen zu Bits (hohe oder niedrige Zustände) auf dem Bus, die zu lang oder kurz sind, Nachrichten mit zu vielen Bits, Nachrichten mit zu wenigen Bits und/oder Nachrichten, bei denen die Prüfsumme oder andere auf dem Bus durchgeführte Nachrichtenqualitätsprüfungen, um die Nachrichtenintegrität zu überwachen, fehlschlagen.
  • Die intelligenten Slave-Vorrichtungen 120 und die Einzelprotokoll-Slave-Vorrichtungen 130 sind typischerweise kommunikativ an jeweilige elektronische Komponenten wie etwa Aktoren 154 oder Sensoren 156 gekoppelt und können in diesen enthalten sein. Zum Beispiel kann eine intelligente Slave-Vorrichtung 120 oder eine LIN-Slave-Vorrichtung 130 in einem Klimasteuersystem des Fahrzeugs 50 enthalten sein und einen Aktor 154 steuern, der einen Elektromotor antreibt, um eine Klappe oder ein Ventil auf Grundlage von Anweisungen einzustellen, die von der intelligenten Master-Vorrichtung 110 empfangen werden. Als ein anderes Beispiel kann eine benutzerdefinierte Slave-Vorrichtung 130 kommunikativ an einen Sensor 156 in einem Fahrzeug 50 gekoppelt sein und der intelligenten Master-Vorrichtung 110 Sensordaten bereitstellen.
  • Der Computer 150 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Formen von computerlesbaren Medien und speichert Anweisungen, die durch den Computer 150 zum Durchführen verschiedener Vorgänge, wie etwa des Steuerns von Aktoren 154 und Empfangens von Daten von Sensoren 156, ausführbar sind. Der Computer 150 ist über ein Kommunikationsnetz 152 kommunikativ an die intelligente Master-Vorrichtung 110 gekoppelt.
  • Bei dem Kommunikationsnetz 152 handelt es sich um einen oder mehrere Mechanismen für drahtgebundene oder drahtlose Kommunikation zwischen dem Computer 150 und Teilsystemen des Fahrzeugs 50. Das Netz 152 kann zum Beispiel einen oder mehrere Kommunikationsbusse und ein oder mehrere Kommunikationsnetze beinhalten. Nicht einschränkende Beispiele für Fahrzeugkommunikationsbusse beinhalten Controller-Area-Network-(CAN-)Busse, Local-Interconnect-Network-(LIN-)Busse und Ethernet-Netze. Nicht einschränkende Beispiele für drahtlose Kommunikationsnetze beinhalten Bluetooth, Bluetooth Low Energy (BLE) und Wi-Fi Direct. Obwohl es zu Zwecken der Erörterung separat gezeigt ist, kann das Kommunikationssystem 100 in dem Netz 152 enthalten sein. Der Computer 150 kann über das Kommunikationsnetz 152 Nachrichten mit verschiedenen Vorrichtungen, z. B. Aktoren 154; und Sensoren 156 in dem Fahrzeug 50 übertragen und/oder empfangen.
  • Aktoren 154 sind über Schaltungen, Chips oder andere elektronische und/oder mechanische Komponenten umgesetzt, die verschiedene Teilsysteme des Fahrzeugs 50 gemäß zweckmäßigen Steuersignalen betätigen können. Zum Beispiel können die Aktoren 154 für ein Fahrzeug 50 verwendet werden, um Fahrzeugkomponenten zu steuern, wie etwa ein Klimasteuermodul oder einen elektrisch verstellbaren Sitz. In einem typischen Beispiel kann ein Aktor 154 einen Elektromotor in einem Klimasteuersystem beinhalten. Der Computer 150 kann über das Netz 152 und das Kommunikationssystem 100 einen Befehl an den Aktor 154 übertragen, um eine Position einer Klappe oder eines Ventils oder dergleichen in dem Klimasteuersystem einzustellen.
  • Sensoren 156 können vielfältige Vorrichtungen beinhalten, die dem Computer 150 bekanntermaßen Daten bereitstellen. Nicht einschränkende Beispiele für Sensoren 156 beinhalten Temperatursensoren, Drucksensoren, Rotationssensoren, Winkelsensoren, Positionssensoren und Drehmomentsensoren. Die Sensoren 156 können einen Computer beinhalten, der zum Kommunizieren mit einer intelligenten Slave-Vorrichtung 120 und/oder Einzelprotokoll-Slave-Vorrichtung 130 programmiert ist. In einer typischen Anwendung kann ein Sensor 156 einen physikalischen Parameter, wie etwa eine Temperatur oder einen Druck, detektieren und auf Grundlage des erfassten physikalischen Parameters dem Computer 150 über das Kommunikationssystem und das Netz 152 Daten bereitstellen.
  • 2 ist ein Ablaufdiagramm eines beispielhaften Prozesses 200 für eine intelligente Master-Vorrichtung 110 zum Auswählen eines Betriebsmodus. Das Auswählen eines Betriebsmodus bedeutet, dass das Vorhandensein von intelligenten Slave-Vorrichtungen und Einzelprotokoll-Slave-Vorrichtungen 130 auf dem Kommunikationsbus 105 detektiert wird und bestimmt wird, ob sich LIN-Slave-Vorrichtungen 130, benutzerdefinierte Slave-Vorrichtungen 130 oder sowohl LIN- als auch benutzerdefinierte Slave-Vorrichtungen 130 auf dem Kommunikationsbus 105 befinden, und ein Betriebsmodus ausgewählt wird, der die identifizierten Einzelprotokollvorrichtungen 130 berücksichtigt. In einem Fall, dass sich nur LIN-Slave-Vorrichtungen 130 auf dem Kommunikationsbus befinden, wählt die intelligente Master-Vorrichtung 110 den LIN-Betrieb aus. In einem Fall, dass sich nur eine benutzerdefinierte Slave-Vorrichtung 130 auf dem Kommunikationsbus 105 befindet, wählt die intelligente Master-Vorrichtung 110 den benutzerdefinierten Betrieb aus. In einem Fall, dass sich sowohl LIN- als auch benutzerdefinierte Slave-Vorrichtungen 130 auf dem Kommunikationsbus 105 befinden, wählt der intelligente Master den Hybridbetrieb aus. Wie vorstehend angemerkt, sind intelligente Slave-Vorrichtungen 120 dazu programmiert, in Abwesenheit des Erkennens einer Kalibrierungsvorrichtung auf dem Kommunikationsbus 105 zunächst den LIN-Betrieb auf dem Kommunikationsbus 105 anzunehmen. Die intelligente Slave-Vorrichtung 120 wartet in diesem Fall nach der Einschaltung eine Zeitperiode lang, um eine LIN-Nachricht auf dem Kommunikationsbus 105 zu empfangen, sodass die intelligente Master-Vorrichtung 110 die intelligente Slave-Vorrichtung 120 als im LIN-Modus betriebene Slave-Vorrichtung erkennen kann. Der Prozess beginnt in einem Block 202.
  • In dem Block 202 detektiert der Computer 112 in der intelligenten Master-Vorrichtung 110 eine Einschaltung des Masters. Eine Einschaltung eines Masters ist ein Ereignis, das angibt, dass der Kommunikationsbus 105 den Betrieb beginnen wird. Zum Beispiel kann das Detektieren der Einschaltung des Masters beinhalten, dass detektiert wird, dass der intelligenten Master-Vorrichtung 110 Leistung zugeführt worden ist. Als ein anderes Beispiel kann das Detektieren der Einschaltung des Masters beinhalten, dass ein Schlüsselanschaltereignis eines Fahrzeugs 50, das das Kommunikationssystem 100 beinhaltet, detektiert wird. Schlüsselanschaltung und Schlüsselabschaltung sind im in dieser Schrift verwendeten Sinne in groben Zügen als ein Ereignis, eine Handlung oder eine Eingabe definiert, um das Fahrzeug 50 oder einen Teil des Fahrzeugs 50 jeweils an- oder abzuschalten, und daran kann womöglich nicht im wörtlichen Sinne ein Schlüssel beteiligt sein. Nach dem Detektieren der Einschaltung des Masters wird der Prozess 200 in einem Block 204 fortgesetzt.
  • In dem Block 204 legt der Computer 112 fest, dass die intelligente Master-Vorrichtung 110 ein Vorhandensein einer benutzerdefinierten Slave-Vorrichtung 130 auf dem Kommunikationsbus 105 detektiert. Der Computer 112 legt eine Kommunikationsgeschwindigkeit des seriellen Anschlusses in der intelligenten Master-Vorrichtung 110 auf „benutzerdefinierte Geschwindigkeit“ fest. Benutzerdefinierte Geschwindigkeit ist eine Kommunikationsgeschwindigkeit, die durch benutzerdefinierte Slave-Vorrichtungen 130 verwendet wird. Typische benutzerdefinierte Geschwindigkeiten sind 2400, 9600 und 19200 Baud, können jedoch im Allgemeinen im Bereich von 300 bis 115200 Baud liegen. Die benutzerdefinierte Geschwindigkeit kann ein Parameter sein, der auf Grundlage von Vorgaben für benutzerdefinierte Slave-Vorrichtungen 130, deren Verwendung in dem Kommunikationssystem 100 zu erwarten ist, in die intelligente Master-Vorrichtung 110 vorprogrammiert (d. h. In einem Speicher davon gespeichert) ist. Ferner legt der Computer 112 fest, dass die intelligente Master-Vorrichtung 110 als Empfänger betrieben wird. Der Computer 112 beginnt damit, den Kommunikationsbus 105 auf Übertragungen von einer benutzerdefinierten Slave-Vorrichtung 130 zu überwachen. Der Prozess 200 wird in einem Block 206 fortgesetzt.
  • In dem Block 206 initiiert der Computer 112 einen Zeitgeber. Der Zeitgeber verfolgt den Zeitraum nach, während dessen der Computer 112 den Kommunikationsbus 105 auf eine benutzerdefinierte Übertragung (Übertragung von einer benutzerdefinierten Slave-Vorrichtung 130) überwacht. Der Prozess 200 wird in einem Block 208 fortgesetzt.
  • In dem Block 208 bestimmt der Computer 112, ob der Zeitraum, während dessen der Computer 112 den Kommunikationsbus 105 bisher überwacht hat, länger als eine erste vorbestimmte Zeit ist. Die erste vorbestimmte Zeit ist die Zeit, innerhalb derer eine benutzerdefinierte Übertragung von einer benutzerdefinierten Slave-Vorrichtung 130 auf dem Kommunikationsbus 105 erwartet worden wäre. Die erste vorbestimmte Zeit kann zum Beispiel auf Grundlage von Vorgaben von benutzerdefinierten Slave-Vorrichtungen 130, deren Verwendung in dem Kommunikationssystem 100 erwartet wird, in einem Speicher der intelligenten Master-Vorrichtung 110 gespeichert sein.
  • In einem Fall, dass der Zeitraum länger als die erste vorbestimmte Zeit ist, wird der Prozess 200 in einem Block 210 fortgesetzt. In dem Fall, dass der Zeitraum kürzer als oder gleich der vorbestimmten Zeit ist, wird der Prozess in einem Block 212 fortgesetzt.
  • In dem Block 210 ruft der Computer 112 auf Grundlage davon, dass innerhalb der ersten vorbestimmten Zeit keine benutzerdefinierten Übertragungen empfangen werden, den Prozess 300 auf, um den LIN-Betrieb zu initiieren.
  • In dem Block 212, der auf den Block 208 folgt, bestimmt der Computer 112, ob eine benutzerdefinierte Übertragung auf dem Kommunikationsbus 105 empfangen worden ist. In dem Fall, dass noch keine benutzerdefinierte Übertragung empfangen worden ist, wird der Prozess 200 in dem Block 208 fortgesetzt und überwacht weiterhin den Kommunikationsbus 105. In dem Fall, dass eine benutzerdefinierte Übertragung empfangen worden ist, bestimmt der Computer 112, dass sich eine benutzerdefinierte Slave-Vorrichtung 130 auf dem Kommunikationsbus 105 befindet. Der Prozess 200 wird in einem Block 214 fortgesetzt.
  • In dem Block 214 bestimmt der Computer 112 einen Zeitplan von benutzerdefinierten Übertragungen von der benutzerdefinierten Slave-Vorrichtung 130. Eine benutzerdefinierte Slave-Vorrichtung 130 oder eine im benutzerdefinierten Modus betriebene intelligente Slave-Vorrichtung 120 weist eine feste periodische Zeit zwischen einem Start von aufeinanderfolgenden Übertragungen und eine feste Dauer der Übertragungen auf. Der Computer 112 kann dazu programmiert sein, zu warten, um mindestens zwei Übertragungen von der benutzerdefinierten Slave-Vorrichtung 130 zu empfangen. Auf Grundlage eines Zeitraums zwischen Startzeiten von aufeinanderfolgenden Übertragungen der benutzerdefinierten Slave-Vorrichtung 130 und der Längen der Übertragungen kann der Computer 112 einen Zeitplan dafür bestimmen, wann die benutzerdefinierte Slave-Vorrichtung 130 auf dem Kommunikationsbus 105 übertragen wird und wann nicht. Der Prozess 200 wird in einem Block 216 fortgesetzt.
  • In dem Block 216 legt der Computer 112 die intelligente Master-Vorrichtung 110 einschließlich des seriellen Anschlusses auf die LIN-Geschwindigkeit fest. Typische LIN-Geschwindigkeiten sind 9600 und 10417 Baud, können jedoch im Allgemeinen im Bereich von 1000 bis 20000 Baud liegen. Der Prozess 200 wird in einem Block 218 fortgesetzt.
  • In dem Block 218 bestimmt der Computer 112 auf Grundlage des Zeitplans von Übertragungen von der benutzerdefinierten Slave-Vorrichtung 130, wie in dem Block 214 bestimmt, verfügbare Zeitschlitze für den LIN-Betrieb. Verfügbare Zeitschlitze für den LIN-Betrieb sind Zeitperioden, während derer die benutzerdefinierte Slave-Vorrichtung 130 nicht überträgt. Der Prozess wird in einem Block 220 fortgesetzt.
  • In dem Block 220 überträgt der Computer 112 während eines verfügbaren Zeitschlitzes für den LIN-Betrieb LIN-Nachrichten gemäß vordefinierten LIN-Zeitplantabellen auf dem Kommunikationsbus 105. Die LIN-Nachrichten können LIN-Steuernachrichten sein. Eine LIN-Steuernachricht kann eine Nachricht sein, die das Vorhandensein einer im LIN-Modus betriebenen Master-Vorrichtung bekannt gibt und eine Antwort von den LIN-Slave-Vorrichtungen 130 oder der intelligenten Slave-Vorrichtung 120 anfordert, die sich auf dem Kommunikationsbus 105 befinden können. Der Prozess wird in einem Block 222 fortgesetzt.
  • In dem Block 222 überwacht der Computer 112 den Kommunikationsbus 105 auf eine Antwort auf die Steuernachricht. Der Prozess wird in einem Block 224 fortgesetzt.
  • In dem Block 224 bestimmt der Computer 112, ob eine Antwort auf die Steuernachricht empfangen wird. Das Empfangen einer Antwort gibt an, dass sich mindestens eine LIN-Slave-Vorrichtung 130 auf dem Kommunikationsbus 105 befindet. Im Falle des Empfangens einer Antwort wird der Prozess 200 in einem Block 226 fortgesetzt. Andernfalls wird der Prozess 200 in einem Block 228 fortgesetzt.
  • In dem Block 226 ruft der Computer 112 den Prozess 400 auf, um den Hybridbetrieb für die intelligente Master-Vorrichtung 110 zu initiieren, da der Computer 112 mindestens eine LIN-Antwort von einer LIN-Slave-Vorrichtung 130 und mindestens eine benutzerdefinierte Antwort von einer benutzerdefinierten Slave-Vorrichtung 130 empfangen hat. Im Hybridbetrieb wird der Computer 112 betrieben, um benutzerdefinierte Antworten von der benutzerdefinierten Slave-Vorrichtung 130 zu empfangen, und in verfügbaren Zeitschlitzen (unter Vermeidung von Kollisionen mit benutzerdefinierten Antworten) im LIN-Modus betrieben, um Nachrichten mit LIN-Slave-Vorrichtungen 130 zu übertragen und zu empfangen.
  • In dem Block 228, der auf den Block 224 folgt, bestimmt der Computer 112, ob ein Zeitraum, seitdem die Steuernachricht gesendet worden ist, eine erwartete Antwortzeit überschreitet. Die erwartete Antwortzeit ist eine Zeit, innerhalb derer eine Antwort von einer LIN-Slave-Vorrichtung 130 erwartet wird. Eine LIN-Slave-Vorrichtung 130, falls vorhanden und adressiert, sollte innerhalb der erwarteten Zeit nach dem Empfang einer Steuernachricht von dem Computer 112 antworten, in der angefordert wird, dass die LIN-Slave-Vorrichtung 130 antwortet. Die erwartete Zeit (die als Antwortfelddauer bezeichnet werden kann) ist durch eine umsetzungsspezifische LIN-Beschreibungsdatei (LIN description file - LDF) und durch LIN-Vorgaben wie etwa ISO 17987 oder SAE J2602 definiert. In dem Fall, dass der Zeitraum, seitdem die Steuernachricht gesendet worden ist, die erwartete Antwortzeit überschreitet, wird der Prozess in einem Block 230 fortgesetzt. Andernfalls wird der Prozess 200 in dem Block 222 fortgesetzt und der Computer 112 überwacht weiterhin auf eine Antwort.
  • In dem Block 230 ruft der Computer 112 den Prozess 500 auf, um den benutzerdefinierten Betrieb für die intelligente Master-Vorrichtung 110 zu initiieren, da keine LIN-Antwort durch eine intelligente Slave-Vorrichtung 120 oder LIN-Slave-Vorrichtung 130 übertragen worden ist.
  • 3 ist eine Darstellung eines beispielhaften Prozesses 300 für den LIN-Betrieb für die intelligente Master-Vorrichtung 110. Der Prozess 300 beginnt in einem Block 302.
  • In dem Block 302 wird der Prozess 300 durch einen Aufruf von dem Prozess 200, Block 208, angeschaltet. Auf Grundlage einer Bestimmung in Block 208, dass eine benutzerdefinierte Slave-Vorrichtung 130 keine Nachricht innerhalb der ersten vorbestimmten Zeit gesendet hatte, versetzt der Computer 112 die intelligente Master-Vorrichtung 110 in den LIN-Betrieb.
  • Der LIN-Betrieb kann auch als LIN-Modus bezeichnet werden. Der Prozess 300 wird in einem Block 304 fortgesetzt.
  • In dem Block 304 legt der Computer 112 die intelligente Master-Vorrichtung 110 einschließlich des seriellen Anschlusses auf die LIN-Geschwindigkeit fest.
  • Als Nächstes legt der Computer den Master in einem Block 306 auf den LIN-Betrieb fest. Im LIN-Betrieb sendet der Computer 112 bisweilen (typischerweise periodisch) Nachrichten an LIN-Slave-Vorrichtungen 130, die sich auf dem Kommunikationsbus 105 befinden können. Die Nachrichten können Befehle für Aktoren 154 und Sensoren 156 sein, die an die jeweiligen LIN-Slave-Vorrichtungen 130 gekoppelt sind, um Vorgänge innerhalb des Fahrzeugs 50 auszuführen. Zum Beispiel kann der Computer 112 einen Befehl an eine LIN-Slave-Vorrichtung 130 senden, um einen Aktor 154 anzuschalten. Als ein anderes Beispiel kann die intelligente Master-Vorrichtung 110 über eine LIN-Slave-Vorrichtung 130 Daten von einem Sensor 156 anfordern, der an die LIN-Slave-Vorrichtung 130 gekoppelt ist. Der Prozess 300 wird in einem Block 308 fortgesetzt.
  • In dem Block 308 bestimmt der Computer 112, ob ein Prozessendeereignis aufgetreten ist. Ein Prozessendeereignis ist ein Auftreten, wie etwa ein elektrisches Signal, eine Nachricht oder eine Änderung eines Parameters, das angibt, dass der Prozess endet oder enden wird. Der Computer 112 kann zum Beispiel auf Grundlage von Nachrichten auf dem Kommunikationsbus 105, auf Grundlage einer Nachricht von dem Computer 150, auf Grundlage eines elektrischen Signals, das angibt, dass eine Ausschaltung für das Fahrzeug 50 auftritt, usw. bestimmen, dass das Prozessendeereignis aufgetreten ist. In dem Fall, dass ein Prozessendeereignis detektiert wird, endet der Prozess 300. Andernfalls wird der Prozess 300 in einem Block 310 fortgesetzt.
  • In dem Block 310 bestimmt der Computer 112, ob eine Datenkollision auf dem Kommunikationsbus 105 aufgetreten ist. Zum Beispiel kann der Computer 112 unerwartete Zustände von Bits erkennen, die auf dem Kommunikationsbus 105 erscheinen. Unerwartete Zustände von Bits können eine Folge von Bits mit variierender Länge, zu viele oder zu wenige Bits innerhalb einer Zeitperiode, Buszustände (hoch oder niedrig), die zu kurz sind, usw. beinhalten. Eine Datenkollision kann zum Beispiel angeben, dass sich eine benutzerdefinierte Slave-Vorrichtung 130 auf dem Kommunikationsbus 105 befindet, die nicht durch die intelligente Master-Vorrichtung 110 identifiziert worden ist. Dies kann auftreten, da die benutzerdefinierte Slave-Vorrichtung 130 nicht vor der ersten vorbestimmten Zeit übertragen hat. Als ein anderes Beispiel kann eine Einzelprotokoll-Slave-Vorrichtung 130 nach einer Einschaltung des intelligenten Masters in den Kommunikationsbus 105 eingeführt worden sein (Block 205). Als noch ein anderes Beispiel kann die Datenkollision auf eine intelligente Slave-Vorrichtung 120 zurückzuführen sein, die aufgrund einer Fehlkommunikation (fehlender Nachrichtenempfang) mit der intelligenten Master-Vorrichtung 110 mit dem Betreiben im benutzerdefinierten Modus begonnen hat. In einem Fall, dass der Computer 112 bestimmt, dass eine Datenkollision auftritt, wird der Prozess 300 in einem Block 312 fortgesetzt. Andernfalls wird der Prozess 300 in dem Block 306 fortgesetzt und die intelligente Master-Vorrichtung 110 setzt den LIN-Betrieb fort.
  • In dem Block 312 misst der Computer 112 den Zeitablauf der Datenkollision. Zum Beispiel kann der Computer 112 einen Zeitraum von der Einschaltung bis zum Auftreten der Kollision messen und ferner nach dem Detektieren der Kollision eine ausreichende Zeit lang warten, um mindestens zwei Übertragungen von der benutzerdefinierten Slave-Vorrichtung 130 zu empfangen, um eine feste periodische Zeit zwischen dem Start der Übertragungen sowie die Dauern dieser Übertragungen zu charakterisieren. Der Prozess 300 wird in einem Block 314 fortgesetzt.
  • In dem Block 314 aktualisiert der Computer 112 die erste vorbestimmte Zeit. Anfangs kann der Computer 112 die erste vorbestimmte Zeit verlängern, um einen längeren Zeitraum zum Identifizieren von benutzerdefinierten Slave-Vorrichtungen 130 auf dem Kommunikationsbus 105 bereitzustellen.
  • Der Computer 112 kann verschiedene Ansätze verwenden, um den Wert der ersten vorbestimmten Zeit zu aktualisieren. Zum Beispiel kann der Computer 112 einen Modifikator x bestimmen, um den Wert der ersten vorbestimmten Zeit zu aktualisieren. Zum Beispiel kann der Computer 112 für eine n-te Kollisionsdetektion, wobei n die Anzahl der Datenkollisionen seit der letzten Einschaltung des Masters ist, den Modifikator x auf einen festen Modifikator festlegen. Alternativ kann der Computer 112 den Modifikator x auf eine Pseudozufallszahl festlegen, für die Folgendes gilt:
    • • beruht auf einem Zufallszahlengenerator;
    • • wird auf Grundlage von Daten, die durch die intelligente Master-Vorrichtung 110 empfangen werden, berechnet/interpretiert;
    • • beruht auf der Zahl n;
    • • wird auf Grundlage von mathematischen Operationen an einem bzw. zu einer vergangenen und/oder gegenwärtigen Datum und Zeit berechnet; und/oder
    • • wird auf Grundlage von mathematischen Operationen auf Grundlage der Produktteilenummer berechnet.
  • Die vorstehende Auflistung von Beispielen soll nicht einschränkend sein. Eines oder mehrere der vorstehenden Beispiele können in Kombination verwendet werden. Ferner können andere Verfahren zum Erzeugen einer Pseudozufallszahl auf Grundlage von Systemdaten verwendet werden.
  • Auf Grundlage des Modifikators x kann die aktualisierte erste vorbestimmte Zeit dann gemäß einem beliebigen oder mehreren der folgenden Ansätze berechnet werden:
    • • Neue erste vorbestimmte Zeit = (Vorherige erste vorbestimmte Zeit) + (x). Dabei wird (x) > 0 angenommen.
    • • Neue erste vorbestimmte Zeit = (Vorherige erste vorbestimmte Zeit) ^ (x). Dabei wird (x) > 1 angenommen.
    • • Neue erste vorbestimmte Zeit = (Vorherige erste vorbestimmte Zeit) * (x). Dabei wird (x) > 1 angenommen.
    • • Neue erste vorbestimmte Zeit = (Summe von vorherigen ersten vorbestimmten Zeiten) + (x). Dabei wird (x) > 0 angenommen.
  • Das Festlegen des Modifikators x auf Grundlage einer Pseudozufallszahl kann den Vorteil aufweisen, dass verhindert wird, dass sich die intelligente Master-Vorrichtung 110 an eine erste vorbestimmte Zeitfolge bindet, die sich nicht für eine schnelle Bestimmung der Kommunikationsbuskonfiguration optimiert und/oder nicht an einer stabilen Bestimmung der Buskonfiguration konvergiert.
  • Zusätzlich oder alternativ kann der Computer 112 den Wert für die erste vorbestimmte Zeit auf Grundlage von Zeitablaufmessungen der Datenkollision aktualisieren. Zum Beispiel kann der Computer 112 bestimmen, dass die zuvor angewendete erste vorbestimmte Zeit nicht lang genug war, um ein Vorhandensein einer benutzerdefinierten Slave-Vorrichtung 130 auf dem Kommunikationsbus 105 zu detektieren. Auf Grundlage des Zeitablaufs der Datenkollision kann der Computer 112 dazu in der Lage sein, einen Zeitablauf von erwarteten Übertragungen von einer benutzerdefinierten Slave-Vorrichtung 130 zu bestimmen oder zu schätzen und die erste vorbestimmte Zeit so einzustellen, dass sie auf dem geschätzten Zeitablauf zwischen erwarteten Übertragungen von der benutzerdefinierten Slave-Vorrichtung 130 beruht (zum Beispiel länger ist).
  • Im Allgemeinen wird die erste vorbestimmte Zeit verlängert, bis keine Datenkollisionen mehr auftreten. Das anfängliche Vermindern der ersten vorbestimmten Zeit im Anschluss an eine Datenkollision kann zu einer reduzierten Wahrscheinlichkeit des Detektierens einer benutzerdefinierten Slave-Vorrichtung 130 auf dem Kommunikationsbus 105 führen. Um übermäßige Verlängerungen der ersten vorbestimmten Zeit zu vermeiden, kann der Computer 112 zusätzliche Einschränkungen auf x anwenden. Zum Beispiel kann x auf einen Wert begrenzt werden, der gleich oder kleiner als ein erster Modifikatorwert ist. Als ein anderes Beispiel kann der Computer 112, wenn x den ersten Modifikatorwert überschreitet, einen Wert von x verringern, bis er unter einem zweiten Modifikatorwert liegt, wobei der zweite Modifikatorwert kleiner als der erste Modifikatorwert ist.
  • Zusätzlich kann zum Erhöhen einer Wahrscheinlichkeit, dass eine intelligente Master-Vorrichtung 110 und eine intelligente Slave-Vorrichtung 120 auf dem gleichen Kommunikationsbus 105 zu LIN-Kommunikation konvergieren, der Wert des Modifikators x für die intelligente Master-Vorrichtung 110 so eingeschränkt werden, dass ein Modifikator y, der dazu verwendet wird, Schwellenzeitabläufe in einer intelligenten Slave-Vorrichtung 120 wie nachstehend beschrieben einzustellen, nicht nachverfolgt wird.
  • Nach dem Festsetzen der ersten vorbestimmten Zeit, wie vorstehend beschrieben, kann der Computer 112 für die intelligente Master-Vorrichtung 110 dazu programmiert sein, die aktualisierte erste vorbestimmte Zeit in nichtflüchtigem Speicher wie etwa EEPROM aufzubewahren, sodass die erste vorbestimmte Zeit im Anschluss an anschließende Einschaltereignisse des Masters verfügbar ist. Ferner kann der Computer 112 zum Optimieren der ersten vorbestimmten Zeit dazu programmiert sein, die erste vorbestimmte Zeit im Anschluss an jede Einschaltung des Masters zu vermindern, um iterativ nach einer ersten vorbestimmten Zeit zu suchen, die knapp über einem Zeitraum zum Vermeiden einer Datenkollision liegt. Der Prozess 300 wird in einem Block 316 fortgesetzt.
  • In dem Block 316 ruft der Computer 112 den Prozess 200 ab Block 204 auf und beginnt damit, auf eine benutzerdefinierte Slave-Vorrichtung 130 auf dem Kommunikationsbus 105 zu überwachen.
  • 4 ist eine Darstellung eines beispielhaften Prozesses 400 für den Hybridbetrieb der intelligenten Master-Vorrichtung 110. Während des Hybridbetriebs steuert die intelligente Master-Vorrichtung 110 die Kommunikation auf dem Kommunikationsbus 105 mit mindestens einer LIN-Slave-Vorrichtung 120, 130 (einer oder mehreren LIN-Slave-Vorrichtungen 130 und/oder einer oder mehreren im LIN-Modus betriebenen intelligenten Slave-Vorrichtungen 120) und einer benutzerdefinierten Slave-Vorrichtung 130. Der Hybridbetrieb kann auch als Hybridmodus bezeichnet werden. Während des Prozesses 400 kann der Computer 112 den Kommunikationsbus 105 zu mehreren Zeitpunkten oder im Wesentlichen kontinuierlich auf Kollisionen überwachen, wie unter Bezugnahme auf den Block 310 des Prozesses 300 beschrieben. Im Falle des Detektierens einer Datenkollision kann der Computer 112 den Prozess 200 ab Block 204 aufrufen. Der Prozess 400 beginnt in einem Block 402.
  • In dem Block 402 legt der Computer 112 die intelligente Master-Vorrichtung 110 einschließlich des seriellen Anschlusses auf die LIN-Geschwindigkeit fest oder hält diese dabei. Der Prozess 400 wird in einem Block 404 fortgesetzt.
  • In dem Block 404 legt der Computer 112 die intelligente Master-Vorrichtung 110 auf den LIN-Betrieb fest. Der Computer 112 sendet bisweilen Nachrichten an LIN-Slave-Vorrichtungen 130 und im LIN-Modus betriebene intelligente Slave-Vorrichtungen 120, die sich auf dem Kommunikationsbus 105 befinden können. Die Nachrichten können Befehle für Aktoren 154 und Sensoren 156 sein, die an die jeweiligen LIN-Slave-Vorrichtungen 130 oder intelligenten Slave-Vorrichtungen 120 gekoppelt sind, um Vorgänge innerhalb des Fahrzeugs 50 auszuführen. Der Prozess 400 wird in einem Block 406 fortgesetzt.
  • In dem Block 406 bestimmt der Computer 112, ob ein Prozessendeereignis aufgetreten ist. Der Computer 112 kann zum Beispiel auf Grundlage von Nachrichten auf dem Kommunikationsbus 105, auf Grundlage einer Nachricht von dem Computer 150, auf Grundlage eines elektrischen Signals, das angibt, dass eine Ausschaltung für das Fahrzeug 50 auftritt, usw. bestimmen, dass das Prozessendeereignis aufgetreten ist. In dem Fall, dass ein Prozessendeereignis detektiert wird, endet der Prozess 400. Andernfalls wird der Prozess 400 in einem Block 408 fortgesetzt.
  • In dem Block 408 bestimmt der Computer 112, ob eine zeitlich eingeplante Übertragung von einer benutzerdefinierten Slave-Vorrichtung 130 zeitlich so eingeplant ist, dass sie innerhalb eines vorbestimmten Zeitraums auftritt. Der vorbestimmte Zeitraum kann zum Beispiel ein Zeitraum sein, der kürzer als ein Zeitraum ist, der erforderlich ist, um einen zusätzlichen Austausch von LIN-Nachrichten durchzuführen. In dem Fall, dass die zeitlich eingeplante Übertragung zeitlich so eingeplant ist, dass sie innerhalb des vorbestimmten Zeitraums auftritt, wird der Prozess 400 in einem Block 410 fortgesetzt. Andernfalls wird der Prozess 400 in dem Block 402 fortgesetzt.
  • In dem Block 410 hält der der Computer 112 LIN-Übertragungen an.
  • Als Nächstes legt der Computer 112 die intelligente Master-Vorrichtung 110 einschließlich des seriellen Anschlusses in einem Block 412 auf die benutzerdefinierte Geschwindigkeit und den Empfangsmodus fest. Der Prozess 400 wird in einem Block 414 fortgesetzt.
  • Als Nächstes überwacht der Computer 112 in dem Block 414 den Kommunikationsbus 105 auf Kommunikation von einer benutzerdefinierten Slave-Vorrichtung 130. In einem Fall, dass der Computer 112 Übertragungen von der benutzerdefinierten Slave-Vorrichtung 130 empfängt, verarbeitet der Computer 112 die Übertragung. Zum Beispiel kann der Computer 112 eine Übertragung von der benutzerdefinierten Slave-Vorrichtung 130 empfangen, die Daten von einem Sensor 156 beinhaltet, und der Computer 112 kann die Daten dem Computer 150 bereitstellen.
  • Als Nächstes wird der Prozess 400 in einem Block 416 fortgesetzt. In dem Block 416 bestimmt der Computer 112, ob ein Prozessendeereignis aufgetreten ist. Der Computer 112 kann zum Beispiel auf Grundlage von Nachrichten auf dem Kommunikationsbus 105, auf Grundlage einer Nachricht von dem Computer 150, auf Grundlage eines elektrischen Signals, das angibt, dass eine Ausschaltung für das Fahrzeug 50 auftritt, usw. bestimmen, dass das Prozessendeereignis aufgetreten ist. In dem Fall, dass das Prozessendeereignis detektiert wird, endet der Prozess 400. Andernfalls wird der Prozess 400 in einem Block 418 fortgesetzt.
  • In dem Block 418 bestimmt der Computer 112, ob der benutzerdefinierte Zeitschlitz zum Empfangen von Übertragungen von der benutzerdefinierten Slave-Vorrichtung 130 vorbei ist oder innerhalb eines vorbestimmten Zeitraums endet. Der vorbestimmte Zeitraum kann zum Beispiel eine Pufferperiode vor einem Ende eines Zeitschlitzes beinhalten, der für die benutzerdefinierte Übertragung bezeichnet ist. In dem Fall, dass die benutzerdefinierte Übertragungszeit vorbei ist oder innerhalb der vorbestimmten Zeit endet, wird der Prozess 400 in dem Block 402 fortgesetzt. Andernfalls wird der Prozess 400 in dem Block 414 fortgesetzt.
  • 5 ist eine Darstellung eines beispielhaften Prozesses 500 für den benutzerdefinierten Betrieb der intelligenten Master-Vorrichtung 110. Der benutzerdefinierte Betrieb kann auch als benutzerdefinierter Modus bezeichnet werden. Während des benutzerdefinierten Betriebs ist die intelligente Master-Vorrichtung 110 darauf festgelegt, dass sie Übertragungen von einer benutzerdefinierten Slave-Vorrichtung 130 empfängt. Nach dem Empfangen der Übertragungen verarbeitet die intelligente Master-Vorrichtung 110 die Übertragungen, indem sie zum Beispiel dem Computer 150 empfangene Daten bereitstellt. Der Prozess 500 beginnt in einem Block 502.
  • In dem Block 502 empfängt der Computer 112 einen Aufruf von dem Prozess 200, Block 230, die intelligente Master-Vorrichtung 110 auf den benutzerdefinierten Betrieb festzulegen.
  • Als Nächstes legt der Computer 112 die intelligente Master-Vorrichtung 110 einschließlich des seriellen Anschlusses in dem Block 504 auf die benutzerdefinierte Geschwindigkeit fest. Die benutzerdefinierte Geschwindigkeit ist eine Geschwindigkeit zum Empfangen von Übertragungen von einer benutzerdefinierten Slave-Vorrichtung 130, wie vorstehend beschrieben.
  • Als Nächstes legt der Computer in einem Block 506 die intelligente Master-Vorrichtung 110 darauf fest, Übertragungen von der benutzerdefinierten Slave-Vorrichtung 130 zu empfangen. Der Prozess wird in einem Block 508 fortgesetzt.
  • In dem Block 508 bestimmt der Computer 112, ob ein Prozessendeereignis aufgetreten ist. Der Computer 112 kann zum Beispiel auf Grundlage von Nachrichten auf dem Kommunikationsbus 105, auf Grundlage einer Nachricht von dem Computer 150, auf Grundlage eines elektrischen Signals, das angibt, dass eine Ausschaltung für das Fahrzeug 50 auftritt, usw. bestimmen, dass das Prozessendeereignis aufgetreten ist. In dem Fall, dass das Prozessendeereignis detektiert wird, endet der Prozess 500. Andernfalls wird der Prozess 500 in einem Block 510 fortgesetzt.
  • In dem Block 510 bestimmt der Computer 112, ob eine Datenkollision auf dem Kommunikationsbus 105 aufgetreten ist. Die Datenkollision kann angeben, dass sich eine zusätzliche benutzerdefinierte Vorrichtung 130 auf dem Kommunikationsbus 105 befindet oder dass eine intelligente Slave-Vorrichtung 120 damit begonnen hat, im benutzerdefinierten Modus betrieben zu werden. In einem Fall, dass der Computer 112 bestimmt, dass eine Datenkollision auftritt, wird der Prozess 500 in einem Block 512 fortgesetzt. Andernfalls wird der Prozess 500 in dem Block 506 fortgesetzt und die intelligente Master-Vorrichtung 110 setzt den benutzerdefinierten Betrieb fort. Obwohl in dem Prozess 500 als ein einziger Block gezeigt, kann der Computer 112 den Kommunikationsbus 105 zu mehreren Zeitpunkten oder im Wesentlichen kontinuierlich während des Prozesses 500 überwachen.
  • 6 ist eine Darstellung eines beispielhaften Kommunikationssystems 600, das in einem System wie etwa dem vorstehend beschriebenen Fahrzeug 50 enthalten sein kann. Das Kommunikationssystem 600 beinhaltet eine intelligente Slave-Vorrichtung 620, die dazu programmiert ist, eine Art von Bussteuervorrichtung 610 zu bestimmen, die derzeit einen Kommunikationsbus 605 steuert. Das Kommunikationssystem 600 beinhaltet die Bussteuervorrichtung 610, eine oder mehrere intelligente Slave-Vorrichtungen 620 und null oder mehr Einzelprotokoll-Slave-Vorrichtungen 130, die kommunikativ auf einem Kommunikationsbus 605 gekoppelt sind.
  • Die Bussteuervorrichtung 610 beinhaltet einen Computer 612. Die Bussteuervorrichtung 610 kann entweder eine Kalibrierungsvorrichtung 610 oder eine Master-Vorrichtung 610 sein.
  • In einem ersten Fall ist die Bussteuervorrichtung 610 eine Kalibrierungsvorrichtung 610. Die Kalibrierungsvorrichtung 610 beinhaltet einen Computer 612, der einen oder mehrere Prozessoren und Speicher beinhaltet, der Anweisungen zum Kalibrieren von intelligenten Slave-Vorrichtungen 620 und/oder Einzelprotokoll-Slave-Vorrichtungen 130 auf dem Kommunikationsbus 605 beinhaltet. Der Computer 612 ist zur Kommunikation auf dem Kommunikationsbus 605 programmiert. Die Kalibrierungsvorrichtung 610 kann entfernbar, z. B. über einen Kommunikationsanschluss, mit dem Kommunikationsbus 605 verbunden sein, um von intelligenten Slave-Vorrichtungen 620, Einzelprotokoll-Slave-Vorrichtungen 130 und anderen Komponenten (z. B. Fahrzeugkomponenten), die über die intelligenten Slave-Vorrichtungen 620 und Einzelprotokoll-Slave-Vorrichtungen 130 mit dem Kommunikationsbus 605 verbunden sind, Kalibrierungen durchzuführen, Messungen durchzuführen, Funktionstests durchzuführen, Qualitätssteuerungsdatensammlung in jeweiligen Fertigungsanlagen durchzuführen usw. Die Kalibrierungsvorrichtung 610 beinhaltet zudem einen seriellen Anschluss, um die Kalibrierungsvorrichtung 610 an den Kommunikationsbus 605 zu koppeln und Nachrichten zu senden und zu empfangen.
  • Während der Zeit, in der die Kalibrierungsvorrichtung 610 mit dem Kommunikationsbus 605 verbunden ist, übernimmt die Kalibrierungsvorrichtung 610 die Rolle der Master-Vorrichtung 610. Das heißt, die Kalibrierungsvorrichtung 610 steuert den Kommunikationsfluss auf dem Kommunikationsbus 605.
  • In einem zweiten Fall ist die Bussteuervorrichtung 610 eine Master-Vorrichtung 610. Die Master-Vorrichtung 610 kann eine LIN-Master-Vorrichtung 610, eine benutzerdefinierte Master-Vorrichtung 610 oder eine intelligente Master-Vorrichtung 610 sein. Die LIN-Master-Vorrichtung 610 wird nur im LIN-Modus betrieben und kann nicht mit benutzerdefinierten Slaves 130 kommunizieren. Die benutzerdefinierte Master-Vorrichtung 610 wird nur im benutzerdefinierten Modus betrieben und kann nicht mit LIN-Slaves kommunizieren. Die intelligente Master-Vorrichtung 610 wird wie vorstehend unter Bezugnahme auf die intelligente Master-Vorrichtung 110 beschrieben betrieben und kann mit intelligenten Slaves 620 und Einzelprotokoll- (LIN- oder benutzerdefinierten) Slaves 130 kommunizieren.
  • Die intelligente Slave-Vorrichtung 620 beinhaltet einen Computer 622. Die intelligente Slave-Vorrichtung 620 und der Computer 622 sind der intelligenten Slave-Vorrichtung 620 bzw. dem Computer 122, die unter Bezugnahme auf das Kommunikationssystem 100 beschrieben sind, gleich oder ähnlich. Der Computer 622 ist zur Kommunikation auf dem Kommunikationsbus 605 programmiert. Der Computer 622 ist ferner dazu programmiert, zu bestimmen, ob die Bussteuervorrichtung 610 eine Kalibrierungsvorrichtung 610 oder eine Master-Vorrichtung 610 ist. In dem Fall, dass die Bussteuervorrichtung 610 eine Master-Vorrichtung 610 ist, ist die intelligente Slave-Vorrichtung 620 ferner dazu programmiert, zu bestimmen, ob die Master-Vorrichtung 610 eine LIN-Master-Vorrichtung 610, eine im LIN-Modus betriebene intelligente Master-Vorrichtung 610 (was als LIN-Master-Vorrichtung 610 erscheinen kann) oder eine benutzerdefinierte Master-Vorrichtung 610 ist. Der Computer 622 konfiguriert dann die intelligente Slave-Vorrichtung 620 dazu, mit der identifizierten Kalibrierungsvorrichtung 610 oder Master-Vorrichtung 610 zu kommunizieren. In dem Fall, dass die Master-Vorrichtung 610 eine intelligente Master-Vorrichtung 610 ist, ist die intelligente Slave-Vorrichtung 620 dazu programmiert, die intelligente Master-Vorrichtung 610 als LIN-Master-Vorrichtung 610 zu erkennen und LIN-basierte Kommunikation mit der intelligenten Master-Vorrichtung 610 aufzubauen. Der serielle Anschluss der intelligenten Slave-Vorrichtung 620 kann an den Kommunikationsbus 605 gekoppelt sein, und um Nachrichten zu senden und zu empfangen. Eine oder mehrere intelligente Slave-Vorrichtungen 620 können auf dem Kommunikationsbus 605 enthalten sein.
  • 7 ist eine Darstellung eines beispielhaften Prozesses 700 zum Auswählen eines Betriebsmodus für eine intelligente Slave-Vorrichtung 620 auf einem Kommunikationsbus 605. Das Auswählen eines Betriebsmodus bedeutet Bestimmen, ob derzeit eine Kalibrierung auf dem Kommunikationsbus 605 durch eine Kalibrierungsvorrichtung 610 durchgeführt wird oder ob eine Master-Vorrichtung 610 derzeit auf dem Kommunikationsbus 605 betrieben wird. In einem Fall, dass derzeit eine Kalibrierung durch die Kalibrierungsvorrichtung 610 auf dem Kommunikationsbus 605 durchgeführt wird, wählt der Computer 622 auf der intelligenten Slave-Vorrichtung 620 einen Betriebsmodus für einen Kalibrierungsbetrieb aus. Während des Kalibrierungsbetriebs empfängt der Computer 622 auf der intelligenten Slave-Vorrichtung 620 Kommunikation von der Kalibrierungsvorrichtung 610 und antwortet darauf. Der Kalibrierungsbetrieb kann in dieser Schrift auch als Kalibrierungsmodus bezeichnet werden. In einem Fall, dass der Computer 622 bestimmt, dass keine Kalibrierung durchgeführt wird und sich eine intelligente Master-Vorrichtung 610 auf dem Kommunikationsbus 605 befindet, die den LIN-Betrieb unterstützt, wählt der Computer den LIN-Betrieb aus. In einem Fall, dass der Computer 622 bestimmt, dass keine Kalibrierung durchgeführt wird und keine Master-Vorrichtung 610 vorhanden ist, die den LIN-Betrieb unterstützt, wählt der Computer 622 den benutzerdefinierten Betrieb aus. Der benutzerdefinierte Betrieb kann auch als benutzerdefinierter Modus bezeichnet werden. Der Prozess 700 beginnt in einem Block 702.
  • In dem Block 702 detektiert der Computer 622 eine Einschaltung eines intelligenten Slave. Eine Einschaltung eines intelligenten Slave ist ein Ereignis, das angibt, dass der Kommunikationsbus 605 den Betrieb beginnen wird. Zum Beispiel kann das Detektieren der Einschaltung des intelligenten Slave beinhalten, dass detektiert wird, dass der intelligenten Slave-Vorrichtung 620 Leistung zugeführt worden ist. Als ein anderes Beispiel kann das Detektieren der Einschaltung des intelligenten Slave beinhalten, dass eine Schlüsselanschaltung eines Fahrzeugs oder das Anschalten eines anderen Systems, das den Kommunikationsbus 605 beinhaltet, detektiert wird. Nach dem Detektieren der Einschaltung des intelligenten Slave wird der Prozess 700 in einem Block 704 fortgesetzt.
  • In einem Block 704 legt der Computer 622 den intelligenten Slave auf eine Kalibrierungsgeschwindigkeit fest, um dazu in der Lage zu sein, Kalibrierungs- und möglicherweise auch LIN-Nachrichten zu empfangen, falls die Master-Vorrichtung 610 eine beliebige LIN-Nachricht mit dieser Kalibrierungsgeschwindigkeit übertragen würde. Der Computer 622 beginnt damit, den Kommunikationsbus 605 auf Übertragungen von einer Kalibrierungsvorrichtung 610 und LIN-Übertragungen von einer intelligenten Master-Vorrichtung 610 zu überwachen. Der Prozess 700 wird in einem Block 706 fortgesetzt.
  • In dem Block 706 initiiert der Computer 622 einen Zeitgeber. Der Zeitgeber verfolgt den Zeitraum nach, während dessen der Computer 622 den Kommunikationsbus 605 auf Kalibrierung und/oder LIN-Übertragungen überwacht. Der Prozess 700 wird in einem Block 708 fortgesetzt.
  • In dem Block 708 bestimmt der Computer 622, ob eine Kalibrierungsnachricht empfangen worden ist. Der Computer 622 kann die Nachricht zum Beispiel auf Grundlage einer Geschwindigkeit der Kalibrierungsnachricht in einem Fall, dass sich die Kalibrierungsgeschwindigkeit von der LIN-Geschwindigkeit unterscheidet, als Kalibrierungsnachricht identifizieren. Zusätzlich oder alternativ kann der Computer 622 die Nachricht auf Grundlage des Inhalts, zum Beispiel auf Grundlage einer Kennung, mit der die Vorrichtung, die die Nachricht überträgt, als Kalibrierungsvorrichtung 610 identifiziert wird, auf Grundlage eines Kalibrierungsbefehls in der Nachricht, auf Grundlage einer Länge der Nachricht usw. als Kalibrierungsnachricht identifizieren. In einem Fall, dass der Computer 622 bestimmt, dass eine Kalibrierungsnachricht empfangen worden ist, wird der Prozess 700 in einem Block 710 fortgesetzt. Andernfalls wird der Prozess 700 in einem Block 714 fortgesetzt.
  • In dem Block 710 legt der Computer 622 die intelligente Slave-Vorrichtung 620 auf den Kalibrierungsbetrieb fest oder hält diese dabei. Der Prozess 700 wird in einem Block 712 fortgesetzt.
  • In dem Block 712 bestimmt der Computer 622, ob ein Prozessendeereignis aufgetreten ist oder ob eine Nachricht zum Verlassen der Kalibrierung empfangen worden ist. Der Computer 622 kann zum Beispiel auf Grundlage von Nachrichten auf dem Kommunikationsbus 605, auf Grundlage eines elektrischen Signals, das angibt, dass eine Ausschaltung für ein System des Fahrzeugs 50, das den Kommunikationsbus 605 beinhaltet, auftritt, usw. bestimmen, dass das Prozessendeereignis aufgetreten ist. In dem Fall, dass ein Prozessendeereignis detektiert wird, oder falls eine Nachricht zum Verlassen des Kalibrierungsmodus empfangen worden ist, endet der Prozess 700. Andernfalls wird der Prozess 700 in einem Block 714 fortgesetzt.
  • In dem Block 714 bestimmt der Computer 622, ob eine LIN-Steuernachricht empfangen worden ist. Eine LIN-Steuernachricht gibt ein Vorhandensein einer Master-Vorrichtung 610 auf dem Kommunikationsbus 605 an. Die Master-Vorrichtung 610 kann eine LIN-(Einzelprotokoll-) Master-Vorrichtung 610 oder eine im LIN-Modus betriebene intelligente Master-Vorrichtung 610 sein. In einem Fall, dass eine LIN-Steuernachricht empfangen worden ist, wird der Prozess 700 in einem Block 716 fortgesetzt. Andernfalls wird der Prozess 700 in einem Block 720 fortgesetzt.
  • In dem Block 716 legt der Computer 622 die intelligente Slave-Vorrichtung 620 auf den LIN-Betrieb fest oder hält diese dabei. Der Prozess 700 wird in einem Block 718 fortgesetzt.
  • In dem Block 718 bestimmt der Computer 622, ob ein Prozessendeereignis aufgetreten ist. Der Computer 622 kann zum Beispiel auf Grundlage von Nachrichten auf dem Kommunikationsbus 605, auf Grundlage eines elektrischen Signals, das angibt, dass eine Ausschaltung für ein Fahrzeug oder anderes System, das den Kommunikationsbus 605 beinhaltet, auftritt, usw. bestimmen, dass das Prozessendeereignis aufgetreten ist. In dem Fall, dass das Prozessendeereignis detektiert wird, endet der Prozess 700. Andernfalls wird der Prozess 700 in einem Block 716 fortgesetzt.
  • In dem Block 720, der auf den Block 714 folgen kann, bestimmt der Computer 622, ob der Zeitraum, während dessen der Computer 722 den Kommunikationsbus 605 bisher überwacht hat, länger als eine erste vorbestimmte Zeit ist. Die erste vorbestimmte Zeit ist die Zeit, innerhalb derer eine Kalibrierungsübertragung von einer möglichen Kalibrierungsvorrichtung 610 auf dem Kommunikationsbus 605 erwartet worden wäre. Die erste vorbestimmte Zeit kann zum Beispiel auf Grundlage von Vorgaben der Kalibrierungsvorrichtung 610, deren Verwendung zum kommunikativen Koppeln an den Kommunikationsbus 105 erwartet werden kann, in den Computer 622 vorprogrammiert (in einem Speicher davon gespeichert) sein.
  • In einem Fall, dass der Zeitraum länger als die erste vorbestimmte Zeit ist, wird der Prozess 700 in einem Block 722 fortgesetzt. In dem Fall, dass der Zeitraum kürzer als oder gleich der vorbestimmten Zeit ist, wird der Prozess in einem Block 708 fortgesetzt.
  • In dem Block 722 legt der Computer 722 die intelligente Slave-Vorrichtung 620 auf die LIN-Geschwindigkeit und den LIN-Betrieb fest. Der LIN-Betrieb für die intelligente Slave-Vorrichtung 620 bedeutet, den Kommunikationsbus 605 auf LIN-Steuernachrichten zu überwachen, die das Vorhandensein einer im LIN-Modus betriebenen Master-Vorrichtung 610 auf dem Kommunikationsbus 605 aussenden. Der Prozess 700 wird in einem Block 724 fortgesetzt.
  • In dem Block 724 initiiert der Computer 622 einen zweiten Zeitgeber. Der zweite Zeitgeber misst einen Zeitraum, der bis zu einem derzeitigen Zeitpunkt verstrichen ist, nachdem der erste Zeitgeber die erste vorbestimmte Zeit erreicht hat (siehe Block 720). Der Prozess 700 wird in einem Block 726 fortgesetzt.
  • In dem Block 726 bestimmt der Computer 622, ob eine LIN-Steuernachricht empfangen worden ist. In einem Fall, dass eine LIN-Steuernachricht empfangen worden ist, wird der Prozess 700 in einem Block 716 fortgesetzt. Andernfalls wird der Prozess 700 in einem Block 728 fortgesetzt.
  • In dem Block 728 bestimmt der Computer 622, ob der Zeitraum, während dessen der Computer 622 den Kommunikationsbus 605 bisher seit dem Ablauf der ersten vorbestimmten Zeit überwacht hat, länger als eine zweite vorbestimmte Zeit ist. Die zweite vorbestimmte Zeit ist eine zusätzliche Zeit im Anschluss an die erste vorbestimmte Zeit, innerhalb derer die intelligente Slave-Vorrichtung 620 eine LIN-Steuernachricht von einer Master-Vorrichtung 610 empfangen kann, die mit einer LIN-Geschwindigkeit anstatt mit einer Kalibrierungsgeschwindigkeit betrieben werden kann. Die zweite vorbestimmte Zeit kann zum Beispiel auf Grundlage von Vorgaben einer Master-Vorrichtung 610, deren Verwendung auf dem Kommunikationsbus 605 erwartet wird, in den Computer 622 vorprogrammiert (in einem Speicher davon gespeichert) sein.
  • In einem Fall, dass der Zeitraum länger als die zweite vorbestimmte Zeit ist, wird der Prozess 700 in einem Block 730 fortgesetzt. In dem Fall, dass der Zeitraum kürzer als oder gleich der zweiten vorbestimmten Zeit ist, wird der Prozess in dem Block 726 fortgesetzt.
  • In dem Block 730 legt der Computer 622 die intelligente Slave-Vorrichtung 620 auf den benutzerdefinierten Betrieb fest. Das heißt, der Computer 622 legt die intelligente Slave-Vorrichtung 620 darauf fest, Nachrichten mit einer benutzerdefinierten Geschwindigkeit und gemäß einem benutzerdefinierten Übertragungszeitplan zu übertragen. Der benutzerdefinierte Übertragungszeitplan kann in den Computer 622 vorprogrammiert (in Speicher davon gespeichert) sein. Der Prozess 700 wird in einem Block 732 fortgesetzt.
  • In dem Block 732 bestimmt der Computer 622, ob ein Prozessendeereignis aufgetreten ist. Der Computer 622 kann zum Beispiel auf Grundlage von Nachrichten auf dem Kommunikationsbus 605, auf Grundlage eines elektrischen Signals, das angibt, dass eine Ausschaltung für das Fahrzeug oder andere System, in dem das Kommunikationssystem 600 betrieben wird, auftritt, usw. bestimmen, dass das Prozessendeereignis aufgetreten ist. In dem Fall, dass das Prozessendeereignis detektiert wird, endet der Prozess 700. Andernfalls wird der Prozess 700 in einem Block 734 fortgesetzt.
  • In dem Block 734 bestimmt der Computer 622, ob eine Datenkollision auf dem Kommunikationsbus 105 aufgetreten ist. In einem Fall, dass der Computer 622 bestimmt, dass eine Datenkollision auftritt, wird der Prozess 700 in einem Block 736 fortgesetzt. Andernfalls wird der Prozess 700 in dem Block 730 fortgesetzt und die intelligente Slave-Vorrichtung 620 setzt den benutzerdefinierten Betrieb fort. Obwohl in dem Prozess 700 als ein einziger Block gezeigt, kann der Computer 622 den Kommunikationsbus 605 zu mehreren Zeitpunkten oder im Wesentlichen kontinuierlich während des Prozesses 700 überwachen.
  • In dem Block 736 misst der Computer 622 den Zeitablauf der Datenkollision und kann zusätzliche Zeitablaufdaten messen. Der Prozess 700 wird in einem Block 738 fortgesetzt.
  • In dem Block 738 aktualisiert der Computer 622 einen Wert für die erste und/oder zweite vorbestimmte Zeit.
  • Es können verschiedene Ansätze herangezogen werden, um die erste und/oder zweite vorbestimmte Zeit zu aktualisieren. Der Computer 622 kann einen Modifikator y bestimmen, um den Wert der ersten vorbestimmten Zeit zu aktualisieren. Zum Beispiel kann der Computer 622 für eine n-te Kollisionsdetektion, wobei n die Anzahl der Datenkollisionen seit der letzten Einschaltung des Masters ist, den Modifikator y auf einen festen Modifikator festlegen. Alternativ kann der Computer 622 den Modifikator y auf eine Pseudozufallszahl festlegen, für die Folgendes gilt:
    • • beruht auf einem Zufallszahlengenerator;
    • • wird auf Grundlage von Daten, die durch die intelligente Master-Vorrichtung 110 empfangen werden, berechnet/interpretiert;
    • • beruht auf der Zahl n;
    • • wird auf Grundlage von mathematischen Operationen an einem bzw. zu einer vergangenen und/oder gegenwärtigen Datum und Zeit berechnet; und/oder
    • • wird auf Grundlage von mathematischen Operationen auf Grundlage der Produktteilenummer berechnet.
  • Die vorstehende Auflistung von Beispielen soll nicht einschränkend sein. Eines oder mehrere der vorstehenden Beispiele können in Kombination verwendet werden. Ferner können andere Verfahren zum Erzeugen einer Pseudozufallszahl auf Grundlage von Systemdaten verwendet werden.
  • Auf Grundlage des Modifikators y kann die aktualisierte erste und/oder zweite vorbestimmte Zeit dann gemäß einem beliebigen oder mehreren der folgenden Ansätze berechnet werden:
    • • Neue erste und/oder zweite vorbestimmte Zeit = (Vorherige erste und/oder zweite vorbestimmte Zeit) + (y). Dabei wird (y) > 0 angenommen.
    • • Neue erste und/oder zweite vorbestimmte Zeit = (Vorherige erste und/oder zweite vorbestimmte Zeit) ^ (y). Dabei wird (y) > 1 angenommen.
    • • Neue erste und/oder zweite vorbestimmte Zeit = (Vorherige erste und/oder zweite vorbestimmte Zeit) * (y). Dabei wird (x) > 1 angenommen.
    • • Neue erste und/oder zweite vorbestimmte Zeit = (Summe von vorherigen ersten und/oder vorbestimmten Zeiten) + (y). Dabei wird (y) > 0 angenommen.
  • Das Festlegen des Modifikators y auf Grundlage einer Pseudozufallszahl kann den Vorteil aufweisen, dass verhindert wird, dass sich die intelligente Slave-Vorrichtung 620 an eine erste vorbestimmte Zeitfolge bindet, die sich nicht für eine schnelle Bestimmung der Kommunikationsbuskonfiguration optimiert und/oder nicht an einer stabilen Bestimmung davon konvergiert, welche Art von Bussteuervorrichtung 610 auf dem Kommunikationsbus 605 betrieben wird.
  • Als ein anderes Beispiel kann der Computer 622 dazu programmiert sein, die erste und/oder zweite vorbestimmte Zeit auf Grundlage des Zeitablaufs einer oder mehrerer Datenkollisionen zu bestimmen. Zum Beispiel kann der Computer 622 bestimmen, dass die zuvor angewendete erste vorbestimmte Zeit nicht lang genug war, um das Vorhandensein der Kalibrierungsvorrichtung 610 zu detektieren, und/oder dass die zweite vorbestimmte Zeit, wenn sie mit der ersten vorbestimmten Zeit kombiniert wurde, nicht lang genug war, um das Vorhandensein einer im LIN-Modus betriebenen Master-Vorrichtung 610 zu detektieren. Auf Grundlage des Zeitablaufs der Datenkollision kann der Computer 622 dazu in der Lage sein, einen Zeitablauf von erwarteten Übertragungen von einer Kalibrierungsvorrichtung 610 oder im LIN-Modus betriebenen Master-Vorrichtung 610 zu bestimmen oder zu schätzen. Der Computer 622 kann dann dazu programmiert sein, die erste vorbestimmte Zeit so festzulegen, dass sie länger als eine erwartete Zeit zum Empfangen einer Übertragung von der Kalibrierungsvorrichtung 610 ist, oder eine Summe der ersten vorbestimmten Zeit und der zweiten vorbestimmten Zeit so festzulegen, dass sie länger als eine erwartete Zeit zum Empfangen einer LIN-Übertragung von einer im LIN-Modus betriebenen Master-Vorrichtung 610 ist.
  • Der Computer 622 ist typischerweise dazu programmiert, die erste und/oder zweite vorbestimmte Zeit zu erhöhen, bis keine Datenkollisionen mehr auftreten. Das anfängliche Vermindern der ersten und/oder zweiten vorbestimmten Zeit im Anschluss an eine Datenkollision kann zu einer reduzierten Wahrscheinlichkeit des Detektierens einer Kalibrierungsvorrichtung 610 oder im LIN-Modus betriebenen Master-Vorrichtung 610 auf dem Kommunikationsbus 605 führen. Um übermäßige Verlängerungen der ersten und/oder zweiten vorbestimmten Zeit zu vermeiden, kann der Computer 622 zusätzliche Einschränkungen auf y anwenden. Zum Beispiel kann y auf einen Wert begrenzt werden, der gleich oder kleiner als ein erster Modifikatorwert ist. Als ein anderes Beispiel kann der Computer 622, wenn y den ersten Modifikatorwert überschreitet, einen Wert von y verringern, bis er unter einem zweiten Modifikatorwert liegt, wobei der zweite Modifikatorwert kleiner als der erste Modifikatorwert ist.
  • Nach dem Festsetzen der ersten und/oder zweiten vorbestimmten Zeit, wie vorstehend beschrieben, kann der Computer 622 für die intelligente Slave-Vorrichtung 620 dazu programmiert sein, die aktualisierte erste vorbestimmte Zeit in nichtflüchtigem Speicher wie etwa EEPROM aufzubewahren, sodass die erste vorbestimmte Zeit im Anschluss an anschließende Einschaltereignisse verfügbar ist. Ferner kann der Computer 622 zum Optimieren der ersten vorbestimmten Zeit dazu programmiert sein, die erste vorbestimmte Zeit im Anschluss an jede Einschaltung zu vermindern, um iterativ nach einer ersten vorbestimmten Zeit zu suchen, die knapp über einem Zeitraum zum Vermeiden einer Datenkollision liegt. Der Prozess 700 wird in einem Block 704 fortgesetzt.
  • Im in dieser Schrift verwendeten Sinne bedeutet der Ausdruck „auf Grundlage von“ ganz oder teilweise auf Grundlage von.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Anwendung Ford Sync®, der Middleware AppLink/Smart Device Link, des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Betriebssystems Unix (z. B. des Betriebssystems Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), des Betriebssystems AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, des BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, des Betriebssystems Android, entwickelt durch die Google, Inc. die Open Handset Alliance, oder der QNX® CAR Platform for Infotainment, angeboten durch QNX Software Systems, und des Duer OS, angeboten durch die Baidu, Inc. Beispiele für Rechenvorrichtungen beinhalten unter anderem einen bordeigenen Fahrzeugcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
  • Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausführbar sein können, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -technologien erstellt wurden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML, Python usw. Einige dieser Anwendungen können auf einer virtuellen Maschine kompiliert und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung vielfältiger computerlesbarer Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
  • Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhalten, das ein beliebiges nichttransitorisches (z. B. materielles) Medium beinhaltet, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien und flüchtiger Medien. Nichtflüchtige Medien können zum Beispiel optische Platten oder Magnetplatten und anderen dauerhaften Speicher beinhalten. Flüchtige Medien können zum Beispiel dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM) beinhalten, der typischerweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, darunter Koaxialkabel, Kupferdraht und Glasfaser, einschließlich der Drähte, aus denen ein Systembus besteht, der an einen Prozessor einer ECU gekoppelt ist. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das durch einen Computer ausgelesen werden kann. CD-ROM und DVD sind Beispiele für WORM-Vorrichtungen (write once/read many).
  • Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedene(n) Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem anwendereigenen Format, eines relationalen Datenbankverwaltungssystems (relational database management system - RDBMS) usw. Jeder derartige Datenspeicher ist im Allgemeinen innerhalb einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorstehend erwähnten, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netz darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann in verschiedenen Formaten gespeicherte Dateien beinhalten. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorstehend erwähnte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personal Computern usw.) umgesetzt sein, die auf zugeordneten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
  • Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass die Schritte derartiger Prozesse usw. zwar als gemäß einer gewissen geordneten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Mit anderen Worten dienen die Beschreibungen von Prozessen in dieser Schrift dem Zweck der Veranschaulichung gewisser Ausführungsformen und sie sollten keinesfalls dahingehend ausgelegt werden, dass sie die Patentansprüche einschränken.
  • Dementsprechend versteht es sich, dass die vorstehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, wären dem Fachmann nach der Lektüre der vorstehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung bestimmt werden, sondern sollte stattdessen unter Bezugnahme auf die beigefügten Patentansprüche zusammen mit dem vollständigen Umfang von Äquivalenten, zu denen derartige Patentansprüche berechtigen, bestimmt werden. Es wird vorweggenommen und beabsichtigt, dass es im Stand der Technik, der in dieser Schrift erörtert ist, zukünftige Entwicklungen geben wird und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen einbezogen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und ausschließlich durch die folgenden Patentansprüche eingeschränkt ist.
  • Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern in dieser Schrift nicht ausdrücklich etwas anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel wie etwa „ein“, „eine“, „der“, „die“, „das“ usw. dahingehend auszulegen, dass eines oder mehrere der aufgeführten Elemente genannt werden, sofern ein Patentanspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
  • Gemäß der vorliegenden Erfindung ist eine erste Vorrichtung bereitgestellt, die Folgendes aufweist: einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor zu Folgendem programmiert ist: Identifizieren einer Konfiguration auf einem Kommunikationsbus, der eines und nur eines von (1) einer ersten Buskonfiguration, die eine zweite LIN-Vorrichtung und keine zweite benutzerdefinierte Vorrichtung beinhaltet, (2) einer zweiten Buskonfiguration, die die zweite benutzerdefinierte Vorrichtung und keine LIN-Vorrichtung beinhaltet, und (3) einer dritten Buskonfiguration, die sowohl die zweite LIN-Vorrichtung als auch die zweite benutzerdefinierte Vorrichtung beinhaltet, umfasst, wobei die zweite LIN-Vorrichtung eine Zweiwegekommunikationsvorrichtung ist, die dazu programmiert ist, LIN-Nachrichten von der ersten Vorrichtung zu empfangen und darauf zu antworten, und die zweite benutzerdefinierte Vorrichtung eine Einwegkommunikationsvorrichtung ist, die dazu programmiert ist, nur Nachrichten an die erste Vorrichtung zu übertragen; Auswählen eines zur Kommunikation mit der identifizierten Buskonfiguration vorgegebenen Betriebsmodus; und Steuern von Sende- und Empfangszeiten der ersten Vorrichtung auf Grundlage des ausgewählten Betriebsmodus.
  • Gemäß einer Ausführungsform ist der Prozessor zum Identifizieren der Kommunikationsbuskonfiguration ferner zu Folgendem programmiert: Detektieren einer Einschaltung; und Betreiben in einem Empfangsmodus, um eine benutzerdefinierte Nachricht von der zweiten benutzerdefinierten Vorrichtung während eines ersten vorbestimmten Zeitraums nach dem Detektieren der Einschaltung zu empfangen.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Festlegen eines Betriebs der ersten Vorrichtung, um mit zweiten LIN-Vorrichtungen zu kommunizieren, die dazu programmiert sind, LIN-Nachrichten von der ersten Vorrichtung zu empfangen und darauf zu antworten, auf Grundlage davon, dass die benutzerdefinierte Nachricht nicht innerhalb des ersten vorbestimmten Zeitraums nach dem Detektieren der Einschaltung von der zweiten benutzerdefinierten Vorrichtung empfangen wird.
  • Gemäß einer Ausführungsform ist der Prozessor zum Identifizieren der Kommunikationsbuskonfiguration ferner zu Folgendem programmiert: Festlegen nach dem Empfangen der benutzerdefinierten Nachricht von der zweiten benutzerdefinierten Vorrichtung innerhalb des ersten vorbestimmten Zeitraums, dass die erste Vorrichtung mit einer möglichen zweiten LIN-Vorrichtung auf dem Kommunikationsbus kommuniziert; Übertragen einer LIN-Steuernachricht an die mögliche zweite LIN-Vorrichtung; und Lauschen nach einer Antwort auf die LIN-Steuernachricht von der möglichen zweiten LIN-Vorrichtung auf dem Kommunikationsbus während einer Antwortzeit.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: in einem Fall, in dem die Antwort auf die LIN-Steuernachricht nicht innerhalb der Antwortzeit empfangen wird, Festlegen eines Betriebs der ersten Vorrichtung, um Nachrichten von der zweiten benutzerdefinierten Vorrichtung zu empfangen.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Bestimmen der zweiten LIN-Vorrichtung auf dem Kommunikationsbus auf Grundlage davon, dass die Antwort auf die LIN-Steuernachricht empfangen wird; und Festlegen eines Betriebs der ersten Vorrichtung, um sowohl mit der zweiten LIN-Vorrichtung als auch der zweiten benutzerdefinierten Vorrichtung zu kommunizieren.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Detektieren einer Datenkollision auf dem Kommunikationsbus; Aktualisieren des ersten vorbestimmten Zeitraums auf Grundlage davon, dass die Datenkollision detektiert wird; und Speichern des aktualisierten ersten vorbestimmten Zeitraums.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Betreiben in dem Empfangsmodus, um die benutzerdefinierte Nachricht von der zweiten benutzerdefinierten Vorrichtung während des aktualisierten ersten vorbestimmten Zeitraums zu empfangen; Festlegen nach dem Empfangen der benutzerdefinierten Nachricht von der zweiten benutzerdefinierten Vorrichtung innerhalb des aktualisierten ersten vorbestimmten Zeitraums, dass die erste Vorrichtung mit einer möglichen zweiten LIN-Vorrichtung auf dem Kommunikationsbus kommuniziert; Übertragen einer LIN-Steuernachricht an die mögliche zweite LIN-Vorrichtung; und Lauschen nach einer Antwort auf die Steuernachricht von der möglichen zweiten LIN-Vorrichtung auf dem Kommunikationsbus während einer Antwortzeit.
  • Gemäß der vorliegenden Erfindung ist eine erste Vorrichtung bereitgestellt, die Folgendes aufweist: einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, um den Prozessor derart zu programmieren, dass der Prozessor zu Folgendem programmiert ist: Identifizieren, dass eine zweite Vorrichtung auf einem Kommunikationsbus eines und nur eines von (1) einer Kalibrierungsvorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der ersten Vorrichtung zu steuern, (2) einer LIN-Master-Vorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der ersten Vorrichtung zu steuern, und (3) einer benutzerdefinierten Master-Vorrichtung, die dazu programmiert ist, nur Nachrichten von der ersten Vorrichtung zu empfangen, ist; und Auswählen eines zur Kommunikation mit der identifizierten einen der Kalibrierungsvorrichtung, der LIN-Master-Vorrichtung und der benutzerdefinierten Master-Vorrichtung vorgegebenen Betriebsmodus.
  • Gemäß einer Ausführungsform ist der Prozessor zum Identifizieren der zweiten Vorrichtung auf dem Kommunikationsbus ferner zu Folgendem programmiert: Detektieren einer Einschaltung; und Festlegen einer Kommunikationsgeschwindigkeit zum Empfangen von entweder (1) einer Kalibrierungsnachricht von der Kalibrierungsvorrichtung oder (2) einer LIN-Nachricht von der LIN-Master-Vorrichtung auf dem Kommunikationsbus.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Auswählen des zur Kommunikation mit der Kalibrierungsvorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die Kalibrierungsnachricht innerhalb eines ersten vorbestimmten Zeitraums empfangen wird.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Auswählen des zur Kommunikation mit der LIN-Master-Vorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die LIN-Nachricht innerhalb eines ersten vorbestimmten Zeitraums empfangen wird.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Initiieren eines zweiten Zeitgebers auf Grundlage davon, dass weder die Kalibrierungsnachricht noch die LIN-Nachricht innerhalb eines ersten vorbestimmten Zeitraums empfangen wird.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Auswählen des zur Kommunikation mit der LIN-Master-Vorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die LIN-Nachricht innerhalb eines zweiten vorbestimmten Zeitraums empfangen wird.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Auswählen des zur Kommunikation mit der benutzerdefinierten Master-Vorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die LIN-Nachricht nicht innerhalb eines zweiten vorbestimmten Zeitraums empfangen wird.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Detektieren einer Kollision auf dem Kommunikationsbus; und Aktualisieren von mindestens einem des ersten vorbestimmten Zeitraums und des zweiten vorbestimmten Zeitraums.
  • Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: einen Kommunikationsbus; eine erste Vorrichtung, die einen ersten Computer beinhaltet, der einen ersten Prozessor und einen ersten Speicher beinhaltet, wobei der erste Speicher erste Anweisungen beinhaltet, sodass der erste Prozessor zu Folgendem programmiert ist: Identifizieren einer Konfiguration auf dem Kommunikationsbus, der eines und nur eines von (1) einer ersten Buskonfiguration, die eine zweite LIN-Vorrichtung und keine zweite benutzerdefinierte Vorrichtung beinhaltet, (2) einer zweiten Buskonfiguration, die die zweite benutzerdefinierte Vorrichtung und nicht die zweite LIN-Vorrichtung beinhaltet, und (3) einer dritten Buskonfiguration, die sowohl die zweite LIN-Vorrichtung als auch die zweite benutzerdefinierte Vorrichtung beinhaltet, umfasst, wobei die zweite LIN-Vorrichtung eine Zweiwegekommunikationsvorrichtung ist, die dazu programmiert ist, LIN-Nachrichten von der ersten Vorrichtung zu empfangen und darauf zu antworten, und die zweite benutzerdefinierte Vorrichtung eine Einwegkommunikationsvorrichtung ist, die dazu programmiert ist, nur Nachrichten an die erste Vorrichtung zu übertragen; Auswählen eines zur Kommunikation mit der identifizierten Buskonfiguration vorgegebenen Betriebsmodus; und Steuern von Sende- und Empfangszeiten der ersten Vorrichtung auf Grundlage des ausgewählten Betriebsmodus; und eine dritte Vorrichtung, die einen zweiten Computer beinhaltet, der einen zweiten Prozessor und einen zweiten Speicher beinhaltet, wobei der zweite Speicher zweite Anweisungen beinhaltet, um den zweiten Prozessor derart zu programmieren, dass der zweite Prozessor zu Folgendem programmiert ist: Identifizieren, dass eine vierte Vorrichtung auf dem Kommunikationsbus eines und nur eines von (1) einer Kalibrierungsvorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der dritten Vorrichtung zu steuern, (2) einer LIN-Master-Vorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der dritten Vorrichtung zu steuern, und (3) einer benutzerdefinierten Master-Vorrichtung, die dazu programmiert ist, nur Nachrichten von der dritten Vorrichtung zu empfangen, ist; und Auswählen eines zur Kommunikation mit der identifizierten einen der Kalibrierungsvorrichtung, der LIN-Master-Vorrichtung und der benutzerdefinierten Master-Vorrichtung vorgegebenen Betriebsmodus, wobei die vierte Vorrichtung und die erste Vorrichtung eine gleiche Vorrichtung sein können.
  • Gemäß einer Ausführungsform ist der erste Prozessor zum Identifizieren einer Art der zweiten Vorrichtung auf dem Kommunikationsbus ferner zu Folgendem programmiert: Detektieren einer Einschaltung; Betreiben in einem Empfangsmodus, um eine benutzerdefinierte Nachricht von der zweiten Vorrichtung während eines ersten vorbestimmten Zeitraums nach dem Detektieren der Einschaltung zu empfangen; Bestimmen nach dem ersten vorbestimmten Zeitraum, dass keine benutzerdefinierte Nachricht empfangen worden ist; Festlegen eines Betriebs der ersten Vorrichtung, um mit zweiten LIN-Vorrichtungen zu kommunizieren, die dazu programmiert sind, eine LIN-Nachricht von der ersten Vorrichtung zu empfangen und darauf zu antworten, auf Grundlage davon, dass die benutzerdefinierte Nachricht nicht innerhalb des ersten vorbestimmten Zeitraums nach dem Detektieren der Einschaltung von der zweiten benutzerdefinierten Vorrichtung empfangen wird; und Übertragen der LIN-Nachricht auf dem Kommunikationsbus.
  • Gemäß einer Ausführungsform ist der zweite Prozessor zum Identifizieren der ersten Vorrichtung auf dem Kommunikationsbus ferner zu Folgendem programmiert: Detektieren der Einschaltung; Empfangen der LIN-Nachricht von der LIN-Master-Vorrichtung innerhalb eines zweiten vorbestimmten Zeitraums nach der Einschaltung; und Bestimmen, dass die erste Vorrichtung eine LIN-Master-Vorrichtung ist, auf Grundlage davon, dass die LIN-Nachricht innerhalb des zweiten vorbestimmten Zeitraums empfangen wird.
  • Gemäß einer Ausführungsform ist der zweite Prozessor ferner zu Folgendem programmiert: Senden einer Antwort an die erste Vorrichtung nach dem Empfangen der LIN-Nachricht; und ferner wobei der erste Prozessor ferner zu Folgendem programmiert ist: Empfangen der Antwort innerhalb einer vorbestimmten Antwortzeit; und Bestimmen auf Grundlage der Antwort, dass die zweite Vorrichtung eine LIN-Slave-Vorrichtung ist.

Claims (11)

  1. Verfahren, umfassend: Identifizieren durch eine erste Vorrichtung, dass eine zweite Vorrichtung auf einem Kommunikationsbus eines und nur eines von (1) einer Kalibrierungsvorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der ersten Vorrichtung zu steuern, (2) einer LIN-Master-Vorrichtung, die dazu programmiert ist, Zweiwegekommunikation mit der ersten Vorrichtung zu steuern, und (3) einer benutzerdefinierten Master-Vorrichtung, die dazu programmiert ist, nur Nachrichten von der ersten Vorrichtung zu empfangen, ist; und Auswählen eines zur Kommunikation mit der identifizierten einen der Kalibrierungsvorrichtung, der LIN-Master-Vorrichtung und der benutzerdefinierten Master-Vorrichtung vorgegebenen Betriebsmodus.
  2. Verfahren nach Anspruch 1, wobei Identifizieren der zweiten Vorrichtung auf dem Kommunikationsbus ferner Folgendes umfasst: Detektieren einer Einschaltung; und Festlegen einer Kommunikationsgeschwindigkeit zum Empfangen von entweder (1) einer Kalibrierungsnachricht von der Kalibrierungsvorrichtung oder (2) einer LIN-Nachricht von der LIN-Master-Vorrichtung auf dem Kommunikationsbus.
  3. Verfahren nach Anspruch 2, ferner umfassend: Auswählen des zur Kommunikation mit der Kalibrierungsvorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die Kalibrierungsnachricht innerhalb eines ersten vorbestimmten Zeitraums empfangen wird.
  4. Verfahren nach Anspruch 2, ferner umfassend: Auswählen des zur Kommunikation mit der LIN-Master-Vorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die LIN-Nachricht innerhalb eines ersten vorbestimmten Zeitraums empfangen wird.
  5. Verfahren nach Anspruch 2, ferner umfassend: Initiieren eines zweiten Zeitgebers auf Grundlage davon, dass weder die Kalibrierungsnachricht noch die LIN-Nachricht innerhalb eines ersten vorbestimmten Zeitraums empfangen wird.
  6. Verfahren nach Anspruch 5, ferner umfassend: Auswählen des zur Kommunikation mit der LIN-Master-Vorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die LIN-Nachricht innerhalb eines zweiten vorbestimmten Zeitraums empfangen wird.
  7. Verfahren nach Anspruch 5, ferner umfassend: Auswählen des zur Kommunikation mit der benutzerdefinierten Master-Vorrichtung vorgegebenen Betriebsmodus auf Grundlage davon, dass die LIN-Nachricht nicht innerhalb eines zweiten vorbestimmten Zeitraums empfangen wird.
  8. Verfahren nach Anspruch 7, ferner umfassend: Detektieren einer Kollision auf dem Kommunikationsbus; und Aktualisieren von mindestens einem des ersten vorbestimmten Zeitraums und des zweiten vorbestimmten Zeitraums.
  9. Computer, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-8 auszuführen.
  10. Fahrzeug, das einen Computer beinhaltet, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-8 auszuführen.
  11. Computerprogrammprodukt, das ein computerlesbares Medium umfasst, das Anweisungen speichert, die durch einen Computerprozessor ausführbar sind, um das Verfahren nach einem der Ansprüche 1-8 auszuführen.
DE102020119543.5A 2019-07-30 2020-07-23 Intelligente netzvorrichtungen Pending DE102020119543A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/526,223 US11310074B2 (en) 2019-07-30 2019-07-30 Smart network devices
US16/526223 2019-07-30

Publications (1)

Publication Number Publication Date
DE102020119543A1 true DE102020119543A1 (de) 2021-02-04

Family

ID=74174923

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020119543.5A Pending DE102020119543A1 (de) 2019-07-30 2020-07-23 Intelligente netzvorrichtungen

Country Status (3)

Country Link
US (1) US11310074B2 (de)
CN (1) CN112311638A (de)
DE (1) DE102020119543A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11223516B1 (en) 2020-10-30 2022-01-11 Nutanix, Inc. Smart collection and processing in telemetry system
US11700178B2 (en) 2020-10-30 2023-07-11 Nutanix, Inc. System and method for managing clusters in an edge network
US11765065B1 (en) * 2022-03-23 2023-09-19 Nutanix, Inc. System and method for scalable telemetry

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792337B2 (en) 1994-12-30 2004-09-14 Power Measurement Ltd. Method and system for master slave protocol communication in an intelligent electronic device
US6420961B1 (en) 1998-05-14 2002-07-16 Micron Technology, Inc. Wireless communication systems, interfacing devices, communication methods, methods of interfacing with an interrogator, and methods of operating an interrogator
US6577229B1 (en) 1999-06-10 2003-06-10 Cubic Corporation Multiple protocol smart card communication device
KR100495657B1 (ko) 2002-05-03 2005-06-16 삼성전자주식회사 복수의 통신 모드들을 갖는 집적 회로 장치 및 그것의동작 방법
DE102012200475B4 (de) 2012-01-13 2013-10-17 Technische Universität Kaiserslautern Zeit- und Prioritäts-gesteuerter Sende/Empfangsknoten für FlexRay und LIN
US10183570B2 (en) * 2013-09-26 2019-01-22 Means Industries, Inc. Drive systems including transmissions for electric and hybrid electric vehicles
US10417172B2 (en) * 2014-04-28 2019-09-17 Qualcomm Incorporated Sensors global bus
EP3079309A1 (de) * 2015-04-07 2016-10-12 MAHLE International GmbH Thermisches system für ein automobilfahrzeug
US11055615B2 (en) * 2016-12-07 2021-07-06 Arilou Information Security Technologies Ltd. System and method for using signal waveform analysis for detecting a change in a wired network
WO2019014754A1 (en) * 2017-07-20 2019-01-24 Les Systèmes Cyberkar CONFIGURABLE MANAGEMENT SYSTEM FOR VEHICLE AND METHOD OF USE

Also Published As

Publication number Publication date
CN112311638A (zh) 2021-02-02
US11310074B2 (en) 2022-04-19
US20210036886A1 (en) 2021-02-04

Similar Documents

Publication Publication Date Title
DE102020119543A1 (de) Intelligente netzvorrichtungen
EP2622826B1 (de) Verfahren zur automatischen adressvergabe an gleichartige busteilnehmer
DE102015214915B4 (de) Flexibles Scheduling-Verfahren und Scheduling-Vorrichtung bei einer LIN-Kommunikation
DE102011120872B4 (de) Verfahren zur Nachrichtenübertragungs-Deaktivierungsprüfung eines Controllerbereichsnetzes
DE112017005979T5 (de) Parallelprozessvorrichtung und Parallelprozessprogramm
WO2009109590A1 (de) Kommunikationssystem mit einem can-bus und verfahren zum betreiben eines solchen kommunikationssystems
DE102014209752A1 (de) Relaiseinrichtung
DE102017123252A1 (de) Softwareaktualisierungsverfahren und -vorrichtung für Fahrzeug
DE102017124013A1 (de) Fahrzeuginternes Netzwerksystem
EP1600831A1 (de) Verfahren und Vorrichtung zur Überwachung mehrerer Steuergeräte mittels einer Frage-Antwort-Kommunikation
DE102019126804A1 (de) Fahrzeugsoftwareprüfung
DE102013215925A1 (de) Elektronische Steuervorrichtung
DE102012017386B4 (de) Verfahren zum Überwachen einer mit einem Kommunikationskanal verbundenen Vorrichtung
EP2359254B1 (de) Verfahren und system zur steuerung einer kommunikation zwischen einem funktionsrechner und einem überwachungsmodul
DE102021104422A1 (de) Verfahren zum Betreiben eines Kommunikationssystems, Kommunikationssystem und Rechensystem
DE102019107997B4 (de) Kommunikation zwischen einem Gerät und einer elektronischen Steuereinheit, sowie entsprechendes System und Verfahren
DE102019111623A1 (de) Lenksteuerapparat und lenksteuerverfahren und lenksystem
DE102012003000A1 (de) Ferndiagnostizierung von Fahrzeugen
DE112016006679B4 (de) Steuerungsvorrichtung und Recovery-Verarbeitungsverfahren für Steuerungsvorrichtung
EP3573290B1 (de) Verfahren zum betreiben einer sensoranordnung in einem kraftfahrzeug auf basis eines dsi-protokolls
EP1289190B1 (de) Automatisierte Buskonfiguration
DE102019125493A1 (de) Slaveeinrichtung, Bussystem und Verfahren
DE112019002469T5 (de) Elektronische steuereinheit und sitzungsaufbau-programm
DE102020119930A1 (de) Fahrzeugtelematiksystem
DE112016006175T5 (de) Programmierbare Steuerung und Synchronisationssteuerungsprogramm

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: LORENZ SEIDLER GOSSEL RECHTSANWAELTE PATENTANW, DE