DE102017216991A1 - Communication module and device for data transmission - Google Patents

Communication module and device for data transmission Download PDF

Info

Publication number
DE102017216991A1
DE102017216991A1 DE102017216991.5A DE102017216991A DE102017216991A1 DE 102017216991 A1 DE102017216991 A1 DE 102017216991A1 DE 102017216991 A DE102017216991 A DE 102017216991A DE 102017216991 A1 DE102017216991 A1 DE 102017216991A1
Authority
DE
Germany
Prior art keywords
communication module
line
data
communication
messages
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.)
Granted
Application number
DE102017216991.5A
Other languages
German (de)
Other versions
DE102017216991B4 (en
Inventor
Stefan Meckl
Christian Fruth
Olaf Zappa
Andrei Botoaca
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.)
Continental Automotive Technologies GmbH
Original Assignee
Continental Automotive 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 Continental Automotive GmbH filed Critical Continental Automotive GmbH
Priority to DE102017216991.5A priority Critical patent/DE102017216991B4/en
Publication of DE102017216991A1 publication Critical patent/DE102017216991A1/en
Application granted granted Critical
Publication of DE102017216991B4 publication Critical patent/DE102017216991B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

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

Abstract

Kommunikationsbaustein (21) der dazu ausgebildet ist als Slave betrieben zu werden und mit einem zweiten Kommunikationsbaustein (22) verbunden zu werden, der dazu ausgebildet ist als Master betrieben zu werden, wobei der erste Kommunikationsbaustein (21) eine erste Leitung (CLK) zum Empfangen eines Taktsignals von dem zweiten Kommunikationsbaustein (22), eine zweite Leitung (MOSI) zum Empfangen von Daten, eine dritte Leitung (MISO) zum Senden von Daten und eine vierte Leitung (CS) aufweist, über welche der erste Kommunikationsbaustein (21) durch den zweiten Kommunikationsbaustein (22) aktiviert werden kann. Der Kommunikationsbaustein (21) weist weiterhin wenigstens eines auf von einer fünften Leitung (BUSY) zum Ausgeben eines ersten Signals welches Informationen darüber enthält, ob der erste Kommunikationsbaustein (21) dazu bereit ist Daten zu empfangen, und einer sechsten Leitung (IRQ) zum Ausgeben eines zweiten Signals welches Informationen darüber enthält, ob der erste Kommunikationsbaustein (21) Daten senden möchte.Communication module (21) which is designed to be operated as a slave and to be connected to a second communication module (22), which is designed to be operated as a master, wherein the first communication module (21) a first line (CLK) for receiving a clock signal from the second communication module (22), a second line (MOSI) for receiving data, a third line (MISO) for transmitting data and a fourth line (CS) via which the first communication module (21) through the second communication block (22) can be activated. The communication module (21) further comprises at least one of a fifth line (BUSY) for outputting a first signal containing information on whether the first communication device (21) is ready to receive data and a sixth line (IRQ) for outputting a second signal containing information about whether the first communication module (21) wants to send data.

Description

Die Erfindung betrifft einen Kommunikationsbaustein und eine Vorrichtung zur Datenübertragung, insbesondere einen Kommunikationsbaustein für eine Serial Peripheral Interface-Schnittstelle (SPI-Schnittstelle).The invention relates to a communication module and a device for data transmission, in particular a communication module for a serial peripheral interface interface (SPI interface).

Das Serial Peripheral Interface (SPI) ist ein Bus-System mit einem Standard für einen synchronen seriellen Datenbus (Synchronous Serial Port), mit dem digitale Schaltungen nach dem Master-Slave-Prinzip miteinander verbunden werden können. Eine SPI ermöglicht den seriellen (ein Bit nach dem anderen) Austausch von Daten zwischen zwei Bausteinen, von denen einer als Master und der andere als Slave bezeichnet wird. Eine SPI kann im Vollduplex-Modus betrieben werden, das heißt, dass Daten gleichzeitig in beiden Richtungen übertragen werden können. Beispielsweise können Steuereinheiten mit Peripheriegeräten oder mit Mikrocontrollern mittels SPI miteinander verbunden werden.The Serial Peripheral Interface (SPI) is a standard synchronous serial port bus system that allows master-slave digital circuits to be interconnected. An SPI enables serial (one bit at a time) exchange of data between two devices, one of which is called a master and the other a slave. An SPI can operate in full-duplex mode, meaning that data can be transmitted simultaneously in both directions. For example, controllers can be interconnected with peripherals or with microcontrollers using SPI.

SPI-Kommunikationsbausteine unterstützen verschiedene Funktionen, wie beispielsweise die Konfiguration von Kommunikationsparametern, das Schreiben und Lesen aus- und eingehender Daten, etc. Ein SPI-Slave sollte dabei generell eine hohe Zeitgenauigkeit aufweisen bei möglichst hoher Verfügbarkeit und möglichst geringem Software-Overhead. Dabei ist es jedoch insbesondere Software mäßig problematisch, dass die Zeitpunkte, zu welchen eine Kommunikation stattfinden soll durch den Master bestimmt werden. Der Slave muss somit die zu sendenden Daten zum gewünschten Zeitpunkt bereitstellen und zu empfangende Daten zum gewünschten Zeitpunkt beim Master abholen. Das zeitgenaue Bereitstellen der Daten im Slave ist dabei bei herkömmlichen Software-getriebenen SPI-Kommunikationsbausteinen verhältnismäßig aufwendig. Die meisten Bausteine sind ein Kompromiss zwischen Verfügbarkeit, Komplexität, Interrupt-Last und Ressourcenverbrauch (z.B. CPU-Laufzeit, Verhalten in Phasen geringer Leistung, etc.).SPI communication blocks support various functions, such as the configuration of communication parameters, the writing and reading of incoming and outgoing data, etc. An SPI slave should generally have a high time accuracy with the highest possible availability and the lowest possible software overhead. In this case, however, it is particularly problematic for software in particular that the times at which a communication should take place are determined by the master. The slave must thus provide the data to be sent at the desired time and pick up data to be received at the desired time at the master. The timely provision of data in the slave is relatively expensive in conventional software-driven SPI communication modules. Most devices are a compromise between availability, complexity, interrupt load, and resource consumption (e.g., CPU runtime, low-power behavior, etc.).

Aufgabe der Erfindung ist es, einen verbesserten Kommunikationsbaustein, insbesondere einen Slave, und eine verbesserte Vorrichtung zur Datenkommunikation bereitzustellen, welche eine hohe Performance sowie eine geringe Komplexität und geringe Laufzeiten eines erforderlichen Software-Treibers aufweisen, so dass der Master als herkömmlicher (SPI-)Master umgesetzt werden kann.The object of the invention is to provide an improved communication module, in particular a slave, and an improved device for data communication, which have a high performance as well as a low complexity and short run times of a required software driver, so that the master as a conventional (SPI) Master can be implemented.

Diese Aufgabe wird gelöst durch einen Kommunikationsbaustein gemäß Anspruch 1, einen Kommunikationsbaustein gemäß Anspruch 13 beziehungsweise eine Vorrichtung zur Datenübertragung gemäß Anspruch 14.This object is achieved by a communication module according to claim 1, a communication module according to claim 13 or a device for data transmission according to claim 14.

Der erfindungsgemäße Kommunikationsbaustein ist dazu ausgebildet als Slave betrieben zu werden und mit einem zweiten Kommunikationsbaustein verbunden zu werden. Der zweite Kommunikationsbaustein ist dazu ausgebildet als Master betrieben zu werden. Der erste Kommunikationsbaustein weist eine erste Leitung zum Empfangen eines Taktsignals von dem zweiten Kommunikationsbaustein, eine zweite Leitung zum Empfangen von Daten, eine dritte Leitung zum Senden von Daten und eine vierte Leitung auf, über welche der erste Kommunikationsbaustein durch den zweiten Kommunikationsbaustein aktiviert werden kann. Der erste Kommunikationsbaustein weist weiterhin entweder eine fünfte Leitung zum Ausgeben eines ersten Signals welches Informationen darüber enthält, ob der erste Kommunikationsbaustein dazu bereit ist Daten zu empfangen, oder eine sechste Leitung, zum Ausgeben eines zweiten Signals welches Informationen darüber enthält, ob der erste Kommunikationsbaustein Daten senden möchte, oder beides auf.The communication module according to the invention is designed to be operated as a slave and to be connected to a second communication module. The second communication module is designed to be operated as a master. The first communication module has a first line for receiving a clock signal from the second communication block, a second line for receiving data, a third line for transmitting data and a fourth line via which the first communication block can be activated by the second communication block. The first communication device further comprises either a fifth line for outputting a first signal containing information as to whether the first communication device is ready to receive data or a sixth line for outputting a second signal containing information as to whether the first communication device is data want to send, or both.

Über die fünfte und sechste Leitung kann eine Flusskontrolle der Daten erfolgen. Der zweite Kommunikationsbaustein ist zu jedem Zeitpunkt darüber informiert, ob der erste Kommunikationsbaustein Daten empfangen kann und/oder Daten senden möchte. Kann der erste Kommunikationsbaustein zu einem Zeitpunkt keine Daten empfangen, kann der zweite Kommunikationsbaustein beispielsweise davon absehen Daten zu senden und vielmehr zu warten, bis der erste Kommunikationsbaustein wieder bereit dazu ist, Daten zu empfangen. Dadurch können ungewollte Fehlersituationen vermieden werden.Via the fifth and sixth line, a flow control of the data can take place. The second communication module is informed at any time whether the first communication module can receive data and / or send data. If the first communication module can not receive any data at a time, the second communication module may, for example, refrain from sending data and instead wait until the first communication module is again ready to receive data. As a result, unwanted error situations can be avoided.

Der erste Kommunikationsbaustein kann dazu ausgebildet sein, mit dem zweiten Kommunikationsbaustein über einen SPI-Bus verbunden zu werden. Die erste, zweite, dritte und vierte Leitung sind typischerweise in einem SPI-Bus bereits vorhanden. Die fünfte und sechste Leitung stellen eine Ergänzung dieser Leitungen dar.The first communication module can be designed to be connected to the second communication module via an SPI bus. The first, second, third and fourth lines are typically already present in an SPI bus. The fifth and sixth lines are a supplement to these lines.

Der erste Kommunikationsbaustein kann weiterhin wenigstens einen Eingangspuffer aufweisen, der dazu ausgebildet ist, Nachrichten zu speichern, welche vom zweiten Kommunikationsbaustein empfangen werden. Empfangene Nachrichten werden somit nicht direkt weiter verarbeitet, sondern zunächst zwischengespeichert. Die Daten können zu einem beliebigen späteren Zeitpunkt aus dem Eingangspuffer ausgelesen und verarbeitet werden.The first communication module may further comprise at least one input buffer, which is configured to store messages which are received by the second communication module. Received messages are thus not further processed directly, but initially cached. The data can be read out of the input buffer at any later time and processed.

Der erste Kommunikationsbaustein kann weiterhin wenigstens einen Ausgangspuffer aufweisen, der dazu ausgebildet ist, Nachrichten zu speichern, die an den zweiten Kommunikationsbaustein übertragen werden sollen. Nachrichten können zu jedem beliebigen Zeitpunkt im Ausgangspuffer abgelegt werden. Wird dann eine Kommunikation durch den zweiten Kommunikationsbaustein angestoßen, kann dieser die Daten dann aus dem Ausgangspuffer auslesen.The first communication module may further comprise at least one output buffer, which is configured to store messages that are to be transmitted to the second communication module. Messages can be stored in the output buffer at any time. Will then be a communication through the triggered second communication block, this can then read the data from the output buffer.

Der erste Kommunikationsbaustein kann dazu ausgebildet sein mit einem Mikrocontroller verbunden zu werden, wobei der Mikrocontroller dazu ausgebildet sein kann, Nachrichten aus dem Eingangspuffer auszulesen und zu verarbeiten und Nachrichten in den Ausgangspuffer zur Übertragung an den zweiten Kommunikationsbaustein abzulegen. Der erste Kommunikationsbaustein dient somit lediglich als Interface. Die Verarbeitung und Bereitstellung der Daten erfolgt im Mikrocontroller.The first communication module may be configured to be connected to a microcontroller, wherein the microcontroller may be configured to read messages from the input buffer and to process and store messages in the output buffer for transmission to the second communication module. The first communication module thus serves only as an interface. The processing and provision of the data takes place in the microcontroller.

Das erste Signal der fünften Leitung kann einen ersten Zustand annehmen, wenn der erste Kommunikationsbaustein keine neuen Nachrichten empfangen kann und kann einen zweiten Zustand annehmen, wenn der erste Kommunikationsbaustein neue Nachrichten empfangen kann. Der Zustand des Signals gibt somit auf einfache Art und Weise den Zustand des ersten Kommunikationsbausteins wider.The first signal of the fifth line may assume a first state if the first communication block can not receive new messages and may assume a second state if the first communication block can receive new messages. The state of the signal thus simply reflects the state of the first communication module.

Das zweite Signal der sechsten Leitung kann einen ersten Zustand annehmen, wenn der erste Kommunikationsbaustein neue Nachrichten senden möchte und kann einen zweiten Zustand annehmen, wenn der erste Kommunikationsbaustein keine neuen Nachrichten zu senden hat. Der Zustand des Signals gibt somit auf einfache Art und Weise den Zustand des ersten Kommunikationsbausteins wider.The second signal of the sixth line may assume a first state if the first communication block wants to send new messages and may assume a second state if the first communication block does not have to send new messages. The state of the signal thus simply reflects the state of the first communication module.

Der erste Kommunikationsbaustein kann dazu ausgebildet sein, Nachrichten an den zweiten Kommunikationsbaustein zu senden, welche neben Nutzdaten auch eine Prüfsumme aufweisen, und Nachrichten von dem zweiten Kommunikationsbaustein zu empfangen, welche neben Nutzdaten auch eine Prüfsumme aufweisen. Dadurch kann auf einfache Art und Weise anhand der Prüfsumme die Integrität einer Nachricht überprüft werden.The first communication module may be configured to send messages to the second communication module, which in addition to user data also have a checksum, and to receive messages from the second communication module, which in addition to payload data also have a checksum. As a result, the integrity of a message can be checked in a simple manner on the basis of the checksum.

Der erste Kommunikationsbaustein kann weiterhin wenigstens eines aufweisen von wenigstens einem ersten Schieberegister, das derart vor dem Eingangspuffer angeordnet ist, dass Nachrichten die vom zweiten Kommunikationsbaustein empfangen werden zunächst im ersten Schieberegister gespeichert werden und von dort in den Eingangspuffer übernommen werden, und wenigstens einem zweiten Schieberegister, das derart hinter dem Ausgangspuffer angeordnet ist, dass Nachrichten die an den zweiten Kommunikationsbaustein gesendet werden sollen, vom Ausgangspuffer in das zweite Schieberegister übernommen werden und von dort an das zweite Kommunikationsgerät übertragen werden. Dadurch wird noch ein weiterer Puffer vor bzw. nach dem jeweiligen Eingangs- bzw. Ausgangspuffer bereitgestellt.The first communication module may further comprise at least one of at least a first shift register, which is arranged in front of the input buffer such that messages received by the second communication module are first stored in the first shift register and transferred from there to the input buffer, and at least one second shift register , which is arranged behind the output buffer so that messages to be sent to the second communication module are taken from the output buffer in the second shift register and are transmitted from there to the second communication device. As a result, a further buffer is provided before or after the respective input or output buffer.

Der Kommunikationsbaustein kann alternativ oder zusätzlich auch wenigstens ein Schieberegister aufweisen, wobei wenigstens eines der Schieberegister dazu ausgebildet ist, sowohl Nachrichten die vom zweiten Kommunikationsbaustein empfangen werden zunächst zu speichern bevor diese von dort in den Eingangspuffer übernommen werden, als auch Nachrichten die an den zweiten Kommunikationsbaustein gesendet werden sollen, vom Ausgangspuffer zu übernehmen bevor diese von dort an das zweite Kommunikationsgerät übertragen werden.The communication module may alternatively or additionally also have at least one shift register, wherein at least one of the shift registers is configured to store both messages received by the second communication module before they are transferred from there into the input buffer, as well as messages to the second communication module should be sent from the output buffer before they are transferred from there to the second communication device.

Die Schieberegister können durch das Taktsignal oder durch einen aus dem Taktsignal generierten Takt getrieben werden.The shift registers may be driven by the clock signal or by a clock generated from the clock signal.

Eine Nachricht die an den zweiten Kommunikationsbaustein übertragen werden soll kann zu einem ersten Zeitpunkt in dem Ausgangspuffer gespeichert werden. Dabei kann ein erster Zeitstempel zusammen mit der Nachricht im Ausgangspuffer abgelegt werden, wobei der erste Zeitstempel Informationen zum ersten Zeitpunkt enthält. Die Nachricht kann dann zu einem zweiten Zeitpunkt an den zweiten Kommunikationsbaustein übertragen werden. Der erste Kommunikationsbaustein kann dabei dazu ausgebildet sein, wenn die Nachricht an den zweiten Kommunikationsbaustein übertragen wird, den ersten Zeitstempel durch erste Daten zu ersetzen, wobei die ersten Daten Informationen zu einer Zeitdauer (delta) aufweisen die zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt vergangen ist.A message that is to be transmitted to the second communication module can be stored in the output buffer at a first time. In this case, a first time stamp can be stored together with the message in the output buffer, the first time stamp containing information for the first time. The message can then be transmitted to the second communication module at a second time. The first communication module can be designed to replace the first time stamp with first data if the message is transmitted to the second communication module, the first data having information on a time duration (delta) which has elapsed between the first time and the second time is.

Ein zweiter Kommunikationsbaustein ist dazu ausgebildet, als Master betrieben zu werden und mit wenigstens einem ersten Kommunikationsbaustein verbunden zu werden. Der erste Kommunikationsbaustein ist dazu ausgebildet, als Slave betrieben zu werden. Der zweite Kommunikationsbaustein weist eine erste Leitung zum Ausgeben eines Taktsignals an den wenigstens einen ersten Kommunikationsbaustein, eine zweite Leitung zum Senden von Daten, eine dritte Leitung zum Empfangen von Daten und eine vierte Leitung über welche der zweite Kommunikationsbaustein den wenigstens einen ersten Kommunikationsbaustein aktivieren kann. Der zweite Kommunikationsbaustein weist entweder eine fünfte Leitung zum Empfangen eines ersten Signals von dem wenigstens einen ersten Kommunikationsbaustein, wobei das erste Signal Informationen darüber enthält, ob der wenigstens eine erste Kommunikationsbaustein dazu bereit ist Daten zu empfangen, oder eine sechste Leitung zum Empfangen eines zweiten Signals von dem wenigstens einen ersten Kommunikationsbaustein, wobei das zweite Signal Informationen darüber enthält, ob der wenigstens eine erste Kommunikationsbaustein Daten senden möchte, oder beides auf.A second communication module is designed to be operated as a master and to be connected to at least one first communication module. The first communication module is designed to be operated as a slave. The second communication module has a first line for outputting a clock signal to the at least one first communication module, a second line for transmitting data, a third line for receiving data and a fourth line via which the second communication module can activate the at least one first communication module. The second communication device either has a fifth line for receiving a first signal from the at least one first communication device, the first signal containing information as to whether the at least one first communication device is ready to receive data, or a sixth line for receiving a second signal from the at least one first communication device, wherein the second signal contains information about whether the at least one first communication device wants to send data, or both.

Eine Vorrichtung zur Datenübertragung weist wenigstens einen ersten Kommunikationsbaustein und einen zweiten Kommunikationsbaustein auf, wobei der wenigstens eine erste Kommunikationsbaustein dazu ausgebildet ist als Slave betrieben zu werden und der zweite Kommunikationsbaustein dazu ausgebildet ist als Master betrieben zu werden. Der wenigstens eine erste Kommunikationsbaustein und der zweite Kommunikationsbaustein sind über einen Datenbus miteinander verbunden. Der Datenbus weist eine erste Leitung zum Übertragen eines Taktsignals von dem zweiten Kommunikationsbaustein an den ersten Kommunikationsbaustein, eine zweite Leitung zum Übertragen von Daten vom zweiten Kommunikationsbaustein an den wenigstens einen ersten Kommunikationsbaustein, eine dritte Leitung zum Übertragen von Daten von dem wenigstens einen ersten Kommunikationsbaustein an den zweiten Kommunikationsbaustein und eine vierte Leitung auf über welche der wenigstens eine erste Kommunikationsbaustein durch den zweiten Kommunikationsbaustein aktiviert werden kann. Die Vorrichtung weist weiterhin entweder eine fünfte Leitung zum Übertragen eines ersten Signals an den zweiten Kommunikationsbaustein welches Informationen darüber enthält, ob der wenigstens eine erste Kommunikationsbaustein dazu bereit ist Daten zu empfangen, oder eine sechste Leitung zum Übertragen eines zweiten Signals an den zweiten Kommunikationsbaustein welches Informationen darüber enthält, ob der wenigstens eine erste Kommunikationsbaustein Daten senden möchte, oder beides auf. A device for data transmission has at least a first communication module and a second communication module, wherein the at least one first communication module is designed to be operated as a slave and the second communication module is designed to be operated as a master. The at least one first communication module and the second communication module are connected to each other via a data bus. The data bus has a first line for transmitting a clock signal from the second communication module to the first communication module, a second line for transmitting data from the second communication module to the at least one first communication module, a third line for transmitting data from the at least one first communication module the second communication module and a fourth line over which the at least one first communication module can be activated by the second communication module. The device further comprises either a fifth line for transmitting a first signal to the second communication module containing information on whether the at least one first communication block is ready to receive data, or a sixth line for transmitting a second signal to the second communication block which information about whether the at least one first communication module wants to send data, or both.

Die Vorrichtung kann in einem Fahrzeug angeordnet sein.The device may be arranged in a vehicle.

Die Erfindung wird nachfolgend anhand der in den Figuren der Zeichnung dargestellten Ausführungsbeispiele näher erläutert. Es zeigt:

  • 1 in einer schematischen Darstellung beispielhaft das Prinzip eines Serial Peripheral Interface,
  • 2 beispielhaft in einem Blockdiagramm einen Kommunikationsbaustein,
  • 3 beispielhaft in zeitlichen Diagrammen Signale in einer Datenkommunikation,
  • 4 beispielhaft in zeitlichen Diagrammen Signale in einer Datenkommunikation unter Verwendung von Puffern,
  • 5 beispielhaft in einem Blockdiagramm eine Schnittstelle zwischen einem Mikrocontroller und einem Kommunikationsbaustein,
  • 6 , aufweisend die 6A und 6B, eingehende und ausgehende SPI-Daten,
  • 7 beispielhaft in einem Blockdiagramm einen Kommunikationsbaustein mit Puffern und Schieberegistern,
  • 8 beispielhaft in zeitlichen Diagrammen eine zeitliche Zuordnung eines Übertragungszeitpunkts und eines Verarbeitungszeitpunkts,
  • 9 beispielhaft ausgehende SPI-Daten mit einem Zeitstempel, und
  • 10 beispielhaft in zeitlichen Diagrammen eine zeitliche Zuordnung eines Beauftragungszeitpunktes und eines Übertragungszeitpunktes.
The invention will be explained in more detail with reference to the embodiments illustrated in the figures of the drawing. It shows:
  • 1 in a schematic representation by way of example the principle of a serial peripheral interface,
  • 2 by way of example in a block diagram a communication module,
  • 3 exemplary in time diagrams signals in a data communication,
  • 4 by way of example in chronological diagrams signals in a data communication using buffers,
  • 5 exemplified in a block diagram an interface between a microcontroller and a communication module,
  • 6 Having the 6A and 6B , incoming and outgoing SPI data,
  • 7 by way of example in a block diagram a communication module with buffers and shift registers,
  • 8th by way of example in time diagrams a temporal assignment of a transmission time and a processing time,
  • 9 exemplary outgoing SPI data with a timestamp, and
  • 10 For example, in temporal diagrams a temporal assignment of a commissioning time and a transmission time.

1 zeigt eine schematische Darstellung eines Serial Peripheral Interface. Ein Serial Peripheral Interface (SPI) ist ein Bus-System mit einem Standard für einen synchronen seriellen Datenbus (Synchronous Serial Port), mit dem digitale Schaltungen nach dem Master-Slave-Prinzip miteinander verbunden werden können. Ein SPI ermöglicht den seriellen (ein Bit nach dem anderen) Austausch von Daten zwischen zwei Bausteinen 11, 12, von denen einer als Master 12 und der andere als Slave 11 bezeichnet wird. Ein SPI kann im Vollduplex-Modus betrieben werden, das heißt, dass Daten gleichzeitig in beiden Richtungen (vom Master zum Slave und vom Slave zum Master) übertragen werden können. Beispielsweise können Steuereinheiten mit Peripheriegeräten oder mit Mikrocontrollern mittels SPI miteinander verbunden werden. 1 shows a schematic representation of a Serial Peripheral Interface. A Serial Peripheral Interface (SPI) is a standard synchronous serial port bus system that can be used to connect master-slave digital circuits. An SPI allows serial (one bit at a time) exchange of data between two blocks 11 . 12 , one of them being a master 12 and the other as a slave 11 referred to as. An SPI can operate in full-duplex mode, meaning that data can be transmitted simultaneously in both directions (master to slave and slave to master). For example, controllers can be interconnected with peripherals or with microcontrollers using SPI.

Ein SPI-Kommunikationsbaustein, unabhängig davon ob dieser als Master oder als Slave fungiert, weist drei Leitungen auf, an welchen jeder Teilnehmer (Master und ein oder mehrere Slaves) angeschlossen sind. Dies sind eine Takt-Leitung CLK, auch als Clock oder Serial Clock bezeichnet, wobei der Takt vom Master ausgegeben wird, und zwei Leitungen zum Übertragen von Daten. Eine so genannte MOSI-Leitung (Master Output, Slave Input), zum Übertragen von Daten vom Master 12 zum Slave 11, und eine so genannte MISO-Leitung (Master Input, Slave Output), zum Übertragen von Daten vom Slave 11 zum Master 12. Die Datenleitungen können beispielsweise auch als Serial Data Out (SDO) und Serial Data In (SDI) bezeichnet werden, wobei die Benennung meist aus Sicht des jeweiligen Busteilnehmers erfolgt, so dass in diesem Fall die Leitungen über Kreuz verbunden werden müssen im Gegensatz zu dem dargestellten Fall bei dem MISO mit MISO und MOSI mit MOSI verbunden ist.An SPI communication block, regardless of whether it acts as a master or as a slave, has three lines to which each participant (master and one or more slaves) are connected. These are a clock line CLK, also referred to as clock or serial clock, the clock being output from the master, and two lines for transferring data. A so-called MOSI line (Master Output, Slave Input), for transferring data from the master 12 to the slave 11 , and a so-called MISO line (Master Input, Slave Output), for transmitting data from the slave 11 to the master 12 , The data lines may, for example, also be referred to as Serial Data Out (SDO) and Serial Data In (SDI), the designation generally taking place from the point of view of the respective bus user, so that in this case the lines must be connected crosswise in contrast to the one shown Case where MISO is connected to MISO and MOSI is connected to MOSI.

Ein SPI-Kommunikationsbaustein weist weiterhin eine oder mehrere logisch-0 aktive Chip-Select-Leitungen (CS-Leitung) auf (oft auch als Slave Select SS oder Slave Transmit Enable STE bezeichnet) . In der Regel weist jeder Slave nur eine CS-Leitung auf. Ein Master kann eine oder mehrere CS-Leitungen aufweisen. Beispielsweise kann der Master für jeden Slave mit dem er verbunden ist eine eigene CS-Leitung aufweisen. Diese Leitungen CS werden vom Master 12 gesteuert.An SPI communication module furthermore has one or more logically-active chip select lines (CS line) (often also referred to as slave select SS or slave transmit enable STE). As a rule, each slave has only one CS line. A master may have one or more CS lines. For example, the master may have its own CS line for each slave to which it is connected. These lines CS are from the master 12 controlled.

Es können theoretisch beliebig viele Teilnehmer an einen SPI-Bus angeschlossen werden. Dabei ist jedoch immer genau ein Master 12 erforderlich, der das Taktsignal CLK erzeugt. Mit der Leitung Chip-Select CS legt der Master 12 fest, mit welchem Slave 11 er kommunizieren will. Wird die entsprechende CS-Leitung durch den Master 12 auf Masse gezogen (logisch-0), ist der zugehörige Slave 11 aktiv und „lauscht“ an der MOSI-Leitung ob Daten vom Master 12 übertragen werden. Gleichzeitig legt er seine Daten die an den Master 12 zu übertragen sind im Takt des Taktsignals an die MISO-Leitung an. In einer folgenden Datenkommunikation wird ein Wort vom Master 12 zum Slave 11 und ein anderes Wort vom Slave 11 zum Master 12 übertragen. In theory, any number of participants can be connected to an SPI bus. However, it is always exactly one master 12 required, which generates the clock signal CLK. With the line Chip-Select CS puts the master 12 firmly, with which slave 11 he wants to communicate. Is the corresponding CS line through the master 12 pulled to ground (logical-0), is the associated slave 11 active and "listens" on the MOSI line whether data from the master 12 be transmitted. At the same time he puts his data to the master 12 to be transmitted in time with the clock signal to the MISO line. In a following data communication, a word is taken from the master 12 to the slave 11 and another word from the slave 11 to the master 12 transfer.

Es existiert kein festgelegtes Protokoll zur Datenübertragung für SPI, jedoch haben sich allgemein vier verschiedene Modi durchgesetzt. Diese werden durch die Parameter Clock Polarität (CPOL) und Clock Phase (CPHA) festgelegt. Bei CPOL = 0 ist der Clock Idle Low, bei CPOL = 1 ist der Clock Idle High. CPHA gibt an, bei der wievielten Flanke des Taktsignals die Daten übernommen werden sollen. Bei CPHA = 0 werden sie bei der ersten Flanke übernommen nachdem CS auf Low gezogen wurde, und bei CPHA = 1 bei der zweiten Flanke. Somit werden die Daten bei CPOL = 0 und CPHA = 0 mit der ersten Flanke übernommen, welche nur eine steigende Flanke sein kann. Bei CPHA = 1 wäre es die zweite Flanke, also eine fallende Flanke. Bei CPOL = 1 ist dies genau andersherum, also bei CPHA = 0 eine fallende Flanke und bei CPHA = 1 eine steigende Flanke.There is no established protocol for data transmission for SPI, but generally four different modes have prevailed. These are defined by the parameters Clock Polarity (CPOL) and Clock Phase (CPHA). At CPOL = 0 the clock idle is low, at CPOL = 1 the clock idle is high. CPHA indicates at which time edge of the clock signal the data should be taken over. At CPHA = 0, they are taken on the first edge after CS has been pulled low, and at CPHA = 1 on the second edge. Thus, the data at CPOL = 0 and CPHA = 0 are taken over with the first edge, which can only be a rising edge. With CPHA = 1, it would be the second edge, ie a falling edge. With CPOL = 1, this is exactly the other way around, ie with CPHA = 0 a falling edge and with CPHA = 1 a rising edge.

Der Slave 11 legt in der Regel bei CPHA = 0 seine Daten schon an MISO an, wenn CS auf Low geht, damit der Master 12 sie beim ersten Flankenwechsel übernehmen kann. Bei CPHA = 1 werden die Daten vom Slave 11 erst beim ersten Flankenwechsel an MISO gelegt, damit sie beim zweiten Flankenwechsel vom Master 12 übernommen werden können. Der Master 12 hingegen legt seine Daten immer zum gleichen Zeitpunkt an, nämlich meist kurz nach der fallenden Flanke von CLK.The slave 11 As a rule, if CPHA = 0, it will already put its data on MISO if CS goes low, so that the master 12 you can take on the first edge change. With CPHA = 1, the data is from the slave 11 placed on MISO only at the first edge change, so that at the second edge change from the master 12 can be taken over. The master 12 however, its data always arrives at the same time, usually shortly after the falling edge of CLK.

Mit jeder Taktperiode wird ein Bit übertragen. Beim üblichen Bytetransfer sind also acht Taktperioden für eine vollständige Übertragung nötig. Es können auch mehrere Wörter hintereinander übertragen werden. Dabei ist nicht festgelegt, ob nach jedem Wort die CS-Leitung kurz auf High gezogen werden muss oder nicht. Eine Übertragung ist beendet, wenn die CS-Leitung endgültig wieder auf High gesetzt wird.With each clock period, one bit is transmitted. In the usual byte transfer so eight clock periods are required for a complete transfer. You can also transfer several words in succession. It is not determined whether after each word the CS line must be briefly pulled high or not. A transfer is complete when the CS line is finally reset to high.

2 zeigt beispielhaft in einem Blockdiagramm einen Kommunikationsbaustein 21. Der Kommunikationsbaustein 21 (im Weiteren als Slave bezeichnet) ist dazu ausgebildet als Slave betrieben zu werden und weist mehrere Leitungen (bzw. Pins) auf. Dies sind eine erste Leitung CLK zum Empfangen eines Taktsignals . Das Taktsignal empfängt der Slave 21 von einem zweiten Kommunikationsbaustein 22, welcher dazu ausgebildet ist als Master betrieben zu werden (im Weiteren als Master bezeichnet). Weiterhin weist der Slave 21 eine zweite Leitung MOSI (Master Output Slave Input) auf zum Empfangen von Daten vom Master 22. Über eine dritte Leitung MISO (Master Input Slave Output) kann der Slave 21 Daten an den Master 22 senden. Über eine vierte Leitung CS kann der Slave 21 durch den Master 22 aktiviert werden. 2 shows by way of example in a block diagram a communication block 21 , The communication module 21 (hereinafter referred to as slave) is designed to be operated as a slave and has a plurality of lines (or pins). These are a first line CLK for receiving a clock signal. The clock signal is received by the slave 21 from a second communication module 22 which is designed to be operated as a master (hereinafter referred to as master). Furthermore, the slave points 21 a second line MOSI (Master Output Slave Input) to receive data from the master 22 , The slave can be connected via a third line MISO (Master Input Slave Output) 21 Data to the master 22 send. Via a fourth line CS, the slave 21 through the master 22 to be activated.

Der Slave 21 wird durch den Master 22 beispielsweise dann aktiviert, wenn Daten übertragen werden sollen. Dies ist unabhängig davon, ob Daten vom Master 22 zum Slave 21, vom Slave 21 zum Master 22 oder in beide Richtungen übertragen werden sollen. Ein Signal welches an der Chip-Select (CS) Leitung anliegt kann zwei Zustände annehmen, einen High-Zustand (logisch-1) oder einen Low-Zustand (logisch-0) . Der Slave 21 ist in der Regel aktiviert, wenn das Signal an der CS-Leitung einen Low-Zustand annimmt. Das heißt, der Slave 21 ist logisch-0 aktiv. The slave 21 is by the master 22 for example, activated when data is to be transferred. This is regardless of whether data is from the master 22 to the slave 21 , from the slave 21 to the master 22 or to be transmitted in both directions. A signal applied to the chip select (CS) line can assume two states, a high state (logic 1) or a low state (logic 0). The slave 21 is usually enabled when the signal on the CS line goes low. That is, the slave 21 is logical-0 active.

Dies ist jedoch nur ein Beispiel, grundsätzlich besteht auch die Möglichkeit, dass der Slave 21 logisch-1 aktiv ist, das heißt, dass er aktiv ist wenn das Signal an der CS-Leitung einen High-Zustand annimmt.However, this is only an example, in principle there is also the possibility that the slave 21 logical-1 is active, that is to say that it is active when the signal on the CS line assumes a high state.

Das Taktsignal weist einen High-Zustand auf, solange der Slave 21 inaktiv ist (CS = High) . Wenn das Signal an der CS-Leitung auf Low geht und der Slave 21 aktiviert wird, gibt das Signal an der CLK-Leitung einen entsprechenden Takt vor, das heißt es wechselt in regelmäßigen Abständen zwischen einem Low-Zustand und einem High-Zustand. Dies ist beispielhaft in 3 dargestellt.The clock signal has a high state as long as the slave 21 is inactive (CS = High). When the signal on the CS line goes low and the slave goes off 21 is activated, the signal on the CLK line before a corresponding clock, that is, it changes at regular intervals between a low state and a high state. This is exemplary in 3 shown.

Während der Slave 21 aktiv ist können Daten vom Master 22 an den Slave 21 oder vom Slave 21 an den Master 22 übertragen werden oder beides. Die Daten werden als Nachrichten mit einer Länge von X Bytes übertragen. Diese Länge kann gleichbleibend sein. Beispielsweise können alle Nachrichten eine Länge von 20 Bytes aufweisen (X = 20). Dies ist jedoch lediglich ein Beispiel. Die Länge der Nachrichten kann grundsätzlich beliebig gewählt werden. Grundsätzlich ist es auch möglich, dass die Länge der Nachrichten variiert. Das heißt, jedes Mal wenn der Slave 21 aktiv ist, können Nachrichten mit einer unterschiedlichen Länge mit X ≥ 1 übertragen werden.While the slave 21 Active is data from the master 22 to the slave 21 or from the slave 21 to the master 22 be transferred or both. The data is transmitted as messages with a length of X bytes. This length can be consistent. For example, all messages may have a length of 20 bytes (X = 20). This is just an example. The length of the messages can basically be chosen arbitrarily. In principle, it is also possible that the length of the messages varies. That is, every time the slave 21 is active, messages of a different length can be transmitted with X ≥ 1.

Wenn die Länge der Nachrichten begrenzt ist (z.B. X = 20), jedoch Daten in einer Menge übertragen werden sollen welche die Länge einer Nachricht übersteigen, kann die Gesamtmenge an Daten auf mehrere Nachrichten aufgeteilt werden. Ist die Menge der zu übertragenden Daten kleiner als die Länge der Nachrichten, kann der nicht benötigte Teil der in einer Nachricht übertragenen Daten einfach ignoriert werden. Die Größe der einzelnen Datentransfers ist von Anwendung zu Anwendung meist sehr unterschiedlich. Die Stückelung der Datentransfers, also die Größe der einzelnen Nachrichten und somit die Anzahl der für einen Datentransfer benötigten Nachrichten kann je nach Anforderungen der Anwendung gewählt werden.If the length of the messages is limited (eg X = 20), but data should be transmitted in an amount which is the length of a message exceed, the total amount of data can be split across multiple messages. If the amount of data to be transmitted is smaller than the length of the messages, the unneeded portion of the data transmitted in a message can simply be ignored. The size of the individual data transfers varies from application to application. The denomination of the data transfers, ie the size of the individual messages and thus the number of messages required for a data transfer can be selected according to the requirements of the application.

Dabei ist es, wie oben bereits erläutert, beispielsweise möglich eine feste Größe für Nachrichten festzulegen, welche dann nicht mehr verändert werden kann. Es ist jedoch auch möglich, dass die Größe der Nachrichten beispielsweise vor jedem Datentransfer neu festgelegt ist.It is, as already explained above, for example, set a fixed size for messages, which then can not be changed. However, it is also possible that the size of the messages, for example, before each data transfer is redefined.

Der Slave 21 kann beispielsweise mit einem Mikrocontroller 30 verbunden sein. Der Mikrocontroller 30 kann beispielsweise den Slave 21 steuern. Die Einstellung der Nachrichtenläge erfolgt in der Regel durch den Master 22. Das heißt, der Master 22 kann dem Slave 21 bei jeder Datenübertragung neu vorgeben, welche Länge die Nachrichten aufweisen sollen. Gemäß einem Beispiel stellt der Mikrocontroller 30 die Menge der zu übertragenden Daten (Nachrichtenlänge) ein. Wird durch den Master eine unterschiedliche Länge vorgegeben, z.B. längere Nachrichten, kann der Slave 21, insbesondere die Slave-Hardware, die vom Mikrocontroller 30 vorgegebenen Nachrichten automatisch auffüllen, so dass die Nachrichten letztendlich mit der vom Master 22 vorgegebenen Länge übertragen werden.The slave 21 for example, with a microcontroller 30 be connected. The microcontroller 30 for example, the slave 21 Taxes. The message messages are usually set by the master 22 , That is, the master 22 can the slave 21 redefine the length of the messages for each data transfer. According to one example, the microcontroller represents 30 the amount of data to be transmitted (message length). If a different length is specified by the master, eg longer messages, the slave can 21 , especially the slave hardware, by the microcontroller 30 automatically populate given messages so that the messages ultimately match those from the master 22 be transmitted predetermined length.

Der Slave 21 kann beispielsweise wenigstens einen Eingangspuffer 41 (N ≥ 1) und wenigstens einen Ausgangspuffer 42 (M ≥ 1) aufweisen. In 4 sind beispielhaft zwei Eingangspuffer 41 (N = 2) und zwei Ausgangspuffer 42 (M = 2) dargestellt. Der Kommunikationsbaustein 21 kann jedoch auch mehr oder weniger Eingangspuffer 41 und Ausgangspuffer 42 aufweisen. Die Anzahl der Eingangspuffer 41 muss dabei nicht der Anzahl der Ausgangspuffer 42 entsprechen, das heißt es muss nicht zwingend gelten N = M. Empfangene Nachrichten werden dabei zunächst in einem der Eingangspuffer 41 abgelegt, bevor sie von dort ausgelesen und verarbeitet werden. Zu sendende Nachrichten können vom Slave 21 in einem der Ausgangspuffer 42 abgelegt werden. Von dort können die Nachrichten vom Master 22 abgeholt werden. Dies ist in 4 durch die Pfeile beispielhaft dargestellt.The slave 21 For example, at least one input buffer 41 (N ≥ 1) and at least one output buffer 42 (M ≥ 1). In 4 are exemplified by two input buffers 41 (N = 2) and two output buffers 42 (M = 2). The communication module 21 however, it can also have more or fewer input buffers 41 and output buffer 42 exhibit. The number of input buffers 41 it does not have to be the number of output buffers 42 This means that it is not absolutely necessary to apply N = M. Received messages are initially stored in one of the input buffers 41 filed before they are read from there and processed. Messages to be sent can be sent by the slave 21 in one of the output buffers 42 be filed. From there you can read the messages from the master 22 be collected. This is in 4 represented by the arrows by way of example.

Wie in 5 schematisch dargestellt, können die Eingangspuffer 41 und die Ausgangspuffer 42 eine Schnittstelle zwischen dem Slave 21 und dem Mikrocontroller 30 darstellen. Der Mikrocontroller 30 kann dazu ausgebildet sein, die Eingangspuffer 41 auszulesen. Der Mikrocontroller 30 kann weiterhin dazu ausgebildet sein, die Ausgangspuffer 42 zu beschreiben. Der Mikrocontroller 30 kann auch die Füllstände der Eingangspuffer 41 und der Ausgangspuffer 42 prüfen und überwachen. Es ist jedoch ebenso möglich, dass der Slave 21 die Füllstände überwacht und prüft und dem Mikrocontroller 30 Informationen über die Füllstände zusendet. In jedem Fall liegt dem Mikrocontroller 30 z.B. eine Information 43 darüber vor, ob die Puffer 41, 42 gefüllt sind. Dem Mikrocontroller 30 kann weiterhin eine Information 44 darüber vorliegen, ob die Puffer 41, 42 zumindest teilweise leer sind und noch Nachrichten speichern können. Dies ist unabhängig davon, ob der Slave 21 diese Informationen 43, 44 an den Mikrocontroller 30 sendet oder ob der Mikrocontroller 30 die Information selber ermittelt.As in 5 shown schematically, the input buffer 41 and the output buffers 42 an interface between the slave 21 and the microcontroller 30 represent. The microcontroller 30 may be adapted to the input buffers 41 read. The microcontroller 30 may be further configured to the output buffer 42 to describe. The microcontroller 30 can also change the levels of the input buffer 41 and the output buffer 42 check and monitor. However, it is equally possible that the slave 21 monitors and checks the levels and the microcontroller 30 Send information about the fill levels. In any case, lies the microcontroller 30 eg an information 43 about whether the buffers 41 . 42 are filled. The microcontroller 30 can continue to provide information 44 about whether the buffers 41 . 42 at least partially empty and still can save messages. This is regardless of whether the slave 21 this information 43 . 44 to the microcontroller 30 sends or whether the microcontroller 30 the information itself determined.

Der Slave 21 kann beispielsweise auch dazu ausgebildet sein, eine Information 45 an den Mikrocontroller 30 zu senden, wenn eine Kommunikation zwischen dem Slave 21 und dem Master 22 gestartet wird (Event „SPI Transmission started“). Ebenso kann der Slave 21 dem Mikrocontroller 30 eine Information 46 darüber senden, dass die Kommunikation zwischen dem Slave 21 und dem Master 22 beendet ist (Event „SPI Transmission completed“). Eine Kommunikation kann dabei das Senden von Daten vom Master 22 zum Slave 21, vom Slave 21 zum Master 22 oder beides aufweisen.The slave 21 For example, it may also be designed to provide information 45 to the microcontroller 30 to send if communication between the slave 21 and the master 22 is started (Event "SPI Transmission started"). Likewise, the slave can 21 the microcontroller 30 an information 46 Send over that communication between the slave 21 and the master 22 finished (Event "SPI Transmission completed"). A communication can be the sending of data from the master 22 to the slave 21 , from the slave 21 to the master 22 or both.

Wird also durch den Master 22 eine Datenübertragung durchgeführt, werden die Daten die auf der MOSI Leitung übermittelt werden in einen Eingangspuffer 41 geschrieben und können von dort durch den Mikrocontroller 30 abgeholt werden. Anders herum kann der Mikrocontroller 30 Nachrichten in die Ausgangspuffer 42 schreiben. Dies kann bereits erfolgen bevor eine Datenübertragung durch den Master 22 initiiert wurde. Sobald die nächste Datenübertragung durch den Master 22 initiiert wurde, können die Daten aus dem wenigstens einen Ausgangspuffer 42 dann über die MISO Leitung an den Master 22 übertragen werden.So it is through the master 22 When a data transfer is performed, the data transmitted on the MOSI line is transferred to an input buffer 41 written and can from there through the microcontroller 30 be collected. The other way around is the microcontroller 30 Messages in the output buffer 42 write. This can already be done before a data transfer by the master 22 was initiated. As soon as the next data transfer through the master 22 was initiated, the data from the at least one output buffer 42 then via the MISO line to the master 22 be transmitted.

Dabei kann es vorkommen, dass zu Beginn einer Datenkommunikation keine Nachrichten im Ausgangspuffer 42 vorhanden sind, die Ausgangspuffer 42 also leer sind. In diesem Fall könnte beispielsweise eine vorgegebene Dummy-Nachricht an den Master 22 übertragen werden. Eine solche Dummy-Nachricht kann beispielsweise vorgegebene Inhalte aufweisen, so dass der Master 22 die Nachricht eindeutig als Dummy-Nachricht erkennt und diese beispielsweise ignorieren kann.It may happen that at the beginning of a data communication no messages in the output buffer 42 are present, the output buffers 42 so are empty. In this case, for example, a predetermined dummy message to the master 22 be transmitted. Such a dummy message may have predetermined contents, for example, so that the master 22 uniquely identifies the message as a dummy message and can ignore it, for example.

Der Slave 21 kann weiterhin eine fünfte Leitung BUSY aufweisen, die dazu ausgebildet ist ein Signal auszugeben welches Informationen darüber enthält, ob der Slave 21 dazu bereit ist Daten zu empfangen. Weiterhin kann der Slave 21 auch eine sechste Leitung IRQ aufweisen, die dazu ausgebildet ist ein Signal auszugeben welches Informationen darüber enthält, ob der Slave 21 aktuell Daten senden möchte. Das heißt, über diese beiden zusätzlichen Leitungen findet eine Flusskontrolle der zu übertragenden Daten statt. Der Slave 21 kann dabei entweder nur die fünfte Leitung BUSY oder nur die sechste Leitung IRQ oder sowohl die fünfte Leitung BUSY als auch die sechste Leitung IRQ aufweisen.The slave 21 may further comprise a fifth line BUSY, which is adapted to output a signal which information about it contains, whether the slave 21 ready to receive data. Furthermore, the slave can 21 also have a sixth line IRQ, which is designed to output a signal which contains information about whether the slave 21 currently want to send data. That is, via these two additional lines, a flow control of the data to be transmitted takes place. The slave 21 may have either only the fifth line BUSY or only the sixth line IRQ or both the fifth line BUSY and the sixth line IRQ.

Die fünfte Leitung BUSY und die sechste Leitung IRQ können beide jeweils zwei Zustände annehmen. Ein erster Zustand ist ein aktiver Zustand „aktiv“ und ein zweiter Zustand ist ein inaktiver Zustand „nicht aktiv“. Ist die fünfte Leitung BUSY im Zustand „aktiv“, bedeutet dies, dass der Slave 21 derzeit keine neuen Nachrichten empfangen kann. Das heißt, alle Eingangspuffer 41 sind voll. Ist die fünfte Leitung BUSY „nicht aktiv“, bedeutet dies, dass neue Nachrichten empfangen werden können. Das heißt, es ist Platz in den Eingangspuffern 41 vorhanden.Both the fifth line BUSY and the sixth line IRQ can each assume two states. A first state is an active state "active" and a second state is an inactive state "not active". If the fifth line BUSY is in the "active" state, this means that the slave 21 currently can not receive any new messages. That is, all input buffers 41 are full. If the fifth line BUSY is "not active", this means that new messages can be received. That means there is room in the entrance buffers 41 available.

Ist die sechste Leitung IRQ „aktiv“, bedeutet dies, dass Nachrichten vorhanden sind welche an den Master 22 gesendet werden sollen. Das heißt, die Ausgangspuffer 42 sind zumindest teilweise gefüllt. Ist die sechste Leitung IRQ hingegen „nicht aktiv“, bedeutet dies, dass keine Nachrichten zum Senden an den Master 22 vorliegen und die Ausgangspuffer 42 leer sind.If the sixth line IRQ is "active", this means that there are messages which are sent to the master 22 to be sent. That is, the output buffers 42 are at least partially filled. On the other hand, if the sixth line IRQ is "not active", this means that there are no messages to send to the master 22 present and the output buffer 42 are empty.

Zur Verwaltung der fünften und sechsten Leitung BUSY, IRQ ist ein Eingreifen des Mikrocontrollers 30 nicht erforderlich. Die Leitungen BUSY, IRQ können durch die Hardware sozusagen autonom verwaltet werden. Dies erlaubt dem Mikrocontroller 30 eine Abarbeitung der Daten mit sehr geringen Echtzeitanforderungen, da die Hardware selber die Daten autonom puffert bis der Mikrocontroller 30 bereit ist diese zu bearbeiten. Dadurch kann auch die Verarbeitung der beiden Events „SPI Transmission started“ und „SPI Transmission completed“ im Mikrocontroller 30 ohne harte Echtzeitanforderungen erfolgen und ist von den Anforderungen an die Zeitplanung (Timing-Anforderungen) der SPI-Schnittstelle selbst komplett entkoppelt.To manage the fifth and sixth line BUSY, IRQ is an intervention of the microcontroller 30 not mandatory. The BUSY, IRQ lines can be autonomously managed by the hardware as it were. This allows the microcontroller 30 a processing of the data with very low real-time requirements, since the hardware itself autonomously buffers the data to the microcontroller 30 ready to edit this. This also allows the processing of the two events "SPI Transmission started" and "SPI Transmission completed" in the microcontroller 30 without hard real-time requirements and is completely decoupled from the timing requirements of the SPI interface itself.

Dabei kann sich der Zustand der fünften Leitung BUSY nur während einer laufenden Datenübertragung von „nicht aktiv“ zu „aktiv“ ändern, da der Master 22 nur während einer laufenden Datenübertragung Daten an den Slave 21 sendet und die Eingangspuffer 41 somit nur während einer laufenden Datenübertragung gefüllt werden können. Der Slave 21 füllt, wie oben beschrieben, die Eingangspuffer 41 zu keinem Zeitpunkt selber. Diese werden immer durch den Master 22 gefüllt. Der Master 22 kann somit vor Beginn einer Datenübertragung den Zustand der fünften Leitung BUSY prüfen um sicherzustellen, dass eine Übertragung erfolgen kann. Wird der Zustand der Leitung BUSY als „aktiv“ erkannt, kann der Slave 21 keine weiteren Daten empfangen. Der Slave 21 ist somit nicht bereit für eine neue Datenübertragung.In this case, the state of the fifth line BUSY only during a data transfer from "not active" to "active" change, as the master 22 only during a data transfer data to the slave 21 sends and the input buffers 41 thus can only be filled during an ongoing data transfer. The slave 21 fills the input buffers as described above 41 at no time itself. These are always by the master 22 filled. The master 22 can thus check the state of the fifth line BUSY before beginning a data transmission in order to ensure that a transmission can take place. If the status of the BUSY line is detected as "active", the slave can 21 no further data received. The slave 21 is therefore not ready for a new data transfer.

Wird der Zustand der Leitung BUSY als „nicht aktiv“ erkannt, kann unabhängig vom derzeitigen Zustand des Mikrocontrollers 30 eine Datenübertragung erfolgen, da die vom Master 22 übertragenen Daten in den Eingangspuffern 41 gespeichert werden können, bis der Mikrocontroller 30 bereit ist diese zu verarbeiten. Dieses Vorgehen, also das Anzeigen des aktuellen Status über die Leitungen BUSY und IRQ, kann so genannte „Race-Conditions“ vermeiden. Eine „Race-Condition“, auch als Wettlaufsituation bezeichnet, ist eine Konstellation, in der das Ergebnis einer Operation vom zeitlichen Verhalten bestimmter Einzeloperationen abhängt. Das heißt, zwei Signale befinden sich sozusagen in einem Wettlauf, um eine Ausgabe als erstes zu beeinflussen. Die oben beschriebene Integration der Flusskontrolle direkt in die Hardware des Slaves 21 bewirkt, dass die Flusskontrolle zu jedem Zeitpunkt konsistent bleibt, so dass „Race-Conditions“ vermieden werden können.If the state of the BUSY line is detected as "not active", it may be independent of the current state of the microcontroller 30 a data transfer takes place, as that of the master 22 transmitted data in the input buffers 41 can be stored until the microcontroller 30 ready to process this. This procedure, ie displaying the current status via the BUSY and IRQ lines, can avoid so-called "race conditions". A "race condition", also referred to as a race situation, is a constellation in which the result of an operation depends on the temporal behavior of certain individual operations. That is, two signals are in a race, so to speak, to influence an output first. The above-described integration of the flow control directly into the hardware of the slave 21 ensures that the flow control remains consistent at all times, so that race conditions can be avoided.

Grundsätzlich ist es möglich, dass der Master 22 die Flusskontrolle übergeht und Nachrichten an den Slave 21 sendet, obwohl die Leitung BUSY auf „aktiv“ gesetzt ist. Der Slave 21 erkennt dies, da er seinen eigenen Zustand kennt, und kann den Mikrocontroller 30 entsprechend darüber informieren, beispielsweise indem er eine Fehlermeldung an den Mikrocontroller 30 sendet. Durch den Master 22 sollte daher, wenn möglich, vermieden werden Nachrichten trotz gesetzter BUSY Leitung („aktiv“) zu senden.Basically, it is possible that the master 22 the flow control passes and messages to the slave 21 sends, even though the BUSY line is set to "active". The slave 21 recognizes this because he knows his own state, and can use the microcontroller 30 inform accordingly, for example by sending an error message to the microcontroller 30 sends. By the master 22 It should therefore be avoided, if possible, to send messages in spite of the BUSY line being set ("active").

Der Slave 21 kann weiterhin dazu ausgebildet sein, eine Fehlerprüfung durchzuführen. Eine Fehlerprüfung kann Störungen der Kommunikation sowohl in Bezug auf die Datenübertragung als auch in Bezug auf die Flusskontrolle erkennen. Die Fehlerprüfung kann beispielsweise bei jeder Datenübertragung das Prüfen der zu erwartenden Nachrichtenlänge X aufweisen sowie das Vergleichen der erwarteten Länge mit der tatsächlichen vom Master 22 verwendeten Länge. Stellt der Slave 21 eine Abweichung der tatsächlichen Nachrichtenlänge von der erwarteten Nachrichtenlänge fest, kann der Slave 21 eine Fehlermeldung an den Mikrocontroller 30 senden.The slave 21 may also be configured to perform an error check. An error check can detect communication disruptions both in terms of data transmission and in terms of flow control. For example, the error check may include checking the expected message length X for each data transfer and comparing the expected length with the actual one from the master 22 used length. Represents the slave 21 a deviation of the actual message length of the expected message length fixed, the slave 21 an error message to the microcontroller 30 send.

Die Fehlerprüfung kann beispielsweise auch das Prüfen einer Prüfsumme PS(Checksum) der vom Master 22 empfangenen Daten aufweisen. Eine Prüfsumme ist ein Wert, mit dem die Integrität von Daten überprüft werden kann. Eine Prüfsumme ist dabei grundsätzlich ein Wert, der aus den zu übertragenden Daten berechnet wird. Durch überprüfen der Prüfsumme PS kann mindestens ein Bitfehler in den Daten erkannt werden. Je nachdem wie komplex die Berechnungsvorschrift für die Prüfsumme ist, können auch mehrere Fehler erkannt oder sogar auch korrigiert werden.The error check can for example also check a checksum PS (Checksum) of the master 22 have received data. A checksum is a value that can be used to verify the integrity of data. A checksum is basically a value which is calculated from the data to be transmitted. By checking the checksum PS at least one bit error in the Data to be recognized. Depending on how complex the calculation rule for the checksum is, several errors can be detected or even corrected.

Eine vom Master 22 zum Slave 21 zu übertragende Nachricht kann beispielsweise eine Gesamtlänge X aufweisen, wobei sich die Gesamtlänge aus Nutzdaten (Payload) einer Länge Y und einer Prüfsumme PS der Länge Z zusammensetzt, also X = Y + Z. Dies ist beispielhaft in 6A dargestellt. Wenn beispielsweise gilt X = 20 (Gesamtlänge der Nachricht 20 Byte), kann die Länge Y der Nutzdaten beispielsweise 18 Byte betragen (Y = 18) und die Länge Z der Prüfsumme 2 Byte (Z = 2). Dies ist jedoch lediglich ein Beispiel. Das Gleiche gilt, wie beispielhaft in 6B dargestellt, für Nachrichten die auf der MISO Leitung vom Slave 21 an den Master 22 übertragen werden.One from the master 22 to the slave 21 The message to be transmitted may have, for example, an overall length X, the total length being composed of payload data of a length Y and a check sum PS of length Z, that is to say X = Y + Z 6A shown. For example, if X = 20 (total message length) 20 Byte), the length Y of the user data can be, for example, 18 bytes (Y = 18) and the length Z of the checksum 2 Byte (Z = 2). This is just an example. The same applies as exemplified in 6B shown for messages on the MISO line from the slave 21 to the master 22 be transmitted.

Wird die Prüfsumme PS einer Nachricht als nicht korrekt erkannt, kann die Nachricht beispielsweise verworfen werden. Das heißt, die Nachricht kann beispielsweise nicht in die Eingangspuffer 41 übernommen werden. Zudem kann beispielsweise auch eine Fehlermeldung an den Mikrocontroller 30 ausgegeben werden. Ebenso kann auch der Slave 21 eine Prüfsumme PS zusammen mit einer Nachricht an den Master 22 übertragen. Der Master 22 kann die Prüfsumme PS ebenfalls prüfen und die Nachricht verwerfen, wenn die Prüf summe nicht korrekt ist. Das Verwenden von Prüf summen ist jedoch optional. Durch das Hinzufügen von Prüfsummen kann die Kommunikation zwischen Slave 21 und Master 22 jedoch grundsätzlich gut gegen Störungen abgesichert werden.If the checksum PS of a message is recognized as incorrect, the message can be discarded, for example. That is, the message may not be in the input buffer, for example 41 be taken over. In addition, for example, an error message to the microcontroller 30 be issued. Likewise, the slave can 21 a checksum PS along with a message to the master 22 transfer. The master 22 can also check the checksum PS and discard the message if the check sum is not correct. However, using checksums is optional. By adding checksums, the communication between slave 21 and master 22 However, in principle, be well protected against interference.

Der Slave 21 kann weiterhin ein oder mehrere Schieberegister 50, 51 (Shift Register) aufweisen. Dies ist in 7 schematisch dargestellt. Ein erstes Schieberegister 50 (Rx Shift Register) kann beispielsweise dem wenigstens einen Eingangspuffer 41 vorgelagert sein. Vom Master 22 an den Slave 21 übertragene Nachrichten können zunächst im ersten Schieberegister 50 abgelegt werden. Das erste Schieberegister 50 weist eine erste Anzahl an Speicherplätzen (Flipflops) auf. Das Schieberegister 50 ist taktgetrieben. Das heißt, der Speicherinhalt wird bei jedem Takt des Taktsignales vom Master 22 (Takt der SPI-Übertragung) um einen Speicherplatz weiter geschoben. Die Anzahl der im Schieberegister 50 vorhandenen Speicherplätze ist konstant.The slave 21 can still have one or more shift registers 50 . 51 (Shift Register). This is in 7 shown schematically. A first shift register 50 (Rx Shift Register), for example, the at least one input buffer 41 be upstream. From the master 22 to the slave 21 transmitted messages can first in the first shift register 50 be filed. The first shift register 50 has a first number of memory locations (flip-flops). The shift register 50 is clock-driven. That is, the memory contents at each clock of the clock signal from the master 22 (Clock of SPI transmission) shifted by one space. The number in the shift register 50 available memory spaces is constant.

Ein zweites Schieberegister 51 (Tx Shift Register) kann dem wenigstens einen Ausgangspuffer 42 nachgelagert sein. Nachrichten die an den Master 22 gesendet werden sollen, können dann aus dem Ausgangspuffer 42 an das zweite Schieberegister 51 übergeben werden. Im zweiten Schieberegister 51 wird der Speicherinhalt wie in Bezug auf das erste Schieberegister 50 beschrieben taktgetrieben bei jedem Takt des Taktsignales vom Master 22 (Takt der SPI-Übertragung) um einen Speicherplatz weiter geschoben.A second shift register 51 (Tx Shift Register) can the at least one output buffer 42 be downstream. Messages to the master 22 can then be sent out of the output buffer 42 to the second shift register 51 be handed over. In the second shift register 51 the memory contents become as in relation to the first shift register 50 described clock-driven at each clock of the clock signal from the master 22 (Clock of SPI transmission) shifted by one space.

In 7 sind das erste Schieberegister 50 und das zweite Schieberegister 51 jeweils als ein Schieberegister dargestellt. Jedes der Schieberegister 50, 51 kann jedoch auch mehr als ein Register aufweisen. Der Slave 21 kann alternativ auch lediglich ein Schieberegister aufweisen, das dazu ausgebildet ist sowohl Nachrichten die vom Master 22 empfangen werden zunächst zu speichern bevor diese von dort in den Eingangspuffer 41 übernommen werden, als auch Nachrichten die an den Master 22 gesendet werden sollen, vom Ausgangspuffer 42 zu übernehmen bevor diese von dort an den Master 22 übertragen werden. Das Schieberegister fungiert also in diesem Fall gleichzeitig als Eingangsschieberegister als auch als Ausgangsschieberegister. Ebenso ist es denkbar, dass der Slave mehrere Schieberegister aufweist von welchen jedes sowohl als Eingangsschieberegister als auch als Ausgangsschieberegister fungiert. Auch jegliche Kombination von reinen Eingangsschieberegistern, reinen Ausgangsschieberegistern und kombinierten Eingangs- und Ausgangsschieberegistern ist möglich.In 7 are the first shift register 50 and the second shift register 51 each represented as a shift register. Each of the shift registers 50 . 51 however, it may also have more than one register. The slave 21 may alternatively have only one shift register, which is designed to both messages from the master 22 to be received first before storing them from there into the input buffer 41 as well as messages to the master 22 to be sent from the output buffer 42 to take over before this from there to the master 22 be transmitted. The shift register thus acts simultaneously as an input shift register and as an output shift register in this case. It is also conceivable that the slave has a plurality of shift registers, each of which acts both as an input shift register and as an output shift register. Any combination of pure input shift registers, pure output shift registers, and combined input and output shift registers is also possible.

Um die Daten vom ersten Schieberegister 50 an den Eingangspuffer 41 bzw. vom Ausgangspuffer 42 an das zweite Schieberegister 51 zu übertragen ist jedoch ein externer Takt erforderlich. Diese Vorgänge benötigen einen externen Takt, also einen Takt der durch externe Komponenten bereitgestellt wird. Ein solcher externer Takt ist jedoch unter Umständen nicht immer verfügbar. Beispielsweise kann der Mikrocontroller 30 den externen Takt bereitstellen. Der Takt steht dann beispielsweise nicht zur Verfügung, wenn der Mikrocontroller 30 abgeschaltet ist. Das gleiche Problem kann sich auch dann ergeben, wenn der externe Takt nicht durch den Mikrocontroller 30, sondern durch eine andere externe Einheit (nicht dargestellt) bereitgestellt wird.To the data from the first shift register 50 to the input buffer 41 or from the output buffer 42 to the second shift register 51 however, an external clock is required to transmit. These operations require an external clock, that is, a clock provided by external components. However, such an external clock may not always be available. For example, the microcontroller 30 provide the external clock. The clock is then not available, for example, if the microcontroller 30 is switched off. The same problem may arise even if the external clock is not controlled by the microcontroller 30 but provided by another external unit (not shown).

Es kann beispielsweise vorgesehen sein, dass das System in einen Low-Power Modus oder Ruhezustand wechselt, in dem kein externer Takt zur Verfügung steht. Im Low-Power Modus kann der Slave 21 die Daten zunächst im Schieberegister 50 ablegen. Dies kann, wie oben beschrieben, ohne einen externen Takt erfolgen. Das erste Schieberegister 50 bildet somit einen weiteren Puffer vor dem Eingangspuffer 41. Sobald der Slave 21 Daten vom Master 22 empfängt, kann er ein Wecksignal an den Mikrocontroller 30 und eventuell auch an weitere Komponenten senden. Sobald der Mikrocontroller 30 aufgewacht ist, kann er einen externen Takt bereitstellen und die Daten aus dem ersten Schieberegister 50 in den Eingangspuffer 41 übernehmen und entsprechend weiter verarbeiten. Hierbei kann der Slave 21 dem Master 22 zu jedem Zeitpunkt über die fünfte Leitung BUSY signalisieren, ob er noch bereit ist, weitere Daten (SPI-Transmissionen) aufzunehmen oder nicht.It can be provided, for example, that the system switches to a low-power mode or idle state in which no external clock is available. In low-power mode, the slave can 21 the data first in the shift register 50 lay down. This can be done without an external clock as described above. The first shift register 50 thus forms another buffer before the input buffer 41 , As soon as the slave 21 Data from the master 22 It can send a wake-up signal to the microcontroller 30 and possibly also send to other components. Once the microcontroller 30 has woken up, it can provide an external clock and the data from the first shift register 50 in the input buffer 41 take over and process accordingly. Here, the slave 21 the master 22 at any time via the fifth line BUSY signal whether he is ready to receive more data (SPI transmissions) or not.

Der Mikrocontroller 30 und/oder weitere Komponenten müssen nicht notwendigerweise in einen Ruhezustand wechseln wenn keine Kommunikation mit dem Master 22 stattfindet. Um Strom zu sparen ist es jedoch in der Regel sinnvoll zumindest einige Komponenten in einen Ruhezustand zu schalten, in welchem der Stromverbrauch in der Regel deutlich unter dem Stromverbrauch im Normalbetrieb liegt.The microcontroller 30 and / or other components do not necessarily have to go to a sleep state if there is no communication with the master 22 takes place. In order to save power, however, it is usually useful to switch at least some components into a state of rest, in which the power consumption is usually well below the power consumption in normal operation.

Indem die Nachrichten in einem Eingangspuffer 41 abgelegt werden, bevor sie durch den Mikrocontroller 30 verarbeitet werden, können sich Verzögerungen ergeben zwischen dem Zeitpunkt des Empfangs einer Nachricht und dem Zeitpunkt zu welchem diese verarbeitet wird. Der Mikrocontroller 30 kann die Nachrichten prinzipiell zu jedem beliebigen Zeitpunkt aus dem Eingangspuffer 41 auslesen. Um die Daten, welche durch den Mikrocontroller 30 aus dem Eingangspuffer 41 ausgelesen werden einer vorangegangenen Datenübertragung zuordnen zu können, können die Nachrichten beispielsweise mit einem Zeitstempel (Timestamp) versehen werden. Dies ist beispielhaft in 9 dargestellt. Das heißt, neben den Nutzdaten (Payload) und einer (optionalen) Prüfsumme PS können im Slave 21 noch zu den Daten gehörige Zeitstempel abgelegt werden. Der Zeitstempel enthält Informationen zu dem Zeitpunkt, zu welchem die jeweilige Nachricht im Eingangspuffer abgelegt wurde.By putting the messages in an input buffer 41 be filed before going through the microcontroller 30 can be processed, there may be delays between the time a message is received and the time it is processed. The microcontroller 30 In principle, the messages can be retrieved from the input buffer at any time 41 read. To the data, by the microcontroller 30 from the input buffer 41 can be read to be able to assign a previous data transmission, the messages can be provided for example with a timestamp. This is exemplary in 9 shown. That is, in addition to the payload and an (optional) checksum PS can in the slave 21 still time stamps associated with the data are stored. The timestamp contains information about the time at which the respective message was stored in the input buffer.

Die sich möglicherweise ergebende zeitliche Verzögerung ist beispielhaft in 8 dargestellt. In 8 ist schematisch ein Timer dargestellt. Der Timer kann beispielsweise ein durchlaufender Timer sein. Zu einem ersten Zeitpunkt findet die Datenübertragung vom Master 22 zum Slave 21 statt. Dieser erste Timer-Wert, welcher den Übertragungszeitpunkt betrifft, kann parallel zu der Nachricht abgespeichert werden. Der Mikrocontroller 30 kann zu dem Zeitpunkt, zu welchem er die Daten aus dem Eingangspuffer 41 ausliest auch den aktuellen Timer-Wert lesen. Diesen aktuellen Zeitpunkt kann er mit dem zu der Nachricht gehörigen ersten Timer-Wert vergleichen und weiß somit, wieviel Zeit seit der Übertragung vergangen ist (delta). Hierdurch kann der Mikrocontroller 30 den eigentlichen Übertragungszeitpunkt der Daten dann eindeutig bestimmen.The possibly resulting time delay is exemplary in 8th shown. In 8th schematically a timer is shown. The timer may be, for example, a continuous timer. At a first time, data transfer takes place from the master 22 to the slave 21 instead of. This first timer value, which relates to the transmission time, can be stored parallel to the message. The microcontroller 30 can at the time when it receives the data from the input buffer 41 also reads the current timer value read. He can compare this current time with the first timer value associated with the message and thus knows how much time has passed since the transmission (delta). This allows the microcontroller 30 then determine the actual transmission time of the data uniquely.

In ähnlicher Weise kann sich bei der Datenübertragung vom Slave 21 zum Master 22 eine zeitliche Verzögerung zwischen dem Speichern der Daten im Ausgangspuffer 42 und der eigentlichen Übertragung ergeben. Beispielsweise können die Daten durch den Mikrocontroller 30 zu einem ersten Zeitpunkt im Ausgangsregister 42 abgelegt werden. Der Mikrocontroller 30 kann zu diesem Zeitpunkt den Timer-Wert auslesen und einen ersten Zeitstempel zusammen mit den Daten im Ausgangspuffer 42 ablegen, wobei der erste Zeitstempel Informationen über den ersten Zeitpunkt aufweist. Wieder Bezug nehmend auf 9, können beispielsweise die letzten Datenbytes W der Nutzdaten als erste Zeitstempel (Timestamp) Informationen interpretiert werden. Die eigentliche Übertragung erfolgt zu einem zweiten Zeitpunkt. Dies ist in 10 beispielhaft dargestellt. Gemäß einem Beispiel wird jedoch der erste Zeitstempel nicht an den Master 22 übertragen. Stattdessen werden unterschiedliche Daten mit den Nutzdaten verknüpft und übertragen, welche jedoch im Zusammenhang mit dem Timer-Wert zum Zeitpunkt des Ablegens der Daten (erster Parameter) stehen. So kann zum Beispiel der vom Mikrocontroller 30 abgelegte erste Zeitstempel zum Zeitpunkt der Übertragung vom Slave 21 durch solche Daten ersetzt werden. Die Daten können beispielsweise Informationen darüber aufweisen, wieviel Zeit zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt vergangen ist (Delta zwischen erstem Timer-Wert und aktuellem Timer-Wert zum Zeitpunkt der Übertragung).Similarly, during data transfer from the slave 21 to the master 22 a time delay between storing the data in the output buffer 42 and the actual transmission result. For example, the data may be transmitted through the microcontroller 30 at a first time in the output register 42 be filed. The microcontroller 30 At this time, the timer value can be read out and a first time stamp together with the data in the output buffer 42 store, wherein the first timestamp has information about the first time. Again referring to 9 For example, the last data bytes W of the payload data may be interpreted as the first timestamp information. The actual transfer takes place at a second time. This is in 10 exemplified. However, according to one example, the first timestamp is not sent to the master 22 transfer. Instead, different data is linked to the payload and transmitted, but related to the timer value at the time the data is stored (first parameter). For example, the one from the microcontroller 30 filed first timestamp at the time of transmission from the slave 21 be replaced by such data. For example, the data may include information about how much time has elapsed between the first time and the second time (delta between the first timer value and the current timer value at the time of transmission).

Nicht nur ein Kommunikationsbaustein 21, welcher als Slave fungiert, kann die oben beschriebenen sechs Leitungen aufweisen. Auch ein Kommunikationsbaustein 22, welcher als Master fungiert, kann die entsprechenden sechs Leitungen aufweisen damit dieser die Informationen, welche der Kommunikationsbaustein 21 an der fünften und sechsten Leitung bereitstellt, auch empfangen kann.Not just a communication module 21 , which acts as a slave, may have the six lines described above. Also a communication module 22 , which acts as a master, can have the corresponding six lines so that this information, which the communication module 21 at the fifth and sixth line provides, can also receive.

Eine Vorrichtung zum Übertragen von Daten weist einen ersten Kommunikationsbaustein 21 auf, der dazu ausgebildet ist als Slave betrieben zu werden. Die Vorrichtung zum Übertragen von Daten weist weiterhin einen zweiten Kommunikationsbaustein 22 auf, der dazu ausgebildet ist als Master betrieben zu werden. Der erste Kommunikationsbaustein 21 und der zweite Kommunikationsbaustein 22 sind über einen Datenbus miteinander verbunden. Der Datenbus weist sechs Leitungen auf. Dies sind eine erste Leitung CLK zum Übertragen eines Taktsignals von dem zweiten Kommunikationsbaustein 22 an den ersten Kommunikationsbaustein 21, eine zweite Leitung MOSI zum Übertragen von Daten vom zweiten Kommunikationsbaustein 22 an den ersten Kommunikationsbaustein 21, eine dritte Leitung MISO zum Übertragen von Daten vom ersten Kommunikationsbaustein 21 an den zweiten Kommunikationsbaustein 22, eine vierte Leitung CS über welche der erste Kommunikationsbaustein 21 durch den zweiten Kommunikationsbaustein 22 aktiviert werden kann, eine fünfte Leitung BUSY zum Übertragen eines ersten Signals vom ersten Kommunikationsbaustein 21 an den zweiten Kommunikationsbaustein 22, welches Informationen darüber enthält, ob der erste Kommunikationsbaustein 21 dazu bereit ist Daten zu empfangen, und eine sechste Leitung IRQ zum Übertragen eines zweiten Signals vom ersten Kommunikationsbaustein 21 an den zweiten Kommunikationsbaustein 22, welches Informationen darüber enthält, ob der erste Kommunikationsbaustein 21 Daten senden möchte. Die Vorrichtung kann einen ersten Kommunikationsbaustein 21 und einen zweiten Kommunikationsbaustein 22 aufweisen, oder mehrere erste Kommunikationsbausteine 21 und einen zweiten Kommunikationsbaustein 22, wobei jeder der ersten Kommunikationsbausteine 21 mit dem zweiten Kommunikationsbaustein 22 über die beschriebenen sechs Leitungen verbunden ist. Die Vorrichtung kann beispielsweise in einem Fahrzeug angeordnet sein.A device for transmitting data has a first communication module 21 which is designed to be operated as a slave. The device for transmitting data further has a second communication module 22 who is trained to be a master. The first communication module 21 and the second communication module 22 are interconnected via a data bus. The data bus has six lines. These are a first line CLK for transmitting a clock signal from the second communication module 22 to the first communication block 21 , a second line MOSI for transmitting data from the second communication module 22 to the first communication block 21 , a third line MISO for transmitting data from the first communication block 21 to the second communication module 22 , a fourth line CS via which the first communication block 21 through the second communication module 22 can be activated, a fifth line BUSY for transmitting a first signal from the first communication module 21 to the second communication module 22 which contains information about whether the first communication module 21 is ready to receive data, and a sixth line IRQ for transmitting a second signal from the first communication device 21 to the second communication module 22 which contains information about whether the first communication module 21 Want to send data. The device can be a first communication module 21 and a second communication module 22 have, or more first communication blocks 21 and a second communication module 22 , wherein each of the first communication blocks 21 with the second communication block 22 connected via the described six lines. The device may for example be arranged in a vehicle.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

1111
Slaveslave
1212
Mastermaster
2121
erstes Kommunikationsgerät/Slavefirst communication device / slave
2222
zweites Kommunikationsgerät/Mastersecond communication device / master
3030
Mikrocontrollermicrocontroller
4141
Eingangspufferinput buffer
4242
Ausgangspufferoutput buffer
4343
Information ob Puffer gefüllt istInformation on whether buffer is filled
4444
Information ob Puffer leer istInformation if buffer is empty
4545
Information über Begin einer ÜbertragungInformation about the beginning of a transmission
4646
Information über Ende einer ÜbertragungInformation about the end of a transmission
50, 5150, 51
Schieberegistershift register

Claims (15)

Kommunikationsbaustein (21) der dazu ausgebildet ist als Slave betrieben zu werden und mit einem zweiten Kommunikationsbaustein (22) verbunden zu werden, der dazu ausgebildet ist als Master betrieben zu werden, wobei der erste Kommunikationsbaustein (21) aufweist: eine erste Leitung (CLK) zum Empfangen eines Taktsignals von dem zweiten Kommunikationsbaustein (22); einer zweiten Leitung (MOSI) zum Empfangen von Daten; einer dritten Leitung (MISO) zum Senden von Daten; einer vierten Leitung (CS) über welche der erste Kommunikationsbaustein (21) durch den zweiten Kommunikationsbaustein (22) aktiviert werden kann; und wenigstens einem von einer fünften Leitung (BUSY) zum Ausgeben eines ersten Signals welches Informationen darüber enthält, ob der erste Kommunikationsbaustein (21) dazu bereit ist Daten zu empfangen; und einer sechsten Leitung (IRQ) zum Ausgeben eines zweiten Signals welches Informationen darüber enthält, ob der erste Kommunikationsbaustein (21) Daten senden möchte.Communication module (21) which is designed to be operated as a slave and to be connected to a second communication module (22), which is designed to be operated as a master, wherein the first communication module (21) comprises: a first line (CLK) for receiving a clock signal from the second communication device (22); a second line (MOSI) for receiving data; a third line (MISO) for transmitting data; a fourth line (CS) via which the first communication module (21) can be activated by the second communication module (22); and at least one of a fifth line (BUSY) for outputting a first signal containing information as to whether the first communication device (21) is ready to receive data; and a sixth line (IRQ) for outputting a second signal containing information as to whether the first communication device (21) wishes to transmit data. Kommunikationsbaustein (21) nach Anspruch 1, der dazu ausgebildet ist, mit dem zweiten Kommunikationsbaustein (22) über einen SPI-Bus verbunden zu werden.Communication module (21) after Claim 1 which is adapted to be connected to the second communication module (22) via an SPI bus. Kommunikationsbaustein (21) nach Anspruch 1 oder 2, der weiterhin wenigstens einen Eingangspuffer (41) aufweist, der dazu ausgebildet ist, Nachrichten zu speichern, welche vom zweiten Kommunikationsbaustein (22) empfangen werden.Communication module (21) after Claim 1 or 2 further comprising at least one input buffer (41) adapted to store messages received from the second communication module (22). Kommunikationsbaustein (21) nach einem der Ansprüche 1 bis 3, der weiterhin wenigstens einen Ausgangspuffer (42) aufweist, der dazu ausgebildet ist, Nachrichten zu speichern, die an den zweiten Kommunikationsbaustein (22) übertragen werden sollen.Communication module (21) according to one of Claims 1 to 3 further comprising at least one output buffer (42) adapted to store messages to be transmitted to the second communication module (22). Kommunikationsbaustein (21) nach Anspruch 4, der dazu ausgebildet ist mit einem Mikrocontroller (30) verbunden zu werden, wobei der Mikrocontroller (30) dazu ausgebildet ist, Nachrichten aus dem Eingangspuffer (41) auszulesen und zu verarbeiten und Nachrichten in den Ausgangspuffer (42) zur Übertragung an den zweiten Kommunikationsbaustein (22) abzulegen.Communication module (21) after Claim 4 adapted to be connected to a microcontroller (30), the microcontroller (30) being adapted to read and process messages from the input buffer (41) and messages to the output buffer (42) for transmission to the second communication device (22). Kommunikationsbaustein (21) nach einem der vorherigen Ansprüche, wobei das erste Signal der fünften Leitung (BUSY) einen ersten Zustand (aktiv) annimmt, wenn der erste Kommunikationsbaustein (21) keine neuen Nachrichten empfangen kann; und einen zweiten Zustand (nicht aktiv) annimmt, wenn der erste Kommunikationsbaustein (21) neue Nachrichten empfangen kann.Communication module (21) according to one of the preceding claims, wherein the first signal of the fifth line (BUSY) assumes a first state (active) when the first communication device (21) can not receive new messages; and assumes a second state (not active) when the first communication device (21) can receive new messages. Kommunikationsbaustein (21) nach einem der vorherigen Ansprüche, wobei das zweite Signal der sechsten Leitung (IRQ) einen ersten Zustand (aktiv) annimmt, wenn der erste Kommunikationsbaustein (21) neue Nachrichten senden möchte; und einen zweiten Zustand (nicht aktiv) annimmt, wenn der erste Kommunikationsbaustein (21) keine neuen Nachrichten zu senden hat.Communication module (21) according to one of the preceding claims, wherein the second signal of the sixth line (IRQ) assumes a first state (active) when the first communication device (21) wishes to send new messages; and assumes a second state (not active) when the first communication device (21) has no new messages to send. Kommunikationsbaustein (21) nach einem der vorhergehenden Ansprüche, der dazu ausgebildet ist Nachrichten an den zweiten Kommunikationsbaustein (22) zu senden, welche neben Nutzdaten auch eine Prüfsumme (PS) aufweisen; und Nachrichten von dem zweiten Kommunikationsbaustein (22) zu empfangen, welche neben Nutzdaten auch eine Prüfsumme (PS) aufweisen, wobei anhand der Prüfsumme die Integrität einer Nachricht überprüft werden kann.Communication module (21) according to one of the preceding claims, which is adapted to send messages to the second communication module (22), which in addition to payload data also have a checksum (PS); and Receive messages from the second communication module (22), which in addition to payload also a checksum (PS), wherein the integrity of a message can be checked based on the checksum. Kommunikationsbaustein (21) nach einem der vorherigen Ansprüche, der weiterhin wenigstens eines aufweist von: wenigstens ein erstes Schieberegister (50), das derart vor dem Eingangspuffer (41) angeordnet ist, dass Nachrichten die vom zweiten Kommunikationsbaustein (22) empfangen werden zunächst im ersten Schieberegister (50) gespeichert werden und von dort in den Eingangspuffer (41) übernommen werden; und wenigstens ein zweites Schieberegister (51), das derart hinter dem Ausgangspuffer (42) angeordnet ist, dass Nachrichten die an den zweiten Kommunikationsbaustein (22) gesendet werden sollen, vom Ausgangspuffer (42) in das zweite Schieberegister (51) übernommen werden und von dort an das zweite Kommunikationsgerät (22) übertragen werden.Communication module (21) according to one of the preceding claims, further comprising at least one of: at least one first shift register (50) arranged in front of the input buffer (41) such that messages received by the second communication module (22) are first stored in the first shift register (50) and transferred from there to the input buffer (41) ; and at least one second shift register (51) located behind the output buffer (42) such that messages to be sent to the second communication device (22) are taken from the output buffer (42) to the second shift register (51) and from there be transmitted to the second communication device (22). Kommunikationsbaustein (21) nach einem der vorhergehenden Ansprüche, der wenigstens ein Schieberegister aufweist, wobei wenigstens eines der Schieberegister dazu ausgebildet ist, Nachrichten die vom zweiten Kommunikationsbaustein (22) empfangen werden zunächst zu speichern bevor diese von dort in den Eingangspuffer (41) übernommen werden, und Nachrichten die an den zweiten Kommunikationsbaustein (22) gesendet werden sollen, vom Ausgangspuffer (42) zu übernehmen bevor diese von dort an das zweite Kommunikationsgerät (22) übertragen werden.Communication module (21) according to one of the preceding claims, comprising at least one shift register, wherein at least one of the shift registers is designed to Messages received by the second communication module (22) are first to be stored before they are transferred from there into the input buffer (41), and Messages to be sent to the second communication module (22) to take over from the output buffer (42) before they are transferred from there to the second communication device (22). Kommunikationsbaustein (21) nach Anspruch 9 oder 10, wobei die Schieberegister durch das Taktsignal oder durch einen aus dem Taktsignal generierten Takt getrieben werden.Communication module (21) after Claim 9 or 10 wherein the shift registers are driven by the clock signal or by a clock generated from the clock signal. Kommunikationsbaustein (21) nach einem der Ansprüche 4 bis 11, wobei eine Nachricht die an den zweiten Kommunikationsbaustein (22) übertragen werden soll zu einem ersten Zeitpunkt in dem Ausgangspuffer (42) gespeichert wird; ein erster Zeitstempel zusammen mit der Nachricht im Ausgangspuffer (42) abgelegt wird, wobei der erste Zeitstempel Informationen über den ersten Zeitpunkt enthält; die Nachricht zu einem zweiten Zeitpunkt an den zweiten Kommunikationsbaustein (22) übertragen wird; der erste Kommunikationsbaustein (21) dazu ausgebildet ist, wenn die Nachricht an den zweiten Kommunikationsbaustein (22) übertragen wird, den ersten Zeitstempel durch erste Daten zu ersetzen, wobei die ersten Daten Informationen zu einer Zeitdauer (delta) aufweisen die zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt vergangen ist.Communication module (21) according to one of Claims 4 to 11 wherein a message to be transmitted to the second communication device (22) is stored at a first time in the output buffer (42); a first timestamp is stored along with the message in the output buffer (42), the first timestamp containing information about the first time; the message is transmitted to the second communication module (22) at a second time; the first communication module (21) is designed, when the message is transmitted to the second communication module (22), to replace the first time stamp with first data, the first data having information about a time duration (delta) between the first time and the second time has passed. Kommunikationsbaustein (22) der dazu ausgebildet ist, als Master betrieben zu werden und mit wenigstens einem ersten Kommunikationsbaustein (21) verbunden zu werden, der dazu ausgebildet ist als Slave betrieben zu werden, wobei der zweite Kommunikationsbaustein (22) aufweist: eine erste Leitung (CLK) zum Ausgeben eines Taktsignals an den wenigstens einen ersten Kommunikationsbaustein (21); einer zweiten Leitung (MOSI) zum Senden von Daten; einer dritten Leitung (MISO) zum Empfangen von Daten; einer vierten Leitung (CS) über welche der zweite Kommunikationsbaustein (22) den wenigstens einen Kommunikationsbaustein (21) aktivieren kann; und wenigstens einem von einer fünften Leitung (BUSY) zum Empfangen eines ersten Signals von dem wenigstens einen ersten Kommunikationsbaustein (21), wobei das erste Signal Informationen darüber enthält, ob der wenigstens eine erste Kommunikationsbaustein (21) dazu bereit ist Daten zu empfangen; und einer sechsten Leitung (IRQ) zum Empfangen eines zweiten Signals von dem wenigstens einen ersten Kommunikationsbaustein (21), wobei das zweite Signal Informationen darüber enthält, ob der wenigstens eine erste Kommunikationsbaustein (21) Daten senden möchte.Communication module (22) which is designed to be operated as a master and to be connected to at least one first communication module (21), which is designed to be operated as a slave, wherein the second communication module (22) comprises: a first line (CLK) for outputting a clock signal to the at least one first communication module (21); a second line (MOSI) for transmitting data; a third line (MISO) for receiving data; a fourth line (CS) via which the second communication module (22) can activate the at least one communication module (21); and at least one of a fifth line (BUSY) for receiving a first signal from the at least one first communication device (21), the first signal containing information as to whether the at least one first communication device (21) is ready to receive data; and a sixth line (IRQ) for receiving a second signal from the at least one first communication device (21), the second signal containing information about whether the at least one first communication device (21) wishes to transmit data. Vorrichtung zur Datenübertragung mit wenigstens einem ersten Kommunikationsbaustein (21) und einem zweiten Kommunikationsbaustein (22), wobei der wenigstens eine erste Kommunikationsbaustein dazu ausgebildet ist als Slave betrieben zu werden und der zweite Kommunikationsbaustein (22) dazu ausgebildet ist als Master betrieben zu werden, wobei der wenigstens eine erste Kommunikationsbaustein (21) und der zweite Kommunikationsbaustein (22) über einen Datenbus miteinander verbunden sind, und wobei der Datenbus aufweist: eine erste Leitung (CLK) zum Übertragen eines Taktsignals von dem zweiten Kommunikationsbaustein (22) an den ersten Kommunikationsbaustein (21); einer zweiten Leitung (MOSI) zum Übertragen von Daten vom zweiten Kommunikationsbaustein (22) an den wenigstens einen ersten Kommunikationsbaustein (21); einer dritten Leitung (MISO) zum Übertragen von Daten von dem wenigstens einen ersten Kommunikationsbaustein (21) an den zweiten Kommunikationsbaustein (22); einer vierten Leitung (CS) über welche der wenigstens eine erste Kommunikationsbaustein (21) durch den zweiten Kommunikationsbaustein (22) aktiviert werden kann; und wenigstens eines von einer fünften Leitung (BUSY) zum Übertragen eines ersten Signals an den zweiten Kommunikationsbaustein (22) welches Informationen darüber enthält, ob der wenigstens eine erste Kommunikationsbaustein (21) dazu bereit ist Daten zu empfangen; und einer sechsten Leitung (IRQ) zum Übertragen eines zweiten Signals an den zweiten Kommunikationsbaustein (22) welches Informationen darüber enthält, ob der wenigstens eine erste Kommunikationsbaustein (21) Daten senden möchte.Device for data transmission with at least a first communication module (21) and a second communication module (22), wherein the at least one first communication module is configured to be operated as a slave and the second communication module (22) is designed to be operated as a master, wherein the at least one first communication component (21) and the second communication component (22) are interconnected via a data bus, and wherein the data bus comprises: a first line (CLK) for transmitting a clock signal from the second communication component (22) to the first communication component ( 21); a second line (MOSI) for transmitting data from the second communication module (22) to the at least one first communication module (21); a third line (MISO) for transmitting data from the at least one first communication device (21) to the second communication device (22); a fourth line (CS) via which the at least one first communication module (21) can be activated by the second communication module (22); and at least one of a fifth line (BUSY) for transmitting a first signal to the second communication device (22) containing information as to whether the at least one first communication device (21) is ready to receive data; and a sixth line (IRQ) for transmitting a second signal to the second communication device (22) containing information as to whether the at least one first communication device (21) wishes to transmit data. Vorrichtung nach Anspruch 14, wobei die Vorrichtung in einem Fahrzeug angeordnet ist.Device after Claim 14 , wherein the device is arranged in a vehicle.
DE102017216991.5A 2017-09-26 2017-09-26 Communication module and device for data transmission Active DE102017216991B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017216991.5A DE102017216991B4 (en) 2017-09-26 2017-09-26 Communication module and device for data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017216991.5A DE102017216991B4 (en) 2017-09-26 2017-09-26 Communication module and device for data transmission

Publications (2)

Publication Number Publication Date
DE102017216991A1 true DE102017216991A1 (en) 2019-03-28
DE102017216991B4 DE102017216991B4 (en) 2024-03-07

Family

ID=65638453

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017216991.5A Active DE102017216991B4 (en) 2017-09-26 2017-09-26 Communication module and device for data transmission

Country Status (1)

Country Link
DE (1) DE102017216991B4 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143348A1 (en) * 2004-12-29 2006-06-29 Wilson Matthew T System, method, and apparatus for extended serial peripheral interface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143348A1 (en) * 2004-12-29 2006-06-29 Wilson Matthew T System, method, and apparatus for extended serial peripheral interface

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
„Serial Peripheral Interface Bus". In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 4. August 2017, 09:08 UTC. URL: https://en.wikipedia.org/w/index.php?title=Serial_Peripheral_Interface_Bus&oldid=793841576 [abgerufen am 18.06.2018] *
STMicroelectronics : STM32F7 - SPI. Serial Peripheral Interface, 10. August 2017. Genf Schweiz 2017. Seiten 1 – 28 - Firmenschrift. https://web.archive.org/web/20170810015159/http://www.st.com/content/ccc/resource/training/technical/product_training/group0/3e/ee/cd/b7/84/4b/45/ee/STM32F7_Peripheral_SPI/files/STM32F7_Peripheral_SPI.pdf/_jcr_content/translations/en.STM32F7_Peripheral_SPI.pdf [abgerufen am 18.06.2018] *

Also Published As

Publication number Publication date
DE102017216991B4 (en) 2024-03-07

Similar Documents

Publication Publication Date Title
DE3300261C2 (en)
DE3300260C2 (en)
DE3300262C2 (en)
DE69634358T2 (en) DELAY REDUCTION IN THE TRANSMISSION OF BUFFERED DATA BETWEEN TWO ASYNCHRONOUS BUSES
DE102010049534B4 (en) Coupling units, system with a coupling unit and method for use in a system with a coupling unit
DE3004827C2 (en) Data processing system
DE4307449C2 (en) Method and circuit for resynchronizing a synchronous serial interface
DE102013113262B4 (en) trigger routing unit
WO2006111499A1 (en) Method and device for synchronising two bus systems, and arrangement consisting of two bus systems
DE102008055892A1 (en) Storing sections of a data transfer descriptor in a cached and uncached address space
DE102005048581B4 (en) Subscriber interface between a FlexRay communication module and a FlexRay subscriber and method for transmitting messages via such an interface
DE102013210077A1 (en) Method for providing a generic interface and microcontroller with generic interface
DE112018002334T5 (en) DEVICES AND METHOD FOR TRANSMITTING EVENTS WITH A SAME-SHAPED LATENCY ON SERIAL COMMUNICATION LINKS
DE112015006192T5 (en) Communication device, communication method and program
DE102013210182A1 (en) Method for providing a generic interface and microcontroller with generic interface
DE102018001574B4 (en) Master-slave bus system and method for operating a bus system
EP1639758B1 (en) Method and device for the exchange of data via a bus system
DE112019005021T5 (en) DEVICES, SYSTEMS AND PROCEDURES FOR SYNCHRONIZING EVENT WINDOWS IN RADIO NETWORKS
DE102009001898A1 (en) Circuit arrangements and methods for controlling a data exchange in a circuit arrangement
DE102011004358B3 (en) Method for transmitting data over a synchronous serial data bus
EP1370952B1 (en) Communication method for establishing event channels in a timed communication system
EP3072250B1 (en) Communication device, communication system and method for the synchronised sending of messages
DE102017216991B4 (en) Communication module and device for data transmission
EP2801915B1 (en) Adaptive interface for coupling of fpga modules
EP1308846B1 (en) Data Transfer Device

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: H04L0012403000

Ipc: G06F0013400000

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE GMBH, 30165 HANNOVER, DE

R018 Grant decision by examination section/examining division
R081 Change of applicant/patentee

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, 30165 HANNOVER, DE