DE102018106085B3 - Interfaceschaltung - Google Patents

Interfaceschaltung Download PDF

Info

Publication number
DE102018106085B3
DE102018106085B3 DE102018106085.8A DE102018106085A DE102018106085B3 DE 102018106085 B3 DE102018106085 B3 DE 102018106085B3 DE 102018106085 A DE102018106085 A DE 102018106085A DE 102018106085 B3 DE102018106085 B3 DE 102018106085B3
Authority
DE
Germany
Prior art keywords
data stream
dldat1
symbol
uldat1
edge
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.)
Active
Application number
DE102018106085.8A
Other languages
English (en)
Inventor
Maximilian Mangst
Thorsten Hinderer
Eric Pihet
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102018106085.8A priority Critical patent/DE102018106085B3/de
Priority to US16/296,042 priority patent/US10728064B2/en
Priority to CN201910199969.9A priority patent/CN110275853B/zh
Application granted granted Critical
Publication of DE102018106085B3 publication Critical patent/DE102018106085B3/de
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
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0264Arrangements for coupling to transmission lines
    • H04L25/0266Arrangements for providing Galvanic isolation, e.g. by means of magnetic or capacitive coupling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/493Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems by transition coding, i.e. the time-position or direction of a transition being encoded before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/042Detectors therefor, e.g. correlators, state machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Abstract

Es wird ein Verfahren für eine Bus-Interfaceschaltung beschrieben. Gemäß einem Ausführungsbeispiel umfasst das Verfahren das Codieren eines ersten Datenstroms, indem fallenden und steigenden Flanken des ersten Datenstroms erste Symbole zugeordnet werden und das Codieren eines weiteren Datenstroms, indem dessen Flanken oder Pegel zweite Symbole zugeordnet werden. Aus den ersten Symbolen und zweiten Symbolen wird eine Symbolsequenz aufgebaut, wobei diese so aufgebaut wird, dass die ersten Symbole relativ zu den zugehörigen Flanken des ersten Datenstroms immer um denselben Wert verzögert sind. Das Verfahren umfasst weiter das Übertragen der Symbolsequenz über ein galvanisch trennendes Bauelement und das Decodieren der über das galvanisch trennende Bauelement übertragenen Symbolsequenz, um den ersten Datenstrom und den weiteren Datenstrom zu rekonstruieren.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Beschreibung betrifft das Gebiet der Datenbusse, insbesondere Bus-Interfaceschaltungen für serielle Busse.
  • HINTERGRUND
  • Datenbusse werden zur digitalen Kommunikation zwischen zwei oder mehreren elektronischen Geräten genutzt. Ein an einen Bus angeschlossenes Gerät wird häufig als Busknoten bezeichnet. Im Allgemeinen bezeichnet der Ausdruck „Bus“ üblicherweise ein Kommunikationssystem, das sowohl die Spezifikation der Bus-Hardware, als auch ein Kommunikationsprotokoll umfasst, gemäß dem die Busknoten kommunizieren. Viele Datenbusse sind standardisiert, wobei unterschiedliche Busstandards in unterschiedlichen Gebieten der Industrie vorherrschen. Beispielsweise wird in der Automobilindustrie (jedoch auch in anderen industriellen Einsatzgebieten) häufig CAN (Controller Area Network), LIN (Local Interchange Network) und FlexRay verwendet. Die genannten Beispiele sind aus der Kategorie der Feldbusse.
  • Wenn in einem Kommunikationssystem eine Datenübertragung zwischen Busknoten in verschiedenen Versorgungsspannungsdomänen (z.B. 12V/48V in Automobilanwendungen) gewünscht ist, dann ist im Übertragungspfad üblicherweise eine galvanische Trennung (galvanic isolation) vorgesehen. Eine galvanische Trennung kann jedoch auch zum Zwecke eines Überspannungsschutzes oder aus anderen Gründen sinnvoll sein, auch wenn keine verschiedenen Spannungsdomänen mit unterschiedlichen Versorgungsspannungen verwendet werden. Diese galvanische Trennung wird beispielsweise mittels Bauelementen wie Optokoppler, integrierte kernlose Transformatoren, Koppelkondensatoren, etc. implementiert. Derartige Bauelemente können in Bus-Interfaceschaltungen integriert sein, die eine Schnittstelle zwischen den Busleitungen und einem elektronischen Gerät wie z.B. einem Mikrocontroller bilden. Gleichzeitig bildet die Bus-Interfaceschaltung auch eine Schnittstelle zwischen zwei Versorgungsspannungsdomänen. Beispielsweise beschreibt die Publikation US 20110289248A1 eine Bus-Interfaceschaltung mit einem galvanischen Trennelement. In der Bus-Interfaceschaltung werden die fallenden und steigenden Flanken eines digitalen Datensignals mittels Pulsen über einen galvanisch isolierenden Übertrager übertragen und auf der Sekundärseite wieder in digitale Daten umgesetzt.
  • Bekannte Bus-Interfaceschaltungen können für jeden zu übertragenden Datenstrom (Digitalsignal) eine galvanisch trennendendes Bauelement wie z.B. einen integrierten kernlosen Transformator aufweisen. In vielen Anwendungen werden innerhalb der Bus-Interfaceschaltung nicht nur der über den Bus zu übertragende Datenstrom (Uplink-Datenstrom) und der vom Bus empfangene Datenstrom (Downlink-Datenstrom) über galvanisch trennende Bauelemente übertragen, sondern auch weitere Signale wie z.B. Status- und Diagnosesignale. Für die Übertragung dieser Signale werden zusätzliche galvanisch trennende Bauelemente verwendet, was bei integrierten Bus-Interfaceschaltungen einen vergleichsweise hohen Chipflächenbedarf zur Folge hat.
  • ZUSAMMENFASSUNG
  • Es wird eine Bus-Interfaceschaltung beschrieben. Gemäß einem Ausführungsbeispiel weist die Bus-Interfaceschaltung ein galvanisch trennendes Bauelement sowie eine Codierschaltung und eine Decodierschaltung auf, die über das galvanisch trennende Bauelement gekoppelt sind. Die Codierschaltung ist dazu ausgebildet, einen ersten Datenstrom und sowie mindestens einen weiteren Datenstrom zu empfangen, den ersten Datenstrom zu codieren, indem fallenden und steigenden Flanken des ersten Datenstroms erste Symbole zugeordnet werden, und den mindestens einen weiteren Datenstrom zu codieren, indem dessen Flanken oder Pegel zweite Symbole zugeordnet werden. Aus den ersten Symbolen und zweiten Symbolen wird eine Symbolsequenz aufgebaut, die dem galvanisch trennenden Bauelement zugeführt und über dieses übertragen wird. Die Decodierschaltung empfängt die Symbolsequenz und ist dazu ausgebildet, die Symbolsequenz zu decodieren und daraus den ersten Datenstrom und den mindestens einen weiteren Datenstrom zu rekonstruieren. Dabei ist die Codierschaltung dazu ausgebildet, die Symbolsequenz so aufzubauen, dass die ersten Symbole relativ zu den zugehörigen Flanken des ersten Datenstroms immer um denselben Wert verzögert sind.
  • Des Weiteren wird ein Verfahren für eine Bus-Interfaceschaltung beschrieben. Gemäß einem Ausführungsbeispiel umfasst das Verfahren das Codieren eines ersten Datenstroms, indem fallenden und steigenden Flanken des ersten Datenstroms erste Symbole zugeordnet werden und das Codieren eines weiteren Datenstroms, indem dessen Flanken oder Pegel zweite Symbole zugeordnet werden. Aus den ersten Symbolen und zweiten Symbolen wird eine Symbolsequenz aufgebaut, wobei diese so aufgebaut wird, dass die ersten Symbole relativ zu den zugehörigen Flanken des ersten Datenstroms immer um denselben Wert verzögert sind. Das Verfahren umfasst weiter das Übertragen der Symbolsequenz über ein galvanisch trennendes Bauelement und das Decodieren der über das galvanisch trennende Bauelement übertragenen Symbolsequenz, um den ersten Datenstrom und den weiteren Datenstrom zu rekonstruieren.
  • Figurenliste
  • Nachfolgend werden Ausführungsbeispiele anhand von Abbildungen näher erläutert. Die Darstellungen sind nicht zwangsläufig maßstabsgetreu und die Ausführungsbeispiele sind nicht nur auf die dargestellten Aspekte beschränkt. Vielmehr wird Wert darauf gelegt, die den Ausführungsbeispielen zugrunde liegenden Prinzipien darzustellen. In den Abbildungen zeigt:
    • 1 illustriert ein Beispiel eines Busknotens mit einem Mikrocontroller und einer Bus-Interfaceschaltung für einen CAN-Bus.
    • 2 ist ein Diagramm zur Illustration der in einer Bus-Interfaceschaltung verwendeten Übertragungspfade, wobei für jeden zu übertragenden Datenstrom ein galvanisch trennendes Bauelement verwendet wird.
    • 3 ist ein Diagramm zur Illustration der in einer Bus-Interfaceschaltung verwendeten Übertragungspfade, wobei mehrere Datenströme über dasselbe galvanisch trennende Bauelement übertragen werden.
    • 4 ist ein Blockdiagramm eines ersten Ausführungsbeispiels einer Bus-Interfaceschaltung für einen CAN-Bus wobei zwei oder mehr Uplink- oder Downlink-Datenströme über dieselben kernlosen Transformatoren übertragen werden.
    • 5 illustriert anhand von Timing-Diagrammen die Datenübertragung über einen kernlosen Transformator während im CAN-Protokoll definierten Übertragungslücken.
    • 6 illustriert anhand von Timing-Diagrammen die Datenübertragung über einen kernlosen Transformator in der Mitte einer Bitperiode des CAN-Datenstroms.
    • 7-9 illustrieren anhand von exemplarischen Timing-Diagrammen ein Schema zur simultanen Datenübertragung von zwei oder mehr Datenströmen über einen kernlosen Transformator und einem Mechanismus zur Vermeidung von Kollisionen durch Einführung einer deterministischen Verzögerung.
    • 10 illustriert anhand eines Blockschaltbildes eine exemplarische Implementierung einer Codierschaltung, die in einer Businterfaceschaltung gemäß 4 verwendet werden kann.
    • 11 illustriert anhand von Timing-Diagrammen exemplarisch die Funktion der Codierschaltung aus 10.
    • 12 illustriert anhand von Timing-Diagrammen exemplarisch die Funktion einer Decodierschaltung, welche die von der Codierschaltung aus 10 codierten Signale decodiert.
    • 13 illustriert anhand eines Blockschaltbildes eine weiteres Ausführungsbeispiel einer Codierschaltung, die in einer Businterfaceschaltung gemäß 4 verwendet werden kann, wobei die Zustände der Datenströme niedriger Priorität in einem Register gespeichert und der Inhalt des Registers zusammen mit dem Zustand des höher priorisierten Datenstroms in einem Frame über den kernlosen Transformator übertragen wird.
    • 14-16 illustrieren anhand von exemplarischen Timing-Diagrammen ein weiteres Schema zur simultanen Datenübertragung von zwei oder mehr Datenströmen über einen kernlosen Transformator, wobei die Zustände mehrerer Datenströme in einem Frame zusammengefasst werden.
    • 17 illustriert Beispiele der Realisierung unterschiedlicher Symbole für die Informationsübertragung über einen kernlosen Transformator.
    • 18 illustriert anhand von exemplarischen Timing-Diagrammen die Unterbrechung einer Frame-Übertragung und den Start einer neuen Frame-Übertragung, wobei durch Einführung einer deterministischen Verzögerung unvollständige Symbole vermieden werden.
    • 19 illustriert eine exemplarische Implementierung des Beispiels aus 13 detaillierter.
  • DETAILLIERTE BESCHREIBUNG
  • Die hier beschriebenen Beispiele betreffen Bus-Interfaceschaltungen für CAN-Bussysteme. Es versteht sich, dass die hier beschriebenen Konzepte in einfacher Weise auch auf andere Bussysteme wie z.B. LIN, Flexray oder Profibus (Process Field Bus) angewendet werden können. Die folgende Beschreibung ist deshalb nicht auf CAN-Bussysteme beschränkt. Des Weiteren sei angemerkt, dass die hier beschriebenen Konzepte nicht nur im Automobilbereich, sondern auch in anderen industriellen Applikationen angewendet werden können.
  • 1 illustriert ein allgemeines Beispiel eines Busknotens mit einem Mikrocontroller 10 und einer Bus-Interfaceschaltung 20 (kurz Bus-Interface) für einen CAN-Bus (Busleitungen 30). Es versteht sich, dass das Beispiel eine vereinfachte Darstellung ist, welche nur jene Elemente enthält, die für die folgenden Erläuterungen notwendig sind. Der Mikrocontroller 10 verarbeitet sowohl die über den Bus zu übertragenden Daten als auch die vom Bus empfangenen Daten, wobei die Daten als serielle Datenströme übertragen werden, die ein dem Busprotokoll (z.B. CAN-FD Protokoll gemäß ISO 11898-1:2015) entsprechendes Format aufweisen. In dem dargestellten Beispiel ist der über den Bus zu übertragene Datenstrom als Uplink-Datenstrom ULDAT1 und der vom Bus empfangene Datenstrom als Downlink-Datenstrom DLDAT1 bezeichnet. Der Downlink-Datenstrom DLDAT2 stammt von einer anderen Datenquelle und wurde nicht über die Busleitungen 30 empfangen. Der Datenstrom DLDAT2 kann z.B. Status- und Diagnoseinformationen (z.B. Unterspannungswarnung) enthalten, die von in dem Bus-Interface 20 enthaltenen Schaltkreisen erzeugt werden können. In gleicher Weise kann der Uplink-Datenstrom z.B. Status- und Diagnoseinformationen enthalten, die beispielsweise vom Mikrocontroller 10 (oder anderen Quellen) zur Verfügung gestellt werden können und in die andere Spannungsdomäne übertragen werden sollen. Es versteht sich, dass in manchen Ausführungsbeispielen, ein weiterer Datenstrom ULDAT2 oder DLDAT2 nur im Uplink- bzw. Downlink-Pfad übertragen wird und in die andere Richtung nur ein einziger Datenstrom (ULDAT1 bzw. DLDAT1) übertragen wird.
  • Das Bus-Interface 20 enthält eine galvanische Trennung 21, die manchmal auch als galvanische Isolationsbarriere (galvanic isolation barrier) bezeichnet wird. Das Bus-Interface 20 ist dazu ausgebildet über einen externen Kontakt (z.B. Pin TX) den Datenstrom ULDAT1 zu empfangen, diesen Datenstrom ULDAT1 über die Isolationsbarriere 21 zu übertragen und in ein korrespondierendes Bussignal zu konvertieren. Im Fall eines CAN-Busses ist dieses Bussignal ein differentielles Spannungssignal, welches an den externen Kontakten (Pins) CANH und CANL bereitgestellt wird. Die Kontakte CANH und CANL sind mit den Busleitungen 30 (z.B. einem verdrillten Leitungspaar, Twisted-Pair-Kabel) verbunden. In gleicher Weise wird ein vom Bus empfangener Datenstrom über die Isolationsbarriere 21 übertragen und an einem externen Kontakt (z.B. Pin RX) als Downlink-Datenstrom DLDAT1 dem Mikrokontroller 10 zur Verfügung gestellt. Auch Status- und Diagnoseinformation, welche (in der Abbildung rechts) der Isolationsbarriere 21 generiert wird kann als Datenstrom/Digitalsignal DLDAT2 über die Isolationsbarriere 21 übertragen werden und an einem weiteren externen Kontakt (z.B. Pin UV) dem Mikrokontroller 10 zur Verfügung gestellt werden. Optional können Status- und Diagnoseinformationen als Datenstrom/Digitalsignal ULDAT2 auch in die andere Richtung (im dargestellten Beispiel von der 48V-Domäne in die 12V-Domäne) übertragen werden.
  • Wie erwähnt kann das Bus-Interface 20 auch als Schnittstelle zwischen zwei Versorgungsspannungsdomänen dienen. In dem dargestellten Beispiel werden alle Komponenten rechts von der Isolationsbarriere 21 über eine 12V-Spannungsversorgung versorgt und alle Komponenten links von der Isolationsbarriere 21 über eine 48V-Spannungsversorgung versorgt. Zwischen den beiden Versorgungsspannungsdomänen gibt es keine direkte elektrische (galvanische) Verbindung. Informationen werden ausschließlich über die Isolationsbarriere 21 übertragen. Diese kann für jeden zu übertragenden Datenstrom ein separates galvanisch trennendes Bauelement (z.B. einen kernlosen Transformator) aufweisen. Im dargestellten Beispiel umfasst die Isolationsbarriere 21 z.B. drei kernlose Transformatoren zur Übertragung der Datenströme ULDAT1, DLDAT1 und DLDAT2.
  • 2 ist ein Diagramm zur funktionalen Darstellung eines Beispiels der Datenübertragung über die Isolationsbarriere 21 innerhalb einer integrierten Bus-Interfaceschaltung 20, wobei lediglich die Downlink-Datenströme dargestellt sind. Für Uplink-Datenströme ist die Situation die gleiche, lediglich die Richtung der Datenübertragung ist umgekehrt. In dem dargestellten Beispiel werden in der Schnittstellenschaltung zwei Downlink-Datenströme übertragen, ein erster Datenstrom DLDAT1, der hohe Priorität hat, und ein zweiter Datenstrom DLDAT2, der niedrige Priorität hat. Der Datenstrom DLDAT1 mit hoher Priorität enthält jene Daten, die vom Bus empfangen wurden. Dieser Datenstrom DLDAT1 hat ein Format gemäß dem verwendeten Busprotokoll, wobei vergleichsweise hohe Anforderungen in Bezug auf Jitter zu erfüllen sind. Der Datenstrom DLDAT2 mit niedriger Priorität kann wie erwähnt Status- und Diagnosedaten enthalten. Die Datenströme DLDAT1 und DLDAT2 sind asynchron und werden in bekannten Bus-Interfaceschaltungen über separate galvanisch trennende Bauelemente übertragen. Sofern die Isolationsbarriere 21 mittels kernloser Transformatoren implementiert wird, umfasst eine derartige Bus-Interfaceschaltung zumindest zwei kernlose Transformatoren für die Uplink- und Downlink-Datenströme hoher Priorität auf, sowie einen zusätzlichen kernlosen Transformator für jeden weiteren zu übertragenden (Uplink- oder Downlink-) Datenstrom. In dem in 1 dargestellten Fall wären das drei kernlose Transformatoren.
  • 3 ist ein Diagramm zur funktionalen Darstellung eines weiteren Beispiels der Datenübertragung über die Isolationsbarriere 21 innerhalb einer integrierten Bus-Interfaceschaltung 20. Wie in 2 sind lediglich die Downlink-Datenströme dargestellt. Anders als in 2 werden jedoch die beiden Datenströme DLDAT1 und DLDAT2 mittels desselben galvanisch trennenden Bauelements übertragen. Um dies zu ermöglichen, werden die zu übertragenden Datenströme codiert und gemeinsam (als ein Datenstrom) übertragen. Auf der anderen Seite der Isolationsbarriere 21 wird der Datenstrom decodiert, wodurch die beiden Datenströme DLDAT1 und DLDAT2 wieder rekonstruiert werden. Bei Verwendung dieses Ansatzes wird für die Downlink-Datenströme und die Uplink-Datenströme jeweils nur ein einziger kernloser Transformator für die Datenübertragung benötigt.
  • 4 ist ein Blockdiagramm eines ersten Ausführungsbeispiels einer Bus-Interfaceschaltung für einen CAN-Bus, wobei zwei oder mehr Uplink- oder Downlink-Datenströme über dieselben kernlosen Transformatoren übertragen werden. Wie erwähnt kann die dargestellte Struktur auch auf andere Bussysteme übertragen werden. Das in 4 dargestellte Beispiel umfasst eine Schnittstellenschaltung 201 (physikalisches CAN-Interface, CAN-PHY), die mit den externen Kontakten CANH und CANL verbunden ist und dazu ausgebildet ist, ein an den externen Kontakten CANH und CANL empfangenes Bussignal in einen korrespondierenden Downlink-Datenstrom DLDAT1 zu konvertieren. Die Schnittstellenschaltung 201 ist weiter dazu ausgebildet, einen Uplink-Datenstrom ULDAT1' zu empfangen, diesen in ein korrespondierendes Bussignal zu konvertieren, welches an den externen Kontakten CANH und CANL zur Verfügung gestellt wird. In Bezug auf das Bussystem bildet die Schnittstellenschaltung 201 im Wesentlichen die Bitübertragungsschicht (Physical Layer) innerhalb des Open Systems Interconnection (OSI-) Models (daher die Abkürzung CAN PHY). Verschiedene Implementierungen von Schnittstellenschaltungen sind an sich bekannt und werden daher hier nicht weiter erläutert.
  • Das in 4 dargestellte Beispiel umfasst weiter Codierschaltungen 202 und 204. Die Codierschaltung 202 ist dazu ausgebildet, den von der Schnittstellenschaltung 201 erzeugten Downlink-Datenstrom DLDAT1 sowie mindestens einen weiteren Downlink-Datenstrom DLDAT2 zu empfangen, und die empfangenen Datenströme mittels einer speziellen Codierung in einem Downlink-Datenstrom zusammenzuführen. Gleichsam ist die Codierschaltung 204 dazu ausgebildet, den am externen Kontakt TX zugeführten Uplink-Datenstrom ULDAT1 sowie mindestens einen weiteren Uplink-Datenstrom ULDAT2 zu empfangen, und die empfangenen Datenströme mittels einer speziellen Codierung in einem Uplink-Datenstrom zusammenzuführen.
  • Das Bus-Interface 20 gemäß 4 umfasst weiter eine Isolationsbarriere 21 mit den kernlosen Transformatoren 211 und 212, wobei der kernlose Transformator 211 den codierten Downlink-Datenstrom und der kernlose Transformator 212 den codierten Uplink-Datenstrom überträgt. Die über die Isolationsbarriere 21 übertragenen codierten Uplink- und Downlink-Datenströme sind den Decodierschaltungen 203 bzw. 205 zugeführt. Die Decodierschaltung 203 ist dazu ausgebildet, den über die Isolationsbarriere 21 übertragenen Downlink-Datenstrom zu decodieren und die Downlink-Datenströme DLDAT1 und DLDAT2 wieder zu rekonstruieren. Die rekonstruierten Downlink-Datenströme sind mit DLDAT1' und DLDAT2' bezeichnet. Der rekonstruierte Downlink-Datenstrom DLDAT1' wird am externen Kontakt RX zur Verfügung gestellt. Die Decodierschaltung 205 ist dazu ausgebildet, den über die Isolationsbarriere 21 übertragenen Uplink-Datenstrom zu decodieren und die Uplink-Datenströme ULDAT1 und ULDAT2 wieder zu rekonstruieren. Die rekonstruierten Uplink-Datenströme sind mit ULDAT1' und ULDAT2' bezeichnet. Der rekonstruierte Uplink-Datenstrom ULDAT1' ist der Schnittstellenschaltung 201 (CAN PHY) zugeführt. An dieser Stelle sei angemerkt, dass die niedrig priorisierten Datenströme ULDAT2 und DLDAT2 einerseits „on-Chip“ generiert werden können. In diesem Fall kann z.B. die Quelle des Datenstroms DLDAT2 ein Schaltkreis sein, der im Bus-Interface 20 enthalten ist, wie beispielsweise ein Schaltkreis, der Diagnose- und Statussignale betreffend das physikalische CAN-Interface 201 erzeugt. In manchen Ausführungsbeispielen kann beispielsweise der Datenstrom ULDAT2 über einen externen Pin des Bus-Interfaces 20 empfangen und der Codierschaltung 204 zugeführt werden. Dies kann z.B. dann sinnvoll sein, wenn Daten bzw. Signale niedriger Priorität von einer Spannungsdomäne (z.B. 48V) in eine andere Spannungsdomäne (z.B. 12V) übertragen werden sollen. Ein über einen externen Pin zugeführter Datenstrom ULDAT2 niedriger Priorität kann z.B. vom Mikrocontroller 10 erzeugt werden (vgl. 1). Für die Anwendung der hier beschriebenen Konzepte ist die Quelle der weiteren Datenströme ULDAT2 und DLDAT2 unerheblich.
  • Die Datenströme ULDAT1 und DLDAT1 enthalten die über den Bus zu übertragenen Daten in einem dem Busprotokoll entsprechenden Format. Diese Datenströme haben daher eine vergleichsweise hohe Priorität. Die Codierschaltungen 202 und 204 können daher die Datenströme ULDAT1 und DLDAT1 bevorzugt (d.h. mit höherer Priorität) über die kernlosen Transformatoren 211 und 212 übertragen als die weiteren Datenströme ULDAT2 und DLDAT2, um bei den Datenströmen ULDAT1 und DLDAT1 die Latenzzeiten und den Jitter klein zu halten. Im Folgenden werden verschiedene Herangehensweisen diskutiert, zwei asynchrone Datenströme (z.B. Downlink-Datenströme DLDAT1 und DLDAT2) zu codieren, sodass sie unter Verwendung eines Zeitmultiplexverfahren über einen einzigen kernlosen Transformator (oder ein anderes galvanisch trennendes Bauelement) übertragen werden können. Dabei ermitteln die Codierschaltungen 202, 204 die Zeitschlitze für die Übertragung der codierten Datenströme autonom.
  • Im Folgenden werden drei verschiedene Ansätze für die Codierung und Übertragung von zwei oder mehr Datenströmen über einen kernlosen Transformator beschrieben. Alle Ansätze tragen dem Problem Rechnung, dass bei der Datenübertragung über den kernlosen Transformator eine Kollision, welche eine Verzögerung der Übertragung des höher priorisierten Datenstroms verursachen würde, verhindert werden soll. Die Codierung der über einen kernlosen Transformator (oder ein anderes galvanisch trennendes Bauelement) zu übertragenden Daten erfolgt derart, dass nur die Flanken des hoch priorisierten Datenstroms codiert werden, d.h. den steigenden und fallenden Flanken des Datenstroms hoher Priorität werden bestimmte Symbole zugeordnet. Beispielsweise wird über den kernlosen Transformator ein erstes Symbol übertragen, wenn der Zustand des Datenstroms ULDAT1 sich von dominant auf rezessiv ändert, und ein zweites Symbol wird übertragen, wenn der Zustand des Datenstroms ULDAT1 sich von rezessiv auf dominant ändert. Für die Codierung des Datenstroms ULDAT2 werden andere Symbole verwendet. Die Symbole werden zu einer Symbolsequenz zusammengesetzt und diese Symbolsequenz wird über den kernlosen Transformator übertragen.
  • Die Übertragung über einen kernlosen Transformator mittels unterschiedlicher Symbole ist an sich bekannt und wird daher nicht weiter erläutert. Die hier beschriebenen Ansätze können jedoch sicherstellen, dass bei der Übertragung zweier Datenströme keine Konflikte bei der Übertragung von Symbolen über den kernlosen Transformator auftreten. Dazu wird in den Codierschaltungen 202, 204 die Symbolsequenz so aufgebaut, dass die den Flanken des hochpriorisierten Datenstroms ULDAT1 bzw. DLDAT1 zugeordneten Symbole relativ zu den zugehörigen Flanken immer um denselben Wert (der auch annähernd Null sein kann) verzögert sind, um Jitter im hoch priorisierten Datenstrom zu vermeiden. Die Übertragung der den Flanken oder Logikpegeln des niedrig priorisierten Datenstroms ULDAT2 bzw. DLDAT2 zugeordneten Symbole werden bei einer drohenden Kollision verzögert (d.h. wenn ohne Verzögerung zwei Symbole gleichzeitig übertragen werden müssten), wodurch zwar Jitter entsteht, was aber bei Datenströmen niedriger Priorität unkritisch ist.
  • Wie erwähnt ist der hoch priorisierte Datenstrom (z.B. Downlink-Datenstrom DLDAT1) gemäß einem Busprotokoll formatiert. Gemäß einem ersten Ansatz werden deterministische, im Busprotokoll festgelegte Lücken in der Datenübertragung genutzt, um den niedriger priorisierten Datenstrom (z.B. Downlink-Datenstrom DLDAT2) über den kernlosen Transformator zu übertragen. Geeignete Lücken können von einem Protokoll-Handler PH detektiert und an die jeweilige Codierschaltung 202 bzw. 204 signalisiert werden. Für den Uplink-Datenstrom ULDAT1 kann der Protokoll-Handler in dem Mikrocontroller (siehe 1) implementiert sein, der auch den Uplink-Datenstrom generiert. Alternativ kann auch in dem Bus-Interface 20 ein Protokoll-Handler implementiert sein. Für den Downlink-Datenstrom DLDAT1 kann ebenfalls ein Protokoll-Handler in dem Bus-Interface 20 integriert und mit dem Bus-Transceiver 210 gekoppelt sein. Ein Protokoll-Handler PH ist jedoch nicht in allen Ausführungsbeispielen nötig und daher optional.
  • Im Falle eines CAN-Busses sieht das Busprotokoll zwischen zwei Frames eine Pause vor, welche der Länge von zehn Bits entspricht, davon sieben rezessive Bits des End-of-Frame (EOF-) Feldes und drei rezessive Bits des Intermission-Frame-Space (IFS-) Feldes. Während dieser Pause wird kein Signal auf dem CAN-Bus übertragen, und der der Bus ist in einem rezessiven Zustand. Folglich werden auch die hoch priorisierten Datenströme DLDAT1 bzw. ULDAT1 diese Lücken zwischen zwei Frames aufweisen, und diese Lücken können für die Übertragung der niedriger priorisierten Datenströme genutzt werden. Diese Situation ist in den Timing-Diagrammen der 5 dargestellt. Das obere Timing Diagramm der 5 illustriert das Ende eines CAN-Frames des Datenstroms ULDAT1. Das letzte Bit der Datenübertragung erfolgt im ersten Bit des sogenannten Bestätigungs-Feldes (Acknowledge (ACK-) Feld), auf das ein rezessives Bit (ACK-Delimiter-Bit) folgt. Anschließend folgt die erwähnte Pause von 10 Bit Länge (EOF- und IFS-Felder), in denen der Bus einen rezessiven Zustand hat. Mit Beginn des EOF-Feldes kann die Datenübertragung des niedriger priorisierten Datenstroms ULDAT2 z.B. über den kernlosen Transformator 211 (siehe 4) beginnen (siehe unteres Diagramm der 5). Diese Datenübertragung sollte bis zum Ende des IFS-Feldes beendet sein. In dem dargestellten Beispiel wird der Datenstrom ULDAT2 in einem Zeitschlitz übertragen, der die Länge von 9 Bits des Datenstroms ULDAT1 hat.
  • Eine weitere deterministische Lücke kann nach dem Arbitrationsfeld (Arbitration field) eines CAN-Frames entstehen. Während dieser Arbitrierungsphase entscheidet ein Busknoten (d.h. der Protokoll-Handler), ob weiter Daten übertragen werden, oder ob die Übertragung gestoppt wird. Wenn die Übertragung gestoppt wird, „weiß“ der Protokoll-Handler, dass bis zum Empfang des nächsten Bestätigungs-Delimiter-Bits keine Daten an den Bus gesendet werden. Auch diese Lücke kann zur Übertragung des niedriger priorisierten Datenstroms über den kernlosen Transformator 212 genutzt werden. Dieser Ansatz funktioniert allerdings nur für Uplink-Datenströme und setzt voraus, dass die Buskommunikation aktiv ist. Bei inaktivem Bus, können auch keine Datenströme mit niedriger Priorität übertragen werden, weil die Dauer der Inaktivität nicht garantiert ist.
  • Gemäß einem modifizierten Ansatz werden die Datenströme verschachtelt (interleaved) über einen kernlosen Transformator übertragen. Diese Situation ist exemplarisch in 6 dargestellt. Das erste (obere) Timing-Diagramm zeigt ein Beispiel eines Datenstroms DLDAT1, der von dem CAN-Transceiver (siehe 4) empfangen wurde. Basierend auf diesem Datenstrom wird das Taktsignal des Senders wiedergewonnen (Clock Recovery), wobei in dem dargestellten Beispiel das Taktsignal CLKR mit den fallenden Flanken in dem Datenstrom DLDAT1 synchronisiert wird (siehe 6, zweites Diagramm). Eine Periode des Taktsignals entspricht der Dauer eines Bits im Datenstrom DLDAT1. Der Datenstrom DLDAT2 mit niedriger Priorität ist asynchron zu dem Datenstrom DLDAT1 (siehe 6, drittes Diagramm). Der Datenstrom DLDAT2 wird jedoch synchronisiert, indem er ca. in der Mitte einer Bitperiode des Datenstroms DLDAT1 abgetastet wird. Im dargestellten Beispiel wird der Datenstrom DLDAT2 mit niedriger Priorität synchron mit den steigenden Flanken des regenerierten Taktsignals CLKR abgetastet. Das abgetastete/synchronisierte Datensignal mit niedriger Priorität wird mit DLDAT2* bezeichnet (siehe 6, viertes Diagramm). Für die Übertragung der Datenströme DLDAT1 und DLDAT2* über den kernlosen Transformator werden die Flanken des Datenstroms DLDAT1 mit einem positiven Strompuls (erstes Symbol) und die Flanken des Datenstroms DLDAT2* mit einem negativen Strompuls (zweites Symbol) codiert. Da die Flanken des synchronisierten Datenstroms DLDAT2* immer in der Mitte einer Bitperiode des Datenstroms DLDAT1 liegen, können keine Kollisionen bei der Übertragung über den kernlosen Transformator (vgl. 4, kernloser Transformator 211) auftreten. In dem untersten Diagramm sind die über den kernlosen Transformator übertragenen Strompulse (auch Symbole genannt) dargestellt. Der durch den kernlosen Transformator primärseitig fließende Strom wird mit iCT bezeichnet. Für die Übertragung steigender und fallender Flanken können unterschiedliche Symbole verwendet werden (was nicht notwendigerweise der Fall sein muss). Die Flanken der Signale DLDAT1 und DLDAT2* wird ebenfalls durch die Verwendung unterschiedlicher Symbole unterschieden. Beispiele unterschiedlicher Symbole werden später noch erläutert (vgl. auch 11).
  • Der in Bezug auf 6 beschriebene Ansatz kann sowohl für die Übertragung von Uplink-Datenströmen als auch von Downlink-Datenströmen verwendet werden. Bei der Übertragung von Uplink-Datenströmen muss das Taktsignal nicht aus dem Datenstrom ULDAT1 wiedergewonnen werden, da es ohnehin vom Protokoll-Handler zur Verfügung gestellt werden kann. Die Regenerierung des Taktsignal ist im bei der Übertragung von Downlink-Datenströmen erforderlich. Allerdings kann - wie erwähnt - eine Übertragung von Datenströmen niedriger Priorität problematisch sein, wenn die Buskommunikation inaktiv ist, weil die Dauer der Inaktivität nicht garantiert ist.
  • Anhand der Timing-Diagramme in den 7 bis 9 wird ein weiterer Ansatz erläutert, der die Übertragung eines ersten Datenstroms mit hoher Priorität (z.B. Datenstrom DLDAT1) und mindestens einen weiteren Datenstrom DLDAT2 mit niedriger Priorität über denselben kernlosen Transformator (vgl. 4, Bezugszeichen 211) erlaubt. Dabei wird die Tatsache ausgenutzt, dass die zeitliche Länge TS eines über den kernlosen Transformator übertragenen Symbols, das eine Flanke eines Digitalsignals repräsentiert, nur einen Bruchteil (ca. 10%) der Länge eines Bits des hoch priorisierten Datenstroms beträgt. Um Kollisionen zu vermeiden, wird die Übertragung der Flanken des hoch priorisierten Datenstroms DLDAT1 um eine Zeitdauer verzögert, die der Symbollänge TS entspricht. Sobald eine Flanke des Datenstroms DLDAT1 detektiert wird, wird das zugehörige Symbol eine Zeit TS später über den kernlosen Transformator übertragen. Diese Übertragung ist folglich eine Zeit 2TS nach der detektierten Flanke abgeschlossen. Der kernlose Transformator ist also nach einer detektierten Flanke des hoch priorisierten Datenstroms DLDAT1 für eine Zeitdauer 2TS belegt und kann nicht für die Übertragung anderer Flanken genutzt werden.
  • 7 illustriert anhand von Timing Diagrammen ein erstes der Datenübertragung, wobei eine Flanke im Datenstrom DLDAT2 niedriger Priorität um mehr als 2TS nach einer Flanke im Datenstrom DLDAT1 hoher Priorität auftritt. Das erste Diagramm (von oben) der 7 zeigt eine steigende Flanke des Datenstroms DLDAT1. Eine detektierte Flanke wird durch ein Signal EDOUT angezeigt, dessen Logikpegel als Reaktion auf eine detektierte Flanke im Datenstrom DLDAT1 für eine Zeitdauer 2Ts auf „high“ gesetzt wird. Das heißt, jede detektierte Flanke triggert im Signal EDOUT einen Puls dessen Länge der doppelten Symbollänge 2TS entspricht. Dieses Signal EDOUT ist im zweiten Diagramm der 7 dargestellt und zeigt an, dass der Übertragungskanal (d.h. der kernlose Transformator) belegt ist. Die Übertragung der detektierten Flanke, erfolgt allerdings erst um eine Zeit TS verzögert, d.h. in der zweiten Hälfte des Pulses der Länge 2TS im Signal EDOUT. Das die Flanke des Datenstroms DLDAT1 repräsentierende Symbol ist in 4 mit S1 bezeichnet (siehe 7, viertes Diagramm). Die später auftretende Flanke im Datenstrom DLDAT2 (siehe 7, drittes Diagramm) wird durch das Symbol S2 repräsentiert, das im dargestellten Fall ohne Verzögerung übertragen wird.
  • 8 illustriert einen zweiten Fall, bei dem eine Flanke des niedriger priorisierten Datenstroms DLDAT2 kurz nach einer Flanke des hoch priorisierten Datenstroms DLDAT1 auftritt. „Kurz nach“ bedeutet in diesem Fall, dass die Flanke des Datenstroms DLDAT2 weniger als eine Zeit 2Ts nach einer Flanke des Datenstroms DLDAT1 auftritt, d.h. während der Übertragungskanal noch belegt ist (angezeigt durch das Signal EDOUT, siehe 8 erstes, zweites und drittes Diagramm). In diesem Fall wird die Übertragung der Flanke des Datenstroms DLDAT2 mit niedriger Priorität um mindestens eine Zeit 2TS verzögert (siehe 8, fünftes Diagramm, Symbol S2). Das verzögerte Signal ist mit DLDAT2* bezeichnet (siehe 8 viertes Diagramm). Die Übertragung der Flanke des hoch priorisierten Signals DLDAT1 erfolgt wieder mit einer Verzögerung von Ts (siehe 8, fünftes Diagramm, Symbol S1). Die Verzögerung der Übertragung des Symbols S2 verursacht einen Jitter im Datenstrom DLDAT2 mit niedriger Priorität. Dieser Jitter ist für die meisten Anwendungen akzeptabel. Die Verzögerung der Übertragung des Symbols S1 verursacht allerdings keinen Jitter im Datenstrom DLDAT1 mit hoher Priorität, da diese Verzögerung bei jeder Flanke die gleiche ist.
  • 9 illustriert dritten Fall, bei dem eine Flanke des niedriger priorisierten Datenstroms DLDAT2 kurz vor einer Flanke des hoch priorisierten Datenstroms DLDAT1 auftritt (siehe 9, erstes und drittes Diagramm). Das in 9 dargestellte Beispiel zeigt den Vorteil der konstanten Verzögerung des Datenstroms DLDAT1 mit hoher Priorität um eine Symbollänge TS . Die Flanke im Datenstrom DLDAT2 tritt zu einem Zeitpunkt auf, zu dem der Übertragungskanal noch nicht belegt ist und das Symbol S2 wird im Wesentlichen ohne Verzögerung übertragen (siehe 9, viertes Diagramm). Die Übertragung des Symbols S2 dauert aber maximal eine Zeit TS und kann daher nicht mit der - immer verzögerten - Übertragung des Symbols S1 kollidieren. Das Symbol S2 wird nur in der ersten Hälfte des Pulses im Signal EDOUT liegen, wohingegen das Symbol S1 immer in der zweiten Hälfte des Pulses im Signal EDOUT übertragen wird (siehe 9, zweites und viertes Diagramm).
  • Die Einführung einer deterministischen Verzögerung der Übertragung des Datenstroms DLDAT1 mit hoher Priorität verursacht keinen Jitter (da diese Verzögerung bei jeder einzelnen Flanke eingefügt wird), ermöglicht jedoch die Vermeidung einer Kollision, falls bei der Detektion einer Flanke des Datenstroms DLDAT1 bereits ein anderes Symbol übertragen wird. Der Jitter, der durch die Verzögerung der Übertragung einer Flanke des Datenstroms DLDAT2 entsteht (vgl. 8) wird akzeptiert und ist für die meisten Anwendungen unkritisch. Das fünfte Diagramm aus 9 wird weiter unten zusammen mit 10 erläutert.
  • 10 ist ein Blockschaltbild, das eine exemplarische Implementierung der Codierschaltungen 202 zeigt, um den in den 7-9 dargestellten Ansatz zu implementieren. Die Codierschaltung 202 befindet sich im Downlink-Pfad; die Codierschaltung 204 im Uplink-Pfad kann gleich implementiert werden. In dem dargestellten Beispiel weist die Codierschaltung 202 eine Schaltung 52 zur Flankendetektion (edge detection) auf, der der Datenstrom DLDAT1 hoher Priorität zugeführt ist und die dazu ausgebildet ist, die im Datenstrom DLDAT1 enthaltenen Flanken zu detektieren. Bei jeder detektierten Flanke wird am Ausgang der Flankendetektionsschaltung 52 ein Puls der Länge 2Ts ausgegeben. Das Ausgangssignal ist mit EDOUT bezeichnet. Im Wesentlichen kann die Flankendetektionsschaltung 52 einen flankengetriggerten monostabilen Multivibrator (Monoflop) enthalten, der als Ausgangssignal bei jeder steigenden und fallenden Flanke einen Puls der Länge 2TS erzeugt. Die Codierschaltung 202 weist ein Verzögerungselement 51 auf, das dazu ausgebildet ist, den Datenstrom DLDAT1 um eine Zeit Ts zu verzögern. Der verzögerte Datenstrom DLDAT1* ist der Codiereinheit 53 zugeführt, die dazu ausgebildet ist, die Flanken des Datenstroms DLDAT1* als Symbole zu codieren (vgl. 7, Symbol S1).
  • Der Datenstrom DLDAT2 niedriger Priorität ist dem Verzögerungselement 54 zugeführt, das dazu ausgebildet ist, die Taktflanken des Datenstroms DLDAT2 nicht zu verzögern, wenn die Flankendetektionsschaltung 52 keine detektierte Flanke anzeigt (EDOUT ist auf einem logischen 0-Pegel), und die Taktflanken des Datenstroms DLDAT2 um eine Zeitdauer 2TS (oder mehr) zu verzögern, wenn die Flankendetektionsschaltung 52 eine detektierte Flanke anzeigt (EDOUT ist auf einem logischen 1-Pegel). Das (teilweise) verzögerte Signal DLDAT2* wird der Codiereinheit 55 zugeführt, die dazu ausgebildet ist, die Flanken des Datenstroms DLDAT2* als Symbole zu codieren (vgl. 7, Symbol S2).
  • Die Ausgänge der Codiereinheiten 53 und 55 sind einem Multiplexer 56 zugeführt, der dazu ausgebildet ist, den entweder den Ausgang der Codiereinheit 53 (dem Datenstrom DLDAT1 zugeordnet) oder den Ausgang der Codiereinheit 55 (dem Datenstrom DLDAT2 zugeordnet) mit dem Eingang der Treiberschaltung 57 zu verbinden, von den Codiereinheiten 53 und 55 erzeugten Symbole in entsprechende Stromsignale iCT für den Kernlosen Transformator konvertiert. Zum Umschalten des Multiplexers 56 kann z.B. die Codierschaltung 53 eine Steuersignal MSW erzeugen (vgl. 9, unterstes diagramm), welches den Multiplexer 56 dazu veranlasst, das codierte Ausgangssignal der Codierschaltung 53 an den TX-Treiber 57 durchzuschalten, wenn gerade ein Symbol übertragen werden soll. Andernfalls wird der Ausgang der Codierschaltung 55 an den TX-Treiber 57 durchgeschaltet..
  • 11 illustriert die Funktion der Codierschaltung 202 aus 10 anhand von exemplarischen Timing-Diagrammen. Die erste Hälfte der Timing-Diagramme aus 11 zeigt im Wesentlichen die gleiche Situation wie 7. Wie man in 11 sehen kann, zeigt das Signal EDOUT der Flankendetektionsschaltung 52 einen Puls der Länge 2Ts unmittelbar folgende auf eine Flanke (steigend und fallend) im Datenstrom DLDAT1 mit hoher Priorität (siehe 11, erstes und zweites Diagramm). Die zugehörigen Symbole S1 und S1' werden genau eine Zeit Ts nach der jeweiligen Flanke übertragen, wobei das Symbol S1 eine steigende Flanke und das Symbol S1' eine fallende Flanke repräsentiert (siehe 11, erstes und drittes Diagramm). Die Flanken des Datenstroms DLDAT2 mit niedriger Priorität (siehe 11, erstes und drittes Diagramm) werden nicht verzögert (sofort/unverzüglich) übertragen (Symbole S2 und S2' für steigende und fallende Flanken), da die Flanke nicht in den vom Signal EDOUT angezeigten Zeitraum fällt, in dem der kernlose Transformator für die Übertragung des hoch priorisierten Datenstroms DLDAT1 reserviert ist. Im dargestellten Beispiel wird ein Symbol durch zwei kurze Strompulse repräsentiert.
  • 12 zeigt anhand von Timing-Diagrammen, wie die über den kernlosen Transformator übertragenen Strompulse (Symbole) wieder decodiert werden. Die rekonstruierten Datenströme werden mit DLDAT1' bzw. DLDAT2' bezeichnet. sobald die Decodierschaltung (siehe 4, Bezugszeichen 203) ein Symbol empfangen hat, wird - abhängig vom empfangenen Symbol - der Pegel am ersten oder am zweiten Ausgang, an dem der erste Datenstrom DLDAT1' bzw. der zweite Datenstrom DLDAT2' ausgegeben wird, geändert. Das heißt, wird ein Symbol S1 empfangen, dann wird der Pegel am ersten Ausgang (Datenstrom DLDAT1') auf „high“ gesetzt; wird ein Symbol S2 empfangen, dann wird der Pegel am zweiten Ausgang (Datenstrom DLDAT2') auf „high“ gesetzt, wird ein Symbol S1' empfangen, dann wird der Pegel am ersten Ausgang (Datenstrom DLDAT1') wieder auf „low“ gesetzt; und wird ein Symbol S2' empfangen, dann wird der Pegel am zweiten Ausgang (Datenstrom DLDAT2') wieder auf „low“ gesetzt. Im mittleren Diagramm der 12 ist der ursprüngliche Datenstrom DLDAT1 hoher Priorität strichliert dargestellt. Man sieht, dass der rekonstruierte Datenstrom DLDAT1' um eine Zeit 2Ts verzögert ist. Diese Verzögerung ist jedoch deterministisch und verursacht keinen Jitter.
  • Der im Folgenden beschriebene alternative Ansatz ermöglicht das Übertragen von mehreren niedrig priorisierten Signalen DLDAT2, DLDAT3, DLDAT4 zusammen mit einem hoch priorisierten Signal DLDAT1 über einen kernlosen Transformator. Wie in den vorhergehenden Beispielen werden Flanken des hoch priorisierten Signals DLDAT1 ohne signifikante Verzögerung oder - alternativ - immer mit der gleichen konstanten Verzögerung übertragen (analog zu den Beispielen aus den 7-9), um keinen Jitter zu generieren. Die logischen Werte der niedrig priorisierten Signale DLDAT2, DLDAT3, DLDAT4 werden in einem Datenframe zusammengefasst und zusammen mit der Flanke des hoch priorisierten Signals DLDAT1 übertragen. In Zeiten ohne Kommunikation über den CAN-Bus (d.h. wenn im Signal DLDAT1 keine Flanken auftreten) wird der Frame regelmäßig übertragen, z.B. wenn eines der Logikpegel der Signale DLDAT2, DLDAT3, DLDAT4 sich ändert und/oder wenn eine bestimmte Zeitspanne vergangen ist. In diesen Fällen (Übertragung eines Frames ohne Flanke im Signal DLDAT1) kann es potentiell zu einer Kollision kommen, wenn während der Übertragung eines Frames eine Flanke im hoch priorisierten Signal DLDAT1 auftritt. Wie ein solcher Konflikt aufgelöst werden kann, wird anhand der folgenden Beispiele erläutert.
  • 13 ist ein vereinfachtes Blockdiagramm einer exemplarischen Implementierung einer Bus-Interfaceschaltung 2 ähnlich wie 4. Der Einfachheit halber ist nur der Übertragungspfad im Downlink-Pfad über den kernlosen Transformator 211 dargestellt. Der Uplink-Pfad kann im Wesentlichen gleich aufgebaut sein (vgl. 4). Das dargestellte Beispiel ist im Wesentlichen gleich wie das Beispiel aus 4, wobei zusätzlich Register 61, 62 vorgesehen sind, die die Logikpegel der niedrig priorisierten Signale DLDAT2, DLDAT3, DLDAT4 speichern können. Bei der Übertragung eines Frames liest die Codierschaltung 202 den Inhalt des Registers 61 aus und setzt die darin enthaltenen Informationen zu einem Frame zusammen. Während der Übertragung wird eine Aktualisierung des Inhaltes des Registers 61 durch das Signal SMP (Abtastsignal) blockiert. Die Decodierschaltung 203 empfängt die über den kernlosen Transformator 211 empfangenen Symbole und rekonstruiert das hoch priorisierte Signal DLDAT1' sowie die niedrig priorisierten Signale DLDAT2, DLDAT3, DLDAT4, wobei die binären Werte der Signale DLDAT2, DLDAT3, DLDAT4 in das Register 62 geschrieben werden. Die rekonstruierten Signale DLDAT2', DLDAT3', DLDAT4' können am Ausgang des Registers 62 abgegriffen werden. Die Register 61 und 62 können z.B. als Schieberegister implementiert sein.
  • Die Funktionsweise der Codierschaltung 202 wird im Folgenden anhand von Timing-Diagrammen näher erläutert. 14 beinhaltet exemplarische Timing-Diagramme des hoch priorisierten Signals DLDAT1, das Abtastsignal SMP, welches eine Aktualisierung des Inhaltes des Registers 61 während der Übertragung eines Frames blockiert, der niedrig priorisierten Signale DLDAT2, DLDAT3, DLDAT4, des Registerinhalts REGDAT des Registers 61, sowie der über den kernlosen Transformator übertragenen Symbole (Signal iCT ). Wie erwähnt, wird durch die Detektion einer Flanke im hoch priorisierten Signal DLDAT1 die Übertragung eines Frames ausgelöst. Im vorliegenden Beispiel erfolgt die Übertragung praktisch ohne signifikante Verzögerung. Das Signal SMP zeigt einen Puls der Länge TF , welche im Wesentlichen der zeitlichen Länge eines Frames entspricht. Während dieser Zeit TF wird eine Aktualisierung des Registers 61 blockiert, um den Registerinhalt konsistent zu halten. Im dargestellten Beispiel ist der Inhalt des Registers zunächst „100“ (High-Pegel des Signals DLDAT2, Low-Pegel des Signals DLDAT3 und Low-Pegel des Signals DLDAT4) und wechselt später auf „101“ (High-Pegel des Signals DLDAT2, Low-Pegel des Signals DLDAT3 und High-Pegel des Signals DLDAT4). Das Signal DLDAT4 wechselt von „0“ auf „1“ bereits zum Zeitpunkt tx , die Aktualisierung des Registers 61 erfolgt allerdings erst danach, nachdem der Übertragung des Frames abgeschlossen ist (d.h. mit der fallenden Flanke des Signal SMP). Die Übertragung des Frames wird durch die Detektion einer Flanke im Signal DLDAT1 ausgelöst und beginnt im vorliegenden Beispiel ohne signifikante Verzögerung. Ein Frame beginnt mit einem Startsymbol SOF (Start of Frame) und endet mit einem Abschlusssymbol EOF (End of Frame). Zwischen den Symbolen SOF und EOF werden entsprechend dem Inhalt des Registers 61 0-Symbole und 1-Symbole übertragen.
  • 15 illustriert als weiteres Beispiel eine Situation, in der sich der Inhalt des Registers 61 (d.h. eines der Signale DLDAT2, DLDAT3, DLDAT4 mit niedriger Priorität) in einer Phase ändert, in der am CAN-Bus keine Kommunikation stattfindet. Die erste in 15 (unteres Diagramm) dargestellte Übertragung eines Frames wird durch eine steigende Flanke im hoch priorisierten Signal DLDAT1 ausgelöst. Die zweite Übertragung eines Frames wird durch eine fallende Flanke im hoch priorisierten Signal DLDAT1 ausgelöst. Bei der Frame-Übertragung wird dabei zwischen den Startsymbolen SOF1 und SOF2 unterschieden, die dabei jeweils eine steigende bzw. eine fallende Flanke des Signals DLDAT1 repräsentieren. Der Inhalt des Registers 61 ändert sich im dargestellten Beispiel zum Zeitpunkt ty . Da zu diesem Zeitpunkt keine Kommunikation am CAN-Bus stattfindet, wird in dieser Situation die Übertragung eines Frames durch die Änderung des Inhalts des Registers 61 ausgelöst. Die in 15 dargestellte dritte Übertragung eines Frames beginnt wieder mit dem Startsymbol SOF2 für eine fallende Flanke. Da der Zustand des Signals DLDAT1 bereits ein Low-Pegel ist, wird durch die dritte Frame-Übertragung das Signal DLDAT1 nicht beeinflusst, sondern nur der Registerinhalt übertragen. Zusätzlich oder alternativ können weitere Frames in vorgegebenen Zeitabständen übertragen werden, sofern am CAN-Bus keine Kommunikation stattfindet.
  • In dem in 15 dargestellten Beispiel wird deutlich, dass einen Frame-Übertragung, die nicht durch eine Flanke des hoch priorisierten Signals DLDAT1 ausgelöst wird, das Risiko einer Kollision/eines Konflikts in sich birgt. Ein Konflikt würde dann entstehen, wenn während der Übertragung des dritten Frames über den kernlosen Transformator eine Flanke in dem hoch priorisierten Signal DLDAT1 auftreten würde (schattierter Bereich im ersten Diagramm der 15). In diesem Fall, muss die Frame-Übertragung abgebrochen und neu gestartet werden, um eine Flanke des Signals DLDAT1 zu übertragen, da eine spätere Übertragung Jitter verursachen würde. Ein Beispiel eines derartigen Frame-Abbruchs ist in 16 dargestellt.
  • In dem In 16 dargestellten Beispiel wird die Übertragung des ersten Frames durch eine steigende Flanke im Signal DLDAT1 ausgelöst. Der Frame beginnt mit dem Startsymbol SOF1, das eine steigende Flanke anzeigt. Später ändert sich der Inhalt des Registers 61 ohne dass am Bus eine Kommunikation stattfindet. Die Übertragung des zweiten Frames wird also von der Änderung des Registerinhalts ausgelöst. Während der Frame-Übertragung - zum Zeitpunkt tz - wird jedoch eine fallende Flanke im hoch priorisierten Signal DLDAT1 detektiert und die Frame-Übertragung muss abgebrochen werden. Der Frameabbruch wird durch das Signal FSTOP (kurzer Puls zum Zeitpunkt tz ) signalisiert, das durch die detektierte fallende Flanke getriggert wird. In der Decoderschaltung wird der unvollständig übertragene Frame dadurch erkannt, dass ein Startsymbol (im dargestellten Beispiel Symbol SOF2) empfangen wird, ohne dass davor ein Abschlusssymbol EOF empfangen wurde. Der unvollständig empfangene Frame wird im Decoder verworfen.
  • Wird die Übertragung eines Frames an einer „ungünstigen“ zeitlichen Position abgebrochen, kann das Problem auftreten, dass ein nur zum Teil übertragenes Symbol im Decoder falsch interpretiert wird. Um dieses Problem zu vermeiden, sollte sichergestellt werden, dass ein abgebrochenes Datensymbol (0-Symbol oder 1-Symbol) zusammen mit einem darauf folgenden Startsymbol (SOF1 oder SOF2) nicht als Abschlusssymbol (EOF) decodiert werden kann und dass ein abgebrochenes Datensymbol zusammen mit einem darauf folgenden Startsymbol nicht vorzeitig als Startsymbol decodiert werden kann. Im ersten Fall (abgebrochenes Datensymbol plus Startsymbol wird als EOF decodiert) würde die übertragene Flanke des hoch priorisierten Signals verloren gehen, und im zweiten Fall (abgebrochenes Datensymbol plus Startsymbol wird als frühzeitig als Startsymbol decodiert) würde frühzeitig eine Flanke im hochpriorisierten Signal erzeugt und dadurch Jitter generiert. Diese Situation ist in 17 dargestellt, in der Beispiele für die Datensymbole (0-Symbol und 1-Symbol) sowie für die Startsymbole SOF1 und SOF2, die steigende bzw. fallende Flanken repräsentieren, dargestellt sind.
  • 17 enthält vier Diagramme, wobei jeweils (von links nach rechts) ein 0-Symbol, ein 1-Symbol, ein Startsymbol SOF1 für steigende Flanken und ein Startsymbol SOF2 für fallende Flanken dargestellt ist. Die Abschlusssymbole EOF1, EOF2 können gleich sein wie die zugehörigen Startsymbole SOF1 bzw. SOF2. Die Datensymbole werden durch lange Strompulse gebildet, wohingegen die Startsymbole durch kurze Strompulse gebildet werden. Die Symbollänge beträgt in allen Fällen immer TS . Im linken Diagramm der 17 (0-Symbol) kann man erkennen, dass bei einem vorzeitigen Abbruch des 0-Symbols zum Zeitpunkt tA (z.B. Zeitpunkt einer detektierten fallenden Flanke im hoch priorisierten Signal) das Startsymbol SOF2 entsteht. Dieses Startsymbol, das im Decoder fälschlicherweise als SOF2 erkannt wird, beginnt jedoch um eine Zeit TJ vor dem Zeitpunkt tA , was zu einem entsprechenden Jitter führt.
  • Zur Vermeidung von Jitter bei einem Frame-Abbruch kann - ähnlich wie in den Beispielen gemäß 7-9 - eine deterministische Verzögerung (Totzeit, Latenzzeit) von einer Symbollänge TS eingeführt werden. Damit kann im Falle eines Frame-Abbruchs eine (bereits begonnene) Übertragung eines Symbols immer abgeschlossen werden, bevor die Übertragung eines neuen Frames beginnt. Ein Beispiel für diesen Ansatz ist in 18 dargestellt. Die ersten beiden (von oben) Timing-Diagramme aus 18 zeigen den hoch priorisierten Datenstrom DLDAT1 mit einer fallenden Flanke zum Zeitpunkt tA und den um eine Symbollänge TS verzögerten Datenstrom DLDAT1*. Die Flanke tritt zum Zeitpunkt tA auf, während gerade ein Frame über den kernlosen Transformator übertragen wird (siehe drittes Diagramm aus 18). Ein sofortiger Abbruch der Frame-Übertragung zum Zeitpunkt tA würde die Übertragung des 0-Symbols nach ca. dem ersten Drittel des Symbols abbrechen, was eine Situation wie im ersten Diagramm der 17 dargestellt hervorrufen würde (frühzeitiges Startsymbol verursacht Jitter). Durch die Einfügung einer - deterministischen und immer gleichen - Verzögerung um eine Symbollänge Ts (sofern die Frame-übertragung von einer Flanke im hoch priorisierten Datenstrom DLDAT1 ausgelöst wird) kann im Falle eines Frame-Abbruchs die aktuelle Übertragung eines Symbols korrekt beendet werden, bevor die Übertragung des neuen Frames beginnt. Dieser Ansatz verursacht eine unproblematische zusätzliche Latenz, die der Verzögerung Ts entspricht, jedoch keinen Jitter. In dem dargestellten Beispiel wird der Frame-Abbruch durch einen Puls im Signal FSTOP angezeigt (viertes Diagramm der 18).
  • 19 illustriert eine exemplarische Implementierung der Codierschaltung 202 aus 13 detaillierter. Im dargestellten Beispiel beinhaltet die Codierschaltung 202 eine Frameaufbaueinheit 63 (Frame Composition Unit), welche den hoch priorisierten Datenstrom DLDAT1, den Inhalt REGDAT des Registers 6 sowie ein Triggersignal TRIG empfängt. Die Frameaufbaueinheit 63 kann dazu ausgebildet sein, als Reaktion auf das Triggersignal TRIG einen Frame zusammenzusetzen, welcher den aktuellen Zustand des den hoch priorisierten Datenstroms DLDAT1 und den Registerinhalt REGDAT repräsentiert. Ein Frame ist zunächst nur eine Sequenz von Symbolen, die der Codiereinheit 53 zugeführt wird. Die Codiereinheit 53 ist dazu ausgebildet, die Symbole in ein entsprechend moduliertes Treibersignal umzusetzen (vgl. z.B. 17). Der Treiber 57 ist der Codiereinheit 53 nachgeschaltet und erzeugt nach Maßgabe des Treibersignals einen modulierten Strom iCT , der der Primärseite des kernlosen Transformators zugeführt und den kernlosen Transformator übertragen wird.
  • Ausgelöst wird die Übertragung eines Frames wie erwähnt durch das Trigger-Signal TRIG. Das Trigger-Signal TRIG ist im vorliegenden Beispiel eine ODER-Verknüpfung (mittels ODER-Gatter 66) aus den Ausgangssignalen einer Flankendetektionseinheit 52, eines Timers 64 und einer Schaltung 65, welche eine Änderung des Inhalts des Registers 61 (siehe 13) anzeigt. Die Übertragung eines Frames wird also die folgenden Ereignisse ausgelöst: (a) es wird eine Flanke im hoch priorisierten Signal DLDAT1 detektiert, (b) der Inhalt des Registers 61 hat sich geändert und (c) seit der letzten Übertragung ist eine definierte Zeit vergangen (angezeigt durch Timer 64). Wenn - wie in dem Beispiel aus 18 - eine deterministische Verzögerung zwischen einer Flanke im Datenstrom DLDAT1 und der Übertragung eines Frames eingefügt werden soll, dann kann die Verzögerung durch ein Verzögerungselement 51 zwischen der Flankendetektionseinheit 52 und dem ODER-Gatter 66 erreicht werden. Ein Frame-Abbruch wird durch das Signal FSTOP signalisiert, das die Flankendetektionseinheit 52 bei Detektion einer Flanke erzeugt und das der Codierschaltung 53 zugeführt ist.
  • Die Codierschaltungen 202 und 204 können auf viele verschiedene Arten implementiert werden. Die in 4, 10, 13 und 18 gezeigten Implementierungen sind lediglich als Beispiele zu verstehen, und es versteht sich, dass ein Fachmann verschiedene andere Implementierungen finden wird, welche im Wesentlichen die gleiche Funktion erfüllen, die im Zusammenhang mit den in den Figuren abgebildeten Timing-Diagrammen im Detail erläutert wurde. Die Codierschaltungen 202 und 204 sowie auch die Decodierschaltungen 203 und 205 (siehe 4 und 13) können mittels bekannten digitalen Schaltungskomponenten sowie mittels programmierbaren Schaltungen (z.B. programmierbare Logikschaltungen) implementiert werden. In manchen Ausführungsbeispielen können zumindest manche Komponenten der Codierschaltungen und/oder Decodierschaltungen mittels eines Prozessors und geeigneter Firmware implementiert werden.
  • Die hier beschriebenen Beispiele betreffen die Übertragung von Datenströmen über einen kernlosen Transformator im Downlink-Pfad (d.h. hin zum Mikrocontroller, vgl. 1). Auch wenn nicht explizit dargestellt, erfolgt die Übertragung von Datenströmen im Uplink-Pfad (d.h. vom Mikrocontroller, vgl. 1) auf analoge Weise. Es versteht sich, dass in den hier beschriebenen Ausführungsbeispielen statt kernlose Transformatoren auch andere galvanisch trennende Bauelemente verwendet werden können wie z.B. Optokoppler, kapazitive Bauelemente, etc. Des Weiteren sei angemerkt, dass die in den 4, 10, 13 und 19 dargestellten Implementierungen lediglich als Beispiele zu verstehen sind und ein Fachmann in der Lage ist, problemlos andere oder modifizierte Implementierungen zu finden, die im Wesentlichen die gleiche Funktion erfüllen.
  • Die hier beschriebenen Konzepte zur Übertragung von hochpriorisierten Datenströmen (ULDAT1 und DLDAT1) und weiteren, niedrig priorisierten Datenströmen (DLDAT2, DLDAT3, etc., ULDAT2, ULDAT3, etc.) über einen galvanisch trennenden Übertragungspfad wurden in den hier beschriebenen Ausführungsbeispielen in einem Bus-Interface verwendet, um die Datenübertragung vom Bus und zum Bus (Downlink/Uplink) ohne Jitter und gleichzeitig die Übertragung weiterer Daten zu ermöglichen. Diese Konzepte sind jedoch problemlos auf andere Schnittstellenschaltungen übertragbar und müssen nicht zwangsläufig in Verbindung mit Bussystemen verwendet werden.

Claims (21)

  1. Eine Interfaceschaltung, die Folgendes aufweist: ein galvanisch trennendes Bauelement (210, 211); eine Codierschaltung (202, 204), die dazu ausgebildet ist: einen ersten Datenstrom (DLDAT1, ULDAT1) und sowie mindestens einen weiteren Datenstrom (DLDAT2, ULDAT2; REGDAT) zu empfangen, den ersten Datenstrom (DLDAT1, ULDAT1) zu codieren, indem fallenden und steigenden Flanken des ersten Datenstroms (DLDAT1, ULDAT1) erste Symbole (S1, S1'; SOF1, SOF2) zugeordnet werden, den mindestens einen weiteren Datenstrom (DLDAT2, ULDAT2; REGDAT) zu codieren, indem dessen Flanken oder Pegel zweite Symbole (S2, S2', 0, 1) zugeordnet werden, und aus den ersten Symbolen (S1, S1'; SOF1, SOF2) und zweiten Symbolen (S2, S2', 0, 1) eine Symbolsequenz (iCT) aufzubauen und diese dem galvanisch trennenden Bauelement (210, 211) zuzuführen; eine Decodierschaltung (203, 205), die über das galvanisch trennende Bauelement (210, 211) mit der Codierschaltung (202, 204) gekoppelt ist, um von dieser die Symbolsequenz (iCT) zu empfangen, und die dazu ausgebildet ist: die Symbolsequenz (iCT) zu decodieren und daraus den ersten Datenstrom (DLDAT1, ULDAT1) und den mindestens einen weiteren Datenstrom (DLDAT2, ULDAT2; REGDAT) zu rekonstruieren; wobei die Codierschaltung (202, 204) dazu ausgebildet ist, die Symbolsequenz (iCT) so aufzubauen, dass die ersten Symbole (S1, S1'; SOF1, SOF2) relativ zu den zugehörigen Flanken des ersten Datenstroms (DLDAT1, ULDAT1) immer um denselben Wert verzögert sind.
  2. Die Interfaceschaltung gemäß Anspruch 1, wobei die Symbolsequenz (iCT) mehrere Frames aus Symbolen enthält, und wobei die Codierschaltung (202, 204) eine Frameaufbaueinheit (63) aufweist, die dazu ausgebildet ist, die Frames von Symbolen aufzubauen, wobei jeder Frame als Startsymbol ein erstes Symbol (SOF1, SOF2) und mindestens ein zweites Symbol (0, 1) aufweist.
  3. Die Interfaceschaltung gemäß Anspruch 2, wobei die Frameaufbaueinheit (63) dazu ausgebildet ist, einen neuen Frame als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) zu erzeugen.
  4. Die Interfaceschaltung gemäß Anspruch 2, wobei die Frameaufbaueinheit (63) dazu ausgebildet ist, einen neuen Frame als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) zu erzeugen, wobei der neue Frame relativ zur jeweiligen Flanke des ersten Datenstroms (ULDAT1, DLDAT1) eine Verzögerung aufweist, welche gleich der Länge eines Symbols oder länger ist.
  5. Die Interfaceschaltung gemäß Anspruch 3 oder 4, wobei die Frameaufbaueinheit (63) dazu ausgebildet ist, einen neuen Frame auch als Reaktion auf ein Timersignal und/oder auf eine Änderung des Pegels des mindestens einen weiteren Datenstroms (DLDAT2, ULDAT2; REGDAT) zu erzeugen, und als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) die Erzeugung des neuen Frames abzubrechen.
  6. Die Interfaceschaltung gemäß Anspruch 1, wobei die Codierschaltung (202, 204) eine erste Codiereinheit (53) aufweist, die dazu ausgebildet ist, als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) ein erstes Symbol (S1, S1') zu erzeugen, das relativ zur Flanke um die Länge eines Symbols oder mehr verzögert ist, und wobei die Codierschaltung (202, 204) eine zweite Codiereinheit (55) aufweist, die dazu ausgebildet ist, als Reaktion auf eine Flanke des mindestens einen zweiten Datenstroms (ULDAT2, DLDAT2) ein zweites Symbol (S2, S2') zu erzeugen, das relativ zur Flanke um eine einstellbare Verzögerungszeit verzögert ist.
  7. Die Interfaceschaltung gemäß Anspruch 6, wobei die Codierschaltung (202, 204) eine Verzögerungseinheit (54) aufweist, welche die einstellbare Verzögerungszeit bestimmt, wobei die Verzögerungseinheit (54) die einstellbare Verzögerungszeit als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) temporär auf einen Wert von zwei Symbollängen oder mehr festzulegen.
  8. Die Interfaceschaltung gemäß Anspruch 1, wobei der erste Datenstrom gemäß einem Übertragungsprotokoll formatiert ist und wobei die Codierschaltung (202, 204) dazu ausgebildet ist, die Symbolsequenz (iCT) so aufzubauen, dass zweite Symbole nur dann über das galvanisch trennende Bauelement (210, 211) übertragen werden, wenn gemäß dem Übertragungsprotokoll keine Flanken im ersten Datenstrom auftreten können.
  9. Die Interfaceschaltung gemäß Anspruch 8, wobei der Wert der Verzögerung der ersten Symbole annähernd null beträgt.
  10. Die Interfaceschaltung gemäß Anspruch 1, wobei der erste Datenstrom (ULDAT1, DLDAT1) synchron zu einem Taktsignal (CLKR) ist, das eine Taktperiode aufweist, und wobei die Codierschaltung (202, 204) dazu ausgebildet ist, als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) ein erstes Symbol (S1, S1') zu erzeugen und anschließend zu einem Abtastzeitpunkt vor Ablauf einer Taktperiode ein zweites Symbol zu erzeugen, das den Pegel des mindestens einen weiteren Datenstroms (ULDAT2, DLDAT2) zum Abtastzweitpunkt repräsentiert.
  11. Die Interfaceschaltung gemäß Anspruch 10, wobei die Codierschaltung (202, 204) weiter dazu ausgebildet ist, basierend auf dem ersten Datenstrom das Taktsignal (CLKR) zu rekonstruieren.
  12. Ein Verfahren, das aufweist: Codieren eines ersten Datenstroms (DLDAT1, ULDAT1), indem fallenden und steigenden Flanken des ersten Datenstroms (DLDAT1, ULDAT1) erste Symbole (S1, S1'; SOF1, SOF2) zugeordnet werden; Codieren eines weiteren Datenstroms (DLDAT2, ULDAT2; REGDAT), indem dessen Flanken oder Pegel zweite Symbole (S2, S2', 0, 1) zugeordnet werden; Aufbauen einer Symbolsequenz (iCT) aus den ersten Symbolen (S1, S1'; SOF1, SOF2) und zweiten Symbolen (S2, S2', 0, 1), wobei die Symbolsequenz (iCT) so aufgebaut wird, dass die ersten Symbole (S1, S1'; SOF1, SOF2) relativ zu den zugehörigen Flanken des ersten Datenstroms (DLDAT1, ULDAT1) immer um denselben Wert verzögert sind; Übertragen der Symbolsequenz (iCT) über ein galvanisch trennendes Bauelement (210, 211); Decodieren der über das galvanisch trennende Bauelement übertragenen Symbolsequenz (iCT) zur Rekonstruktion des ersten Datenstroms (DLDAT1, ULDAT1) und des weiteren Datenstroms (DLDAT2, ULDAT2; REGDAT).
  13. Das Verfahren gemäß Anspruch 12, wobei die Symbolsequenz (iCT) aus mehreren Frames mit mehreren Symbolen aufgebaut wird, und wobei jeder Frame als Startsymbol ein erstes Symbol (SOF1, SOF2) und mindestens ein zweites Symbol (0, 1) aufweist.
  14. Das Verfahren gemäß Anspruch 13, wobei ein neuer Frame als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) erzeugt wird.
  15. Das Verfahren gemäß Anspruch 13, wobei ein neuer Frame als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) erzeugt wird, und wobei der neue Frame relativ zur jeweiligen Flanke des ersten Datenstroms (ULDAT1, DLDAT1) eine Verzögerung aufweist, welche gleich der Länge eines Symbols oder länger ist.
  16. Das Verfahren gemäß Anspruch 14 oder 15, wobei ein neuer Frame auch als Reaktion auf ein Timersignal und/oder auf eine Änderung des Pegels des mindestens einen weiteren Datenstroms (DLDAT2, ULDAT2; REGDAT) erzeugt wird, und wobei als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) die Erzeugung des neuen Frames abgebrochen wird.
  17. Das Verfahren gemäß Anspruch 12, wobei als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) ein erstes Symbol (S1, S1') erzeugt wird, das relativ zu der Flanke um die Länge eines Symbols (Ts) oder mehr verzögert ist, und wobei als Reaktion auf eine Flanke des mindestens einen zweiten Datenstroms (ULDAT2, DLDAT2) ein zweites Symbol (S2, S2') erzeugt wird das relativ zur Flanke um eine einstellbare Verzögerungszeit verzögert ist.
  18. Das Verfahren gemäß Anspruch 17, wobei die einstellbare Verzögerungszeit als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) temporär auf einen Wert von zwei Symbollängen oder mehr festgelegt wird.
  19. Das Verfahren gemäß Anspruch 12, wobei der erste Datenstrom (ULDAT1, DLDAT1) gemäß einem Übertragungsprotokoll formatiert ist; und wobei die Symbolsequenz (iCT) so aufgebaut wird, dass zweite Symbole nur dann über das galvanisch trennende Bauelement (210, 211) übertragen werden, wenn gemäß dem Übertragungsprotokoll keine Flanken im ersten Datenstrom auftreten können.
  20. Das Verfahren gemäß Anspruch 19, wobei der Wert der Verzögerung der ersten Symbole annähernd null beträgt.
  21. Das Verfahren gemäß Anspruch 12, wobei der erste Datenstrom (ULDAT1, DLDAT1) synchron zu einem Taktsignal (CLKR) ist, das eine Taktperiode aufweist, und wobei als Reaktion auf eine Flanke des ersten Datenstroms (ULDAT1, DLDAT1) ein erstes Symbol (S1, S1') erzeugt wird und anschließend zu einem Abtastzeitpunkt vor Ablauf einer Taktperiode ein zweites Symbol (S2, S2') erzeugt wird, das dem Pegel des mindestens einen weiteren Datenstroms (ULDAT2, DLDAT2) zum Abtastzeitpunkt repräsentiert.
DE102018106085.8A 2018-03-15 2018-03-15 Interfaceschaltung Active DE102018106085B3 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102018106085.8A DE102018106085B3 (de) 2018-03-15 2018-03-15 Interfaceschaltung
US16/296,042 US10728064B2 (en) 2018-03-15 2019-03-07 Interface circuit
CN201910199969.9A CN110275853B (zh) 2018-03-15 2019-03-15 接口电路和用于接口电路的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018106085.8A DE102018106085B3 (de) 2018-03-15 2018-03-15 Interfaceschaltung

Publications (1)

Publication Number Publication Date
DE102018106085B3 true DE102018106085B3 (de) 2019-08-01

Family

ID=67224549

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018106085.8A Active DE102018106085B3 (de) 2018-03-15 2018-03-15 Interfaceschaltung

Country Status (3)

Country Link
US (1) US10728064B2 (de)
CN (1) CN110275853B (de)
DE (1) DE102018106085B3 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10778481B1 (en) * 2019-03-25 2020-09-15 Delphi Technologies Ip Limited Adaptable can transceiver and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289248A1 (en) 2010-05-21 2011-11-24 National Semiconductor Corporation Isolated communication bus and related protocol

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6608574B1 (en) * 2002-03-29 2003-08-19 Siemens Energy & Automation, Inc. Device, system, and method for compensating for isolation and cable delays in an SSI encoder interface circuit
US8478332B2 (en) * 2009-07-31 2013-07-02 Stmicroelectronics, S.R.L. Receiver for signal communication system with disturbance rejection circuit
US9322883B2 (en) * 2012-04-09 2016-04-26 Jabil Circuit, Inc. Battery monitoring system using time-based signals
US8928383B2 (en) * 2013-03-15 2015-01-06 Analog Devices, Inc. Integrated delayed clock for high speed isolated SPI communication
JP2014232954A (ja) * 2013-05-28 2014-12-11 オリンパスメディカルシステムズ株式会社 デジタルデータ送信装置
US9887564B2 (en) * 2014-02-13 2018-02-06 Infineon Technologies Austria Ag Switched mode power supply circuit
US9531280B2 (en) * 2014-05-09 2016-12-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Isolation device and system
JP2017147538A (ja) * 2016-02-16 2017-08-24 三菱電機株式会社 アイソレータ及びアイソレーション方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289248A1 (en) 2010-05-21 2011-11-24 National Semiconductor Corporation Isolated communication bus and related protocol

Also Published As

Publication number Publication date
US20190288886A1 (en) 2019-09-19
CN110275853A (zh) 2019-09-24
CN110275853B (zh) 2023-11-03
US10728064B2 (en) 2020-07-28

Similar Documents

Publication Publication Date Title
EP2283616B1 (de) Kommunikationssystem mit einem can-bus und verfahren zum betreiben eines solchen kommunikationssystems
EP2434695B1 (de) Serielle ringförmige Kommunikationsanordnung und dementsprechendes Verfahren, wobei für die Übermittlung von einem Datenpaket von jedem Slave eine Adressinformation des Datenpakets geändert wird
DE102010049534B4 (de) Kopplungseinheiten, System mit einer Kopplungseinheit und Verfahren zur Anwendung in einem System mit einer Kopplungseinheit
DE112015004473T5 (de) Bestätigen der datengenauigkeit in einem verteilten steuerungssystem
DE19733748A1 (de) Datenübertragungsvorrichtung
DE102010041223A1 (de) Verfahren und Vorrichtung zur seriellen Datenübertragung mit umschaltbarer Datenrate
DE10051591A1 (de) Bus-Repeater
DE102010063797A1 (de) Verfahren und Vorrichtung zur seriellen Datenübertragung mit zusätzlich eingefügten Daten
EP3607703B1 (de) Teilnehmerstation für ein bussystem und verfahren zur verbesserung der einhaltung der bit-timing-anforderung in einem bussystem
DE102005037263A1 (de) Verfahren und Vorrichtung zum Decodieren eines Signals
WO2012038493A1 (de) Vorrichtung und verfahren zur bereitstellung einer globalen zeitinformation in ereignisgesteuerter buskommunikation
DE10327548B4 (de) Verfahren und Vorrichtung zum Austausch von Daten über ein Bussystem
DE102018119429A1 (de) Interfaceschaltung
DE3247834A1 (de) Schaltkreis-baustein
WO2020229221A1 (de) Sende-/empfangseinrichtung und kommunikationssteuereinrichtung für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
DE102018106085B3 (de) Interfaceschaltung
EP3152872B1 (de) Übertragungseinheit mit prüffunktion
DE102019204115A1 (de) Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102020128430A1 (de) Feldbussystem mit umschaltbarer slew-rate
WO2020035392A1 (de) Rahmenabschirmeinheit, teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
EP3841688B1 (de) Medienkonverter und verfahren zum betreiben eines medienkonverters
DE102019200907A1 (de) Teilnehmerstation für ein Bussystem und Verfahren zur Datenübertragung in einem Bussystem
DE102004061343B4 (de) Netzwerk mit mehreren Stationen, Station für ein derartiges Netzwerk sowie Verfahren zur Synchronisierung von Stationen
DE102020212396B3 (de) Verfahren zum Versenden von EtherCAT-Telegrammen von einem EtherCAT-Master an eine Anzahl von EtherCAT-Slaves und EtherCAT-Master
DE102019009169B3 (de) Kommunikationsvorrichtungen und -verfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029100000

Ipc: H04L0069320000