DE102005046350A1 - Anordnung bei einer CAN-Verbindung in einem CAN-System - Google Patents

Anordnung bei einer CAN-Verbindung in einem CAN-System Download PDF

Info

Publication number
DE102005046350A1
DE102005046350A1 DE102005046350A DE102005046350A DE102005046350A1 DE 102005046350 A1 DE102005046350 A1 DE 102005046350A1 DE 102005046350 A DE102005046350 A DE 102005046350A DE 102005046350 A DE102005046350 A DE 102005046350A DE 102005046350 A1 DE102005046350 A1 DE 102005046350A1
Authority
DE
Germany
Prior art keywords
oscillator
bit
controller
arrangement according
frequency
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
DE102005046350A
Other languages
English (en)
Other versions
DE102005046350B4 (de
DE102005046350A8 (de
Inventor
Lars-Berno Fredriksson
Kent Lennartsson
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.)
Timegalactic AB
Original Assignee
Kvaser Consultant AB
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 Kvaser Consultant AB filed Critical Kvaser Consultant AB
Publication of DE102005046350A1 publication Critical patent/DE102005046350A1/de
Publication of DE102005046350A8 publication Critical patent/DE102005046350A8/de
Application granted granted Critical
Publication of DE102005046350B4 publication Critical patent/DE102005046350B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/376Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
    • 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
    • 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
    • H04L12/40013Details regarding a bus controller
    • 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/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD) using bit-wise arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • H04L27/22Demodulator circuits; Receiver circuits
    • H04L27/233Demodulator circuits; Receiver circuits using non-coherent demodulation
    • H04L27/2335Demodulator circuits; Receiver circuits using non-coherent demodulation using temporal properties of the received signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps

Abstract

Anordnung, die als Modul als Bestandteil eines CAN-Systems mit Verbindung vorgesehen ist und einen Oszillator umfasst, der abhängig von Steuerbefehlen von einem Mikrocomputer eine Anzahl verschiedener Frequenzen erzeugt. Außerdem ist ein die Frequenzen empfangender CAN-Controller enthalten, der über einen Transceiver an die Busverbindung angeschlossen ist oder angeschlossen werden kann. Durch die Erfindung wird ein einwandfrei funktionierendes Instrument erhalten, das bei Verifizierungs- und Validierungsmaßnahmen in Verbindung mit einem CAN-System eingesetzt werden kann.

Description

  • Die vorliegende Erfindung betrifft eine Anordnung, die vorgesehen ist, Bestandteil eines Moduls in einem CAN-System mit einer CAN-Verbindung zu sein.
  • Das Spezifizieren, Verifizieren und Validieren von CAN-Systemen in der Absicht, ausreichende Information zu erhalten, um eine sichere Funktion während der gesamten Lebensdauer des Systems zu erhalten, ist Stand der Technik. Diesbezüglich sei auf Instrumente verschiedener Art verwiesen, die auf dem allgemeinen Markt für die Analyse von CAN-Bussen verfügbar sind, zum Beispiel CANalyzer von Vector Informatik GmbH, X-analyzer von Warwick Technologies Ltd. und CANLab von Accurate Technologies Inc., wobei es sich in allen Fällen um PC-gestützte Software handelt, die in Interaktion mit verschiedenen CAN/PC-Schnittstellen von Kvaser AB, z. B. LAPcan, Nachrichten und Error Frames auf dem Bus einholen, zeitstempeln und senden können, um das zeitbezogene Verhalten der Nachrichten auf dem Bus und ein Auftreten eines Fehler bzw. den Zeitpunkt dieses Auftretens festzustellen. Darüber hinaus gibt es andere Instrumente, beispielsweise CANscope von Vector Informatik, die Spannungspegel auf dem CAN-Bus als Funktion der Zeit und anhand des Regelwerks des CAN-Protokolls ein interpretiertes Bild liefern, in dem die Spannungspegel als CAN-Bits präsentiert werden. Es gibt auch konventionelle Oszilloskope mit einer eingebauten entsprechenden Interpretation. Kvaser vertreibt ein Produkt, Memorator, das eine große Anzahl von Nachrichten zeitstempeln und für spätere Analyse speichern kann.
  • Es besteht ein bekanntes Problem darin, dass CAN-Controller (CC) nur für bestimmte Bitzeiten eingestellt werden können, die durch den Oszillator vorgegeben sind, der den CC taktet. So lassen sich zum Beispiel 1 Mbit/s überhaupt nicht mit einer Taktfrequenz von 13 MHz oder 33 MHz einstellen, während bei ediner Frequenz von 12 MHz nur die Samplepunktlagen 50 % und 66,67 % gewählt werden können. Für die Datenkommunikation im Allgemeinen sind Oszil latoren mit hoher Genauigkeit erforderlich, meistens 500 ppm bis herunter auf 20 ppm. Der USB-Standard z. B. erfordert mindestens 500 ppm Genauigkeit, und für USB-Bauteile gelten häufig engere Toleranzen, Philips beispielsweise verlangt 50 ppm beim USB-Host-Controller ISP1761. Die Genauigkeitsanforderungen in der CAN-Norm ISO 11898 beruhen auf Phase_Seg1, Phase_Seg2, SJW und Bitzeit. Es besteht somit ein Unterschied bei den Anforderungen an die Oszillatorgenauigkeit zwischen einem Datenkommunikationssystem wie USB und einem Steuersystem wie CAN. Im erstgenannten Fall ist die Genauigkeit durch die Spezifikation vorgegeben, während sie im anderen Fall vom Systemaufbau in einem einzelnen System abhängig ist. In einer Kommunikation zwischen einem CAN-Bus und einem Computer erfolgt die Kommunikation über eine Schnittstelle. Die Kommunikation zwischen der Schnittstelle und den Computer geschieht meistens über eine serielle Datenkommunikation, die eine genaue Oszillatorfrequenz erfordert, zum Beispiel USB mit 12 MHz und 50 ppm.
  • Ein gemeinsames Merkmal der bekannten Instrumente ist, dass ihnen eine Validierungsfunktion fehlt, mit der die einzelnen an einen CAN-Bus angeschlossenen Module bzw. die CAN-Einstellungen und Oszillatoren kontrolliert werden können. Es besteht auch ein Bedarf, eine ein CAN-Modul bildende Einheit an das CAN-System anschließen und für verschiedene Ziel- und Indizierfälle sowie als Quelle im System für Interpretation und Initiierung verschiedener Funktionen im CAN-System nutzen zu können. Die Einheit muss z. B. im Zusammenhang mit Prüfungen als Störquelle an das System angeschlossen werden können. Die Einheit muss als separat an das CAN-Modul oder entsprechend einfach anschließbare Einheit vermarktet werden können. Die Einheit muss auch mit einfach aufgebauten und funktionierenden Komponenten arbeiten können. Die Einheit muss gegen Verbindungen unterschiedlicher Art (Topologien), vorzugsweise einer Busverbindung, aber auch gegen optische Verbindungen, Sternverbindungen und/oder Netzverbindungen arbeiten können.
  • Zur Lösung des Grundproblems, ein einen Mikroprozessor enthaltendes CAN-Modul an eine beliebige Bitzeit anpassen zu können, wird ein Oszillator mit va riabler Taktfrequenz eingeführt, der den CC taktet, sowie eine Referenzfrequenz, die mit der variablen Taktfrequenz verglichen werden kann. Die Referenzfrequenz kann als Quelle einen Kristalloszillator haben oder indirekt aus Nachrichten auf dem CAN-Bus extrahiert werden, indem gemessen wird, wie viele Taktzyklen die Nachricht vom Start-of-Frame bis zum Bestätigungsbit die Nachricht in Anspruch nimmt, und die mit einem theoretisch errechneten Wert verglichen wird.
  • Somit besteht ein Bedarf an einer Anordnung, die das angegebene Problem mithilfe eines eigenen Mikrocomputers oder zusammen mit einem übergeordneten Computer lösen kann. Die vorliegende Erfindung bietet eine vollständige oder teilweise Lösung der genannten Problemstellung und zeigt im Anschluss daran neue Wege bei der Betrachtungsweise in Bezug auf den CAN-Bus und dessen Funktion.
  • Die Erfindung benutzt in der Hauptsache einen CC, einen CAN-Transceiver (CT), einen Oszillator mit variierbarer Frequenz, eine CPU mit dazu gehörenden Speichern sowie Peripheriekomponenten und eine Referenzfrequenz. Für eine indirekte Extraktion der Referenzfrequenz benutzt die Erfindung Protokollregeln gemäß CAN (ISO 11898-1) sowie die Anzeige von SOF- und ACK-Bits in den CAN-Nachrichten. Insbesondere werden die Regeln des Protokolls für den Aufbau einer CAN-Nachricht auf dem Bus benutzt. Für bestimmte Zwecke werden auch ein oder mehrere Rechner benutzt. Die Erfindung zeigt auch ein Verfahren für eine automatische Anpassung eines Moduls an die Bitrate eines Systems.
  • Als hauptsächlich kennzeichnend für eine Anordnung gemäß der Erfindung kann betrachtet werden, dass sie einen Oszillator, der abhängig von Steuerungen durch einen dazu gehörenden Mikrocomputer eine Anzahl von verschiedenen Frequenzen erzeugt, und einen die Frequenzen nutzenden CAN-Controller umfasst.
  • Weiterentwicklungen des Erfindungsgedankens gehen aus den Unteransprü chen hervor.
  • Gemäß der Erfindung ist angewiesen, dass CAN-Nachrichten nur in CAN-Controllern vorkommen sollen. Ein sendender CAN-Controller erzeugt Impulse auf TTL-Ebene auf seiner TX-Verbindung an einen CAN-Transceiver, der diese zu einer Impulsfolge auf dem Bus verstärkt. Die CAN-Transceiver der empfangenden Module lesen die Impulsfolge auf dem Bus aus und wandeln diese in Impulse auf TTL-Ebene um und präsentieren sie auf der RX-Verbindung des jeweiligen angeschlossenen CAN-Controllers. Der CAN-Controller interpretiert die Impulse gemäß dem CAN-Protokoll und entscheidet, ob sie eine korrekte CAN-Nachricht repräsentieren oder nicht.
  • Diese Sichtweise führt zu der Erkenntnis, dass man eine Anordnung mit einem CAN-Transceiver, einem CAN-Controller, einem variablen Oszillator und einem Mikroprozessor als Hauptbauteilen aufbauen kann, und dass man mit diesen Hauptbauteilen teils Impulse und Impulsfolgen auf dem Bus erzeugen kann, teils Impulse und Impulsfolgen auf dem Bus gemäß den Regeln des CAN-Protokolls analysieren kann und teils entscheiden kann, innerhalb welcher Grenzen die Impulsfolge auf dem Bus als korrekte CAN-Nachrichten zu interpretieren sind, wann Error Flags erzeugt werden sollen und wann ein Impuls auf der CAN-Verbindung unbeachtet bleiben soll. Die neue Sichtweise besteht darin, dass CAN-Nachrichten nur in CAN-Controllern vorkommen. Ein sendender CAN-Controller erzeugt Impulse auf TTL-Ebene auf seiner TX-Verbindung zu einem CAN-Transceiver, der diese zu einer Impulsfolge auf dem Bus verstärkt. Die CAN-Transceiver der empfangenden Module lesen die Impulsfolge auf dem Bus aus und wandeln diese in Impulse auf TTL-Ebene um und präsentieren sie auf der RX-Verbindung des jeweiligen angeschlossenen CAN-Controllers. Der CAN-Controller interpretiert die Impulse gemäß dem CAN-Protokoll und entscheidet, ob sie eine korrekte CAN-Nachricht repräsentieren oder nicht.
  • Diese neuartige Sichtweise führt zu der Erkenntnis, dass man eine Anordnung mit einem CAN-Transceiver, einem CAN-Controller, einem variablen Oszillator und einem Mikroprozessor als Hauptbauteilen aufbauen kann, welche teils variierende Impulse und Impulsfolgen auf einer CAN-Verbindung zur Stimulation und Provokation von CC anderer, an der Verbindung angeschlossener erzeugen kann, teils Impulse und Impulsfolgen auf dem Bus gemäß den Regeln des CAN-Protokolls analysieren kann und teils entscheiden kann, innerhalb welcher Grenzen die Impulsfolge auf dem Bus als korrekte CAN-Nachricht oder Error Flag interpretiert werden kann.
  • Eine gegenwärtig vorgeschlagene Ausführungsform, die die kennzeichnenden Merkmale der Erfindung aufweist, wird nachstehend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben; in den Zeichnungen zeigen
  • 1 den Aufbau von Bits und Bitsegmenten in einem CAN-System;
  • 2 als Blockschaltbild den Aufbau eine CAN-Moduls mit den neuen Komponenten und anschließbar an ein CAN-System, das eine Verbindung (z. B. eine Busverbindung) umfasst, an die auch andere CAN-Module angeschlossen sind;
  • 3 als Blockschaltbild eine zweite Ausführung eines CAN-Moduls mit einer Anzahl von CAN-Controllern und Transceivern;
  • 4 als kombiniertes Diagramm und Blockschaltbild Bit- und Strukturkonstellationen;
  • 5 als Diagramm die Wechselbeziehungen zwischen Bitkonstellationen;
  • 6 als Diagramm weitere Wechselbeziehungen zwischen Bitkonstellationen;
  • 7 als Blockschaltbild eine im Verhältnis zur Ausführung gemäß 3 modifizierte Ausführung;
  • 8 als Blockschaltbild eine im Verhältnis zur Ausführung gemäß 3 zusätzlich modifizierte Ausführung;
  • 9 als Blockschaltbild eine dritte Ausführung.
  • Zum leichteren Verständnis der Erfindung wird in 1 der Aufbau des CAN-Bits 100 erläutert. Es ist aus einer Anzahl von Bit-Quanta, BTQ, aufgebaut, die von einem Oszillator erzeugt wird, dessen Frequenz von einem Prescaler vorgeteilt ist und in Synchronisationssegment (Sync_Seg), Propagationssegment (Prop_Seg), Phasensegment 1 (Phase_Seg1) und Phasensegment 2 (Phase_Seg2), alternativ in Sync_Seg, Time Segment 1 (TSEG_1) und Time Segment 2 (TSEG_2) unterteilt ist. Gemäß den Regeln für CAN ist das Zeichen 0 dominant über 1. Außerdem können maximal 5 aufeinander folgende Zeichen von gleichem Wert gesendet werden, danach muss zumindest ein Zeichen mit umgekehrtem Wert gesendet werden. Wenn sechs oder mehr Zeichen von gleicher Sorte gesendet werden sollen, wird ein zusätzliches Zeichen von umgekehrter Art eingeschoben, man nennt das Bitstuffing. Für Signalisierung wird nach dem Verfahren Non-Return-to-Zero (NRZ) codiert, d. h. aufeinander folgende Zeichen von gleichem Wert werden mit „Dead reckoning" eingerechnet. Ein freier Bus hat den kontinuierlichen Wert 1. Eine Nachricht wird mit einer Null eingeleitet, Start-of-Frame (SOF). Die rezessive Flanke beim Wechsel von 1 auf 0 bei SOF wird zur Synchronisation sämtlicher CC genutzt. Diese werden dann bei jeder rezessiven Flanke in der folgenden Bitsequenz in einer Nachricht resynchronisiert. Die Synchronisationssprungweite (Synchronization Jump Width (SJW)) bezeichnet die maximale Anzahl von BTQ, die zur Einstellung der Bitlänge bei der Resynchronisation benutzt werden darf. Bei der Resynchronisation erfolgt eine Verkürzung von TSEG_1 oder Verlängerung von TSEG_2 um die erforderliche Anzahl von BTQ, jedoch um maximal SJW. Das CAN-Protokoll stellt die Anforderung an die Oszillatoren der an ein System angeschlossenen CC. Deren Frequenz fosc darf nicht um mehr als df von der Nennfrequenz fnom abweichen, wie angegeben in folgenden Formeln, wobei sämtliche Bedingungen erfüllt sein müssen: [(1 – df)·fnom fosc (1 + df)·fnom] 1) df {Phase_Seg1, Phase_Seg2)min/2·(13·Tb – Phase_Seg2) 2 df (SJW/20·Tb) 3) worin Tb = Nenn-Bitzeit
  • Wie aus dem Vorstehenden hervorgeht, ist die Toleranzanforderung an die Oszillatorfrequenz eines Moduls abhängig von der Einstellung des CAN-Controllers und den vorherrschenden Signalverzögerungen. Ausführlichere Information hierzu ist in der Norm ISO 11898-1 zu finden.
  • In 2 ist die Erfindung schematisch dargestellt. An eine CAN-Verbindung 201 ist teils eine erfindungsgemäße Anordnung 202 angeschlossen, teils ein Modul 203 oder mehrere Module 204, die auf dem Bus aktiv sind. Die erfindungsgemäße Anordnung umfasst einen Mikroprozessor 205 mit erforderlicher Peripherieausrüstung 206 und kann über eine Verbindung 207 an einen übergeordneten Rechner, z. B. einen Personal Computer (PC) über eine USB-Verbindung, angeschlossen werden. Der Mikroprozessor ist über die Verbindung 209 an den CAN-Controller CC1 angeschlossen. Der CAN-Controller umfasst eine Zustandsmaschine (Statemachine) 230, die nach einem Regelwerk für CAN 231 arbeitet, Fehlerzähler (Error counter) 232, Sendelogik 233, die ausgehende Impulse erzeugt, Bitzeitlogik 234, die u. a. Samplepunkt und Bitende bestimmt, Konfigurationsregister 235, Nachrichtenwarteschlange für ankommende 236 und ausgehende 237 Nachrichten, Filter 238, Taktgenerator 239 sowie Kommunikationsorgane 240 für Kommunikation mit dem Mikroprozessor. CC1 ist mit einer Taktfrequenz getaktet, die vom variablen Oszillator 211 erzeugt worden ist. Der Mikroprozessor stellt mithilfe des Programms 243 die Frequenz des Oszillators über die Verbindung 212 und die Einstelllogik 241 ein. CC1 ist über die Sendeverbindung TX1 und Empfangsverbindung RX1 mit dem CAN-Transceiver CT1 verbunden. CT1 ist über die CAN-High-Verbindung 213 und die CAN-Low-Verbindung 214 mit dem CAN-Bus verbunden. Diese sind auch an den A/D-Wandler 215 angeschlossen, der das Potential der jeweiligen Verbindung im Verhältnis zum Massereferenzpotential 216 erkennen kann. Der Mikroprozessor kann den A/D-Wandler über die Verbindung 217 auslesen und dadurch nicht nur die Pegelwechsel auf dem Bus feststellen, sondern auch die Potentialabweichungen anderer sendender Module vom Massereferenzpotential 216 messen. Über die Verbindung 218 kann der Mikroprozessor mithilfe des Programms 243 auch den CT1 in aktiven oder „Listen-only"-Modus umstellen. Im „Listen-only"-Modus ist verhindert, dass die CC1-Signale an TX1 auf den Bus gelangen, aber sie werden an RX1 rückgeführt. Der Mikroprozessor hat auch eine oder mehrere Zeitfunktionen 219 mit Zähler und Capture-Register 220. Auf dem Bus kommen Impulsfolgen 221 vor. Jede dieser Impulsfolgen 221' wechselt zwischen zwei differenziellen Spannungspegeln, Pegel 0 (Level 0) und Pegel 1 (Level 1). CT1 empfängt eine Impulsfolge 221' und präsentiert sie auf dem CC1-RX-Eingang RX1 auf TTL-Pegel 220''. Die Impulsfolge wird nun von CC1 gemäß den CAN-Regeln interpretiert. Der erste Wechsel 242 von Pegel 1 auf Pegel 0 wird als SOF interpretiert, wenn Pegel 0 weiterhin im Samplepunkt ansteht, andernfalls bleibt der Wechsel unberücksichtigt. Wenn der Pegel nach SOF weiterhin 0 beim nächsten Samplepunkt ist, wird das erste Bit im CAN-Identifier als 0 registriert. Sollte ein Wechsel auf Pegel 1 stattgefunden haben, wird das Bit als 1 registriert usw. Bei Sendung erzeugt CC1 ein Bitmuster gemäß den CAN-Regeln, das als eine Impulsfolge auf der Verbindung TX1 an CT1 geht, der die entsprechende Impulsfolge auf den CAN-Bus sendet. Es wird nun angenommen, dass CC1 auf eine Bitlänge eingestellt ist, die um das 6-fache länger ist als der in den Modulen 203 und 204 eingestellte Wert, und dass CC1 eine Nachricht senden soll, bei der der CAN-Identifier mit 1 beginnt. CC1 sendet SOF an CT1, der wiederum den CAN-Buspegel von 1 auf 0 wechselt. Dieser Pegel bleibt bestehen, bis CC1 Pegel 1 ausgibt. In der Zwischenzeit haben 203 und 204 CC ein korrektes SOF und danach fünf Bits mit dem gleichen Zeichen 0 detektiert, was gegen die Bitstuffingregeln des CAN-Protokolls verstößt, so dass sie ein Error Flag senden. Damit dürfte die folgende Sichtweise erläutert sein: wenn ein CC über einen CT Impulsfolgen auf dem CAN-Bus entlang dessen lokaler Einstellung und gemäß den Regeln des CAN-Protokolls erzeugt und interpretiert, lassen sich mit einer beschreibungsgemäßen Anordnung für einen Bus Impulse und Impulsfolgen mit CC1 und CT1 unter Anwendung der CAN-Regeln erzeugen und interpretieren, die von anderen an den Bus angeschlossenen Modulen gemäß den gleichen CAN-Regeln empfangen und anders interpretiert werden. Außerdem lässt sich durch den Empfang von Impulsfolgen von anderen Modulen feststellen, innerhalb welcher Einstellgrenzen der CC1 gemäß den CAN-Regeln die Impulsfolgen als korrekt interpretiert, und dadurch lassen sich die Abweichungen des sendenden Moduls von den Nenn-Einstellwerten feststellen. So kann z. B. der Samplepunkt von Modul 203 auf folgende Weise festgestellt werden:
    • 1. Die Module 204 werden vom Bus abgekoppelt oder in den „Silent"-Modus gesetzt.
    • 2. Es wird angenommen, dass die Bitrate des Systems 250 kbit/s beträgt und dafür mit der Frequenz von 16 MHz eingestellt ist.
    • 3. Der Mikrocontroller 205 stellt den Oszillator auf 21,333 MHz ein und fordert CC1 zum Senden einer beliebigen Nachricht auf, wenn der CAN-Identifier mit 1111 beginnt.
    • 4. Wenn der Mikroprozessor SOF angezeigt hat, entweder durch Erkennen des Pegelwechsels durch den A/D-Wandler 215 oder, wenn der CC1 von dem Typ ist, der einen SOF-Interrupt erzeugt, bei Empfang eines solchen Interrupts, wechselt er beim CT1 um auf „Silent"-Modus, und der CC1 empfängt dann seine eigene Nachricht.
    • 5. Ein Impuls ist auf den Bus gelegt worden, der 75 % einer Null gemäß CAN-Protokoll darstellt. Der CC hat in 203 eine rezessive Flanke von Pegel 1 auf Pegel 0 erkannt, und wenn der Pegel nicht im Samplepunkt vorliegt, erfolgt keine Maßnahme, was für diesen Fall angenommen worden ist.
    • 6. Nachdem der CC1 seine eigene Nachricht empfangen hat, wird dies an den Mikrocontroller berichtet, und es kann der Schlusssatz gezogen werden, dass der Impuls kürzer war als beim CC im 203-Samplepunkt.
    • 7. Der Vorgang wird ab Schritt 3 oben wiederholt, jedoch mit der Frequenz 21 MHz.
    • 8. Nun erfolgt der Wechsel nach dem Samplepunkt, und der CC in 203 interpretiert ein SOF, auf den Einsen folgen. Wenn sechs Einsen gezählt sind, sendet der CC in 203 ein Error Flag.
    • 9. Der CC1 empfängt seine eigene Nachricht, aber aufgrund des vom CC in 203 gesendeten Error Flags sendet der CT1 Pegel 0.
    • 10. Der CC1 meldet aufgrund des Error Flags einen Bitfehler und berichtet „missglückten Sendevorgang" an den Mikroprozessor.
    • 11. Anhand des Ereignisses kann festgestellt werden, dass der CC im 203-Samplepunkt zwischen 75 % und 76,2 % der Bitzeit liegt.
  • In 3 ist der Aufbau eines CAN-Moduls gemäß der Erfindung dargestellt. An den CAN-Bus 301 ist ein Modul 302 gemäß der Erfindung angeschlossen, und ein oder mehrere andere an das System angeschlossene Module sind durch 304 dargestellt. Das CAN-Modul besteht aus einem Mikroprozessor 305 mit erforderlichen Peripheriekomponenten 306. Das CAN-Modul kann über die Verbindung 308, beispielsweise eine USB-Verbindung, an einen übergeordneten Rechner, z. B. einen PC, angeschlossen sein. Die Mikroprozessoranordnung umfasst eine oder mehrere Zeitfunktionen 309, 309' mit jeweils einem Zähler mit einem oder mehreren Capture-Registern 310, 310'. Der Oszillator 303 ist von einem Typ mit variabler Frequenz und taktet die Zeitfunktion 310. Im Mikroprozessor enthalten bzw. an diesen angeschlossen ist ein CAN-Controller CC1, der ebenfalls mit dem Oszillator 303 getaktet wird. Der CC ist auf herkömmliche Weise über die RX- und TX-Verbindungen an einen Transceiver CT1 angeschlossen. Beim Transceiver CT1 ist Kreis 340 mit dem CAN-Controller verschaltet, Kreis 341 mit der CAN-Verbindung, Kreis 342 mit dem Mikroprozessor, und die Logik 343 ist für unter anderem den Wechsel zwischen „Listen-only"-Modus und aktivem Modus geschaltet. Der Transceiver hat u. a. zur Aufgabe, die Pegel auf der Verbindung den in der verarbeitenden Ausrüstung anstehenden Verarbeitungspegeln anzupassen. Als Transceiver können an sich bekannte Typen wie der SN65HVD235D von Texas Instruments verwendet werden. Die Frequenz des Oszillators 303 kann über die Verbindungen 313 durch den Mikroprozessor gesteuert werden. Die Mikroprozessoranordnung umfasst außerdem einen Temperatursensor 317. Das CAN-System arbeitet mit einer Nenn-Bitrate, z. B. 250 kbit/s, in der Praxis ein üblich vorkommender Wert. Das bekannte CAN-Protokoll SAE J1939 benutzt diese Bitrate. Der Oszillator 303 kann ein Dallas Maxim DS1086 mit einer in 5,12-MHz-Stufen digital einstellbaren Grundfrequenz von zwischen 33,3 und 66,6 MHz sein. Innerhalb jeder Stufe kann die Frequenz in 5-kHz-Schritten verstellt werden, d. h. 1024 Schritte, die eine Auflösung von ca. 1 Promille ergeben.
  • Beispiele für Bitgeschwindigkeiten, die mit CC1 erzielt werden:
    Figure 00110001
  • Aus obigem Beispiel geht hervor, dass sich eine Zeitauflösung von Teilen einer Nanosekunde in der Bitzeit je Einstellschritt erzielen lässt und mit ein und der gleichen Eingangsfrequenz unterschiedliche Bitzeiten durch Änderung der An zahl von BTQ im Bit erhalten kann. Somit kann ein preisgünstiger variabler Oszillator, wie der vorgeschlagene, zur Erzeugung von Bits mit kleinen Unterschieden zueinander benutzt werden. Der vorgeschlagene Oszillator hat allerdings sehr weite Toleranzen, +/–0,5 % für die eingestellte Grundfrequenz und mehr als 3 % über den Temperaturbereich von –40...+85 °C. Um den Einfluss dieser Toleranzen zu vermindern, werden eine Referenzfrequenz 312 eingeführt, die mit einem Kristalloszillator 311 erzeugt werden kann, und der Temperatursensor 317, um die aktuelle Temperatur und damit Möglichkeit zur Korrektur bei Temperaturabweichungen zu erhalten. Für einige gewisse Frequenzen gibt es Kristalloszillatoren mit hoher Präzision, 50 ppm und darunter, zu einem niedrigen Preis, da diese in massenproduzierten Geräten wie Mobiltelefonen, Computern, Uhren usw. verwendet werden. Der Oszillator 311 kann vorzugsweise aus einem solchen Sortiment ausgewählt werden, da die Frequenz im Vergleich mit Präzision und Preis von untergeordneter Bedeutung ist. Der Oszillator 311 taktet die Zeitfunktion 309' mit der festen Frequenz 312, die in eine für den Rechner 310' geeignete Frequenz heruntergeteilt sein kann. Auf entsprechende Weise ist der variable Oszillator 303 der Zeitfunktion 309 zugeschaltet. Der Oszillator 303 taktet den CC1. Der Mikroprozessor 305 wird vorzugsweise über die Verbindung 314 vom Oszillator 303 getaktet, wenn ein interner CC genutzt werden soll, er kann jedoch auch auf andere Weise getaktet sein. Über die Verbindung 313 stellt der Mikroprozessor 305 die Ausgangsfrequenz 315 des Oszillators 303 ein. Der Mikroprozessor 305 kann über die Verbindung 316 beim Temperatursensor 317 die aktuelle Temperatur abfragen. Darüber hinaus ist im Speicher des Mikroprozessors Information 318 über die Frequenz des Oszillators 311 und eventuell auch dessen Temperaturabhängigkeit gespeichert. Um die Genauigkeit der Frequenz 315 zu verbessern, wird nun die Frequenz 312 wie folgt als Referenzfrequenz herangezogen:
    Das System besteht nun aus einem einstellbaren Taktsignal 315 mit einer schlechteren Genauigkeit, z. B. 0,5 %, und einem zweiten, gut definierten Taktsignal 312 mit einer hohen Genauigkeit, z. B. 20 ppm, wobei diese Taktsignale in ein Verhältnis zueinander gebracht werden sollen, damit deren Wechselbeziehung sichergestellt ist und man demzufolge den Oszillator 303 für eine höhere Genauigkeit, z. B. 200 ppm oder besser, kalibrieren kann. Die Messung eines Taktsignals kann auf zweierlei Weise erfolgen. Bei der direkten Methode wird die Periode des Taktsignals gemessen. Wenn die Periodendauer eines 25-MHz-Taktsignals 40 Nanosekunden beträgt, erfordert eine Messung mit einer Genauigkeit von 0,1 % eine Auflösung von 5 Pikosekunden, was beim gegenwärtigen Stand der Technik schwer realisierbar ist. Bei der zweiten Methode wird die Anzahl der Taktimpulse über eine bestimmte Zeitperiode gezählt und mit der Anzahl von Taktimpulsen gemäß folgender Gleichung verglichen:
    Taktimpulse_312/(309'_ImpuseProSekunde·309'_Messperiode)==
    Taktimpulse_315/(309_ImpulseProSekunde·309_Messperiode)
  • Wenn die gleiche Messperiode für beide Frequenzen benutzt wird, ergibt sich folgende, vereinfachte Gleichung:
    309_ImpulseProSekunde ==
    309'_ImpulseProSekunde·(Taktimpulse_315/Taktimpulse_312).
  • Die Durchführungsweise bei der Messung ist abhängig davon, welchen Typ von Zähler und Peripherielogik die Implementierung bereitstellt, und dies variiert mit dem Typ von Mikroprozessor und Peripherielogik, die zur Verfügung stehen. Wenn z. B. ein M32C-Prozessor von Renesas Technology Corp. benutzt wird, kann die Messung auf folgende Weise durchgeführt werden.
  • Zuerst ist sicherzustellen, dass die Taktgeber eine Taktfrequenz haben, die unter 10 MHz liegt, da die Eingänge des Rechners dieses Prozessors nicht für höhere Frequenz als diese ausgelegt sind. Der eine Taktgeber kann eine höhere Frequenz haben, wenn diese auch zum Takten des Mikroprozessor benutzt wird, da diese bis zu 32 MHz betragen kann. Das Taktsignal 312 wird über den Frequenzteiler 320, der die Frequenz auf den zulässigen Wert von 9,5 MHz halbiert, an einen der Taktsignaleingänge 321 des Mikroprozessors angeschlossen. Das Signal kann durch Einstellen einer speziellen Logik für diesen Eingang an einen 16-Bit-Zähler 310' angeschlossen werden. Der M32C hat eine weitere Logik 322, die ein Starten des Zählers ermöglicht, wenn ein einge stellteR Wert erreicht ist oder der Zähler seinen höchsten Wert von hexadezimal FFFF erreicht hat. Wenn dies eintrifft, hat die Zählerlogik eine Funktion, durch die ein Eingang den Pegel wechseln kann, d. h, man erhält ein im Verhältnis zur angeschlossenen Taktfrequenz heruntergeteiltes Taktsignal. Dieser Ausgang wird danach an einen anderen Zählereingang 323 am M32C angeschlossen. Bei diesem Zähler 310 wird die Eingangslogik so eingestellt, dass das Signal zum Starten und Anhalten des Zählers benutzt wird. Dieser Rechner wird so eingestellt, dass er die interne Uhr 324 zählt, die mit dem Taktsignal 315 betrieben wird. Wenn der Zähler 310', der die Taktsignale 312 zählt, seinen Wechselpunkt 1' erreicht, wechselt der Ausgang in 322 und startet das Zählen der Taktsignale, die vom Taktsignal 315 im Zähler 310 kommen. Danach werden diese beiden Zähler gleichzeitig Impulse zählen, Wenn der erste Zähler seinen Wechselpunkt 2' erreicht hat, wechselt der Ausgang den Wert, und der zweite Zähler 310 wird angehalten. Danach kann der Mikroprozessor den Wert im zweiten Zähler 1 auslesen und diesen direkt mit dem Wechselpunkt von 1' auf 2' des ersten Zählers vergleichen. Der M32C hat eine Logik, mit der die Taktimpulse 312 umskaliert werden können, indem die Frequenz heruntergeteilt wird, bevor sie dem zweiten Zähler zugeschaltet wird. Wenn die Auflösung bei dieser direkten Messung nicht ausreichend ist, kann die Messung durch die Anwendung von Interrupt und Programm über eine in obigen Messmethoden angegebene Anzahl hinaus verlängern.
  • Als Alternative zur Erzeugung einer Referenzfrequenz mit einem Kristalloszillator kann eine solche Referenzfrequenz aus dem CAN-Bus extrahiert werden. In diesem Fall wird ein CC benutzt, der bei Detektierung von SOF ein Signal abgeben kann, wie z. B. der CC MCP2515 von Microchip Technology Inc., und der CAN-Anschluss des Moduls muss auf „Listen-only"-Modus einstellbar sein, d. h. es müssen Nachrichten empfangen und dürfen keine Signale auf den Bus gesendet werden können. Diese Aufgabe erfüllt der CAN-Transceiver SN65HVD235D von Texas Instruments. Dieser kann in „Autobaud-feedback-loop" geschaltet werden, wobei er als Signale Eingangssignale zum RX-Eingang des CC weiterleitet, während er eine Ausgabe von CC-Signalen am TX-Ausgang auf den Bus blockiert, d. h. entsprechend dem „Listen-only"-Modus. Mit obiger Komponentenauswahl kann der CT1 vom Mikroprozessor 305 über die Verbindung 330 in aktiven oder „Listen-only"-Modus gesetzt werden, und der CC1 kann einen SOF-Impuls direkt oder indirekt an die Taktfunktion 309 oder wahlweise über Verbindung 331 an den Mikroprozessor 305 erzeugen. Auf gleiche Weise können Signale an RX1 und TX1 direkt oder indirekt über die Verbindungen 332 bzw. 333 an 309 angeschlossen werden. Es wird vorausgesetzt, dass das oder die an den CAN-Bus 301 angeschlossene Modul bzw. Module 304 Nachrichten, dargestellt durch 332, senden. Damit ist die vorher beschriebene Referenzfrequenzanordnung 333 nun nicht erforderlich. Die Extraktion der Referenzfrequenz erfolgt durch die nachstehend beschriebenen Ablauffolge. Es wird angenommen, dass die Bitrate auf dem CAN-Bus 301 250 kbit/s beträgt.
    • 1. Der Mikroprozessor 305 stellt über die Verbindung 313 den Oszillator 303 auf eine für den CC1 passende Frequenz ein, mit der 250 kbit/s erhalten wird, z. B. 16 MHz.
    • 2. Der Mikroprozessor stellt danach über die Verbindung 313 beim CC1 die Bitlänge 8 BTQ, 75 % Samplepunkt, SJW = 4 und Prescaler = 8 ein.
    • 3. CT1 wird in „Listen-only"-Modus gesetzt. Kommentar: Bei dieser Einstellung wird dem CC1 die Kompensation einer starken Abweichung zwischen sendendem CC-Oszillator und dem eigenen Oszillator gestattet, indem er seine Bitzeit bei jeder Resynchronisation um bis zu 4 BTQ hochjustiert.
    • 4. Wenn SOF von CC1 signalisiert wird, wird der Wert des Zählers 310 im Capture-Register 1 gefangen.
    • 4a. Alternativ fängt der Zähler 310 jeden Wert, wenn die Verbindung 332 eine rezessive Flanke in einem Capture-Register aufweist.
    • 5. Der Mikroprozessor liest und speichert den gefangenen Wert, wenn er von CC1 eine SOF-Anzeige erhalten hat.
    • 6. Wenn CT1 eine rezessive Flanke auf TX1 signalisiert, was dem Zähler 310 über die Verbindung 332 übermittelt wird, wird der Wert des Zählers im Capture-Register 2 gefangen.
    • 7. Der Mikroprozessor liest den gefangenen Wert einen oder mehrere Taktzyklen nach der Detektierung einer rezessiven Flanke auf TX1 ab.
    • 8. Wenn der CC1 den Empfang einer Nachricht an den Mikroprozessor angezeigt hat, liest Letzterer diese aus und rechnet mithilfe der Regeln des CAN-Protokolls aus, wie viele Taktzyklen N in 309 diese Nachricht vom SOF-Samplepunkt bis zur rezessiven Flanke in ACK in Anspruch genommen hätte;
    • 8a. alternativ: von der rezessiven Flanke in SOF bis zur rezessiven Flanke in ACK.
    • 9. Der Mikroprozessor berechnet den Wert M, der die Differenz zwischen den in Capture-Register 1 und Capture-Register 2 gefangenen Werten minus der Anzahl von Impulsen, entsprechend 6 BTQ (Anzahl bis zum Samplepunkt in SOF), bezeichnet;
    • 9a. alternativ: minus 0.
    • 10. Der Mikroprozessor extrahiert die Referenzfrequenz durch Division von N mit M.
  • Durch wiederholte Messungen und Mittelwertberechnungen bei Nachrichten mit dem gleichen CAN-Identifier kann die Frequenz eines spezifischen Moduls im Netz extrahiert werden. Durch Messung von Nachrichten mit verschiedenen CAN-Identifiern und Mittelwertberechnungen kann eine virtuelle Systemfrequenz extrahiert werden.
  • Wenn der Oszillator 303 für die Referenzfrequenz kalibriert worden ist, kann er auf die richtige Frequenz eingestellt werden, damit die korrekte Bitzeit für das System erhalten wird. Das Bittiming-Register von CC1 wird danach auf die für das System angegebenen Werte eingestellt und ist danach bereit für eine aktive Signalisierung auf dem Bus. Es ist angebracht, die Kalibrierung bei verschiedenen Temperaturen zu wiederholen, wonach eine Temperaturkalibrierung durchgeführt werden kann.
  • Spreizung
  • Die Erfindung stellt somit die Möglichkeit bereit, unter Anwendung einfacher und preisgünstiger Standardkomponenten ein Modul gemäß einer CAN-Systemspezifikation mit beliebiger Bitzeit und geringer Frequenzabweichung einzustellen. Wie in der Einleitung angegeben, ist die Anforderung in Bezug auf die Oszillatortoleranz der einzelnen Module abhängig vom Aufbau des Systems und der CC-Einstellung von Bitzeit und SJW. Es besteht ein Bedarf, die Spezifikation verifizieren und validieren zu können. Hierzu kann der variable Oszillator 303 genutzt werden. Als Ausgangspunkt dient die in der aktuellen Spezifikation für das CAN-System angegeben Toleranz, z. B. 1 %. Der Mikroprozessor ist zuerst auf die Nennfrequenz, z. B. 16 MHz, eingestellt, und eine Anzahl von Nachrichten, z. B. 1000, wird fehlerfrei empfangen. Danach stellt der Mikroprozessor (16·1,05) MHz ein, und wenn eine Anzahl von Nachrichten, z. B. 1000, korrekt empfangen wird, ist die obere Toleranzgrenze für Empfang verifiziert. Der Vorgang wird mit der Oszillatoreinstellung (16·0,995) MHz wiederholt, und wenn die gleiche Anzahl von Nachrichten korrekt empfangen wird, ist der gesamte Toleranzbereich für Empfang verifiziert. Danach wird der Vorgang mit einem Senden der entsprechenden Anzahl von Nachrichten wiederholt, und wenn diese gesendet werden können, ohne dass die übrigen Module Error Frames erzeugen, ist der Toleranzbereich verifiziert. Zur Validierung des Toleranzbereichs wird die Spreizung erweitert, z. B. auf +/–1,5 %, und der Mikroprozessor erhöht die Frequenz schrittweise, z. B. in 0,01-%-Schritten, nach jeder 1.000. erhaltenen Nachricht. Für jeden Schritt wird die Anzahl von Error Frames registriert, die der CC1 erzeugt. Durch Erfassen aller Werte in einem Testfahrzeug über einen längeren Zeitraum und unter extremen Verhältnissen kann die Anzahl von Error Frames als Funktion der Frequenz zusammengestellt werden, und damit lassen sich die Grenzen für die zulässige Frequenzabweichung im System validieren.
  • In 4 ist eine alternative Ausführung der erfindungsgemäßen Anordnung 402 dargestellt, die an einen CAN-Bus 401 angeschlossen ist und mit 250 kbit/s ar beitet. Das Modul 402 hat eine dreifache Bestückung mit CC, CT und Oszillatoren sowie einen Mikroprozessor 405 mit erforderlichen Peripheriekomponenten 406. Das Modul ist über die Verbindung 408, z. B. eine USB-Verbindung, an einen übergeordneten Rechner 407, z. B. einen PC, angeschlossen. Die Mikroprozessoranordnung umfasst eine Zeitfunktion 409 und eine Anzahl von Capture-Registern 410. Der Oszillator 411 taktet den Mikroprozessor und die Zeitfunktion. Im Mikroprozessor enthalten bzw. an diesen angeschlossen ist ein CAN-Controller CC1, der ebenfalls mit dem Oszillator 411 getaktet wird. Der CC ist auf herkömmliche Weise über die RX- und TX-Verbindungen an einen Transceiver CT1 angeschlossen. Der erste CT kann über die Verbindung 414 von Prozessor 405 in aktiven oder passiven Modus gesetzt werden. Auf die gleiche Weise sind weitere zwei CAN-Controller und -Transceiver, CC2 und CT2 bzw. CC3 und CT3, angeordnet. Diese werden jedoch von den Oszillatoren OSC2 bzw. OSC3 getaktet. Die Frequenz der letztgenannten Oszillatoren kann über die Verbindungen 415 bzw. 416 vom Mikroprozessor gesteuert werden. Die Oszillatoren OSC2 und OSC3 sind von variablem Typ wie bereits vorstehend beschrieben, und der Oszillator 411 hat eine feste Frequenz. Darüber hinaus ist die Mikroprozessoranordnung mit einem oder mehreren Timern, mit 417 dargestellt, und einem Temperatursensor 418 ausgerüstet.
  • Aktives Detektieren
  • 1. Bestimmung des Samplepunkts
  • Ein Zielmodul 403 im Samplepunkt des Systems ist zu bestimmen. Eventuell angeschlossene sonstige Module 404 werden abgeschaltet oder in einen Modus gesetzt, bei dem sichergestellt ist, dass keine aktive Signalisierung auf den Bus und kein Senden eines ACK-Bits oder Error Frames erfolgen kann, sog. „Silent"-Modus. Um den Samplepunkt des Moduls 403 bestimmen zu können, werden CC2 auf 1 Mbit/s mit 20 BTQ und OSC2 auf 40 MHz eingestellt, CT1 und CC1 werden auf gewohnte Weise für eine Kommunikation mit der Bitgeschwindigkeit 250 kbit/s eingestellt. Die Einstellung ist nicht kritisch, da der CC1 lediglich zur Detektierung von Fehlern benutzt werden wird. Der CC2 erhält den Befehl zum Senden einer Nachricht mit einem CAN-Identifier, der mit 0011111 eingeleitet wird. Der restliche Teil der Nachricht ist bedeutungslos. Das Zielmo dul wird 00 als ein SOF auffassen. Es wird angenommen, dass das Modul einen 16-MHz-Taktgeber hat und dieser für 16 BTQ und 75 % Samplepunkt eingestellt ist, d. h. 4 BTQ vor dem Ende. In 4 ist das Verfahren ausführlicher dargestellt. Der CC1 sendet die Nachricht wie oben beschrieben, hier dargestellt mit 501. Das Zielmodul registriert ein SOF und erwartet, eine Null gemäß 502 zu lesen. Durch Erhöhen der Frequenz von OSC2 wird der Impuls kürzer gestaltet, so dass das Zielmodul im Samplepunkt eine Eins liest, hier dargestellt mit 503 und 503'. Das Zielmodul interpretiert dann die rezessive Flanke als eine Störung und führt keine Maßnahme durch. Durch Senken der Frequenz bei OSC2 wird der Impuls länger gestaltet (504, 504'), und wenn das Zielmodul einen dominanten Pegel erkennt, wird es danach Nullen und Einsen erwarten, jedoch höchstens vier Nullen in Folge oder fünf Einsen in Folge, gemäß den Regeln für CAN. Durch Variieren der Frequenz bei OSC2 und damit auch des Impulses, so dass das Zielmodul abwechselnd innerhalb immer engerer Intervalle ein Error Frame erzeugt bzw. nicht erzeugt, kann der Samplezeitpunkt des Zielmoduls mit hoher Genauigkeit berechnet werden, indem die Fähigkeit des CC, CAN-Nachrichten zu senden, ausgenutzt wird. Es ist jedoch erforderlich, dass die Ausgabe von Signalen vom CC2 an den Bus nach dem Erzeugen des Impulses verhindert wird, und der CC1 darf den Bus nicht auslesen können, bevor der Impuls abgeklungen ist. Dies wird dadurch erzielt, dass vor Beginn des Vorgangs der CT2 in aktiven Modus gesetzt und der CT1 vom Bus abgeschaltet werden. Wenn der CC2 seinen eigenen Samplepunkt 505 in seinem eigenen SOF detektiert, triggert er den Timer 507 mit dem Signal 508. Dieses Signal ist auf annähernd 7 μs gesetzt. Wenn die Zeit abgelaufen ist, wird das Signal 509 erzeugt, das den CT2 vom Bus abschaltet und den CT1 einschaltet, wobei CT-Modi indirekt ausgenutzt werden, indem das Umschalten während der andauernden CAN-Signalisierung erfolgt. Der Umschaltvorgang ist durch 510 dargestellt. Dies resultiert darin, dass der CC1 den Bus als rezessiv (511) ausliest, wenn der Impuls kürzer ist als der Samplepunkt des Zielsystems, wenn dagegen der Impuls länger ist als der Samplepunkt des Zielsystems, wird ein aktives Error Flag gesetzt, nachdem das Zielmodul sechs rezessive Bits (512) detektiert hat. Der CC1 wird dies als ein SOF (513) detektieren, und nach fünf Bits in Folge wird er ein aktives Error Flag (514) erzeugen. Dieses Ereignis erzeugt ein Interrupt 515 an den Mikroprozessor entweder durch ein SOF oder ein aktives Error Flag oder durch beide, abhängig von den Eigenschaften und der Einstellung des CC1, der dadurch über Information verfügt, um indirekt den Samplepunkt des Zielmoduls nach der dargestellten Methode feststellen zu können. Der Mikroprozessor kann somit mithilfe des CC1 detektieren, ob das Zielsystem ein aktives Error Flag sendet oder nicht. Die in CAN spezifizierte Fehlerhandhabung wird indirekt zur Messung des Samplezeitpunkts benutzt.
  • Verbesserte Genauigkeit
  • Bei dem oben ausgewiesenen Verfahren wird der Samplepunkt mit einer ansteigenden Flanke bestimmt. Das es sich um eine passive Flanke handelt, ist deren Steilheit abhängig von der Terminierung und Kapazitanz des Busses. Eine rezessive Flanke ist aktiv gesteuert und daher steiler. Nachdem nun der Samplepunkt grob bekannt ist, kann dessen Position mit zusätzlicher Genauigkeit bestimmt werden, wenn eine rezessive Flanke eingegabelt wird. Jetzt wird der CAN-Identifier der gesendeten Nachricht mit 0101111 eingeleitet, was einen Doppelimpuls 515 erzeugt. Die Nachricht wird mit der gleichen Bitgeschwindigkeit wie vorher gesendet. Wenn kein Error detektiert wird, liegt der Samplepunkt 516 des Zielmoduls in der Null. Wird ein Error detektiert, liegt der Samplepunkt in der Eins, was hier durch 516' dargestellt ist. Der Samplepunkt wird eingegabelt, indem die Bitzeit erhöht wird, wenn ein aktives Error Flag erzeugt wird, bzw. indem die Bitzeit verringert wird, wenn das aktive Error Flag ausbleibt. Mit einem schrittweise abnehmenden Intervall wird der Samplepunkt bestimmt.
  • Bestimmung der Bitgeschwindigkeit des Zielmoduls
  • Zur Bestimmung der Bitgeschwindigkeit des Zielmoduls werden OSC2 und CC2 zur Erzeugung eines Impulses benutzt, der vom Zielmodul abwechselnd als die Einleitung einer Nachricht mit dem CAN-Identifier 00001x und einer mit dem CAN-Identifier 00000x, wobei ein Bitstuffingfehler auftritt, interpretiert wird. In 6 sind solche Impulse dargestellt. Im erstgenannten Fall wird das Zielmodul ein Error Frame senden, nachdem es fünf rezessive Bits gezählt hat, während es im anderen Fall das Error Frame unmittelbar nach dem Detektieren des fehlerhaften Bitstuffingbits sendet. Hierdurch ergibt sich die Möglichkeit zu einer Messung der Bitgeschwindigkeit des Zielsystems mit im Prinzip der gleichen Methode, die bereits vorher beschrieben wurde, für die Einmessung des Samplepunkts durch indirekte Nutzung der Spezifikation von Bit, Stuffingbit, Nachricht und Fehlerhandhabung gemäß der CAN-Spezifikation. Da nun der Samplepunkt des Zielmoduls bestimmt worden ist, lässt sich ein Maß für die höchstmögliche Bitgeschwindigkeit erhalten, die 25/23stel der Samplezeit beträgt. Es kann zweckmäßig sein, CC2 und OSC2 so einzustellen, dass man eine Bitzeit erhält, die 4/3 der gemessenen Zeit beträgt. Mit der vorher beschriebenen Methode wird ein Impuls mit der Länge von fünf Bitzeiten erzeugt. Impuls 601 ist länger geworden als die Summe von SOF, vier Bits in Folge und der Zeit bis zum Samplepunkt S gemäß dem CC, so dass dieser ein aktives Error Flag 602 aufgrund eines Stuffingfehlers im nächsten folgenden Bit erzeugt. Der Impuls 603 ist dagegen zu kurz, so dass der CC des Zielmoduls eine Eins nach vier Nullen liest. Nach dem Lesen von vier weiteren Einsen erwartet der CC eine Null 604, liest aber statt dessen eine Eins und erzeugt deshalb ein aktives Error Flag 605. Der Samplepunkt S des Zielmoduls ist dann zwischen den Impulslängen T1 und T2 eingeschlossen worden. Durch schrittweises Verringern der Differenz zwischen T1 und T2 lässt sich die Zeit von der rezessiven Flanke in SOF bis zum Samplepunkt S bestimmen. Die Bitzeit Tbm ergibt sich aus folgender Gleichung: Tbm = (5·Tb – Tsm)/5worin Tb die Bitzeit für den CC2 bezeichnet und Tsm die Zeit des Zielmoduls bis zum Samplepunkt. Da keine rezessive Flanke erzeugt worden ist, ist das Zielmodul nie resynchronisiert worden.
  • Bestimmung der Synchronisationssprungweite (SJW)
  • Die Synchronisationssprungweite (SJW) bestimmt die maximale Justierung der Bitzeit, die ein empfangendes Modul durchführen darf. Wenn nun der CC2 für Sendung einer Nachricht gesetzt wird, deren CAN-Identifier mit 11 Einsen eingeleitet wird, wird er die Bitfolge 01111101111101 senden, d. h. den Dreifachimpuls 606. Durch Verlängern der Bitzeit im CC2 wird der Dreifachimpuls 606' erhalten. Das Zielmodul erwartet das Aussehen 607, aber da die rezessive Flanke erst kurz vor dem Samplepunkt eintrifft, resynchronisiert sie mit der SJW und erwartet das weitere Muster 608. Im Samplepunkt 609 wird eine Null erwartet aber eine Eins gelesen, und demzufolge wird ein aktives Error Flag 610 gesendet. Durch Verkürzen der Dreifachimpulsdauer kann das Zielmodul die Nachricht korrekt empfangen. Auf diese Weise ist die Samplezeit 609 eingegabelt worden und kann durch Variieren der Bitzeit von CC2 direkt gemessen werden. Wenn die Zeit T3 von SOF bis zum Samplepunkt festgestellt worden ist, ergibt sich die SJW-Zeit anhand folgender Gleichung: TSJW = T3 – (12·Tbm + Tsm)
  • Bestimmung der Signalverzögerung
  • Die Signalverzögerung zwischen dem Zielmodul und dem Messmodul lässt sich einfach auf folgende Weise messen. Den CC2 so einstellen, dass er eine Nachricht sendet, die mit dem CAN-Identifier 111111x eingeleitet wird, d. h. es wird ein Stuffingbit erzwungen. Nachdem ein SOF erzeugt worden ist, schaltet der CT2 den Anschluss TX vom Bus ab, und damit ist der Impuls 701 in 7 erzeugt. Der CC3 liest den Bus und detektiert ein SOF. Nachdem sechs Einsen in Folge gelesen sind, wird ein aktives Error Flag erzeugt. Im Zielmodul läuft der gleiche Vorgang ab, jedoch später aufgrund der Signalverzögerung. Die Bitzeit in CC3 wird nun verlängert, so dass sie kein Error Frame erzeugt, sondern ein aktives Error Flag als Beginn eines legalen dominanten Bits liest. Mit 702 ist dargestellt, wie das Zielmodul ein aktives Error Flag erzeugt, und mit 703, wie der CC3 dies als ein dominantes Bit interpretiert. Durch Verkürzen der Bitzeit von CC3 wird dieser einen Stuffingbitfehler detektieren, kurz bevor der Wechsel vom aktiven Error Flag des Zielmoduls angekommen ist. Die rezessive Flanke des Zielmoduls kann auf diese Weise eingekreist werden. Durch Einstellen der Bitlänge von CC3 bis zum Wechselpunkt zwischen unmittelbarer Error-Frame-Erzeugung und nach fünf Bits in Folge kann die rezessive Flanke des Zielmo duls eingemessen werden. Die Signalverzögerung Tsjw ergibt sich nun aus folgender Gleichung: Tsjw = (6·Tb3 + Ts3) – (6·Tm + Tsm)worin Tb3 die Bitzeit von CC3 und Ts3 dessen Samplezeit sowie Tm die Bitzeit des Zielmoduls und Tsm dessen Samplezeit bezeichnen.
  • Kalibrierung von CC2 und CC3
  • Die vorstehend beschriebenen Methoden setzen voraus, dass die Bitzeiten von CC2 und CC3, d. h. OSC2 und OSC3, nach einem Referenzwert kalibriert werden. Als Referenz wird der Oszillator 211 herangezogen. Der CC1 wird für eine vorgegebene Bitgeschwindigkeit, z. B, 250 kbit/s, und der Samplezeitpunkt auf 75 % der Bitzeit eingestellt. Mithilfe der bereits beschriebenen Methode zur Messung der Bitgeschwindigkeit des Zielmoduls wird nun die Bitgeschwindigkeit von CC1 mit CC2 bzw. CC3 eingemessen. Alternativ wird der Samplezeitpunkt von CC1 nach der beschriebenen Methode eingemessen, und dann wird direkt ein Wert für die Aussteuerungsspannung von OSC2 bzw. OSC4 erhalten, um eine Bitlänge für 250·0,75 = 187,5 kbit/s zu erhalten. Der jeweilige Oszillator schwingt temperaturabhängig. Mit dem Temperatursensor 418 wird die momentane Temperatur während des Kalibrierens gemessen. Durch Wiederholung des Kalibriervorgangs bei verschiedenen Temperaturen kann eine Temperaturkompensation berechnet werden. Alle Messungen können nun mit dem Oszillator 411 als Referenz durchgeführt werden. Dieser wiederum kann entsprechend einer externen Referenz nach einer Methode kalibriert werden, die in den schwedischen Patentanmeldungen SE 0401922-0 und SE 0401130-0 beschrieben ist.
  • Damit der jeweilige CC im aktiven Error-Modus verbleibt, kann zwischendurch eine Anzahl von Nachrichten gesendet werden, die als korrekt gesendet interpretiert wird, damit die Fehlerzähler gemäß den Regeln des CAN-Protokolls abwärts zählen.
  • Alternativer Aufbau und Kalibrierung
  • In 8 ist eine alternative Gestaltung dargestellt, Der Kristalloszillator 411 ist hier durch einen variablen Oszillator OSC1 ersetzt, der die CPU 405' und den CC1 taktet. Ein Referenzkristalloszillator 801 von guter Qualität, mit z. B. 16 MHz und 20 ppm Genauigkeit oder 12 MHz und 50 ppm Genauigkeit, ist hinzugekommen. Diesem und dem jeweiligen OSC sind die Zähler 802, 803, 804 bzw. 805 zugeschaltet, die alle gleichzeitig von der CPU 405' gestartet und abgeschaltet werden können oder wahlweise Capture-Register haben, die gleichzeitig „gefroren" werden können. Der Oszillator 801, der mit fester Frequenz arbeitet, kann zum Takten von Peripherieausrüstung benutzt werden, die vorzugsweise mit einer festen Frequenz arbeitet, beispielsweise die Kommunikationskreise 806 für den übergeordneten Rechner 407'. Durch gleichzeitiges Zählen der Impulse von 801 und dem jeweiligen OSC während ein und des gleichen Zeitraums kann ein Bezug zwischen der Frequenz dieser Oszillatoren und der Frequenz von 801 hergestellt werden. Damit verfügt die CPU 405' über ein Werkzeug zum Einstellen des jeweiligen OSC auf eine beliebige Frequenz innerhalb dessen Frequenzbereichs mit einer vorgegebenen Genauigkeit im Verhältnis zur Referenzfrequenz 801. Auf diese Weise ist eine lokale Zeitbasis erstellt worden. Viele CPU haben einen oder mehrere eingebaute CC, die mit der gleichen Basisfrequenz getaktet werden wie die CPU selbst. Wenn die Basisfrequenz fest ist, begrenzt dies die Möglichkeiten zur Anpassung eines eingebauten CC an eine geeignete Bitgeschwindigkeit und an einen geeigneten Samplepunkt in einem CAN-System, das mit einer anderen Grundfrequenz arbeitet. Da im vorliegenden Fall der OSC1 justiert werden kann, kann auch ein eingebauter CC1 vorteilhafterweise zur Anwendung kommen. Eine Anpassung der lokalen Zeitbasis an den übergeordneten Computer 407' kann erforderlich sein. Wenn die Kommunikation zwischen 402' und 407' ein Protokoll benutzt, das auf synchronen Zeitlücken basiert, die vom übergeordneten Rechner vorgegeben werden, z. B. USB, kann dessen SOF-Impuls ausgenutzt werden, indem die Impulse des Oszillators 801 während einer Zeitlücke gezählt werden. Eine Umschalteinheit 807 wird von der CPU 405' so gesteuert, dass sie SOF-Impulse von der USB-Einheit 806 einschaltet, die den Zähler 802 ein- und aus schalten oder wahlweise dessen Capture-Register „gefrieren". Auf diese Weise wird die Anzahl von Impulsen erhalten, die der Oszillator 801 während einer Zeitlücke erzeugt.
  • Passive Überwachung
  • Die früher beschriebenen Methoden setzen voraus, dass nur jeweils ein Zielmodul eingeschaltet ist und eine aktive Signalisierung angewendet werden kann. Dies ist in vielen Fällen nicht möglich oder nicht erwünscht. Eine Methode, bei der Qualitätsmessung indirekt die Eigenschaften der CAN-Controller und des CAN-Protokolls zu nutzen, kann folgenden Ablauf haben.
  • Der CC1 in 4 wird auf die Nenn-Bitgeschwindigkeit des Systems eingestellt. Der CC2 wird schrittweise in Richtung einer niedrigeren und CC3 in Richtung einer höheren Bitgeschwindigkeit verändert. Jedem CC werden in 409 zwei Capture-Register zugeordnet. Die Zeit wird bei SOF sowie bei ACK-Bit oder lokal erzeugtem Error Frame gefangen. Sämtliche CT sind so eingestellt, dass ein Abhören, aber kein Senden auf dem Bus erfolgen kann. Der TX3-Ausgang von CC3 wird über Verbindung 419 mit dem Capture-Register 1 verbunden. Wenn der CC3 TX3 aktiviert, wird die Zeit im Capture-Register 1 „gefroren". Auf diese Weise wird die Zeit für ein erzeugtes ACK-Bit oder ein aktives Error Flag gefangen. Das Capture-Register 2 wird mit Verbindung 420 an das SOF-Signal von CC3 angeschlossen. Auf diese Weise wird jede rezessive Flanke auf dem Bus gefangen, die der CC3 als ein SOF interpretiert. CC1 und CC2 werden auf entsprechende Weise an ihre jeweiligen Capture-Register angeschlossen. Nach jeder von CC1 detektierten Nachricht oder jedem erzeugten Error Frame liest der Mikroprozessor vorzugsweise folgende Werte aus:
    Temperatur
    Für jeden CC:
    Zeitpunkt für SOF
    Zeitpunkt für ACK oder Error Frame
    TSEG_1 und TSEG_2
    Prescaler
    SJW
    Oszillatorfrequenz
    CAN-Identifier
    RTS-Bit
    DLC
    Empfangenes Bitmuster im Empfangspuffer
    TEC
    REC
    Error-Status-Register
  • Diese Werte werden über die Verbindung 408 an den übergeordneten Rechner 407 gesendet. Der übergeordnete Rechner protokolliert die zugesendeten Nachrichten. In bestimmten Zeitabständen, z. B. jede Sekunde, gibt der übergeordnete Rechner dem Mikroprozessor 405 den Befehl, beim CC2 die Bitzeit um ein bestimmtes Maß, z. B. 0,1 %, zu verringern und beim CC3 um das gleiche Maß zu erhöhen. Mit zunehmender Abweichung werden CC2 und CC3 Error Frames für bestimmte Nachrichten erzeugen, während CC1 korrekte Nachrichten empfängt. Anhand von SOF- und ACK-Zeitstempelungen lässt sich feststellen, ob die Lücke zwischen einer Nachricht und der darauf folgenden Nachricht größer ist als drei Bitzeiten. Wenn dies der Fall ist, haben keine Arbitrierung und damit keine Resynchronisation beim Absender stattgefunden. Durch Überprüfung, bei welchen Bitzeiten bei CC2 und CC3 die Erzeugung von Error Frames für einen vorgegebenen CAN-Identifier beginnt, lässt sich feststellen, um wie viel die Bitzeit des sendenden Moduls von der des Messmoduls abweicht. Die Bitgeschwindigkeit des sendenden Moduls ist der Mittelwert der Bitgeschwindigkeiten von CC2 und CC3 beim Auftreten von Error Frames, wenn CC2 und CC3 die gleiche SJW, vorzugsweise ein BTQ, haben. Da jede Nachricht mit einem von Null getrennten DLC nur einen Absender hat, kann die Bitgeschwindigkeit jedes Moduls im System bestimmt werden. Durch eine kontinuierliche Überwachung eines Systems auf diese Weise, können Variationen im jeweiligen Modul gemessen und auf verschiedene Betriebssituationen bezogen werden, und die Grenze für ernstliche Störungen lässt sich extrapolieren.
  • Bestimmung der Nachrichtenlänge
  • Die Länge einer CAN-Nachricht variiert mit der Oszillatorfrequenz und Einstellung des sendenden Moduls, der Resynchronisation beim Arbitrieren und der Anzahl der Stuffingbits. Ein CC, z. B. CC3, wird auf die für Nenn-Bitgeschwindigkeit des CAN-Systems und der CT3 auf einen Modus, in dem er nicht aktiv an der Kommunikation beim Senden beteiligt ist, beispielsweise Autofeedback-Loop im Fall TI 235, eingestellt. Beim SOF-Signal in CC3 werden der Wert der Zeituhr 409 über 419 und des ACK-Bits über 420 im Capture-Register 410 der Zeituhr gefangen. Die Länge der Nachricht ti ergibt sich aus folgender Gleichung: ti = Ts3 + (tACK – ts) + 9·Tb3worin
  • Ts3
    Samplezeit in CC3
    tACK
    Uhrzeit beim ACK-Bit
    ts
    Uhrzeit beim Samplepunkt in SOF
    Tb3
    Bitzeit gemäß CC3
  • Die Anzahl der Stuffingbits kann nach dem Empfang durch Anwendung der Regeln des CAN-Protokolls berechnet werden, und damit kann auch die Gesamtanzahl von Bits B in der Nachricht bestimmt werden. Da eine Zeitstempelung bei der rezessiven Flanke beim ACK-Bit stattgefunden hat und auf diese 8 Bits folgen, kann die Bitgeschwindigkeit Tb beim sendenden Modul mit großer Genauigkeit ermittelt werden durch folgende Gleichung: Tb = [Ts3 + (tACK – ts)]/(B – 9)
  • In 9 ist eine von mehreren Hardwareaufbauten dargestellt. Zwei oder mehr CC werden einer Umschalteinheit 901 zugeschaltet, die über die Verbindung 902 von der CPU 405'' gesteuert wird. Die CPU kann die TX-Verbindung umschalten vom jeweiligen CC von der Verbindung an TX4 auf den eigenen RX-Eingang des CC, an einen anderen CC-RX-Eingang, an einen Triggerausgang 903, der an ein geeignetes Ziel, z. B. ein Capture-Register oder eine CC-Modusumschaltung, oder die TX-Verbindung kann völlig abgeschaltet werden. Die jeweilige CC-RX-Verbindung kann an RX4, einen anderen oder andere CC-TX geschaltet oder völlig abgeschaltet werden. Auf diese Weise lassen sich einfach unterschiedliche Konfigurationen für verschiedene Zwecke realisieren. Außerdem können CC mit verschiedenen Eigenschaften parallelgeschaltet werden, was von Vorteil sein kann. Zum Beispiel kann MCP2515 ein SOF-Signal erzeugen, ein Leistungsmerkmal, das den internen CC im Mikroprozessor M16C von Mitsubishi fehlt. Letzterer hat ein technisch ausgefeiltes Fehlerregister, das Schlussfolgerungen darüber zulässt, um welchen Typ von Fehler es sich handelt und wo dieser in der Nachricht festgestellt wird, ein Leistungsmerkmal, das dem vorher genannten CC fehlt. Durch Anschluss von deren RX-Anschlüssen gemeinsam an RX4 kann mehr Information über eine korrupte Nachricht auf dem Bus erhalten werden.
  • Automatische Anpassung an die anstehende Bitgeschwindigkeit in einem System
  • Die vorher beschriebene Methode zum Einmessen der Länge einer Nachricht kann zur automatischen Anpassung an die in einem System anstehende Bitgeschwindigkeit zur Anwendung kommen. Die Länge empfangener Nachrichten wird mithilfe eines Zählers gemessen, der an den OSC3 angeschlossen ist. Der Rechner wird mit SOF gestartet und mit ACK angehalten. Die Anzahl der Impulse, die dabei gezählt werden, ergibt die Rohlänge der Nachricht bis zum Acknowledge-Bit in der Sorte von Impulsen. Die empfangene Nachricht wird danach gemäß den Regeln im CAN-Protokoll so umgerechnet, dass die Anzahl von Impulsen bis zum Acknowledge-Bit erhalten und multipliziert wird mit der Anzahl von Impulsen vom OSC3, was ein Bit ergibt. Wenn die Anzahl von Bits gleich groß ist, hat das Modul die korrekte Frequenz im Verhältnis zum sendenden Modul. Bei höherer Anzahl eigener Impulse ist die Frequenz des OSC3 zu verringern, umgekehrt ist sie bei niedrigerer Anzahl zu erhöhen. Durch Wiederholen der Messung bei Nachrichten von mehreren Modulen im System vor einer Korrektur und Mittelwertbildung des Resultats kann eine Anpassung an eine fiktive mittlere Bitlänge im System durchgeführt werden. Auf diese Weise kann ein Modul auf eine zuverlässige Weise mit anderen Modulen zusammenarbeiten, auch wenn die Toleranz des eigenen Oszillator weite Grenzen hat.
  • Die Erfindung beschränkt sich nicht auf die oben dargestellte Ausführungsform, sonder kann im Rahmen der nachfolgenden Ansprüche und des Erfindungsgedankens modifiziert werden.

Claims (23)

  1. Anordnung, die als Modul als Bestandteil eines CAN-Systems mit Busverbindung vorgesehen ist, dadurch gekennzeichnet, dass sie einen Oszillator umfasst, der abhängig von Steuerbefehlen von einem Mikrocomputer eine Anzahl verschiedener Frequenzen erzeugt, und die einen die Frequenzen empfangenden CAN-Controller umfasst, der über einen Transceiver an die Busverbindung angeschlossen ist oder angeschlossen werden kann.
  2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, dass sie mit auf der Busverbindung auftretenden Pegeln (Nullen und Einsen) sowie Übergängen zwischen den Pegeln arbeitet.
  3. Anordnung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass der CAN-Controller in iterativer Arbeitsweise mit dem Oszillator zusammenarbeitet, und dass der Mikroprozessor angeordnet ist, um mithilfe im Voraus bekannter Information über die Arbeitsweise (den Aufbau) des CAN-Systems und zumindest einer der genannten Frequenzen anzugeben, ob ein detektierter Pegel oder Pegelübergang ein Error Frame oder ein Error Flag darstellt.
  4. Anordnung nach einem der Ansprüche 1, 2 oder 3, dadurch gekennzeichnet, dass der CAN-Controller, hier als erster CAN-Controller bezeichnet, zusammen mit einem oder mehreren anderen CAN-Controllern an die Busverbindung angeschlossen werden kann, wobei ein zweiter CAN-Controller angeordnet ist, um der Busverbindung mithilfe erster Steuerbefehle von einem diesem zugeordneten Mikrocomputer und einem diesem zugeordneten Oszillator zumindest einen auf Null bzw. Eins beziehbaren Pegel zuzuführen, und dass der erste CAN-Controller angeordnet ist, um mithilfe im Voraus bekannter Information über die Arbeitsweise (den Aufbau) des CAN-Systems das Verhältnis einer ersten Bitkonfiguration, die im Wesentlichen dem vom zweiten CAN-Controller ausgehenden Pegel entspricht, zu einer von einer Mehrzahl von anderen Bitkonfigurationen, die vom ersten CAN-Controller mithilfe der genannten Frequenzen und Information initiiert worden sind, anzugeben.
  5. Anordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass der zweite CAN-Controller, angeordnet ist, um bei einem vorgegebenen Unterschiedsgrad zwischen der ersten Bitkonfiguration und einer der zweiten Bitkonfigurationen eine Meldung hierüber auszugeben.
  6. Anordnung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass bei einem Vergleich der ersten Bitkonfiguration und einer Anzahl zweiter Bitkonfigurationen die Grenzen für eine akzeptable erste Bitkonfiguration angezeigt werden können.
  7. Anordnung nach Anspruch 1, dadurch gekennzeichnet, dass sie für eine Anpassung eines CAN-Moduls an eine für ein CAN-System spezifizierte Einstellung von Bitzeit und Oszillatorfrequenz angeordnet ist.
  8. Anordnung nach Anspruch 1, dadurch gekennzeichnet, dass sie für eine Messung von Abweichungen zwischen Bitzeiten in Nachrichten angeordnet ist, die von verschiedenen an den Bus angeschlossenen Modulen erzeugt werden.
  9. Anordnung nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass sie einen Oszillator umfasst, der in Abhängigkeit von Steuerbefehlen von einem Mikroprozessor eine Anzahl verschiedener Frequenzen erzeugt, die zusätzlich zum Takten des CAN-Controllers auch einen Zähler takten, und dass die Frequenz des Oszillators vom Mikroprozessor für einen Bezug zu einer Referenzfrequenz eingestellt werden kann.
  10. Anordnung nach Anspruch 9, dadurch gekennzeichnet, dass ein interner Oszillator zur Erzeugung der Referenzfrequenz angeordnet ist.
  11. Anordnung nach Anspruch 9, dadurch gekennzeichnet, dass sie zur Extraktion der Referenzfrequenz aus von auf dem Bus auftretender Nachricht angeordnet ist.
  12. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sie für einen Betrieb mit aktiver oder passiver Arbeitsweise gegenüber der Busverbindung und an dieser angeschlossenen oder an diese anschließbare Module angeordnet ist.
  13. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sie über eine USB-Verbindung an einen übergeordneten Rechner, z. B. einen Personal Computer (PC), angeschlossen ist oder angeschlossen werden kann.
  14. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der CAN-Controller beziehungsweise der erste CAN-Controller über eine Sendeverbindung (TX1) und eine Empfangsverbindung (RX1) mit dem Transceiver verbunden ist und der Transceiver seinerseits über eine CAN-High-Verbindung und eine CAN-Low-Verbindung an den Bus angeschlossen ist.
  15. Anordnung nach Anspruch 12, dadurch gekennzeichnet, dass der Mikroprozessor für ein Einstellen des Transceivers für aktive oder passive Arbeitsweise angeordnet ist.
  16. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sie zur Erzeugung von Impulsen und Impulsfolgen angeordnet ist, die an den Bus angeschlossene andere Module ge mäß den Regeln des CAN-Systems anders interpretieren.
  17. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sie so angeordnet ist, dass sie Impulsfolgen von anderen Modulen empfangen und mithilfe der Impulsfolgen feststellen kann, innerhalb welcher Einstellgrenzen das erste Modul gemäß den Regeln die Impulsfolge als korrekte CAN-Nachrichten interpretiert, und dadurch die Abweichung des jeweiligen sendenden Moduls von den Nenn-Einstellwerten feststellen kann.
  18. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sie so angeordnet ist, dass sie anhand der Anzeige von Error Flags infolge eines Bitfehler feststellen kann, ob ein aktueller Samplepunkt innerhalb einer bestimmten Zeitgrenze der Bitzeit, z. B. 75 %–76,9 % der Bitzeit, liegt.
  19. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sie so angeordnet ist, dass sie angeordnet ist, um Nachteile in Bezug auf die Genauigkeitsanforderungen, die bei Oszillatorfunktionen in einem Datenkommunikationssystem, z. B. von Typen USB- und CAN-System, auszuschalten.
  20. Anordnung nach Anspruch 19, dadurch gekennzeichnet, dass die variable Taktfrequenz des ersten Moduls vergleichbar mit einer Referenzspannung, die von einem Kristalloszillator erhalten oder die indirekt aus Nachrichten auf dem CAN-Bus durch Messung der Anzahl von Taktzyklen, die die aktuelle Nachricht von Start-Of-Frame bis zum Acknowledgement-Bit in Anspruch nimmt, extrahiert und mit einem vorgegebenen errechneten Wert verglichen wird, angeordnet ist.
  21. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sie für eine Validierung der Grenzen der Fre quenzabweichung durch Zusammenstellung der Anzahl von Error Frames als Funktion der Frequenz angeordnet ist.
  22. Anordnung, die als Modul als Bestandteil eines CAN-Systems mit Busverbindung, in dem abhängig von den Übertragungsverhältnissen verschiedene Signalkonstellationen vorkommen, vorgesehen ist und einen Oszillator mit der Fähigkeit zur Ausgabe verschiedener Frequenzen umfasst, dadurch gekennzeichnet, dass der CAN-Controller über einen Transceiver an die Busverbindung angeschlossen ist oder angeschlossen werden kann und der Oszillator einstellbar ausgeführt ist, um eine von der jeweiligen Signalkonstellation abhängige Frequenz abzugeben.
  23. Anordnung zur Anpassung eines CAN-Moduls an eine auf einer Busverbindung auftretende CAN-Bitzeit, wobei das Modul an die Busverbindung angeschlossen ist und einen CAN-Controller umfasst sowie einen Oszillator umfasst oder mit einem solchen zusammenwirkt, dadurch gekennzeichnet, dass der Oszillator angeordnet ist für einen Betrieb mit einer variablen Taktfrequenz, die den CAN-Controller taktet, und dass eine Einheit eine Referenzfrequenz erzeugt, die für Vergleichbarkeit mit der variablen Taktfrequenz angeordnet ist, wobei sich z. B. die Möglichkeit ergibt, in der Bitzeit je Einstellschritt eine Zeitauflösung von Bruchteilen einer Nanosekunde zu erzielen und mit ein und der gleichen Eingangsfrequenz durch Änderung der Anzahl von BTQ im Bit unterschiedliche Bitzeiten zu erhalten und dabei, ungeachtet eines einfachen Aufbaus des Oszillators, eine Erzeugung von Bits mit geringen gegenseitigen Unterschieden zu erreichen.
DE102005046350A 2004-10-25 2005-09-28 Anordnung bei einer CAN-Verbindung in einem CAN-System Expired - Fee Related DE102005046350B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE0402573-0 2004-10-25
SE0402573A SE533636C2 (sv) 2004-10-25 2004-10-25 Anordning vid bussförbindelse i CAN-system

Publications (3)

Publication Number Publication Date
DE102005046350A1 true DE102005046350A1 (de) 2007-04-05
DE102005046350A8 DE102005046350A8 (de) 2010-04-29
DE102005046350B4 DE102005046350B4 (de) 2011-08-18

Family

ID=33448696

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005046350A Expired - Fee Related DE102005046350B4 (de) 2004-10-25 2005-09-28 Anordnung bei einer CAN-Verbindung in einem CAN-System

Country Status (3)

Country Link
US (2) US7472216B2 (de)
DE (1) DE102005046350B4 (de)
SE (1) SE533636C2 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009055797A1 (de) * 2009-11-25 2011-05-26 Valeo Schalter Und Sensoren Gmbh Schaltungsanordnung und ein Steuergerät für sicherheitsrelevante Funktionen
AT511977A1 (de) * 2011-10-11 2013-04-15 Felix Dipl Ing Dr Himmelstoss Verfahren und vorrichtung zur kurzfristigen synchronisation mehrerer geräte
DE102012209636B4 (de) 2011-06-08 2023-03-30 Denso Corporation Transceiver zur Übertragung eines Signals, das codiert ist, um Taktinformation zu enthalten, und Kommunikationssystem

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE533636C2 (sv) * 2004-10-25 2010-11-16 Xinshu Man L L C Anordning vid bussförbindelse i CAN-system
DE102005018837A1 (de) * 2005-04-22 2006-10-26 Robert Bosch Gmbh Verfahren und Vorrichtung zur Synchronisation zweier Bussysteme sowie Anordnung aus zwei Bussystemen
CN1955949B (zh) * 2005-10-24 2010-05-26 瑞昱半导体股份有限公司 通用串行总线装置
CN100463421C (zh) * 2006-08-22 2009-02-18 哈尔滨工业大学 一种can错误帧检测与显示的装置及方法
JP2008198019A (ja) * 2007-02-14 2008-08-28 Matsushita Electric Ind Co Ltd データキャリア
DE102007051657A1 (de) * 2007-10-26 2009-04-30 Robert Bosch Gmbh Kommunikationssystem mit einem CAN-Bus und Verfahren zum Betreiben eines solchen Kommunikationssystems
TW200921325A (en) * 2007-11-05 2009-05-16 Holtek Semiconductor Inc Frequency synchronous apparatus and method
DE102008000562A1 (de) * 2008-03-07 2009-09-10 Robert Bosch Gmbh Kommunikationssystem umfassend einen Datenbus und mehrere daran angeschlossene Teilnehmerknoten sowie Verfahren zum Betreiben eines solchen Kommunikationssystems
DE102011077493A1 (de) * 2010-06-23 2012-04-26 Robert Bosch Gmbh Verfahren und Vorrichtung zur Datenübertragung mit variabler Bitlänge
DE102010041223A1 (de) * 2010-09-22 2012-03-22 Robert Bosch Gmbh Verfahren und Vorrichtung zur seriellen Datenübertragung mit umschaltbarer Datenrate
US9255859B2 (en) * 2010-11-15 2016-02-09 Advanced Mechanical Technology, Inc. Force platform system
WO2012101662A1 (en) * 2011-01-25 2012-08-02 Power-One Italy S.P.A. Transmission protocol
US9338035B2 (en) * 2011-03-07 2016-05-10 Microchip Technology Incorporated Microcontroller with can bus module and auto speed detect
WO2012132217A1 (ja) * 2011-03-31 2012-10-04 ルネサスエレクトロニクス株式会社 Can通信システム、can送信装置、can受信装置、およびcan通信方法
EP2521319B1 (de) * 2011-05-02 2015-10-14 Robert Bosch GmbH CAN mit flexibler Datenrate
DE102012200997A1 (de) * 2011-08-29 2013-02-28 Robert Bosch Gmbh Verfahren und Vorrichtung zur Prüfung der korrekten Funktion einer seriellen Datenübertragung
US8542069B2 (en) * 2011-09-23 2013-09-24 Infineon Technologies Ag Method for trimming an adjustable oscillator to match a CAN-bus and a CAN-bus communication controller
US8981858B1 (en) 2011-12-30 2015-03-17 Cypress Semiconductor Corporation Spread spectrum oscillator
US8737426B1 (en) 2013-03-15 2014-05-27 Concio Holdings LLC High speed embedded protocol for distributed control system
US8897319B2 (en) 2013-03-15 2014-11-25 Concio Holdings LLC High speed embedded protocol for distributed control systems
US9419737B2 (en) 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
US9432488B2 (en) 2013-03-15 2016-08-30 Concio Holdings LLC High speed embedded protocol for distributed control systems
WO2014191788A1 (en) * 2013-05-29 2014-12-04 Freescale Semiconductor, Inc. A network receiver for a network using distributed clock synchronization and a method of sampling a signal received from the network
WO2014191785A1 (en) * 2013-05-29 2014-12-04 Freescale Semiconductor, Inc. A network receiver for a network using distributed clock synchronization and a method of adjusting a frequency of an internal clock of the network receiver
EP3025426B1 (de) * 2013-07-24 2019-01-30 NXP USA, Inc. Sendeempfängerschaltung und verfahren für steuergerätenetze
CN116545566A (zh) 2014-05-26 2023-08-04 康西欧控股有限公司 用于分布式控制系统的高速嵌入式协议
DE102015209196A1 (de) * 2014-09-08 2016-03-10 Robert Bosch Gmbh Verfahren zur seriellen Übertragung eines Rahmens über ein Bussystem von einem Sender zu mindestens einem Empfänger und Teilnehmern eines Bussystems
US10673565B2 (en) 2014-09-30 2020-06-02 Concio Holdings LLC Confirming data accuracy in a distributed control system
US10098025B2 (en) 2015-01-30 2018-10-09 Geotab Inc. Mobile device protocol health monitoring system
US10326865B2 (en) 2015-03-24 2019-06-18 Concio Holdings LLC Filter or bridge for communications between CAN and CAN-FD protocol modules
US10050965B2 (en) 2015-11-02 2018-08-14 Concio Holdings LLC Confirming data accuracy in a distributed control system
EP3402129A1 (de) 2017-05-09 2018-11-14 Concio Holdings LLC Bit-codierung für ein bus-kommunikationssystem
US10892911B2 (en) * 2018-08-28 2021-01-12 Texas Instruments Incorporated Controller area network receiver
KR20200090514A (ko) * 2019-01-21 2020-07-29 주식회사 엘지화학 BMS(Battery Manager System), ECU(Electronic Control Unit), 그리고 BMS와 ECU 간의 통신 방법
CN111193652B (zh) * 2019-12-23 2022-05-10 深圳市元征科技股份有限公司 Can控制器位参数设置方法、装置、设备和存储介质
US11539550B2 (en) * 2020-02-25 2022-12-27 Calamp Corp. Systems and methods for detection of vehicle bus protocol using signal analysis

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3706854A (en) * 1971-01-14 1972-12-19 Us Navy Performance monitor unit for frequency multiplexed hf modems
US3676794A (en) * 1971-08-30 1972-07-11 Gte Sylvania Inc Frequency synthesizer apparatus having automatic fine tuning
US3723898A (en) * 1972-03-31 1973-03-27 Bendix Corp Frequency synthesizer
US4893271A (en) * 1983-11-07 1990-01-09 Motorola, Inc. Synthesized clock microcomputer with power saving
FI85318C (fi) * 1990-08-14 1992-03-25 Tecnomen Oy Kompensering av felet i en klockas gaong.
WO1993022857A1 (en) * 1992-05-04 1993-11-11 Ford Motor Company Limited Slave bus controller circuit for class a motor vehicle data communications
DE4322249A1 (de) * 1992-10-23 1994-04-28 Marquardt Gmbh Bus-Schalter
US5455931A (en) * 1993-11-19 1995-10-03 International Business Machines Corporation Programmable clock tuning system and method
US6853292B1 (en) * 1997-03-27 2005-02-08 Elan Schaltelemente Gmbh & Co Kg Security control system, method for the operation thereof
DE19722114C2 (de) * 1997-05-27 2003-04-30 Bosch Gmbh Robert Taktsignal-Bereitstellungsvorrichtung und -verfahren
GB9723557D0 (en) 1997-11-08 1998-01-07 Univ Warwick Bus loading meter
DE10000303B4 (de) * 2000-01-05 2011-09-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
US6559783B1 (en) * 2000-08-16 2003-05-06 Microchip Technology Incorporated Programmable auto-converting analog to digital conversion module
AU2002302301A1 (en) * 2001-03-15 2002-10-03 Robert Bosch Gmbh Method and device for forming clock pulses in a bus system comprising at least one station, bus system and station
FR2830152B1 (fr) * 2001-09-27 2004-08-20 Airbus France Bus de terrain deterministe et procede de gestion d'un tel bus
EP1318457B1 (de) * 2001-12-07 2007-07-18 Renesas Technology Europe Limited Busbrücke mit einem Burst-Übertragungsmodebus und einem Einzel-Übertragungsmodebus
US6611227B1 (en) * 2002-08-08 2003-08-26 Raytheon Company Automotive side object detection sensor blockage detection system and related techniques
US6831551B2 (en) * 2002-12-19 2004-12-14 General Electric Company Method and system for modulating a carrier frequency to support nondestructive bitwise arbitration of a communication medium
US7171576B2 (en) * 2003-04-09 2007-01-30 International Business Machines Corporation Method, apparatus and program storage device for providing clocks to multiple frequency domains using a single input clock of variable frequency
FR2865333B1 (fr) * 2004-01-20 2006-04-28 Atmel Nantes Sa Procede de detection automatique du debit d'un reseau, notamment de type bus can, et de configuration au debit detecte par analyse de transitions, dispositif correspondant
SE533636C2 (sv) 2004-10-25 2010-11-16 Xinshu Man L L C Anordning vid bussförbindelse i CAN-system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009055797A1 (de) * 2009-11-25 2011-05-26 Valeo Schalter Und Sensoren Gmbh Schaltungsanordnung und ein Steuergerät für sicherheitsrelevante Funktionen
DE102012209636B4 (de) 2011-06-08 2023-03-30 Denso Corporation Transceiver zur Übertragung eines Signals, das codiert ist, um Taktinformation zu enthalten, und Kommunikationssystem
AT511977A1 (de) * 2011-10-11 2013-04-15 Felix Dipl Ing Dr Himmelstoss Verfahren und vorrichtung zur kurzfristigen synchronisation mehrerer geräte

Also Published As

Publication number Publication date
SE0402573L (sv) 2006-04-26
SE0402573D0 (sv) 2004-10-25
DE102005046350B4 (de) 2011-08-18
US7934039B2 (en) 2011-04-26
US20060123176A1 (en) 2006-06-08
SE533636C2 (sv) 2010-11-16
DE102005046350A8 (de) 2010-04-29
US20090063909A1 (en) 2009-03-05
US7472216B2 (en) 2008-12-30

Similar Documents

Publication Publication Date Title
DE102005046350B4 (de) Anordnung bei einer CAN-Verbindung in einem CAN-System
EP2751956B1 (de) Verfahren und vorrichtung zur prüfung der korrekten funktion einer seriellen datenübertragung
EP2263347B1 (de) Kommunikationssystem umfassend einen datenbus und mehrere daran angeschlossene teilnehmerknoten sowie verfahren zum betreiben eines solchen kommunikationssystems
DE19733748C2 (de) Datenübertragungsvorrichtung
EP0701515B1 (de) Verfahren zur zyklischen übertragung von daten zwischen mindestens zwei verteilt arbeitenden steuergeräten
DE3818546C2 (de)
DE2534141A1 (de) Computer-schnittstellensystem
WO2011085855A1 (de) Verfahren und vorrichtung zur überwachung eines frequenzsignals
EP1564925B1 (de) Verfahren und Vorrichtung zum Synchronisieren einer Funktionseinheit auf eine vorgegebene Taktfrequenz
EP1315337B1 (de) Bus-Interface
EP3526930B1 (de) Verfahren zur überwachung eines netzwerks auf anomalien
DE102007036648A1 (de) Verfahren und Vorrichtung zum Überprüfen der Position eines Empfangsfensters
DE69936716T2 (de) Verfahren und gerät zum datenaustausch
DE10225556A1 (de) Verfahren und Schaltungsanordnung zum Erfassen des Masseversatzes von Teilen eines vernetzten Systems
DE10122702C2 (de) Verfahren und Vorrichtung zum Erzeugen eines zweiten Signals mit einem auf einem zweiten Takt basierenden Takt aus einem ersten Signal mit einem ersten Takt
DE60202697T2 (de) Asynchrone datenübertragungsanordnung mit steuerungsmittel für taktabweichungen
DE19834419C2 (de) Mikrocomputer-Rücksetzvorrichtung und Mikrocomputer-Rücksetzverfahren
WO2020221678A1 (de) Verfahren zum synchronisieren einer zeitbasis eines slaves auf eine zeitbasis eines masters und anordnung
EP1811714A1 (de) Integrierte Schaltung für eine asynchrone, serielle Datenübertragung mit einem Billängen Zähler
DE10325263A1 (de) Sicherstellung von maximalen Reaktionszeiten in komplexen oder verteilten sicheren und/oder nicht sicheren Systemen
EP1520382B1 (de) Verfahren und vorrichtung zur datenübertragung
EP1170903B1 (de) Buswächtereinheit für einen Netzknoten eines zeitgetriggerten Datenkommunikationsnetzes
EP4321895A1 (de) Ultraschallsensor sowie verfahren zur durchführung einer ultraschallmessung
DE10330328B4 (de) Verfahren und Vorrichtung zur Verarbeitung von Daten bei unterschiedlichen Taktsignalen
DE102005039457B4 (de) Datenquelle für ein Datenübertragungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: TIMEGALACTIC AB, KINNA, SE

8196 Reprint of faulty title page (publication) german patentblatt: part 1a6
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20111119

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20150401