DE102013210182A1 - Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle - Google Patents

Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle Download PDF

Info

Publication number
DE102013210182A1
DE102013210182A1 DE102013210182.1A DE102013210182A DE102013210182A1 DE 102013210182 A1 DE102013210182 A1 DE 102013210182A1 DE 102013210182 A DE102013210182 A DE 102013210182A DE 102013210182 A1 DE102013210182 A1 DE 102013210182A1
Authority
DE
Germany
Prior art keywords
interface
unit
microcontroller
module
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102013210182.1A
Other languages
English (en)
Inventor
Axel Aue
Eugen Becker
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 DE102013210182.1A priority Critical patent/DE102013210182A1/de
Priority to US14/288,028 priority patent/US10002094B2/en
Priority to CN201410229701.2A priority patent/CN104219333A/zh
Priority to KR1020140064520A priority patent/KR102202408B1/ko
Publication of DE102013210182A1 publication Critical patent/DE102013210182A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses

Abstract

Ein Mikrocontroller für ein Steuergerät, insbesondere für ein Fahrzeugsteuergerät, umfasst eine zentrale Verarbeitungseinheit (CPU), mindestens ein schnittstellenunspezifisches Eingangsmodul, mindestens ein schnittstellenunspezifisches Ausgangsmodul, mindestens eine Routingeinheit sowie mindestens eine Recheneinheit zur Verarbeitung schnittstellenspezifischer Informationen. Dabei ist der Mikrocontroller derart konfigurierbar, dass das mindestens eine schnittstellenunspezifische Eingangsmodul, das mindestens eine schnittstellenunspezifische Ausgangsmodul, die mindestens eine Routingeinheit sowie die mindestens eine Recheneinheit zur Verarbeitung schnittstellenspezifischer Informationen die Funktionen entsprechend einer von mehreren seriellen Schnittstellen, insbesondere von SPI, UART, LIN, CAN, PSI5, FlexRay, SENT, I2C, MSC oder Ethernet, erfüllen. Zudem speichert das Eingangsmodul (511) einen gesamten Eingangs-Nachrichtenrahmen der Eingangsdaten stellt diesen der Recheneinheit (513) oder der zentralen Verarbeitungseinheit (CPU) zur Verfügung.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft elektronische Steuergeräte, insbesondere zur Steuerung von Funktionen in einem Fahrzeug, die zur Kommunikation mit anderen Teilnehmern eines Kommunikationssystems Schnittstellen nach außen aufweisen.
  • Stand der Technik
  • Steuergeräte in einem Fahrzeug verfügen gewöhnlich über serielle Schnittstellen wie z.B. SPI, UART, LIN, CAN, PSI5, FlexRay, SENT, I2C, MSC (Micro-Second-Channel), Ethernet und andere zur Verbindung bzw. Kommunikation mit anderen Steuergeräten, Sensoren, Aktoren oder anderen Peripheriegeräten. Nach Stand der Technik sind diese seriellen Schnittstellen durch VHDL-Code in einem Mikrocontroller des Steuergeräts implementiert. Hardwareseitig muss zur Implementierung einer seriellen Schnittstelle je nach Art der Schnittstelle z.B. ein schnittstellenspezifischer Kommunikationscontroller einschließlich Protokollcontroller, Sampleeinheit, Speichereinheit sowie ein Transceiver (Sender-Empfänger) implementiert werden. Ein Bustransceiver ist z.B. bei SENT und SPI nicht nötig. Schnittstellenspezifische Hardwareeinheiten (z.B. Puffer bei SPI, Protokoll-Controller bei CAN) machen eine solche Implementierung zusätzlich aufwendig und unflexibel.
  • Aus der WO-2006013212 A1 ist beispielsweise die Umsetzung eines FlexRay-Kommunikationsbausteins zur Kopplung einer FlexRay-Kommunikations-Verbindung mit einem dem FlexRay-Kommunikationsbaustein zugeordneten Teilnehmer in einem FlexRay-Netzwerk bekannt. Ein Mikrocontroller mit einer typischen Ausstattung serieller Schnittstellen ist beispielsweise dem Dokument „16/32-Bit Architecture, XC2387C, XC2388C, 16/32-Bit Single-Chip Microcontroller with 32-Bit Performance, XC2000 Family / High Line, Data Sheet V1.3 2011-07“ von Infineon zu entnehmen.
  • Es gibt sehr unterschiedliche Anforderungen an Art und Menge der seriellen Schnittstellen in verschiedenen Fahrzeuganwendungen für ein Steuergerät bzw. für einen Mikrocontroller eines solchen Steuergeräts. So kann beispielsweise in einer Anwendung die Anforderung lauten: eine SPI-Schnittstelle, zwei LIN-Schnittstellen, 5 CAN-Schnittstellen. In einer anderen, anspruchsvolleren Anwendung können weitere Schnittstellen wie FlexRay oder Ethernet zusätzlich benötigt werden oder eine höhere Anzahl der vorhandenen Schnittstellen. Um dem zu begegnen, kann ein Mikrocontroller mit sehr vielen Schnittstellen verschiedener Art herangezogen werden, der allerdings für eine Großzahl der Anwendungen überdimensioniert wäre und damit zu teuer. Alternativ kann für jede Anwendung ein spezifischer Mikrocontroller implementiert werden, der von jeder Schnittstellenart über genau die gewünschte Menge verfügt, damit aber dem Wunsch nach Vereinheitlichung entgegenläuft und hohe Implementierungskosten verursacht. Beide Lösungen sind zudem unflexibel für noch unbekannte zukünftige Anforderungen. Insgesamt führt die Schnittstellenspezifische Hardware-Implementierung der seriellen Schnittstellen in einem Mikrocontroller für ein Fahrzeug-Steuergerät somit zu unflexiblen Lösungen, die nur aufwendig an verschiedene Anforderungen angepasst werden können.
  • Offenbarung der Erfindung
  • Die Erfindung geht aus von einem Verfahren zur Bereitstellung mindestens einer generischen Schnittstelle, einem entsprechenden Mikrocontroller sowie einem Steuergerät mit einem solchen Mikrocontroller.
  • Ein flexibler Aufbau eines Mikrocontroller weist dabei eine zentrale Verarbeitungseinheit (CPU), ein schnittstellenunspezifisches Eingangsmodul, ein schnittstellenunspezifisches Ausgangsmodul, eine Routingeinheit, sowie zur Verarbeitung schnittstellenspezifischer Informationen eine Recheneinheit auf. Die Recheneinheit ist dabei vorzugsweise nicht mit der zentralen Verarbeitungseinheit identisch. Die genannten Schaltungsteile des Mikrocontrollers sind als generische Schnittstelle so konfigurierbar, dass sie je nach Konfiguration Funktionen entsprechend einer von mehreren seriellen Schnittstellen, insbesondere von SPI, UART, LIN, CAN, PSI5, FlexRay, SENT I2C, MSC oder Ethernet, bereitstellen können.
  • Mikrocontroller müssen oft einen breiten Einsatzbereich haben, da ihre Design- und Produktionskosten hoch sind und daher nicht für jede Anwendung ein eigener Mikrocontroller entwickelt werden kann. Durch die vorgeschlagene Bereitstellung generischer Schnittstellen im Mikrocontroller muss die Anzahl für jeden Typ der in verschiedenen Anwendungsfällen des Mikrocontrollers benötigten Schnittstellen beim Design des Mikrocontrollers nicht bekannt sein. Es werden vielmehr Hardwareschaltungen bereitgestellt, die je nach Konfiguration die Aufgaben einer bestimmten seriellen Schnittstelle erfüllen.
  • In einem Verfahren zur Darstellung generischer Schnittstellen durch Hardwareschaltungen eines Mikrocontrollers werden in einem grundsätzlich separaten Teilverfahren zum Empfang und zur Verarbeitung von Eingangsdaten entsprechend einem Protokoll der einen der mehreren seriellen Schnittstellen diese Eingangsdaten über ein schnittstellenunspezifisches Eingangsmodul empfangen und an eine Recheneinheit übertragen. Von der Recheneinheit werden Nutzdaten aus den Eingangsdaten extrahiert, insbesondere durch die Entfernung von Protokollspezifika des Protokolls aus den Eingangsdaten. Die ersten Nutzdaten werden schließlich der zentralen Verarbeitungseinheit (CPU) zur Verfügung gestellt.
  • In einem grundsätzlich separaten Teilverfahren zur Verarbeitung von Daten und Versendung von Ausgangsdaten werden zweite Nutzdaten der zentralen Verarbeitungseinheit einer Recheneinheit empfangen. Von der Recheneinheit werden Ausgangsdaten aus den zweiten Nutzdaten erzeugt, insbesondere durch Hinzufügen von Protokollspezifika des Protokolls zu den zweiten Nutzdaten. Die Ausgangdaten werden über die Routingeinheit an eines der schnittstellenunspezifischen Ausgangsmodule übertragen und schließlich entsprechend dem Protokoll der einen der mehreren seriellen Schnittstellen über ein schnittstellenunspezifisches Ausgangsmodul versendet.
  • Dieses Verfahren stellt eine besonders flexible Art der Datenverarbeitung dar, da hierzu keine schnittstellenspezifischen Hardwareeinheiten verwendet werden. Die Daten vieler Protokolle entsprechend vielen seriellen Schnittstellen können durch die schnittstellenunspezifischen Eingangs- und Ausgangsmodule empfangen und versendet werden und über Konfiguration kann die Auswertung der empfangenen Daten aufgrund von Protokollinformationen in der Recheneinheit stattfinden. Das ermöglicht die Konfiguration der generischen Schnittstellen entsprechend bestimmten seriellen Schnittstellen, je nach den anwendungsspezifischen Anforderungen an den Mikrocontroller.
  • Die Protokollspezifika, insbesondere Informationen über Startbits, Stoppbits, Paritätsinformationen, Steuerbits, Füllbits oder ähnliche können hierbei in einem Speicher abgelegt werden, z.B. durch die zentrale Verarbeitungseinheit des Mikrocontrollers. Hierüber kann die generische Schnittstelle, vor allem die hierzu eingesetzte Recheneinheit, konfiguriert werden. Die Recheneinheit hat Zugriff auf den Speicher und kann die Protokollinformationen entsprechend der vorgesehenen Konfiguration lesen.
  • Ein noch breiteres Einsatzfeld für die generischen Schnittstellen ergibt sich, wenn die Recheneinheit auch für Berechnungen höherer Protokollschichten eingesetzt wird. Z.B. kann sie die Umrechnungen mehrerer UART-Nachrichtenrahmen in einen LIN-Nachrichtenrahmen vornehmen.
  • Die Weitergabe von Nutzdaten von der Recheneinheit an die zentrale Verarbeitungseinheit wird am einfachsten darüber realisiert, dass die Recheneinheit die Nutzdaten in einen Speicher schreibt, auf den die zentrale Verarbeitungseinheit Zugriff hat, und die zentrale Verarbeitungseinheit darüber informiert, z.B. über einen Interrupt.
  • In einer aufwendigeren Variante, die aber dafür die Recheneinheit und die Zentrale Verarbeitungseinheit entlastet, kann die Recheneinheit die Nutzdaten der zentralen Verarbeitungseinheit über einen direkten Speicherzugriff zur Verfügung stellen.
  • Das Eingangsmodul kann komplette Nachrichten speichern und (vorzugsweise über die Routingeinheit) der Recheneinheit zur Verfügung stellen. Hierzu benötigt es einen Zugriff auf Speicherressourcen, die ausreichen, einen kompletten Nachrichtenrahmen zu speichern. Da mit dem Eingangsmodul in Kombination mit den anderen Hardwareschaltungen verschiedene serielle Schnittstellen durch die generische Schnittstelle dargestellt werden sollen, muss der Speicher ausreichen, einen kompletten Nachrichtenrahmen jedes Protokolls entsprechend den potentiell darzustellenden Schnittstellen speichern zu können. Findet eine Übertragung des gesamten Nachrichtenrahmens über die Routingeinheit statt, wird diese nicht so stark belastet, wie im Fall einer separaten Übertragung einzelnen Nachrichtenteile. Damit ist auch die Übertragung nicht so stark von der Geschwindigkeit und der Belastung der Routingeinheit bestimmt und höhere Datenraten sind für die empfangenen Daten möglich.
  • Der gesamten Nachricht kann durch das Eingangsmodul eine Zeitinformation zugeordnet werden. Diese können wiederum Recheneinheit oder zentrale Verarbeitungseinheit zur Einordnung oder Verarbeitung der Eingangsdaten verwenden.
  • Zudem kann durch das Eingangsmodul eine besonders sichere Erkennung der Inhalte der Eingangsdaten erfolgen, wenn diese durch eine Überabtastung analysiert und eine Mehrheitsabstimmung aus den Pegelwerten der Abtastungspunkte ein Bitpegel für jedes Bit der Eingangsdaten bestimmt wird.
  • Bei einem Verfahren zur Ausgabe von Daten verarbeitet die Recheneinheit Nutzdaten von Seiten der zentralen Verarbeitungseinheit, indem sie diese in Flankenwechsel mit zugeordneten Zeitstempeln umwandelt. Hierzu muss sie für die Abstände Flankenwechsel, mit welchen Ausgangsdaten ausgegeben werden sollen, die entsprechende Baudrate kennen, also die Datenübertragungsgeschwindigkeit bei Ausgabe. Jeder Flankenwechsel mit Zeitstempel wird separat über eine Routingeinheit an ein Ausgabemodul übertragen. Dort wird durch Vergleich mit Zeitinformationen jeder Flankenwechsel zur gewünschten Zeit an den Ausgang angelegt. Dies ermöglicht eine flexible und protokollunabhängige Datenausgabe mit schnittstellenunspezifischem Ausgangsmodul.
  • Alternativ kann auch bei der Ausgabe ein ganzer Nachrichtenrahmen anstelle einzelner Pegelwechsel mit Zeitstempeln von der Recheneinheit dem Ausgangsmodul zur Verfügung gestellt werden. Die Ausgabe des gesamten Nachrichtenrahmens erfolgt dann beispielsweise durch einen Trigger der Recheneinheit oder der Zentralen Verarbeitungseinheit oder bei Übereinstimmung eines Zeitstempels des gesamten Nachrichtenrahmens mit einer Zeitinformation im Ausgangsmodul. Hierdurch wird die Routingeinheit entlastet und die Sendegeschwindigkeit weniger begrenzt durch Belastung und Geschwindigkeit der Routingeinheit.
  • Die Recheneinheit weist beispielsweise eine Arithmetische Logikeinheit auf, vorzugsweise ist sie als Multi-Kanal-Sequenzer realisiert.
  • Ein Mikrocontroller, bei welchem das schnittstellenunspezifische Ausgangsmodul eine Compare-Funktionalität aufweist, kann besonders flexibel und einfach realisierbar generische Schnittstellen zur Verfügung stellen. Mit weniger Ressourcen kann eine wesentlich höhere Flexibilität des Mikrocontrollers erreicht werden.
  • Die Einsatzmöglichkeiten des Mikrocontrollers können durch weitere separate Hardwareschaltungen vergrößert werden, beispielsweise für CRC-Berechnungen oder Berechnungen im Zuge eine Busarbitrierung (zum Beispiel bei CAN), die entweder Teil des Mikrocontroller sind oder mit diesem verbunden. Durch solche auf eine bestimmte Funktion optimierte Hardwareeinheiten werden die weniger spezialisierten übrigen Module, insbesondere die Recheneinheit des Mikrocontrollers entlastet. Manche Berechnungen und damit Anwendungen des Mikrocontrollers sind mit der geforderten Zuverlässigkeit und Geschwindigkeit erst mit solchen zusätzlichen Einheiten möglich.
  • Damit die generischen Schnittstellen die jeweiligen seriellen Schnittstellen in einem Rahmen bereitstellen, wie sie in vielen Anwendungen, insbesondere im Automotive-Bereich verbreitet sind, sollten die Routingeinheit und/oder die Recheneinheit mit einem Takt von mindestens 100 MHz, insbesondere mit einem Takt von mindestens 200 MHz, betrieben werden und damit Eingangsdaten mit einer Eingangs-Baudrate von mindestens 1MBaud empfangen sowie Ausgangsdaten mit einer Ausgangs-Baudrate von mindestens 1 MBaud gesendet werden können.
  • Sehr flexibel einsetzbar und trotzdem besonders günstig ist eine Mikrocontroller, der sowohl spezifische in Hardware realisierte Schnittstellen aufweist als auch generische Schnittstellen mit schnittstellenunspezifischer Hardware, welche konfiguriert werden kann, gewünschte Schnittstellen mit Softwareberechnungen darzustellen. Somit kann für die bekannten Anwendungsfälle des Mikrocontrollers eine gewisse Schnittmenge an Schnittstellen zwischen den Anwendungen fest implementiert werden, während zwischen den Anwendungen unterschiedliche Schnittstellenanforderungen oder noch unbekannte Schnittstellenanforderungen mit generischen Schnittstellen abgedeckt werden.
  • Kombiniert werden können Hardwareschaltungen zur Darstellung generischer Schnittstellen in einem Mikrocontroller mit einem oder mehreren Timer-Modulen. Diese können sich auch flexibel gegenseitig bei Aufgaben unterstützen, wenn entsprechende Kapazitäten bei einem der Hardwareblöcke verfügbar sind.
  • Die beschriebenen Mikrocontroller lassen sich besonders gut in Steuergeräten einsetzen, insbesondere im Automotive-Bereich. Hier sind die Anforderungen an Schnittstellen bei gleichzeitig strikten Kostenvorgaben besonders hoch.
  • Zeichnungen
  • Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigt
  • 1 schematisch einen beispielhaften Mikrocontroller mit Hardwareschaltungen zur Darstellung generischer Schnittstellen,
  • 2 schematisch einen beispielhaften Mikrocontroller mit Hardwareschaltungen zur Darstellung generischer Schnittstellen sowie einem Timer-Modul,
  • 3 schematisch einen beispielhaften Mikrocontroller mit Hardwareschaltungen zur Darstellung generischer Schnittstellen sowie mit einer speziellen Hardwareschaltung für CRC-Berechnungen,
  • 4 schematisch einen beispielhaften Mikrocontroller mit Hardwareschaltungen zur Darstellung generischer Schnittstellen sowie mit einem speziellen Ausgangsmodul,
  • 5 schematisch einen beispielhaften Mikrocontroller mit Hardwareschaltungen zur Darstellung generischer Schnittstellen sowie einem speziellen Eingangsmodul und einem zusätzlichen Speicher,
  • 6 schematisch einen beispielhaften Mikrocontroller mit Hardwareschaltungen zur Darstellung generischer Schnittstellen sowie einer Schaltung zur Unterstützung einer Arbitrierung,
  • 7 schematisch zwei beispielhafte Signalverläufe mit Flankenwechseln zur Erläuterung einer CAN-Arbitrierung,
  • 8 schematisch den beispielhaften Ablauf eines Verfahrens zum Empfang von Daten über eine generische Schnittstelle,
  • 9 schematisch den beispielhaften Ablauf eines Verfahrens zum Versenden von Daten über eine generische Schnittstelle,
  • 10 schematisch den beispielhaften Ablauf eines Verfahrens zur Baudratenerkennung und
  • 11 schematisch den beispielhaften Ablauf einer Datenübertragung mit CRC-Berechnung durch eine separate CRC-Einheit.
  • Beschreibung der Ausführungsbeispiele
  • Unter dem Begriff „Serielle Schnittstelle“ wird im Folgenden eine Anbindung zum seriellen Datenaustausch zwischen Geräten verstanden. Serielle Datenübertragung kennzeichnet eine Datenübertragung, bei welcher die Bits nacheinander über eine oder mehrere Leitungen übertragen werden. Zu denen in Fahrzeugen genutzten seriellen Schnittstellen gehören beispielsweise SPI, UART, LIN, CAN, PSI5, FlexRay, SENT I2C, MSC und Ethernet.
  • Aus der WO-2011120823 A1 ist das Timer-Modul „Generic Timer Module (GTM)“ bekannt. Bei diesem sind Hardware-Submodule um eine zentrale Routingeinheit (genannt „Advanced Routing Unit (ARU)“) angeordnet. Die zentrale Routingeinheit routet Daten zwischen den verschiedenen Hardware-Submodulen, dabei kommt vorzugsweise zur deterministischen Arbitrierung eine Rundlauf-Ablaufplanung („Round Robin“) zum Einsatz. Das heißt, Quell-Module werden innerhalb einer maximalen Rundlauf-Zeit bedient und ihre Daten werden über Adressinformationen an die entsprechenden Ziel-Module geroutet. Das Timer-Modul ist damit in der Lage, die Interrupt-Last der CPU eines Mikrocontrollers zu reduzieren, z.B. in Mikrocontrollern für Elektronische Steuergeräte (ECU), welche zur Steuerung von Funktionen in Fahrzeugen eingesetzt werden. Das Timer-Modul weist als Hardware-Submodule u.a. Eingangsmodule auf, die sogenannten „Timer Input Modules (TIM)“, sowie Ausgangsmodule, die sogenannten „Timer Output Modules (TOM)“ oder auch „ARU-connected Timer Output Modules (ATOM)“. Neben der Routing-Einheit (ARU), den Eingangsmodulen (TIM) und den Ausgangsmodulen (ATOM) weist das Timer-Modul auch einen Multi-Kanal-Sequenzer (Multi Channel Sequencer) als Recheneinheit auf.
  • Das Timer-Modul greift auf das Grundprinzip „Capture/Compare“ zurück. Hierbei werden in den Eingangseinheiten (TIM) einkommende Signale mit Zeitstempeln entsprechend ihrem Eintreffen verknüpft. Die entsprechenden Zeitangaben erhält die Eingabeeinheit (TIM) dabei z.B. von einer Zeitbasis-Einheit (time base unit, TBU). Diese Funktionalität des Zeitstempelns entspricht dem „Capture“ des „Capture/Compare“. Signale, welche über die Ausgabeeinheiten (ATOM) des Timer-Moduls verschickt werden sollen, werden ebenfalls mit Zeitstempeln versehen, z.B. von den verarbeitenden Recheneinheiten (CPU, MCS). Im Ausgangmodul (ATOM) des Timer-Moduls werden die Zeitstempel der Signale mit aktuellen Zeitangaben verglichen. Diese erhält das Ausgangsmodul z.B. ebenfalls aus einer Zeitbasis-Einheit. Entspricht der Zeitstempel des auszugebenden Signals der aktuellen Zeit, so wird das Signal versendet. Diese Funktionalität entspricht dem „Compare“ des „Capture/Compare“. Anstelle der beschriebenen Zeitbasis können auch winkelsynchrone „Capture/Compare“-Funktionen durch die Eingabe- und Ausgabeeinheiten realisiert werden. Diese können im Fahrzeug benötigt werden, da die Winkellage eines Empfangs- oder Sendevorgangs relativ zu einem aktuellen Motorwinkel von besonderer Bedeutung ist. Zum Beispiel kann die Eingabeeinheit eingehende Signale mit Winkelstempeln versehen, ausgehende Nachrichten können zu bestimmten Winkelpunkten versendet werden.
  • Die Recheneinheit bzw. Datenverarbeitungseinheit “Multi-Kanal-Sequenzer (MCS)” ist vorzugsweise realisiert als ein Submodul mit Pipeline-Stufen, einer Arithmetischen Logikeinheit (ALU), Decodern und einer Verbindung zu RAM-Speichereinheiten. In einem Timer-Modul können auch mehrere Multi-Kanal-Sequenzer eingesetzt werden. Die Eingabeeinheiten sind vorzugsweise realisiert als Hardwarebaustein mit Latches und Flipflops sowie einer Verbindung zu einer zeit- und/oder winkelgebenden Einheit. Die Ausgabeeinheiten sind vorzugsweise realisiert als Hardwarebaustein mit Latches und Flipflops, welche z.B. ein Register bilden, sowie einer Verbindung zu einer zeit- und/oder winkelgebenden Einheit. Die Zeitbasis für zeitgebundene Funktionen kann dabei von dem Rechnertakt des Mikrocontrollers (bzw. dessen zentraler Verarbeitungseinheit (CPU)) abgeleitet sein, die Winkelbasis für winkelgebundene Funktionen kann über eine DPLL (digital phase-locked loop) realisiert sein.
  • Zu der weiteren Funktionsweise des Timer-Moduls, insbesondere der genannten Bestandteile ARU, MCS, TIM, ATOM, TBU des Timer-Moduls, wird auf die WO-2011120823 A1 verwiesen. Die entsprechenden Beschreibungsteile der WO-2011120823 A1 sind hiermit durch Verweis in diese Anmeldung einbezogen.
  • Angelehnt an die Funktionalität des bekannten Timer-Moduls ist ein zentraler Aspekt der vorliegenden Erfindung, generische serielle Schnittstellen in einem Mikrocontroller bereit zu stellen, insbesondere zur Anwendung in Fahrzeug-Steuergeräten. Hierzu können entweder Einheiten eines entsprechenden, bereits im Mikrocontroller integrierten Timer-Moduls umkonfiguriert werden oder Einheiten speziell für diese Anwendung in den Mikrocontroller integriert werden. Dabei kann z.B. auf „Compare“-Funktionalitäten der Ausgabeeinheiten (TOM, ATOM) zurückgegriffen werden, um spezifische Schnittstellenausgänge generisch nachzubilden. Unterstützt werden die Eingabe- und Ausgabeinheiten von einer Recheneinheit, z.B. einem Multi-Kanal-Sequenzer (multi channel sequencer, MCS), welcher Berechnungen zur Darstellung einer Schnittstelle durchführt. Zur Verteilung von Daten zwischen den Eingabemodulen, Ausgabemodulen und der Recheneinheit kommt vorzugsweise eine Routingeinheit zum Einsatz. Die im Folgenden beschriebenen Module Eingangsmodul, Ausgangsmodul, Routingeinheit und Recheneinheit weisen dabei vorzugsweise die oben zum Timer-Modul „GTM“ beschriebenen Funktionalitäten der entsprechenden Einheiten TIM, A(TOM), ARU bzw. MCS. Allerdings unterscheidet sich die Hardwareschaltung zur Darstellung generischer Schnittstellen bzw. der Mikrocontroller mit dieser Hardwareschaltung aufgrund der anderen Anforderungen (z.B. Geschwindigkeit des Routings und der Bearbeitung) von dem bekannten Timer-Modul. Vorzugsweise sind dabei über die oben beschriebenen Funktionen der Timer-Submodule hinaus Änderungen in der Hardware des Mikrocontrollers vorzunehmen, zumindest aber müssen die entsprechenden Timer-Hardwarebausteine durch Konfiguration an die veränderten Aufgaben und Anforderungen angepasst werden, um erfindungsgemäß eingesetzt werden zu können.
  • In 1 ist schematisch ein Schaltungsaufbau zur Darstellung einer generischen, seriellen Schnittstelle in einem Mikrocontroller gezeigt.
  • Der Mikrocontroller 101 weist dabei eine Gruppe Hardwareschaltungen 110 auf, welche konfigurierbar die Funktionen einer bestimmten seriellen Schnittstelle bereitstellen. Zu den Hardwarekomponenten 110 gehört ein Eingangsmodul 111, welches mit einem Eingangsdatenkanal 102 verbunden ist. Der Eingangsdatenkanal 102 ist typischerweise eine kabelgebundene Kommunikationsverbindung. Das Eingangsmodul 111 ist mit einer Routingeinheit 112 verbunden. Die Routingeinheit 112 ist neben dem Eingangsmodul 111 auch noch mit einer Recheneinheit 113 und einem Ausgangsmodul 114 verbunden. Das Ausgangsmodul 114 ist mit einem Ausgangsdatenkanal 103 verbunden. Der Ausgangsdatenkanal 103 ist typischerweise ebenfalls eine kabelgebundene Kommunikationsverbindung. Der Eingangsdatenkanal 103 und der Ausgangsdatenkanal 104 sind Teil eines Kommunikationssystems mit einem bestimmten Protokoll, so dass die schnittstellenunspezifischen Hardwarekomponenten 111, 112, 113, 114 derart konfiguriert sein müssen, dass sie die Funktionen der entsprechenden Schnittstelle bereitstellen, welche Daten dieses bestimmten Protokolls verarbeiten kann. Beispielsweise kann es sich bei dem Eingangsdatenkanal 102 um einen Rx-Eingang einer UART-Schnittstelle handeln und beim Ausgangsdatenkanal 103 um einen Tx-Ausgang einer UART-Schnittstelle. Die Hardwarekomponenten 111, 112, 113, 114 müssen in diesem Beispiel so konfiguriert sein, dass sie eine UART-Schnittstelle nachbilden.
  • Das Eingangsmodul 111 und das Ausgangsmodul 114 sind schnittstellenunspezifische Hardwareschaltungen, d.h. sie können Daten vieler verschiedener serieller Schnittstellen, aufgebaut gemäß verschiedenen Protokollstrukturen verarbeiten. Die Recheneinheit 113 ist zu unterscheiden von der zentralen Verarbeitungseinheit (CPU) des Mikrocontrollers und wird im Folgenden zur Unterscheidung mit MCS bezeichnet, da es sich in einer bevorzugten Ausführungsform des Mikrocontrollers bei der Recheneinheit (MCS) um einen Multi-Kanal-Sequenzer handelt. Andere Hardware-Umsetzungen der Recheneinheit (MCS) sind ebenso möglich, vorzugsweise ebenfalls mit einer Arithmetischen Logikeinheit (ALU).
  • Die Routingeinheit 112 verbindet die Module Eingangsmodul 111, Ausgangsmodul 114 sowie Recheneinheit (MCS) 113 zeitmultiplex.
  • 1 zeigt den Mikrocontroller 101 stark vereinfacht. Natürlich weist ein solcher Mikrocontroller 101 viele weitere hier nicht gezeigte Bestandteile auf, u.a. mindestens eine zentrale Verarbeitungseinheit (CPU), welche Datenverarbeitungen, Berechnungen und Konfigurationen im Mikrocontroller durchführen kann. Zudem umfasst der Mikrocontroller 101 vorzugsweise mehrere solcher Eingangsmodule 111 und Ausgangsmodule 114. Je nach Anwendung kann er auch mehrere Recheneinheiten (MCS) 113 aufweisen. Viele solcher Module 111, 113, 114 können mit einer einzigen Routingeinheit 112 verbunden sein. Für sehr komplexe Anwendungen können auch mehrere Routingeinheiten 112 in einem solchen Mikrocontroller 101 eingesetzt werden.
  • In einer besonders bevorzugten Variante des vorliegenden Mikrocontrollers verfügt dieser über eine Anzahl „echter“, also entsprechend dem Stand der Technik fest in Hardware realisierter, serieller Schnittstellen sowie über eine Anzahl „generischer“ Schnittstellen in Form von Hardwareschaltungen wie der zu 1 beschriebenen. Hierdurch kann vorzugsweise die Mindestanzahl der benötigten Schnittstellen einer bestimmten Schnittstellenart wie bisher günstig fest in Hardware realisiert werden, aber die zwischen verschiedenen Anwendungen des Mikrocontrollers unterschiedlichen Schnittstellen können als generische Schnittstellen vorgesehen werden und somit entsprechend der jeweiligen Anwendung in Software konfiguriert werden. Damit ist ein flexibler Einsatz des Mikrocontrollers bei reduzierter Anzahl vorzuhaltender Schnittstellen möglich.
  • Im Gegensatz zu den Eingangsmodulen des Generic Timer Moduls kann das Eingangsmodul auch ohne Capture-Funktionalität auskommen. Das spezielle für das Nachbilden generischen Schnittstellen vorgeschlagene Eingangsmodul empfängt nämlich komplette Nachrichtenrahmen, speichert diese also ab, und stellt sie der Recheneinheit (MCS) oder der zentralen Verarbeitungseinheit (CPU) zur Verfügung.
  • Vorzugsweise wird ein solches spezielles Eingangsmodul also einen kompletten Bitstrom aufnehmen (d.h. speichern) und zudem filtern. Als Filterung kann vorzugsweise eine Überabtastung (Oversampling) angewendet werden. Durch eine Überabtastung in Kombination z.B. mit einem Voting (Abstimmung) können zuverlässiger die empfangenen Bits mit hohem Pegel und die empfangenen Bits mit niedrigem Pegel voneinander getrennt bzw. unterschieden werden.
  • Der Eingangsfilter des speziellen Eingangsmoduls lässt sich beispielsweise so programmieren, dass er mit 16MHz ein 1MHz Signal abtastet. Die 16 Abtastungen pro Bit werden dann über eine Abstimmungsinstanz geführt, die nach vorgegebenen Einstellungen (z.B. 3 aus 16 oder 12 aus 16) eine 1 oder 0 als Bitzustand speichert. Durch ein solches spezielles Eingangsmodul, in welchem Überabtastung und Voting implementiert ist, können auch Schnittstellen mit höheren Anforderungen an die Störsicherheit implementiert werden.
  • Durch die Synchronisation mit einem Trigger-Ereignis, z.B. einem Startbit bei UART, kann die spezielle Eingangseinheit in einen definierten Zustand im Bezug auf den Bitstrom gebracht werden. Wenn alle Bits eingelesen sind (z.B. UART: Startbit, 8 Datenbits, Paritätsbit, Stoppbit), werden diese Daten vom Ausgang des speziellen Eingangsmoduls über die Routingeinheit an die Recheneinheit (MCS) übertragen, die dann z.B. höhere Protokollschichten (z.B. KWP2000, LIN) übersetzt oder die Daten direkt in einen FIFO-Speicher schreiben, aus dem sich Anwendersoftware die Daten holen kann. Die Recheneinheit (MCS) erhält die Daten eines Nachrichtenrahmens als eine einzelne Nachricht von der Routingeinheit. Dadurch wird die Routingeinheit vom Durchführen vieler einzelner Übertragungen von einzelnen Teilen des Nachrichtenrahmens entlastet. Die Geschwindigkeit der Bearbeitung eingehender Daten ist nicht in starkem Maße von der Geschwindigkeit der Routingeinheit abhängig. Neben einer Entlastung von Routingeinheit und Recheneinheit (MCS) ist damit eine Verarbeitung eingehender Daten mit schnellerer Datenrate möglich.
  • Zusätzlich zu den gefilterten, also nach Überabtastung und Voting ermittelten korrekten Bitpegeln kann noch die Information weitergeleitet werden (zum Beispiel an die Recheneinheit (MCS) oder die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers), ob und wie sehr die Bits gestört waren, also z.B., wie klar das Voting war. Es kann beispielsweise übermittelt werden, wie viele abgetastete Werte eines Bits den gleichen Pegel aufwiesen. Um das Voting robuster zu machen, können beispielsweise auch die Punkte (Abtastungen) direkt vor und direkt nach einem Flankenwechsel ausmaskiert werden, um das Voting, also die Biterkennung, robuster zu gestalten.
  • Für die beschriebenen Hardwareschaltungen mit speziellem Eingangsmodul, das eine Überabtastung und ein Voting durchführt, kann zur Verbesserung der Biterkennung auch eine ermittelte Baudrate für das Voting herangezogen werden (eine solche Baudratenerkennung wird weiter unten näher beschrieben).
  • In einer bevorzugten alternativen Variante der Ausführungsform mit speziellem Eingangsmodul findet keine Übertragung über die Routingeinheit, sondern eine direkte Übertragung von dem speziellen Eingangsmodul in einen Speicher, z.B. einen FIFO-Speicher, statt, auf welchen die Recheneinheit (MCS) oder die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers Zugriff hat. Alternativ könnten Recheneinheit (MCS) oder die zentrale Verarbeitungseinheit (CPU) auch direkten Zugriff auf den Speicher des speziellen Eingangsmoduls haben.
  • In einer Erweiterung der vorgestellten Ausführungsbeispiele mit spezieller Eingangseinheit kann diese pro Bitstrom bzw. pro Nachrichtenrahmen einen Zeitstempel vergeben (hierzu ist der Zugriff auf eine Zeitinformation nötig, z.B. über eine Zeitbasiseinheit). Diesen Zeitstempel können Recheneinheit (MCS) oder die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers für die Bearbeitung bzw. Auswertung des Nachrichtenrahmens heranziehen.
  • Eine Hardwareschaltung zur Darstellung generischer serieller Schnittstellen mit einer speziellen Eingabeeinheit ist schematisch in 5 dargestellt. Der Mikrocontroller 501 mit den Hardwarekomponenten 510, also Eingangsmodul 511, Routingeinheit 512, Recheneinheit (MCS) 513 sowie Ausgangsmodul 514, sowie den Verbindungen zu dem Dateneingangskanal 502 und dem Datenausgangskanal 503 entspricht wiederum weitgehend dem Mikrocontroller 101 in 1. Bei dem speziellen Eingangsmodul 511 handelt es sich allerdings hiervon abweichend um eine Hardwareeinheit mit Schaltkreisen zur Darstellung einer Filterfunktionalität, insbesondere einer Überabtastung von empfangenen Bits und eines Votings, bei welchem auf Grundlage der ertasteten Pegelwerte an den Abtastpunkten eines Bits über eine Mehrheitsentscheidung der Pegelwert für dieses Bit festgestellt wird. Im Gegensatz zum Eingangsmodul, welches zu 1 beschrieben ist, muss das spezielle Eingangsmodul 511 einen Speicher aufweisen mit ausreichender Größe zur Speicherung eines gesamtes Bitstroms, bzw. eines gesamten empfangenen Nachrichtenrahmens.
  • In 5 ist im Vergleich zu 1 noch ein Speicher 516, z.B. ein FIFO-Speicher, gezeigt. Auf diesen FIFO-Speicher hat zumindest das Eingangsmodul 511 Zugriff. Entsprechend einer der oben beschriebenen Varianten findet eine direkte Übertragung von dem speziellen Eingangsmodul 511 in den Speicher 516 statt, auf welchen die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers Zugriff hat, wie in 5 durch die gezeigte Verbindung von Speicher 516 zum Mikrocontroller 501 angedeutet ist.
  • In 8 ist der Ablauf eines Verfahrens zur Darstellung einer generischen Schnittstelle für den Empfang von Nachrichten schematisch dargestellt.
  • In einem Eingangsmodul (z.B. 111 in 1) eines Mikrocontrollers werden in einem ersten Schritt 801 digitale Daten von Mikrocontroller-extern als Bits empfangen. Dabei liegt am Eingangsmodul ein Eingangssignal an. Dieses liegt in einem Protokoll entsprechend der nachzubildenden seriellen Schnittstelle vor.
  • Das Eingangsmodul speichert in Schritt 802 den gesamten Bitstrom bzw. einen ganzen Nachrichtenrahmen der Eingangsdaten. Hierzu muss es einen ausreichend großen Speicher aufweisen. Vorzugsweise ist der Speicher ausreichend groß, jeweils die maximalen kompletten Nachrichtenrahmen aller Protokolle entsprechend den potentiell nachzubildenden Schnittstellen abzuspeichern.
  • In Schritt 803 führt das Eingangsmodul eine Überabtastung durch, d.h. die empfangenen Bits werden mit einem mehrfachen Takt der Eingangsdatenrate abgetastet. Als Ergebnis erhält das Eingangsmodul für jedes Bit eine Mehrzahl an Pegelwerten entsprechend dem erfassten Pegel an jedem Abtastungspunkt. Für jedes Bit der empfangenen Eingangsdaten führt das Eingangsmodul auf Basis der Pegelwerte für dieses Bit an den Abtastungspunkten eine Analyse bzw. eine Abstimmung durch. Dabei wird bestimmt, welcher Pegelwert (hoch oder tief bzw. dominant oder rezessiv) für dieses Bit häufiger erfasst wurde. Mit diesem Voting wird der Wert des Bits daraufhin festgelegt.
  • In Schritt 804 stellt das Eingangsmodul der Recheneinheit (MCS) die so bestimmten Eingangsdaten zur Verfügung. Das kann auf vielfältige Weise geschehen, z.B. über die Routingeinheit, durch Schreiben in einen Speicher oder durch direkten Speicherzugriff (DMA).
  • Die Recheneinheit (MCS) bearbeitet in Schritt 805 die Informationen, welche sie jeweils in Form eines gesamten Nachrichtenrahmens erreichen, z.B. über die Routingeinheit. Die Recheneinheit (MCS) überprüft die Informationen und entfernt Steuerbits (z.B. Startbit(s), Stoppbit(s), Paritätsbit(s), Stuffing Bit(s)) entsprechend dem vorliegenden Protokoll. Die Recheneinheit (MCS) extrahiert somit Nutzdaten aus dem Nachrichtenrahmen. Die Recheneinheit (MCS) erhält die Informationen für diese Bearbeitung (also die Informationen, um welches Protokoll es sich handelt, bzw. wie die Nachrichten dieses Protokolls aufgebaut sind) vorzugsweise aus einem lokalen, flüchtigen Speicher, auf welchen sie Zugriff hat. Die Informationen können dorthin z.B. von einer zentralen Verarbeitungseinheit (CPU) des Mikrocontrollers aus einem nicht-flüchtigen Speicher (z.B. Flash-Speicher) übertragen werden. Beim Start des Mikrocontrollers werden vorzugsweise das Eingangsmodul und das noch beschriebene Ausgangsmodul durch die zentrale Verarbeitungseinheit (CPU) fest einem bestimmten Nachrichten-Protokoll zugewiesen und die Information hierüber sowie die entsprechenden Protokollinformationen für die Recheneinheit (MCS) zugreifbar in einem flüchtigen Speicher abgelegt.
  • In einem optionalen Schritt 806 kann die Recheneinheit (MCS) weitere Bearbeitungsschritte und Berechnungen durchführen, z.B. die Berechnung höherer Protokollschichten. Beispielsweise können mehrere UART-Frames in ein LIN-Frame umgerechnet werden oder diverse Signalberechnungen durchgeführt werden.
  • Die Recheneinheit (MCS) stellt die bearbeiteten Informationen in Schritt 807 einer zentralen Verarbeitungseinheit (CPU) des Mikrocontrollers zur Verfügung. Vorzugsweise werden die Informationen in einem Speicher (z.B. einem RAM) abgelegt und die zentrale Verarbeitungseinheit (CPU) darüber informiert (z.B. über einen Interrupt oder durch ein Triggern eines DMA-Kanales). Dabei kann die Nachricht neben den Nutzdaten z.B. noch über weitere Informationen, wie z.B. einen Identifier im Fall einer CAN-Nachricht, verfügen.
  • In Schritt 808 verarbeitet die zentrale Verarbeitungseinheit (CPU) schließlich die empfangenen Informationen.
  • In 9 ist der Ablauf eines Verfahrens zur Darstellung einer generischen Schnittstelle für das Versenden von Nachrichten schematisch dargestellt.
  • In Schritt 901 stellt eine zentrale Verarbeitungseinheit (CPU) eines Mikrocontrollers ein Signal (gegebenenfalls mit Identifier) einer Recheneinheit (MCS, z.B. 113 in 1) zur Verfügung. In der Recheneinheit (MCS) wird in Schritt 901 eine Bearbeitung des Signals durchgeführt. Aus den Bits des digitalen Signals wird ein Ablauf von Flankenwechseln berechnet und die Flankenwechsel werden mit Zeitangaben versehen. Für die korrekten Zeitabstände zwischen den Flankenwechseln benötigt die Recheneinheit (MCS) die Information über die zu verwendende Baudrate. Zudem werden Protokollinformationen entsprechend dem zu verwendenden Protokoll hinzugefügt, z.B. Steuerbits wie Startbit(s), Stoppbit(s), Parity Bit(s), Stuffing Bit(s). Die Recheneinheit (MCS) erhält die Informationen für diese Bearbeitung (also die Informationen, um welches Protokoll es sich handelt, bzw. wie die Nachrichten dieses Protokolls aufgebaut sind) wiederum vorzugsweise aus einem lokalen, flüchtigen Speicher, auf welchen sie Zugriff hat. Die Informationen können dorthin z.B. von einer zentralen Verarbeitungseinheit (CPU) des Mikrocontrollers aus einem nicht-flüchtigen Speicher (z.B. Flash-Speicher) übertragen werden.
  • Die Weitergabe der so erhaltenen Daten von der Recheneinheit (MCS) an eine Routingeinheit (z.B. 112 in 1) erfolgt in Schritt 902. Im folgenden Schritt 903 werden die Daten von der Routingeinheit an eine vorgegebene Ausgabeeinheit (z.B. 114 in 1) geroutet.
  • Die Ausgabeeinheit erhält also die zu versendenden Daten als Flankenwechsel samt Information über die Zeitpunkte, zu welchen die Flankenwechsel auf welche Flanke am Ausgang angelegt werden sollen und damit die gewünschte Nachricht versendet wird. Die Ausgabeeinheit vergleicht hierzu die erhaltenen Zeitinformationen mit zur Verfügung stehenden Zeitinformationen (Compare-Funktionalität) in Schritt 904. Die Zeitinformationen können beispielsweise durch eine Zeitbasis-Einheit zur Verfügung gestellt werden. Bei Übereinstimmung der Zeitinformation mit einem dem folgenden Flankenwechsel zugeordneten Zeitpunkt legt die Ausgabeeinheit schließlich den Flankenwechsel am Ausgang an und sendet somit die gewünschten Daten als Bitstrom mit der vorgegebenen Baudrate und in dem Nachrichten-Protokoll entsprechend der nachzubildenden seriellen Schnittstelle. Die Übertragung von der Recheneinheit (MCS) über die Routingeinheit an das Ausgangsmodul erfolgt in dieser Ausführungsvariante jeweils separat für jeden Flankenwechsel samt Zeitinformation. Das Ausgangsmodul kann so eingerichtet sein, dass es erst dann zum Empfang eines weiteren Flankenwechsels samt Zeitinformation bereit ist, wenn der zuvor empfangene Flankenwechsel entsprechend der Zeitinformation versendet bzw. am Ausgang angelegt wurde.
  • Für die Hardwarerealisierung der generischen seriellen Schnittstellen sind verschiedene Konfigurationen möglich. Zum einen kann ein Mikrocontroller über ein Timer-Modul wie das oben beschriebene „Generic Timer Module“ verfügen und zusätzlich Hardwareschaltungen wie die zu 1 beschriebene aufweisen. Bei einer solchen Konfiguration kann das Timer-Modul ohne Rücksicht auf darzustellende Schnittstellen die ihm zugetragenen Aufgaben erfüllen. Die Schnittstellenfunktionalität wird durch die zusätzlichen Hardwareschaltungen des Mikrocontrollers bereitgestellt. In einer solchen Konfiguration können durch Konfiguration vorzugsweise Timer-Funktionen an die zusätzlichen Hardwareschaltungen übertragen werden, sofern diese nicht durch Schnittstellenfunktionalitäten ausgelastet sind, insbesondere sofern die entsprechenden Eingangs- und Ausgangsmodule keiner Schnittstellenfunktion zugewiesen sind. Auch kann das Timer-Modul (bzw. dessen Hardwareeinheiten) in einer speziellen Variante Schnittstellenfunktionalität von den zusätzlichen Hardwareschaltungen übernehmen, sofern es hierzu ausreichende freie Kapazität und eine ausreichende Hardwareauslegung aufweist und hierzu konfiguriert wird.
  • Eine solche Hardware-Ausführung ist in 2 dargestellt. Hier weist der Mikrocontroller 201 eine Hardwareschaltung 210 auf, welche der Hardwareschaltung 110 in 1 entspricht (Eingangsdatenkanal 202, Ausgangsdatenkanal 203, Eingangsmodul 211, Ausgangsmodul 214, Routingeinheit 212, Recheneinheit (MCS) 213). Zusätzlich weist der Mikrocontroller 201 ein Timer-Modul 230 auf, welches ein Timer-Eingangsmodul 231, ein Timer-Ausgangsmodul 234, eine Routingeinheit 232 sowie eine Recheneinheit (MCS) 233 aufweist. Das Timer-Eingangsmodul 231 ist mit dem Signaleingang 222 sowie der Routingeinheit 232 verbunden. Das Timer-Ausgangsmodul 234 ist mit dem Signalausgang 223 sowie der Routingeinheit 232 verbunden. Die Routingeinheit 232 ist zudem mit der Recheneinheit (MCS) 233 verbunden. Das Timer-Modul 230 kann beispielsweise durch das oben beschriebene Timer-Modul „Generic Timer Module“ realisiert sein.
  • In einer weiteren Variante können Hardwareeinheiten wie die zu 1 beschriebene sowohl Timer- als auch Schnittstellenfunktionalität übernehmen. Eine solche Hardwareeinheit hat im Vergleich zum oben beschriebenen Generic Timer Module vorzugsweise eine Routingeinheit bzw. Routingeinheiten, welche mit höherer Frequenz betrieben wird bzw. werden, sowie weniger Module pro Routingeinheit, um die Servicerate zur erhöhen und höherer Baudraten darstellen zu können, wie sie für die Darstellungen generischer serieller Schnittstellen nötig sind. Z.B. könnten Routingeinheit und Recheneinheit (MCS) statt mit 80 MHz mit Frequenzen ab 100 MHz, vorzugsweise ab 200 MHz betrieben werden. Vorzugsweise werden die Frequenzen von Routingeinheit und Recheneinheit (MCS) so ausgelegt, dass Schnittstellen mit 1 MBaud oder höher darstellbar sind.
  • In beiden Varianten gewinnt man durch die mögliche Verschiebung zwischen Schnittstellen-Funktionalität und Timer-Funktionalität an Flexibilität. Z.B können in einer Anwendung in einem Steuergerät mit dem Mikrocontroller unter Ausnutzung eines kombinierten Timer/Schnittstellen-Moduls mit 16 Ausgangsmodulen die Timer-Funktionen für die Steuerung von acht Zylindern eines Motors bereitgestellt werden. Hierzu werden z.B. acht Ausgangsmodule mit Compare-Funktionalität für die Steuerung der Zündung und acht Ausgangsmodule mit Compare-Funktionalität für die Steuerung der Einspritzung jeweils eines Zylinders eingesetzt. Wird der Mikrocontroller mit kombiniertem Timer/Schnittstellen-Modul in einer anderen Anwendung zur Steuerung eines Motors mit vier Zylindern eingesetzt, so werden acht der gerade beschriebenen 16 Ausgangsmodule nicht für die Timer-Funktionen der Steuerung der Zylinder benötigt und sind somit verfügbar, um z.B. die Ausgangssignale von acht seriellen Schnittstellen nachzubilden.
  • Je nach Art der nachzubildenden seriellen Schnittstellen können weitere Hardwarebausteine zusätzlich zu den bereits beschriebenen Modulen und Einheiten nötig sein.
  • Z.B. müssen für bestimmte Protokolle auch CRC-Berechnungen durchgeführt werden, z.B. für PSI5 oder CAN. Bei der CRC (Cyclic Redundancy Check, Zyklische Redundanzprüfung) wird für Daten ein Prüfwert ermittelt und dieser Prüfwert nach Übertragung auf Basis der übertragenen Daten überprüft, um Übertragungs- oder Speicherfehler zu erkennen. Für diese Art von Berechnungen ist die implementierte Recheneinheit (MCS) nicht optimal und müsste gegebenenfalls mit höherer Rechenleistung ausgestattet werden. Im Fall einer Hardwareschaltung mit mehreren Recheneinheiten (MCS), würde zudem jede dieser Recheneinheiten (MCS) mit diesen Zusatzberechnungen belastet. Zudem müssen die CRC-Berechnungen bei einigen Protokollen sehr schnell durchgeführt werden, um gegebenenfalls Aktionen im Protokoll auslösen zu können, z.B. Fehler-Nachrichtenrahmen.
  • Deshalb ist es aus Flächen- und Performancegründen vorteilhaft, die CRC-Berechnungen in einem eigenen Modul durchzuführen. In einer bevorzugten Ausgestaltung der oben beschriebenen Hardwareschaltungen zur Nachbildung serieller Schnittstellen weisen diese entsprechend zusätzlich noch eine separate Einheit zur Berechnung von CRC-Informationen auf. Vorzugsweise führt diese CRC-Prüfeinheit im Fall einer Hardwareschaltung mit mehreren Recheneinheiten (MCS) die Berechnungen zentral für mehrere oder alle diese Recheneinheiten (MCS) durch.
  • Die zusätzliche CRC-Einheit ist in der Lage, die CRC-Berechnungen und CRC-Vergleiche schnell genug auch für die Protokolle mit hohen Anforderungen an Geschwindigkeit bereit zu stellen. Die CRC-Einheit führt dabei vorzugsweise zumindest die Berechnung von CRC-Prüfwerten, gegebenenfalls auch die Überprüfungen von CRC-Prüfwerten durch. Sollte ein CRC-Prüfwert durch die CRC-Einheit als nicht korrekt erkannt werden, kann vorzugsweise durch die Recheneinheit (MCS) eine neue Übertragung veranlasst werden.
  • Die CRC-Prüfeinheit ist vorzugsweise als Hardware-Logikschaltung realisiert, z.B. kann sie hierzu eine XOR-Logik und ein Schieberegister aufweisen. Eine Alternative hierzu wäre eine Realisierung in Software mit Berechnung durch eine (z.B. kleine zusätzliche) Recheneinheit.
  • In 3 ist eine Hardwareschaltung mit einer solchen zusätzlichen CRC-Einheit gezeigt. Der Mikrocontroller 301 entspricht mit den Hardwaremodulen 310, also Eingangsmodul 311, Routingeinheit 312, Recheneinheit (MCS) 313 und Ausgangsmodul 314, weitgehend dem Mikrocontroller 101 in 1. Dateneingangskanal 302 und Datenausgangskanal 303 sind mit Eingangsmodul 311 bzw. Ausgangsmodul 314 verbunden. Zusätzlich zu dem Mikrocontroller 101 in 1 weist Mikrocontroller 301 noch die CRC-Einheit 315 auf, welche in der gezeigten Ausführung mit der Routingeinheit 312 verbunden ist.
  • Die Berechnung eines CRC-Wertes beruht vorzugsweise auf Polynomdivision. Daher sollte die CRC-Einheit über Parameter zumindest zum Start des Mikrocontrollers konfigurierbar sein, so dass verschiedene Polynome dargestellt werden können. Beispielweise kann ein Polynom b7·x7 + b6·x6 + b5·x5 + b4·x4 + b3·x3 + b2·x2 + b1·x1 + b0·x0 über die Konfigurationsparameter b0 bis b7 konfiguriert werden. Um verschiedene Schnittstellen mit verschiedenen CRC-Polynomen unterstützen zu können, muss entweder eine CRC-Einheit flexibel (also zur Laufzeit) umkonfiguriert werden können oder es müssen mehrere CRC-Einheiten vorgesehen sein.
  • Der Ablauf einer Datenübertragung mit CRC-Berechnung durch eine separate CRC-Einheit ist in 11 gezeigt. Hierbei wird das Beispiel einer Berechnung eines CRC-Wertes aus empfangenen Daten beschrieben.
  • In einem ersten Schritt 1101 wird die CRC-Einheit durch die Recheneinheit (MCS) oder die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers konfiguriert. Dies ist nötig, da gewöhnlich für jede Schnittstelle die Berechnung eines anderen Polynoms nötig ist. Wie oben beschrieben können die Polynome durch Konfigurationsparameter bestimmt werden. Bei einem CRC-Modul, welches für die CRC-Berechnungen mehrerer generischer serieller Schnittstellen eingesetzt wird, ist eine solche Konfiguration daher vor jeder Berechnung nötig, sofern nicht zwei aufeinander folgende Berechnungen für die gleiche Schnittstelle durchgeführt werden sollen. Diese Konfiguration der CRC-Einheit kann z.B. auch darüber erfolgen, dass die CRC-Einheit Zugriff auf eine Tabelle mit verschiedenen Polynomen hat, einen Index entsprechend einem Eintrag in dieser Tabelle übertragen bekommt und das Polynom gemäß diesem Eintrag heranzieht.
  • Das CRC-Modul empfängt im zweiten Schritt 1102 die Daten, für die eine CRC-Berechnung durchgeführt werden soll. Die Daten sind z.B. Eingangsdaten mit CRC-Informationen, welche von dem Eingangsmodul empfangen wurden und an die Recheneinheit (MCS) übertragen wurden. Die CRC-Berechnungen in der CRC-Einheit werden im dritten Schritt 1103 durchgeführt. Im vierten Schritt 1104 werden Ergebnisse der CRC-Berechnungen (CRC-Prüfwert-Berechnung und gegebenenfalls Überprüfung) von dem CRC-Modul an die Recheneinheit (MCS) gesendet (CRC-Prüfwert und / oder Ergebnis der CRC-Überprüfung). Vorzugsweise läuft die Übertragung dieser Daten von der Recheneinheit (MCS) zu der CRC-Einheit und von der CRC-Einheit zu der Recheneinheit (MCS) jeweils über die Routingeinheit.
  • Die Recheneinheit (MCS) kann schließlich im fünften Schritt 1105 die von der CRC-Einheit berechneten CRC-Informationen mit den empfangenen CRC-Informationen vergleichen bzw. das Ergebnis der CRC-Überprüfung durch die CRC-Einheit auswerten und so bei einer Abweichung feststellen, dass ein Übertragungs- oder Speicherfehler vorliegt.
  • Durch die Recheneinheit (MCS) kann in einem optionalen sechsten Schritt 1106 eine neue Übertragung getriggert werden, falls durch die Recheneinheit (MCS) ein Übertragungs- oder Speicherfehler festgestellt wurde.
  • Analog läuft auch die CRC-Berechnung für zu sendende Daten ab. Daten werden vorzugsweise nach Konfiguration der CRC-Einheit von der Recheneinheit (MCS) über die Routingeinheit an die CRC-Einheit gesendet. Dort wird eine CRC-Berechnung durchgeführt und das Ergebnis wird von der CRC-Einheit über die Routingeinheit an die Recheneinheit (MCS) übertragen. Dort wird der CRC-Wert den Daten angefügt und die Daten werden dem Ausgangsmodul zur Verfügung gestellt.
  • Die bisher beschriebenen Ausführungsbeispiele gehen entsprechend der Grundkonfiguration (1) davon aus, dass die Hardwareschaltung zur Darstellung generischer, serieller Schnittstellen ein Ausgangsmodul mit Compare-Funktionalität verwendet. In einer anderen Ausführungsvariante kann dagegen auch ein abweichendes Ausgangsmodul ohne Compare-Funktionalität verwendet werden. Ein solches spezielles Modul zur Ausgabe von Schnittstellen-Frames weicht somit von den oben beschriebenen Ausgangsmodulen (TOM, ATOM) der Hardwareschaltung und des Timer-Moduls ab.
  • Die Hardwarerealisierung eines solchen Ausgabe-Hardwaremoduls kann zum Beispiel über einen Zustandsautomaten (State Machine) in Kombination mit einem Speicher erfolgen. Anstelle des zu empfangenden und zu sendenden Bitstroms wie oben beschrieben kann das spezielle Ausgangsmodul einen ganzen Nachrichtenrahmen in seinem Speicher ablegen. Die Routingeinheit kann somit die ganze Nachricht mit einem Sendevorgang an das Ausgangsmodul senden. Die höheren Hardwareanforderungen an die Ausgabeeinheit resultieren damit in einer reduzierten Belastung der Routingeinheit. Zudem ist es mit einer solchen Ausgabeeinheit einfacher, höhere Baudraten bei der Ausgabe von Daten zu erreichen, da diese nicht mehr durch die Taktung der Routingeinheit begrenzt ist. Die Ausgabeeinheit muss in einer bevorzugten Ausführungsform wiederum Zeitinformationen (oder entsprechend Winkelinformationen) zur Verfügung haben. Im Gegensatz zur oben beschriebenen Ausgabeeinheit benötigt diese Ausgabeeinheit nur die Information, zu welchem Zeitpunkt (bzw. zu welchem Winkel) und mit welcher Baudrate die gesamte Nachricht, bzw. der gesamte Nachrichtenrahmen versendet werden muss. Mittels der verfügbaren Zeit- oder Winkelinformation und der dem Ausgabemodul bekannten Baudrate werden dann die Daten versendet. Vorzugsweise erfolgt ein direktes Schreiben der Daten von der Recheneinheit (MCS) oder der zentralen Verarbeitungseinheit (CPU) des Mikrocontrollers in den Speicher der Ausgabeeinheit. Die Ausgabeeinheit bekommt dabei das Signal (Datum) sowie Informationen über die Datenrate und den Sendezeitpunkt.
  • Alternativ kann der Sendevorgang statt über Zeitinformationen auch durch einen konkreten Trigger der Recheneinheit (MCS) oder der zentralen Verarbeitungseinheit (CPU) des Mikrocontrollers an die spezielle Ausgabeeinheit initiiert werden. Die Ausgabeeinheit legt die Daten dann autark am Ausgangspin an.
  • In 4 ist ein Mikrocontroller mit einem speziellen Ausgangsmodul 414 gezeigt. Der Mikrocontroller 401 mit den Hardwarekomponenten 410, also Eingangsmodul 411, Routingeinheit 412, Recheneinheit (MCS) 413 sowie Ausgangsmodul 414 sowie den Verbindungen zu Eingangsdatenkanal 402 und Ausgangsdatenkanal 403, entspricht wiederum weitgehend dem Mikrocontroller 101 in 1. Das Ausgangsmodul 414 weist allerdings erweiterte Funktionalität auf, z.B. Speicherressourcen zum Speichern eines vollständigen Nachrichtenrahmens. In der gezeigten bevorzugten Ausführungsform weist das Ausgangsmodul 414 zudem eine weitere Verbindung zum Mikrocontroller 401 auf. Über diese Verbindung können dem Ausgangsmodul 414 beispielsweise Daten durch die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers 401 zur Verfügung gestellt werden, z.B. durch das oben beschriebene direkte Schreiben der Ausgangsdaten in den Speicher des Ausgangsmoduls 414 durch die zentrale Verarbeitungseinheit (CPU).
  • Der Ablauf einer Datenausgabe mittels einer solchen speziellen Ausgabeeinheit soll im Folgenden anhand einer beispielhaften Übertragung über eine generische Schnittstelle in UART-Konfiguration beschrieben werden:
    • 1. Die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers oder die Recheneinheit (MCS) schreibt den Nachrichtenrahmen 01111111111 in einen Speicher der Ausgabeeinheit. Dies entspricht einem Startbit (0), 8 Datenbits (11111111), einem Paritätsbit (1, im Fall einer odd parity) sowie einem Stoppbit (1).
    • 2. Die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers oder die Recheneinheit (MCS) schreibt die Datenrate des auszugebenden Nachrichtenrahmens in ein Register der Ausgabeeinheit.
    • 3. Die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers oder die Recheneinheit (MCS) sendet einen Trigger an die Ausgabeeinheit, um die Übertragung zu starten. In einer weiteren Variante startet die Übertragung nach Erhalt des Nachrichtenrahmens nach einer vorgegebenen Anzahl von Übertragungsvorgängen. In einer weiteren Variante überträgt die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers oder die Recheneinheit (MCS) einen Zeitpunkt, zu welchem die Übertragung erfolgen bzw. starten soll.
    • 4. Die Ausgabeeinheit gibt den Nachrichtenrahmen mit der gewählten Datenrate autark aus.
  • Bei den beschriebenen Ausführungsbeispielen mit spezieller Ausgabeeinheit werden die Recheneinheit (MCS) oder die zentrale Verarbeitungseinheit (CPU) zusätzlich belastet, z.B. durch Schreiben der Informationen in die Ausgabeeinheit und Triggern des Sendevorgangs. In einer weiteren vorteilhaften Ausführungsvariante erhält daher die Ausgabeeinheit die zu sendenden Daten bzw. Nachrichtenrahmen durch selbstständiges Nachladen aus einem Speicher. Z.B. kann ein solches selbstständiges Nachladen aus einem RAM erfolgen, auf welchen die Ausgabeeinheit über verkettete Listen und einen DMA (Direct Memory Access) Zugriff hat. So können auch größerer Datenpakete mit hohen Geschwindigkeiten ohne Belastung (Interrupts) von Recheneinheit (MCS) oder zentraler Verarbeitungseinheit (CPU) des Mikrocontrollers ausgegeben werden.
  • In den beschriebenen Ausführungsbeispielen mit spezieller Ausgabeeinheit wird zunächst davon ausgegangen, dass die übrigen Verfahrensschritte (Datenempfang durch das Eingangsmodul, Routing durch die Routingeinheit, Protokollberechnung durch die Recheneinheit (MCS), gegebenenfalls CRC-Berechnung durch die CRC-Einheit) weiterhin wie oben beschrieben ablaufen bzw. die übrige Hardwareschaltung (Eingangsmodul, Routingeinheit, Recheneinheit (MCS), gegebenenfalls CRC-Einheit) weiterhin wie oben beschrieben aufgebaut ist.
  • In einer weiteren Variante der Hardwareschaltung zur Bereitstellung generischer serieller Schnittstellen weisen die bereits beschriebenen Ausführungsformen zusätzlich einen weiteren Hardwarebaustein auf, der zu einer Nachrichten-Arbitrierung eingesetzt wird. Der Baustein nimmt dabei zeitkritische Funktionen wahr, für welche die übrigen Schaltungsteile aufgrund ihrer Struktur und Taktfrequenz nicht optimal eingesetzt werden können.
  • Vorzugsweise handelt es sich dabei um einen Baustein, der eingesetzt wird, um eine CAN-Arbitrierung zu unterstützen. Für die CAN-Arbitrierung muss bei entsprechend hoher Datenrate innerhalb von wenigen Nanosekunden interner Verarbeitungszeit (IPT) erkannt werden, dass auf dem Bus ein dominanter Pegel anliegt. Bei einem dominanten Pegel auf dem Bus darf die Schnittstelle beim nächsten Bit (im nächsten Taktabschnitt) keinen dominanten Pegel treiben, wenn im aktuellen Bit (im aktuellen Taktabschnitt) in der Schnittstelle ein rezessives Bit vorliegt. In diesem Fall ist die Schnittstelle (und damit der entsprechende CAN-Knoten) aus der Arbitrierung ausgeschieden, da ein anderer CAN-Knoten eine Nachricht höherer Priorität (also mit früherem dominanten Pegel) aufweist. Für diese Funktionalität sind die oben zu 1 beispielhaft beschriebenen Hardwarekomponenten nicht optimal. Daher sind schnellere Reaktionszeiten mit einem spezifisch hierfür vorgesehenen Modul erreichbar.
  • In 7 sind zur Illustration der CAN-Arbitrierung das am CAN-Bus anliegende Signal 701 sowie das Mikrocontroller-intern vorliegende, zu sendende Signal 702 abgebildet. Von links nach rechts sind mit gestrichelten Linien vier Taktabschnitte abgegrenzt. In Taktabschnitt 1 liegt sowohl am Bus als auch als internes Signal ein rezessiver Pegel vor. Im Taktabschnitt 2 liegt am Bus ein dominanter Pegel an, das interne Signal weist für diesen Taktabschnitt einen rezessiven Pegel auf. Damit ist dieser Knoten aus der Arbitrierung ausgeschieden. Durch die Hardwareeinheit zur Arbitrierung wird somit nun ein Treiben des vorgesehenen dominanten Pegels in Taktabschnitt 3 unterbunden. Entsprechend darf der Knoten auch nicht mehr in Taktabschnitt 4 und den folgenden Taktabschnitten senden, bis zum Ende derjenigen Übertragung auf dem CAN-Bus, welche die Arbitrierung gewonnen hat.
  • 6 zeigt einen Mikrocontroller 601 mit Hardwaremodulen 610 zur Bereitstellung einer generischen seriellen Schnittstelle, insbesondere einer CAN-Schnittstelle, sowie mit einer zusätzlicher Hardwareeinheit 630 für die Arbitrierung von Nachrichten über diese Schnittstelle. Der Mikrocontroller 601 mit den Hardwarekomponenten 610, also Eingangsmodul 611, Routingeinheit 612, Recheneinheit (MCS) 613 sowie Ausgangsmodul 614, entspricht wiederum weitgehend dem Mikrocontroller 101 in 1. Zusätzlich ist der Mikrocontroller 601 aber mit dem (in diesem Beispiel externen) Hardwaremodul für die Arbitrierung 630 verbunden. Der Eingangsdatenkanal 602 ist insbesondere eine CAN-Rx-Leitung, der Ausgangsdatenkanal 603 eine CAN-Tx-Leitung. Die zusätzliche Hardwareeinheit 630 ist vorzugsweise eine externe Logikschaltung, die das Senden des Knoten abschaltet, sobald ein entsprechendes Signal empfangen wird. Im Fall einer CAN-Arbitrierung wäre eine solche Sendeunterbrechung z.B. vorzunehmen, sobald ein dominanter Pegel auf dem Bus anliegt und die eigene Information zur gleichen Takteinheit rezessiv ist. Das Modul 630 kann z.B. als Logikschaltung durch Gatterfunktionen, eine programmierbare Logikeinheit (PLD) oder ein Field Programmable Gate Array (FPGA) realisiert sein.
  • In 6 ist noch ein zweites Ausgangsmodul 615 gezeigt. Dieses kann die zusätzliche Hardwareeinheit zur Arbitrierung 630 mit der Bereitstellung von Timer-Ressourcen unterstützen. Solche Ressourcen werden z.B. benötigt, um eine bestimmte Bitlänge abzuwarten oder eine bestimmte Pause einzuhalten. Eine alternative Implementierung wäre, diese Timer-Ressourcen ebenfalls als zusätzliche Hardwareschaltung vorzusehen.
  • Die zusätzliche Hardwareeinheit zur Arbitrierung kann vorzugsweise über eine konfigurierbare Logik flexibel verschiedenen Ausgangsmodulen zugeordnet werden. Allerdings ist auch eine feste Zuordnung möglich.
  • Die zusätzliche Hardwareeinheit zur Arbitrierung liegt vorzugsweise als programmierbare Logik (z.B. FPGA oder CPLD) außerhalb des Mikrocontrollers vor. Durch eine Integration solcher programmierbarer Logikschaltungen ist allerdings auch eine alternative Implementierung auf dem Mikrocontroller möglich.
  • Die spezielle Hardwareeinheit zur Arbitrierung kann mit weiteren Mess- und Auswertefunktionen ausgestattet sein. In einer bevorzugten Variante erkennt eine solche Einheit zur CAN-Arbitrierung z.B. auch, ob es sich bei dem verwendeten Protokoll um CAN oder CAN-FD (CAN mit flexibler Datenrate) handelt.
  • In den beschriebenen Ausführungsbeispielen mit spezieller Hardwareeinheit für die Arbitrierung wird zunächst davon ausgegangen, dass die übrigen Verfahrensschritte (Dateneingang im Eingangsmodul, Datenausgabe durch das Ausgangsmodul, Routing durch die Routingeinheit, Protokollberechnung durch die Recheneinheit (MCS), gegebenenfalls CRC-Berechnung durch die CRC-Einheit) weiterhin wie oben beschrieben ablaufen bzw. die übrige Hardwareschaltung (Eingangsmodul, Ausgangsmodul, Routingeinheit, Recheneinheit (MCS), gegebenenfalls CRC-Einheit) weiterhin wie oben zu 1 beschrieben aufgebaut ist. Die spezielle Hardwareeinheit zur Arbitrierung ist aber problemlos auch mit den Ausführungsbeispielen mit speziellem Eingangsmodul und / oder speziellem Ausgangsmodul kombinierbar.
  • In einer weiteren bevorzugten Variante kann in den bisher beschriebenen Ausführungsformen zusätzlich noch eine Baudratenerkennung implementiert werden. Eine solche Baudratenerkennung würde es z.B. ermöglichen, auf verschiedene Baudraten zu adaptieren.
  • Die Baudratenerkennung kann in Software oder Hardware implementiert werden. Bei einer Softwarerealisierung kann z.B. aus den Capture-Informationen des Eingangsmoduls eine Baudratenerkennung durch die Recheneinheit (MCS) oder die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers erfolgen. Eine Eingangsfrequenz von Daten kann hierbei vermessen und durch Nachstellen einer Bezugsfrequenz die Baudrate ermittelt werden. Dazu müssen komplette Nachrichtenrahmen analysiert werden, was in einer Softwarerealisierung zeitaufwendig ist.
  • In einer bevorzugten alternativen Ausführung wird die Baudatenerkennung in Hardware durchgeführt. Dies kann entweder in einer zusätzlichen Hardwareschaltung erfolgen oder in einem mit entsprechender Zusatzfunktionalität ausgestatteten, speziellen Eingangsmodul, wie es oben (z.B. zu 5) beschrieben ist. Mit einer Hardwarerealisierung ist im Vergleich zur Softwarerealisierung eine schnellere Baudratenerkennung und -adaption möglich, zudem werden Recheneinheit (MCS) oder zentrale Verarbeitungseinheit (CPU) weniger belastet.
  • In 10 ist ein entsprechendes Ablaufdiagramm für die in Hardware realisierte Baudratenerkennung am Beispiel einer generischen UART-Schnittstelle dargestellt.
  • Der grundsätzliche Aufbau eines Nachrichtenrahmen im vorgesehenen Protokoll ist bekannt, z.B. ist im vorliegenden Beispiel bekannt, das ein Nachrichtenrahmen immer mit einem Startbit mit niedrigem Pegel beginnt und mit einem Stoppbit mit hohem Pegel endet. In einem ersten Schritt 1001 zur Ermittlung der Baudrate werden durch die entsprechende Hardwarefunktionalität eine Anzahl von Takten zwischen Startbit und Stoppbit (also der ersten High-Low-Flanke bis zur letzten Low-High-Flanke) gezählt. Die Taktanzahl wird dabei vorzugsweise aus einer Zeitbasis abgeleitet, welche der Hardwarefunktionalität einen Takt zur Verfügung stellt (z.B. aus einer Zeitbasiseinheit) und welche klein gegenüber der einzulesenden Baudrate ist.
  • Die Länge (d.h. Bitanzahl) des Nachrichtenrahmens ist der Hardwarefunktionalität bekannt. Für das beispielsweise angenommene Protokoll sei bekannt, dass ein Nachrichtenrahmen zehn Bits aufweist (z.B. Startbit, acht Datenbits, Stoppbit). Die ermittelte Anzahl der verstrichenen Takte von Startbit bis Stoppbit wird im zweiten Schritt 1002 durch die Anzahl der Bits eines Nachrichtrahmens (im Beispiel durch zehn) geteilt. Die somit ermittelte Baudrate kann im dritten Schritt 1003 übermittelt werden, z.B. an die Recheneinheit (MCS) oder die zentrale Verarbeitungseinheit (CPU) des Mikrocontrollers.
  • Während zum Beispiel im Fall einer darzustellenden UART- oder LIN-Schnittstelle die Frame-Lange immer konstant und damit bekannt sein kann, kann zum Beispiel im Fall von CAN die Länge (also Bitanzahl) des Nachrichtenrahmens unbekannt sein. In einer Variante der beschrieben Baudratenerkennung kann auch hier die Baudrate in Hardware erkannt werden. Beispielsweise kann die kürzeste Zeit zwischen zwei Bits eines Nachrichtenrahmens ermittelt werden.
  • Zur Erkennung der Baudrate müssen Anfang und Ende eines Nachrichtenrahmens ermittelt werden können. Das kann beispielsweise durch eine festgelegte Taktanzahl, z.B. drei Takte (bei konstanter Baudrate entsprechend einer festen Zeit, z.B. 150 ns) für einen bestimmten Pegel erfolgen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • WO 2006013212 A1 [0003]
    • WO 2011120823 A1 [0040, 0043, 0043]

Claims (29)

  1. Verfahren zur Bereitstellung mindestens einer generischen Schnittstelle in einem Steuergerät, insbesondere für ein Fahrzeug, wobei das Steuergerät einen Mikrocontroller (501) aufweist, welcher über eine zentrale Verarbeitungseinheit (CPU), über mindestens ein schnittstellenunspezifisches Eingangsmodul (511), über mindestens ein schnittstellenunspezifisches Ausgangsmodul (514), mindestens eine Routingeinheit (512) sowie zur Verarbeitung schnittstellenspezifischer Informationen über mindestens eine Recheneinheit (513) verfügt, und wobei die mindestens eine generische Schnittstelle konfigurierbar ist, je nach Konfiguration Funktionen entsprechend einer von mehreren seriellen Schnittstellen, insbesondere von SPI, UART, LIN, CAN, PSI5, FlexRay, SENT, I2C, MSC oder Ethernet, bereitzustellen, gekennzeichnet durch die folgenden Schritte: – Eingangsdaten entsprechend einem Protokoll der einen der mehreren seriellen Schnittstellen werden über das mindestens eine schnittstellenunspezifische Eingangsmodul (511) empfangen, wobei ein gesamter Eingangs-Nachrichtenrahmen der Eingangsdaten in dem mindestens einen schnittstellenunspezifischen Eingangsmodul (511) gespeichert wird, – der gesamte Eingangs-Nachrichtenrahmen der Eingangsdaten wird der Recheneinheit (513) zur Verfügung gestellt, – von der mindestens einen Recheneinheit (513) werden erste Nutzdaten aus den Eingangsdaten extrahiert, insbesondere durch die Entfernung von Protokollspezifika des Protokolls aus den Eingangsdaten. – die ersten Nutzdaten werden der zentralen Verarbeitungseinheit (CPU) zur Verfügung gestellt, – zweite Nutzdaten der zentralen Verarbeitungseinheit (CPU) werden von der mindestens einen Recheneinheit (513) empfangen, – von der mindestens einen Recheneinheit (513) werden Ausgangsdaten aus den zweiten Nutzdaten erzeugt, insbesondere durch Hinzufügen von Protokollspezifika des Protokolls zu den zweiten Nutzdaten, – die Ausgangdaten werden über die Routingeinheit (512) an das mindestens eine schnittstellenunspezifische Ausgangsmodul (514) übertragen, – die Ausgangsdaten entsprechend dem Protokoll der einen der mehreren seriellen Schnittstellen werden über das mindestens eine schnittstellenunspezifische Ausgangsmodul (514) versendet.
  2. Verfahren nach Anspruch 1, bei welchem der Eingangs-Nachrichtenrahmen der Recheneinheit (513) über die Routingeinheit (512) oder durch Schreiben in einen Speicher (516) oder durch direkten Speicherzugriff (DMA) zur Verfügung gestellt wird.
  3. Verfahren nach einem der Ansprüche 1 oder 2, bei welchem durch das mindestens eine schnittstellenunspezifische Eingangsmodul (511) der Eingangs-Nachrichtenrahmen mittels Überabtastung analysiert wird.
  4. Verfahren nach Anspruch 3, bei welchem ein Pegel eines Bits des Eingangs-Nachrichtenrahmens durch Voting über Bitpegel aufgrund von Pegelwerten an Abtastpunkten der Überabtastung bestimmt wird.
  5. Verfahren nach Anspruch 4, bei welchem das Voting durch eine in Hardware realisierte Abstimmungsinstanz des Eingangsmoduls durchgeführt wird.
  6. Verfahren nach einem der Ansprüche 4 oder 5, bei welchem das Eingangsmodul eine Abstimmungsinformation darüber, wie deutlich das Voting ausgefallen ist, ermittelt und der Recheneinheit (511) oder der zentralen Verarbeitungseinheit zur Verfügung stellt.
  7. Verfahren nach einem der vorangegangenen Ansprüche, bei welchem in dem mindestens einen schnittstellenunspezifischen Eingangsmodul (511) dem Eingangs-Nachrichtenrahmen ein Zeitstempel zugewiesen wird.
  8. Verfahren nach Anspruch 7, bei welchem der dem Eingangs-Nachrichtenrahmen zugewiesene Zeitstempel der Recheneinheit (511) zur Verfügung gestellt wird.
  9. Verfahren nach einem der vorangegangenen Ansprüche, wobei eine Baudratenerkennung für die Eingangsdaten durchgeführt wird. Verfahren nach Anspruch 9, wobei die Baudratenerkennung für die Eingangsdaten durch das mindestens eine schnittstellenunspezifische Eingangsmodul (511) durchgeführt wird.
  10. Verfahren nach einem der vorangegangenen Ansprüche, wobei die Recheneinheit (513) Zugriff auf einen ersten Speicher hat und in dem ersten Speicher die Protokollspezifika, insbesondere Informationen über eines von Startbits, Stoppbits, Paritätsinformationen, Steuerbits und Füllbits, abgelegt sind.
  11. Verfahren nach Anspruch 11, wobei die Protokollspezifika von der zentralen Verarbeitungseinheit (CPU) in dem ersten Speicher abgelegt werden.
  12. Verfahren nach einem der vorangegangenen Ansprüche, wobei das mindestens eine schnittstellenunspezifische Eingangsmodul (511) und das mindestens eine schnittstellenunspezifische Ausgangsmodul (514) durch die Konfiguration fest der einen der mehreren seriellen Schnittstellen zugeordnet sind.
  13. Verfahren nach einem der vorangegangenen Ansprüche, wobei die Recheneinheit (513) auch Berechnungen höherer Protokollschichten, insbesondere die Umrechnungen mehrerer UART-Nachrichtenrahmen in einen LIN-Nachrichtenrahmen, vornimmt.
  14. Verfahren nach einem der vorangegangenen Ansprüche, wobei die ersten Nutzdaten der zentralen Verarbeitungseinheit (CPU) zur Verfügung gestellt werden, indem die Recheneinheit (513) die ersten Nutzdaten in einen zweiten Speicher schreibt und die zentrale Verarbeitungseinheit (CPU) darüber durch einen Interrupt informiert wird.
  15. Verfahren nach einem der vorangegangenen Ansprüche, wobei die ersten Nutzdaten der zentralen Verarbeitungseinheit (CPU) durch die Recheneinheit (513) über einen Speicherdirektzugriff (DMA) zur Verfügung gestellt werden.
  16. Verfahren nach einem der vorangegangenen Ansprüche, wobei die Recheneinheit (513) aus den zweiten Nutzdaten die Ausgangsdaten erzeugt, indem sie auf Basis einer vorgegebenen Baudrate entsprechende Flankenwechsel der Ausgangsdaten mit zugeordneten Zeitstempeln bestimmt.
  17. Verfahren nach Anspruch 17, wobei die Ausgabedaten an das mindestens eine schnittstellenunspezifische Ausgangsmodul (514) übertragen werden, indem über die Routingeinheit (512) jeder der Flankenwechsel der Ausgangsdaten mit zugeordnetem Zeitstempel separat übertragen wird.
  18. Verfahren nach einem der Ansprüche 17 oder 18, wobei das mindestens eine schnittstellenunspezifische Ausgangsmodul (514) die zugeordneten Zeitstempel jedes der Flankenwechsel der Ausgangsdaten mit Zeitinformationen vergleicht und bei Übereinstimmung die entsprechende Flanke an einem Ausgang des Mikrocontrollers (501) anlegt.
  19. Mikrocontroller (501) für ein Steuergerät, insbesondere für ein Fahrzeugsteuergerät, mit einer zentralen Verarbeitungseinheit (CPU), mindestens einem schnittstellenunspezifischen Eingangsmodul (511), mindestens einem schnittstellenunspezifischen Ausgangsmodul (514), mindestens einer Routingeinheit (512) sowie mit mindestens einer Recheneinheit (513) zur Verarbeitung schnittstellenspezifischer Informationen, dadurch gekennzeichnet, dass der Mikrocontroller (501) eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 19 durchzuführen.
  20. Mikrocontroller (501) für ein Steuergerät, insbesondere für ein Fahrzeugsteuergerät, mit einer zentralen Verarbeitungseinheit (CPU), mindestens einem schnittstellenunspezifischen Eingangsmodul (511), mindestens einem schnittstellenunspezifischen Ausgangsmodul (514), mindestens einer Routingeinheit (512) sowie mit mindestens einer Recheneinheit (513) zur Verarbeitung schnittstellenspezifischer Informationen, dadurch gekennzeichnet, dass der Mikrocontroller (513) derart konfigurierbar ist, dass das mindestens eine schnittstellenunspezifische Eingangsmodul (511), das mindestens eine schnittstellenunspezifische Ausgangsmodul (514), die mindestens eine Routingeinheit (512) sowie die mindestens eine Recheneinheit (513) zur Verarbeitung schnittstellenspezifischer Informationen die Funktionen entsprechend einer von mehreren seriellen Schnittstellen, insbesondere von SPI, UART, LIN, CAN, PSI5, FlexRay, SENT, I2C, MSC oder Ethernet, erfüllen und dass das mindestens eine schnittstellenunspezifische Eingangsmodul (511) einen gesamten Eingangs-Nachrichtenrahmen von Eingangsdaten speichert und der mindestens einen Recheneinheit (513) oder der zentralen Verarbeitungseinheit (CPU) zur Verfügung stellt. Mikrocontroller (501) nach Anspruch 20 oder 21, bei welchem das mindestens eine schnittstellenunspezifische Eingangsmodul (511) Zugriff auf einen Speicher hat, insbesondere einen eigenen Speicher aufweist, mit einer Speicherkapazität ausreichend für maximal große Nachrichtenrahmen jedes Protokolls entsprechend den mehreren seriellen Schnittstellen.
  21. Mikrocontroller (501) nach einem der Ansprüche 20 bis 22, welcher einen Speicher, insbesondere einen FIFO-Speicher (516) aufweist, über welchen das mindestens eine schnittstellenunspezifische Eingangsmodul (511) der Recheneinheit (513) oder der zentralen Verarbeitungseinheit (CPU) den Eingangs-Nachrichtenrahmen der Eingangsdaten zur Verfügung stellen kann.
  22. Mikrocontroller (501) nach einem der Ansprüche 20 bis 23, bei welchen die Recheneinheit (513) eine Arithmetische Logikeinheit (ALU) aufweist.
  23. Mikrocontroller (501) nach einem der Ansprüche 20 bis 24, bei welchem das mindestens eine schnittstellenunspezifische Ausgangsmodul (514) eine Compare-Funktionalität aufweist.
  24. Mikrocontroller (501) nach einem der Ansprüche 20 bis 25, bei welchem die Routingeinheit (512) und/oder die Recheneinheit (513) mit einem Takt von mindestens 100 MHz, insbesondere mit einem Takt von mindestens 200 MHz, arbeiten.
  25. Mikrocontroller (501) nach einem der Ansprüche 20 bis 26, welcher eingerichtet ist, über das mindestens eine schnittstellenunspezifische Eingangsmodul (511) Eingangsdaten mit einer Eingangs-Baudrate von mindestens 1MBaud zu empfangen sowie über das mindestens eine schnittstellenunspezifische Ausgangsmodul (514) Ausgangsdaten mit einer Ausgangs-Baudrate von mindestens 1 MBaud zu senden.
  26. Mikrocontroller (501) nach einem der Ansprüche 20 bis 27, welcher neben dem mindestens einen schnittstellenunspezifischen Eingangsmodul (511) und dem mindestens einen schnittstellenunspezifischen Ausgangsmodul (514) auch mindestens ein schnittstellenspezifisches Eingangsmodul und mindestens ein schnittstellenspezifisches Ausgangsmodul aufweist.
  27. Mikrocontroller (201) nach einem der Ansprüche 20 bis 28, welcher zusätzlich ein Timer-Modul (230) mit einem Timer-Eingangsmodul (231), einem Timer-Ausgangsmodul (234), einer Timer-Routingeinheit (232) und einer Timer-Recheneinheit (233) aufweist.
  28. Mikrocontroller (201) nach Anspruch 29, wobei der Mikrocontroller (501) eingerichtet ist, Timer-Funktionen des Timermoduls (230) mit dem mindestens einen schnittstellenunspezifischen Eingangsmodul (511), dem mindestens einen schnittstellenunspezifischen Ausgangsmodul (514), der mindestens einen Recheneinheit (513) und der Routingeinheit (512) durchzuführen, wenn diese nicht benötigt werden, die Funktionen entsprechend einer der mehreren seriellen Schnittstellen zu erfüllen.
  29. Fahrzeugsteuergerät mit einem Mikrocontroller nach einem der Ansprüche 20 bis 30.
DE102013210182.1A 2013-05-29 2013-05-31 Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle Pending DE102013210182A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102013210182.1A DE102013210182A1 (de) 2013-05-29 2013-05-31 Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
US14/288,028 US10002094B2 (en) 2013-05-29 2014-05-27 Method for providing a generic interface and microcontroller having a generic interface
CN201410229701.2A CN104219333A (zh) 2013-05-29 2014-05-28 用于提供通用接口的方法以及具有通用接口的微控制器
KR1020140064520A KR102202408B1 (ko) 2013-05-29 2014-05-28 제네릭 인터페이스를 제공하기 위한 방법 및 제네릭 인터페이스를 구비한 마이크로컨트롤러

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102013210062.0 2013-05-29
DE102013210062 2013-05-29
DE102013210182.1A DE102013210182A1 (de) 2013-05-29 2013-05-31 Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle

Publications (1)

Publication Number Publication Date
DE102013210182A1 true DE102013210182A1 (de) 2014-12-04

Family

ID=51899367

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013210182.1A Pending DE102013210182A1 (de) 2013-05-29 2013-05-31 Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle

Country Status (4)

Country Link
US (1) US10002094B2 (de)
KR (1) KR102202408B1 (de)
CN (1) CN104219333A (de)
DE (1) DE102013210182A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10106171B2 (en) 2015-07-28 2018-10-23 Crown Equipment Corporation Vehicle control module with signal switchboard and output tables
DE102020213893A1 (de) 2020-11-04 2022-05-05 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Erkennung eines unerlaubten physischen Zugriffs auf ein Bussystem
DE102020214099A1 (de) 2020-11-10 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Erkennung eines unerlaubten physischen Zugriffs auf ein Bussystem
DE102021210429A1 (de) 2021-09-20 2023-03-23 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erkennen einer Manipulation eines Bussystems
DE102022207911A1 (de) 2022-08-01 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erkennen eines Angriffs auf einen zu sichernden Busteilnehmer, Überwachungseinheit und Bussystem

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016211769A1 (de) * 2016-06-29 2018-01-04 Robert Bosch Gmbh Mikrocontroller für einen Feldbus
US10872055B2 (en) * 2016-08-02 2020-12-22 Qualcomm Incorporated Triple-data-rate technique for a synchronous link
CN114363108A (zh) * 2021-12-30 2022-04-15 广州金升阳科技有限公司 Can网桥通信系统、方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006013212A1 (de) 2004-08-05 2006-02-09 Robert Bosch Gmbh Flexray communication controller
WO2011120823A1 (en) 2010-03-31 2011-10-06 Robert Bosch Gmbh Circuit arrangement for a data processing system and method for data processing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491713A (en) * 1993-04-28 1996-02-13 Hughes Aircraft Company Minimized oversampling Manchester decoder
EP0918421B1 (de) * 1997-11-13 2000-05-17 Optimay GmbH Baudratendetektion bei serieller Datenübertragung
US20030014579A1 (en) * 2001-07-11 2003-01-16 Motorola, Inc Communication controller and method of transforming information
US7412588B2 (en) * 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
CN101136000B (zh) * 2006-09-01 2011-01-05 飞思卡尔半导体公司 实现sd主机/从属设备的应用处理器电路和电子设备
DE102007044803A1 (de) * 2007-09-20 2009-04-09 Robert Bosch Gmbh Schaltungsanordnung zur Signalaufnahme und -erzeugung sowie Verfahren zum Betreiben dieser Schaltungsanordnung
CN101770442B (zh) * 2008-12-30 2012-10-10 易视芯科技(北京)有限公司 具有多个外设接口的数据交互系统和方法
DE102011007437A1 (de) * 2010-11-15 2012-05-16 Continental Teves Ag & Co. Ohg Verfahren und Schaltungsanrodnung zur Datenübertragung zwischen Prozessorbausteinen

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006013212A1 (de) 2004-08-05 2006-02-09 Robert Bosch Gmbh Flexray communication controller
WO2011120823A1 (en) 2010-03-31 2011-10-06 Robert Bosch Gmbh Circuit arrangement for a data processing system and method for data processing

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10106171B2 (en) 2015-07-28 2018-10-23 Crown Equipment Corporation Vehicle control module with signal switchboard and output tables
US10427692B2 (en) 2015-07-28 2019-10-01 Crown Equipment Corporation Vehicle control module with signal switchboard and input tables
DE102020213893A1 (de) 2020-11-04 2022-05-05 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Erkennung eines unerlaubten physischen Zugriffs auf ein Bussystem
US11709971B2 (en) 2020-11-04 2023-07-25 Robert Bosch Gmbh Method for detecting an unauthorized physical access to a bus system
DE102020214099A1 (de) 2020-11-10 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Erkennung eines unerlaubten physischen Zugriffs auf ein Bussystem
US11899785B2 (en) 2020-11-10 2024-02-13 Robert Bosch Gmbh Method for detecting an unauthorized physical access to a bus system
DE102021210429A1 (de) 2021-09-20 2023-03-23 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erkennen einer Manipulation eines Bussystems
DE102022207911A1 (de) 2022-08-01 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erkennen eines Angriffs auf einen zu sichernden Busteilnehmer, Überwachungseinheit und Bussystem

Also Published As

Publication number Publication date
CN104219333A (zh) 2014-12-17
KR20140140507A (ko) 2014-12-09
US10002094B2 (en) 2018-06-19
US20140359180A1 (en) 2014-12-04
KR102202408B1 (ko) 2021-01-13

Similar Documents

Publication Publication Date Title
DE102013210064A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102013210077A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102013210182A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE3422363C2 (de)
DE19815715C2 (de) Elektronisches, datenbusfähiges Fahrzeugsteuergerät
DE102010049534B4 (de) Kopplungseinheiten, System mit einer Kopplungseinheit und Verfahren zur Anwendung in einem System mit einer Kopplungseinheit
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
DE102011007437A1 (de) Verfahren und Schaltungsanrodnung zur Datenübertragung zwischen Prozessorbausteinen
EP0784820B1 (de) Vorrichtung und verfahren zur steuerung eines datenbusses
DE102016000126A1 (de) Serielles Bussystem mit Koppelmodulen
DE102012205163A1 (de) Kommunikationsanordnung und Verfahren zum Debugging bzw. zur Programmierung eines oder mehrerer Teilnehmer der Kommunikationsanordnung
DE102013218075A1 (de) Vorrichtung und Messverfahren zur Ermittlung der internen Verzögerungszeit einer CAN-Busanschlusseinheit
EP1315337B1 (de) Bus-Interface
EP3149710B1 (de) Fahrzeugdiagnosevorrichtung und datenübertragungsvorrichtung
DE102010003538A1 (de) Verfahren zur Überprüfung von Signal- und Modulaktivitäten in einem Timermodul und Timermodul
DE102013210066A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle mit CRC-Funktionalität sowie Mikrocontroller mit generischer Schnittstelle und CRC-Einheit
WO2011120798A1 (de) Hardware-datenverarbeitungseinheit und verfahren zur überwachung einer rundendauer einer routingeinheit
DE102014101141A1 (de) Empfängerarchitektur
DE102013210093A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
WO2012110541A1 (de) Verfahren zum übertragen von daten über einen synchronen seriellen datenbus
WO2009021816A1 (de) Kommunikationsverfahren und schnittstelle zwischen einem begleit-chip und einem mikrocontroller
DE102007049044A1 (de) Vorrichtung und Verfahren zum Datenaustausch zwischen mindestens zwei Funktionsmodulen einer integrierten Schaltung
DE102013210088A1 (de) Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102017002806B4 (de) Koppler für ein Automatisierungssystem
DE102017216991B4 (de) Kommunikationsbaustein und Vorrichtung zur Datenübertragung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029100000

Ipc: H04L0069320000