DE102005048582A1 - Teilnehmerschnittstelle zwischen einem Mikrocontroller und einem FlexRay-Kommunikationsbaustein, FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle - Google Patents

Teilnehmerschnittstelle zwischen einem Mikrocontroller und einem FlexRay-Kommunikationsbaustein, FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle Download PDF

Info

Publication number
DE102005048582A1
DE102005048582A1 DE102005048582A DE102005048582A DE102005048582A1 DE 102005048582 A1 DE102005048582 A1 DE 102005048582A1 DE 102005048582 A DE102005048582 A DE 102005048582A DE 102005048582 A DE102005048582 A DE 102005048582A DE 102005048582 A1 DE102005048582 A1 DE 102005048582A1
Authority
DE
Germany
Prior art keywords
memory
data
message
flexray
state machine
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.)
Withdrawn
Application number
DE102005048582A
Other languages
English (en)
Inventor
Josef Newald
Markus Ihle
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 DE102005048582A priority Critical patent/DE102005048582A1/de
Priority to EP06807000A priority patent/EP1941377A2/de
Priority to US12/083,272 priority patent/US20100161834A1/en
Priority to PCT/EP2006/067085 priority patent/WO2007039634A2/de
Priority to CNA2006800371823A priority patent/CN101283338A/zh
Priority to JP2008534018A priority patent/JP2009511318A/ja
Publication of DE102005048582A1 publication Critical patent/DE102005048582A1/de
Withdrawn legal-status Critical Current

Links

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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/40241Flexray

Abstract

Die Erfindung betrifft eine Teilnehmerschnittstelle (107) zwischen einem FlexRay-Kommunikationsbaustein (100), der an eine FlexRay-Kommunikationsverbindung (101) angeschlossen ist, über welche Botschaften übertragen werden, und der einen Botschaftsspeicher (300) zum Zwischenspeichern von Botschaften von der FlexRay-Kommunikationsverbindung (101) oder für die FlexRay-Kommunikationsverbindung (101) umfasst. und einem dem FlexRay-Kommunikationsbaustein (100) zugeordneten Mikrocontroller (102), der einen Mikroprozessor (811) und einen Direct-Memory-Access (DMA) Controller (812) für einen Datenaustausch mit dem Botschaftsspeicher (300) aufweist. Um den DMA-Controller (812) des Mikrocontrollers (102) besser an den FlexRay-Kommunikationsbaustein (100) anzubinden, wird vorgeschlagen, dass die Teilnehmerschnittstelle (107) eine Zustandsmaschine (800) aufweist, welche nach Konfiguration durch den Mikroprozessor (811) des Mikrocontrollers (102) eine Datenübertragung zwischen dem Botschaftsspeicher (300) des FlexRay-Kommunikationsbausteins (100) und dem DMA-Controller (812) selbstständig koordiniert und steuert.

Description

  • Die vorliegende Erfindung betrifft eine Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein, der an eine FlexRay-Kommunikationsverbindung angeschlossen ist, über welche Botschaften übertragen werden, und der einen Botschaftsspeicher zum Zwischenspeichern von Botschaften von der FlexRay-Kommunikationsverbindung oder für die FlexRay-Kommunikationsverbindung umfasst, und einem dem FlexRay-Kommunikationsbaustein zugeordneten Mikrocontroller, der einen Mikroprozessor und einen Direct-Memory-Access (DMA) Controller für einen Datenaustausch mit dem Botschaftsspeicher aufweist.
  • Die Erfindung betrifft außerdem einen FlexRay-Teilnehmer, der einen Mikrocontroller, einen FlexRay-Kommunikationsbaustein, der an eine FlexRay-Kommunikationsverbindung angeschlossen ist, über welche Botschaften übertragen werden, und eine Teilnehmerschnittstelle zwischen dem Mikrocontroller und dem Kommunikationsbaustein aufweist. Der Mikrocontroller umfasst einen Mikroprozessor und einen Direct-Memory-Access (DMA) Controller. Der Kommunikations baustein umfasst einen Botschaftsspeicher zum Zwischenspeichern von Botschaften von der FlexRay-Kommunikationsverbindung oder für die FlexRay-Kommunikationsverbindung.
  • Schließlich betrifft die vorliegende Erfindung auch ein Verfahren zur Datenübertragung zwischen einem Botschaftsspeicher eines FlexRay-Kommunikationsbausteins, der an eine FlexRay-Kommunikationsverbindung angeschlossen ist, über welche Botschaften übertragen werden, und einem Direct-Memory-Access (DMA) Controller eines Mikrocontrollers.
  • Die Vernetzung von Steuergeräten, Sensorik und Aktuatorik mit Hilfe eines Kommunikationssystems und einer als Bussystem ausgebildeten Kommunikationsverbindung hat in den letzten Jahren bei modernen Kraftfahrzeugen aber auch im Maschinenbau, insbesondere im Werkzeugmaschinenbereich, und im Bereich der Automatisierung, drastisch zugenommen. Synergieeffekte durch Verteilung von Funktionen auf mehrere Steuergeräte können dabei erzielt werden. Man spricht hierbei von verteilten Systemen. Die Kommunikation zwischen verschiedenen Teilnehmern findet mehr und mehr über ein als Bussystem ausgebildetes Kommunikationssystem statt. Der Kommunikationsverkehr auf dem Bussystem, Zugriffs- und Empfangsmechanismen sowie Fehlerbehandlung werden über ein Protokoll geregelt.
  • Ein bekanntes Protokoll hierzu ist das FlexRay-Protokoll, wobei im Augenblick die FlexRay-Protokollspezifikation v2.0 zugrunde liegt. Das FlexRay-Protokoll definiert ein schnelles, deterministisches und fehlertolerantes Bussystem, insbesondere für den Einsatz in einem Kraftfahr zeug. Die Datenübertragung gemäß dem FlexRay-Protokoll erfolgt nach einem Time Division Multiple Access (TDMA)-Verfahren. Die Datenübertragung über die Kommunikationsverbindung erfolgt in sich regelmäßig wiederholenden Übertragungszyklen, die jeweils in mehrere Datenrahmen, die auch als Zeitschlitze bezeichnet werden, unterteilt ist. Den Teilnehmern bzw. den zu übertragenden Botschaften sind feste Zeitschlitze zugewiesen, in denen sie einen exklusiven Zugriff auf die Kommunikationsverbindung haben. Die Zeitschlitze wiederholen sich in den festgelegten Übertragungszyklen, so dass der Zeitpunkt, zu dem eine Botschaft über den Bus übertragen wird, exakt vorausgesagt werden kann und der Buszugriff deterministisch erfolgt.
  • Um die Bandbreite für die Botschaftsübertragung auf dem Bussystem optimal zu nutzen, unterteilt FlexRay den Übertragungszyklus, der auch als Zyklus oder Buszyklus bezeichnet werden kann, in einen statischen und einen dynamischen Teil. Die festen Zeitschlitze befinden sich dabei im statischen Teil am Anfang eines Buszyklusses. Im dynamischen Teil werden die Zeitschlitze dynamisch vergeben. Darin wird nun der exklusive Buszugriff jeweils nur für eine kurze Zeit, für einen oder mehrere sogenannte Minislots, ermöglicht. Nur wenn innerhalb eines Minislots ein Buszugriff erfolgt, wird der Zeitschlitz um die benötigte Zeit verlängert. Damit wird Bandbreite also nur verbraucht, wenn sie auch tatsächlich benötigt wird.
  • FlexRay kommuniziert über zwei physikalisch getrennte Leitungen der Kommunikationsverbindung mit einer Datenrate von je maximal 10 MBit/s (10 MBaud). Dabei ist alle 5 ms, bei manchen Kommunikationssystemen sogar alle 2,5 ms ein Buszyklus abgeschlossen. Die beiden Kanäle entsprechen dabei der physikalischen Schicht, insbesondere des OSI (Open System Architecture) Schichtenmodells. Die beiden Kanäle dienen hauptsächlich der redundanten und damit fehlertoleranten Übertragung von Botschaften, können jedoch auch unterschiedliche Botschaften übertragen, wodurch sich dann die Datenrate verdoppeln würde. FlexRay kann aber auch mit niedrigeren Datenraten betrieben werden.
  • Um synchrone Funktionen zu realisieren und die Bandbreite durch kleine Abstände zwischen zwei Botschaften zu optimieren benötigen die Teilnehmer bzw. die verteilten Komponenten im Kommunikationsnetzwerk eine gemeinsame Zeitbasis, die sogenannte globale Zeit. Für die Uhrsynchronisation werden Synchronisationsnachrichten im statischen Teil des Zyklus übertragen, wobei mit Hilfe eines speziellen Algorithmus entsprechend der FlexRay-Spezifikation die lokale Uhrzeit eines Teilnehmers so korrigiert wird, dass alle lokalen Uhren zu einer globalen Uhr synchron laufen.
  • Ein FlexRay-Teilnehmer, der auch als FlexRay-Netzknoten oder Host bezeichnet werden kann, enthält einen Teilnehmer- oder Host-Prozessor, einen FlexRay- oder Kommunikations-Controller sowie bei einer Busüberwachung einen sogenannten Busguardian. Dabei liefert und verarbeitet der Teilnehmerprozessor die Daten, die über den FlexRay-Kommunikationscontroller und die FlexRay-Kommunikationsverbindung übertragen werden. Für die Kommunikation in einem FlexRay-Netzwerk können Botschaften bzw. Botschaftsobjekte mit z.B. bis zu 254 Datenbytes konfiguriert werden.
  • Zur Kopplung einer FlexRay-Kommunikationsverbindung, über die Botschaften übertragen werden, mit einem FlexRay-Teilnehmer wird in der DE 10 2005 034 744 , die zum Anmeldetag der vorliegenden Erfindung noch nicht veröffentlich war, ein FlexRay-Kommunikationsbaustein eingesetzt, der über eine Teilnehmerschnittstelle an dem Teilnehmer und über eine andere Verbindung an der Kommunikationsverbindung angeschlossen ist. Dabei ist zur Übertragung der Botschaften zwischen dem Teilnehmer und der Kommunikationsverbindung in dem Kommunikationsbaustein eine Anordnung zur Speicherung der Botschaften vorgesehen. Die Übertragung wird durch eine Zustandsmaschine gesteuert.
  • In dem Kommunikationsbaustein ist ein Schnittstellenbaustein bestehend aus zwei Teilen vorgesehen, wobei der eine Teilbaustein teilnehmerunabhängig und der andere Teilbaustein teilnehmerspezifisch ist. Der teilnehmerspezifische Teilbaustein, der auch als Customer CPU Interface (CIF) bezeichnet wird, verbindet einen kundenspezifischen Teilnehmer in Form einer teilnehmerspezifischen Host-CPU mit dem FlexRay-Kommunikationsbaustein. Der teilnehmerunabhängige Teilbaustein, der auch als Generic CPU Interface (GIF) bezeichnet wird, stellt ein generisches, also allgemeines, CPU-Interface dar, über das sich mittels entsprechender teilnehmerspezifischer Teilbausteine, also Customer CPU Interfaces (CIFs), unterschiedliche kundenspezifische Host-CPUs an den FlexRay-Kommunikationsbaustein anschließen lassen. Dadurch ist eine problemlose Anpassung des Kommunikationsbausteins an unterschiedliche Teilnehmer möglich, da abhängig vom Teilnehmer nur der teilnehmerspezifische Teilbaustein variiert werden muss, während der teilnehmerunabhängige Teilbaustein und der restliche Kommunikationsbaustein stets gleich ausgebildet werden kann. Mit Hilfe des Kommunikationsbausteins ergibt sich also eine Standard-Schnittstelle zum Anschluss beliebiger FlexRay-Teilnehmer an eine FlexRay-Kommunikationsverbindung, wobei sich die Schnittstelle durch einfache Variation des teilnehmerspezifischen Teilbausteins an beliebig ausgebildete oder geartete Teilnehmer flexibel anpassen lässt. Dabei können die Teilbausteine auch innerhalb des einen Schnittstellenbausteins jeweils in Software, also jeder Teilbaustein als Softwarefunktion, realisiert werden.
  • Die Zustandsmaschine in dem FlexRay-Kommunikationsbaustein kann fest in Hardware verdrahtet sein. Die Sequenzen können ebenfalls fest in Hardware verdrahtet sein. Alternativ kann die Zustandsmaschine im Kommunikationsbaustein über die Teilnehmerschnittstelle durch den Teilnehmer auch frei programmierbar sein.
  • Die Informationen enthalten vorzugsweise den Zugriffstyp und/oder die Zugriffsart und/oder die Zugriffsadresse und/oder die Datengröße und/oder Steuerinformationen zu den Daten und/oder wenigstens eine Information zur Datenabsicherung.
  • Nach dem Stand der Technik ist der Botschaftsspeicher des FlexRay-Kommunikationsbausteins vorzugsweise als single-ported RAM (Random Access Memory) ausgeführt. Dieser RAM-Speicher speichert die Botschaften bzw. Botschaftsobjekte, also die eigentlichen Nutzdaten, zusammen mit Konfigurations- und Statusdaten. Die genaue Struktur des Botschaftsspeichers des bekannten Kommunikationsbausteins kann der genannten Druckschrift DE 10 2005 034 744 entnommen werden.
  • Es hat sich gezeigt, dass die Übertragung der Botschaften zwischen dem Botschaftsspeicher des FlexRay-Kommunikationsbausteins und dem FlexRay-Teilnehmer nur relativ langsam und unter Beanspruchung großer Ressourcen seitens des Teilnehmers erfolgt, insbesondere hinsichtlich der erforderlichen Rechenleistung der Host-CPU und des benötigten Speicherplatzes. Bei der bekannten Teilnehmerschnittstelle zwischen FlexRay-Kommunikationsbaustein und FlexRay-Teilnehmer ist eine ständige Aktivität der Host-CPU (evtl. DMA, Direct Memory Access) gefordert, um neu eingegangene Bufferinhalte des Botschaftsspeichers des Kommunikationsbausteins in den Speicher der Host-CPU zu überführen. Mit dem sogenannten Polling kann die Host-CPU regelmäßig prüfen, ob neue Botschaften im Botschaftsspeicher der Teilnehmerschnittstelle abgelegt worden sind. Ein direkter Zugriff der Host-CPU auf den Botschaftsspeicher des Kommunikationsbausteins ist nicht möglich. Insbesondere wenn die Datenrate der FlexRay-Kommunikationsverbindung voll ausgeschöpft wird, erweist sich dies als nachteilig. Zudem müssen Wartezeiten der Host-CPU für das Setzen von Registern etc. in Kauf genommen werden.
  • Nach dem Stand der Technik verfügt ein FlexRay-Teilnehmer zur Koordination und Steuerung der Datenübertragung zwischen dem Botschaftsspeicher des FlexRay-Kommunikationsbausteins und dem Teilnehmer über einen Mikroprozessor und einen DMA-Controller. Problematisch ist jedoch, dass die Botschaften in dem Botschaftsspeicher nicht sequentiell, also aufeinander folgend, abgelegt sind, sondern gezielt auf bestimmte Bereiche des Botschaftsspeichers verteilt sind. Der DMA-Controller kann immer nur auf Daten aus zusammenhängenden Bereichen des Botschaftsspeichers zugreifen. Das hat zur Konsequenz, dass der DMA-Controller zur Datenübertragung zwischen Botschaftsspeicher und Teilnehmer beim Stand der Technik mehrmals aufgesetzt und gestartet werden muss. Jedes Aufsetzen und Starten des DMA-Controllers erfordert die Übertragung einer erheblichen Datenmenge an Konfigurations-, Koordinations- und Steuerungsparametern.
  • Am Ende eines jeden DMA-Controller-Aufrufs wird dem Mikroprozessor das Ende der Datenübertragung mitgeteilt, bspw. mittels Polling durch den Mikroprozessor oder durch einen von dem DMA-Controller ausgelösten Interrupt-Befehl. Beides erfordert erhebliche Ressourcen (Rechen- und Speicherkapazität) in dem Mikroprozessor. Es lohnt sich somit im Stand der Technik kaum bzw. nur in Ausnahmefällen, den DMA-Controller zur Datenübertragung zu programmieren. Zusammenfassend ist also die Anbindung des DMA-Controllers an den FlexRay-Kommunikationsbaustein im Stand der Technik nicht optimal.
  • Der vorliegenden Erfindung liegt deshalb die Aufgabe zugrunde, eine Möglichkeit zu schaffen, den DMA-Controller des Mikrocontrollers besser an den FlexRay-Kommunikationsbaustein anzubinden, um eine schnellere und vor allem ressourcenschonendere Datenübertragung zwischen dem Botschaftsspeicher des Kommunikationsbausteins und dem DMA-Controller zu ermöglichen.
  • Zur Lösung dieser Aufgabe wird ausgehend von der Teilnehmerschnittstelle der eingangs genannten Art vorgeschlagen, dass die Teilnehmerschnittstelle eine Zustandsmaschine aufweist, welche nach Konfiguration durch den Mikroprozessor des Mikrocontrollers eine Datenübertragung zwischen dem Botschaftsspeicher des FlexRay-Kommunikationsbausteins und dem DMA-Controller selbständig koordiniert und steuert.
  • Vorteile der Erfindung
  • Erfindungsgemäß wird also die Zwischenschaltung einer Zustandsmaschine zwischen dem Mikrocontroller eines FlexRay-Teilnehmers und einem FlexRay-Kommunikationsbaustein des Teilnehmers vorgeschlagen, welche die Teilnehmerschnittstelle derart verändert, dass sich das Aufsetzen und Starten des DMA-Controllers des Mikrocontrollers lohnt. Mit anderen Worten sorgt die Zustandsmaschine dafür, dass dem DMA-Controller die zu übertragenden Daten bzw. Botschaften derart optimiert präsentiert werden, dass er auch größere Datenmengen bzw. mehrere Botschaften mit einem einzigen Aufruf des DMA-Controllers übertragen kann. Erfindungsgemäß wird also gewissermaßen ein einziger Zugriff aus den bisher erforderlichen vielen kleinen Zugriffen zusammengesetzt.
  • Der Mikroprozessor des Mikrocontrollers des Teilnehmers konfiguriert zunächst die Zustandsmaschine und teilt ihr mit, ob sie lesen oder schreiben soll, welche Botschaften (Botschaftsnummern) übertragen werden sollen, und wie lang die zu übertragenden Botschaften sind. Mit Hilfe dieser Informationen greift die Zustandsmaschine dann derart auf den FlexRay-Kommunikationsbaustein zu, dass die gewünschten Daten bzw. Botschaften zwischen dem Botschaftsspeicher und dem DMA-Controller lesend oder schreibend übertragen werden. Die Zustandsmaschine liefert gewissermaßen die Intelligenz des DMA-Controllers, die dieser für komplexere Zugriffe auf größere Datenmengen, insbesondere mehrere Botschaften, unter Umständen sogar in verteilten Adressbereichen des Botschaftsspeichers benötigt. Mit anderen Worten, erzeugt die Zustandsmaschine einen virtuellen zusammenhängenden Adressbereich, wodurch der Einsatz des DMR-Controllers erst sinnvoll wird, da die Anzahl der zu übertragenden Daten (zum Aufsetzen des DMA-Controllers) und die Anzahl der Interrupts (am Ende eines DMA-Controller-Zyklus) deutlich verringert wird.
  • Vorzugsweise liest der DMA-Controller von bzw. schreibt auf die gleiche Adresse des Botschaftsspeichers oder von vorgeschalteten Pufferspeichern zum Zwischenspeichern der zwischen Botschaftsspeicher und DMA-Controller zu übertragenden Daten. Vorteilhafterweise greift der DMA-Controller zum Lesen von Daten immer auf einen Ausgangspuffer des FlexRay-Kommunikationsbausteins und zum Schreiben von Daten immer auf einen Eingangspuffer zu.
  • Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass die Teilnehmerschnittstelle Konfigurations- und Statusregister aufweist, auf welche der Mikroprozessor des Mikrocontrollers zur Konfiguration der Zustandsmaschine Zugriff hat. Der Mikroprozessor konfiguriert die Zustandsmaschine also indem geeignete Konfigurationsparameter in die Konfigurations- und Statusregister der Teilnehmerschnittstelle geschrieben werden. Die Register können als Flip-Flops implementiert oder Teil eines großen Speichers, bspw. eines Random-Access-Memorys (RAM), also RAM-implementiert sein. Die Konfigurationsparameter betreffen bspw. die folgenden Informationen:
    • – lesende oder schreibende Datenübertragung;
    • – Angaben (Botschaftsnummern) der zu übertragenden Botschaften; und
    • – Länge der zu übertragenden Botschaften.
  • Gemäß einer bevorzugten Ausführungsform der Erfindung wird vorgeschlagen, dass die Teilnehmerschnittstelle einen Sequenzspeicher aufweist, in dem Verweise auf bestimmte in dem Botschaftsspeicher abgelegte Botschaften und Informationen über die Botschaften abgelegt sind, wobei die Zustandsmaschine zur Koordination und Steuerung der Datenübertragung Einträge des Sequenzspeichers aufruft. Der Sequenzspeicher ist vorzugsweise als ein RAM ausgebildet und umfasst mehrere, vorzugsweise 128, Felder mit Sequenzeinträgen. Die Sequenzeinträge umfassen bspw. eine Kennung (z.B. eine Nummer) des Sequenzeintrags, eine Kennung bzw. einen Verweis (z.B. eine Buffernummer) auf einen oder mehrere Botschaften (sog. Buffer) des Botschaftsspeichers bzw. des Pufferspeichers, und die Größe der Botschaft (des Buffers). Die verschiedenen Sequenzeinträge können von der Zustandsmaschine nach Vorgaben von dem Mikroprozessor gezielt aufgerufen werden. Die Sequenzeinträge können unverändert in der gespeicherten Form oder in angepasster Form aufgerufen werden. Zum Aufruf in angepasster Form umfasst der Aufruf des Sequenzeintrags bestimmte Parameterwerte zum Anpassen variabler Parameter des Sequenzeintrags.
  • Die Sequenzeinträge in dem Sequenzspeicher betreffen vorzugsweise häufig auftretende Übertragungssequenzen, die vorab abgespeichert werden und bei Bedarf aufgerufen werden. Auf diese Weise kann durch den Aufruf einer einzigen Sequenz oder Teilsequenz (eines oder mehrerer Sequenzeinträge) eine umfangreiche Datenübertragung zwischen dem Botschaftsspeicher und dem DMA-Controller ausgelöst werden. Beim Einsatz von Sequenzen können die Konfigurationsparameter, die zu Beginn der Datenübertragung von dem Mikroprozessor des Mikrocontrollers in die Konfigurations- und Statusregister übertragen werden, auch eine Kennung (z.B. die Nummern) eines oder mehrerer Sequenzeinträge umfassen, die von der Zustandsmaschine im Rahmen der Datenübertragung aufgerufen werden sollen.
  • Vorteilhafterweise umfassen die zwischen dem Botschaftsspeicher und dem Teilnehmer zu übertragenden Botschaften jeweils ein Kopfsegment, insbesondere mit Konfigurationsdaten und Steuerungsdaten, und ein Datensegment mit Nutzdaten, wobei die Zustandsmaschine die Datenübertragung zwischen dem Botschaftsspeicher und dem DMA-Controller derart steuert, dass für jede Botschaft das Kopfsegment vor dem Datensegment eingelesen wird.
  • Vorzugsweise steuert die Zustandsmaschine die Datenübertragung zwischen dem Botschaftsspeicher und dem DMA-Controller derart, dass vor dem Einlesen des Datensegments die im Kopfsegment enthaltenen Daten ausgewertet werden und das Einlesen des Datensegments in Abhängigkeit von dem Ergebnis der Auswertung der Daten des Kopfsegments gesteuert wird. Vor der Übertragung der Nutzdaten wird also der Status eingelesen. Auf diese Weise kann bei Leerdaten im Datensegment verhindert werden, dass das gesamte Datensegment übertragen wird. Vielmehr können diejenigen Adressbereiche des Datensegments ausgewählt werden, die Nutzdaten (sog. Payload) enthalten; die Adressbereiche mit Leerdaten werden bei der Übertragung nicht berücksichtigt und einfach übersprungen. Auf diese Weise kann die Übertragungsrate erhöht werden.
  • Gemäß einer anderen vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass der F1exRay-Kommunikationsbaustein mindestens einen Pufferspeicher, vorzugsweise mindestens einen Eingangspufferspeicher und mindestens einen Ausgangspufferspeicher, zum Zwischenspeichern von zwischen dem Botschaftsspeicher des Kommunikationsbausteins und dem DMA-Controller zu übertragenden Daten, vorzugsweise zum Zwischenspeichern mindestens einer in dem Botschaftsspeicher abgelegten Botschaft, aufweist, wobei die Zustandsmaschine die Datenübertragung zwischen dem Botschaftsspeicher und dem mindestens einen Puffer speicher sowie zwischen dem mindestens einen Pufferspeicher und dem DMA-Controller selbständig koordiniert und steuert. Der mindestens eine Pufferspeicher ist zwischen dem Botschaftsspeicher des FlexRay-Kommunikationsbausteins und der Zustandsmaschine der Teilnehmerschnittstelle angeordnet. Vorzugsweise ist jeweils ein Ausgangspufferspeicher für den lesenden Zugriff auf den Botschaftsspeicher und ein Eingangspufferspeicher für den schreibenden Zugriff vorgesehen.
  • Gemäß einer weiteren bevorzugten Ausführungsform wird vorgeschlagen, dass der mindestens eine Pufferspeicher einen Teilpufferspeicher und einem dem Teilpufferspeicher zugehörigen Schattenspeicher umfasst, wobei die Zustandsmaschine die Datenübertragung derart koordiniert und steuert, dass Schreiben bzw. Lesen auf den Teilpufferspeicher und den Schattenspeicher wechselweise erfolgt. Durch das wechselweise Schreiben bzw. Lesen auf Teilpufferspeicher und Schattenspeicher kann eine deutlich höhere Datenrate erzielt werden, da in den Teilpufferspeicher schon wieder Daten geschrieben werden können, während aus dem Schattenspeicher noch Daten ausgelesen werden, und umgekehrt in den Schattenspeicher schon wieder Daten geschrieben werden können, während aus dem Teilpufferspeicher noch Daten ausgelesen werden.
  • Schließlich wird vorgeschlagen, dass der FlexRay-Kommunikationsbaustein dem mindestens einen Pufferspeicher zugehörige Kontrollregister aufweist, auf welche die Zustandsmaschine zur Koordination und Steuerung der Datenübertragung zwischen dem Botschaftsspeicher und dem mindestens einen Pufferspeicher Zugriff hat. Über die Kontrollregister kann dem Kommunikationsbaustein mitgeteilt werden, ob neue Daten zur Übertragung anliegen (und übertragen werden sollen) und an welche Adresse in dem Botschaftsspeicher sie abgelegt bzw. von welcher Adresse sie abgeholt werden sollen.
  • Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung wird ausgehend von dem FlexRay-Teilnehmer der eingangs genannten Art vorgeschlagen, dass die Teilnehmerschnittstelle eine Zustandsmaschine, aufweist, welche nach Konfiguration durch den Mikroprozessor des Mikrocontrollers eine Datenübertragung zwischen dem Botschaftsspeicher des FlexRay-Kommunikationsbausteins und dem DMA-Controller selbständig koordiniert und steuert.
  • Als noch eine weitere Lösung der Aufgabe der vorliegenden Erfindung wird ausgehend von dem Verfahren der eingangs genannten Art vorgeschlagen, dass eine Zustandsmaschine, die als Teil einer Teilnehmerschnittstelle zwischen dem Mikrocontroller und dem FlexRay-Kommunikationsbaustein angeordnet wird, durch einen Mikroprozessor des Mikrocontrollers konfiguriert wird und die Datenübertragung nach der Konfiguration von der Zustandsmaschine selbständig koordiniert und gesteuert wird.
  • Gemäß einer vorteilhaften Weiterbildung der Erfindung wird vorgeschlagen, dass zur Konfiguration der Zustandsmaschine von dem Mikroprozessor des Mikrocontrollers Konfigurationsparameter in Konfigurations- und Statusregister der Teilnehmerschnittstelle abgelegt werden.
  • Gemäß einer bevorzugten Ausführungsform der Erfindung wird vorgeschlagen, dass in einem Sequenzspeicher der Teilnehmerschnittstelle Verweise auf bestimmte in dem Botschaftsspeicher abgelegte Botschaften und Informationen über die Botschaften abgelegt werden, wobei zur Koordination und Steuerung der Datenübertragung von der Zustandsmaschine Einträge des Sequenzspeichers aufgerufen werden.
  • Vorteilhafterweise weist der FlexRay-Kommunikationsbaustein mindestens einen Pufferspeicher, vorzugsweise mindestens einen Eingangspufferspeicher und mindestens einen Ausgangspufferspeicher , zum Zwischenspeichern von zwischen dem Botschaftsspeicher des Kommunikationsbausteins und dem DMA-Controller zu übertragenden Daten, vorzugsweise zum Zwischenspeichern mindestens einer in dem Botschaftsspeicher abgelegten Botschaft, auf, wobei zur Steuerung und Koordination der Datenübertragung von der Zustandsmaschine in dem mindestens einen Pufferspeicher zugehörigen Kontrollregistern Koordinations- und Steuerungsparameter abgelegt werden.
  • Zeichnungen
  • Nachfolgend werden anhand der Figuren weitere Merkmale und Vorteile der Erfindung näher erläutert. Es zeigen:
  • 1 einen Kommunikationsbaustein und dessen Anbindung an eine Kommunikationsverbindung und einen Kommunikations- oder Host-Teilnehmer eines FlexRay-Kommunikationssystems in schematischer Darstellung;
  • 2 eine spezielle Ausführungsform des Kommunikationsbausteins aus 1 sowie dessen Anbindung im Detail;
  • 3 die Struktur eines Botschaftsspeichers des Kommunikationsbausteins aus 2;
  • 4 bis 6 die Architektur und den Prozess eines Datenzugriffs in Richtung vom Teilnehmer zum Botschaftsspeicher in schematischer Darstellung;
  • 7 bis 9 die Architektur und den Prozess eines Datenzugriffs in Richtung vom Botschaftsspeicher zum Teilnehmer;
  • 10 die Struktur eines Botschaftsverwalters und von darin enthaltenen Finite-State-Machinen in schematischer Darstellung;
  • 11 Bauteile des Kommunikationsbausteins aus 1 und 2 sowie den Teilnehmer und die entsprechenden, durch den Botschaftsverwalter gesteuerten Datenpfade in schematischer Darstellung;
  • 12 die Zugriffsverteilung auf den Botschaftsspeicher bezogen auf die Datenpfade in 11;
  • 13 eine erfindungsgemäße Teilnehmerschnittstelle mit einer Zustandsmaschine;
  • 14 die Zustandsmaschine zwischen dem FlexRay-Kommunikationsbaustein und dem FlexRay-Teilnehmer im Detail;
  • 15 die Signalverläufe im Rahmen eines Lesevorgangs über die erfindungsgemäße Teilnehmerschnittstelle; und
  • 16 die Signalverläufe im Rahmen eines Lesevorgangs über die erfindungsgemäße Teilnehmerschnittstelle.
  • Beschreibung der Ausführungsbeispiele
  • 1 zeigt schematisch einen FlexRay-Kommunikationsbaustein 100 zur Anbindung eines Teilnehmers oder Hosts 102 an eine FlexRay-Kommunikationsverbindung 101, also die physikalische Schicht des FlexRay. Diese ist bspw. als ein FlexRay-Datenbus, der vorzugsweise über zwei Übertragungsleitungen verfügt, ausgebildet. Dazu ist der FlexRay-Kommunikationsbaustein 100 über eine Verbindung 107 mit dem Teilnehmer bzw. Teilnehmerprozessor 102 und über eine Verbindung 106 mit der Kommunikationsverbindung 101 verbunden. Zur problemlosen Anbindung zum einen bezogen auf Übertragungszeiten und zum anderen bezogen auf die Datenintegrität sind schematisch im Wesentlichen drei Anordnungen im FlexRay-Kommunikationsbaustein unterschieden. Dabei dient eine erste Anordnung 105 zur Speicherung, insbesondere Zwischenablage, wenigstens eines Teils der zu übertragenden Botschaften. Zwischen dem Teilnehmer 102 und dieser ersten Anordnung 105 ist über die Verbindungen 107 und 108 eine zweite Anordnung 104 geschaltet. Ebenso ist zwischen Kommunikationsverbindung 101 und die erste Anordnung 105 eine dritte Anordnung 103 über die Verbindungen 106 und 109 geschaltet, wodurch ein sehr flexibles Eingeben und Ausgeben von Daten als Teil von Botschaften, insbesondere FlexRay-Botschaften in bzw. aus der ersten Anordnung 105 mit Gewährleistung der Datenintegrität bei optimaler Geschwindigkeit erzielbar ist.
  • In 2 ist dieser Kommunikationsbaustein 100 in einer bevorzugten Ausführungsform noch einmal detaillierter dargestellt. Ebenso detaillierter dargestellt sind die jeweiligen Verbindungen 106 bis 109. Zur Anbindung des FlexRay-Kommunikationsbausteins 100 an den F1exRay-Teilnehmer 102 bzw. den Host-Prozessor enthält die zweite Anordnung 104 einen Eingangspufferspeicher oder Eingabepufferspeicher 201 (Input Buffer IBF), einen Ausgangspufferspeicher oder Ausgabepufferspeicher 202 (Output Buffer OBF) sowie einen Schnittstellenbaustein bestehend aus zwei Teilen 203 und 204, wobei der eine Teilbaustein 203 teilnehmerunabhängig und der zweite Teilbaustein 204 teilnehmerspezifisch ist. Der teilnehmerspezifische Teilbaustein 204 (Customer CPU Interface CIF) verbindet eine teilnehmerspezifische Host-CPU 102, also einen kundenspezifischen Teilnehmer 102 mit dem FlexRay-Kommunikationsbaustein 100. Dazu ist eine bidirektionale Datenleitung 216, eine Adressleitung 217 sowie ein Steuereingang 218 vorgesehen. Ebenso vorgesehen ist mit 219 ein Interrupt- oder Unterbrechungs-Ausgang. Der teilnehmerspezifische Teilbaustein 204 steht in Verbindung mit einem teilnehmerunabhängigen Teilbaustein 203 (Generic CPU Interface, GIF), d. h. der F1exRay-Kommunikationsbaustein oder das FlexRay-IP-Modul verfügt über ein generisches, also allgemeines, CPU-Interface 203, an das sich über entsprechende teilnehmerspezifische Teilbausteine 204, also Customer CPU Interfaces CIF eine große Anzahl von unterschiedlichen kundenspezifischen Host CPUs 102 anschließen lassen. Dadurch muss abhängig vom Teilnehmer 102 nur der Teilbaustein 204 variiert werden, was einen deutlich geringeren Aufwand bedeutet. Das CPU-Interface 203 und der restliche Kommunikationsbaustein 100 kann unverändert übernommen werden.
  • Der Eingabepufferspeicher oder Eingangspufferspeicher 201 und der Ausgangspufferspeicher oder Ausgabepufferspeicher 202 können in einem gemeinsamen Speicherbaustein oder aber in getrennten Speicherbausteinen ausgebildet sein. Dabei dient der Eingabepufferspeicher 201 für die Zwischenspeicherung von Botschaften für die Übertragung zu einem Botschaftsspeicher 300. Dabei ist der Eingabepufferbaustein 201 vorzugsweise so ausgebildet, dass er zwei vollständige Botschaften bestehend aus jeweils einem Kopfsegment oder Headersegment, insbesondere mit Konfigurationsdaten und ein Datensegment oder Payload Segment speichern kann. Dabei ist der Eingabepufferspeicher 201 zweiteilig (Teilpufferspeicher und Schattenspeicher) ausgebildet, wodurch sich durch wechselweises Schreiben der beiden Teile des Eingabepufferspeichers bzw. durch Zugriffswechsel die Übertragung zwischen Teilnehmer-CPU 102 und Botschaftsspeicher 300 beschleunigen lässt. Ebenso dient der Ausgabepufferspeicher oder Ausgangspufferspeicher 202 (Output-Buffer OBF) für die Zwischenspeicherung von Botschaften für die Übertragung vom Botschaftsspeicher 300 zur Teilnehmer-CPU 102. Dabei ist auch der Ausgabepuffer 202 so gestaltet, dass zwei komplette Botschaften bestehend aus Kopfsegment, insbesondere mit Konfigurationsdaten und Datensegment, also Payload Segment, gespeichert werden können. Auch hier ist der Ausgabepufferspeicher 202 in zwei Teile, einen Teilpufferspeicher und einen Schattenspeicher aufgeteilt, wodurch sich auch hier durch wechselweises Lesen der beiden Teile die Übertragung bzw. durch Zugriffswechsel die Übertragung zwischen Teilnehmer- bzw. Host-CPU 102 und Botschaftsspeicher 300 beschleunigen lässt. Diese zweite Anordnung 104 bestehend aus den Blöcken 201 bis 204 ist mit der ersten Anordnung 105 wie dargestellt verbunden.
  • Die Anordnung 105 besteht aus einem Botschaftsverwalter 200 (Message Handler MHD) und einem Botschaftsspeicher 300 (Message RAM). Der Botschaftsverwalter 200 kontrolliert bzw. steuert den Datentransfer zwischen dem Eingabepufferspeicher 201 sowie Ausgabepufferspeicher 202 und dem Botschaftsspeicher 300. Gleichermaßen kontrolliert bzw. steuert er die Datenübertragung in der anderen Richtung über die dritte Anordnung 103. Der Botschaftsspeicher 300 ist vorzugsweise als single-ported RAM ausgeführt. Dieser RAM-Speicher speichert die Botschaften bzw. Botschaftsobjekte, also die eigentlichen Daten, zusammen mit Konfigurations- und Statusdaten. Die genaue Struktur des Botschaftsspeichers 300 ist in 3 näher dargestellt.
  • Die dritte Anordnung 103 besteht aus den Blöcken 205 bis 208. Entsprechend den beiden Kanälen des FlexRay Physical Layer ist diese Anordnung 103 in zwei Datenpfade mit je zwei Datenrichtungen aufgeteilt. Dies wird durch die Verbindungen 213 und 214 deutlich, worin die beiden Datenrichtungen für den Kanal A mit RxA und TxA für Empfangen (RxA) und Senden (TxA) sowie für Kanal B mit RxB und TxB dargestellt sind. Mit Verbindung 215 ist ein optionaler bidirektionaler Steuereingang bezeichnet. Die Anbindung der dritten Anordnung 103 erfolgt über einen ersten Pufferspeicher 205 für Kanal B und einen zweiten Pufferspeicher 206 für Kanal A. Diese beiden Pufferspeicher (Transient Buffer RAMs: RAM A und RAM B) dienen als Zwischenspeicher für die Datenübertragung von bzw. zu der ersten Anordnung 105. Entsprechend der beiden Kanäle sind diese beiden Pufferspeicher 205 und 206 mit jeweils einem Schnittstellenbaustein 207 und 208 verbunden, die die FlexRay-Protokoll-Controller oder Busprotokoll-Controller bestehend aus einem Sende-/Empfangs-Schieberegister und der FlexRay Protokoll Finite State Maschine, enthalten. Die beiden Pufferspeicher 205 und 206 dienen somit als Zwischenspeicher für die Datenübertragung zwischen den Schieberegistern der Schnittstellenbausteine oder FlexRay Protokoll Controller 207 und 208 und dem Botschaftsspeicher 300. Auch hier werden vorteilhafter Weise durch jeden Pufferspeicher 205 oder 206 die Datenfelder, also das Payload Segment oder Datensegment zweier FlexRay-Botschaften gespeichert.
  • Weiterhin dargestellt im Kommunikationsbaustein 100 ist mit 209 die globale Zeiteinheit (Global Time Unit GTU), welche für die Darstellung der globalen Zeitraster im FlexRay, also den Mikrotick μT und den Makrotick MT, zuständig ist. Ebenso wird über die globale Zeiteinheit 209 die fehlertolerante Uhrensynchronisation der Zykluszähler (Cycle Counter) und die Kontrolle der zeitlichen Abläufe im statischen und dynamischen Segment des FlexRay geregelt. Mit Block 210 ist die allgemeine Systemsteuerung (System Universal Control SUC) dargestellt, durch welche die Operationsmodi des FlexRay-Kommunikationscontrollers kontrolliert und gesteuert werden. Dazu gehören der Wakeup, der Startup, die Reintegration bzw. Integration, Normaloperation (normal operation) und passive Operation (passive operation).
  • Block 211 zeigt das Netzwerk und Fehlermanagement (Network- und Error Management NEM), wie in der FlexRay-Protokollspezifikation v2.0 beschrieben. Block 212 schließlich zeigt die Unterbrechungssteuerung (Interrupt Control INT), welche die Status- und Fehlerunterbrechungsflaggen (status and error interrupt flags) verwaltet und die Unterbrechungsausgänge 219 zur Teilnehmer-CPU 102 kontrolliert bzw. steuert. Der Block 212 enthält außerdem einen absoluten und einen relativen Timer bzw. Zeitgeber zur Erzeugung der Zeitunterbrechungen oder Timerinterrupts.
  • Für die Kommunikation in einem FlexRay-Netzwerk können Botschaftsobjekte bzw. Botschaften (Message Buffer) mit bis zu 254 Datenbytes konfiguriert werden. Der Botschaftsspeicher 300 ist insbesondere ein Botschafts-RAM-Speicher (Message RAM), welcher z. B. bis zu maximal 128 Botschaftsobjekten speichern kann. Alle Funktionen, die die Behandlung bzw. Verwaltung der Botschaften selbst betreffen, sind dem Botschaftsverwalter oder Message Handler 200 implementiert. Dies sind z.B. die Akzeptanzfilterung, Transfer der Botschaften zwischen den beiden FlexRay-Protokoll-Controller-Blöcken 207 und 208 und dem Botschaftsspeicher 300, also dem Message RAM sowie die Kontrolle der Sendereihenfolge und das Bereitstellen von Konfigurationsdaten bzw. Statusdaten.
  • Eine externe CPU, also ein externer Prozessor der Teilnehmerprozessor 102, kann über die Teilnehmerschnittstelle 107 mit dem teilnehmerspezifischen Teil 204 direkt auf die Register des FlexRay-Kommunikationsbausteins 100 zugreifen. Dabei wird eine Vielzahl von Registern verwendet. Diese Register werden eingesetzt, um die FlexRay Protokoll Controller, also die Schnittstellenbausteine 207 und 208, den Botschaftsverwalter (Message Handler MHD) 200, die globale Zeiteinheit (Global Time Unit GTU) 209, den allgemeinen Systemcontroller (System Universal Controller SUC) 210, die Netzwerk- und Fehlermanagementeinheit (Network und Error Management Unit NEM) 211, den Unterbrechungscontroller (Interrupt Controller INT) 212 sowie den Zugriff auf das Message RAM, also den Botschaftsspeicher 300 zu konfigurieren und zu steuern und ebenso den entsprechenden Status anzuzeigen. Zumindest auf Teile dieser Register wird noch in den 4 bis 6 und 7 bis 9 näher eingegangen. Ein solch beschriebener FlexRay-Kommunikationsbaustein 100 ermöglicht die einfache Umsetzung der FlexRay-Spezifikation v2.0, wodurch einfach ein ASIC oder ein Mikrocontroller mit entsprechender FlexRay-Funktionalität generiert werden kann.
  • Durch den beschriebenen FlexRay-Kommunikationsbaustein 100 kann die FlexRay-Protokollspezifikation, insbesondere v2.0, vollständig unterstützt werden und es sind damit z.B. bis zu 128 Botschaften bzw. Botschaftsobjekte konfigurierbar. Dabei ergibt sich ein flexibel konfigurierbarer Botschaftsspeicher für die Speicherung einer unterschiedlichen Anzahl von Botschaftsobjekten abhängig von der Größe des jeweiligen Datenfeldes bzw. Datenbereiches der Botschaft. Somit sind also vorteilhafterweise Botschaften- oder Botschaftsobjekte zu konfigurieren, die unterschiedlich lange Datenfelder besitzen. Der Botschaftsspeicher 300 ist dabei vorteilhafter Weise als FIFO (first in-first out) ausgebildet, so dass sich ein konfigurierbarer Empfangs-FIFO ergibt. Jede Botschaft bzw. jedes Botschaftsobjekt im Speicher kann als Empfangsspeicherobjekt (Receive-Buffer), Sendespeicherobjekt (Transmit-Buffer) oder als Teil des konfigurierbaren Empfangs-FIFOs konfiguriert werden. Ebenso ist eine Akzeptanzfilterung auf Frame-ID, Channel-ID und Cycle-Counter im FlexRay-Netzwerk möglich. Zweckmäßiger Weise wird somit das Netzwerkmanagement unterstützt. Vorteilhafterweise sind außerdem maskierbare Modulinterrupts vorgesehen.
  • In 3 ist detailliert die Aufteilung des Botschaftsspeichers 300 beschrieben. Für die nach der FlexRay-Protokollspezifikation geforderte Funktionalität eines FlexRay-Kommunikationscontrollers wird ein Botschaftsspeicher für das Bereitstellen von zu sendenden Botschaften (Transmit Buffer Tx) sowie das Abspeichern von fehlerfrei empfangenen Botschaften (Receive Buffer Rx) benötigt. Ein FlexRay-Protokoll erlaubt Botschaften mit einem Datenbereich, also einem Payload-Bereich von 0 bis 254 Bytes. Wie in 2 dargestellt ist der Botschaftsspeicher 300 Teil des FlexRay-Kommunikationsbausteins 100. Das nachfolgend beschriebene Verfahren sowie der entsprechende Botschaftsspeicher 300 beschreiben die Speicherung von zu sendenden Botschaften sowie von empfangenen Botschaften, insbesondere unter Verwendung eines Random Access Memory (RAM), wobei es durch den beschriebenen Mechanismus möglich ist in einem Botschaftsspeicher vorgegebener Größe eine variable Anzahl von Botschaften zu speichern. Dabei ist die Anzahl der speicherbaren Botschaften abhängig von der Größe der Datenbereiche der einzelnen Botschaften, wodurch zum einen die Größe des benötigten Speichers minimiert werden kann ohne die Größe der Datenbereiche der Botschaften einzuschränken und zum anderen eine optimale Ausnutzung des Speichers erfolgt. Im Folgenden nun soll diese variable Aufteilung eines insbesondere RAM-basierten Botschaftsspeichers 300 für einen FlexRay Communication Controller näher beschrieben werden.
  • Zur Implementierung wird nun beispielhaft ein Botschaftsspeicher mit einer festgelegten Wortbreite von n Bit, beispielsweise 8, 16, 32 usw., sowie einer vorgegebenen Speichertiefe von m Worten vorgegeben (m, n als natürliche Zahlen). Dabei wird der Botschaftsspeicher 300 in zwei Segmente aufgeteilt, ein Header Segment oder Kopfsegment HS und ein Datensegment DS (Payload Section, Payload Segment). Pro Botschaft wird somit ein Headerbereich HB und ein Datenbereich DB angelegt. Für Botschaften 0, 1 bis k (k als natürliche Zahl) werden somit Headerbereiche oder Kopfbereiche HB0, HB1 bis HBk und Datenbereiche DB0, DB1 bis DBk angelegt. In einer Botschaft wird also zwischen ersten und zweiten Daten unterschieden, wobei die ersten Daten Konfigurationsdaten und/oder Statusdaten bezüglich der FlexRay Botschaft entsprechen und jeweils in einem Headerbereich HB (HB0, HB1, ..., HBk) abgelegt werden. Die zweiten Daten, die den eigentlichen Nutzdaten entsprechen, die übertragen werden sollen, werden entsprechend in Datenbereichen DB (DB0, DB1, ..., DBk) abgelegt. Somit entsteht für die ersten Daten pro Botschaft ein erster Datenumfang (in Bit, Byte oder Speicherworten gemessen) und für die zweiten Daten einer Botschaft ein zweiter Datenumfang (ebenfalls in Bit, Byte oder Speicherworten gemessen), wobei der zweite Datenumfang pro Botschaft unterschiedlich sein kann. Die Aufteilung zwischen Kopfsegment HS und Datensegment DS ist nun im Botschaftsspeicher 300 variabel, d. h. es existiert keine vorgegebene Grenze zwischen den Bereichen. Die Aufteilung zwischen Kopfsegment HS und Datensegment DS ist abhängig von der Anzahl k der Botschaften sowie dem zweiten Datenumfang, also dem Umfang der eigentlichen Nutzdaten, einer Botschaft bzw. aller k Botschaften zusammen. Den Konfigurationsdaten KD0, KD1 bis KDk der jeweiligen Botschaft wird nun ein Zeigerelement oder Datapointer DPO, DPI bis DPk jeweils direkt zugeordnet. In der speziellen Ausgestaltung wird jedem Kopfbereich HB0, HB1 bis HBk eine feste Anzahl von Speicherworten, hier zwei, zugeordnet, so dass immer ein Konfigurationsdatum KD (KD0, KD1, ..., KDk) und ein Zeigerelement DP (DP0, DP1, ..., DPk) zusammen in einem Headerbereich HB abgelegt sind. An diesem Kopfsegment HS mit den Headerbereichen HB, dessen Größe bzw. erster Datenumfang abhängig von der Anzahl k der zu speichernden Botschaften ist, schließt das Datensegment DS zur Speicherung der eigentlichen Botschaftsdaten D0, D1 bis Dk an. Dieses Datensegment (oder Datensection) DS hängt in seinem Datenumfang vom jeweiligen Datenumfang der abgelegten Botschaftsdaten ab, hier z.B. in DB0 sechs Worte, DB1 ein Wort und DBk zwei Worte. Die jeweiligen Zeigerelemente DP0, DP1 bis DPk zeigen somit immer zum Beginn, also auf die Anfangsadresse des jeweiligen Datenbereichs DB0, DB1 bis DBk, in denen die Daten D0, D1 bis Dk der jeweiligen Botschaften 0, 1, bis k abgelegt sind. Damit ist die Aufteilung des Botschaftsspeichers 300 zwischen Kopfsegment HS und Datensegment DS variabel und hängt von der Anzahl k der Botschaften selbst sowie dem jeweiligen Datenumfang einer Botschaft und damit dem gesamten zweiten Datenumfang ab. Werden weniger Botschaften konfiguriert, wird das Kopfsegment HS kleiner und der frei werdende Bereich im Botschaftsspeicher 300 kann als Zusatz zum Datensegment DS für die Speicherung von Daten verwendet werden. Durch diese Variabilität kann eine optimale Speicherausnutzung gewährleistet werden, womit auch die Verwendung kleinerer Speicher möglich ist. Das freie Datensegment FDS, insbesondere dessen Größe, ebenfalls abhängig von der Kombination aus Anzahl k der gespeicherten Botschaften und dem jeweiligen zweiten Datenumfang der Botschaften ist somit minimal und kann sogar 0 werden.
  • Neben der Verwendung von Zeigerelementen ist es auch möglich, die ersten und zweiten Daten, also die Konfigurationsdaten KD (KD0, KD1, ..., KDk) und die eigentlichen Daten D (D0, D1, ..., Dk) in einer vorgebbaren Reihenfolge abzulegen, so dass die Reihenfolge der Kopfbereiche HB0 bis HBk im Kopfsegment HS und die Reihenfolge der Datenbereiche DB0 bis DBk im Datensegment DS jeweils identisch ist. Dann könnte unter Umständen sogar auf ein Zeigerelement verzichtet werden.
  • In einer besonderen Ausgestaltung ist dem Botschaftsspeicher ein Fehlerkennungserzeuger, insbesondere ein Parity-Bit-Generator-Element und ein Fehlerkennungsprüfer, insbesondere ein Parity-Bit-Prüf-Element zugeordnet, um die Korrektheit der gespeicherten Daten in HS und DS zu gewährleisten, indem pro Speicherwort oder pro Bereich (HB und/oder DB) eine Prüfsumme eben insbesondere als Parity-Bit mit abgelegt werden kann. Andere Kontrollkennungen, z.B. ein CRC (Cyclic Redundancy Check) oder auch Kennungen höherer Mächtigkeit wie ECC Error Code Correction) sind denkbar. Damit sind gegenüber einer festgelegten Aufteilung des Botschaftsspeichers folgende Vorteile gegeben:
    Der Anwender kann bei der Programmierung entscheiden, ob er eine größere Anzahl von Botschaften mit kleinem Datenfeld oder ob er eine kleinere Anzahl von Botschaften mit großem Datenfeld verwenden möchte. Bei der Konfiguration von Botschaften mit unterschiedlich großem Datenbereich DB wird der vorhandene Speicherplatz optimal ausgenutzt. Der Anwender hat die Möglichkeit einen Datenspeicherbereich gemeinsam für unterschiedliche Botschaften zu nutzen.
  • Bei der Implementierung des Communication Controllers auf einer integrierten Schaltung kann die Größe des Botschaftsspeichers 300 durch Anpassung der Speichertiefe (Anzahl m der Worte) des verwendeten Speichers an die Bedürfnisse der Applikation angepasst werden, ohne die sonstigen Funktionen des Communication Controllers zu ändern.
  • Im Weiteren wird nun anhand der 4 bis 6 sowie 7 bis 9 der Host-CPU-Zugriff, also Schreiben und Lesen von Konfigurationsdaten bzw. Statusdaten und der eigentlichen Daten über die Pufferspeicheranordnung 201 und 202, näher beschrieben. Dabei ist es das Ziel, eine Entkopplung bezüglich der Datenübertragung derart herzustellen, dass die Datenintegrität sichergestellt werden kann und gleichzeitig eine hohe Übertragungsgeschwindigkeit gewährleistet ist. Die Steuerung dieser Vorgänge erfolgt über den Botschaftsverwalter 200, was später noch näher in den 10, 11 und 12 beschrieben wird.
  • In den 4, 5 und 6 werden zunächst die Schreibzugriffe auf den Botschaftsspeicher 300 durch die Host-CPU der Teilnehmer-CPU 102 über den Eingangspufferspeicher 201 näher erläutert. Dazu zeigt 4 noch einmal den Kommunikationsbaustein 100, wobei aus Gründen der Übersichtlichkeit nur die hier relevanten Teile des Kommunikationsbausteins 100 gezeigt sind. Dies ist zum einen der für die Steuerung der Abläufe verantwortliche Botschaftsverwalter 200 sowie zwei Kontrollregister 403 und 404, die wie dargestellt außerhalb des Botschaftsverwalters 200 im Kommunikationsbaustein 100 untergebracht sein können, aber auch im Botschaftsverwalter 200 selbst enthalten sein können. 403 stellt dabei das Eingangs-Anforderungsregister (Input Buffer Command Request Register; IBCR) dar und 404 das Eingangs-Maskierungsregister (Input Buffer Command Mask Register; IBMR). Schreibzugriffe der Host-CPU 102 auf den Botschaftsspeicher 300 (Message RAM) erfolgen also über einen zwischengeschalteten Eingangspufferspeicher 201 (Input Buffer). Dieser Eingangspufferspeicher 201 ist nun geteilt bzw. gedoppelt ausgelegt, und zwar als Teilpufferspeicher 400 und einem zu dem Teilpufferspeicher zugehörigen Schattenspeicher 401. Damit kann wie nachfolgend beschrieben ein kontinuierlicher Zugriff der Host-CPU 102 auf die Botschaften bzw. Botschaftsobjekte respektive Daten des Botschaftsspeichers 300 erfolgen und damit Datenintegrität und beschleunigte Übertragung gewährleistet werden.
  • Die Steuerung der Zugriffe erfolgt über das Eingangs-Anforderungsregister 403 und über das Eingangs-Maskierungsregister 404. Im Register 403 sind in 5 mit den Zahlen von 0 bis 31 die jeweiligen Bitstellen in 403 hier beispielhaft für eine Breite von 32 Bit dargestellt. Gleiches gilt für das Register 404 und die Bitstellen 0 bis 31 in dem Maskierungsregister 404 aus 6.
  • Es erhalten nun beispielhaft die Bitstellen 0 bis 5, 15, 16 bis 21 und 31 des Registers 403 bezüglich der Ablaufsteuerung eine besondere Funktion. So ist in die Bitstellen 0 bis 5 des Registers 403 eine Kennung IBRH (Input Buffer Request Host) als Botschaftskennung eintragbar. Ebenso ist in die Bitstellen 16 bis 21 des Registers 403 eine Kennung IBRS (Input Buffer Request Shadow) eintragbar. Ebenso sind in Registerstelle 15 von 403 IBSYH und in Registerstelle 31 von 403 IBSYS als Zugriffskennungen eingetragen. Ausgezeichnet sind auch die Stellen 0 bis 2 des Registers 404, wobei in 0 und 1 mit LHSH (Load Header Section Host) und LDSH (Load Data Section Host) weitere Kennungen als Datenkennungen eingetragen sind. Diese Datenkennungen sind hier in einfachster Form, nämlich jeweils als ein Bit ausgebildet. In Bitstelle 2 von Register 404 ist mit STXRH (Set Transmission X Request Host) eine Startkennung eingeschrieben. Im Weiteren wird nun der Ablauf des Schreibzugriffs auf den Botschaftsspeicher 300 über den Eingangspuffer 201 beschrieben.
  • Die Host-CPU 102 schreibt die Daten der zu transferierenden Botschaft in den Eingangspufferspeicher 201. Dabei kann die Host-CPU 102 nur die Konfigurations- und Headerdaten KD einer Botschaft für das Headersegment HS des Botschaftsspeichers 300 oder nur die eigentlichen, zu übertragenden Daten D einer Botschaft für das Datensegment DS des Botschaftsspeichers 300 oder beide schreiben. Welcher Teil einer Botschaft, also Konfigurationsdaten und/oder die eigentlichen Daten, übertragen werden soll, wird durch die speziellen Datenkennungen LHSH und LDSH im Eingangs-Markierungsregister 404 festgelegt. Dabei wird durch LHSH (Load Header Section Host) festgelegt ob die Headerdaten, also die Konfigurationsdaten KD, übertragen werden und durch LDSH (Load Data Section Host) festgelegt, ob die Daten D übertragen werden sollen. Dadurch, dass der Eingangspufferspeicher 201 zweiteilig mit einem Teilpufferspeicher 400 und einem dazugehörigen Schattenspeicher 401 ausgebildet ist und ein wechselseitiger Zugriff erfolgen soll sind als Gegenstück zu LHSH und LDSH zwei weitere Datenkennungsbereiche vorgesehen, die nun auf den Schattenspeicher 401 bezogen sind. Diese Datenkennungen in den Bitstellen 16 und 17 des Registers 404 sind mit LHSS (Load Header Section Shadow) und LDSS (Load Data Section Shadow) bezeichnet. Durch diese wird somit der Übertragungsvorgang bezüglich des Schattenspeichers 401 gesteuert.
  • Ist nun das Startbit bzw. die Startkennung STXRH (Set Transmission X Request Host) in Bitstelle 2 des Eingangs-Maskierungsregisters 404 gesetzt, so wird nach erfolgtem Transfer der jeweils zu übertragenden Konfigurationsdaten und/oder eigentlichen Daten in den Botschaftsspeicher 300 automatisch eine Sendeanforderung (Transmission Request) für das entsprechende Botschaftsobjekt gesetzt. D. h. durch diese Startkennung STXRH wird das automatische Senden eines übertragenden Botschaftsobjekts gesteuert, insbesondere gestartet.
  • Das Gegenstück hierzu entsprechend für den Schattenspeicher 401 ist die Startkennung STXRS (Set Transmission X Request Shadow) welches beispielhaft in Bitstelle 18 des Eingangs-Markierungsregisters 404 enthalten ist und auch hier im einfachsten Fall eben als ein Bit ausgebildet ist. Die Funktion von STXRS ist analog der Funktion von STXRH, lediglich bezogen auf den Schattenspeicher 401.
  • Wenn die Host-CPU 102 die Botschaftskennung, insbesondere die Nummer des Botschaftsobjekts im Botschaftsspeicher 300, in welches die Daten des Eingangspufferspeichers 201 transferiert werden sollen, in die Bitstellen 0 bis 5 des Eingangsanforderungsregisters 403, also nach IBRH, schreibt, werden der Teilpufferspeicher 400 des Eingangspufferspeichers 201 und der zugehörige Schattenspeicher 401 vertauscht bzw. es wird der jeweilige Zugriff von Host-CPU 102 und Botschaftsspeicher 300 auf die beiden Teilspeicher 400 und 401 vertauscht, wie durch die halbkreisförmigen Pfeile angedeutet. Dabei wird z.B. auch der Datentransfer, also die Datenübertragung zum Botschaftsspeicher 300 gestartet. Die Datenübertragung zum Botschaftsspeicher 300 selbst erfolgt aus dem Schattenspeicher 401. Gleichzeitig werden die Registerbereiche IBRH und IBRS getauscht. Ebenso getauscht werden LHSH und LDSH gegen LHSS und LDSS. Gleichermaßen getauscht wird STXRH mit STXRS. IBRS zeigt somit die Kennung der Botschaft, also die Nummer des Botschaftsobjektes für das eine Übertragung, also ein Transfer aus dem Schattenspeicher 401 im Gange ist bzw. welches Botschaftsobjekt, also welcher Bereich im Botschaftsspeicher 300 als letztes Daten (KD und/oder D) aus dem Schattenspeicher 401 erhalten hat. Durch die Kennung (hier wieder beispielsweise 1 Bit) IBSYS (Input Buffer Busy Shadow) in Bitstelle 31 des Eingangs-Anforderungsregisters 403 wird angezeigt ob gerade eine Übertragung mit Beteiligung des Schattenspeichers 401 erfolgt. So wird beispielsweise bei IBSYS = 1 gerade aus dem Schattenspeicher 401 übertragen und bei IBSYS = 0 eben nicht. Dieses Bit IBSYS wird beispielsweise durch das Schreiben von IBRH, also Bitstellen 0 bis 5, in Register 403 gesetzt, um anzuzeigen, dass ein Transfer zwischen dem Schattenspeicher 401 und dem Botschaftsspeicher 300 im Gange ist. Nach Beendigung dieser Datenübertragung zum Botschaftsspeicher 300 wird IBSYS wieder zurückgesetzt.
  • Während der Datentransfer aus dem Schattenspeicher 401 gerade läuft kann die Host-CPU 102 die nächste zu transferierende Botschaft in den Eingangspufferspeicher 201 bzw. in den Teilpufferspeicher 400 schreiben. Mit Hilfe einer weiteren Zugriffskennung IBSYH (Input Buffer Busy Host) beispielsweise in Bitstelle 15 von Register 403 kann die Kennung noch weiter verfeinert werden. Schreibt die Host-CPU 102 gerade IBRH, also die Bitstellen 0 bis 5 von Register 403, während eine Übertragung zwischen dem Schattenspeicher 401 und dem Botschaftsspeicher 300 läuft, also IBSYS = 1 ist, so wird IBSYH im Eingangsanforderungsregister 403 gesetzt. Sobald der laufende Transfer, also die laufende Übertragung, abgeschlossen ist, wird der angeforderte Transfer (Anforderung durch STXRH siehe oben) gestartet und das Bit IBSYH zurückgesetzt. Das Bit IBSYS bleibt während der ganzen Zeit gesetzt, um anzuzeigen, dass Daten zum Botschaftsspeicher 300 transferiert werden. Alle verwendeten Bits aller Ausführungsbeispiele können dabei auch als Kennungen mit mehr als einem Bit ausgebildet sein. Vorteilhaft ist die Ein-Bit Lösung aus speicher- und verarbeitungsökonomischen Gründen.
  • Der so beschriebene Mechanismus erlaubt es der Host-CPU 102 kontinuierlich Daten in die im Botschaftsspeicher 300 befindlichen Botschaftsobjekte bestehend aus Headerbereich HB und Datenbereich DB zu transferieren, vorrausgesetzt die Zugriffsgeschwindigkeit der Host-CPU 102 auf den Eingangspufferspeicher 201 ist kleiner oder gleich der internen Datentransferrate des FlexRay-IP-Moduls, also des Kommunikationsbausteins 100.
  • In den 7, 8 und 9 werden nun die Lesezugriffe auf den Botschaftsspeicher 300 durch die Host-CPU oder Teilnehmer-CPU 102 über den Ausgangspufferspeicher oder Ausgabepufferspeicher 202 näher erläutert. Dazu zeigt 7 noch einmal den Kommunikationsbaustein 100, wobei aus Gründen der Übersichtlichkeit auch hier nur die relevanten Teile des Kommunikationsbausteins 100 gezeigt sind. Dies ist zum einen der für die Steuerung der Abläufe verantwortliche Botschaftsverwalter 200 sowie zwei Kontrollregister 703 und 704, die wie dargestellt außerhalb des Botschaftsverwalter 200 im Kommunikationsbaustein 100 untergebracht sein können, aber auch im Botschaftsverwalter 200 selbst enthalten sein können. 703 stellt dabei das Ausgangs-Anforderungsregister (Output Buffer Command Request Register; OBCR) dar und 704 das Ausgangs- Maskierungsregister (Output Buffer Command Mask Register; OBCM). Lesezugriffe der Host-CPU 102 auf den Botschaftsspeicher 300 erfolgen also über den zwischengeschalteten Ausgangspufferspeicher 202 (Output Buffer). Dieser Ausgangspufferspeicher 202 ist nun ebenfalls geteilt bzw. gedoppelt ausgelegt, und zwar als Teilpufferspeicher 701 und einem zu dem Teilpufferspeicher zugehörigen Schattenspeicher 700. Damit kann auch hier wie nachfolgend beschrieben ein kontinuierlicher Zugriff der Host-CPU 102 auf die Botschaften bzw. Botschaftsobjekte respektive Daten des Botschaftsspeichers 300 erfolgen und damit Datenintegrität und beschleunigte Übertragung nun in der Gegenrichtung vom Botschaftsspeicher 300 zum Host 102 gewährleistet werden. Die Steuerung der Zugriffe erfolgt über das Ausgangs-Anforderungsregister 703 und über das Ausgangs-Maskierungsregister 704. Auch im Register 703 sind mit den Zahlen von 0 bis 31 die jeweiligen Bitstellen in 703 hier beispielhaft für eine Breite von 32 Bit dargestellt (vgl. 8). Gleiches gilt für das Register 704 und die Bitstellen 0 bis 31 in 704 (vgl. 9).
  • Es erhalten nun beispielhaft die Bitstellen 0 bis 5, 8 und 9, 15 und 16 bis 21 des Registers 703 bezüglich der Ablaufsteuerung des Lesezugriffs eine besondere Funktion. So ist in die Bitstellen 0 bis 5 des Registers 703 eine Kennung OBRS (Output Buffer Request Shadow) als Botschaftskennung eintragbar. Ebenso ist in die Bitstellen 16 bis 21 des Registers 703 eine Kennung OBRH (Output Buffer Request Host) eintragbar. Als Zugriffskennung ist in Bitstelle 15 von Register 703 eine Kennung OBSYS (Output Buffer Busy Shadow) eintragbar. Ausgezeichnet sind auch die Stellen 0 und 1 des Ausgabe-Maskierungsregisters 704, wobei in den Bitstellen 0 und 1 mit RDSS (Read Data Section Shadow) und RHSS (Read Header Section Shadow) weitere Kennungen als Datenkennungen eingetragen sind. Weitere Datenkennungen sind beispielsweise in den Bitstellen 16 und 17 mit RDSH (Read Data Section Host) und RHSH (Read Header Section Host) vorgesehen. Diese Datenkennungen sind auch hier beispielhaft in einfachster Form, nämlich jeweils als ein Bit ausgebildet. In Bitstelle 9 des Registers 703 ist eine Startkennung REQ eingetragen. Weiterhin ist eine Umschaltkennung VIEW vorgesehen die beispielhaft in Bitstelle 8 von Register 703 eingetragen ist.
  • Die Host-CPU 102 fordert die Daten eines Botschaftsobjekts aus dem Botschaftsspeicher 300 an, indem sie die Kennung der gewünschten Botschaft, also insbesondere die Nummer des gewünschten Botschaftsobjektes, nach OBRS also in die Bitstellen 0 bis 5 des Registers 703 schreibt. Auch hierbei kann die Host-CPU 102 wie in der Gegenrichtung entweder nur die Status- bzw. Konfigurations- und Headerdaten KD einer Botschaft also aus einem Headerbereich oder nur die eigentlich zu übertragenden Daten D einer Botschaft also aus dem Datenbereich oder auch beide lesen. Welcher Teil der Daten also aus Headerbereich und/oder Datenbereich übertragen werden soll wird hierbei vergleichbar mit der Gegenrichtung durch RHSS und RDSS festgelegt. Das heißt RHSS gibt an, ob die Headerdaten gelesen werden sollen und RDSS gibt an, ob die eigentlichen Daten gelesen werden sollen.
  • Eine Startkennung dient dazu die Übertragung vom Botschaftsspeicher 300 zum Schattenspeicher 700 zu starten. D.h. wird als Kennung wie im einfachsten Fall ein Bit verwendet, wird durch Setzen von Bit REQ in Bitstelle 9 im Ausgabe-Anforderungsregister 703 die Übertragung vom Botschaftsspeicher 300 zum Schattenspeicher 700 gestartet. Die laufende Übertragung wird wieder durch eine Zugriffskennung, hier wieder im einfachsten Fall durch ein Bit OBSYS im Register 703, angezeigt. Um Kollisionen zu vermeiden ist es vorteilhaft, wenn das Bit REQ nur dann gesetzt werden kann, wenn OBSYS nicht gesetzt ist, also gerade keine laufende Übertragung erfolgt. Hier erfolgt dann auch der Botschaftstransfer zwischen dem Botschaftsspeicher 300 und dem Schattenspeicher 700. Der eigentliche Ablauf könnte nun einerseits vergleichbar zur Gegenrichtung wie unter den 4, 5 und 6 beschrieben gesteuert werden (komplementäre Registerbelegung) und erfolgen oder aber in einer Variation durch eine zusätzliche Kennung, nämlich eine Umschaltkennung VIEW in Bitstelle 8 des Registers 703. D.h. nach Abschluss der Übertragung wird das Bit OBSYS zurückgesetzt und durch Setzen des Bits VIEW im Ausgabe-Anforderungsregister 703 werden der Teilpufferspeicher 701 und der zugehörige Schattenspeicher 700 getauscht bzw. es werden die Zugriffe darauf getauscht und die Host-CPU 102 kann nun das vom Botschaftsspeicher 300 angeforderte Botschaftsobjekt, also die entsprechende Botschaft, aus dem Teilpufferspeicher 701 auslesen. Dabei werden auch hier vergleichbar mit der Gegenübertragungsrichtung in den 4 bist 6 die Registerzellen OBRS und OBRH getauscht. Gleichermaßen werden RHSS und RDSS gegen RHSH und RDSH getauscht. Als Schutzmechanismus kann auch hier vorgesehen werden, dass das Bit VIEW nur dann gesetzt werden kann, wenn OBSYS nicht gesetzt ist, also keine laufende Übertragung stattfindet.
  • Somit erfolgen Lesezugriffe der Host-CPU 102 auf den Botschaftsspeicher 300 über den zwischengeschalteten Ausgangspufferspeicher 202. Dieser Ausgangspufferspeicher 202 ist ebenso wie der Eingangspufferspeicher 201 doppelt bzw. zweiteilig ausgelegt, um einen kontinuierlichen Zugriff der Host-CPU 102 auf die Botschaftsobjekte, die im Botschaftsspeicher 300 abgelegt sind, zu gewährleisten.
  • Auch hier werden die Vorteile der hohen Datenintegrität und der beschleunigten Übertragung erzielt.
  • Durch die Verwendung der beschriebenen Eingangs- und Ausgangspuffer 201, 202 wird sichergestellt, dass eine Host-CPU 102 trotz der modulinternen Latenzzeiten unterbrechungsfrei auf den Botschaftsspeicher 300 zugreifen kann.
  • Zur Sicherstellung dieser Datenintegrität wird die Datenübertragung, insbesondere die Weiterleitung im Kommunikationsbaustein 100, durch den Botschaftsverwalter 200 (Message Handler MHD) vorgenommen. Dazu ist in 10 der Botschaftsverwalter 200 dargestellt. Der Botschaftsverwalter 200 ist in seiner Funktionalität durch mehrere Zustandsmaschinen oder Zustandsautomaten, also endliche Automaten, sogenannte Finite-State-Machinen (FSM) darstellbar. Dabei sind wenigstens drei Zustandsmaschinen und in einer besonderen Ausführungsform vier Finite-State-Machinen vorgesehen. Eine erste Finite-State-Machine ist die IOBF-FSM und mit 501 bezeichnet (Input/Output Buffer State Machine). Diese IOBF-FSM könnte auch je Übertragungsrichtung bezüglich des Eingangspufferspeichers 201 oder des Ausgangspufferspeichers 202 in zwei Finite-State-Machinen aufgeteilt sein IBF-FSM (Input Buffer FSM) und OBF-FSM (Output Buffer FSM), womit maximal fünf Zustandsautomaten (IBF-FSM, OBF-FSM, TBF1-FSM, TBF2-FSM, AFSM) denkbar wären. Bevorzugt ist aber eine gemeinsame IOBF-FSM vorzusehen. Eine zweite Finite-State-Machine ist hier im Zuge des bevorzugten Ausführungsbeispiels in zwei Blöcke 502 und 503 aufgeteilt und bedient die beiden Kanäle A und B bezüglich der Speicher 205 und 206, wie zu 2 beschrieben. Dabei kann eine Finite-State-Machine vorgesehen sein, um beide Kanäle A und B zu bedienen, oder aber wie in der bevorzugten Form eine Finite-State-Machine TBF1-FSM mit 502 bezeichnet (Transient Buffer 1 (206, RAM A) State Machine) für Kanal A und für Kanal B eine TBF2-FSM mit 503 bezeichnet (Transient Buffer 2 (205, RAM B) State Machine).
  • Zur Steuerung des Zugriffs der drei Finite-State-Machinen 501-503 im bevorzugten Ausführungsbeispiel dient eine Arbiter-Finite-State-Machine, die sogenannte AFSM, die mit 500 bezeichnet ist. Die Daten (KD und/oder D) werden in einem durch ein Taktmittel, wie z.B. ein VCO (Voltage Controlled Oszillator), einen Schwingquarz usw., generierten oder aus diesem angepassten Takt im Kommunikationsbaustein 100 übertragen. Der Takt T kann dabei im Baustein generiert werden oder von außen, z.B. als Bustakt, vorgegeben sein. Diese Arbiter-Finite-State-Machine AFSM 500 gibt abwechselnd einer der drei Finite-State-Machinen 501-503, insbesondere jeweils für eine Taktperiode T Zugriff auf den Botschaftsspeicher 300. D.h. die zur Verfügung stehende Zeit wird entsprechend den Zugriffsanforderungen der einzelnen Zustandsautomaten 501, 502, 503 auf diese anfordernden Zustandsautomaten aufgeteilt. Erfolgt eine Zugriffsanforderung von nur einer Finite-State-Machine, so erhält diese 100 der Zugriffszeit, also alle Takte T. Erfolgt eine Zugriffsanforderung von zwei Zustandsautomaten, erhält jede Finite-State-Machine 50% der Zugriffszeit. Erfolgt schließlich eine Zugriffsanforderung von drei Zustandsautomaten so erhält jede der Finite-State-Machinen 1/3 der Zugriffszeit. Dadurch wird die jeweils zur Verfügung stehende Bandbreite optimal genutzt.
  • Die erste Finite-State-Machine 501, also IOBF-FSM, führt bei Bedarf folgende Aktionen aus:
    • – Datentransfer vom Eingangspufferspeicher 201 zum ausgewählten Botschaftsobjekt im Botschaftsspeicher 300.
    • – Datentransfer vom ausgewählten Botschaftsobjekt im Botschaftsspeicher 300 zum Ausgangspufferspeicher 202.
  • Die Zustandsmaschine 502 für Kanal A, also TBF1-FSM, führt folgende Aktionen aus:
    • – Datentransfer vom ausgewählten Botschaftsobjekt im Botschaftsspeicher 300 zum Pufferspeicher 206 von Kanal A.
    • – Datentransfer vom Pufferspeicher 206 zum ausgewählten Botschaftsobjekt im Botschaftsspeicher 300.
    • – Suche nach dem passenden Botschaftsobjekt im Botschaftsspeicher 300, wobei bei Empfang das Botschaftsobjekt (Receive Buffer) zum Abspeichern einer auf Kanal A empfangenen Botschaft im Rahmen einer Akzeptanzfilterung gesucht wird und beim Senden das nächste auf Kanal A zu sendende Botschaftsobjekt (Transmit Buffer).
  • Analog dazu ist die Aktion von TBF2-FSM, also der Finite-State-Machine für Kanal B in Block 503. Diese führt den Datentransfer vom ausgewählten Botschaftsobjekt im Botschaftsspeicher 300 zum Pufferspeicher 205 von Kanal B aus und den Datentransfer vom Pufferspeicher 205 zum ausgewählten Botschaftsobjekt im Botschaftsspeicher 300. Auch die Suchfunktion ist analog zu TBF1-FSM nach einem passenden Botschaftsobjekt im Botschaftsspeicher 300, wobei bei Empfang das Botschaftsobjekt (Receive Buffer) zum Abspeichern einer auf Kanal B empfangenen Botschaft im Rahmen einer Akzeptanzfilterung gesucht wird und beim Senden die nächste auf Kanal B zu sendende Botschaft oder Botschaftsobjekt (Transmit Buffer).
  • In 11 sind nun noch einmal die Abläufe und die Übertragungswege dargestellt. Die drei Zustandsmaschinen 501-503 steuern die jeweiligen Datenübertragungen zwischen den einzelnen Teilen. Dabei ist mit 102 wieder die Host-CPU dargestellt, mit 201 der Eingangspufferspeicher und mit 202 der Ausgangspufferspeicher. Mit 300 ist der Botschaftsspeicher dargestellt und die beiden Pufferspeicher für Kanal A und Kanal B mit 206 und 205. Die Schnittstellenelemente 207 und 208 sind ebenfalls dargestellt. Der erste Zustandsautomat IOBF-FSM, mit 501 bezeichnet steuert den Datentransfer Z1A und Z1B, also vom Eingangspufferspeicher 201 zum Botschaftsspeicher 300 und vom Botschaftsspeicher 300 zum Ausgangspufferspeicher 202. Die Datenübertragung erfolgt dabei über Datenbusse mit einer Wortbreite von beispielsweise 32 Bit wobei auch jede andere Bitzahl möglich ist. Gleiches gilt für die Übertragung Z2 zwischen dem Botschaftsspeicher und dem Pufferspeicher 206. Diese Datenübertragung wird durch TBFI-FSM, also die Zustandsmaschine 502 für Kanal A, gesteuert. Die Übertragung Z3 zwischen Botschaftsspeicher 300 und Pufferspeicher 205 wird durch den Zustandsautomaten TBF2-FSM, also 503 gesteuert. Auch hier erfolgt der Datentransfer Ober Datenbusse mit einer beispielhaften Wordbreite von 32 Bit, wobei auch hier jede andere Bitzahl möglich ist. Normalerweise benötigt der Transfer eines kompletten Botschaftsobjektes über die genannten Übertragungswege mehrere Taktperioden T. Daher erfolgt eine Aufteilung der Übertragungszeit bezogen auf die Taktperioden T durch den Arbiter, also die AFSM 500. In 11 sind also die Datenpfade zwischen denen vom Message Handler 200 kontrollierten Speicherkomponenten dargestellt. Um die Datenintegrität der im Botschaftsspeicher 300 gespeicherten Botschaftsobjekte sicherzustellen, sollten vorteilhafterweise zur gleichen Zeit nur auf einem der dargestellten Pfade also Z1A und Z1B sowie Z2 und Z3 gleichzeitig Daten ausgetauscht werden.
  • In 12 ist an einem Beispiel gezeigt, wie die zur Verfügung stehenden Systemtakte T vom Arbiter, also der AFSM 500, auf die drei anfordernden Zustandsautomaten aufgeteilt werden. In Phase 1 (I) erfolgen Zugriffsanforderungen von Zustandsautomat 501 und Zustandsautomat 502, d.h., dass die gesamte Zeit jeweils zur Hälfte auf die beiden anfordernden Zustandautomaten aufgeteilt wird. Bezogen auf die Taktperioden in Phase 1 (I) bedeutet dies, dass Zustandsautomat 501 in den Taktperioden T1 und T3 Zugriff erhält und Zustandsautomat 502 in den Taktperioden T2 und T4. In Phase 2 (II) erfolgt der Zugriff nur durch die Zustandsmaschine 501, sodass alle drei Taktperioden, also 100a der Zugriffszeit von T5 bis T7 auf IOBF-FSM entfällt. In Phase 3 (III) erfolgen Zugriffsanforderungen aller drei Zustandsautomaten 501 bis 503, sodass eine Drittelung der Gesamtzugriffszeit erfolgt. Der Arbiter AFSM 500 verteilt dann die Zugriffszeit beispielsweise so, dass in den Taktperioden T8 und T11 die Finit-State-Machine 501, in den Taktperioden T9 und T12 die Finite-State-Machine 502 und in den Taktperioden T10 und T13 die Finite-State-Machine 503 Zugriff erhält. In Phase 4 (IV) schließlich erfolgt der Zugriff durch zwei Zustandsautomaten, 502 und 503 auf den beiden Kanälen A und B des Kommunikationsbausteins 100, sodass eine Zugriffsverteilung der Taktperioden T14 und T16 an Finite-State-Machine 502 und in T15 und T17 an Finite-State-Machine 503 erfolgt.
  • Der Arbiterzustandsautomat AFSM 500 sorgt also dafür, dass falls mehr als eine der drei Zustandsmaschinen 501-503 eine Anforderung für einen Zugriff auf den Botschaftsspeicher 300 stellt, der Zugriff taktweise und abwechselnd auf die anfordernden Zustandsmaschinen 501-503 aufgeteilt wird. Diese Vorgehensweise stellt die Integrität der im Botschaftsspeicher 300 abgelegten Botschaftsobjekte, also die Datenintegrität, sicher. Will zum Beispiel die Host-CPU 102 über den Ausgangspufferspeicher 202 ein Botschaftsobjekt auslesen während gerade eine empfangene Botschaft in dieses Botschaftsobjekt geschrieben wird, so wird abhängig davon welche Anforderung zuerst gestartet wurde entweder der alte Stand oder der neue Stand ausgelesen, ohne dass die Zugriffe im Botschaftsobjekt im Botschaftsspeicher 300 selbst kollidieren.
  • Das beschriebene Verfahren ermöglicht der Host-CPU 102 im laufenden Betrieb jedes beliebige Botschaftsobjekt im Botschaftsspeicher 300 zu lesen oder zu schreiben, ohne dass das ausgewählte Botschaftsobjekt für die Dauer des Zugriffs der Host-CPU 102 von der Teilnahme am Datenaustausch auf beiden Kanälen des FlexRay Busses 101 gesperrt wäre (Buffer Locking). Gleichzeitig wird durch die taktweise Verschachtelung der Zugriffe die Integrität der im Botschaftsspeicher 300 abgelegten Daten sichergestellt und die Übertragungsgeschwindigkeit, auch durch Ausnutzung der vollen Bandbreite erhöht.
  • In 13 ist schematisch ein erfindungsgemäßer Kommunikationsteilnehmer in seiner Gesamtheit mit dem Bezugszeichen 900 bezeichnet. Der Teilnehmer 900 ist über eine Verbindung 106 an eine Kommunikationsverbindung 101 angeschlossen, die bspw. als ein FlexRay-Datenbus ausgebildet ist. Der Teilnehmer 900 kann über die Kommunikationsverbindung 101 Informationen (oder Daten oder Botschaften) mit anderen angeschlossenen Teilnehmern (nicht dargestellt) austauschen. Der Teilnehmer 900 umfasst einen Mikrocontroller 102 (Host-CPU), und einen Kommunikationscontroller 750 (sog. Communication Controller; CC), der bspw. als ein FlexRay- Kommunikationscontroller ausgebildet ist. Der Kommunikationscontroller 705 umfasst einen FlexRay-Kommunikationsbaustein 100, der weiter oben bereits ausführlich beschrieben ist. Der Kommunikationsbaustein 100 kann integraler Bestandteil des Kommunikationscontrollers 705 oder als separates Bauteil ausgebildet sein. Zur Verbesserung der Anbindung zwischen dem FlexRay-Kommunikationsbaustein 100 und dem Mikrocontroller 102, genauer gesagt zur Verbesserung der Anbindung zwischen einem Botschaftsspeicher 300 des Kommunikationsbausteins 100 und einem DMA (Direct Memory Access) Controller 812 (vgl. 15) des Mikrocontrollers 102, wird erfindungsgemäß vorgeschlagen, in der Teilnehmerschnittstelle 107 (Customer Interface; CIF) zwischen dem Kommunikationsbaustein 100 und dem Mikrocontroller 102 eine Zustandsmaschine 800 anzuordnen. Die Zustandsmaschine 800 ist vorzugsweise fest verdrahtet.
  • Die Zustandsmaschine 800 verändert die Teilnehmerschnittstelle 107 derart, dass sich das Aufsetzen und Starten des DMA-Controllers 812 des Mikrocontrollers 102 lohnt. Mit anderen Worten sorgt die Zustandsmaschine 800 dafür, dass dem DMA-Controller 812 die zu übertragenden Daten bzw. Botschaften derart optimiert präsentiert werden, dass er auch größere Datenmengen bzw. mehrere Botschaften mit einem einzigen Aufruf des DMA-Controllers 812 übertragen kann. Erfindungsgemäß wird also gewissermaßen ein einziger Zugriff aus den bisher erforderlichen vielen kleinen Zugriffen zusammengesetzt bzw. werden aus vielen segmentierten Adressbereichen mit Daten virtuell weniger zusammenhängende Adressbereiche generiert, auf die der DMA-Controller 812 effektiv zugreifen kann. Außerdem können durch den Einsatz der Zustandsmaschine 800 Latenzzeiten des Mikroprozessors 811 des Mikrocontrollers 102 während der Datenübertragung vermieden werden.
  • In 14 ist die Anbindung der Zustandsmaschine 800 an den Kommunikationsbaustein 100 und an den Mikrocontroller 102 im Detail dargestellt. Insbesondere verbindet der teilnehmerspezifische Teilbaustein 204 (Customer CPU Interface; CIF) die Zustandsmaschine 800 mit dem FlexRay-Kommunikationsbaustein 100. Dazu ist eine bidirektionale Datenleitung 216, eine Adressleitung 217 sowie ein Steuereingang 218 vorgesehen. Ebenso vorgesehen ist mit 219 ein Interrupt- oder Unterbrechungs-Ausgang. Der teilnehmerspezifische Teilbaustein 204 steht in Verbindung mit dem teilnehmerunabhängigen Teilbaustein 203 (Generic CPU Interface, GIF), d. h. der FlexRay-Kommunikationsbaustein 100 verfügt über ein generisches, also allgemeines, CPU-Interface 203, an das sich über entsprechende teilnehmerspezifische Teilbausteine 204 (CIF) eine große Anzahl von unterschiedlichen kundenspezifischen Teilnehmer 900 anschließen lassen. Dadurch muss abhängig vom Teilnehmer 900 nur der Teilbaustein 204 variiert werden, was einen deutlich geringeren Aufwand bedeutet. Das CPU-Interface 203 und der restliche Kommunikationsbaustein 100 können unverändert übernommen werden.
  • Die Zustandsmaschine 800 ist vorzugsweise Teil des teilnehmerspezifischen Teilbausteins 204 (CIF). Selbstverständlich ist es jedoch denkbar, dass die erfindungsgemäße intelligente Teilnehmerschnittstelle 107 als ein separates Bauteil ausgebildet ist.
  • Die Teilnehmerschnittstelle 107 bzw. die Zustandsmaschine 800 ist über mehrere Leitungen mit dem Mikrocontroller 102 verbunden. Insbesondere ist eine bidirektionale Daten leitung 816, eine Adressleitung 817 sowie ein Steuereingang 818 vorgesehen. Ebenso vorgesehen ist mit 819 ein Interrupt- oder Unterbrechungs-Ausgang.
  • In 15 sind die verschiedenen Signalverläufe für einen Lesevorgang (Read) im Sinne des erfindungsgemäßen Verfahrens dargestellt. Zudem ist der Mikrocontroller 102 im Detail dargestellt. Er umfasst einen Speicher 810, der bspw. als ein Random-Access-Memory (RAM) ausgebildet sein kann. Der Speicher 810 dient zum Speichern eingehender Botschaften vor einer Weiterverarbeitung und ausgehender Botschaften vor einer Übertragung über die Kommunikationsverbindung 101. Außerdem umfasst der Mikrocontroller 102 einen Mikroprozessor 811, eine sog. Host-CPU, einen DMA-Controller 812 und eine Schnittstelle 813 zu Peripheriemodulen (z.B. ein sog. Expansion Bus Module). Eine interne Arbitrierungseinheit ist mit dem Bezugszeichen 814 bezeichnet.
  • Die erfindungsgemäße Teilnehmerschnittstelle 107 umfasst die Zustandsmaschine 800. Außerdem umfasst die Schnittstelle 107 mindestens ein Register 802, das bspw. 64 Bit groß ist und das zum Konfigurieren der Zustandsmaschine 800 bzw. der von der Zustandsmaschine 800 gesteuerten Datenübertragung dient. Dazu werden in dem Konfigurationsregister 802 entsprechende Bits gesetzt, um bspw. die Richtung der Datenübertragung (Lesen, Read oder Schreiben, Write), Kennungen (z.B. Botschaftsnummern) der zu übertragenden Botschaften, Übertragungsreihenfolge der Botschaften, Länge der Botschaften, oder eine von mehreren vorab gespeicherten Teilsequenzen zur Datenübertragung auszuwählen. Die Konfigurationsparameter können auch die Anzahl der zu übertragenden Datenworte oder beliebig andere Informationen bezüglich der bevorstehenden Datenübertragung betreffen.
  • Außerdem weist die Teilnehmerschnittstelle 107 einen Sequenzspeicher 804 auf, der bspw. als ein Random-Access-Memory (RAM) ausgebildet ist. In dem Sequenz-RAM 804 sind Verweise auf bestimmte in dem Botschaftsspeicher 300 abgelegte Botschaften sowie Informationen über die Botschaften abgelegt. Die Zustandsmaschine 800 ruft zur Koordination und Steuerung der Datenübertragung Einträge des Sequenzspeichers 804 auf. Der Sequenzspeicher 804 umfasst mehrere, vorzugsweise 128, Felder mit Sequenzeinträgen. Die Sequenzeinträge betreffen bspw. eine Kennung (z.B. eine Nummer) des Sequenzeintrags, eine Kennung bzw. einen Verweis (z.B. eine Buffernummer) auf einen oder mehrere Botschaften (sog. Buffer) des Botschaftsspeichers 300 bzw. des Pufferspeichers 201 oder 202, und die Größe der Botschaft (des Buffers). Die verschiedenen Sequenzeinträge können von der Zustandsmaschine nach Vorgaben von dem Mikroprozessor gezielt aufgerufen werden. Die Sequenzeinträge können unverändert in der gespeicherten Form oder in angepasster Form aufgerufen werden. Zum Aufruf in angepasster Form umfasst der Aufruf des Sequenzeintrags bestimmte Parameterwerte zum Anpassen variabler Parameter des Sequenzeintrags.
  • Die Sequenzeinträge in dem Sequenzspeicher 804 betreffen vorzugsweise häufig auftretende Übertragungssequenzen, die vorab abgespeichert werden und bei Bedarf aufgerufen werden. Auf diese Weise kann durch den Aufruf einer einzigen Sequenz oder Teilsequenz (eines oder mehrerer Sequenzeinträge) eine umfangreiche Datenübertragung zwischen dem Botschaftsspeicher 300 und dem DMA-Controller 812 ausgelöst werden. Beim Einsatz von Sequenzen oder Teilsequenzen können die Konfigurationsparameter, die zu Beginn der Datenübertragung von dem Mikroprozessor 811 des Mikrocontrollers 102 in die Konfigurations- und Statusregister 802 übertragen werden, auch eine Kennung (z.B. die Nummern) eines oder mehrerer Sequenzeinträge umfassen, die von der Zustandsmaschine 800 im Rahmen der Datenübertragung aufgerufen werden sollen.
  • Der Lese-Vorgang wird initiiert, sobald in dem Botschaftsspeicher 300 des FlexRay-Kommunikationsbausteins 100 über den FlexRay-Datenbus 101 übertragene Daten abgelegt werden. Nach Eingang der Daten im Botschaftsspeicher 300 kann ein Interrupt ausgelöst oder ein entsprechender Befehl an den Mikrocontroller 102 übermittelt werden. Es ist aber auch denkbar, dass der Eingang der Daten im Botschaftsspeicher 300 von dem Mikrocontroller 102 bspw. durch regelmäßiges Polling erkannt wird.
  • Zu Beginn des Lesevorgangs konfiguriert der Mikroprozessor 811 den DMA-Controller 812 in einem Schritt 850. Der Mikroprozessor 811 weiß, wie viele Daten zu übertragen sind, kennt die Größe der Botschaften und andere Informationen bzgl. der bevorstehenden Datenübertragung. Diese Informationen übermittelt der Mikroprozessor 811 im Schritt 850 zumindest teilweise an den DMA-Controller 812. Anschließend konfiguriert der Mikroprozessor 811 die Zustandsmaschine 800 in einem Schritt 852, indem Konfigurationsparameter in das Konfigurationsregister 802 geschrieben werden. Dann erhält die Zustandsmaschine 800 einen Start-Befehl von dem Mikroprozessor 811 und beginnt daraufhin mit dem eigentlichen Datentransfer.
  • Für den Datentransfer werden verschiedene Programmschleifen durchlaufen. Eine äußere Schleife fängt bei dem ersten zu übertragenden Datenbuffer an. Eine innere Schleife fängt bei dem ersten Datenwort des ersten zu übertragenden Datenbuffers an. Für dieses Datenwort übermittelt die Zustandsmaschine 800 einen Request/View-Befehl 854 and den Ausgangspuffer 202 bzw. an die Konfigurationsregister 703, 704 des Ausgangspuffer 202, um das Datenwort in dem Ausgangspuffer 202 sichtbar zu machen. Anschließend wird das Datenwort über den Output-Buffer 202 aus dem Botschaftsspeicher 300 ausgelesen. Die Zustandsmaschine 800 holt sich in einem Schritt 856 dieses Datenwort von dem Ausgangspuffer 202 über das generische Interface 203 (GIF). Dabei kann nur das Kopfsegment HS, nur das Datensegment DS oder können beide, sowohl Kopfsegment HS als auch Datensegment DS, übertragen werden. Bei einer Übertragung von Kopfsegment HS und Datensegment DS wird vorzugsweise zunächst das Kopfsegment HS und danach das Datensegment DS übertragen, die umgekehrte Reihenfolge ist jedoch auch möglich.
  • Über die Konfigurationsregister 703, 704 erhält der Ausgangspuffer 202 bzw. eine übergeordnete Steuereinheit des FlexRay-Kommunikationsbausteins 100 Informationen und Anweisungen darüber, welches Datenwort als nächstes aus dem Botschaftsspeicher 300 in den Ausgangspuffer 202 übertragen werden soll.
  • Das Datenwort aus dem Ausgangspuffer 202 steht nun in der Zustandsmaschine 800 zur Abholung durch den DMA-Controller 812 bereit. Dies wird dem DMA-Controller 812 durch einen Data-Ready-Befehl 858 mitgeteilt. Daraufhin liest der DMA-Controller 812 das bereitstehende Datenwort in einem Schritt 860 ein und leitet es zur Weiterverarbeitung weiter. Anschließend wartet der DMA-Controller 812 auf das nächste Data-Ready-Signal 858.
  • Die innere Schleife wird auf das nächste Datenwort des ersten Datenbuffers inkrementiert, und die obigen Schritte erneut durchlaufen bis das letzte einzulesende Datenwort des ersten Datenbuffers erfolgreich eingelesen worden ist. Anschließend wird die äußere Schleife auf den nächsten zu übertragenden Datenbuffer inkrementiert, und die obigen Schritte werden erneut durchlaufen bis alle Datenworte des letzten einzulesenden Datenbuffers erfolgreich eingelesen worden sind. Das Einlesen eines bestimmten Datenbuffers kann bspw. durch Aufruf einer entsprechenden Teilsequenz aus dem Sequenzspeicher 804 erfolgen. Anschließend teilt der DMA-Controller 812 dem Mikroprozessor 811 das Ende der Datenübertragung mit. Dies kann bspw. durch einen geeigneten Befehl (Data-Transmission-Ready) oder durch einen Interrupt-Befehl erfolgen.
  • Die gesamte Datenübertragung wird von der Zustandsmaschine 800 gesteuert und koordiniert. Die Host-CPU 811 muss lediglich die Datenübertragung durch den Request-Befehl 850 auslösen, alles weitere wird von der Zustandsmaschine 800 erledigt, so dass eine größtmöglich Entlastung der Host-CPU 811 des Mikrocontrollers 102 gegeben ist.
  • Erfindungsgemäß wird also eine herkömmliche Teilnehmerschnittstelle 107 um eine Zustandsmaschine 800 erweitert. Mindestens eine Sequenz von Message-Buffern mit zugehöriger Payloadlänge kann in einen Speicher, bspw. ein RAM, programmiert werden. Der Speicher ist vorzugsweise ebenfalls Teil der erfindungsgemäßen Teilnehmerschnittstelle 107. Pro Abruf mindestens einer der Teil- oder Gesamtsequenzen muss ein DMA-Controller 812 des Teilnehmers 102 nur einmal getriggert werden. Die (Teil-)Sequenzen werden über Start-/End-Nummern definiert. Durch maximal 128 Sequenzeinträge können verschiedene Reihenfolgen, z.B. beim Lesen/Schreiben, verwendet werden. Ein gleichzeitiges Lesen und Schreiben per DMA findet nicht statt. Eine DMA-Sequenz muss immer komplett bearbeitet sein, bevor ein neuer Request-Befehl 850 gestartet werden kann. Im Fehlerfall wird ein Interrupt gesendet oder ein Flag gesetzt.
  • In 16 sind die Signalverläufe für das Schreiben von Daten (Write) in den Botschaftsspeicher 300 des Kommunikationsbausteins 100 dargestellt. Der Schreibvorgang läuft ganz ähnlich wie der Lesevorgang ab. Nachfolgend wird im wesentlichen nur auf die Unterschiede zwischen Lese- und Schreibvorgang näher eingegangen. Zu Beginn des Schreibvorgangs konfiguriert der Mikroprozessor 811 den DMA-Controller 812 in einem Schritt 850. Anschließend konfiguriert der Mikroprozessor 811 die Zustandsmaschine 800 in einem Schritt 852, indem Konfigurationsparameter in das Konfigurationsregister 802 geschrieben werden. Dann erhält die Zustandsmaschine 800 einen Start-Befehl von dem Mikroprozessor 811 und beginnt daraufhin mit dem eigentlichen Datentransfer.
  • Auch für den Schreibvorgang werden die äußere Schleife für den aktuell zu überragenden Datenbuffer und die innere Schleife für das aktuell zu übertragende Datenwort des aktuellen Datenbuffers durchlaufen. Im Gegensatz zum Auslesen von Daten wird beim Schreiben erst der Eingangspufferspeicher 201 gefüllt (innere Schleife) und dann das Kommando zum internen Abspeichern im Botschaftsspeicher 300 gegeben (äußere Schleife).
  • Zunächst übermittelt die Zustandsmaschine 800 ein Data-Ready-Signal 858 an den DMA-Controller 812, um diesem zu signalisieren, dass sie für den Empfang des aktuellen Datenworts von dem DMA-Controller 812 bereit ist. Dann überträgt der DMA-Controller 812 in einem Schritt 862 das anstehende Datenwort an die Zustandsmaschine 800. von dort wird das Datenwort dann in einem Schritt 864 an den Eingangspuffer 201 des FlexRay-Kommunikationsbausteins 100 übermittelt.
  • Nach dem Beenden der inneren Schleife wird dann als Teil der äußeren Schleife folgendes ausgeführt. Der Eingangspuffer 201 bzw. eine übergeordneten Steuereinheit des FlexRay-Kommunikationsbausteins 100 erhält in einem Schritt 866 Informationen und Anweisungen darüber, an welcher Stelle des Botschaftsspeichers 300 das in dem Eingangspuffer 201 abgelegte Datenwort gespeichert werden soll. Zu diesem Zweck werden geeignete Informationen in einem oder mehreren der Konfigurationsregister 403, 404 abgelegt, bspw. durch Setzen entsprechender Bits. Anschließend wird das Datenwort aus dem Eingangspuffer 201 an der entsprechenden Stelle des Botschaftsspeichers 300 abgelegt, von wo aus es dann alleine oder zusammen mit anderen Datenworten aus dem Botschaftsspeicher 300 über die FlexRay-Kommunikationsverbindung 101 übertragen wird.
  • Die innere Schleife wird auf das nächste Datenwort des ersten Datenbuffers inkrementiert, und die obigen Schritte erneut durchlaufen bis das letzte Datenwort des ersten Datenbuffers erfolgreich in den Eingangspuffer 201 geschrieben worden ist. Anschließend wird die äußere Schleife auf den nächsten zu übertragenden Datenbuffer inkrementiert, und die obigen Schritte werden erneut durchlaufen bis alle Datenworte des letzten zu schreibenden Datenbuffers erfolgreich an den Kommunikationsbaustein 100 übertragen worden sind. Das Schreiben eines bestimmten Datenbuffers kann bspw. durch Aufruf einer entsprechenden Teilsequenz aus dem Sequenzspeicher 804 erfolgen. Anschließend teilt der DMA-Controller 812 dem Mikroprozessor 811 das Ende der Datenübertragung mit. Dies kann bspw. durch einen geeigneten Befehl (Data-Transmission-Ready) oder durch einen Interrupt-Befehl erfolgen.
  • Zusammenfassend kann gesagt werden: Die Erfindung betrifft nun im Rahmen des vorhergehend Beschriebenen ein Verfahren und eine Vorrichtung zur Übertragung von Daten zwischen einem Mikroprozessor (Host-CPU) und einer peripheren Einrichtung, bspw. in Form eines Kommunikationscontrollers zur Kommunikation insbesondere im FlexRay. Die periphere Einrichtung ist vorzugsweise als ein FlexRay-Kommunikationscontroller 750 ausgebildet, der über eine Verbindung 106 an eine FlexRay-Kommunikationsverbindung 101 angeschlossen ist, die bspw. als ein FlexRay-Datenbus ausgebildet ist. Der Mikroprozessor 811 und die periphere Einrichtung sind Teil eines Kommunikationsteilnehmers 900. Für die Datenübertragung zwischen dem Mikroprozessor Host-CPU und der peripheren Einrichtung 750 stehen in der Regel nur begrenzte Ressourcen zur Verfügung, d.h. die Bandbreite ist begrenzt. Das ist typischerweise bei der Verwendung einer seriellen Schnittstelle der Fall.
  • Der Vorteil der Programmierung beliebiger Sequenzen von Message-Buffern in das Sequenz-RAM 804 in der Teilnehmerschnittstelle 107 bzw. in dem F1exRay-Kommunikationsbaustein 100 besteht unter anderem darin, dass der Zugriff schneller wird, weil die Kommandos das Wissen über die Anordnung der Daten, die Art der Zugriffe und die entsprechenden Adressen in Form eines weiteren Zustandsautomaten aufweist. Auf diese Weise können die Anordnung der Daten, die Art der Zugriffe und/oder die entsprechenden Adressen automatisch bereitgestellt werden, so dass diese nicht mehr von der Host-CPU 811 geliefert und damit nicht mehr über die Schnittstelle 107 bzw. detailliert über die Verbindungen 216 bis 218 übertragen werden müssen. Des weiteren kann auch die Zugriffsart (Lesen/Schreiben) schon fest in diese Vorrichtung 107 eingebaut werden, wie bereits erwähnt, muss also ebenfalls nicht mehr übertragen werden.
  • Anstelle dessen werden nun einfach die vorgegebenen bzw. vorprogrammierten Teilsequenzen bezüglich der genannten Informationen über die Datenübertragung (z.B. Datenanordnung, Zugriffsart, und/oder Adressen) abgerufen bzw. aktiviert und mit zusätzlichen Werten ausgestattet. Durch den Aufruf einer oder mehrerer der Sequenzen können einfach und schnell mehrere Message-Buffer-Inhalte vom oder zum Kommunikationsbaustein 100 übertragen werden.

Claims (11)

  1. Teilnehmerschnittstelle (107) zwischen einem FlexRay-Kommunikationsbaustein (100), der an eine FlexRay-Kommunikationsverbindung (101) angeschlossen ist, über welche Botschaften übertragen werden, und der einen Botschaftsspeicher (300) zum Zwischenspeichern von Botschaften von der FlexRay-Kommunikationsverbindung (101) oder für die FlexRay-Kommunikationsverbindung (101) umfasst, und einem dem FlexRay-Kommunikationsbaustein (100) zugeordneten Mikrocontroller (102), der einen Mikroprozessor (811) und einen Direct-Memory-Access, nachfolgend DMA, Controller (812) für einen Datenaustausch mit dem Botschaftsspeicher (300) aufweist, dadurch gekennzeichnet, dass die Teilnehmerschnittstelle (107) eine Zustandsmaschine (800) aufweist, welche nach Konfiguration durch den Mikroprozessor (811) des Mikrocontrollers (102) eine Datenübertragung zwischen dem Botschaftsspeicher (300) des FlexRay-Kommunikationsbausteins (100) und dem DMA-Controller (812) selbständig koordiniert und steuert.
  2. Teilnehmerschnittstelle (107) nach Anspruch 1, dadurch gekennzeichnet, dass die Teilnehmerschnittstelle (107) Konfigurations- und Statusregister (802) aufweist, auf welche der Mikroprozessor (811) des Mikrocontrollers (102) zur Konfiguration der Zustandsmaschine (800) Zugriff hat.
  3. Teilnehmerschnittstelle (107) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Teilnehmerschnittstelle (107) einen Sequenzspeicher aufweist, in dem Verweise auf bestimmte in dem Botschaftsspeicher (300) abgelegte Botschaften und Informationen über die Botschaften abgelegt sind, wobei die Zustandsmaschine (800) zur Koordination und Steuerung der Datenübertragung Einträge des Sequenzspeichers aufruft.
  4. Teilnehmerschnittstelle (107) nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der FlexRay-Kommunikationsbaustein (100) mindestens einen Pufferspeicher (201, 202), vorzugsweise mindestens einen Eingangspufferspeicher (201) und mindestens einen Ausgangspufferspeicher (202), zum Zwischenspeichern von zwischen dem Botschaftsspeicher (300) des Kommunikationsbausteins (100) und dem DMA-Controller (812) zu übertragenden Daten, vorzugsweise zum Zwischenspeichern mindestens einer in dem Botschaftsspeicher (300) abgelegten Botschaft, aufweist, wobei die Zustandsmaschine (800) die Datenübertragung zwischen dem Botschaftsspeicher (300) und dem mindestens einen Pufferspeicher (201, 202) sowie zwischen dem mindestens einen Pufferspeicher (201, 202) und dem DMA-Controller (812) selbständig koordiniert und steuert.
  5. Teilnehmerschnittstelle (107) nach Anspruch 4, dadurch gekennzeichnet, dass der mindestens eine Pufferspeicher (201, 202) einen Teilpufferspeicher und einem dem Teilpufferspeicher zugehörigen Schattenspeicher umfasst, wobei die Zustandsmaschine (800) die Datenübertragung derart koordiniert und steuert, dass Schreiben bzw. Lesen auf den Teilpufferspeicher und den Schattenspeicher wechselweise erfolgt.
  6. Teilnehmerschnittstelle (107) nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass der F1exRay-Kommunikationsbaustein (100) dem mindestens einen Pufferspeicher (201, 202) zugehörige Kontrollregister (403, 404; 703, 704) aufweist, auf welche die Zustandsmaschine (800) zur Koordination und Steuerung der Datenübertragung zwischen dem Botschaftsspeicher (300) und dem mindestens einen Pufferspeicher (201, 202) Zugriff hat.
  7. FlexRay-Teilnehmer, der einen Mikrocontroller (102), einen FlexRay-Kommunikationsbaustein (100), der an eine FlexRay-Kommunikationsverbindung (101) angeschlossen ist, über welche Botschaften übertragen werden, und eine Teilnehmerschnittstelle (107) zwischen dem Mikrocontroller (102) und dem Kommunikationsbaustein (100) aufweist, wobei der Mikrocontroller (102) einen Mikroprozessor (811) und einen Direct-Memory-Access, nachfolgend DMA, Controller (812) und der Kommunikationsbaustein (100) einen Botschaftsspeicher (300) zum Zwischenspeichern von Botschaften von der FlexRay-Kommunikationsverbindung (101) oder für die FlexRay-Kommunikationsverbindung (101) umfasst, dadurch gekennzeichnet, dass die Teilnehmerschnittstelle (107) eine Zustandsmaschine (800), aufweist, welche nach Konfiguration durch den Mikroprozessor (811) des Mikrocontrollers (102) eine Datenübertragung zwischen dem Botschaftsspeicher (300) des FlexRay-Kommunikationsbausteins (100) und dem DMA-Controller (812) selbständig koordiniert und steuert.
  8. Verfahren zur Datenübertragung zwischen einem Botschaftsspeicher (300) eines FlexRay-Kommunikationsbausteins (100), der an eine FlexRay-Kommunikationsverbindung (101) angeschlossen ist, über welche Botschaften übertragen werden, und einem Direct-Memory-Access, nachfolgend DMA, Controller (812) eines Mikrocontrollers (102), dadurch gekennzeichnet, dass eine Zustandsmaschine (800), die als Teil einer Teilnehmerschnittstelle (107) zwischen dem Mikrocontroller (102) und dem FlexRay-Kommunikationsbaustein (100) ausgebildet wird, durch einen Mikroprozessor (811) des Mikrocontrollers (102) konfiguriert wird und die Datenübertragung nach der Konfiguration von der Zustandsmaschine (800) selbständig koordiniert und gesteuert wird.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass zur Konfiguration der Zustandsmaschine (800) von dem Mikroprozessor (811) des Mikrocontrollers (102) Konfigurationsparameter in Konfigurations- und Statusregister (802) der Teilnehmerschnittstelle (107) abgelegt werden.
  10. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass in einem Sequenzspeicher der Teilnehmerschnittstelle (107) Verweise auf bestimmte in dem Botschaftsspeicher (300) abgelegte Botschaften und Informationen über die Botschaften abgelegt werden, wobei zur Koordination und Steuerung der Datenübertragung von der Zustandsmaschine (800) Einträge des Sequenzspeichers aufgerufen werden.
  11. Verfahren nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass der FlexRay-Kommunikationsbaustein (100) mindestens einen Pufferspeicher (201, 202), vorzugsweise mindestens einen Eingangspufferspeicher (201) und mindestens einen Ausgangspufferspeicher (202), zum Zwischenspeichern von zwischen dem Botschaftsspeicher (300) des Kommunikationsbausteins (100) und dem DMA-Controller (812) zu übertragenden Daten, vorzugsweise zum Zwischenspeichern mindestens einer in dem Botschaftsspeicher (300) abgelegten Botschaft, aufweist, und zur Steuerung und Koordination der Datenübertragung von der Zustandsmaschine (800) in dem mindestens einen Pufferspeicher (201, 202) zugehörigen Kontrollregistern (403, 404; 703, 704) Koordinations- und Steuerungsparameter abgelegt werden.
DE102005048582A 2005-10-06 2005-10-06 Teilnehmerschnittstelle zwischen einem Mikrocontroller und einem FlexRay-Kommunikationsbaustein, FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle Withdrawn DE102005048582A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE102005048582A DE102005048582A1 (de) 2005-10-06 2005-10-06 Teilnehmerschnittstelle zwischen einem Mikrocontroller und einem FlexRay-Kommunikationsbaustein, FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle
EP06807000A EP1941377A2 (de) 2005-10-06 2006-10-05 Teilnehmerschnittstelle zwischen einem mikrocontroller und einem flexray-kommunikationsbaustein, flexray-teilnehmer und verfahren zur übertragung von botschaften über eine solche schnittstelle
US12/083,272 US20100161834A1 (en) 2005-10-06 2006-10-05 User interface between a microcontroller and a flexray communications module; flexray user; and method for transmitting messages via such an interface
PCT/EP2006/067085 WO2007039634A2 (de) 2005-10-06 2006-10-05 Teilnehmerschnittstelle zwischen einem mikrocontroller und einem flexray-kommunikationsbaustein, flexray-teilnehmer und verfahren zur übertragung von botschaften über eine solche schnittstelle
CNA2006800371823A CN101283338A (zh) 2005-10-06 2006-10-05 微控制器和FlexRay通信组件之间的用户接口、FlexRay用户以及用于通过这种接口传输消息的方法
JP2008534018A JP2009511318A (ja) 2005-10-06 2006-10-05 マイクロコントローラとFlexRay通信モジュールとを繋ぐ加入者インタフェース、FlexRay加入者装置、およびマイクロコントローラとFlexRay通信モジュールとを繋ぐ加入者インタフェースを経由するメッセージの伝送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005048582A DE102005048582A1 (de) 2005-10-06 2005-10-06 Teilnehmerschnittstelle zwischen einem Mikrocontroller und einem FlexRay-Kommunikationsbaustein, FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle

Publications (1)

Publication Number Publication Date
DE102005048582A1 true DE102005048582A1 (de) 2007-04-12

Family

ID=37887076

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005048582A Withdrawn DE102005048582A1 (de) 2005-10-06 2005-10-06 Teilnehmerschnittstelle zwischen einem Mikrocontroller und einem FlexRay-Kommunikationsbaustein, FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle

Country Status (6)

Country Link
US (1) US20100161834A1 (de)
EP (1) EP1941377A2 (de)
JP (1) JP2009511318A (de)
CN (1) CN101283338A (de)
DE (1) DE102005048582A1 (de)
WO (1) WO2007039634A2 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005048595A1 (de) * 2005-10-06 2007-04-12 Robert Bosch Gmbh 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
WO2007147435A1 (en) * 2006-06-20 2007-12-27 Freescale Semiconductor, Inc. Method for transmitting a datum from a time-dependent data storage means
EP2038744B1 (de) * 2006-06-22 2018-08-08 NXP USA, Inc. Verfahren und system zum gruppieren von interrupts aus einem zeitabhängigen datenspeichermittel
US7949679B2 (en) * 2008-03-05 2011-05-24 International Business Machines Corporation Efficient storage for finite state machines
CN102693210B (zh) * 2011-03-21 2017-03-01 中兴通讯股份有限公司 一种处理器间传递参数的方法及装置
DE102011087509A1 (de) 2011-12-01 2013-06-06 Robert Bosch Gmbh Sensorübertragungsvorrichtung und Verfahren zur Übertragung von Nutzdaten von einer Mehrzahl von Sensoren an eine Bussteuervorrichtung für ein Fahrzeug
CN102841870B (zh) * 2012-08-10 2015-04-15 无锡众志和达数据计算股份有限公司 基于高速串行总线的通用dma结构及预读方法
CN102841871B (zh) * 2012-08-10 2015-06-17 无锡众志和达数据计算股份有限公司 基于高速串行总线的DMA结构的pipeline读写方法
CN103428059A (zh) * 2013-08-14 2013-12-04 上海固泰科技有限公司 基于FlexRay总线的仿真方法
CN103414619A (zh) * 2013-08-14 2013-11-27 上海固泰科技有限公司 一种基于FlexRay总线的自动化控制方法
CN106789489A (zh) * 2015-11-20 2017-05-31 成都九十度工业产品设计有限公司 一种FlexRay通信控制器媒体接入控制系统及其控制方法
CN106789490A (zh) * 2015-11-20 2017-05-31 成都九十度工业产品设计有限公司 一种FlexRay通信控制器及控制方法
DE102016203307A1 (de) * 2016-03-01 2017-09-07 Robert Bosch Gmbh Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit
US11116009B2 (en) * 2017-08-03 2021-09-07 Qualcomm Incorporated Synchronous clear to send signaling
US20190227857A1 (en) * 2018-01-25 2019-07-25 salesforce com, inc Smart clipboard for secure data transfer

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274425A (ja) * 1993-03-17 1994-09-30 Hitachi Ltd ネットワークアダプタ装置
US6351780B1 (en) * 1994-11-21 2002-02-26 Cirrus Logic, Inc. Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated
US5999474A (en) * 1998-10-01 1999-12-07 Monolithic System Tech Inc Method and apparatus for complete hiding of the refresh of a semiconductor memory
US6708233B1 (en) * 1999-03-25 2004-03-16 Microsoft Corporation Method and apparatus for direct buffering of a stream of variable-length data
US6647440B1 (en) * 1999-09-15 2003-11-11 Koninklijke Philips Electronics N.V. End-of-message handling and interrupt generation in a CAN module providing hardware assembly of multi-frame CAN messages
JP2002007313A (ja) * 2000-06-16 2002-01-11 Sony Corp データ処理装置、データ処理方法及びバス制御装置
JP3785373B2 (ja) * 2002-03-01 2006-06-14 シャープ株式会社 通信制御回路
US7277449B2 (en) * 2002-07-29 2007-10-02 Freescale Semiconductor, Inc. On chip network
US8095704B2 (en) * 2003-01-13 2012-01-10 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays
US7353321B2 (en) * 2003-01-13 2008-04-01 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays
US20050012753A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Systems and methods for compositing graphics overlays without altering the primary display image and presenting them to the display on-demand
JP2005275963A (ja) * 2004-03-25 2005-10-06 Toshiba Corp モニタ記述生成装置、モニタ記述生成方法及びモニタ記述生成プログラム
US7430571B2 (en) * 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
DE102005004464A1 (de) * 2005-01-31 2006-10-26 Robert Bosch Gmbh Verfahren zur Speicherung von Botschaften in einem Botschaftsspeicher und Botschaftsspeicher

Also Published As

Publication number Publication date
WO2007039634A3 (de) 2007-06-28
US20100161834A1 (en) 2010-06-24
WO2007039634A2 (de) 2007-04-12
JP2009511318A (ja) 2009-03-19
EP1941377A2 (de) 2008-07-09
CN101283338A (zh) 2008-10-08

Similar Documents

Publication Publication Date Title
EP1776807B1 (de) Verfahren und vorrichtung zum zugriff auf daten eines botschaftsspeichers eines kommunikationsbausteins
DE102005048582A1 (de) Teilnehmerschnittstelle zwischen einem Mikrocontroller und einem FlexRay-Kommunikationsbaustein, FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle
EP1776805B1 (de) Flexray-kommunikationsbaustein
EP1787204B1 (de) Botschaftsverwalter und verfahren zur steuerung des zugriffs auf daten eines botschaftsspeichers eines kommunikationsbausteins
EP1940654B1 (de) Verfahren zur Anbindung eines FlexRay-Teilnehmers mit einem Mikrocontroller an eine FlexRay-Kommunikationsverbindung über eine FlexRay-Kommunikationssteuereinrichtung, und FlexRay-Kommunikationssystem zur Realisierung dieses Verfahrens
EP1846827B1 (de) Verfahren zum übertragen von daten in botschaften über eine kommunikationsverbindung eines kommunikationssystems, sowie kommunikationsbaustein, teilnehmer eines kommunikationssystems und kommunikationssystem zur realisierung dieses verfahrens
EP1941674B1 (de) Teilnehmer und kommunikationscontroller eines kommunikationssystems und verfahren zur realisierung einer gateway-funktionalität in einem teilnehmer eines kommunikationssystems
DE102005048581B4 (de) Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle
EP1776808B1 (de) Verfahren zur speicherung von botschaften in einem botschaftsspeicher und botschaftsspeicher
EP2030116B1 (de) Kommunikationsbaustein
EP2030117B1 (de) Gateway zum datentransfer zwischen seriellen bussen
DE102007001137B4 (de) Gateway zum automatischen Routen von Nachrichten zwischen Bussen
EP1502400B1 (de) Verfahren und system zur übertragung von daten über schaltbare datennetze
EP2030118B1 (de) Mehrprozessor-gateway
DE102005048584A1 (de) FlexRay-Kommunikationsbaustein, FlexRay-Kommunikationscontroller und Verfahren zur Botschaftsübertragung zwischen einer FlexRay-Kommunikationsverbindung und einem FlexRay-Teilnehmer
DE102012205160A1 (de) Kommunikationsanordnung und Verfahren zur Konfiguration programmierbarer Hardware
DE102005048583A1 (de) Teilnehmer und Kommunikationscontroller eines Kommunikationssystems und Verfahren zur Datenübertragung in einem Teilnehmer des Kommunikationssystem

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee