DE102014207422A1 - Busschnittstelleneinheit und Betriebsverfahren hierfür - Google Patents

Busschnittstelleneinheit und Betriebsverfahren hierfür Download PDF

Info

Publication number
DE102014207422A1
DE102014207422A1 DE102014207422.3A DE102014207422A DE102014207422A1 DE 102014207422 A1 DE102014207422 A1 DE 102014207422A1 DE 102014207422 A DE102014207422 A DE 102014207422A DE 102014207422 A1 DE102014207422 A1 DE 102014207422A1
Authority
DE
Germany
Prior art keywords
bus
control unit
data
unit
bus control
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
DE102014207422.3A
Other languages
English (en)
Inventor
Herbert Leuwer
Stefan Kreuz
Christoph Hufen
Stefan Thiele
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102014207422.3A priority Critical patent/DE102014207422A1/de
Priority to US14/680,855 priority patent/US10127180B2/en
Priority to CN201510179748.7A priority patent/CN105045739B/zh
Priority to JP2015084389A priority patent/JP2015208002A/ja
Publication of DE102014207422A1 publication Critical patent/DE102014207422A1/de
Priority to JP2019191891A priority patent/JP2020010412A/ja
Priority to JP2021069511A priority patent/JP7217770B2/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

Die Erfindung betrifft eine Busschnittstelleneinheit (100) zum Austausch von Daten über ein Bussystem (10), wobei die Busschnittstelleneinheit (100) mindestens eine Bussteuerungseinheit (110) zum Anschluss an das Bussystem (10) aufweist, gekennzeichnet durch eine Steuerungseinheit (120), die dazu ausgebildet ist, über die Bussteuerungseinheit (110) von dem Bussystem (10) empfangene Daten und/oder hieraus abgeleitete Daten an eine externe Einheit (2000) auszugeben und/oder von einer externen Einheit (2000) erhaltene Daten und/oder hieraus abgeleitete Daten über die Bussteuerungseinheit (110) an das Bussystem (10) auszugeben.

Description

  • Stand der Technik
  • Die Erfindung betrifft eine Busschnittstelleneinheit zum Austausch von Daten über ein Bussystem, wobei die Busschnittstelleneinheit mindestens eine Bussteuerungseinheit zum Anschluss an das Bussystem aufweist.
  • Die Erfindung betrifft ferner ein entsprechendes Betriebsverfahren für eine derartige Busschnittstelleneinheit.
  • Bussteuerungseinheiten der eingangs genannten Art sind bekannt und werden auch als "Buscontroller" bezeichnet. Bekannte Buscontroller werden üblicherweise an einen standardisierten Prozessorbus eines Mikroprozessors oder dergleichen angeschlossen, und ihr Betrieb erfolgt softwaregesteuert unter Kontrolle des Mikroprozessors. Nachteilig an den bekannten Systemen ist der durch den Einsatz von Software bedingte verhältnismäßig große jitter (Varianz der Ausführungszeiten/Bearbeitungszeiten bei der Datenverarbeitung) und der geringe Durchsatz.
  • Offenbarung der Erfindung
  • Demgemäß ist es Aufgabe der vorliegenden Erfindung, eine verbesserte Busschnittstelleneinheit und ein verbessertes Betriebsverfahren dafür anzugeben, die die vorstehend genannten Nachteile in geringerem Umfang bzw. gar nicht aufweisen.
  • Diese Aufgabe wird bei der Busschnittstelleneinheit der eingangs genannten Art erfindungsgemäß dadurch gelöst, dass eine Steuerungseinheit vorgesehen ist, die dazu ausgebildet ist, über die Bussteuerungseinheit von dem Bussystem empfangene Daten und/oder hieraus abgeleitete Daten an eine externe Einheit auszugeben und/oder von einer externen Einheit erhaltene Daten und/oder hieraus abgeleitete Daten über die Bussteuerungseinheit an das Bussystem auszugeben. Die Vorsehung der erfindungsgemäßen Steuerungseinheit ermöglicht vorteilhaft die Lokalisierung von für die Datenverarbeitung wichtigen Funktionalitäten in der Busschnittstelleneinheit selbst, so dass eine externe Einheit wie z.B. ein mit der Busschnittstelleneinheit verbundener Prozessor entlastet wird und die Nachteile des Stands der Technik gemindert bzw. ganz vermieden werden können. Insbesondere wenn die Steuerungseinheit – einer bevorzugten Ausführungsform zufolge – mittels Hardware realisiert ist, entfallen die vorstehend genannten Nachteile der herkömmlichen Systeme. Aber auch bei anderen Varianten, bei denen die Bussteuerungseinheit zumindest teilweise in Hardware realisiert ist, sind die erfindungsgemäßen Vorteile gegeben, gegenüber einer herkömmlichen Architektur, bei denen die externe Einheit z.B. mittels Polling oder sonstiger softwaregesteuerter Verfahren über einen herkömmlichen Prozessorbus mit der Busschnittstelleneinheit kommuniziert.
  • Bei einer bevorzugten Ausführungsform ist vorgesehen, dass die Steuerungseinheit dazu ausgebildet ist, Daten mit der externen Einheit in Form von einem oder mehreren Datensegmenten, insbesondere Datensegmenten konstanter Länge, auszutauschen. Dadurch ist eine deterministische Laufzeit bzw. Bearbeitungszeit der Datensegmente in der externen Einheit möglich.
  • Bei einer bevorzugten Ausführungsform ist vorgesehen, dass das Bussystem ein Controller-Area-Network, CAN, Bussystem ist, und dass die Bussteuerungseinheit eine CAN-Bussteuerungseinheit ist. Besonders bevorzugt kann die CAN-Bussteuerungseinheit einer Ausführungsform zufolge als eigenständiger CAN-Controller ausgebildet sein, z.B. in Form eines separaten integrierten Schaltkreises (IC), oder auch als ASIC (anwendungsspezifische integrierte Schaltung) bzw. Teil eines ASICs oder auch als FPGA (programmierbarer Logikschaltkreis) bzw. Teil eines FPGAs. Bei einer Ausführungsform kann die CAN-Bussteuerungseinheit auch basierend auf dem "M_CAN IP Modul" der Robert Bosch GmbH realisiert sein, vgl. die Internet-Publikation http://www.bosch-semiconductors.de/media/en/pdf_1/ipmodules_1/ m_can/bosch_product_info_m_can_ip.pdf.
  • Bei einer weiteren bevorzugten Ausführungsform ist vorgesehen, dass das Bussystem ein FlexRay Bussystem ist, und dass die Bussteuerungseinheit eine FlexRay-Bussteuerungseinheit ist. Analog zu der vorstehend beschriebenen Ausführungsform des CAN-Controllers kann auch im Falle eines FlexRay Bussystems die FlexRay-Bussteuerungseinheit einer Ausführungsform zufolge als eigenständiger FlexRay-Controller ausgebildet sein, z.B. in Form eines separaten integrierten Schaltkreises (IC), oder auch als ASIC (anwendungsspezifische integrierte Schaltung) bzw. Teil eines ASICs oder auch als FPGA (programmierbarer Logikschaltkreis) bzw. Teil eines FPGAs. Bei einer Ausführungsform kann die FlexRay-Bussteuerungseinheit auch basierend auf dem "E-Ray IP Modul" der Robert Bosch GmbH realisiert sein, vgl. die Internet-Publikation http://www.bosch-semiconductors.de/media/en/pdf_1/ipmodules_1/ flexray/eray_users_manual_1_2_7.pdf.
  • Bei einer weiteren Ausführungsform kann das Bussystem auch als ein Local Interconnect Network, LIN, Bussystem ausgebildet sein, und die Bussteuerungseinheit ist eine LIN-Bussteuerungseinheit.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Steuerungseinheit dazu ausgebildet ist, Steuerungsdaten und/oder Konfigurationsdaten von der externen Einheit zu empfangen, wodurch die erfindungsgemäße Steuerungseinheit in die Lage versetzt wird, die Steuerungsdaten und/oder Konfigurationsdaten der betreffenden Bussteuerungseinheit direkt zuzuführen, insbesondere unabhängig von bzw. entkoppelt von einem weiteren Betrieb der externen Einheit. Auf diese Weise können die Steuerungsdaten und/oder Konfigurationsdaten z.B. in solchen Betriebszuständen der Bussteuerungseinheit zugeführt werden, in denen eine Datenkommunikation über das Bussystem besonders wenig durch den Transfer von Steuerungsdaten und/oder Konfigurationsdaten beeinträchtigt wird.
  • Beispielsweise kann die Steuerungseinheit einer Ausführungsform zufolge bei einer Ausbildung einer CAN-Bussteuerungseinheit basierend auf dem vorstehend beschriebenen "M_CAN IP Modul" dazu ausgebildet sein, auf Speicher- bzw. Konfigurationsregister des M_CAN IP Moduls zuzugreifen, z.B. um von der externen Einheit erhaltene Steuerungsdaten und/oder Konfigurationsdaten in die CAN-Bussteuerungseinheit bzw. deren Register zu schreiben.
  • Weiter beispielsweise kann die Steuerungseinheit einer Ausführungsform zufolge bei einer Ausbildung einer FlexRay-Bussteuerungseinheit basierend auf dem vorstehend beschriebenen "E-Ray IP Modul" dazu ausgebildet sein, auf Speicher- bzw. Konfigurationsregister des E_Ray IP Moduls zuzugreifen, z.B. um von der externen Einheit erhaltene Steuerungsdaten und/oder Konfigurationsdaten in die FlexRay-Bussteuerungseinheit bzw. deren Register zu schreiben.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Steuerungseinheit dazu ausgebildet ist, einen Betriebszustand der Bussteuerungseinheit charakterisierende Informationen, insbesondere Status- und/oder Ereignisinformationen, von der Bussteuerungseinheit zu empfangen, und die den Betriebszustand der Bussteuerungseinheit charakterisierenden Informationen zumindest teilweise an die externe Einheit auszugeben, wobei die den Betriebszustand der Bussteuerungseinheit charakterisierenden Informationen insbesondere in der Steuerungseinheit zwischengespeichert, d.h. wenigstens temporär gespeichert, werden.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Steuerungseinheit, vorzugsweise die gesamte Busschnittstelleneinheit, mittels bzw. in Form von Hardware realisiert ist, insbesondere als anwendungsspezifischer integrierter Schaltkreis, ASIC, oder programmierbarer Logikschaltkreis, FPGA, bzw. als Teil davon. In diesem Fall ergeben sich besonders geringe Datenverarbeitungszeiten, und insbesondere eine vorhersagbare Bearbeitungs- bzw. Durchlaufzeit von Daten durch die erfindungsgemäße Steuerungseinheit bzw. Busschnittstelleneinheit, was sich positiv auf die performante Weiterverarbeitung von Daten in der externen Einheit auswirkt.
  • Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung ist ein Verfahren zum Betreiben einer Busschnittstelleneinheit zum Austausch von Daten über ein Bussystem angegeben, wobei die Busschnittstelleneinheit mindestens eine Bussteuerungseinheit zum Anschluss an das Bussystem aufweist, dadurch gekennzeichnet, dass eine Steuerungseinheit vorgesehen ist, und dass die Steuerungseinheit über die Bussteuerungseinheit von dem Bussystem empfangene Daten und/oder hieraus abgeleitete Daten an eine externe Einheit ausgibt und/oder dass die Steuerungseinheit von einer externen Einheit erhaltene Daten und/oder hieraus abgeleitete Daten über die Bussteuerungseinheit an das Bussystem ausgibt.
  • Vorteilhafte Ausgestaltungen sind Gegenstand der abhängigen Patentansprüche. Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigt:
  • 1 schematisch eine Busschnittstelleneinheit gemäß einer ersten Ausführungsform,
  • 2 schematisch eine Busschnittstelleneinheit gemäß einer zweiten Ausführungsform,
  • 3a bis 3d jeweils schematisch Aspekte einer Busschnittstelleneinheit gemäß einer weiteren Ausführungsform,
  • 4 schematisch eine Busschnittstelleneinheit gemäß einer weiteren Ausführungsform,
  • 5a bis 5d jeweils schematisch Aspekte einer Busschnittstelleneinheit gemäß einer weiteren Ausführungsform, und
  • 6 schematisch ein Flussdiagramm gemäß einer Ausführungsform.
  • 1 zeigt schematisch eine Busschnittstelleneinheit 100 gemäß einer ersten Ausführungsform. Die Busschnittstelleneinheit 100 dient zum Austausch von Daten über ein Bussystem 10. Auf diese Weise kann z.B. eine externe Einheit 2000 unter Verwendung der Busschnittstelleneinheit 100 Daten über das Bussystem 10 übertragen (empfangen und/oder senden). Bei der externen Einheit 2000, die nicht Gegenstand der vorliegenden Erfindung ist, kann es sich beispielsweise um eine Recheneinheit eines Steuergeräts (nicht gezeigt), insbesondere eines Kraftfahrzeugs, handeln, oder auch um eine Gateway-Einrichtung oder dergleichen, die zur Weiterleitung von Daten an andere Geräte bzw. zum Datenaustausch zwischen mehreren Geräten untereinander vorgesehen ist.
  • Erfindungsgemäß weist die Busschnittstelleneinheit 100 eine Bussteuerungseinheit 110 auf, die zum Anschluss an das Bussystem 10 vorgesehen ist und auch als "Buscontroller" bezeichnet werden kann. Erfindungsgemäß weist die Busschnittstelleneinheit 100 ferner eine – von der Bussteuerungseinheit 110 zu unterscheidende – Steuerungseinheit 120 auf, die dazu ausgebildet ist, über die Bussteuerungseinheit 110 von dem Bussystem 10 empfangene Daten und/oder hieraus abgeleitete Daten an die externe Einheit 2000 auszugeben und/oder von der externen Einheit 2000 erhaltene Daten und/oder hieraus abgeleitete Daten über die Bussteuerungseinheit 110 an das Bussystem 10 auszugeben.
  • 6 zeigt hierzu schematisch ein vereinfachtes Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens. In Schritt 200 empfängt die Bussteuerungseinheit 110 (1) über das Bussystem 10 Daten, die von einem anderen Busteilnehmer (nicht gezeigt) des Bussystems 10 ausgesendet worden sind. In Schritt 210 (2) gibt die Steuerungseinheit 120 die in Schritt 200 empfangenen Daten an die externe Einheit 2000 aus.
  • Bei einer Ausführungsform kann eine entsprechende Datenverbindung DV zwischen der Steuerungseinheit 120 oder allgemein der Busschnittstelleneinheit 100 einerseits und der externen Einheit 2000 andererseits ein oder mehrere (dedizierte) Datenleitungen bzw. Adress- und/oder Datenbusse umfassen, so dass ein effizienter und performanter Datenaustausch zwischen den Komponenten 120 bzw. 100 und 2000 möglich ist.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Steuerungseinheit 120, vorzugsweise jedoch die gesamte Busschnittstelleneinheit 100, mittels bzw. in Form von Hardware realisiert ist, insbesondere als anwendungsspezifischer integrierter Schaltkreis, ASIC, oder programmierbarer Logikschaltkreis, FPGA, bzw. als Teil davon. In diesem Fall ergeben sich besonders geringe Datenverarbeitungszeiten, und insbesondere eine vorhersagbare Bearbeitungs- bzw. Durchlaufzeit von Daten durch die erfindungsgemäße Steuerungseinheit 120 bzw. Busschnittstelleneinheit 100, was sich positiv auf die performante Weiterverarbeitung von Daten in der externen Einheit 2000 auswirkt. Beispielsweise kann die Funktionalität der Bussteuerungseinheit 110 in demselben FPGA implementiert sein wie die Funktionalität der Steuerungseinheit 120. Bei einer weiteren Ausführungsform kann die Funktionalität der Komponenten 110, 120 bzw. generell der Komponente 100 auch in z.B. denselben FPGA integriert werden wie die externe Einheit 2000.
  • 2 zeigt schematisch eine Busschnittstelleneinheit 100a gemäß einer zweiten Ausführungsform. Die Busschnittstelleneinheit 100a ist an ein als CAN-Bus ausgebildetes Bussystem 10a angeschlossen und dazu ausgebildet, über die Bussteuerungseinheit 110a von dem CAN-Bus 10a empfangene Daten und/oder hieraus abgeleitete Daten an die externe Einheit 2000 auszugeben und/oder von der externen Einheit 2000 erhaltene Daten und/oder hieraus abgeleitete Daten über die Bussteuerungseinheit 110a an den CAN-Bus 10a auszugeben. Der Datenaustausch zwischen der Busschnittstelleneinheit 100a und der externen Einheit 2000 ist in 2 durch mehrere Pfeile 1228 bzw. Blockpfeile 111', 117a', 1288 angedeutet und weiter unten näher beschrieben.
  • Die Bussteuerungseinheit 110a der Busschnittstelleneinheit 100a ist vorliegend basierend auf dem vorstehend bereits beschriebenen "M_CAN IP Modul" der Robert Bosch GmbH realisiert, das dazu ausgebildet ist, eine zu der Norm ISO 11898-1 kompatible Kommunikation auf einem CAN-Bussystem 10a auszuführen. Alternativ kann auch ein anderer CAN-Controller 110a verwendet werden. Die Funktionalität des M_CAN IP Moduls, und insbesondere der gesamten Busschnittstelleneinheit 100a, ist besonders bevorzugt in Form eines Teils eines FPGA (field programmable gate array, programmierbarer Logikbaustein) F1 realisiert, wobei der FPGA F1 vorliegend auch zumindest teilweise die Funktionalität der externen Einheit 2000 realisiert. Dies ist in 2 durch die mit dem Bezugszeichen F1 versehene gestrichelte Linie um die Einheiten 100a, 2000 herum angedeutet. Durch die Integration sowohl der Busschnittstelleneinheit 100a als auch der externen Einheit 2000 in demselben FPGA F1 ergeben sich besonders effiziente Möglichkeiten der Datenübertragung zwischen den Einheiten 100a, 2000, weil z.B. auf FPGA-interne Bus- bzw. Datenübertragungssysteme zurückgegriffen werden kann. Im Falle von FPGA-Typen des Herstellers Altera kann beispielsweise auf die sog. Avalon-Schnittstellen der Altera FPGAs zurückgegriffen werden, die eine effiziente Datenverbindung mehrerer in demselben FPGA F1 angeordneter Komponenten bzw. Einheiten ermöglicht. Besonders bevorzugt ist bei dem FPGA F1 beispielsweise die Schnittstelle vom Typ "Avalon Memory Mapped Interface (Avalon-MM)" verwendbar, um zwischen Teilen der Einheiten 100a, 2000 eine Datenverbindung zu etablieren.
  • Bei der in 2 abgebildeten Konfiguration ist die Funktionalität der erfindungsgemäßen Steuerungseinheit 120a (vgl. auch Bezugszeichen 120 aus 1) auf mehrere Funktionsblöcke, nämlich im Wesentlichen die Funktionsblöcke 122a, 124a, 126a, 128a, verteilt, die nachfolgend näher erläutert werden.
  • Bei einer vorteilhaften Ausführungsform ist der erste Funktionsblock 122a vorgesehen, der auch als "host service" bezeichnet werden kann, und der dazu ausgebildet ist, einen Betrieb der Busschnittstelleneinheit 100a zu steuern. Insbesondere kann der erste Funktionsblock 122a dazu ausgebildet sein, Steuerungsdaten und/oder Konfigurationsdaten von der externen Einheit 2000 zu empfangen, wodurch die erfindungsgemäße Steuerungseinheit 120a in die Lage versetzt wird, die Steuerungsdaten und/oder Konfigurationsdaten der Bussteuerungseinheit 110a direkt zuzuführen, insbesondere unabhängig von bzw. entkoppelt von einem weiteren Betrieb der externen Einheit 2000. Auf diese Weise können die Steuerungsdaten und/oder Konfigurationsdaten z.B. in solchen Betriebszuständen der Bussteuerungseinheit 110a zugeführt werden, in denen eine Datenkommunikation über den CAN-Bus 10a besonders wenig durch den Transfer von Steuerungsdaten und/oder Konfigurationsdaten beeinträchtigt wird.
  • Die genannten Steuerungsdaten können einer Ausführungsform zufolge beispielsweise Steuerbefehle umfassen, welche einen Start bzw. ein Herunterfahren/Deaktivieren der Bussteuerungseinheit 110a einleiten, und/oder sonstige Wechsel zwischen Betriebszuständen der Bussteuerungseinheit 110a.
  • 3a zeigt schematisch einen Aspekt der Busschnittstelleneinheit 100a gemäß 2. Abgebildet ist der auch als "host service" bezeichnete erste Funktionsblock 122a.
  • Bei einer vorteilhaften Ausführungsform kann in dem ersten Funktionsblock 122a beispielsweise ein Zustandsautomat 1220a (endlicher Automat, finite state machine (FSM)) realisiert sein, der verschiedene Betriebszustände der Busschnittstelleneinheit 100a abbildet und Betriebszustandsübergänge in an sich bekannter Weise steuert bzw. unter Steuerung der vorstehend genannten Steuerungsdaten und/oder Konfigurationsdaten ausführt.
  • Beispielsweise kann der Zustandsautomat 1220a einer Ausführungsform zufolge drei Zustände "Default", "Ready", "Running" aufweisen, wobei der erste Zustand "Default" z.B. nach einem Aktivieren des Zustandsautomaten 1220a bzw. des ersten Funktionsblocks 122a eingenommen wird. Beispielsweise kann der Zustandsautomat 1220a von dem ersten Zustand "Default" in den zweiten Zustand "Ready" dadurch versetzt werden, dass die Bussteuerungseinheit 110a (2) initialisiert bzw. zurückgesetzt wird, was durch das Absenden entsprechender Steuerdaten von der externen Einheit 2000 an die Steuereinheit 120a bzw. den ersten Funktionsblock 122a möglich ist. Durch einen Startbefehl, der ebenfalls von der externen Einheit 2000 an die Steuereinheit 120a bzw. den ersten Funktionsblock 122a übertragbar ist, kann der Zustandsautomat 1220a schließlich von dem zweiten Zustand "Ready" in den dritten Zustand "Running" versetzt werden. Analog hierzu kann der Zustandsautomat 1220a durch einen Stopbefehl, der ebenfalls von der externen Einheit 2000 an die Steuereinheit 120a bzw. den ersten Funktionsblock 122a übertragbar ist, von dem dritten Zustand "Running" in den ersten Zustand "Default" versetzt werden.
  • Zusätzlich kann vorgesehen sein, dass in den Betriebszuständen "Ready" und/oder "Running" Konfigurationsdaten der Bussteuerungseinheit 110a (z.B. zur Einstellung des Bustimings für den Zugriff auf den CAN-Bus 10a) und/oder der gesamten Busschnittstelleneinheit 100a (z.B. zur Konfiguration der Datenpfade zwischen den Einheiten 100a, 2000) geändert werden. Auch hierzu kann die Steuereinheit 120a entsprechende Steuerungsdaten und/oder Konfigurationsdaten von z.B. der externen Einheit 2000 erhalten.
  • Bei einer Ausführungsform ist die Bussteuerungseinheit 110a in dem dritten Zustand "Running" hinsichtlich der Datenkommunikation auf dem CAN-Bus 10a aktiv, kann mithin CAN-Botschaften empfangen und/oder aussenden.
  • Beispielsweise kann die Steuerungseinheit 120a einer Ausführungsform zufolge bei der Ausbildung der CAN-Bussteuerungseinheit 110a basierend auf dem vorstehend beschriebenen "M_CAN IP Modul" dazu ausgebildet sein, auf Speicher- bzw. Konfigurationsregister des M_CAN IP Moduls zuzugreifen, z.B. um von der externen Einheit 2000 erhaltene Steuerungsdaten und/oder Konfigurationsdaten in die CAN-Bussteuerungseinheit 110a bzw. deren Register zu schreiben.
  • Bei einer weiteren vorteilhaften Ausführungsform kann in dem ersten Funktionsblock 122a gemäß 3a ein sog. Host-Service handler 1222a vorgesehen sein, der dazu ausgebildet ist, eine oder mehrere der folgenden Funktionalitäten bereitzustellen: Datenverbindung 1224 zur externen Einheit 2000, Datenverbindung 1226 zur CAN-Bussteuerungseinheit 110a, Interrupt-Controller 1228, direkte Datenverbindung 1230 zu internen Komponenten der CAN-Bussteuerungseinheit 110a, Datenverbindung 1232 zur Signalisierung von Statusinformationen.
  • Bei einer vorteilhaften Ausführungsform kann die Datenverbindung 1224 zur externen Einheit 2000 beispielsweise eine oder mehrere FPGA-interne Datenverbindungen umfassen, z.B. im Falle von Altera FPGAs F1 (2) ein oder mehrere der sog. Avalon-Schnittstellen, beispielsweise die Schnittstelle vom Typ "Avalon Memory Mapped Interface (Avalon-MM)".
  • Bei einer vorteilhaften Ausführungsform kann die Datenverbindung 1226 zur CAN-Bussteuerungseinheit 110a, insbesondere zu der AEI-Schnittstelle AEI (2) des M_CAN IP Moduls, eine Anbindung an den M_CAN Multiplexer des M_CAN IP Moduls umfassen. Bei einer weiteren vorteilhaften Ausführungsform kann die Funktionalität des Interrupt-Controllers 1228 die Ausgabe von Interrupt("Unterbrechungsanforderungs")-Signalen an die externe Einheit 2000 umfassen. Bei einer weiteren vorteilhaften Ausführungsform kann die direkte Datenverbindung 1230 zu internen Komponenten der CAN-Bussteuerungseinheit 110a über sog. BondOuts realisiert sein, also über direkte Signalherausführungen aus der CAN-Bussteuerungseinheit 110a bzw. der ihre Funktion implementierenden Vorrichtung (Hardware, insbesondere ASIC und/oder IC und/oder FPGA wie vorliegend betrachtet). Bei einer weiteren vorteilhaften Ausführungsform kann die Datenverbindung 1232 zur Signalisierung von Statusinformationen beispielsweise direkt auf Signalisiereinrichtungen (optischer Signalgeber wie z.B. Leuchtdiode) oder auch auf die externe Einheit 2000 wirken.
  • 3b zeigt schematisch einen weiteren Aspekt der Busschnittstelleneinheit 100a gemäß 2. Abgebildet ist ein Status- und Ereignisserver, kurz SES, der in 3b durch den zweiten Funktionsblock 124a repräsentiert ist.
  • Vermöge des SES 124a ist die Busschnittstelleneinheit 100a gemäß einer Ausführungsform dazu ausgebildet, einen Betriebszustand der Bussteuerungseinheit 110a (2) charakterisierende Informationen von der Bussteuerungseinheit 110a zu empfangen, und die den Betriebszustand der Bussteuerungseinheit 110a charakterisierenden Informationen zumindest teilweise an die externe Einheit 2000 auszugeben, wobei die den Betriebszustand der Bussteuerungseinheit 110a charakterisierenden Informationen insbesondere in der Steuerungseinheit 120a, vorliegend insbesondere in dem SES 124a, zwischengespeichert werden.
  • Der SES 124a weist bei einer Ausführungsform hierzu einen Status- und Ereignishandler (kurz "SEH") 1240a auf, der über die Datenverbindung 1244 den Betriebszustand der Bussteuerungseinheit 110a charakterisierende Informationen, insbesondere Status- und Ereignisinformationen des CAN-Buscontrollers 110a von dem Buscontroller 110a empfängt. Bei einer weiteren vorteilhaften Ausführungsform kann die Datenverbindung 1244 – analog zur vorstehend beschriebenen Datenverbindung 1230 – direkt zu internen Komponenten der CAN-Bussteuerungseinheit 110a über BondOuts realisiert sein.
  • Bei einer weiteren Ausführungsform kann der SEH 1240a dazu ausgebildet sein, Ereignisse und Statusänderungen der Bussteuerungseinheit 110a zu empfangen und auszuwerten, insbesondere zu filtern. In Abhängigkeit von der Auswertung und/oder Filterung kann der SEH 1240a weiter Datenübertragungen an die externe Einheit 2000 ausführen bzw. veranlassen, z.B. um die externe Einheit 2000 über die Auswertung und/oder Filterung bzw. generell die Status- und Ereignisinformationen des CAN-Buscontrollers 110a zu informieren. Eine Datenverbindung zu der externen Einheit 2000 ist beispielsweise über die Datenschnittstelle 1246 realisierbar. Bei einer vorteilhaften Ausführungsform kann die Datenschnittstelle 1246 zur externen Einheit 2000 beispielsweise eine oder mehrere FPGA-interne Datenverbindungen umfassen, z.B. im Falle von Altera FPGAs F1 (2) ein oder mehrere der sog. Avalon-Schnittstellen, beispielsweise die Schnittstelle vom Typ "Avalon Memory Mapped Interface (Avalon-MM)", vergleichbar zu der Datenschnittstelle 1224 zwischen dem ersten ("host service") Funktionsblock 122a und der externen Einheit 2000. Durch die direkte Datenverbindung 1246 können die an die externe Einheit 2000 zu sendenden Daten besonders effizient an die externe Einheit 2000 übertragen werden, insbesondere ohne softwaregesteuerte Abläufe wie z.B. Polling-Mechanismen oder dergleichen. Vielmehr kann bei einer Realisierung der Einheit 100a in Hardware bzw. durch die Funktionalität des FPGA F1 eine, vorzugsweise rein, hardwarebasierte und damit hochperformante Datenkommunikation erfolgen, deren einzelne Ablaufphasen insbesondere auch deterministisch sind, also mit vorhersagbarer Zeitdauer.
  • Bei einer weiteren Ausführungsform kann der SES 124a auch einen sog. SES Eingangskoordinator ("ingress handler"), dargestellt durch den Funktionsblock 1242a in 3b, aufweisen, der über eine (eigene) Datenverbindung 1248 zu der externen Einheit 2000 verfügt. Bei einer bevorzugten Ausführungsform ist vorgesehen, dass der SES Eingangskoordinator 1242a dazu ausgebildet ist, Daten mit der externen Einheit 2000 in Form von einem oder mehreren Datensegmenten, insbesondere Datensegmenten konstanter Länge, auszutauschen. Dadurch ist eine deterministische Laufzeit bzw. Bearbeitungszeit der Datensegmente in der externen Einheit 2000 möglich. Der SES Eingangskoordinator 1242a kann ferner dazu ausgebildet sein, eine Arbitrierung von Datenübertragungsanforderungen vorzunehmen, die von dem SEH 1240a an ihn gerichtet werden, beispielsweise um die vorstehend genannten Status- und Ereignisinformationen des CAN-Buscontrollers 110a oder daraus abgeleitete Daten von dem SEH 1240a an die externe Einheit 2000 zu übertragen.
  • Besonders bevorzugt kann der SES 124a bei einer Ausführungsform Daten an die externe Einheit 2000 über die Datenverbindung 1246 übertragen und/oder über die Datenverbindung 1248 des SES Eingangskoordinator 1242a, wobei die Datenübertragung über die Datenverbindung 1248 insbesondere in Form von Datensegmenten konstanter Länge erfolgt.
  • 3c zeigt schematisch einen weiteren Aspekt der Busschnittstelleneinheit 100a gemäß 2. Abgebildet ist ein Empfangswarteschlangenprozessor 126a, kurz "RQP" 126a. Der Empfangswarteschlangenprozessor 126a weist einen Eingangspufferkoordinator (kurz "RFH") 1260a auf. Weiter weist der RQP 126a einer Ausführungsform zufolge einen lokalen Pufferspeicher 1262a auf. Weiter weist der RQP 126a einer Ausführungsform zufolge einen lokalen Eingangskoordinator 1264a auf.
  • Der RFH 1260a weist einer Ausführungsform zufolge eine Datenverbindung 1266 auf, die dazu ausgebildet ist, durch die Bussteuerungseinheit 110a von dem CAN-Bus 10a empfangene Daten oder daraus abgeleitete Daten entgegenzunehmen. Neben von dem CAN-Bus 10a empfangenen Daten anderer Sender (andere CAN-Busteilnehmer, nicht gezeigt) kann es sich auch um von der Bussteuerungseinheit 110a auf den CAN-Bus 10a ausgesandte und gleichzeitig auch durch die Bussteuerungseinheit 110a wieder empfangene Daten ("self-reception") handeln. Zur effizienteren und performanteren Ablaufsteuerung kann der RFH 1260a bei einer Ausführungsform auch über eine direkte Datenverbindung 1268 zu der CAN-Bussteuerungseinheit 110a verfügen, beispielsweise wiederum mittels BondOuts realisiert.
  • Der RFH 1260a weist einer weiteren Ausführungsform zufolge eine Datenverbindung 1269a auf, die dazu ausgebildet ist, einen Datenaustausch mit der externen Einheit 2000 zu ermöglichen. Bei einer vorteilhaften Ausführungsform kann die Datenverbindung 1269a zur externen Einheit 2000 beispielsweise eine oder mehrere FPGA-interne Datenverbindungen umfassen, z.B. im Falle von Altera FPGAs F1 (2) ein oder mehrere der sog. Avalon-Schnittstellen, beispielsweise die Schnittstelle vom Typ "Avalon Memory Mapped Interface (Avalon-MM)", vergleichbar zu den vorstehend beschriebenen Datenschnittstellen 1224 bzw. 1246.
  • Bei einer Ausführungsform, bei der der SES 124a einen lokalen Eingangskoordinator ("ingress handler") 1264a, aufweist, kann dieser lokale Eingangskoordinator 1264a über eine (eigene) Datenverbindung 1269b zu der externen Einheit 2000 verfügen. Bei einer bevorzugten Ausführungsform ist vorgesehen, dass der lokale Eingangskoordinator 1264a dazu ausgebildet ist, Daten mit der externen Einheit 2000 in Form von einem oder mehreren Datensegmenten, insbesondere Datensegmenten konstanter Länge, auszutauschen. Dadurch ist eine deterministische Laufzeit bzw. Bearbeitungszeit der Datensegmente in der externen Einheit 2000 möglich. Der lokale Eingangskoordinator 1264a kann ferner dazu ausgebildet sein, eine Arbitrierung von Datenübertragungsanforderungen vorzunehmen, die von dem RFH 1260a an ihn gerichtet werden, beispielsweise um die vorstehend genannten empfangenen CAN-Botschaften bzw. Daten oder daraus abgeleitete Daten von dem RFH 1260a an die externe Einheit 2000 zu übertragen.
  • Bei einer Ausführungsform ist der Empfangswarteschlangenprozessor (RQP) 126a dazu ausgebildet, dann, wenn eine CAN-Botschaft an die externe Einheit 2000 übertragen werden soll, die folgenden Schritte auszuführen: Laden der, vorzugsweise gesamten (Kopfdaten ("header") und Nutzdaten ("payload")), CAN-Botschaft aus einem Speicher 118a (2) der Bussteuerungseinheit 110a in den lokalen Pufferspeicher 1262a, veranlassen einer Datenübertragung der CAN-Botschaft aus dem lokalen Pufferspeicher 1262a zu der externen Einheit 2000, vorzugsweise unter Steuerung des lokalen Eingangskoordinators 1264a und Verwendung seiner Datenverbindung 1269b zu der externen Einheit 2000.
  • Bei einer Ausführungsform kann der Speicher 118a der Bussteuerungseinheit 110a als externer Speicher ausgebildet sein, vgl. den Block 118a aus 2. Insbesondere kann der Speicher 118a als sog. dual-ported-Speicher, vorzugsweise dual-ported-RAM (random access memory), ausgebildet sein, mit einer Datenbusbreite von beispielsweise 32 Bit oder 64 Bit.
  • 3d zeigt schematisch einen weiteren Aspekt der Busschnittstelleneinheit 100a gemäß 2. Abgebildet ist ein Sendewarteschlangenprozessor 128a, kurz "TQP" 128a. Der Sendewarteschlangenprozessor 128a weist einen Ausangspufferkoordinator (kurz "TQH") 1280a auf. Weiter weist der TQP 128a einer Ausführungsform zufolge einen lokalen Ausgangskoordinator 1282a auf.
  • Der TQH 1280a weist einer Ausführungsform zufolge eine direkte Datenverbindung 1284 zu der Bussteuerungseinheit 110a auf, die dem TQH 1280a eine Steuerung bzw. Modifikation von Steuer- und/oder Konfigurationsdaten bzw. -Registern der Bussteuerungseinheit 110a ermöglicht. Beispielsweise kann der TQH 1280a dadurch auch die Sendewarteschlange der Bussteuerungseinheit 110a verwalten bzw. deren Bearbeitung durch die Bussteuerungseinheit 110a beeinflussen. Auch die "self-reception" Funktion der Bussteuerungseinheit 110a kann durch den TQH 1280a vermöge der Datenverbindung 1284 gesteuert werden. Durch die Vorsehung des TQH 1280a kann in manchen Anwendungsfällen sogar auf den Einsatz eines in die Bussteuerungseinheit 110a integrierten Sendewartenschlangenprozessors verzichtet werden; die Steuerung kann vielmehr durch den TQH 1280a selbst erfolgen.
  • Der lokale Ausgangskoordinator 1282a des TQP 128a ist über eine Datenverbindung 1286 mit dem Speicher 118a der Bussteuerungseinheit 110a verbindbar, so dass der lokale Ausgangskoordinator 1282a Daten, welche durch die Bussteuerungseinheit 110a in Form von CAN-Botschaften auf den CAN-Bus 10a auszusenden sind, über diese Datenverbindung 1286 in den Speicher 118a schreiben kann. Die Bussteuerungseinheit 110a kann in an sich bekannter Weise solche Daten aus dem Speicher 118a entnehmen und auf dem CAN-Bus 10a senden.
  • Der lokale Ausgangskoordinator 1282a des TQP 128a ist ferner über eine Datenverbindung 1288 mit der externen Einheit 2000 verbindbar, über die der lokale Ausgangskoordinator 1282a, z.B. in Form von Datensegmenten konstanter Länge, solche Daten von der externen Einheit 2000 empfangen kann, welche über die Bussteuerungseinheit 110a in Form von CAN-Botschaften auf den CAN-Bus 10a auszusenden sind.
  • Bei einer bevorzugten Ausführungsform ist der Sendewarteschlangenprozessor (TQP) 128a dazu ausgebildet, von der externen Einheit 2000 über die Datenverbindung 1288 erhaltene Daten, bevorzugt in Echtzeit, in CAN-Botschaften umzuwandeln, beispielsweise durch Anpassung der Kopfdaten, und die so erzeugten CAN-Botschaften in den Speicher 118a zu schreiben, insbesondere über die Datenverbindung 1286. Bevorzugt weist die Datenverbindung 1286 hierzu die nachfolgenden Eigenschaften auf: Datendurchsatz von 64 Bit je Taktzyklus (clock cycle), und/oder größtmögliche Priorität bei Speicherzugriffen auf den Speicher 118a, und/oder Arbitrierung für Speicherzugriff innerhalb eines Taktzyklus.
  • Bei einer weiteren Ausführungsform kann der TQP 128a auch dazu ausgebildet sein, in dem Speicher 118a zur Aussendung über den CAN-Bus 10a anstehende CAN-Botschaften zu sperren (beispielsweise, um ein Überschreiben zu verhindern), bis alle erforderlichen Bearbeitungsschritte abgelaufen sind (z.B. Aussenden durch die Bussteuerungseinheit 110a, Erledigung der "self-reception", Bestätigung durch den Empfangswarteschlangenprozessor (RQP) 126a).
  • Bei einer weiteren Ausführungsform der Busschnittstelleneinheit 100a kann ein MCAN-Multiplexer 112a (2) vorgesehen sein, über den der auch als host service bezeichnete erste Funktionsblock 122a mittels seiner Datenverbindung 1226 mit der Bussteuerungseinheit 110a, insbesondere ihrer AEI-Schnittstelle, verbindbar ist.
  • Bei einer weiteren Ausführungsform der Busschnittstelleneinheit 100a kann eine erste Arbitrierungseinheit 114a vorgesehen sein, die über eine AEIM-Schnittstelle mit der Bussteuerungseinheit 110a verbindbar ist, und die weiter mit dem Speicher 118a verbunden ist. Über die erste Arbitrierungseinheit 114a kann die Bussteuerungseinheit 110a mithin auf den externen Speicher 118a zugreifen. Ferner kann eine weitere, nicht näher bezeichnete Datenverbindung zwischen den Komponenten 112a, 114a vorgesehen sein.
  • Bei einer weiteren Ausführungsform der Busschnittstelleneinheit 100a kann eine zweite Arbitrierungseinheit 116a vorgesehen sein, die Zugriffe der Komponenten 126a, 128a (über deren Datenverbindungen 1266, 1286) auf den Speicher 118a steuert. Die zweite Arbitrierungseinheit 116a ist dabei beispielsweise an einen zweiten Anschluss (port) des vorzugsweise als dual-port-RAM ausgeführten Speichers 118a angeschlossen, während die erste Arbitrierungseinheit 114a an einen ersten port des Speichers 118a angeschlossen ist. Auf diese Weise können simultan Zugriffe auf den Speicher 118a durch jeweils ein Mitglied der folgenden Gruppen von Komponenten erfolgen: Gruppe 1 (110a, 122a), Gruppe 2 (126a, 128a).
  • Bei einer weiteren Ausführungsform der Busschnittstelleneinheit 100a kann eine dritte Arbitrierungseinheit 117a vorgesehen sein, die Zugriffe der Komponenten 124a, 126a (über deren Datenverbindungen 1248, 1269b) auf einen Datenpfad 117a' zu der externen Einheit 2000 hin steuert.
  • Bei einer weiteren Ausführungsform der Busschnittstelleneinheit 100a kann eine Multiplexereinheit 111 vorgesehen sein, die Datenzugriffe über die Datenverbindungen 1224, 1269a auf den Datenpfad 111' zu der externen Einheit 2000 steuert. Beispielsweise kann eine Multiplexereinheit 111 vom Avalon-Typ zum Einsatz kommen, z.B. dann, wenn der FPGA F1 ein Modell des Herstellers Altera ist.
  • Bein einer weiteren Ausführungsform weisen die Datenverbindungen 1248, 1269b, 117a', 1288 jeweils eine Datenbreite von 64 Bit auf, so dass je Taktzyklus also gleichzeitig 8 Bytes Daten übertragen werden können. Zusätzlich können ein oder mehrere Steuerleitungen vorhanden sein.
  • Die Busschnittstelleneinheit 100a gemäß 2 besitzt die folgenden besonderen Vorteile. Durch die Vorsehung der Komponenten 122a, 124a können Betriebszustandsinformationen, Ereignisinformation und Statusinformationen der Bussteuerungseinheit 110a effizient und insbesondere blockierungsfrei an die externe Einheit 2000 übertragen werden, beispielsweise indem diese Informationen wie vorstehend beschrieben über die Datenverbindung 1246 an die externe Einheit übertragen werden. Solche Übertragungen können vorteilhaft in einem kontinuierlichen Datenstrom zu der externen Einheit 2000 erfolgen, wobei insbesondere keine Bestätigungssignale der externen Einheit 2000 für den Empfang der Daten zu überprüfen sind. Die externe Einheit 2000 und/oder eine andere externe Steuerung oder dergleichen (nicht gezeigt) kann vorteilhaft über den host service 122a auf die Bussteuerungseinheit 110a zugreifen, so dass z.B. ein softwaregesteuerter Zugriff, wie er in herkömmlichen Mikrocontrollern implementiert wird, entfällt. Vielmehr kann die vorzugsweise in Hardware bzw. in Form eines FPGA F1 realisierte Busschnittstelleneinheit 100a schnell und effizient auf die Bussteuerungseinheit 110a zugreifen. Vorteilhaft ermöglicht die erfindungsgemäße Konfiguration der 2 ff. ferner eine Arbitrierung zwischen Konfigurationszugriffen und Datenzugriffen auf die Bussteuerungseinheit 110a. Beispielsweise können Konfigurationsdaten der Bussteuerungseinheit 110a durch die beschriebenen BondOut Verbindungen direkt in der Bussteuerungseinheit 110a modifiziert werden, während Datenzugriffe (Lesen/Schreiben von CAN-Botschaften bzw. deren Teilen (header, payload)) völlig unabhängig davon über die Komponenten 126a, 128a abgewickelt werden können. Darüberhinaus ist kein Interrupt- oder Polling-Mechanismus notwendig, um Statusinformationen oder Ereignisse oder sonstige einen Betriebszustand der Bussteuerungseinheit 110a charakterisierende Daten der externen Einheit 2000 zuzuleiten. Vielmehr kann die Busschnittstelleneinheit 100a selbst das Vorliegen solcher Informationen erkennen (beispielsweise kann eine Interruptanforderung der Bussteuerungseinheit 110a direkt an die Einheit 126a geleitet werden) und einen entsprechenden Datentransfer an die externe Einheit 2000 einleiten. Darüberhinaus ist es denkbar, dass das bekannte "M_CAN IP Modul" hinsichtlich seiner Funktionalität (und damit auch Größe/Speicherbedarf bzw. Gatteräquivalente usw.) reduziert werden kann, soweit vergleichbare bzw. erfindungsgemäß verbesserte Funktionen durch die restlichen Komponenten der erfindungsgemäßen Busschnittstelleneinheit 100a abgedeckt werden.
  • 4 zeigt schematisch eine Busschnittstelleneinheit 100b gemäß einer zweiten Ausführungsform. Die Busschnittstelleneinheit 100b ist an ein als FlexRay-Bus ausgebildetes Bussystem 10b angeschlossen und dazu ausgebildet, über die Bussteuerungseinheit 110b von dem FlexRay-Bus 10a empfangene Daten und/oder hieraus abgeleitete Daten an die externe Einheit 2000 auszugeben und/oder von der externen Einheit 2000 erhaltene Daten und/oder hieraus abgeleitete Daten über die Bussteuerungseinheit 110b an den FlexRay-Bus 10b auszugeben. Der Datenaustausch zwischen der Busschnittstelleneinheit 100b und der externen Einheit 2000 ist in 4 durch mehrere Pfeile 1227b bzw. Blockpfeile 111', 117b', 1281b, 1281e angedeutet und weiter unten näher beschrieben.
  • Die Bussteuerungseinheit 110b der Busschnittstelleneinheit 100b ist vorliegend basierend auf dem vorstehend bereits beschriebenen "E-Ray IP Modul" der Robert Bosch GmbH realisiert, das dazu ausgebildet ist, eine Datenkommunikation auf einem FlexRay-Bussystem 10b auszuführen. Alternativ kann auch ein anderer FlexRay-Controller 110b verwendet werden. Die Funktionalität des E-Ray IP Moduls, und insbesondere der gesamten Busschnittstelleneinheit 100b, ist besonders bevorzugt in Form eines Teils eines FPGA (field programmable gate array, programmierbarer Logikbaustein) F2 realisiert, wobei der FPGA F2 vorliegend auch zumindest teilweise die Funktionalität der externen Einheit 2000 realisiert. Dies ist in 4 durch die mit dem Bezugszeichen F2 versehene gestrichelte Linie um die Einheiten 100b, 2000 herum angedeutet. Durch die Integration sowohl der Busschnittstelleneinheit 100b als auch der externen Einheit 2000 in demselben FPGA F2 ergeben sich besonders effiziente Möglichkeiten der Datenübertragung zwischen den Einheiten 100b, 2000, weil z.B. auf FPGA-interne Bus- bzw. Datenübertragungssysteme zurückgegriffen werden kann. Im Falle von FPGA-Typen des Herstellers Altera kann beispielsweise auf die Avalon-Schnittstellen der Altera FPGAs zurückgegriffen werden, die eine effiziente Datenverbindung mehrerer in demselben FPGA F2 angeordneter Komponenten bzw. Einheiten ermöglicht. Besonders bevorzugt ist bei dem FPGA F2 beispielsweise die Schnittstelle vom Typ "Avalon Memory Mapped Interface (Avalon-MM)" verwendbar, um zwischen Teilen der Einheiten 100b, 2000 eine Datenverbindung zu etablieren.
  • Bei der in 4 abgebildeten Konfiguration ist die Funktionalität der erfindungsgemäßen Steuerungseinheit 120b (vgl. auch Bezugszeichen 120 aus 1) auf mehrere Funktionsblöcke, nämlich im Wesentlichen die Funktionsblöcke 122b, 124b, 126b, 128b, verteilt, die nachfolgend näher erläutert werden.
  • Bei einer vorteilhaften Ausführungsform ist der Funktionsblock 122b vorgesehen, der – analog zu dem Funktionsblock 122a der CAN-Busschnittstelleneinheit 100a gemäß 2 – auch als "host service" bezeichnet werden kann, und der dazu ausgebildet ist, einen Betrieb der FlexRay Busschnittstelleneinheit 100b gemäß 4 zu steuern. Insbesondere kann der Funktionsblock 122b dazu ausgebildet sein, Steuerungsdaten und/oder Konfigurationsdaten von der externen Einheit 2000 zu empfangen, wodurch die erfindungsgemäße Steuerungseinheit 120b in die Lage versetzt wird, die Steuerungsdaten und/oder Konfigurationsdaten der Bussteuerungseinheit 110b direkt zuzuführen, insbesondere unabhängig von bzw. entkoppelt von einem weiteren Betrieb der externen Einheit 2000. Auf diese Weise können die Steuerungsdaten und/oder Konfigurationsdaten z.B. in solchen Betriebszuständen der Bussteuerungseinheit 110b zugeführt werden, in denen eine Datenkommunikation über den FlexRay-Bus 10b besonders wenig durch den Transfer von Steuerungsdaten und/oder Konfigurationsdaten beeinträchtigt wird.
  • Die genannten Steuerungsdaten können einer Ausführungsform zufolge beispielsweise Steuerbefehle umfassen, welche einen Start bzw. ein Herunterfahren/Deaktivieren der Bussteuerungseinheit 110b einleiten, und/oder sonstige Wechsel zwischen Betriebszuständen der Bussteuerungseinheit 110b.
  • 5a zeigt schematisch einen Aspekt der Busschnittstelleneinheit 100b gemäß 4. Abgebildet ist der auch als "host service" bezeichnete erste Funktionsblock 122b.
  • Bei einer vorteilhaften Ausführungsform kann in dem host service Funktionsblock 122b beispielsweise ein Zustandsautomat 1220b (endlicher Automat, finite state machine (FSM)) realisiert sein, der verschiedene Betriebszustände der Busschnittstelleneinheit 100b abbildet und Betriebszustandsübergänge in an sich bekannter Weise steuert bzw. unter Steuerung der vorstehend genannten Steuerungsdaten und/oder Konfigurationsdaten ausführt. Beispielsweise kann der Zustandsautomat 1220b zu dem vorstehend bereits beschriebenen Zustandsautomaten 1220a vergleichbare drei Zustände ("Default", "Ready", "Running") aufweisen.
  • Beispielsweise kann die Steuerungseinheit 120b einer Ausführungsform zufolge bei der Ausbildung der FlexRay-Bussteuerungseinheit 110b basierend auf dem vorstehend beschriebenen "E-Ray IP Modul" dazu ausgebildet sein, auf Speicher- bzw. Konfigurationsregister des E-Ray IP Moduls zuzugreifen, z.B. um von der externen Einheit 2000 erhaltene Steuerungsdaten und/oder Konfigurationsdaten in die FlexRay-Bussteuerungseinheit 110b bzw. deren Register zu schreiben.
  • Bei einer weiteren vorteilhaften Ausführungsform kann in dem Funktionsblock 122b gemäß 5a ein sog. Host-Service handler 1222b vorgesehen sein, der dazu ausgebildet ist, eine oder mehrere der folgenden Funktionalitäten bereitzustellen: Datenverbindung 1224b zur externen Einheit 2000, Datenverbindung 1226b zur FlexRay-Bussteuerungseinheit 110b, Interrupt-Controller 1225b, Datenverbindung 1227b zum Austausch insbesondere von Statusinformationen betreffend eine Bitübertragungsschicht (Schicht 1 (phy layer) des ISO/OSI Basis-Referenzmodells) mit der externen Einheit 2000, Datenverbindung 1227c zum Austausch, insbesondere Empfang, von Statusinformationen der FlexRay-Bussteuerungseinheit 110b.
  • Bei einer vorteilhaften Ausführungsform kann die Datenverbindung 1224b zur externen Einheit 2000 beispielsweise eine oder mehrere FPGA-interne Datenverbindungen umfassen, z.B. im Falle von Altera FPGAs F2 (4) ein oder mehrere der sog. Avalon-Schnittstellen, beispielsweise die Schnittstelle vom Typ "Avalon Memory Mapped Interface (Avalon-MM)".
  • Bei einer vorteilhaften Ausführungsform kann die Datenverbindung 1226b zur FlexRay-Bussteuerungseinheit 110b eine Anbindung an eine E-Ray Arbitrierungseinheit 113 umfassen, wobei mehrere weitere Datenverbindungen über die Arbitrierungseinheit 113 an einen E-Ray Datenpfad 113a koppelbar sind. Bevorzugt arbeitet die Arbitrierungseinheit 113 so, dass eine Arbitrierung auf der Basis von Task-Granularität vorgenommen wird, und nicht auf der Basis von Zugriffs-Granularität. Dies gilt bei einer weiteren Ausführungsform auch für eine oder mehrere Arbitrierungseinheiten 114a, 116a, 117a der Variante gemäß 2.
  • Bei einer weiteren vorteilhaften Ausführungsform kann die Funktionalität des Interrupt-Controllers 1225b die Ausgabe von Interrupt("Unterbrechungsanforderungs")-Signalen an die externe Einheit 2000 umfassen.
  • Bei einer weiteren vorteilhaften Ausführungsform kann in dem host service Funktionsblock 122b die Funktionalität eines sog. "interface sequencer" integriert sein, der dazu ausgebildet ist, insbesondere unabhängig von der Datenverbindung 1226b, einen oder mehrere der folgenden Zugriffe auf die FlexRay-Bussteuerungseinheit 110b auszuführen: chicmd (apply E-Ray CHI command), do_unlock (apply E-Ray Unlock Sequence), do_write (process CONF_WRITE_REG command), do_read (process CONF_READ_REG command), do_mbuf (process CONF_MBUF command).
  • Bevorzugt kann auch der Betrieb des Funktionsblocks 122b durch einen Zustandsautomaten 1228b gesteuert werden. Der Zustandsautomat 1228b kann insbesondere auch dazu ausgebildet sein, z.B. von der externen Einheit 2000 erhaltene Steuer- und/oder Konfigurationsbefehle zu verarbeiten, beispielsweise unter Verwendung des Funktionsblocks 1222b. Bevorzugt ist der Zustandsautomat 1228b ferner zur Steuerung der E-Ray Arbitrierungseinheit 113 ausgebildet, um unterbrechungsfreie Zugriffe auf die E-Ray Datenverbindung 113a (4) zu ermöglichen.
  • 5b zeigt schematisch einen weiteren Aspekt der Busschnittstelleneinheit 100b gemäß 4. Abgebildet ist ein Status- und Ereignisserver, kurz SES, der in 5b durch den zweiten Funktionsblock 124b repräsentiert ist.
  • Vermöge des SES 124b ist die Busschnittstelleneinheit 100b gemäß einer Ausführungsform dazu ausgebildet, einen Betriebszustand der Bussteuerungseinheit 110b (4) charakterisierende Informationen von der Bussteuerungseinheit 110b zu empfangen, und die den Betriebszustand der Bussteuerungseinheit 110b charakterisierenden Informationen zumindest teilweise an die externe Einheit 2000 auszugeben, wobei die den Betriebszustand der Bussteuerungseinheit 110b charakterisierenden Informationen insbesondere in der Steuerungseinheit 120b, vorliegend insbesondere in dem SES 124b, zwischengespeichert werden.
  • Der SES 124b weist bei einer Ausführungsform hierzu einen Status- und Ereignishandler (kurz "SEH") 1240b auf, der über die Datenverbindung 1244 den Betriebszustand der Bussteuerungseinheit 110a charakterisierende Informationen, insbesondere Status- und Ereignisinformationen des FlexRay-Buscontrollers 110b von dem Buscontroller 110b empfängt.
  • Bei einer weiteren Ausführungsform kann der SEH 1240b dazu ausgebildet sein, Ereignisse und Statusänderungen der Bussteuerungseinheit 110b zu empfangen und auszuwerten, insbesondere zu filtern. In Abhängigkeit von der Auswertung und/oder Filterung kann der SEH 1240b weiter Datenübertragungen an die externe Einheit 2000 ausführen bzw. veranlassen, z.B. um die externe Einheit 2000 über die Auswertung und/oder Filterung bzw. generell die Status- und Ereignisinformationen des FlexRay-Buscontrollers 110b zu informieren. Eine Datenverbindung zu der externen Einheit 2000 ist beispielsweise über die Datenschnittstelle 1246b realisierbar. Bei einer vorteilhaften Ausführungsform kann die Datenschnittstelle 1246b zur externen Einheit 2000 beispielsweise eine oder mehrere FPGA-interne Datenverbindungen umfassen, z.B. im Falle von Altera FPGAs F2 (4) ein oder mehrere der sog. Avalon-Schnittstellen, beispielsweise die Schnittstelle vom Typ "Avalon Memory Mapped Interface (Avalon-MM)". Durch die direkte Datenverbindung 1246b können die an die externe Einheit 2000 zu sendenden Daten besonders effizient an die externe Einheit 2000 übertragen werden, insbesondere ohne softwaregesteuerte Abläufe wie z.B. Polling-Mechanismen oder dergleichen. Vielmehr kann bei einer Realisierung der Einheit 100b in Hardware bzw. durch die Funktionalität des FPGA F2 eine, vorzugsweise rein, hardwarebasierte und damit hochperformante Datenkommunikation erfolgen, deren einzelne Ablaufphasen insbesondere auch deterministisch sind, also mit vorhersagbarer Zeitdauer.
  • Bei einer weiteren Ausführungsform kann der SES 124b auch einen sog. SES Eingangskoordinator ("ingress handler"), dargestellt durch den Funktionsblock 1242b in 5b, aufweisen, der über eine (eigene) Datenverbindung 1248b zu der externen Einheit 2000 verfügt. Bei einer bevorzugten Ausführungsform ist vorgesehen, dass der SES Eingangskoordinator 1242b dazu ausgebildet ist, Daten mit der externen Einheit 2000 in Form von einem oder mehreren Datensegmenten, insbesondere Datensegmenten konstanter Länge, auszutauschen. Dadurch ist eine deterministische Laufzeit bzw. Bearbeitungszeit der Datensegmente in der externen Einheit 2000 möglich. Der SES Eingangskoordinator 1242b kann ferner dazu ausgebildet sein, eine Arbitrierung von Datenübertragungsanforderungen vorzunehmen, die von dem SEH 1240b an ihn gerichtet werden, beispielsweise um die vorstehend genannten Status- und Ereignisinformationen des FlexRay-Buscontrollers 110b oder daraus abgeleitete Daten von dem SEH 1240b an die externe Einheit 2000 zu übertragen.
  • Besonders bevorzugt kann der SES 124b bei einer Ausführungsform Daten an die externe Einheit 2000 über die Datenverbindung 1246b übertragen und/oder über die Datenverbindung 1248b des SES Eingangskoordinators 1242b, wobei die Datenübertragung über die Datenverbindung 1248b insbesondere in Form von Datensegmenten konstanter Länge erfolgt.
  • 5c zeigt schematisch einen weiteren Aspekt der Busschnittstelleneinheit 100b gemäß 4. Abgebildet ist ein Empfangswarteschlangenprozessor 126b, kurz "RQP" 126b. Der Empfangswarteschlangenprozessor 126b weist einen Eingangspufferkoordinator (kurz "RFH") 1260b auf. Weiter weist der RQP 126b einer Ausführungsform zufolge einen lokalen Eingangskoordinator 1264b auf.
  • Der RFH 1260b weist einer Ausführungsform zufolge eine Datenverbindung 1266b auf, die dazu ausgebildet ist, durch die Bussteuerungseinheit 110b von dem FlexRay-Bus 10b empfangene Daten oder daraus abgeleitete Daten entgegenzunehmen und/oder Daten zum Aussenden über den FlexRay-Bus 10b an die Bussteuerungseinheit 110b zu übertragen. Neben von dem FlexRay-Bus 10b empfangenen Daten anderer Sender (andere Busteilnehmer, nicht gezeigt) kann es sich auch um von der Bussteuerungseinheit 110b auf den FlexRay-Bus 10b ausgesandte und gleichzeitig auch durch die Bussteuerungseinheit 110b wieder empfangene Daten ("self-reception") handeln.
  • Der RFH 1260b weist einer weiteren Ausführungsform zufolge eine Datenverbindung 1269b' auf, die dazu ausgebildet ist, einen Datenaustausch mit der externen Einheit 2000 zu ermöglichen. Bei einer vorteilhaften Ausführungsform kann die Datenverbindung 1269b' zur externen Einheit 2000 beispielsweise eine oder mehrere FPGA-interne Datenverbindungen umfassen, z.B. im Falle von Altera FPGAs F2 (4) ein oder mehrere der sog. Avalon-Schnittstellen, beispielsweise die Schnittstelle vom Typ "Avalon Memory Mapped Interface (Avalon-MM)".
  • Ferner kann der RFH 1260b über eine Datenverbindung 1269b'' zum Empfang von Statusinformationen bzw. Zustandsinformationen und dergleichen der Bussteuerungseinheit 110b verfügen.
  • Bei einer Ausführungsform, bei der der SES 124b einen lokalen Eingangskoordinator ("ingress handler") 1264b, aufweist, kann dieser lokale Eingangskoordinator 1264b über eine (eigene) Datenverbindung 1269b''' zu der externen Einheit 2000 verfügen. Bei einer bevorzugten Ausführungsform ist vorgesehen, dass der lokale Eingangskoordinator 1264b dazu ausgebildet ist, Daten mit der externen Einheit 2000 in Form von einem oder mehreren Datensegmenten, insbesondere Datensegmenten konstanter Länge, auszutauschen. Dadurch ist eine deterministische Laufzeit bzw. Bearbeitungszeit der Datensegmente in der externen Einheit 2000 möglich. Der lokale Eingangskoordinator 1264b kann ferner dazu ausgebildet sein, eine Arbitrierung von Datenübertragungsanforderungen vorzunehmen, die von dem RFH 1260b an ihn gerichtet werden, beispielsweise um die vorstehend genannten empfangenen FlexRay-Botschaften bzw. Daten oder daraus abgeleitete Daten von dem RFH 1260b an die externe Einheit 2000 zu übertragen.
  • Über eine weitere Datenverbindung 1269b'''' kann der Eingangskoordinator 1264b vorteilhaft auf einen Augangspuffer der Bussteuerungseinheit 110b zugreifen, vorzugsweise mittels eines Speicherdirektzugriffs (direct memory access, DMA).
  • Bei einer Ausführungsform ist der Empfangswarteschlangenprozessor (RQP) 126b dazu ausgebildet, dann, wenn eine FlexRay-Botschaft an die externe Einheit 2000 übertragen werden soll, die folgenden Schritte auszuführen: Laden der Botschaft von einem E-Ray Nachrichtenpuffer (nicht gezeigt) in den Augangspuffer der Bussteuerungseinheit 110b, Lesen von Kopfdaten der betreffenden Botschaft, vorzugsweise über die Datenverbindung 1266b (vorzugsweise aufweisend eine Datenbreite bzw. Busbreite von 32 bit), veranlassen einer Datenübertragung der FlexRay-Botschaft zu der externen Einheit 2000, wobei während der Datenübertragung (insbesondere der Kopfdaten) die Nutzdaten der betreffenden Botschaft in Echtzeit mittels eines DMA-Zugriffs direkt aus dem Augangspuffer der Bussteuerungseinheit 110b gelesen und über die Datenverbindung 1269b''' an die externe Einheit 2000 übertragen werden. Dadurch wird vorteilhaft ein lokales Zwischenspeichern der Nutzdaten vermieden.
  • 5d zeigt schematisch einen weiteren Aspekt der Busschnittstelleneinheit 100b gemäß 4. Abgebildet ist ein Sendewarteschlangenprozessor 128b, kurz "TQP" 128b. Der Sendewarteschlangenprozessor 128b weist eine Datenverbindung 1281 zu der externen Einheit 2000 auf, die bevorzugt in Form einer Avalon-Schnittstelle realisierbar ist. Eine Datenverbindung zwischen dem Sendewarteschlangenprozessor 128b und der Bussteuerungseinheit 110b, ggf. über die Arbitrierungseinheit 113 (4), ist mit dem Bezugszeichen 1281a bezeichnet. Eine weitere Datenverbindung, die die Übermittlung von Daten von der externen Einheit 2000 an den Sendewarteschlangenprozessor 128b ermöglicht (vorzugsweise in Form von Datensegmenten konstanter Länge), ist mit dem Bezugszeichen 1281b bezeichnet. Status- und Betriebszustandsinformationen und dergleichen können dem Sendewarteschlangenprozessor 128b von der Bussteuerungseinheit 110b über die weitere Datenverbindung 1281c zugeführt werden. Eine weitere Datenverbindung, die das Übertragen von Daten durch den Sendewarteschlangenprozessor 128b in einen Eingangspuffer (nicht gezeigt) der Bussteuerungseinheit 110b ermöglicht, vorzugsweise unter Verwendung von DMA-Zugriffen, ist mit dem Bezugszeichen 1281d bezeichnet.
  • Nachfolgend ist der Betrieb des Sendewarteschlangenprozessors 128b gemäß einer Ausführungsform unter Bezugnahme auf das Blockdiagramm der 5d näher beschrieben. Ein Ausgangsprozessor 1283 erhält über die Datenverbindung 1281b, vorzugsweise in Form von Datensegmenten konstanter Länge, Daten, welche in Form von FlexRay-Botschaften durch die Bussteuerungseinheit 110b auf den FlexRay-Bus 10b ausgegeben werden sollen. Bevorzugt speichert der Ausgangsprozessor 1283 Kopfdaten für die FlexRay-Botschaften temporär lokal, während Nutzdaten für die FlexRay-Botschaften vorzugsweise direkt bei Eingang über die Datenverbindung 1281b mittels eines DMA-Zugriffs über die Datenverbindung 1281d in einen Eingangspuffer (nicht gezeigt) der Bussteuerungseinheit 110b geschrieben werden. Sobald die Nutzdaten für wenigstens eine FlexRay-Botschaft komplett vorliegen, veranlasst der Ausgangsprozessor 1283 einen Pufferspeicherprozessor 1283a, einen Datentransfer von dem Eingangspuffer der Bussteuerungseinheit 110b in ein Message RAM der Bussteuerungseinheit 110b vorzunehmen. Eine entsprechende Datenkommunikation kann beispielsweise über die, vorzugsweise eine Datenbreite von 32 Bit aufweisende, Datenverbindung 1281a erfolgen.
  • Bei einer weiteren Ausführungsform kann eine weitere Datenverbindung 1281e zwischen dem Sendewarteschlangenprozessor 128b und der externen Einheit 2000 vorgesehen sein. Hierüber kann beispielsweise eine Synchronisation zwischen den Komponenten 128b, 2000 erzielt werden. Ferner besteht durch die Datenverbindung 1281e, die beispielsweise unter Verwendung einer Avalon-Schnittstelle realisierbar ist, die Möglichkeit, dass der Sendewarteschlangenprozessor 128b die externe Einheit 2000 darüber informiert, ob und/oder wann auf dem FlexRay-Bus 10b ein freier Slot zur Aussendung einer FlexRay-Botschaft durch die Bussteuerungseinheit 110b verfügbar ist.
  • Bein einer weiteren Ausführungsform weisen die Datenverbindungen 117', 1281b jeweils eine Datenbreite von 64 Bit auf, so dass je Taktzyklus also gleichzeitig 8 Bytes Daten übertragen werden können. Zusätzlich können ein oder mehrere Steuerleitungen vorhanden sein.
  • Das erfindungsgemäße Prinzip ermöglicht vorteilhaft die Erweiterung von bestehenden Bussteuerungseinheiten, z.B. CAN-Controllern und FlexRay-Controllern, um die vorstehend beschriebenen Funktionalitäten.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • http://www.bosch-semiconductors.de/media/en/pdf_1/ipmodules_1/ m_can/bosch_product_info_m_can_ip.pdf. [0007]
    • http://www.bosch-semiconductors.de/media/en/pdf_1/ipmodules_1/ flexray/eray_users_manual_1_2_7.pdf. [0008]
    • Norm ISO 11898-1 [0029]

Claims (10)

  1. Busschnittstelleneinheit (100; 100a; 100b) zum Austausch von Daten über ein Bussystem (10; 10a; 10b), wobei die Busschnittstelleneinheit (100; 100a; 100b) mindestens eine Bussteuerungseinheit (110; 110a; 110b) zum Anschluss an das Bussystem (10; 10a; 10b) aufweist, gekennzeichnet durch eine Steuerungseinheit (120; 120a; 120b), die dazu ausgebildet ist, über die Bussteuerungseinheit (110; 110a; 110b) von dem Bussystem (10; 10a; 10b) empfangene Daten und/oder hieraus abgeleitete Daten an eine externe Einheit (2000) auszugeben und/oder von einer externen Einheit (2000) erhaltene Daten und/oder hieraus abgeleitete Daten über die Bussteuerungseinheit (110; 110a; 110b) an das Bussystem (10; 10a; 10b) auszugeben.
  2. Busschnittstelleneinheit (100) nach Anspruch 1, wobei die Steuerungseinheit (120) dazu ausgebildet ist, Daten mit der externen Einheit (2000) in Form von einem oder mehreren Datensegmenten (seg), insbesondere Datensegmenten konstanter Länge, auszutauschen.
  3. Busschnittstelleneinheit (100) nach einem der vorstehenden Ansprüche, wobei a. das Bussystem (10) ein Controller-Area-Network, CAN, Bussystem ist, und wobei die Bussteuerungseinheit (110) eine CAN-Bussteuerungseinheit ist, oder wobei b. das Bussystem (10) ein FlexRay Bussystem ist, und wobei die Bussteuerungseinheit (110) eine FlexRay-Bussteuerungseinheit ist, oder wobei c. das Bussystem (10) ein Local Interconnect Network, LIN, Bussystem ist, und wobei die Bussteuerungseinheit (110) eine LIN-Bussteuerungseinheit ist.
  4. Busschnittstelleneinheit (100) nach einem der vorstehenden Ansprüche, wobei die Steuerungseinheit (120) dazu ausgebildet ist, Steuerungsdaten und/oder Konfigurationsdaten von der externen Einheit (2000) zu empfangen.
  5. Busschnittstelleneinheit (100) nach einem der vorstehenden Ansprüche, wobei die Steuerungseinheit (120) dazu ausgebildet ist, einen Betriebszustand der Bussteuerungseinheit (110) charakterisierende Informationen von der Bussteuerungseinheit (110) zu empfangen, und die den Betriebszustand der Bussteuerungseinheit (110) charakterisierenden Informationen zumindest teilweise an die externe Einheit (2000) auszugeben, wobei die den Betriebszustand der Bussteuerungseinheit (110) charakterisierenden Informationen insbesondere in der Steuerungseinheit (120) zwischengespeichert werden.
  6. Busschnittstelleneinheit (100) nach einem der vorstehenden Ansprüche, wobei die Steuerungseinheit (120), vorzugsweise die gesamte Busschnittstelleneinheit (100), mittels Hardware realisiert ist, insbesondere als anwendungsspezifischer integrierter Schaltkreis, ASIC, oder programmierbarer Logikschaltkreis, FPGA.
  7. Verfahren zum Betreiben einer Busschnittstelleneinheit (100; 100a; 100b) zum Austausch von Daten über ein Bussystem (10; 10a; 10b), wobei die Busschnittstelleneinheit (100) mindestens eine Bussteuerungseinheit (110) zum Anschluss an das Bussystem (10) aufweist, dadurch gekennzeichnet, dass eine Steuerungseinheit (120) vorgesehen ist, und dass die Steuerungseinheit (120) über die Bussteuerungseinheit (110) von dem Bussystem (10) empfangene Daten und/oder hieraus abgeleitete Daten an eine externe Einheit (2000) ausgibt und/oder dass die Steuerungseinheit (120) von einer externen Einheit (2000) erhaltene Daten und/oder hieraus abgeleitete Daten über die Bussteuerungseinheit (110) an das Bussystem (10) ausgibt.
  8. Verfahren nach Anspruch 7, wobei die Steuerungseinheit (120) Daten mit der externen Einheit (2000) in Form von einem oder mehreren Datensegmenten (seg), insbesondere Datensegmenten konstanter Länge, austauscht.
  9. Verfahren nach einem der Ansprüche 7 bis 8, wobei die Steuerungseinheit (120) Steuerungsdaten und/oder Konfigurationsdaten von der externen Einheit (2000) empfängt.
  10. Verfahren nach einem der Ansprüche 7 bis 9, wobei die Steuerungseinheit (120) einen Betriebszustand der Bussteuerungseinheit (110) charakterisierende Informationen von der Bussteuerungseinheit (110) empfängt, und die den Betriebszustand der Bussteuerungseinheit (110) charakterisierenden Informationen zumindest teilweise an die externe Einheit (2000) ausgibt, wobei die den Betriebszustand der Bussteuerungseinheit (110) charakterisierenden Informationen insbesondere in der Steuerungseinheit (120) zwischengespeichert werden.
DE102014207422.3A 2014-04-17 2014-04-17 Busschnittstelleneinheit und Betriebsverfahren hierfür Pending DE102014207422A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE102014207422.3A DE102014207422A1 (de) 2014-04-17 2014-04-17 Busschnittstelleneinheit und Betriebsverfahren hierfür
US14/680,855 US10127180B2 (en) 2014-04-17 2015-04-07 Bus interface unit and operating method therefor
CN201510179748.7A CN105045739B (zh) 2014-04-17 2015-04-16 总线接口装置及其运行方法
JP2015084389A JP2015208002A (ja) 2014-04-17 2015-04-16 バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法
JP2019191891A JP2020010412A (ja) 2014-04-17 2019-10-21 バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法
JP2021069511A JP7217770B2 (ja) 2014-04-17 2021-04-16 バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014207422.3A DE102014207422A1 (de) 2014-04-17 2014-04-17 Busschnittstelleneinheit und Betriebsverfahren hierfür

Publications (1)

Publication Number Publication Date
DE102014207422A1 true DE102014207422A1 (de) 2015-10-22

Family

ID=54249920

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014207422.3A Pending DE102014207422A1 (de) 2014-04-17 2014-04-17 Busschnittstelleneinheit und Betriebsverfahren hierfür

Country Status (4)

Country Link
US (1) US10127180B2 (de)
JP (3) JP2015208002A (de)
CN (1) CN105045739B (de)
DE (1) DE102014207422A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016203307A1 (de) * 2016-03-01 2017-09-07 Robert Bosch Gmbh Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit
DE102016221690A1 (de) * 2016-11-04 2018-05-09 Audi Ag Verfahren zum Übertragen von Datenpaketen zwischen einem Ethernet und einem Bussystem in einem Kraftfahrzeug sowie Gatewayvorrichtung und Kraftfahrzeug
CN115599717B (zh) * 2022-11-15 2023-03-10 浪潮电子信息产业股份有限公司 一种数据搬移方法、装置、设备及介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002359625A (ja) * 2001-05-31 2002-12-13 Aisin Seiki Co Ltd コントロールエリアネットワーク
US7382788B2 (en) * 2002-12-24 2008-06-03 Applied Micro Circuit Corporation Method and apparatus for implementing a data frame processing model
DE102004038210A1 (de) * 2004-08-05 2006-03-16 Robert Bosch Gmbh Verfahren zur Speicherung von Botschaften in einem Botschaftsspeicher und Botschaftsspeicher
DE102004057410B4 (de) * 2004-11-26 2015-11-12 Robert Bosch Gmbh Anordnung mit einem Schnittstellenmodul und Schnittstellenmodul
JP2006352201A (ja) 2005-06-13 2006-12-28 Fujitsu Ten Ltd 通信変換制御装置
JP5050653B2 (ja) * 2007-05-28 2012-10-17 株式会社デンソー 電子制御装置
US9207661B2 (en) * 2007-07-20 2015-12-08 GM Global Technology Operations LLC Dual core architecture of a control module of an engine
JP2011250110A (ja) 2010-05-26 2011-12-08 Denso Corp 電子制御装置
DE102010029346A1 (de) * 2010-05-27 2011-12-01 Robert Bosch Gmbh Verfahren zum Verarbeiten von Nachrichten
CN201813394U (zh) * 2010-09-26 2011-04-27 广西工学院 基于FlexRay总线的车载网关设备
US8818725B2 (en) * 2011-11-16 2014-08-26 Flextronics Ap, Llc Location information exchange between vehicle and device
JP5598259B2 (ja) 2010-10-29 2014-10-01 株式会社オートネットワーク技術研究所 処理システム、処理装置及び電源制御方法
EP2521319B1 (de) * 2011-05-02 2015-10-14 Robert Bosch GmbH CAN mit flexibler Datenrate
JP5605338B2 (ja) * 2011-09-06 2014-10-15 株式会社デンソー 通信装置
JP2013175906A (ja) 2012-02-24 2013-09-05 Toyota Motor Corp 通信装置及び通信方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
http://www.bosch-semiconductors.de/media/en/pdf_1/ipmodules_1/ flexray/eray_users_manual_1_2_7.pdf.
http://www.bosch-semiconductors.de/media/en/pdf_1/ipmodules_1/ m_can/bosch_product_info_m_can_ip.pdf.
Norm ISO 11898-1

Also Published As

Publication number Publication date
JP2020010412A (ja) 2020-01-16
CN105045739B (zh) 2020-04-14
US10127180B2 (en) 2018-11-13
JP2021120872A (ja) 2021-08-19
JP7217770B2 (ja) 2023-02-03
US20150301976A1 (en) 2015-10-22
CN105045739A (zh) 2015-11-11
JP2015208002A (ja) 2015-11-19

Similar Documents

Publication Publication Date Title
EP2030116B1 (de) Kommunikationsbaustein
EP2087646B1 (de) Vorrichtung und verfahren zur manipulation von kommunikations-botschaften
EP1787204B1 (de) Botschaftsverwalter und verfahren zur steuerung des zugriffs auf daten eines botschaftsspeichers eines kommunikationsbausteins
DE102008018633A1 (de) Verfahren, Buskomponenten und Steuerungssystem zur Ethernet-basierten Steuerung eines Automatisierungssystems
EP1941377A2 (de) Teilnehmerschnittstelle zwischen einem mikrocontroller und einem flexray-kommunikationsbaustein, flexray-teilnehmer und verfahren zur übertragung von botschaften über eine solche schnittstelle
DE102015214915B4 (de) Flexibles Scheduling-Verfahren und Scheduling-Vorrichtung bei einer LIN-Kommunikation
DE102005048581B4 (de) Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle
DE102013210064A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102011007437A1 (de) Verfahren und Schaltungsanrodnung zur Datenübertragung zwischen Prozessorbausteinen
DE102013210077A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102005048595A1 (de) Verfahren zur Anbindung eines FlexRay-Teilnehmers mit einem Mikrocontroller an eine FlexRay-Kommunikationsverbindung über eine FlexRay-Kommunikationssteuereinrichtung, und FlexRay-Kommunikationssteuereinrichtung, FlexRay-Teilnehmer und FlexRay-Kommunikationssystem zur Realisierung dieses Verfahrens
EP2087647B1 (de) Vorrichtung und verfahren zur manipulation von kommunikations-botschaften
EP3120506B1 (de) Teilnehmerstation für ein bussystem und verfahren zur erhöhung der übertragungskapazität in einem bussystem
DE102016217706A1 (de) Verfahren zur bidirektionalen Datenübertragung zwischen einem IO-Link Device und einem IO-Link Master über eine Zwischeneinheit
EP2538619A1 (de) Verfahren zur Übertragung von Datenpaketen
DE102013210182A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102017008945B3 (de) Schaltung zur Kopplung eines Feldbusses und eines Lokalbusses
DE102014207422A1 (de) Busschnittstelleneinheit und Betriebsverfahren hierfür
EP2957075B1 (de) Master-busgerät für einen fahrzeugkommunikationsbus eines kraftwagens
DE102009001898A1 (de) Schaltungsanordnungen und Verfahren zur Steuerung eines Datenaustauschs in einer Schaltungsanordnung
DE102016206109A1 (de) Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit
DE102007049044A1 (de) Vorrichtung und Verfahren zum Datenaustausch zwischen mindestens zwei Funktionsmodulen einer integrierten Schaltung
DE102013210066A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle mit CRC-Funktionalität sowie Mikrocontroller mit generischer Schnittstelle und CRC-Einheit
EP3423949B1 (de) Speicherdirektzugriffssteuereinrichtung für eine einen arbeitsspeicher aufweisende recheneinheit
DE102013210093A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle

Legal Events

Date Code Title Description
R012 Request for examination validly filed