DE102021120927A1 - Echtzeitüberwachung und -steuerung von usb-typ-c/pd-ports ineinem kraftfahrzeug- oder industrieökosystem - Google Patents

Echtzeitüberwachung und -steuerung von usb-typ-c/pd-ports ineinem kraftfahrzeug- oder industrieökosystem Download PDF

Info

Publication number
DE102021120927A1
DE102021120927A1 DE102021120927.7A DE102021120927A DE102021120927A1 DE 102021120927 A1 DE102021120927 A1 DE 102021120927A1 DE 102021120927 A DE102021120927 A DE 102021120927A DE 102021120927 A1 DE102021120927 A1 DE 102021120927A1
Authority
DE
Germany
Prior art keywords
usb
frame
response
port
data
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
DE102021120927.7A
Other languages
English (en)
Other versions
DE102021120927A8 (de
Inventor
Bhargav Teja Paleti
Debraj Bhattacharjee
Kailas Iyer
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.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor Corp
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 Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Publication of DE102021120927A1 publication Critical patent/DE102021120927A1/de
Publication of DE102021120927A8 publication Critical patent/DE102021120927A8/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • 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
    • 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
    • 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/40215Controller Area Network CAN
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)

Abstract

Offenbart werden Lösungen zum Kommunizieren mit USB-C/PD-Systemen über standardmäßige Kommunikationsschnittstellen in Kraftfahrzeug-, Luftfahrt-, Industrie- oder anderen Anwendungen. Gemäß einem Aspekt ermöglichen es die Lösungen einem Steuergerät des Kraftfahrzeug-LIN(Local Interconnect Network)-Busses, wie etwa einer elektronischen Steuereinheit (ECU) eines Fahrzeugs, Lade- und Störungsdaten von Ports eines USB-C/PD-Systems über das bestehende Fahrzeugnetzwerk zu konfigurieren, zu steuern und zu überwachen. Das USB-C/PD-System kann einen Botschaftsrahmen decodieren, um einen Rahmentyp zu bestimmen. Ist der Botschaftsrahmen ein Anfragerahmen, werden Steuerdaten von der ECU über den LIN-Bus empfangen, um die Operationen des USB-C/PD-Ports zu steuern. Ist der Botschaftsrahmen ein Antwortrahmen, überträgt der USB-C/PD-Port Antwortdaten, die die Operationen des USB-C/PD-Ports überwachen, an die ECU über den LIN-Bus. Vorteilhafterweise kann das USB-C/PD-System leicht in bestehende Kommunikationsnetzwerke integriert werden und stellt eine kostengünstige und skalierbare Lösung bereit.

Description

  • QUERVERWEIS AUF VERWANDTE PATENTANMELDUNG
  • Diese Patentanmeldung beansprucht den Vorteil der provisorischen US-Patentanmeldung Nr. 63/073,876 , eingereicht am 2. September 2020, deren Offenbarung hierin durch Bezugnahme in ihrer Gesamtheit einbezogen ist.
  • GEBIET DER ERFINDUNG
  • Diese Offenbarung betrifft allgemein Universal-Serial-Bus(USB)-Systeme und insbesondere Verfahren und Systeme zum Konfigurieren, Steuern und Überwachen von USB-Systemen, die mit verschiedenen Revisionen der USB-Leistungsabgabe(PD, Power Delivery)-Spezifikation (USB-PD-Spezifikation, auch als USB-C/PD-Spezifikation bezeichnet) kompatibel sind, über standardisierte Kommunikationsschnittstellen wie etwa LIN (Local Interconnect Network), CAN (Controller Area Network) und andere, die in Kraftfahrzeug-, Luftfahrt-, Industrie- oder anderen Ökosystemen verwendet werden.
  • STAND DER TECHNIK
  • Verschiedene elektronische Vorrichtungen (wie etwa z. B. Smartphones, Tablets, Notebook-Computer, Laptop-Computer, Hubs, Ladegeräte, Adapter usw.) sind konfiguriert, um über USB-Verbinder oder -Ports Daten zu kommunizieren oder Leistung gemäß USB-Leistungsabgabeprotokollen, die in verschiedenen Revisionen der USB-Leistungsabgabe(USB-PD)-Spezifikation definiert sind, zu übertragen. Beispielsweise kann in einigen Anwendungen eine elektronische Vorrichtung als ein Leistungsverbraucher konfiguriert sein, um Leistung über einen USB-Verbinder zu empfangen (z. B. zum Batterieladen), während in anderen Anwendungen eine elektronische Vorrichtung als ein Leistungsbereitsteller konfiguriert sein kann, um einer anderen Vorrichtung, die mit ihr über einen USB-Verbinder verbunden ist, Leistung bereitzustellen. Die USB-PD-Spezifikation erlaubt es Leistungsbereitstellern und Leistungsverbrauchern, die Pegel der bereitgestellten Spannungen und Ströme dynamisch auszuhandeln.
  • In Kraftfahrzeugen können USB-PD-Ports an verschiedenen Stellen in der Innenkabine untergebracht sein (z. B. Anzeigekonsole, Rücksitzunterhaltungsteilsystem, Armlehne), damit Insassen elektronische Vorrichtungen unter Verwendung der durch das elektrische System des Kraftfahrzeugs bereitgestellten Leistung laden können. Komponenten und Teilsysteme in Kraftfahrzeugen kommunizieren üblicherweise über ein Steuer- und Kommunikationsnetzwerk des Fahrzeugs, das auf standardmäßigen seriellen Kommunikationsprotokollen wie etwa LIN (Local Interconnect Network), CAN (Controller Area Network), FLexRay, MOST usw. basiert. Beispielsweise kann ein Steuergerät in einem Kraftfahrzeug, wie etwa eine elektronische Steuereinheit (ECU, Electronic Control Unit), verschiedene Fahrzeugfunktionen unter Verwendung einer LIN-basierten Kommunikation konfigurieren, steuern und überwachen. Es gibt jedoch keine bestehende Lösung, die es einer ECU ermöglicht, USB-PD-Ports in Kraftfahrzeugen über das standardmäßige Fahrzeugnetzwerk direkt zu überwachen und zu steuern. Einige USB-PD-Systeme in Kraftfahrzeugen können ein externes Steuergerät verwenden, um es der ECU zu ermöglichen, die USB-PD-Ports über eine I2C- oder SPI-basierte Schnittstelle zu steuern. Solch nicht standardisierte Auslegungen erfordern jedoch ein dediziertes externes Steuergerät, um zwischen dem I2C- oder SPI-Protokoll und den Steuerregistern der USB-PD-Ports zu übersetzen. Es ist schwierig, die Auslegungen in standardisierte Fahrzeugschnittstellen zu integrieren. Zudem sind sie nicht skalierbar, da es nicht machbar bzw. teuer ist, die I2C- oder SPI-Schnittstelle im ganzen Fahrzeug zu verdrahten. Deshalb besteht ein Bedarf an einer direkten Steuerung und Überwachung von USB-PD-Ports in Kraftfahrzeugen über standardisierte Kraftfahrzeugschnittstellen, die effizient, kostengünstig und skalierbar ist.
  • Figurenliste
  • Die beschriebenen Ausführungsformen und die diesbezüglichen Vorteile werden am besten durch Bezugnahme auf die folgende Beschreibung zusammen mit den begleitenden Zeichnungen verstanden. Diese Zeichnungen begrenzen in keiner Weise Form- und Detailänderungen, die durch einen Fachmann an den beschriebenen Ausführungsformen vorgenommen werden können, ohne dabei von dem Geist und Umfang der beschriebenen Ausführungsformen abzuweichen.
    • 1 ist ein Diagramm, das Multi-Port-USB-C/PD-Systeme illustriert, die sich an verschiedenen Stellen in einem Kraftfahrzeug befinden, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 2 ist ein Blockdiagramm, das eine Lösung für das Verbinden der USB-C/PD-Systeme in einem Kraftfahrzeug mit einem LIN-basierten Netzwerk in einem Kraftfahrzeug illustriert, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 3 illustriert einen LIN-Bus-Botschaftsrahmen, der einen Header-Abschnitt, der von einem LIN-Master über den LIN-Bus an ein Slave-USB-C/PD-System übertragen wird, und einen Antwortabschnitt, der in Abhängigkeit von dem Typ des Botschaftsrahmens entweder von dem LIN-Master oder dem Slave-USB-C/PD-System übertragen werden kann, umfasst, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 4 illustriert den Rahmenidentifikator, der den Typ der Botschaftsrahmen einer LIN-Botschaft, die durch ein Slave-USB-C/PD-System von einem LIN-Master empfangen wird, angibt, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 5 illustriert den Service-Identifikator (SID), der den Typ des Services angibt, der, wie durch eine von einem LIN-Master empfangene LIN-Botschaft angefragt, durch ein Slave-USB-C/PD-System durchgeführt werden soll, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 6 illustriert die Protokollsteuerinformationen (PCI), die das PDU(Packet Data Unit, Paketdateneinheit)-Format von Daten angeben, die, wie durch eine LIN-Botschaft angefragt, von einem LIN-Master oder einem Slave-USB-C/PD-System übertragen werden, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 7 illustriert die Felder des Antwortabschnitts einer LIN-Botschaft für verschiedene PDU-Formate von Master-Anfragerahmen, die von einem LIN-Master an ein Slave-USB-C/PD-System übertragen werden, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 8 illustriert die Felder des Antwortabschnitts einer LIN-Botschaft für verschiedene PDU-Formate von Daten, die von einem Slave-USB-C/PD-System an einen LIN-Master übertragen werden, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 9A illustriert einen ersten beispielhaften Ablauf von LIN-Botschaften, mit denen ein LIN-Master ein Slave-USB-C/PD-System über ein LIN-basiertes ECU-Netzwerk konfigurieren und überwachen kann, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 9B illustriert die Rahmen der Lese-, Konfigurations-, Steuer- oder Statusbefehle der LIN-Botschaften, die von dem LIN-Master ausgegeben werden, um das Slave-USB-C/PD-System aus 9A zu konfigurieren und zu überwachen, und mögliche Antwortrahmen, die von dem USB-C/PD-System übertragen werden, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 10 illustriert einen zweiten beispielhaften Ablauf von LIN-Botschaften, mit denen ein LIN-Master ein Slave-USB-C/PD-System über ein LIN-basiertes ECU-Netzwerk konfigurieren und überwachen kann, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 11 illustriert ein Ablaufdiagramm eines Slave-USB-C/PD-Systems, das zwischen verschiedenen Status in dem LIN-basierten Netzwerk hin- und herwechselt, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 12 illustriert ein Ablaufdiagramm eines Verfahrens, mit dem ein Slave-USB-C/PD-System LIN-Botschaften verarbeiten kann, um verschiedene Typen von Services, wie durch einen LIN-Master befohlen, durchzuführen, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 13 illustriert ein Ablaufdiagramm eines Verfahrens, mit dem ein Slave-USB-C/PD-System Befehle, die über eine standardmäßige Schnittstelle von einer Master-Vorrichtung empfangen werden, verarbeiten kann, um verschiedene Typen von Services durchzuführen, gemäß einem Aspekt der vorliegenden Offenbarung;
    • 14 illustriert ein Blockdiagramm eines USB-C/PD-Systems, das durch ein Master-Steuergerät über ein standardmäßiges Kommunikationsnetzwerk, das in Kraftfahrzeug-, Luftfahrt-, Industrie- oder anderen Anwendungen verwendet wird, konfiguriert, gesteuert und überwacht werden kann, gemäß einem Aspekt der vorliegenden Offenbarung.
  • DETAILLIERTE BESCHREIBUNG
  • Beispiele verschiedener Aspekte und Variationen der gegenständlichen Technologie werden hierin beschrieben und in den begleitenden Zeichnungen illustriert. Die folgende Beschreibung soll die Erfindung nicht auf diese Ausführungsformen begrenzen, sondern soll es Fachleuten vielmehr ermöglichen, diese Erfindung umzusetzen und zu verwenden.
  • Hierin beschrieben werden verschiedene Aspekte von Techniken zum Kommunizieren mit Universal-Serial-Bus-Leistungsabgabe(USB-PD)-Spezifikationen, einem USB-Typ-C-Teilsystem oder beiden (z. B. einem USB-Typ-C-Teilsystem, das eine USB-PD-Funktionalität unterstützt), die insgesamt als USB-Typ-C-/PD- oder USB-C/PD-Systeme bezeichnet werden, über standardmäßige Kommunikations- und Steuerschnittstellen, die in Kraftfahrzeug-, Luftfahrt-, Industrie- oder anderen Anwendungen verwendet werden. Gemäß einem Aspekt der Offenbarung werden Lösungen bereitgestellt, um USB-C/PD-Systeme mit dem LIN (Local Interconnect Network) zu verbinden, das in Kraftfahrzeugen als eine standardisierte Schnittstelle für die serielle Kommunikation verwendet wird. Die Lösungen ermöglichen es einem Netzwerksteuergerät des LIN-Busses, wie etwa einer elektronische Steuereinheit (ECU) eines Fahrzeugs, Lade- und Störungsdaten von Ports des USB-C/PD-Systems zu konfigurieren, zu steuern und zu überwachen. Die ECU kann die Aufteilung von Leistung, die Wärmeerfassung, den Anzeigeport und den allgemeinen Vorrichtungsstatus der USB-C/PD-Systeme über das bestehende Fahrzeugnetzwerk verwalten. Beispielsweise kann die ECU die Leistung der USB-C/PD-Ports basierend auf dem Batterieleistungsstatus und dem Systemverhalten steuern, so kann die ECU etwa die Ladeinformationen der USB-C/PD-Ports überwachen, um Fähigkeiten zur Leistungsaufteilung und Leistungsdrosselung zu erweitern. Der Ladestatus der USB-C/PD-verbundenen Vorrichtungen und Störungen wie etwa Spannungskurzschlüsse, Portausfälle usw. können über den LIN-Bus an die ECU übertragen werden, um die Ladeinformationen und Warnungen auf dem Cockpit anzuzeigen. Firmwareaktualisierungen der USB-C/PD-Systeme können über den ECU/OBD(On-Board Diagnostics)-Port stattfinden, oder die ECU kann die Operationen der einzelnen Ports dynamisch konfigurieren, umfassend das Abschalten der Ports. Vorteilhafterweise können USB-C/PD-Systeme leicht in bestehende Kommunikationsnetzwerke integriert werden und so eine kostengünstige und skalierbare Lösung bereitstellen.
  • Gemäß einem Aspekt der Offenbarung wird ein Verfahren offenbart, mit dem eine USB-C/PD-Vorrichtung als eine Slave-Vorrichtung über den LIN-Bus arbeiten kann, um Befehle, die von einer Master-Vorrichtung, wie etwa der Kraftfahrzeug-ECU, übertragen werden, abzuarbeiten. Das Verfahren kann umfassen, dass die USB-C/PD-Vorrichtung auf einen Rahmen auf dem LIN-Bus lauscht und den Rahmen verwirft, falls nach dem Start des Rahmens innerhalb einer Timeout-Periode für das Lauschen kein kompletter Rahmen empfangen wird. Wird ein gültiger Rahmen erkannt, kann die USB-C/PD-Vorrichtung basierend auf einem Rahmen-ID bestimmen, ob der Rahmen ein Publish- oder ein Subscribe-Rahmen ist. Ist der Rahmen ein Publish-Rahmen (d. h. ein Slave-Antwortrahmen), kann die USB-C/PD-Vorrichtung Daten, die in einem Rahmenpuffer gespeichert sind, auf den LIN-Bus übertragen, falls vor dem Empfangen des Publish-Rahmens ein gültiger Subscribe-Rahmen (d. h. ein Master-Anfragerahmen) empfangen wurde. Die in dem Rahmenpuffer gespeicherten Daten können Daten sein, die aus einer Zieladresse ausgelesen wurden, falls der vorherige Subscribe-Rahmen eine Speicherleseanfrage war. Alternativ können die in dem Rahmenpuffer gespeicherten Daten ein Schreibbestätigungsmerker sein, falls der vorherige Subscribe-Rahmen eine Speicherschreibanfrage war. Ist der Rahmen ein Subscribe-Rahmen, kann die USB-C/PD-Vorrichtung die in dem Subscribe-Rahmen empfangenen Daten in dem Rahmenpuffer speichern. Die USB-C/PD-Vorrichtung kann die Daten in dem Rahmenpuffer verarbeiten, um basierend auf dem Service-ID den Typ des durchzuführenden Services zu bestimmen. Falls der Service-ID einen Diagnoseservicerahmen für das Lesen eines Speichers nach Adresse angibt, kann die USB-C/PD-Vorrichtung die Daten aus dem adressierten Speicher in den Rahmenpuffer einlesen. Falls der Service-ID einen Diagnoseservicerahmen für das Beschreiben eines Speichers nach Adresse angibt, kann die USB-C/PD-Vorrichtung die in dem Subscribe-Rahmen konfigurierten Schreibdaten in dem adressierten Speicher speichern. Nach dem erfolgreichen Abschluss der Schreiboperation kann die USB-C/PD-Vorrichtung einen Schreibbestätigungsmerker in den Rahmenpuffer schreiben.
  • Gemäß einem Aspekt der Offenbarung wird ein Verfahren offenbart, mit dem eine USB-C/PD-Vorrichtung als eine Slave-Vorrichtung über ein Kommunikationsnetzwerk arbeiten kann, um Befehle, die von einer Master-Vorrichtung des Kommunikationsnetzwerks übertragen werden, abzuarbeiten. Das Kommunikationsnetzwerk kann standardmäßige Kommunikations- und Steuerschnittstellen oder-busse umfassen, die in Kraftfahrzeug-, Luftfahrt-, Industrie- oder anderen Anwendungen verwendet werden. Das Verfahren kann umfassen, dass die USB-C/PD-Vorrichtung über das Kommunikationsnetzwerk eine Botschaft von der Master-Vorrichtung empfängt. Die USB-C/PD-Vorrichtung kann die empfangene Botschaft decodieren, um den Typ der Befehle zu bestimmen. Falls die empfangene Botschaft ein Schreibbefehl ist, kann die USB-C/PD-Vorrichtung eine Start-Zieladresse einer oder mehrerer Stellen der USB-C/PD-Vorrichtung, auf die der Schreibbefehl abzielt, und die Steuerdaten, die startend mit der Start-Zieladresse in den Stellen gespeichert werden sollen, decodieren. Die USB-C/PD-Vorrichtung kann die Steuerdaten beginnend mit der Start-Zieladresse in die eine oder die mehreren Stellen der USB-C/PD-Vorrichtung schreiben und nach erfolgreichem Abschluss des Schreibbefehls einen Schreibbestätigungsmerker in einem Leseantwort-Softwareregister oder einer Leseantwortstelle speichern. Der Schreibbestätigungsmerker kann von der Master-Vorrichtung in einem anschließenden Lesebefehl gelesen werden, um zu bestätigen, dass die USB-C/PD-Vorrichtung den Schreibbefehl erfolgreich ausgeführt hat. Falls die empfangene Botschaft ein Holbefehl ist, kann die USB-C/PD-Vorrichtung eine Start-Zieladresse einer oder mehrerer Stellen der USB-C/PD-Vorrichtung, auf die der Holbefehl abzielt, und die Anzahl von Datenbytes, die startend mit der Start-Zieladresse aus den Stellen abzurufen sind, decodieren. Die USB-C/PD-Vorrichtung kann die Anzahl von Datenbytes beginnend mit der Start-Zieladresse aus der einen oder den mehreren Stellen der USB-C/PD-Vorrichtung abrufen und kann die abgerufenen Daten in einem FIFO der seriellen Schnittstelle, wie etwa einem FIFO des UART-Puffers, speichern. Falls die empfangene Botschaft ein Lesebefehl ist, kann die USB-C/PD-Vorrichtung eine Antwortbotschaft auf das Kommunikationsnetzwerk schicken, die die Daten enthält, die in dem Leseantwort-Softwareregister oder dem FIFO der seriellen Schnittstelle für die Master-Vorrichtung zwischengelagert wurden. Folgt der Lesebefehl beispielsweise auf einen Schreibbefehl, kann die Antwortbotschaft den Schreibbestätigungsmerker enthalten, der in dem Leseantwort-Softwareregister gespeichert wurde. Folgt der Lesebefehl auf einen Holbefehl, kann die Antwortbotschaft die Daten enthalten, die, wie durch den Holbefehl angewiesen, aus der einen oder den mehreren Stellen abgerufen und in dem FIFO der seriellen Schnittstelle zwischengelagert wurden.
  • Gemäß einem Aspekt können die elektronischen Vorrichtungen, die mit den Ports der USB-C/PD-Vorrichtung verbunden sind, Folgendes umfassen, ohne darauf begrenzt zu sein: Personal Computer (z. B. Laptop-Computer, Notebook-Computer und so weiter), mobile Rechenvorrichtungen (z. B. Tablets, Tablet-Computer, E-Reader-Vorrichtungen und so weiter), mobile Kommunikationsvorrichtungen (z. B. Smartphones, Mobiltelefone, Personal Digital Assistants, Nachrichtenübermittlungsvorrichtungen, Taschen-PCs und so weiter), Konnektivitäts- und Ladevorrichtungen (z. B. Hubs, Andockstationen, Adapter, Ladegeräte usw.), Audio-/Video-/Datenaufzeichnungs- und/oder -wiedergabevorrichtungen (z. B. Kameras, Sprachaufzeichnungsgeräte, tragbare Scanner, Monitore und so weiter) und andere ähnliche elektronische Vorrichtungen, die USB-Ports (-Schnittstellen) zum Kommunizieren und/oder Batterieladen verwenden können.
  • Wie hierin verwendet, wird eine elektronische Vorrichtung oder ein elektronisches System als „USB-fähig“ oder „USB-kompatibel“ bezeichnet, wenn die elektronische Vorrichtung oder das elektronische System mindestens einem Release einer USB-Spezifikation entspricht. Beispiele solcher USB-Spezifikationen umfassen, ohne darauf begrenzt zu sein, die USB-Spezifikation Revision 2.0, die USB-3.0-Spezifikation, die USB-3.1-Spezifikation und/oder verschiedene Ergänzungen (wie etwa z. B. On-The-Go bzw. OTG), Versionen und Errata davon. Die USB-Spezifikationen definieren allgemein die Eigenschaften (z. B. Attribute, Protokolldefinition, Transaktionstypen, Busverwaltung, Programmierschnittstellen und so weiter) eines differentiellen seriellen Busses, die erforderlich sind, um standardmäßige Kommunikationssysteme und -peripherieeinheiten zu gestalten und zu erstellen.
  • Eine USB-fähige elektronische Peripherievorrichtung wird beispielsweise an eine USB-fähige Host-Vorrichtung über einen USB-Port der Host-Vorrichtung angeschlossen, um ein USB-fähiges System zu bilden. Ein USB-2.0-Port (oder einfach USB2-Port) kann eine Leistungsleitung (z. B. VBUS) von 5 V, ein differentielles Paar Datenleitungen (die z. B. als D+ bzw. DP und D- bzw. DN gekennzeichnet werden können) und eine Masseleitung (z. B. MASSE) zur Leistungsrückführung umfassen. Ein USB-3.0-Port stellt auch die Leitungen VBUS, D+, D- und MASSE für eine Rückwärtskompatibilität mit USB 2.0 bereit. Zusätzlich stellt ein USB-3.0-Port, um einen schnelleren differentiellen Bus (den USB-SuperSpeed-Bus) zu unterstützen, auch ein differentielles Paar Transmitterdatenleitungen (als SSTX+ und SSTX- gekennzeichnet), ein differentielles Paar Empfängerdatenleitungen (als SSRX+ und SSRXgekennzeichnet), eine Leistungsleitung für die Leistung (die z. B. als DPWR gekennzeichnet werden kann) und eine Masseleitung zur Leistungsrückführung (die z. B. als DMASSE gekennzeichnet werden kann) bereit. Ein USB-3.1-Port stellt für die Rückwärtskompatibilität mit USB-2.0- und USB-3.0-Kommunikationen die gleichen Leitungen wie ein USB-3.0-Port bereit, erweitert aber das Leistungsverhalten des SuperSpeed-Busses durch eine Reihe von Merkmalen, die als Enhanced SuperSpeed bezeichnet werden.
  • Eine jüngere Technologie für USB-Verbinder, die USB-Typ-C genannt wird und in verschiedenen Releases der USB-Typ-C-Spezifikation definiert ist, stellt eine USB-Typ-C-Buchse, einen USB-Typ-C-Stecker und USB-Typ-C-Kabel bereit, die USB-Kommunikationen sowie eine Leistungsabgabe über neuere USB-Leistungsabgabeprotokolle, die beispielsweise in einer oder mehreren Revisionen der USB-PD-Spezifikationen definiert sind, unterstützen können. Die USB-PD-Spezifikation definiert ein Standardprotokoll, das so gestaltet ist, dass es die maximale Funktionalität USB-fähiger Vorrichtungen ermöglicht, indem es neben Datenkommunikationen auch eine flexiblere Leistungsabgabe über ein einziges USB-Typ-C-Kabel über USB-Typ-C-Ports bereitstellt. Die USB-PD-Spezifikation beschreibt auch die Architektur, die Protokolle, das Leistungsversorgungsverhalten, die Parameter und die Verkabelung, die zum Verwalten der Leistungsabgabe über USB-Typ-C-Kabel bis zu einer maximalen Leistung notwendig sind. Wie hierin verwendet, kann sich ein „USB-Typ-C/PD-System“ oder ein „USB-C/PD-System“ beispielsweise auf Hardwareschaltkreise beziehen, die durch Firmware und/oder Software in einem IC(Integrated Circuit)-Steuergerät steuerbar sind, welches konfiguriert und betriebsfähig ist, um die Funktionen durchzuführen und die Anforderungen zu erfüllen, die in mindestens einem Release der USB-PD-Spezifikation spezifiziert sind.
  • 1 ist ein Diagramm, das Multi-Port-USB-C/PD-Systeme illustriert, die sich an verschiedenen Stellen in einem Kraftfahrzeug befinden, gemäß einem Aspekt der vorliegenden Offenbarung. Ein Multi-Port-USB-C/PD-System kann einen Master-Port 102 und einen oder mehrere Slave-Ports 104 umfassen. Der Master-Port 102 kann durch ein Master-Steuergerät 112 gesteuert werden. Die Slave-Ports 104 können durch entsprechende Slave-Steuergeräte 114 gesteuert werden. Leistungswandler 108 wandeln eine Eingangsspannung in eine unterschiedliche Spannung um. In der veranschaulichten Ausführungsform sind die Leistungswandler 108 DC-DC-Leistungswandler. In einer Ausführungsform ist das Multi-Port-USB-C/PD-System ein Multi-Port-USB-C/PD-Rücksitzladegerät eines Kraftfahrzeugs. In einer anderen Ausführungsform ist das Multi-Port-USB-C/PD-System Teil eines Rücksitzunterhaltungssystems eines Kraftfahrzeugs. Ein Rücksitzunterhaltungssystem kann ein Anzeige-SoC(System-On-Chip) und eine oder mehrere Anzeigen 1150 oder andere leistungsverbrauchende Vorrichtungen, die mit dem Anzeige-SoC verbunden sind, umfassen. In einer anderen Ausführungsform ist das Multi-Port-USB-C/PD-System Teil einer Head-Unit eines Kraftfahrzeugs. Die Head-Unit des Kraftfahrzeugs kann einen USB-Hub und eine oder mehrere leistungsverbrauchende Vorrichtungen, die mit dem USB-Hub verbunden sind, umfassen.
  • In anderen Ausführungsformen kann das Multi-Port-USB-C/PD-System Teil eines Multi-Port-USB-C-Ladegeräts in einem Fahrzeug, Auto, Lastwagen, Lieferwagen, Boot, Flugzeug, Gebäude, Haus, einer Fabrik, Industrieanlage usw. sein. In anderen Ausführungsformen kann das Multi-Port-USB-C/PD-System ein Multi-Port-USB-C-Wandladegerät, eine Multi-Port-USB-C-Powerbank, ein Multi-Port-USB-C-Leistungs-Hub, ein gemeinsam benutzter Multi-Port-Leistungsadapter usw. sein. In anderen Ausführungsformen kann das Multi-Port-USB-C/PD-System Ports verwenden, die sich von USB-C-Ports unterscheiden, wie etwa Wandsteckdosen, Micro-USB-Ports usw.
  • 2 ist ein Blockdiagramm, das eine Lösung für das Verbinden der USB-C/PD-Systeme in einem Kraftfahrzeug mit einem LIN-basierten Netzwerk in einem Kraftfahrzeug illustriert, gemäß einem Aspekt der vorliegenden Offenbarung. Ein LIN ist ein kostengünstiges serielles Kommunikationsprotokoll, das primär auf Kraftfahrzeugnetzwerke abzielt. Die offenbarten Lösungen können die USB-C/PD-Systeme auch mit anderen Typen von standardmäßigen Kraftfahrzeugnetzwerken verbinden, umfassend CAN (Controller Area Network), FLexRay, MOST usw.
  • Ein Dual-Port-USB-C/PD-System 201 kann ein USB-C/PD-Steuergerät 203 und einen LIN-Transceiver 205 umfassen. Das USB-C/PD-Steuergerät 203 kann als eine Slave-Vorrichtung fungieren, um auf LIN-Bus-Botschaftsrahmen zu antworten, die von einer Master-Vorrichtung, wie etwa einer Kraftfahrzeug-ECU 250 oder einem Kraftfahrzeug-Bordnetzsteuermodul (BCM, Body Control Module), übertragen werden. Die Kraftfahrzeug-ECU 250 oder das BCM können USB-C/PD-Ports wie etwa Port 1 (102) und Port 2 (104), die durch das Dual-Port-USB-C/PD-Steuergerät 203 gegenüber dem LIN-Bus 210 verfügbar gemacht werden und auch als ECU-Netzwerk bezeichnet werden, konfigurieren, steuern und überwachen. Das USB-C/PD-Steuergerät 203 kann die USB-C/PD-Ports verfügbar machen, indem es einen seriellen Kommunikationsblock (SCB) 207 dazu umfunktioniert, die serielle Kommunikationsschnittstelle zu implementieren. Der SCB 207 kann Schaltkreise zur Implementierung einer Baudratenerkennung enthalten. Der LIN-Transceiver 205 enthält die Peripherieschaltkreise, um die Spannungsübersetzung zwischen dem USB-C/PD-Steuergerät 203 und den physischen Busleitungen des LIN-Busses 210 (z. B. die Spannungsübersetzung zwischen der UART-TTL des SCB 207 und dem LIN-Bus 210) durchzuführen. Der LIN-Transceiver 205 kann verschiedene Leistungsmodi aufweisen, wie etwa einen Schlafmodus, wenn während einer Mindestzeitperiode keine Aktivität auf dem LIN-Bus erkannt wird. In anderen Ausführungsformen kann das USB-C/PD-Steuergerät 203 die LIN-Peripherieschaltkreise enthalten, die es dem Dual-Port-USB-C/PD-System 201 gestatten, direkt mit dem LIN-Bus zu kommunizieren, ohne dass dabei der externe LIN-Transceiver 205 erforderlich wäre.
  • Ein oder mehrere USB-C/PD-Systeme können mit dem LIN-Bus verbunden sein, um eine Überwachung und Steuerung der USB-C/PD-Ports in Echtzeit zu ermöglichen. Beispielsweise können ein Multi-Port-USB-C/PD-System einer Head-Unit 220, eines Kombiinstruments 240 oder eines Rücksitzunterhaltungssystems 230 oder ein in 1 gezeigtes Multi-Port-USB-C/PD-Rücksitzladegerät eines Kraftfahrzeugs mit dem LIN-Bus verbunden sein.
  • 3 illustriert einen LIN-Bus-Botschaftsrahmen, der einen Header-Abschnitt 301, der von einem LIN-Master über den LIN-Bus an ein Slave-USB-C/PD-System übertragen wird, und einen Antwortabschnitt 303, der in Abhängigkeit von dem Typ des Botschaftsrahmens entweder von dem LIN-Master oder dem Slave-USB-C/PD-System übertragen werden kann, umfasst, gemäß einem Aspekt der vorliegenden Offenbarung.
  • Der Header 301 kann das Break-Feld 305, das Sync-Feld 307 und das Rahmenidentifikatorfeld 309 umfassen. Das Break-Feld 305 ist mindestens 14 Bits lang (und in der Praxis meist 20 Bits lang). Das Break-Feld fungiert als eine „Rahmenstart“-Meldung für alle LIN-Knoten auf dem Bus. Das Sync-Feld 307 ist 8 Bits lang und weist einen vordefinierten Wert von 0x55 auf. Diese Struktur gestattet es den Slave-Knoten, die Zeit zwischen steigenden und fallenden Flanken und somit die von dem Master-Knoten verwendete Baudrate zu bestimmen. Die Slave-Knoten können die bestimmte Baudrate verwenden, um mit dem Master-Knoten synchronisiert zu bleiben. Das Knotenidentifikatorfeld 309 ist 6 Bits lang, gefolgt von 2 Paritätsbits. Das Rahmenidentifikatorfeld 309 identifiziert den Typ des übertragenen LIN-Botschaftsrahmens. Basierend auf den Paritätsbits können Slave-Knoten die Gültigkeit des Rahmenidentifikatorfelds 309 bestimmen. Liegt ein gültiger LIN-Botschaftsrahmen vor, kann ein Slave-Knoten die darauf folgende Datenübertragung ignorieren, auf die Datenübertragung lauschen oder als Antwort auf den Header 301 Daten veröffentlichen.
  • 4 illustriert den Rahmenidentifikator 309, der den Typ der Botschaftsrahmen einer LIN-Botschaft, die durch ein Slave-USB-C/PD-System von einem LIN-Master empfangen wird, angibt, gemäß einem Aspekt der vorliegenden Offenbarung. Das Slave-USB-C/PD-System kann den Rahmenidentifikator 309 erkennen, um zu bestimmen, wie auf den Botschaftsrahmen zu antworten ist. Ist der Botschaftsrahmen ein Subscribe-Rahmen (d. h. ein Master-Anfragerahmen bzw. MRF (Master Request Frame)), auch als Lauschrahmen bezeichnet, und ist der Botschaftsrahmen an das Slave-USB-C/PD-System adressiert, antwortet das USB-C/PD-System, indem es die Daten in dem Antwortabschnitt des Botschaftsrahmens empfängt. Die empfangenen Daten können ferner in einem Service-Identifikatorfeld angeben, ob der Subscribe-Rahmen eine Speicherleseanfrage ist, die dem USB-C/PD-System den Befehl gibt, Daten aus einer Zieladresse auszulesen, oder eine Speicherschreibanfrage ist, die dem USB-C/PD-System den Befehl gibt, Daten in eine Zieladresse zu schreiben.
  • Ist der Botschaftsrahmen ein Publish-Rahmen und ist der Botschaftsrahmen an das Slave-USB-C/PD-System adressiert, antwortet das USB-C/PD-System, indem es die angefragten Daten in dem Antwortabschnitt des Botschaftsrahmens auf den LIN-Bus überträgt. Ist der Botschaftsrahmen beispielsweise ein Publish-Rahmen für einen Fehlerstatus von dem USB-C/PD-System, antwortet das USB-C/PD-System, indem es ein Fehlerbit und Störungs-Sticky-Bits in dem Antwortabschnitt des Botschaftsrahmens überträgt. Ist der Botschaftsrahmen ein Publish-Rahmen für aus dem USB-C/PD-System ausgelesene Daten (d. h. ein Slave-Antwortrahmen bzw. SRF (Slave Response Frame)), antwortet das USB-C/PD-System, indem es Daten überträgt, die aus einer Stelle ausgelesen wurden, die durch die Speicherleseanfrage eines vorhergehenden Subscribe-Rahmens adressiert wurde. In einer Ausführungsform kann das USB-C/PD-System, falls der Botschaftsrahmen ein Slave-Antwortrahmen von dem USB-C/PD-System ist und der vorhergehende Subscribe-Rahmen eine Speicherschreibanfrage war, die dem USB-C/PD-System den Befehl gegeben hat, Daten in eine Zieladresse zu schreiben, auf den Slave-Antwortrahmen antworten, indem es einen Bestätigungsmerker der Speicherschreibanfrage überträgt.
  • Erneut bezugnehmend auf 3 kann der Antwortabschnitt 303 des Botschaftsrahmens bis zu 8 Byte Daten 311 und ein Prüfsummenbyte 313 enthalten. Ist der Botschaftsrahmen ein Subscribe-Rahmen, können die Daten 311 ein Feld mit einer Knotenadresse (NAD), das die Adresse des Slave-USB-C/PD-Systems identifiziert, ein Feld mit Protokollsteuerinformationen (PCI), das das PDU(Packet Data Unit)-Format von übertragenen Daten identifiziert, ein Feld mit einem Service-Identifikator (SID), das die durch das Slave-USB-C/PD-System durchzuführende Anfrage identifiziert, ein Feld mit einer Länge (LEN), das die Länge einer Multi-Rahmen-PDU identifiziert, und das Feld mit von dem Master-Knoten übertragenen Daten umfassen. Ist der Botschaftsrahmen ein Publish-Rahmen, können die Daten 311 das NAD, das PCI, und das LEN für eine Multi-Rahmen-PDU wie in dem Subscribe-Rahmen, ein Antwort-Service-Identifikatorfeld (RSID), das den Inhalt der Antwort identifiziert, und das Feld mit von dem Slave-USB-C/PD-System übertragenen Daten umfassen.
  • Die Prüfsumme 313 wird verwendet, um die Integrität des Botschaftsrahmens zu prüfen. In einer Ausführungsform basiert die klassische Prüfsumme auf der invertierten Acht-Bit-Summe aller 8 Bytes der Daten 311. In einer Ausführungsform umfasst die erweiterte Prüfsumme auch das Rahmenidentifikatorfeld 309. In einer Ausführungsform kann zwischen den Feldern des Header-Abschnitts 301 und zwischen den Daten 311 und der Prüfsumme 313 des Antwortabschnitts 303 ein Byte-Zwischenabstand hinzugefügt werden. In einer Ausführungsform kann zwischen dem Header-Abschnitt 301 und dem Antwortabschnitt 303 ein Antwortabstand hinzugefügt werden, um dem USB-C/PD-System genügend Zeit einzuräumen, um auf den Header-Abschnitt 301 von dem Master zu antworten.
  • 5 illustriert den Service-Identifikator (SID), der den Typ des Services angibt, der, wie durch eine von einem LIN-Master empfangene LIN-Botschaft angefragt, durch ein Slave-USB-C/PD-System durchgeführt werden soll, gemäß einem Aspekt der vorliegenden Offenbarung. SIDs von 0 bis 0xAF und 0xB8 bis 0xFE können für Diagnoserahmen verwendet werden, während 0xB0 bis 0xB7 zum Konfigurieren verwendet werden können. Der SID kann in einem Subscribe-Rahmen enthalten sein.
  • Der Diagnoserahmen, wie durch den SID angegeben, kann eine UDS(Unified Diagnostic Service)-Anfrage zum Lesen eines Speichers nach Adresse (SID von 0x23) umfassen, die dem USB-C/PD-System den Befehl gibt, Daten aus einer Zieladresse auszulesen. Das USB-C/PD-System kann anhand des Felds mit übertragenen Daten in dem Antwortabschnitt 303 des Subscribe-Rahmens eine Start-Zieladresse einer oder mehrerer Stellen des USB-C/PD-Systems, auf die die Leseanfrage abzielt, und die Anzahl von Datenbytes, die startend mit der Start-Zieladresse aus den Stellen auszulesen sind, decodieren. Das USB-C/PD-System kann die angefragten Daten aus der einen oder den mehreren Stellen aus- und in einen Rahmenpuffer einlesen. Das USB-C/PD-System kann die ausgelesenen Daten in dem Rahmenpuffer auf den LIN-Bus übertragen, wenn nach dem Subscribe-Rahmen, der die UDS-Anfrage zum Lesen eines Speichers nach Adresse enthält, ein Publish-Rahmen empfangen wird.
  • Der Diagnoserahmen, wie durch den SID angegeben, kann eine UDS-Anfrage zum Beschreiben eines Speichers nach Adresse (SID von 0x3D) angeben, die dem USB-C/PD-System den Befehl gibt, Daten in eine Zieladresse zu schreiben. Das USB-C/PD-System kann anhand des Felds mit übertragenen Daten in dem Antwortabschnitt 303 des Botschaftsrahmens eine Start-Zieladresse einer oder mehrerer Stellen der USB-C/PD-Vorrichtung, auf die die Schreibanfrage abzielt, die Anzahl zu schreibender Bytes und die zu schreibenden Daten decodieren. Das USB-C/PD-System kann die Daten beginnend mit der Start-Zieladresse in die eine oder die mehreren Stellen schreiben und nach erfolgreichem Abschluss des Schreibbefehls einen Schreibbestätigungsmerker in dem Rahmenpuffer speichern. Das USB-C/PD-System kann den Schreibbestätigungsmerker auf den LIN-Bus übertragen, wenn nach dem Subscribe-Rahmen, der die UDS-Anfrage zum Beschreiben eines Speichers nach Adresse enthält, ein Publish-Rahmen empfangen wird.
  • 6 illustriert die Protokollsteuerinformationen (PCI), die das PDU(Packet Data Unit)-Format von Daten angeben, die, wie durch eine LIN-Botschaft angefragt, von einem LIN-Master oder einem Slave-USB-C/PD-System übertragen werden, gemäß einem Aspekt der vorliegenden Offenbarung.
  • Die 4 MSB des PCI-Bytes geben das PDU-Format an und die 4 LSB des PCI-Bytes geben zusätzliche Informationen an, die von dem PDU-Format abhängen. Ein Einzelrahmen (SF, Single Frame) für das PDU-Format (die 4 MSB der PCI sind 0000b) gibt an, dass die transportierte Botschaft in eine einzelne PDU passt, d. h., dass sie nach Ausschluss des NAD-Bytes, des PCI-Bytes und des SID- oder RSID-Bytes maximal fünf Datenbytes enthält. Somit kann ein Subscribe- oder Publish-Rahmen, der maximal fünf Bytes Daten enthält, eine Einzelrahmen-PDU verwenden. Bei einem SF geben die 4 LSB des PCI-Bytes das Längenfeld an und sind auf die Anzahl von Datenbytes plus eins (für den SID oder RSID) gesetzt.
  • Die Übertragung von Rahmenbotschaften mit mehr als sechs Bytes (umfassend den SID oder RSID) wird mittels Segmentierung und einer Übertragung mehrerer PDUs durchgeführt. Eine segmentierte Übertragung startet mit einer PDU mit einem ersten Rahmen (FF, First Frame) und setzt sich fort mit mehreren PDUs mit fortlaufenden Rahmen (CF, Consecutive Frame). Bei einem FF (die 4 MSB der PCI sind 0001b) geben die 4 LSB der PCI-Bytes die 4 MSB des 12-Bit-Längenfelds (Länge/256) an, um den Transfer von bis zu 4096 Datenbytes zu unterstützen. Die verbleibenden 8 LSB des 12-Bit-Längenfelds werden in ein separates Byte des Botschaftsrahmens gepackt. Bei einem CF (die 4 MSB der PCI sind 0010b) geben die 4 LSB des PCI-Bytes den Rahmenzähler an. Der erste CF der Botschaft startet mit einem Rahmenzähler von 1. Jeder darauf folgende CF inkrementiert den Rahmenzähler, bis er 15 erreicht und dann wieder auf 0 zurückgeht, um die Zählung zu wiederholen.
  • 7 illustriert die Felder des Antwortabschnitts 303 einer LIN-Botschaft für verschiedene PDU-Formate von Master-Anfragerahmen, die von einem LIN-Master an ein Slave-USB-C/PD-System übertragen werden, gemäß einem Aspekt der vorliegenden Offenbarung.
  • Der Einzelanfragerahmen umfasst ein NAD-Byte, ein PCI-Byte, ein SID-Byte und bis zu 5 Bytes Daten in der einzelnen PDU. Falls das SID-Byte einen Knotenkonfigurationsrahmen angibt, kann die PDU die Adresse des Konfigurationsregisters des USB-C/PD-Systems und die Konfigurationsdaten enthalten. Falls das SID-Byte einen UDS-Diagnoserahmen zum Beschreiben eines Speichers nach Adresse angibt, kann die PDU die Adresse des Speichers des USB-C/PD-Systems, die Anzahl von Bytes, die in die Adresse des Speichers geschrieben werden sollen, und die zu schreibenden Daten enthalten. Falls das SID-Byte einen UDS-Diagnoserahmen zum Lesen eines Speichers nach Adresse angibt, kann die PDU die Adresse des Speichers des USB-C/PD-Systems und die Anzahl von Bytes, die aus der Adresse des Speichers ausgelesen werden sollen, enthalten. Nicht verwendete Bytes in der PDU können mit 0xFF gefüllt werden.
  • Der erste Anfragerahmen mehrerer PDUs umfasst ein NAD-Byte, ein PCI-Byte, ein Längenbyte, das die 8 LSB der 12-Bit-Länge enthält, ein SID-Byte und die ersten 4 Datenbytes in den mehreren PDUs. Falls das SID-Byte einen UDS-Diagnoserahmen zum Beschreiben eines Speichers nach Adresse angibt, können die ersten 4 Datenbytes in den mehreren PDUs die Startadresse des Speichers des USB-C/PD-Systems, die Anzahl von Bytes, die startend mit der Startadresse geschrieben werden sollen, und das erste zu schreibende Datenbyte enthalten. Falls das SID-Byte einen UDS-Diagnoserahmen zum Lesen eines Speichers nach Adresse angibt, kann die PDU die Startadresse des Speichers des USB-C/PD-Systems und die Anzahl von Bytes, die startend mit der Startadresse gelesen werden sollen, enthalten.
  • Der fortlaufende Anfragerahmen mehrerer PDUs umfasst ein NAD-Byte, ein PCI-Byte und 6 Datenbytes in den mehreren PDUs. Falls das SID-Byte einen UDS-Diagnoserahmen zum Beschreiben eines Speichers nach Adresse angibt, können die 6 Datenbytes in den mehreren PDUs einige der zu schreibenden Daten enthalten.
  • 8 illustriert die Felder des Antwortabschnitts 303 einer LIN-Botschaft für verschiedene PDU-Formate von Slave-Antwortrahmen, die von einem Slave-USB-C/PD-System an einen LIN-Master übertragen werden, gemäß einem Aspekt der vorliegenden Offenbarung. Die Felder für die verschiedenen PDU-Formate für die Slave-Antwortrahmen sind die gleichen wie die für die Master-Anfragerahmen, mit Ausnahme des Antwort-Service-Identifikators (RSID). Das RSID-Byte spezifiziert den Inhalt des Antwortrahmens und wird anhand des SID-Bytes des vorhergehenden Master-Anfragerahmens, der die ausgelesenen Daten anfragt (z. B. ein UDS-Diagnoserahmen zum Lesen eines Speichers nach Adresse), erzeugt, indem das SID-Byte und 0x40 addiert werden. Die Daten in den verschiedenen PDU-Formaten enthalten die Daten, die aus dem Register oder der einen oder den mehreren Speicheradressen ausgelesen wurden und durch den vorhergehenden Master-Anfragerahmen angefragt wurden.
  • 9A illustriert einen ersten beispielhaften Ablauf von LIN-Botschaften, mit denen ein LIN-Master ein Slave-USB-C/PD-System über ein LIN-basiertes ECU-Netzwerk konfigurieren und überwachen kann, gemäß einem Aspekt der vorliegenden Offenbarung. In einem Beispiel kann ein LIN-Master, wie etwa eine Kraftfahrzeug-ECU 250, in 901 einen Master-Anfragerahmen übertragen, der die UDS-Service-Anfrage zum Beschreiben eines Speichers nach Adresse enthält, um den Betriebszustand (OC, Operating Condition) eines Ports des USB-C/PD-Systems 201 zu konfigurieren. Gemäß einem Aspekt kann der LIN-Master den OC eines Ports des USB-C/PD-Systems konfigurieren, indem er verschiedene Betriebsschwellenpegel als einen absoluten Wert oder als einen Prozentsatz des Port-Leistungsabgabeprofils (PDP, Power Delivery Profile) konfiguriert. Gemäß einem Aspekt kann das Erkennen, dass der OC des Ports einen konfigurierten Schwellenpegel erreicht hat, eine Portabschaltung auslösen.
  • 9B illustriert die Rahmen der Lese-, Konfigurations-, Steuer- oder Statusbefehle der LIN-Botschaften, die von dem LIN-Master ausgegeben werden, um das Slave-USB-C/PD-System aus 9A zu konfigurieren und zu überwachen, und mögliche Antwortrahmen, die von dem USB-C/PD-System übertragen werden, gemäß einem Aspekt der vorliegenden Offenbarung. Beispielsweise kann die ECU 250, um das OC-Register 0x0068 des Ports des USB-C/PD-Systems 201 unter Verwendung des Konfigurationsbefehls 951 zu konfigurieren, einen Master-Anfragerahmen (MRF) in zwei PDUs senden, indem sie den Rahmen-ID in beiden PDUs auf 0x3C (Subscribe-Rahmen) setzt. Die erste PDU kann das PCI-Byte auf 0x10 (FF), das Längenfeld auf 0x07, SID auf 0x3D (UDS zum Beschreiben eines Speichers nach Adresse) setzen und kann die Adresse 0x0068 des OC-Registers des USB-C/PD-Systems 201 und die Anzahl von Bytes (0x02) der Schreibdaten umfassen. Die zweite PDU kann das PCI-Byte auf 0x21 (CF) setzen und kann die zwei Bytes des OC-Pegels (0x0702), die in das OC-Register geschrieben werden sollen, umfassen. Erneut bezugnehmend auf 9A kann die ECU 250 dann in 903 einen Slave-Antwortrahmen (Rahmen-ID auf 0x3D gesetzt) übertragen, um auszulösen, dass das USB-C/PD-System 201 mit einer Bestätigung der erfolgreichen Konfiguration des OC-Pegels antwortet. Das USB-C/PD-System 201 kann die Bestätigung vornehmen, indem es in 905 eine positive Antwort in dem Antwortabschnitt des Slave-Antwortrahmens (SRF) überträgt. Wie in 9B gezeigt, kann die positive Antwort des SRF in dem Konfigurationsbefehl 951 ein Echo einiger Felder (z. B. RSID von 0x7D, erzeugt durch das Addieren der SID von 0x3D und 0x40, Adresse 0x0068 des OC-Registers des USB-C/PD-Systems 201, die Anzahl von Bytes (0x02) der Schreibdaten) der ersten PDU des Master-Anfragerahmens sein. Falls das USB-C/PD-System 201 nicht in der Lage war, den OC-Pegel zu konfigurieren, kann es eine negative Antwort übertragen, die einen Fehlercode in dem Antwortabschnitt des Slave-Antwortrahmens enthält.
  • In einem anderen Beispiel kann die ECU 250 das USB-C/PD-System 201 steuern, indem sie einen Master-Anfragerahmen überträgt, der die UDS-Service-Anfrage zum Beschreiben eines Speichers nach Adresse enthält, um einen Befehl für eine Vorrichtungsrücksetzung des USB-C/PD-Systems 201 zu geben, indem unter Verwendung des Steuerbefehls 952 in das Register 0x0008 geschrieben wird Die ECU 250 kann den MRF in zwei PDUs senden, indem sie den Rahmen-ID in beiden PDUs auf 0x3C (Subscribe-Rahmen) setzt. Die erste PDU kann das PCI-Byte auf 0x10 (FF), das Längenfeld auf 0x06, SID auf 0x3D (UDS zum Beschreiben eines Speichers nach Adresse) setzen und kann die Adresse 0x0008 des Registers zum Zurücksetzen des USB-C/PD-Systems 201 und die Anzahl von Bytes (0x02) der Schreibdaten umfassen. Die zweite PDU kann das PCI-Byte auf 0x21 (CF) setzen und kann die zwei Bytes der Schreibdaten (0x5201) für den Befehl zur Vorrichtungsrücksetzung umfassen. Auf den Befehl zur Vorrichtungsrücksetzung kann kein Slave-Antwortrahmen folgen.
  • Erneut bezugnehmend auf 9A kann die ECU 250 in einem anderen Beispiel in 907 einen Master-Anfragerahmen übertragen, der die UDS-Service-Anfrage zum Lesen eines Speichers nach Adresse enthält, um ein Register des USB-C/PD-Systems 201, wie etwa ein Unterbrechungsregister, zu lesen. Beispielsweise kann die ECU 250, wie in dem Lesebefehl 953 in 9B gezeigt, einen Master-Anfragerahmen (MRF) zum Lesen der Firmware-Versionsinformationen des USB-C/PD-Systems 201 senden, indem sie den Rahmen-ID auf 0x3C (Subscribe-Rahmen), PCI auf 0x05 (SF und 5 Bytes für das Längenfeld), SID auf 0x23 (UDS zum Lesen eines Speichers nach Adresse) setzt, und kann die Adresse 0x0010 des Registers, das die Versionsinformationen enthält, und die Anzahl von Bytes (0x10), die aus dem Register auszulesen sind, einschließen. Erneut bezugnehmend auf 9A kann die ECU 250 dann in 909 einen Slave-Antwortrahmen übertragen, um auszulösen, dass das USB-C/PD-System 201 mit den ausgelesenen Daten antwortet. In 911 kann das USB-C/PD-System 201 die von dem MRF angefragten und aus dem Register ausgelesenen Daten in dem Antwortabschnitt des Slave-Antwortrahmens übertragen. Wie in 9B gezeigt, kann der SRF in dem Lesebefehl 953 in drei PDUs übertragen werden. Die erste PDU kann das PCI-Byte auf 0x10 (FF), das Längenfeld auf 0x10, den RSID auf 0x63 (erzeugt durch das Addieren des SID von 0x23 und 0x40) setzen und kann die ersten vier Bytes der ausgelesenen Daten umfassen. Die zweite PDU kann das PCI-Byte auf 0x21 (erster CF) setzen und kann die nächsten 6 Bytes der ausgelesenen Daten umfassen. Die dritte PDU kann das PCI-Byte auf 0x22 (zweiter CF) setzen und kann die letzten 6 Bytes der ausgelesenen Daten umfassen. Falls das USB-C/PD-System 201 nicht in der Lage war, das Unterbrechungsregister zu lesen, kann es eine negative Antwort übertragen, die einen Fehlercode in dem Antwortabschnitt des Slave-Antwortrahmens enthält. In einem anderen Beispiel kann die ECU 250 einen Statusüberwachungsbefehl 954 an das USB-C/PD-System 201 ausgeben, indem sie einen Rahmen mit einem auf 0x00 gesetzten Rahmen-ID sendet, um den Status des USB-C/PD-Systems 201 auszulesen. Das USB-C/PD-System kann eine Antwort übertragen, um seinen Status, umfassend mögliche Störungen, Ereignisse oder Kommunikationsfehler, anzugeben. In einer Ausführungsform kann die ECU 250 einen Mechanismus aufweisen, um basierend auf den empfangenen Statusinformationen Alarme zu erzeugen, indem sie auf der Head-Unit 220 oder dem Kombiinstrument 240 Störungs- oder Warnangaben in Echtzeit anzeigt.
  • Erneut bezugnehmend auf 9A kann die ECU 250 in einem anderen Beispiel in 913 einen Master-Anfragerahmen übertragen, der die Konfigurationsaktualisierungs-Service-Anfrage zum Löschen des Unterbrechungsregister des USB-C/PD-Systems 201 enthält. Dann kann die ECU 250 in 915 einen Slave-Antwortrahmen übertragen, um auszulösen, dass das USB-C/PD-System 201 mit einer Bestätigung des erfolgreichen Löschens des Unterbrechungsregisters antwortet. Das USB-C/PD-System 201 kann die Bestätigung vornehmen, indem es in 917 eine positive Antwort in dem Antwortabschnitt des Slave-Antwortrahmens überträgt, oder kann eine negative Antwort, die einen Fehlercode enthält, übertragen, falls das Unterbrechungsregister nicht gelöscht wurde. In einer Ausführungsform kann die ECU 250 die Firmware des USB-C/PD-Systems 201 über das LIN-basierte Netzwerk oder andere Typen von standardmäßigen Kommunikationsschnittstellen aktualisieren oder herunterladen. Beispielsweise kann die ECU 250 die Firmware des USB-C/PD-Systems 201 unter Verwendung der Konfigurationsaktualisierungs-Service-Anfragen, der UDS-Anfragen zum Beschreiben eines Speichers nach Adresse oder Kombinationen davon aktualisieren oder herunterladen.
  • 10 illustriert einen zweiten beispielhaften Ablauf von LIN-Botschaften, mit denen ein LIN-Master ein Slave-USB-C/PD-System über ein LIN-basiertes ECU-Netzwerk konfigurieren und überwachen kann, gemäß einem Aspekt der vorliegenden Offenbarung.
  • In einem Beispiel kann die ECU 250 einen Master-Anfragerahmen übertragen, der die UDS-Service-Anfrage zum Lesen eines Speichers nach Adresse enthält, um ein oder mehrere Register oder eine oder mehrere Speicherstellen (Blackbox-Daten) des USB-C/PD-Systems 201 zu lesen. Der Antwortabschnitt des Master-Anfragerahmens kann die Startadresse der Register oder der Speicherstellen und die Anzahl von Datenbytes, die startend mit der Startadresse gelesen werden sollen, enthalten. Dann kann die ECU 250 einen Slave-Antwortrahmen übertragen, um auszulösen, dass das USB-C/PD-System 201 mit den Blackbox-Daten antwortet. Das USB-C/PD-System 201 kann die angefragten Blackbox-Datenbytes in dem Antwortabschnitt des Slave-Antwortrahmens übertragen.
  • 11 illustriert ein Ablaufdiagramm eines Slave-USB-C/PD-Systems, das zwischen verschiedenen Status in dem LIN-basierten Netzwerk hin- und herwechselt, gemäß einem Aspekt der vorliegenden Offenbarung. Das USB-C/PD-System kann sich zunächst in dem freigegebenen Status 1120 befinden und auf eine Botschaft auf dem LIN-Bus lauschen. Ein LIN-Master, wie etwa eine Kraftfahrzeug-ECU, kann einen Master-Anfragerahmen übertragen, bei dem das erste Datenfeld (NAD-Byte) auf 0 gesetzt ist und der Rest des Antwortabschnitts 303 auf 0xFF gesetzt ist, um einen Diagnoseschlafbefehl anzugeben. Nach dem Empfangen des Diagnoseschlafbefehls kann das USB-C/PD-System in den gesperrten Status 1122 wechseln. In dem gesperrten Status 1122 tritt das USB-C/PD-System in den Niedrigleistungsmodus ein, indem es die Funktion des USB-C/PD-Systems, umfassend die Kommunikation mit dem LIN-Bus, deaktiviert. Das USB-C/PD-System kann aus dem Niedrigleistungsmodus aufwachen, wenn es eine dominierende Aktivität auf dem LIN-Bus erkennt. Nach dem Aufwachen kann das USB-C/PD-System wieder in den freigegebenen Status 1120 zurückwechseln, indem es ein Zurücksetzen der Software durchführt. In einer Ausführungsform kann der Transceiver des USB-C/PD-Systems, wie etwa der LIN-Transceiver 205, in einen Schlafmodus eintreten, wenn über eine längere Zeitperiode, wie durch einen Bus-Inaktivitäts-Timer bestimmt, keine Aktivität auf dem LIN-Bus erkannt wird. Der Transceiver kann aus dem Schlafmodus aufwachen, wenn er eine dominierende Aktivität auf dem LIN-Bus erkennt.
  • Wenn das USB-C/PD-System in dem freigegebenen Status 1120 einen Master-Anfragerahmen empfängt, kann es eine Datenempfang-Unterbrechung empfangen. Das USB-C/PD-System kann in den Lesestatus 1124 wechseln, um die in dem Antwortabschnitt des Master-Anfragerahmens enthaltenen Daten von dem Bus zu empfangen. Nach Abschluss des Datenempfangs kann das USB-C/PD-System in den freigegebenen Status 1120 zurückwechseln. In einer Ausführungsform kann das USB-C/PD-System den durch den Master-Anfragerahmen angefragten Service, wie etwa eine Konfigurationsaktualisierung, einen UDS zum Lesen eines Speichers nach Adresse, einen UDS zum Beschreiben eines Speichers nach Adresse usw., in dem Lesestatus 1124 verarbeiten.
  • Wenn das USB-C/PD-System in dem freigegebenen Status 1120 einen Slave-Antwortrahmen empfängt, kann es in den Schreibstatus 1126 eintreten, um während des Antwortabschnitts des Slave-Antwortrahmens Daten auf den Bus zu schreiben. In einer Ausführungsform kann das USB-C/PD-System als Antwort auf einen vorhergehenden Master-Anfragerahmen, der eine Konfigurationsaktualisierungs-Service-Anfrage oder eine UDS-Service-Anfrage zum Beschreiben eines Speichers nach Adresse enthält, eine positive oder negative Antwort übertragen. In einer Ausführungsform kann das USB-C/PD-System die angefragten ausgelesenen Daten aus einem oder mehreren Registern oder aus einer oder mehreren Speicherstellen, die durch eine UDS-Service-Anfrage zum Lesen eines Speichers nach Adresse eines vorhergehenden Master-Anfragerahmens adressiert wurden, übertragen. Nach Abschluss der Datenschreiboperation kann das USB-C/PD-System in den freigegebenen Status 1120 zurückwechseln.
  • 12 illustriert ein Ablaufdiagramm eines Verfahrens, mit dem ein Slave-USB-C/PD-System LIN-Botschaften verarbeiten kann, um verschiedene Typen von Services, wie durch einen LIN-Master befohlen, durchzuführen, gemäß einem Aspekt der vorliegenden Offenbarung. Das Verfahren kann durch eine Verarbeitungslogik durchgeführt werden, die Hardware (z. B. Schaltkreise, eine dedizierte Logik, eine programmierbare Logik, einen Prozessor, eine Verarbeitungsvorrichtung, eine zentrale Verarbeitungseinheit (CPU), einen Mehrkernprozessor, ein System-on-Chip (SoC) usw.), Software (z. B. Anweisungen, die auf einer Verarbeitungsvorrichtung laufen/ausgeführt werden), Firmware (z. B. Mikrocode) oder eine Kombination daraus umfassen kann. In einigen Ausführungsformen kann das Verfahren durch das USB-C/PD-Steuergerät 203 aus 2 durchgeführt werden.
  • In Operation 1260 erkennt das USB-C/PD-System den Start eines Rahmens auf dem LIN-Bus und bestimmt, ob nach dem Start des Rahmens innerhalb einer Timeout-Periode für das Lauschen kein kompletter Rahmen empfangen wird. Falls die Lauschen-Timeout-Periode für den Empfang eines kompletten Rahmens verstreicht, bevor ein kompletter Rahmen empfangen wird, verwirft das USB-C/PD-System den Rahmen in Operation 1262. In einer Ausführungsform ist die Lauschen-Timeout-Periode für den Empfang eines kompletten Rahmens auf 20 ms gesetzt.
  • In Operation 1264 prüft das USB-C/PD-System, falls innerhalb der Lauschen-Timeout-Periode für den Empfang eines kompletten Rahmens ein kompletter Rahmen empfangen wird, ob eine längere Bus-Inaktivitäts-Periode vorliegt, indem es bestimmt, ob der LIN-Bus länger als eine Bus-Inaktivitäts-Timeout-Periode stumm ist. Falls ja, versetzt das USB-C/PD-System den Transceiver in Operation 1266 in den Schlafmodus, um Leistung zu sparen. Andernfalls fährt das USB-C/PD-System mit Operation 1268 fort. In einer Ausführungsform kann der Transceiver aus dem Schlafmodus aufwachen, wenn er eine dominierende Aktivität auf dem LIN-Bus erkennt.
  • In Operation 1268 bestimmt das USB-C/PD-System, ob der empfangene Rahmen einen Rahmen-ID aufweist, der durch das USB-C/PD-System unterstützt wird, und ob der Rahmen an das USB-C/PD-System adressiert ist. Ist der empfangene Rahmen kein unterstützter Rahmen oder ist er nicht an das USB-C/PD-System adressiert, antwortet das USB-C/PD-System nicht auf den Rahmen. Andernfalls bestimmt das USB-C/PD-System in Operation 1270, ob der Rahmen ein Subscribe-Rahmen (d. h. ein Master-Anfragerahmen) oder ein Publish-Rahmen (d. h. ein Slave-Antwortrahmen) ist.
  • Ist der Rahmen ein Subscribe-Rahmen, prüft das USB-C/PD-System die Integrität des Rahmens, indem es in Operation 1272 bestimmt, ob die Prüfsumme des Antwortabschnitts des Subscribe-Rahmens akzeptiert wird. Falls ja, aktualisiert das USB-C/PD-System in Operation 1274 den Merker für den entsprechenden Rahmen und die entsprechenden Signale. In einer Ausführungsform kann das USB-C/PD-System die in dem Subscribe-Rahmen empfangenen Daten in einem Rahmenpuffer speichern und einen Merker aktualisieren, damit das USB-C/PD-System die in dem Subscribe-Rahmen enthaltene Anfrage abarbeitet.
  • In Operation 1280 bestimmt das USB-C/PD-System anhand einer Prüfung, ob der Rahmenpuffer Daten aus einem Subscribe-Rahmen zur Abarbeitung enthält. In einer Ausführungsform kann das USB-C/PD-System den in Operation 1274 gesetzten Merker prüfen. Falls der Rahmenpuffer Daten aus einem Subscribe-Rahmen zur Abarbeitung, wie etwa einem Diagnoseservicerahmen, enthält, verarbeitet das USB-C/PD-System den Diagnoseservicerahmen und aktualisiert die Antwort in Operation 1282. In einer Ausführungsform kann das USB-C/PD-System die Daten in dem Rahmenpuffer verarbeiten, um basierend auf dem Service-ID den Typ des durchzuführenden Services zu bestimmen. Falls der Service-ID einen Diagnoseservicerahmen für das Lesen eines Speichers nach Adresse angibt, kann das USB-C/PD-System die Daten aus dem adressierten Speicher in den Rahmenpuffer einlesen. Falls der Service-ID einen Diagnoseservicerahmen für das Beschreiben eines Speichers nach Adresse angibt, kann das USB-C/PD-System die in dem Subscribe-Rahmen spezifizierten Schreibdaten in dem adressierten Speicher speichern. Nach dem erfolgreichen Abschluss der Schreiboperation kann das USB-C/PD-System einen Schreibbestätigungsmerker in den Rahmenpuffer schreiben.
  • Ist der Rahmen ein Publish-Rahmen und ging dem Publish-Rahmen ein gültiger Subscribe-Rahmen voraus, schiebt das USB-C/PD-System in Operation 1276 die in dem Rahmenpuffer gespeicherten Daten auf den LIN-Bus. In einer Ausführungsform können die Daten von dem Rahmenpuffer in einen Tx-FIFO transferiert werden, um sie auf den LIN-Bus zu schicken. Die in dem Rahmenpuffer gespeicherten Daten können aus einer Zieladresse ausgelesene Daten sein, falls der vorhergehende Subscribe-Rahmen ein Diagnoseservicerahmen zum Lesen eines Speichers nach Adresse war. Alternativ können die in dem Rahmenpuffer gespeicherten Daten ein Schreibbestätigungsmerker sein, der in einer positiven Antwort enthalten ist, falls der vorherige Subscribe-Rahmen ein Diagnoseservicerahmen zum Beschreiben eines Speichers nach Adresse war. In einer Ausführungsform kann das USB-C/PD-System, falls der vorherige Subscribe-Rahmen nicht erfolgreich abgearbeitet wurde, eine negative Antwort, die einen Fehlercode enthält, übertragen. In einer Ausführungsform kann das USB-C/PD-System, falls der Publish-Rahmen einen Fehlerstatus von dem USB-C/PD-System veröffentlichen soll, antworten, indem es ein Fehlerbit und Störungs-Sticky-Bits überträgt. Die ausgelesenen Daten, eine positive Antwort, eine negative Antwort oder ein Fehlerstatus werden während des Antwortabschnitts des Publish-Rahmens auf den LIN-Bus geschickt.
  • In Operation 1278 aktualisiert das USB-C/PD-System den Merker für den entsprechenden Rahmen und die entsprechenden Signale. In einer Ausführungsform kann das USB-C/PD-System einen Merker aktualisieren, um anzugeben, dass die Daten in dem Rahmenpuffer auf den LIN-Bus übertragen wurden und dass der Publish-Rahmen erfolgreich abgearbeitet wurde.
  • 13 illustriert ein Ablaufdiagramm eines Verfahrens 1300, mit dem ein Slave-USB-C/PD-System Befehle, die über eine standardmäßige Schnittstelle von einer Master-Vorrichtung empfangen werden, verarbeiten kann, um verschiedene Typen von Services durchzuführen, gemäß einem Aspekt der vorliegenden Offenbarung. Das Verfahren 1300 kann durch eine Verarbeitungslogik durchgeführt werden, die Hardware (z. B. Schaltkreise, eine dedizierte Logik, eine programmierbare Logik, einen Prozessor, eine Verarbeitungsvorrichtung, eine zentrale Verarbeitungseinheit (CPU), einen Mehrkernprozessor, ein System-on-Chip (SoC) usw.), Software (z. B. Anweisungen, die auf einer Verarbeitungsvorrichtung laufen/ausgeführt werden), Firmware (z. B. Mikrocode) oder eine Kombination daraus umfassen kann. In einigen Ausführungsformen kann das Verfahren 1300 durch das USB-C/PD-Steuergerät 203 aus 2 durchgeführt werden. Das Kommunikationsnetzwerk kann standardmäßige Kommunikations- und Steuerschnittstellen oder-busse umfassen, die in Kraftfahrzeug-, Luftfahrt-, Industrie- oder anderen Anwendungen verwendet werden.
  • In Operation 1301 empfängt das USB-C/PD-System über das Kommunikationsnetzwerk einen Botschaftsrahmen von der Master-Vorrichtung.
  • In Operation 1303 decodiert das USB-C/PD-System den Botschaftsrahmen, um den Typ der Befehle zu bestimmen.
  • Falls in Operation 1305 bestimmt wird, dass der Botschaftsrahmen ein Schreibbefehl ist, decodiert das USB-C/PD-System in Operation 1307 eine Start-Zieladresse einer oder mehrerer Stellen des USB-C/PD-Systems, auf die der Schreibbefehl abzielt, und die Steuerdaten, die startend mit der Start-Zieladresse in den Stellen gespeichert werden sollen.
  • In Operation 1309 schreibt das USB-C/PD-System die Steuerdaten beginnend mit der Start-Zieladresse in die eine oder die mehreren Stellen des USB-C/PD-Systems.
  • In Operation 1311 speichert das USB-C/PD-System einen Schreibbestätigungsmerker in einer Speicherung, wie etwa einer Leseantwortstelle. Dann wartet das USB-C/PD-System in Operation 1323 auf den nächsten Botschaftsrahmen.
  • Falls in Operation 1313 bestimmt wird, dass der Botschaftsrahmen ein Holbefehl ist, decodiert das USB-C/PD-System in Operation 1315 eine Start-Zieladresse einer oder mehrerer Stellen des USB-C/PD-Systems, auf die der Holbefehl abzielt, und die Anzahl von Datenbytes, die startend mit der Start-Zieladresse aus den Stellen abgerufen werden sollen.
  • In Operation 1317 ruft das USB-C/PD-System die Anzahl von Datenbytes beginnend mit der Start-Zieladresse aus der einen oder den mehreren Stellen des USB-C/PD-Systems ab und speichert die abgerufenen Daten in einem FIFO. Dann wartet das USB-C/PD-System in Operation 1323 auf den nächsten Botschaftsrahmen.
  • Falls in Operation 1319 bestimmt wird, dass der Botschaftsrahmen ein Lesebefehl ist, schickt das USB-C/PD-System in Operation 1321 eine Antwortbotschaft auf das Kommunikationsnetzwerk, die die für die Master-Vorrichtung in der Speicherung oder dem FIFO zwischengelagerten Daten enthält. In einer Ausführungsform kann die Antwortbotschaft, wenn der Lesebefehl auf einen Schreibbefehl folgt, den Schreibbestätigungsmerker enthalten, der aus der Speicherung abgerufen wurde. Folgt der Lesebefehl auf einen Holbefehl, kann die Antwortbotschaft die Daten enthalten, die, wie durch den Holbefehl angewiesen, aus der einen oder den mehreren Stellen abgerufen und in dem FIFO zwischengelagert wurden. Dann wartet das USB-C/PD-System in Operation 1323 auf den nächsten Botschaftsrahmen.
  • 14 illustriert ein Blockdiagramm eines USB-C/PD-Systems 1200, das durch ein Master-Steuergerät über ein standardmäßiges Kommunikationsnetzwerk, das in Kraftfahrzeug-, Luftfahrt-, Industrie- oder anderen Anwendungen verwendet wird, konfiguriert, gesteuert und überwacht werden kann, gemäß einem Aspekt der vorliegenden Offenbarung. Das System 1200 kann ein Peripherieteilsystem 1210 umfassen, das eine Anzahl von Komponenten zur Verwendung bei der USB-Leistungsabgabe (USB-PD) umfasst. Das Peripherieteilsystem 1210 kann eine Peripherieanbindung 1211 umfassen, die ein Taktmodul, einen Peripherietakt (PCLK) 1212 zum Bereitstellen von Taktsignalen an die verschiedenen Komponenten des Peripherieteilsystems 1210 umfasst. Die Peripherieanbindung 1211 kann ein Peripheriebus, wie etwa ein Einzelebenen- oder Mehrfachebenen-Advanced-High-Performance-Bus (AHB), sein und kann eine Daten- und Steuerschnittstelle zwischen dem Peripherieteilsystem 1210, einem CPU-Teilsystem 1230 und Systemressourcen 1240 bereitstellen. Die Peripherieanbindung 1211 kann Steuergeräteschaltungen, wie etwa DMA(Direct Memory Access, direkter Speicherzugriff)-Steuergeräte, umfassen, die programmiert sein können, um Daten zwischen Peripherieblöcken ohne Mitwirkung, Steuerung oder Belastung des CPU-Teilsystems 1230 zu übertragen.
  • Die Peripherieanbindung 1211 kann verwendet werden, um Komponenten des Peripherieteilsystems 1210 mit anderen Komponenten des Systems 1200 zu koppeln. Eine Anzahl von GPIOs (General Purpose Input/Outputs, Allzweckeingänge/-ausgänge) 1215 kann mit der Peripherieanbindung 1211 gekoppelt sein, um Signale zu senden und zu empfangen. Die GPIOs 1215 können Schaltungen umfassen, die konfiguriert sind, um verschiedene Funktionen zu implementieren, wie etwa Pull-up, Pull-down, Eingangsschwellenauswahl, Eingangs- und Ausgangspuffer-Freigabe/-Sperrung, Einzelmultiplexen usw. Noch weitere Funktionen können durch die GPIOs 1215 implementiert werden. Ein oder mehrere TCPWMs (Timer/Counter/Pulsweitenmodulator) 1217 können auch mit der Peripherieanbindung gekoppelt sein und Schaltkreise zum Implementieren von Zeitgeberschaltungen (Timer), Zählern, Pulsweitenmodulatoren (PWMs), Decodern und anderen digitalen Funktionen umfassen, die mit E/A-Signalen arbeiten können und Systemkomponenten des Systems 1200 digitale Signale bereitstellen können. Das Peripherieteilsystem 1210 kann auch einen oder mehrere serielle Kommunikationsblöcke (SCBs, Serial Communication Blocks) 1219 umfassen, um serielle Kommunikationsschnittstellen, wie etwa I2C, SPI (Serial Peripheral Interface, serielle Peripherieschnittstelle), UART (Universal Asynchronous Receiver/Transmitter, universeller asynchroner Empfänger/Transmitter), CAN (Controller Area Network), CXPI (Clock eXtension Peripheral Interface) usw., zu implementieren.
  • Für USB-Leistungsabgabeanwendungen kann das Peripherieteilsystem 1210 ein USB-Leistungsabgabeteilsystem 1220 umfassen, das mit der Peripherieanbindung gekoppelt ist und einen Satz USB-PD-Module 1221 zur Verwendung bei der USB-Leistungsabgabe beinhaltet. Die USB-PD-Module 1221 können über eine USB-PD-Anbindung 1223 mit der Peripherieanbindung 1211 gekoppelt sein. Die USB-PD-Module 1221 können Folgendes umfassen: ein ADC(Analog-to-Digital Conversion, Analog-Digital-Wandlung)-Modul zum Umwandeln verschiedener analoger Signale in digitale Signale; einen Fehlerverstärker (AMP), der die Ausgangsspannung an der VBUS-Leitung mittels eines PD-Vertrags regelt; einen Hochspannungs(HV)-Regler zum Umwandeln der Leistungsquellenspannung in eine exakte Spannung (wie etwa 3,5-5 V) zur Versorgung des Systems 1200 mit Leistung; einen Low-Side-Stromerfassungsverstärker (LSCSA, Low-Side Current Sense Amplifier) zur präzisen Messung eines Laststroms, ein OVP(Over-Voltage Protection, Überspannungsschutz)-Modul und ein OCP(Over-Current Protection, Überstromschutz)-Modul zum Bereitstellen eines Schutzes vor Überstrom und Überspannung an der VBUS-Leitung mit konfigurierbaren Schwellen und Antwortzeiten; einen oder mehrere Gate-Treiber für externe Leistungs-FETs (Field Effect Transistors, Feldeffekttransistoren), die bei einer USB-Leistungsabgabe in Bereitsteller- und Verbraucherkonfigurationen verwendet werden; und ein Kommunikationskanal-PHY(CC BB PHY)-Modul zum Unterstützen von Kommunikationen über eine Typ-C-Kommunikationskanal(CC)-Leitung. Die USB-PD-Module 1221 können auch ein Ladegerätdetektionsmodul, um zu bestimmen, dass eine Ladeschaltung vorhanden und mit dem System 1200 gekoppelt ist, und ein VBUS-Entlademodul, um das Entladen von Spannung an VBUS zu steuern, umfassen. Das Entladesteuermodul kann konfiguriert sein, um sich mit einem Leistungsquellenknoten an der VBUS-Leitung oder mit einem Ausgangs(Leistungssenken)-Knoten an der VBUS-Leitung zu koppeln und um die Spannung an der VBUS-Leitung auf den gewünschten Spannungspegel (d. h. den in dem PD-Vertrag ausgehandelten Spannungspegel) zu entladen. Das USB-Leistungsabgabeteilsystem 1220 kann auch Pads 1227 für externe Verbindungen und einen Schaltkreis 1229 zum Schutz vor elektrostatischer Entladung (ESD), der an einem Typ-C-Port erforderlich sein kann, umfassen. Die USB-PD-Module 1221 können auch ein bidirektionales Kommunikationsmodul zum Unterstützen von bidirektionalen Kommunikationen mit einem anderen Steuergerät umfassen, wie etwa zwischen einem Primärseitensteuergerät und einem Sekundärseitensteuergerät eines Sperrwandlers.
  • Die GPIOs 1215, die TCPWMs 1217 und die SCBs 1219 können mit einem Eingangs/Ausgangs(E/A)-Teilsystem 1250 gekoppelt sein, das eine High-Speed(HS)-E/A-Matrix 1251 umfassen kann, die mit einer Anzahl von GPIOs 1253 gekoppelt ist. Die GPIOs 1215, die TCPWMs 1217 und die SCBs 1219 können über die HS-E/A-Matrix 1251 mit den GPIOs 1253 gekoppelt sein.
  • Das System 1200 kann auch ein Teilsystem mit einer zentralen Verarbeitungseinheit (CPU) 1230 zum Verarbeiten von Befehlen, Speichern von Programminformationen und Daten umfassen. Das CPU-Teilsystem 1230 kann eine oder mehrere Verarbeitungseinheiten 1231 umfassen, um Anweisungen auszuführen und innerhalb einer Anzahl von Speichern Speicherstellen auszulesen und zu beschreiben. Die Verarbeitungseinheit 1231 kann ein Prozessor sein, der für einen Betrieb in einer integrierten Schaltung (IC) oder einer SOC(System-On-Chip)-Vorrichtung geeignet ist. In einigen Ausführungsformen kann die Verarbeitungseinheit 1231 für einen Betrieb mit niedriger Leistung mit umfassendem Clock-Gating optimiert sein. In dieser Ausführungsform können verschiedene interne Steuerschaltungen für einen Betrieb der Verarbeitungseinheit in verschiedenen Leistungsstatus implementiert sein. Beispielsweise kann die Verarbeitungseinheit 1231 ein Aufweck-Unterbrechungssteuergerät (WIC, Wake-up Interrupt Controller) umfassen, das konfiguriert ist, um die Verarbeitungseinheit aus einem Schlafstatus aufzuwecken, wodurch erlaubt wird, die Leistung auszuschalten, wenn sich die IC oder das SOC in einem Schlafstatus befindet. Das CPU-Teilsystem 1230 kann einen oder mehrere Speicher umfassen, umfassend einen Flash-Speicher 1233 und einen statischen Arbeitsspeicher (SRAM, Static Random Access Memory) 1235 und einen Festwertspeicher (ROM, Read-Only Memory) 1237. Der Flash-Speicher 1233 kann ein nichtflüchtiger Speicher (NAND-Flash, NOR-Flash usw.) sein, der für das Speichern von Daten, Programmen und/oder anderen Firmware-Anweisungen konfiguriert ist. Der Flash-Speicher 1233 kann einen Lesebeschleuniger umfassen und kann Zugriffszeiten durch Integration innerhalb des CPU-Teilsystems 1230 verbessern. Der SRAM 1235 kann ein flüchtiger Speicher sein, der für das Speichern von Daten und Firmware-Anweisungen, auf die die Verarbeitungseinheit 1231 zugreifen kann, konfiguriert ist. Der ROM 1237 kann konfiguriert sein, um Hochfahrroutinen, Konfigurationsparameter und andere Firmware-Parameter und -Einstellungen zu speichern, die sich während des Betriebs des Systems 1200 nicht ändern. Der SRAM 1235 und der ROM 1237 können miteinander assoziierte Steuerschaltungen aufweisen. Die Verarbeitungseinheit 1231 und die Speicher können mit einer Systemanbindung 1239 gekoppelt sein, um Signale zu und von den verschiedenen Komponenten des CPU-Teilsystems 1230 zu anderen Blöcken oder Modulen des Systems 1200 zu leiten. Die Systemanbindung 1239 kann als ein Systembus, wie etwa ein Einzelebenen- oder Mehrfachebenen-AHB, implementiert sein. Die Systemanbindung 1239 kann als eine Schnittstelle konfiguriert sein, um die verschiedenen Komponenten des CPU-Teilsystems 1230 miteinander zu koppeln. Die Systemanbindung 1239 kann mit der Peripherieanbindung 1211 gekoppelt sein, um Signalpfade zwischen den Komponenten des CPU-Teilsystems 1230 und des Peripherieteilsystems 1210 bereitzustellen.
  • Das System 1200 kann auch eine Anzahl von Systemressourcen 1240 umfassen, umfassend ein Leistungsmodul 1241, ein Taktmodul 1243, ein Rücksetzungsmodul 1245 und ein Testmodul 1247. Das Leistungsmodul 1241 kann ein Schlafsteuermodul, ein Aufweck-Unterbrechungs-Steuerungs(WIC)-Modul, ein Power-on-Reset(POR)-Modul, eine Anzahl von Spannungsreferenzen (REF) und ein PWRSYS-Modul umfassen. In einigen Ausführungsformen kann das Leistungsmodul 1241 Schaltungen umfassen, die es dem System 1200 erlauben, Leistung mit unterschiedlichen Spannungs- und/oder Strompegeln aus externen Quellen zu beziehen oder diesen bereitzustellen und einen Steuergerätebetrieb in unterschiedlichen Leistungsstatus, wie etwa aktiv, mit niedriger Leistung oder Schlaf, zu unterstützen. In verschiedenen Ausführungsformen können mehr Leistungsstatus implementiert werden, wenn das System 1200 den Betrieb drosselt, um einen gewünschten Leistungsverbrauch oder -ausgang zu erzielen. Das Taktmodul 1243 kann ein Taktsteuermodul, einen Watchdog-Timer (WDT), einen internen Low-Speed-Oszillator (ILO) und einen internen Hauptoszillator (IMO, Internal Main Oscillator) umfassen. Das Rücksetzungsmodul 1245 kann ein Rücksetzungssteuermodul und ein Modul für eine externe Rücksetzung (XRES) umfassen. Das Testmodul 1247 kann ein Modul zum Steuern und Eingeben eines Testmodus sowie Teststeuermodule für analoge und digitale Funktionen (digitaler Test und analoger DFT) umfassen.
  • Das System 1200 kann in einem monolithischen (z. B. einzelnen) Halbleiterplättchen implementiert sein. In anderen Ausführungsformen können verschiedene Abschnitte oder Module des Systems 1200 auf unterschiedlichen Halbleiterplättchen implementiert sein. Beispielsweise können Speichermodule des CPU-Teilsystems 1230 On-Chip oder separat angeordnet sein. In noch anderen Ausführungsformen können Schaltungen auf separaten Plättchen in ein einzelnes Multi-Chip-Modul gepackt sein oder aber separat bleiben und auf einer Leiterplatte (oder in einem USB-Kabelverbinder) als separate Elemente angeordnet sein.
  • Das System 1200 kann in einer Anzahl von Anwendungskontexten implementiert sein, um diesen eine USB-PD-Funktionalität bereitzustellen. In jedem Anwendungskontext kann ein IC-Steuergerät oder ein SOC, das das System 1200 implementiert, in einer elektronischen Vorrichtung (z. B. einer USB-fähigen Vorrichtung) angeordnet und konfiguriert sein, um Operationen gemäß den hierin beschriebenen Techniken durchzuführen. In einem Ausführungsbeispiel kann das System 1200 in einem Kraftfahrzeug-, Luftfahrt-, Industrie- oder anderen Ökosystem, das LIN, CAN oder andere Typen von standardmäßigen Schnittstellen, die für die serielle Kommunikation verwendet werden, verwendet, angeordnet und konfiguriert sein (z. B. das mit dem LIN-Bus 210 verwendete USB-C/PD-Steuergerät 203 aus 2). In einem anderen Ausführungsbeispiel kann das System 1200 in einem PC(Personal Computer)-Leistungsadapter für einen Laptop, einen Notebook-Computer usw. angeordnet und konfiguriert sein. In einem anderen Ausführungsbeispiel kann das System 1200 in einem Leistungsadapter (z. B. einem Wandladegerät) für eine mobile elektronische Vorrichtung (z. B. ein Smartphone, ein Tablet usw.) angeordnet und konfiguriert sein. In einem anderen Ausführungsbeispiel kann das System 1200 in einer Wandsteckdose angeordnet und konfiguriert sein, die konfiguriert ist, um Leistung über einen oder mehrere USB-Typ-A- und/oder -Typ-C-Ports bereitzustellen. In einem anderen Ausführungsbeispiel kann das System 1200 in einem Autoladegerät angeordnet und konfiguriert sein, das konfiguriert ist, um Leistung über einen oder mehrere USB-Typ-A- und/oder -Typ-C-Ports bereitzustellen. In noch einem anderen Ausführungsbeispiel kann das System 1200 in einer Powerbank angeordnet und konfiguriert sein, die geladen werden kann und dann einer anderen elektronischen Vorrichtung Leistung über einen USB-Typ-A- oder -Typ-C-Port bereitstellen kann. In anderen Ausführungsformen kann ein System wie das System 1200 mit den hierin beschriebenen Leistungsschalter-Gate-Steuerschaltkreisen konfiguriert sein und kann in verschiedenen anderen USB-fähigen elektronischen oder elektromechanischen Vorrichtungen angeordnet sein.
  • Verschiedenen Ausführungsformen der Techniken zum Kommunizieren mit USB-C/PD-Systemen über standardmäßige Kommunikations- und Steuerschnittstellen können verschiedene Operationen umfassen. Diese Operationen können durch Hardwarekomponenten, digitale Hardware und/oder Firmware/programmierbare Register (wie z. B. in einem computerlesbaren Medium implementiert) und/oder Kombinationen davon durchgeführt und/oder gesteuert werden. Die hierin beschriebenen Verfahren und illustrativen Beispiele sind nicht von Natur aus mit irgendeinem bestimmten Computer oder irgendeiner bestimmten anderen Einrichtung verbunden. Verschiedene Systeme (wie z. B. USB-Hubs und -Andockstationen) können gemäß den hierin beschriebenen Lehren verwendet werden oder es kann sich als zweckdienlich herausstellen, spezialisiertere Einrichtungen herzustellen, um die erforderlichen Verfahrensschritte durchzuführen. Die erforderliche Struktur für viele verschiedene dieser Systeme wird anhand der oben stehenden Beschreibung ersichtlich.
  • Ein computerlesbares Medium, das verwendet wird, um Operationen verschiedener Aspekte dieser Offenbarung zu implementieren, kann ein nichttransitorisches computerlesbares Speicherungsmedium sein, das Folgendes umfassen kann, ohne darauf begrenzt zu sein: ein elektromagnetisches Speicherungsmedium, ein magneto-optisches Speicherungsmedium, einen Festwertspeicher (ROM), einen Arbeitsspeicher (RAM), einen löschbaren programmierbaren Speicher (z. B. EPROM und EEPROM), einen Flash-Speicher oder einen anderen derzeit bekannten oder zukünftig entwickelten nichttransitorischen Typ von Medium, der für das Speichern von Konfigurationsinformationen geeignet ist.
  • Die obige Beschreibung ist als illustrativ und nicht einschränkend zu verstehen. Obwohl die vorliegende Offenbarung mit Bezugnahmen auf spezifische illustrative Beispiele beschrieben wurde, wird anerkannt werden, dass die vorliegende Offenbarung nicht auf die beschriebenen Beispiele begrenzt ist. Der Umfang der Offenbarung sollte mit Bezugnahme auf die folgenden Ansprüche zusammen mit dem vollen Umfang von Äquivalenten, zu denen die Ansprüche berechtigt sind, bestimmt werden.
  • Die Singularformen „ein, eine“ und „der, die, das“, wie sie hierin verwendet werden, sollen auch die Pluralformen umfassen, sofern der Kontext nicht eindeutig etwas anderes besagt. Ferner versteht es sich, dass die Begriffe „beinhaltet“, „beinhalten“, „kann umfassen“ und/oder „umfassen“, wenn sie hierin verwendet werden, das Vorhandensein genannter Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, aber das Vorhandensein oder den Zusatz eines/einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen. Deshalb dient die hierin verwendete Terminologie lediglich der Beschreibung bestimmter Ausführungsformen und soll nicht begrenzend sein.
  • Es sei auch angemerkt, dass in einigen alternativen Implementierungen die angemerkten Funktionen/Vorgänge in einer anderen Reihenfolge als der in den Figuren angemerkten auftreten können. Beispielsweise können zwei Figuren, die aufeinander folgend gezeigt sind, tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder abhängig von den beteiligten Funktionalitäten/Vorgängen manchmal in umgekehrter Reihenfolge ausgeführt werden.
  • Obwohl die Operationen des Verfahrens in einer spezifischen Reihenfolge beschrieben wurden, versteht es sich, dass andere Operationen zwischen beschriebenen Operationen durchgeführt werden können, dass beschriebene Operationen angepasst werden können, sodass sie zu leicht unterschiedlichen Zeitpunkten auftreten, oder dass die beschriebenen Operationen in einem System verteilt sein können, was das Auftreten der Verarbeitungsoperationen in verschiedenen, mit der Verarbeitung assoziierten Abständen ermöglicht. Beispielsweise können gewisse Operationen zumindest teilweise in einer umgekehrte Reihenfolge, zeitgleich mit und/oder parallel zu anderen Operationen durchgeführt werden.
  • Verschiedene Einheiten, Schaltungen oder andere Komponenten können als „konfiguriert, um“ oder „konfigurierbar, um“ eine Aufgabe oder Aufgaben durchzuführen, beschrieben oder beansprucht sein. In solchen Zusammenhängen wird der Ausdruck „konfiguriert, um“ oder „konfigurierbar, um“ verwendet, um eine Struktur zu implizieren, indem darauf hingewiesen wird, dass die Einheiten/Schaltungen/Komponenten eine Struktur (z. B. Schaltkreise) umfassen, die die Aufgabe(n) im Betrieb durchführt. Als solches kann die Einheit/Schaltung/Komponente als für die Durchführung der Aufgabe konfiguriert oder für die Durchführung der Aufgabe konfigurierbar bezeichnet werden, auch wenn die spezifizierte Einheit/Schaltung/Komponente aktuell nicht betriebsfähig ist (z. B. nicht eingeschaltet ist). Die zusammen mit der Ausdrucksweise „konfiguriert, um“ oder „konfigurierbar, um“ verwendeten Einheiten/Schaltungen/Komponenten umfassen Hardware - beispielsweise Schaltungen, Speicher, die ausführbare Programmanweisungen zur Implementierung der Operation speichern, usw. Wenn angeführt wird, dass eine Einheit/Schaltung/Komponente „konfiguriert ist, um“ eine oder mehrere Aufgaben durchzuführen, oder „konfigurierbar ist, um“ eine oder mehrere Aufgaben durchzuführen, soll hiermit ausdrücklich nicht 35 U.S.C. 112, Paragraph 6, für diese Einheit/Schaltung/Komponente geltend gemacht werden.
  • Zusätzlich kann „konfiguriert, um“ oder „konfigurierbar, um“ eine generische Struktur (z. B. einen generischen Schaltkreis) umfassen, die durch Firmware (z. B. eine FPGA) manipuliert wird, um auf eine Art und Weise zu arbeiten, die fähig ist, die jeweilige(n) Aufgabe(n) durchzuführen. „Konfiguriert, um“ kann auch das Adaptieren eines Herstellungsprozesses (z. B. einer Halbleiterfertigungsanlage) umfassen, um Vorrichtungen (z. B. integrierte Schaltungen) zu fertigen, die adaptiert sind, um eine oder mehrere Aufgaben zu implementieren oder durchzuführen. „Konfigurierbar, um“ soll sich ausdrücklich nicht auf leere Medien, einen unprogrammierten Prozessor oder eine unprogrammierte programmierbare Logikvorrichtung, programmierbare Gatteranordnung oder andere unprogrammierte Vorrichtung beziehen, es sei denn, dass diese von programmierten Medien begleitet werden, die der unprogrammierten Vorrichtung die Fähigkeit verleihen, so konfiguriert zu werden, dass sie die offenbarte(n) Funktion(en) durchführt.
  • Zum Zwecke der Erläuterung wurde die vorausgehende Beschreibung mit Bezugnahme auf spezifische Ausführungsformen beschrieben. Die oben stehenden illustrativen Diskussionen sollen jedoch nicht erschöpfend sein oder die Erfindung auf die exakten offenbarten Formen begrenzen. Im Hinblick auf die oben stehenden Lehren sind viele Modifikationen und Variationen möglich. Die Ausführungsformen wurden gewählt und beschrieben, um die Prinzipien der Ausführungsformen und ihre praktischen Anwendungen am besten zu erläutern und um dadurch andere Fachleute zu befähigen, die Ausführungsformen und verschiedenen Modifikationen, wie sie für die betrachtete besondere Verwendung geeignet sind, am besten zu nutzen. Demgemäß sind die vorliegenden Ausführungsformen als illustrativ und nicht einschränkend aufzufassen und ist die Erfindung nicht auf die hierin aufgeführten Details zu begrenzen, sondern sie kann vielmehr innerhalb des Umfangs und der Äquivalente der angehängten Ansprüche modifiziert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63/073876 [0001]

Claims (20)

  1. Ein System, das Folgendes beinhaltet: einen Universal-Synchronous-Bus-Typ-C-Leistungsabgabe(USB-C/PD)-Port; ein Verarbeitungsteilsystem, das mit dem USB-C/PD-Port betriebsfähig gekoppelt ist und für Folgendes konfiguriert ist: Empfangen eines Botschaftsrahmens, der von einer Master-Vorrichtung über ein Kommunikationsnetzwerk übertragen wird; Decodieren des Botschaftsrahmens, um einen Rahmentyp zu bestimmen, wobei der Rahmentyp eines von einem Anfragerahmen von der Master-Vorrichtung zum Steuern von Operationen des USB-C/PD-Ports und einem Antwortrahmen zum Überwachen von Operationen des USB-C/PD-Ports angibt; als Antwort auf das Bestimmen, dass der Botschaftsrahmen der Anfragerahmen ist, Empfangen von Steuerdaten von der Master-Vorrichtung über das Kommunikationsnetzwerk, um die Operationen des USB-C/PD-Ports zu steuern; und als Antwort auf das Bestimmen, dass der Botschaftsrahmen der Antwortrahmen ist, Übertragen von Antwortdaten, die die Operationen des USB-C/PD-Ports überwachen, an die Master-Vorrichtung über das Kommunikationsnetzwerk.
  2. System gemäß Anspruch 1, wobei der Anfragerahmen Folgendes beinhaltet: einen Schreibanfragerahmen, um Konfigurationsdaten in eine oder mehrere Speicherschreibstellen des Systems zu schreiben, um die Operationen des USB-C/PD-Ports zu steuern, wobei die Steuerdaten in dem Schreibanfragerahmen die Konfigurationsdaten umfassen; oder einen Leseanfragerahmen, um die Antwortdaten aus einer oder mehreren Speicherlesestellen des Systems auszulesen.
  3. System gemäß Anspruch 2, wobei das Verarbeitungsteilsystem ferner für Folgendes konfiguriert ist: Erkennen, dass der Anfragerahmen den Schreibanfragerahmen beinhaltet; Schreiben der Steuerdaten in die eine oder die mehreren Speicherschreibstellen des Systems; und Setzen eines Schreibbestätigungsmerkers, um anzugeben, dass die eine oder die mehreren Speicherschreibstellen mit den Steuerdaten beschrieben sind.
  4. System gemäß Anspruch 3, wobei das Verarbeitungsteilsystem ferner für Folgendes konfiguriert ist: Empfangen eines zweiten Botschaftsrahmens, der von der Master-Vorrichtung über das Kommunikationsnetzwerk übertragen wird; Decodieren des zweiten Botschaftsrahmens, um zu bestimmen, dass der zweite Botschaftsrahmen den Antwortrahmen beinhaltet; und Übertragen des Schreibbestätigungsmerkers als die Antwortdaten an die Master-Vorrichtung über das Kommunikationsnetzwerk.
  5. System gemäß Anspruch 2, wobei das Verarbeitungsteilsystem ferner für Folgendes konfiguriert ist: Erkennen, dass der Anfragerahmen den Leseanfragerahmen beinhaltet; und Auslesen von Speicherdaten aus der einen oder den mehreren Speicherlesestellen des Systems zur Speicherung in einem Puffer.
  6. System gemäß Anspruch 5, wobei das Verarbeitungsteilsystem ferner für Folgendes konfiguriert ist: Empfangen eines zweiten Botschaftsrahmens, der von der Master-Vorrichtung über das Kommunikationsnetzwerk übertragen wird; Decodieren des zweiten Botschaftsrahmens, um zu bestimmen, dass der zweite Botschaftsrahmen den Antwortrahmen beinhaltet; und Übertragen der in dem Puffer gespeicherten Speicherdaten als die Antwortdaten an die Master-Vorrichtung über das Kommunikationsnetzwerk.
  7. System gemäß Anspruch 2, wobei das Verarbeitungsteilsystem ferner für Folgendes konfiguriert ist: Bestimmen, dass der Schreibanfragerahmen oder der Leseanfragerahmen von dem System nicht abgearbeitet wird; Empfangen eines zweiten Botschaftsrahmens, der von der Master-Vorrichtung über das Kommunikationsnetzwerk übertragen wird; Decodieren des zweiten Botschaftsrahmens, um zu bestimmen, dass der zweite Botschaftsrahmen den Antwortrahmen beinhaltet; und Übertragen einer Fehlerbotschaft als die Antwortdaten an die Master-Vorrichtung über das Kommunikationsnetzwerk, um anzugeben, dass der Schreibanfragerahmen oder der Leseanfragerahmen von dem System nicht abgearbeitet wird.
  8. System gemäß Anspruch 1, wobei die Steuerdaten in einer Vielzahl der Anfragerahmen von der Master-Vorrichtung über das Kommunikationsnetzwerk empfangen werden.
  9. System gemäß Anspruch 1, wobei die Antwortdaten in einer Vielzahl der Antwortrahmen an die Master-Vorrichtung über das Kommunikationsnetzwerk übertragen werden.
  10. System gemäß Anspruch 1, wobei das Kommunikationsnetzwerk eines von einem Kraftfahrzeug-LIN (Local Interconnect Network) und einem Kraftfahrzeug-CAN (Controller Area Network) beinhaltet.
  11. Ein Verfahren, das Folgendes beinhaltet: Empfangen, durch ein Universal-Synchronous-Bus-Typ-C-Leistungsabgabe(USB-C/PD)-Steuergerät, das mit einem USB-C/PD-Port betriebsfähig gekoppelt ist, eines Botschaftsrahmens, der von einer Master-Vorrichtung über ein Kommunikationsnetzwerk übertragen wird; Decodieren, durch das USB-C/PD-Steuergerät, des Botschaftsrahmens, um einen Rahmentyp zu bestimmen, wobei der Rahmentyp eines von einem Anfragerahmen von der Master-Vorrichtung zum Steuern von Operationen des USB-C/PD-Ports und einem Antwortrahmen zum Überwachen von Operationen des USB-C/PD-Ports angibt; als Antwort auf das Bestimmen, dass der Botschaftsrahmen der Anfragerahmen ist, Empfangen, durch das USB-C/PD-Steuergerät, von Steuerdaten von der Master-Vorrichtung über das Kommunikationsnetzwerk, um die Operationen des USB-C/PD-Ports zu steuern; und als Antwort auf das Bestimmen, dass der Botschaftsrahmen der Antwortrahmen ist, Übertragen, durch das USB-C/PD-Steuergerät, von Antwortdaten, die die Operationen des USB-C/PD-Ports überwachen, an die Master-Vorrichtung über das Kommunikationsnetzwerk.
  12. Verfahren gemäß Anspruch 11, wobei der Anfragerahmen Folgendes beinhaltet: einen Schreibanfragerahmen, um Konfigurationsdaten in eine oder mehrere Speicherschreibstellen des USB-C/PD-Ports zu schreiben, um die Operationen des USB-C/PD-Ports zu steuern, wobei die Steuerdaten in dem Schreibanfragerahmen die Konfigurationsdaten umfassen; oder einen Leseanfragerahmen, um die Antwortdaten aus einer oder mehreren Speicherlesestellen des USB-C/PD-Ports auszulesen.
  13. Verfahren gemäß Anspruch 12, das ferner Folgendes beinhaltet: Erkennen, durch das USB-C/PD-Steuergerät, dass der Anfragerahmen den Schreibanfragerahmen beinhaltet; Schreiben, durch das USB-C/PD-Steuergerät, der Steuerdaten in die eine oder die mehreren Speicherschreibstellen des USB-C/PD-Ports; und Setzen, durch das USB-C/PD-Steuergerät, eines Schreibbestätigungsmerkers, um anzugeben, dass die eine oder die mehreren Speicherschreibstellen mit den Steuerdaten beschrieben sind.
  14. Verfahren gemäß Anspruch 13, das ferner Folgendes beinhaltet: Empfangen, durch das USB-C/PD-Steuergerät, eines zweiten Botschaftsrahmens, der von der Master-Vorrichtung über das Kommunikationsnetzwerk übertragen wird; Decodieren, durch das USB-C/PD-Steuergerät, des zweiten Botschaftsrahmens, um zu bestimmen, dass der zweite Botschaftsrahmen den Antwortrahmen beinhaltet; und Übertragen, durch das USB-C/PD-Steuergerät, des Schreibbestätigungsmerkers als die Antwortdaten an die Master-Vorrichtung über das Kommunikationsnetzwerk.
  15. Verfahren gemäß Anspruch 12, das ferner Folgendes beinhaltet: Erkennen, durch das USB-C/PD-Steuergerät, dass der Anfragerahmen den Leseanfragerahmen beinhaltet; und Auslesen, durch das USB-C/PD-Steuergerät, von Speicherdaten aus der einen oder den mehreren Speicherlesestellen des USB-C/PD-Ports zur Speicherung in einem Puffer.
  16. Verfahren gemäß Anspruch 15, das ferner Folgendes beinhaltet: Empfangen, durch das USB-C/PD-Steuergerät, eines zweiten Botschaftsrahmens, der von der Master-Vorrichtung über das Kommunikationsnetzwerk übertragen wird; Decodieren, durch das USB-C/PD-Steuergerät, des zweiten Botschaftsrahmens, um zu bestimmen, dass der zweite Botschaftsrahmen den Antwortrahmen beinhaltet; und Übertragen, durch das USB-C/PD-Steuergerät, der in dem Puffer gespeicherten Speicherdaten als die Antwortdaten an die Master-Vorrichtung über das Kommunikationsnetzwerk.
  17. Verfahren gemäß Anspruch 12, das ferner Folgendes beinhaltet: Bestimmen, durch das USB-C/PD-Steuergerät, dass der Schreibanfragerahmen oder der Leseanfragerahmen von dem USB-C/PD-Port nicht abgearbeitet wird; Empfangen, durch das USB-C/PD-Steuergerät, eines zweiten Botschaftsrahmens, der von der Master-Vorrichtung über das Kommunikationsnetzwerk übertragen wird; Decodieren, durch das USB-C/PD-Steuergerät, des zweiten Botschaftsrahmens, um zu bestimmen, dass der zweite Botschaftsrahmen den Antwortrahmen beinhaltet; und Übertragen, durch das USB-C/PD-Steuergerät, einer Fehlerbotschaft als die Antwortdaten an die Master-Vorrichtung über das Kommunikationsnetzwerk, um anzugeben, dass der Schreibanfragerahmen oder der Leseanfragerahmen von dem USB-C/PD-Port nicht abgearbeitet wird.
  18. Verfahren gemäß Anspruch 11, wobei die Steuerdaten in einer Vielzahl der Anfragerahmen von der Master-Vorrichtung empfangen oder die Antwortdaten in einer Vielzahl der Antwortrahmen an die Master-Vorrichtung über das Kommunikationsnetzwerk übertragen werden.
  19. Verfahren gemäß Anspruch 11, wobei das Kommunikationsnetzwerk eines von einem Kraftfahrzeug-LIN (Local Interconnect Network) und einem Kraftfahrzeug-CAN (Controller Area Network) beinhaltet.
  20. Ein Verfahren, das Folgendes beinhaltet: Empfangen, durch ein Universal-Synchronous-Bus-Typ-C-Leistungsabgabe(USB-C/PD)-Steuergerät, das mit einem USB-C/PD-Port betriebsfähig gekoppelt ist, eines Befehls, der von einer Master-Vorrichtung über ein Kommunikationsnetzwerk übertragen wird; direktes Decodieren, durch das USB-C/PD-Steuergerät, des Befehls, um einen von einem Steuerbefehl, der von der Master-Vorrichtung verwendet wird, um Operationen des USB-C/PD-Ports zu steuern, oder einem Überwachungsbefehl, der von der Master-Vorrichtung verwendet wird, um Operationen des USB-C/PD-Ports zu überwachen, zu bestimmen; und Konfigurieren, durch das USB-C/PD-Steuergerät, von Operationen des USB-C/PD-Ports als Antwort auf den Steuerbefehl; und Übertragen, durch das USB-C/PD-Steuergerät an die Master-Vorrichtung über das Kommunikationsnetzwerk, von operativen Informationen des USB-C/PD-Ports als Antwort auf den Überwachungsbefehl.
DE102021120927.7A 2020-09-02 2021-08-11 Echtzeitüberwachung und -steuerung von usb-typ-c/pd-ports ineinem kraftfahrzeug- oder industrieökosystem Pending DE102021120927A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063073876P 2020-09-02 2020-09-02
US63/073,876 2020-09-02
US17/331,866 US20220070018A1 (en) 2020-09-02 2021-05-27 Usb type-c/pd port real time monitoring and control in an automotive or industrial ecosystem
US17/331,866 2021-05-27

Publications (2)

Publication Number Publication Date
DE102021120927A1 true DE102021120927A1 (de) 2022-03-03
DE102021120927A8 DE102021120927A8 (de) 2022-04-21

Family

ID=80221735

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021120927.7A Pending DE102021120927A1 (de) 2020-09-02 2021-08-11 Echtzeitüberwachung und -steuerung von usb-typ-c/pd-ports ineinem kraftfahrzeug- oder industrieökosystem

Country Status (3)

Country Link
US (1) US20220070018A1 (de)
CN (1) CN114201433A (de)
DE (1) DE102021120927A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4047485B1 (de) * 2021-02-17 2023-09-06 Aptiv Technologies Limited Lin-master-prüfvorrichtung
CN116192998B (zh) * 2023-02-24 2023-10-31 广芯微电子(广州)股份有限公司 一种解码功率传输协议信息包的方法、装置及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145045A (en) * 1998-01-07 2000-11-07 National Semiconductor Corporation System for sending and receiving data on a Universal Serial Bus (USB) using a memory shared among a number of end points
US7778750B2 (en) * 2002-02-25 2010-08-17 Cummins Inc. Vehicle communications network adapter
US6757776B1 (en) * 2002-07-17 2004-06-29 Cypress Semiconductor Corp. Control transaction handling in a device controller
US7657691B2 (en) * 2005-09-30 2010-02-02 Cypress Semiconductor Corporation Simplified universal serial bus (USB) hub architecture
TWI326544B (en) * 2006-11-15 2010-06-21 Ind Tech Res Inst An intelligent heterogeneous network packet dispatcher methodology
US10362035B1 (en) * 2016-07-22 2019-07-23 Rockwell Collins, Inc. Secured communications using avionics power bus network
US20210055777A1 (en) * 2020-08-18 2021-02-25 Intel Corporation System power management in multi-port i/o hybrid systems

Also Published As

Publication number Publication date
US20220070018A1 (en) 2022-03-03
CN114201433A (zh) 2022-03-18
DE102021120927A8 (de) 2022-04-21

Similar Documents

Publication Publication Date Title
DE10392279B4 (de) Kommunikationsbrücke zwischen einem Fahrzeuginformationsnetz und einem Fernsystem
DE102021120927A1 (de) Echtzeitüberwachung und -steuerung von usb-typ-c/pd-ports ineinem kraftfahrzeug- oder industrieökosystem
US11246098B2 (en) Method and apparatus for wake-up of communication node in vehicle network
DE112010001469B4 (de) Flexible Integration von Endpunktlogik in unterschiedlichen Plattformen
DE102015214915B4 (de) Flexibles Scheduling-Verfahren und Scheduling-Vorrichtung bei einer LIN-Kommunikation
CN102801551B (zh) 基于osek网络管理的can网络管理方法
DE102017123252A1 (de) Softwareaktualisierungsverfahren und -vorrichtung für Fahrzeug
DE102021118048A1 (de) Systemleistungsverwaltung in e/a-hybridsystemen mit mehreren ports
DE19900290A9 (de) Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung
DE112020002841T5 (de) Vorrichtung der physikalischen schicht mit ruhemodus und unterstützung eines teilweisen vernetzens und zugehörige systeme, verfahren und vorrichtungen
DE102014224230A1 (de) Controller für Im-Fahrzeug-Ethernet und dessen Steuerverfahren
US10673986B2 (en) Operation method of communication node for selective wake-up in vehicle network
EP3788756B1 (de) Gateway zur datenkommunikation in einem fahrzeug
DE102018006852A1 (de) Verfahren, Vorrichtung und System für eine ThunderBolt-basierte Anzeigetopologie für duale Grafiksysteme
DE102016210274A1 (de) Betriebsverfahren eines kommunikationsknotens in einem fahrzeugnetz
DE102018106414A1 (de) Betriebsverfahren eines Kommunikationsknotens zur Diagnose eines Fahrzeugnetzwerks
CN111385176A (zh) 车辆及其通讯系统与方法
EP2347549A1 (de) Schaltungsanordnung mit einer transceiverschaltung für ein bussystem und knoten für ein bussystem
WO2020063865A1 (zh) Can电路结构及其车辆诊断设备
DE102017127284A1 (de) Betriebsverfahren eines Kommunikationsknotens zur Zeitsynchronisation im Fahrzeugnetzwerk
DE102023105160A1 (de) Floating-gate-treiber mit programmierbarer treiberstärke für ein breites spektrum an universal-serial-bus(usb)-leistungsabgabeanwendungen
DE102018110716A1 (de) Kommunikationsknoten im fahrzeugnetzwerk und betriebsverfahren des kommunikationsknotens
CN211579949U (zh) 监控车载以太网芯片工作的复位电路、车载系统及车辆
US20210216294A1 (en) Device, system and a method for reprograming electronic control unit
CN112987896B (zh) 供电装置、供电方法和电子控制系统

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)