MENÜ English Ukrainian Russisch Startseite

Kostenlose technische Bibliothek für Bastler und Profis Kostenlose technische Bibliothek


ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK
Kostenlose Bibliothek / Schemata von radioelektronischen und elektrischen Geräten

Berechnung der Bitsynchronisation des CAN-Netzwerks. Enzyklopädie der Funkelektronik und Elektrotechnik

Kostenlose technische Bibliothek

Lexikon der Funkelektronik und Elektrotechnik / Automobil. Elektronische Geräte

Kommentare zum Artikel Kommentare zum Artikel

Bei der Verwendung der CAN-Schnittstelle besteht ein großes Problem darin, die Geschwindigkeit der Übertragung und des Empfangs von Informationen im CAN-Modul des Mikrocontrollers einzustellen. Der Artikel beschreibt die allgemeinen Prinzipien dieser Installation gemäß der Bosch-Spezifikation. Als Beispiel werden die Grundformeln zur Berechnung der Werte von Parametern angegeben, die in die Steuerregister der CAN-Module der Mikrocontroller ARM LPC23xx und STM32F103 geschrieben werden, und es wird ein vom Autor entwickeltes Programm betrachtet, das bei der Auswahl der besten Option hilft.

Die CAN-Schnittstelle (Controller Area Network) wurde Mitte der 80er Jahre des letzten Jahrhunderts von der deutschen Firma Robert Bosch GmbH als wirtschaftliches Mittel zur Integration von Steuergeräten, die Fahrzeugsysteme steuern, in ein Informationsnetzwerk entwickelt. Tatsache ist, dass sich mit der Verbesserung der Automobiltechnologie auch die Elektronik verbesserte, die den Motor, das Getriebe und andere Mechanismen steuert. Dies führte dazu, dass sich Dutzende von Drähten von Sensoren und Aktoren sowie Drähte, die verschiedene Blöcke miteinander verbinden, zu jeder elektronischen Einheit im Auto erstreckten. All dies machte das Auto nicht nur schwerer, sondern beeinträchtigte auch seine Zuverlässigkeit, Sicherheit und Wartbarkeit.

Mit der Verbreitung dieser Schnittstelle wurden ähnliche Netzwerke auch in anderen Bereichen eingesetzt, insbesondere zur Automatisierung technologischer Prozesse. Die hohe Zuverlässigkeit des Informationsschutzes vor Verzerrungen bei Arbeiten unter rauen Bedingungen und eine ausreichend hohe Übertragungsrate (bis zu 1 Mbit/s) ermöglichten den Einsatz von cAn an anderen Orten als seinem ursprünglichen Zweck. Die Zuverlässigkeit des Netzwerks wird durch das Vorhandensein entwickelter Mechanismen zur Erkennung und Korrektur von Fehlern, die Selbstisolierung fehlerhafter Knoten und die Unempfindlichkeit gegenüber hohen elektromagnetischen Störungen gewährleistet.

Die CAN-Ideologie basiert auf dem siebenstufigen OSI/ISO-Modell (vereinfacht ausgedrückt ist dies eine virtuelle Aufteilung der Prozesse des Sendens und Empfangens von Informationen in sieben Ebenen). Es macht keinen Sinn, sich mit diesem Bereich zu befassen, da er in vielen Quellen ausführlich behandelt wird, beispielsweise in [1]. Derzeit sind zwei Ebenen standardisiert: physisch (teilweise) und Kanal.

Das physikalische Übertragungsmedium ist in der CAN-Spezifikation von Bosch nicht definiert, sondern wird allgemein als busartiges Netzwerk mit einer physikalischen Schicht in Form eines Adernpaares gemäß der Norm ISO 11898 verstanden. Verbindungsarten und Übertragungsgeschwindigkeit sind es nicht derzeit standardisiert, werden aber meist in den Spezifikationen der darüber liegenden Schichten spezifiziert.

Alle Netzwerkknoten sind parallel an zwei Adern der sie verbindenden Leitung (CAN_H und CAN_L) angeschlossen. An den Enden der Kommunikationsleitung müssen Abschlusswiderstände installiert werden – Widerstände mit einem Widerstand von 120 Ohm. Ohne Übertragung beträgt die Spannung an beiden Drähten relativ zur Karosserie oder dem gemeinsamen Draht der technologischen Anlage 2,5 V. Eine logische Einheit (gemäß der in CAN verwendeten Terminologie wird ein Bit mit einem solchen Wert als rezessiv bezeichnet) entspricht einem Buszustand, in dem der Spannungspegel auf der CaN_H-Leitung höher ist als auf CAN_L. Logische Null (ein Bit mit einem solchen Wert wird als dominant bezeichnet) – umgekehrt. Beim gleichzeitigen Betrieb mehrerer Sender wird das rezessive Bit in der Leitung durch das dominante unterdrückt.

Es wird davon ausgegangen, dass der passive Zustand des Busses dem Pegel einer logischen Eins entspricht. Es befindet sich darin, wenn keine Nachrichten übertragen werden. Die Nachrichtenübertragung beginnt immer mit dem dominanten Bit. Die Busleitungen im CAN-Modul jedes Knotens sind mit einem speziellen Chip verbunden – einem Bustreiber, der die Funktionen eines Transceivers übernimmt. Darüber hinaus bietet der Treiber möglicherweise einige zusätzliche Funktionen:

- Regulierung der Flankensteilheit des Signals durch Änderung des Eingangsstroms;
- Schutz der Senderausgänge vor Beschädigung bei möglichen Kurzschlüssen der Leitungen CAN_H und CAN_L mit Stromkreisen durch die eingebaute Strombegrenzungseinheit sowie vor einem kurzfristigen Spannungsanstieg auf diesen Leitungen;
- interner Wärmeschutz;
- Energiesparmodus, in dem der Empfänger weiterhin den Status des Busses an den Controller meldet, sodass er den Treiber bei Erkennung seiner Aktivität in den Normalbetrieb überführen kann.

Die Kodierung der Informationen zur Übertragung über den Bus erfolgt mit der NRZ-Methode (Non Return to Zero). Es hat einen erheblichen Nachteil: Bei der Übertragung einer langen Folge von Einheiten stellt sich heraus, dass es keine Pausen zwischen ihnen gibt. Dies führt dazu, dass der Empfänger nicht in der Lage ist, zwischen einer solchen Sequenz und einer Pause zwischen Nachrichten zu unterscheiden. Um dieses Problem zu lösen, wird das sogenannte Bitstaffing (Bit Stuffing – Bit Stuffing) verwendet. Es besteht darin, dass nach fünf hintereinander übertragenen identischen Bits ein zusätzliches Bit mit entgegengesetztem Wert in ihren Stream eingefügt wird. Nachdem der Empfänger fünf identische Bits in einer Reihe gefunden hat, löscht er das darauffolgende, das während der Übertragung eingefügt wurde.

Auf der Verbindungsschicht sind zwei Arten von Identifikatoren definiert: Standard-CAN (11 Bit lang) und erweiterter CAN (29 Bit). Sie definieren das Nachrichtenformat.

Zu den höheren Ebenen zählen die Spezifikationen CAL/CANopen, CAN Kingdom, DeviceNet und SDS (Smart Distributed System), nähere Einzelheiten finden sich im Internet [2].

Per Definition vereint ein CAN-Netzwerk eine begrenzte Anzahl von Controllern, die sich lokal innerhalb derselben Installation, desselben Raums oder mehrerer benachbarter Räume befinden. Es geht nicht über die Grenzen des technologischen Objekts hinaus. Die Ideologie des Netzwerks basiert auf mehreren Punkten. Erstens überwacht der sendende Controller kontinuierlich seine eigenen über das Netzwerk übertragenen Signale. Dies ermöglicht die bitweise Überprüfung der Korrektheit der übertragenen Informationen (Check-Bit-Monitoring) durch mehrere Knoten, im Gegensatz beispielsweise zu Ethernet-Netzwerken. Wenn das von der Steuerung empfangene Bit von dem von der Steuerung gesendeten Bit abweicht, wird die Übertragung angehalten und ein Bitfehler generiert.

Bei der Übermittlung einer Nachrichtenkennung dient dieser Mechanismus zur Kollisionsauflösung und bei der Übermittlung von Informationen wird deren Richtigkeit überprüft. Wenn darin ein Fehler erkannt wird, unterbricht der Sender seine Nachricht und sendet einen Fehlerrahmen auf dem Bus, um andere Knoten im Netzwerk über dieses Ereignis zu informieren. Um den Empfang einer Nachricht zu bestätigen, enthält der Datenrahmen ein ACK-Feld. In diesem Feld bestätigt jeder Knoten, der die gesendete Nachricht empfangen hat, gegenüber seiner Quelle, dass sie empfangen wurde. Eine unbestätigte Nachricht wird vom Sender erneut gesendet, bis eine Bestätigung empfangen wird.

Alle Netzwerkknoten empfangen übertragene Informationen, sodass es unmöglich ist, eine Nachricht an einen bestimmten Knoten zu senden. Wenn moderne Controller jedoch über Tools zur Verkehrsfilterung verfügen, ist dies kein großes Problem.

Das CAN-Netzwerk ist dezentral. Dies kann als großes Plus angesehen werden, wenn wir etwas von der üblichen Ideologie abweichen, nach der das Netzwerk einen Master-Knoten haben muss, der es steuert, und Slave-Knoten, die seine Befehle ausführen. In einem dezentralen Netzwerk sind Knoten intelligenter. Es funktioniert weiterhin, wenn einer von ihnen ausfällt.

Informationen werden durch Nachrichten im Standardformat übertragen – Data Frame (Informationsübertragung), Remote Transmission Request Frame oder einfach Remote Frame (Informationsanforderung), Error Frame (Fehlermeldung), Overload Frame (Controller-Überlastungsmeldung).

Die am häufigsten verwendeten Datenrahmen. Ihr Format und Inhalt sind in der Tabelle aufgeführt. 1 für Standard und in der Tabelle. 2 für erweiterte Rahmen. Der Informationsanforderungsrahmen unterscheidet sich vom Informationsrahmen (Standard- oder erweitertes Format) nur dadurch, dass das RTR-Bit immer rezessiv ist und kein Informationsfeld vorhanden ist.

Tabelle 1

Feld Länge, Bit (Byte) Wert
Rahmenstart 1 Sollte dominant sein (0)
ID 11
Übertragungsanfrage (RTR) 1 Sollte dominant sein (0)
Kennungserweiterungsfunktion (IDE) 1 Sollte dominant sein (0)
Reserviert (rO) 1
Informationsfeldlänge (DLC) 4 Angabe in Byte
Informationsfeld (0 - 8) Informationen übermittelt
Prüfsumme (CRC) 15 Berechnet über den gesamten Rahmen
Trennzeichen für Prüfsumme 1 Muss rezessiv sein (1)
Bestätigungsintervall (ACK) 1 Sender sendet rezessiv (1), Empfänger fügt dominant (0) ein
Bestätigungstrennzeichen 1 Muss rezessiv sein (1)
Rahmenende (EOF) 7 Muss rezessiv sein (1)

Tabelle 2

Feld Länge, Bit (Byte) Wert
Rahmenstart 1 Sollte dominant sein (0)
Ausweis A 11 Erster Teil der Kennung
Übertragungsanforderungs-Spoofing (SRR) 1 Muss rezessiv sein (1)
Kennungserweiterungsfunktion (IDE) 1 Muss rezessiv sein (1)
Ausweis B 18 Der zweite Teil der Kennung
Antrag auf Übertragung (RTR) 1 Sollte dominant sein (0)
Reserviert (r1 und r0) 2
Informationsfeldlänge (DLC) 4 Angabe in Byte
Informationsfeld (0 - 8) Informationen übermittelt
Prüfsumme (CPS) des gesamten Frames 15 Berechnet über den gesamten Rahmen
Trennzeichen für Prüfsumme 1 Muss rezessiv sein (1)
Bestätigung (ACK) 1 Der Sender sendet eine rezessive, der Empfänger fügt eine dominante ein
Bestätigungstrennzeichen 1 Muss rezessiv sein (1)
Rahmenende (EOF) 7 Muss rezessiv sein (1)

Ein Error Frame besteht aus einem Error Flag-Feld, das sechs Bits mit demselben Wert enthält (und somit gegen die Bitstaffing-Regel verstößt), und einem Error Delimiter-Feld mit acht rezessiven Bits. Seine Übertragung führt dazu, dass alle Netzwerkknoten einen Formatfehler registrieren und ihre Error Frames automatisch an das Netzwerk übertragen. Das Ergebnis dieses Prozesses ist die automatische erneute Übertragung von Informationen an das Netzwerk durch den Knoten, der die ursprüngliche Nachricht übermittelt hat.

Der Overload Frame wiederholt die Struktur und Logik des Error Frame, wird jedoch von einem Knoten übertragen, der die eingehende Nachricht derzeit nicht verarbeiten kann und daher eine erneute Übertragung anfordert. Derzeit wird es praktisch nicht verwendet.

Jeder Netzwerkknoten verfügt über einen Bustreiber, einen CAN-Controller (der für die Interaktion mit dem Netzwerk verantwortlich ist und das Austauschprotokoll implementiert) und einen Mikrocontroller. Sehr oft wird ein CAN-Controller mit einem Mikrocontroller kombiniert. In diesem Fall reichen zwei Mikroschaltungen aus, um einen CAN-Netzwerkknoten zu erstellen – ein Mikrocontroller und ein Bustreiber.

Die Synchronisierung in CAN hängt eng mit der Art und Weise zusammen, wie Informationen über das Netzwerk übertragen werden. Der Benutzer hat die Möglichkeit, die Informationsübertragungsrate (von 1 Kbit/s bis 1 Mbit/s), die Position des Bit-Abtastpunkts (Moment) in seinem Übertragungsintervall und die Anzahl der Abtastungen jedes Bits zu programmieren. Dadurch kann das Netzwerk für eine bestimmte Anwendung optimiert werden. Aber es schafft auch einige Probleme.

Alle über den seriellen Bus übertragenen Informationen können in Elementarbits unterteilt werden. Die Übertragungszeit dieses Elementarbits NBT (Nominal Bit Time) bestimmt die Informationsübertragungsrate NBR (Nominal Bit Rate) – die Anzahl der Bits, die ein idealer Sender pro Sekunde überträgt ohne Wiederherstellung der Taktintervalle:

NBR=1/NBT(1)

Wie in Abb. gezeigt. In 1 ist das NBT-Intervall in mehrere nicht überlappende Segmente unterteilt, von denen jedes aus einer ganzzahligen Anzahl von Zeitintervallen besteht, die als Zeitquanten (TQ) bezeichnet werden.


Fig. 1

Da die NBR-Übertragungsrate für alle Netzwerkknoten gleich sein muss, ermitteln sie normalerweise mithilfe der Formel (1) den erforderlichen NBT-Wert und wählen dann die Dauer jedes der Segmente aus, aus denen er besteht:

NBT=TSyncSeg + TPropSeg + TPS1 + TPS2(2)

wo TSyncSeg - Dauer des Synchronisationssegments; TPropSeg - Dauer des Ausbreitungsabschnitts; TPS1 - Dauer des Phase-1-Segments; TPS2 - Dauer des Phase-2-Segments.

Timing-Segment (SyncSeg) – zuerst in der Reihenfolge, wird zum Synchronisieren von Knoten auf dem Bus verwendet. Innerhalb dieses Segments wird mit der Ankunft des anfänglichen Niveauunterschieds gerechnet. Seine Dauer ist fest und beträgt immer 1TQ.

Vertriebssegment (PropSeg) dient dazu, physikalische Signalverzögerungen zwischen Knoten zu kompensieren. Seine Dauer hängt von der Ausbreitungszeit des Signals vom Sendeknoten zum Empfangsknoten und zurück ab, einschließlich der mit dem Bustreiber verbundenen Verzögerungen. Es kann Werte von 1TQ bis 8TQ annehmen.

Phasenabschnitte 1 und 2 (PS1 und PS2) werden verwendet, um Phasenverzerrungen von Bus-Abzweigen zu kompensieren. Während der Taktwiederherstellungssynchronisation kann der Empfänger PS1 entweder verlängern oder PS2 verkürzen. Gemäß der ursprünglichen Spezifikation von Bosch kann die Dauer von PS1 und PS2 zwischen 1TQ und 8TQ liegen, bei einigen CAN-Modulen können diese Werte jedoch unterschiedlich sein.

Zwischen den Segmenten PS1 und PS2 liegt ein Moment, der Bit-Abtastpunkt genannt wird. Es liest und interpretiert den logischen Pegel des Signals. In einigen CAN-Controllern gibt es einen Modus zum dreifachen Lesen des Signalpegels jedes Bits. Aber auch in diesem Fall wird davon ausgegangen, dass der Hauptpunkt zwischen PS1 und PS2 liegt, und die anderen beiden tragen zur korrekten Entscheidung über den Wert des Bits gemäß dem Mehrheitskriterium (zwei oder drei Stichproben derselben Ebene) bei.

Wie oben erwähnt, besteht die nominale Bitübertragungszeit aus einer ganzzahligen Anzahl von Zeitscheiben TQ. Die Dauer des Quantums hängt von der Frequenz des Modultaktgenerators F abosc und sein Teilungsfaktor durch den BRP-Vorteiler. Beziehungen zwischen TQ, Fosc und BRP sind für verschiedene Arten von Mikrocontrollern unterschiedlich. Für MSR2510 ist die Formel beispielsweise gültig

TQ = 2 (BRP + 1)/Fosc . (3)

Für STM32F- und LPC23xx-Mikrocontroller sieht die Formel wie folgt aus:

TQ = (BRP + 1)/Fosc . (4)

Bei der Wahl der Segmentdauer ist es bequemer, Zeitscheiben TQ anstelle von Standardzeiteinheiten zu verwenden. Hier und im Folgenden geben wir den Namen des Segments (z. B. PropSeg) und seine Dauer in Quanten an. Es müssen mehrere Voraussetzungen erfüllt sein:

PropSeg+PS1 ≥ PS2; (5)

PropSeg+PS1 ≥ TKnebel; (6)

PS2 > SJW. (7)

TKnebel in Ungleichung (6) - Signalausbreitungsverzögerung im Netzwerk. Unter der Annahme, dass alle Knoten im Netzwerk ähnliche interne Verzögerungen aufweisen, kann die Ausbreitungsverzögerung mithilfe der Formel berechnet werden

TKnebel = 2 (TBus + TCMP + Tdrv), (eines)

wo TBus - Umlaufzeit des Signals in der physischen Umgebung des Busses; TCMP - Verzögerung im Eingangskomparator; Tdrv - Verzögerung im Ausgangstreiber.

SJW (Synchronisationssprungbreite – die Breite des Synchronisationssprungs) in Ungleichung (7) – die Dauer des Synchronisationsübergangssegments, zusätzlich eingeführt, um die Empfangsdauer nach Bedarf anzupassen. Wird verwendet, um den Empfang mit übertragenen Nachrichten zu synchronisieren. Darüber hinaus kommt es durch externe Störungen dazu, dass die im Netzwerk geplante Soll-Übertragungsrate nicht der tatsächlichen Rate entspricht. Dieses zusätzliche Segment dient auch dazu, diesen Unterschied auszugleichen. Die Dauer von SJW liegt zwischen 1TQ und 4TQ.

Die PS1- und PS2-Segmente werden zusammen mit dem SJW verwendet, um die Abweichung des Knotentakts zu kompensieren. PS1 und PS2 können je nach Bedarf verlängert oder verkürzt werden. Die Synchronisierung erfolgt bei einem Übergang von einem rezessiven (1) zu einem dominanten (0) Buszustand und steuert die Zeitspanne zwischen diesem Übergang und dem Bit-Abtastpunkt. Ein Übergang ist synchronisiert, wenn er in einem SyncSeg-Segment auftritt, andernfalls liegt ein Phasenfehler vor – das Zeitintervall zwischen dem Übergang und dem Ende des SyncSeg, gemessen in Zeitscheiben TQ.

Es gibt zwei Arten der Synchronisierung: Hardware und Neusynchronisierung. Die Hardware wird beim ersten Übergang von rezessiv zu dominant nur einmal ausgeführt, wodurch die Ruhezeit des Busses beendet wird. Diese Kante zeigt den Beginn des Frames an (SOF – Start of Frame). Durch die Hardware-Synchronisierung wird der Synchronisierungszähler zurückgesetzt, wodurch die Flanke innerhalb des SyncSeg liegt. Zu diesem Zeitpunkt sind alle Empfänger mit dem Sender synchronisiert.

Eine Neutaktung mit Taktwiederherstellung wird durchgeführt, um den ursprünglich von der Hardware eingestellten Takt beizubehalten. Ohne Taktwiederherstellung können die Empfänger aufgrund der Frequenzdrift der Taktgeneratoren in den Netzwerkknoten aus dem Takt geraten. Dieses Timing basiert auf dem Digital Phase Locked Loop (DPLL), der die tatsächliche Position des rezessiven zu dominanten Übergangs auf dem Bus mit der Position des erwarteten Übergangs innerhalb des SyncSeg vergleicht und das Bit-Timing nach Bedarf anpasst.

Der Phasenfehler e wird durch die Position der Kante relativ zum SyncSeg-Segment bestimmt, gemessen in TQ:

e = 0 – der Übergang befindet sich innerhalb des SyncSeg-Segments;

e > 0 – der Übergang liegt vor dem Abtastpunkt, Zeitscheiben TQ werden zu PS1 hinzugefügt;

e < 0 – der Übergang erfolgt nach dem Abtastpunkt des vorherigen Bits, Zeitscheiben TQ werden von PS2 subtrahiert.

Eine Neutaktung mit Clock-Recovery kann nicht am Anfang eines Frames erfolgen, da dort bereits der Hardware-Takt durchgeführt wurde.

Wenn der Absolutwert des Phasenfehlers kleiner oder gleich SJW ist, ist das Ergebnis von Hardware und Neusynchronisation dasselbe. Wenn der Phasenfehler größer als SJW ist, kann die Neusynchronisation den Phasenfehler nicht vollständig kompensieren.

Zwischen zwei Abtastpunkten ist nur eine Synchronisierung zulässig. Es hält ein festgelegtes Intervall zwischen der Flanke und dem Abtastpunkt aufrecht, sodass sich der Signalpegel stabilisieren kann und Änderungen herausgefiltert werden, die kürzer als PropSeg + PS1 sind.

Die Synchronisierung hängt auch mit der Schlichtung zusammen. Alle Knoten sind eng mit dem Knoten synchronisiert, der zuerst mit der Übertragung begonnen hat. Aber das Signal eines anderen Knotens, der etwas später mit der Übertragung begann, kann nicht perfekt synchronisiert werden. Allerdings wird der erste Sender das Schiedsverfahren nicht unbedingt gewinnen, daher müssen sich die Empfänger nicht mit ihm, sondern mit demjenigen synchronisieren, der gewonnen hat. Dasselbe geschieht im ACK-Feld, wo eine Synchronisierung mit dem Knoten erforderlich ist, der zuerst mit der Übertragung des Bestätigungsbits begonnen hat. All dies führt zu einer Verringerung der zulässigen gegenseitigen Drift der Frequenz der in den Busknoten installierten Taktgeneratoren.

Es gibt mehrere Synchronisationsregeln:

- es werden nur Übergänge vom rezessiven zum dominanten Zustand (von Eins zu Null) verwendet;

- Innerhalb einer Bitübertragung ist nur eine Synchronisation erlaubt;

- Der Übergang wird zur Synchronisation verwendet, vorausgesetzt, dass sich der logische Pegel des am vorherigen Abtastpunkt gelesenen Signals von dem unmittelbar nach dem Übergang auf dem Bus eingestellten Pegel unterscheidet.

- Der sendende Knoten stellt keine Taktintervalle mit einem positiven Phasenfehler (e > 0) wieder her, d. h. er passt sich nicht an seine eigene Nachricht an. Aber die Empfänger synchronisieren sich wie gewohnt;

- Wenn der Absolutwert des Phasenfehlers größer als der Phasensprung SJW ist, wird die Dauer des entsprechenden Phasenabschnitts (PS1 oder PS2) auf einen Wert gleich SJW geändert.

Dies führt dazu, dass die physikalische Länge des Busses durch die Geschwindigkeit der Informationsübertragung durch ihn begrenzt ist. Alle Knoten an einem Bus müssen ihre Zustände innerhalb desselben Bitintervalls lesen. Als Ergebnis zeigt sich, dass die maximale Übertragungsrate von 1 Mbit/s nur bei einer Buslänge von maximal 30 m erreichbar ist.

Überlegen Sie, wie der CAN-Controller in bestimmten Mikrocontrollern konfiguriert ist.

In Mikrocontrollern der LPC-Familie (zum Beispiel der LPC23xx-Serie) werden CANxBTR-Register verwendet, um die Übertragungsgeschwindigkeit auf dem CAN-Bus einzustellen, wobei x die Nummer des CAN-Controllers ist (in manchen Fällen kann es 1 oder 2 sein - 4). Hier werden folgende Parameter eingestellt (die Intervalle der Nummern der von ihnen belegten Registerbits sind in eckigen Klammern angegeben):

BRP (CANxBTR[9:0]) – APB-Bus-Frequenzvorteilerwert für seine weitere Verwendung durch den CAN-Controller. Dieser Parameter bestimmt die Dauer des Zeitquantums TQ, das durch Formel (4) bestimmt wird, wenn F darin eingesetzt wirdosc=1/TAPB, wo TAPB - Impulswiederholungsperiode auf dem Systembus APB des Mikrocontrollers.

SJW (CANxBTR[15:14]) – Die Sync-Hop-Breite in TQ-Quanten beträgt eins mehr als der hier angegebene Wert.

TSEG1 (CANxBTR[19:16]) und TSEG2 (CANxBTR[20:22]) – die Dauer der Segmente (bzw. PS1 und PS2) in TQ-Quanten beträgt eins mehr als die hier angegebenen Werte.

SAM (CANxBTR[23]) – legt die Anzahl der Lesungen des Werts jedes Bits fest: 0 – einmal, 1 – dreimal. Letztere Option wird in der Regel in Netzwerken mit niedriger Geschwindigkeit verwendet.

Bei der Auswahl dieser Optionen müssen Sie sich an den folgenden Regeln orientieren:

TPS2 ≥ 2 TQ (9)

TPS2 ≥TSJW (10)

TPS1 ≥TPS2 (11)

Die Mikrocontroller der STM32F-Serie verfügen über ein ähnliches Register und es heißt CAN_BTR. Es enthält die folgenden Felder:

BRP (CAN_BTR[9:0]), TS1 (CAN_BTR[19:16]) und TS2 (CAN_BTR[22:20]) – stimmen in Zweck und Position im Register mit den oben besprochenen Feldern BPR, TSEG1 und TSEG2 des CANxBTR-Registers überein. Bei der Berechnung des TQ-Werts sollte Formel (4) durch F ersetzt werdenosc=1/TPCLK, wo TPCLK - Impulswiederholungsperiode auf dem VPB-Bus des Mikrocontrollers.

SJW (CAN_BTR[25:24]) – unterscheidet sich vom Feld des gleichnamigen CANxBTR-Registers nur durch die im Register belegten Bits.

LBKM (CAN_BTR[30]) – eine Eins in diesem Register legt den Loopback-Modus fest, in dem die übertragene Nachricht vom eigenen Empfänger empfangen, aber nicht an das Netzwerk gesendet wird.

SILM (CAN_BTR[31]) – eine Einheit in diesem Register stellt den Silent-Modus ein, in dem der Controller Nachrichten vom Netzwerk empfängt, aber nichts sendet.

Beide genannten Modi werden zum Debuggen verwendet.

Für die betrachteten Mikrocontroller wird Formel (2) aufgrund des Fehlens von SyncSeg- und PropSeg-Segmenten vereinfacht. Sie werden durch ein Segment mit einer Dauer von 1TQ ersetzt. Die Formel für sie sieht so aus:

NBT=TQ+TPS1 + TPS2 (12)

Die Übertragungsrate auf dem CAN-Bus in Bit pro Sekunde wird im Programm anhand der Formel berechnet

NBR = (F/(BRP + 1)) (1/(PS1 +PS2 +3)) (13)

wobei F die Frequenz des Systembusses APB bzw. VPB für STM32F bzw. LPC23xx ist. Wenn der SJW-Parameter ungleich Null ist, ist das Maximum

BRmax = (F/(BRP + 1)) (1/(PS1 +PS2 - SJW + 2)) (14)

und minimal

BRMin. = (F/(BRP + 1)) (1/(PS1 + PS2 + SJW + 4)) (15)

Baudratenwerte auf dem CAN-Bus, in deren Intervall eine Synchronisierung erfolgt.

Das CANTools-Programmfenster ist in Abb. dargestellt. 2. Die Ausgangsdaten dafür sind der Typ des Mikrocontrollers, die benötigte Informationsübertragungsrate und die Frequenz des Systembusses, von dem der CAN-Controller getaktet wird. Zu Beginn der Berechnung sollten Sie zunächst den Typ des Mikrocontrollers auswählen. Im betrachteten Programm gibt es nur zwei Optionen – LPC23xx oder STM32F103. Als nächstes stellen Sie die gewünschte Übertragungsrate auf dem CAN-Bus in Kilobit pro Sekunde ein. Danach können Sie die Systembusfrequenz in Megahertz einstellen. Es bleibt nur noch die Schaltfläche „Berechnung“ auf dem Bildschirm zu drücken und das Ergebnis zu erhalten.


Fig. 2

Das Programm funktioniert wie folgt: Der BRP-Wert ändert sich in einem Zyklus von 0 auf 512. Die Häufigkeit der im NBT-Intervall enthaltenen Zeitscheiben und deren Anzahl werden für die gegebene Systembusfrequenz, den BRP-Wert und die Übertragungsrate berechnet. Die Anzahl der Quanten muss eine ganze Zahl sein und kleiner als 23 sein – der maximale Wert, der in die Register des Mikrocontrollers geschrieben werden kann. Anschließend werden die TSEG2-Werte von 2 bis 7 durchlaufen, wobei der Wert von TSEG1 entsprechend verringert wird. Ihre Summe bleibt konstant.

Auf dem Bildschirm wird die Quantenwiederholungsrate F angezeigtsc=1/TQ, durch eine durchgezogene Linie – die Dauer des TQ-Quanten, dann der Wert des BRP-Feldes des entsprechenden Registers. Danach beschreibt jedes Linienpaar das Ergebnis einer der Berechnungsoptionen.

Die Parameter TSEG1 und TSEG2 in der ersten Zeile des Paares entsprechen den gleichnamigen Feldern im CANxBTR-Register der LPC23xx-Mikrocontroller bzw. den Feldern TS1, TS2 des CAN_BTR-Registers des STM32F103-Mikrocontrollers. Ihre Summe, der Wert jedes der Felder sowie der Wert des SJW-Feldes, sofern dieser nicht null ist, werden angegeben. In der letzten Zeile wird der Hexadezimalwert CANBTR angezeigt, der in das CANxBTR- oder CAN_BTR-Register (je nach Mikrocontrollertyp) geschrieben werden sollte, um die berechnete Option umzusetzen.

Die zweite Zeile des Paares zeigt die Werte der maximalen und minimalen Informationsübertragungsraten auf dem CAN-Bus (wenn SJW > 0) und die Position des Abtastpunkts des Bits relativ zum Beginn seiner Übertragung als Prozentsatz von an die Dauer des Sendeintervalls.

Für einige BRP-Werte werden die Berechnungsergebnisse nicht angezeigt. Dies bedeutet, dass die Zeitscheibenwiederholungsrate bzw. die Übertragungsrate auf dem CAN-Bus, berechnet nach Formel (13), als Bruchzahl ausgedrückt wurde. In solchen Fällen erfolgt keine Berechnung.

Das Programm CANTools, das den Berechnungsprozess automatisiert, gibt keine Empfehlungen, welche Parameterkombinationen in einer realen Anwendung am besten verwendet werden. Der Netzwerkentwickler muss aus den vorgeschlagenen Optionen die beste auswählen, basierend auf vorhandenen Kenntnissen und Erfahrungen. Für diejenigen, die gerade erst begonnen haben, CAN zu beherrschen, kann der Autor empfehlen, sich an der folgenden Regel zu orientieren: Der Abstand zwischen dem Beginn eines Bits und dem Zeitpunkt seiner Abtastung sollte im Bereich von 70 bis 85 % der Bitdauer liegen . Vielleicht müssen Sie in Wirklichkeit mehrere der vom Programm vorgeschlagenen Optionen praktisch testen.

Das Programm CANTools kann von ftp://ftp.radio.ru/pub/2014/01/can.zip heruntergeladen werden.

Literatur

  1. OSI-Netzwerkmodell.
  2. Controller Area Network.

Autor: A. Abramowitsch

Siehe andere Artikel Abschnitt Automobil. Elektronische Geräte.

Lesen und Schreiben nützlich Kommentare zu diesem Artikel.

<< Zurück

Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik:

Maschine zum Ausdünnen von Blumen im Garten 02.05.2024

In der modernen Landwirtschaft entwickelt sich der technologische Fortschritt mit dem Ziel, die Effizienz der Pflanzenpflegeprozesse zu steigern. In Italien wurde die innovative Blumenausdünnungsmaschine Florix vorgestellt, die die Erntephase optimieren soll. Dieses Gerät ist mit beweglichen Armen ausgestattet, wodurch es leicht an die Bedürfnisse des Gartens angepasst werden kann. Der Bediener kann die Geschwindigkeit der dünnen Drähte anpassen, indem er sie von der Traktorkabine aus mit einem Joystick steuert. Dieser Ansatz erhöht die Effizienz des Blütenausdünnungsprozesses erheblich und bietet die Möglichkeit einer individuellen Anpassung an die spezifischen Bedingungen des Gartens sowie die Vielfalt und Art der darin angebauten Früchte. Nachdem wir die Florix-Maschine zwei Jahre lang an verschiedenen Obstsorten getestet hatten, waren die Ergebnisse sehr ermutigend. Landwirte wie Filiberto Montanari, der seit mehreren Jahren eine Florix-Maschine verwendet, haben von einer erheblichen Reduzierung des Zeit- und Arbeitsaufwands für das Ausdünnen von Blumen berichtet. ... >>

Fortschrittliches Infrarot-Mikroskop 02.05.2024

Mikroskope spielen eine wichtige Rolle in der wissenschaftlichen Forschung und ermöglichen es Wissenschaftlern, in für das Auge unsichtbare Strukturen und Prozesse einzutauchen. Allerdings haben verschiedene Mikroskopiemethoden ihre Grenzen, darunter auch die begrenzte Auflösung bei der Nutzung des Infrarotbereichs. Doch die neuesten Errungenschaften japanischer Forscher der Universität Tokio eröffnen neue Perspektiven für die Erforschung der Mikrowelt. Wissenschaftler der Universität Tokio haben ein neues Mikroskop vorgestellt, das die Möglichkeiten der Infrarotmikroskopie revolutionieren wird. Dieses fortschrittliche Instrument ermöglicht es Ihnen, die inneren Strukturen lebender Bakterien mit erstaunlicher Klarheit im Nanometerbereich zu sehen. Typischerweise sind Mikroskope im mittleren Infrarotbereich durch eine geringe Auflösung eingeschränkt, aber die neueste Entwicklung japanischer Forscher überwindet diese Einschränkungen. Laut Wissenschaftlern ermöglicht das entwickelte Mikroskop die Erstellung von Bildern mit einer Auflösung von bis zu 120 Nanometern, was 30-mal höher ist als die Auflösung herkömmlicher Mikroskope. ... >>

Luftfalle für Insekten 01.05.2024

Die Landwirtschaft ist einer der Schlüsselsektoren der Wirtschaft und die Schädlingsbekämpfung ist ein integraler Bestandteil dieses Prozesses. Ein Team von Wissenschaftlern des Indian Council of Agricultural Research-Central Potato Research Institute (ICAR-CPRI), Shimla, hat eine innovative Lösung für dieses Problem gefunden – eine windbetriebene Insektenluftfalle. Dieses Gerät behebt die Mängel herkömmlicher Schädlingsbekämpfungsmethoden, indem es Echtzeitdaten zur Insektenpopulation liefert. Die Falle wird vollständig mit Windenergie betrieben und ist somit eine umweltfreundliche Lösung, die keinen Strom benötigt. Sein einzigartiges Design ermöglicht die Überwachung sowohl schädlicher als auch nützlicher Insekten und bietet so einen vollständigen Überblick über die Population in jedem landwirtschaftlichen Gebiet. „Durch die rechtzeitige Beurteilung der Zielschädlinge können wir die notwendigen Maßnahmen zur Bekämpfung von Schädlingen und Krankheiten ergreifen“, sagt Kapil ... >>

Zufällige Neuigkeiten aus dem Archiv

Alibaba AI-Prozessor 30.09.2019

Das chinesische Unternehmen Alibaba Group Holdings stellte seinen eigenen Prozessor Hanguang 800 vor, eine spezialisierte Lösung für Aufgaben des maschinellen Lernens. Es wird bereits von Alibaba verwendet, um auf den Websites des E-Commerce-Riesen zu suchen, automatisch zu übersetzen und personalisierte Empfehlungen abzugeben.

Der Chip wurde von der DAMO Academy, einem Ende 2017 von Alibaba gegründeten Forschungsinstitut, und T-Head, der Halbleitersparte des Unternehmens, entwickelt.

Alibaba hat nicht vor, den Chip in naher Zukunft als eigenständiges kommerzielles Produkt zu verkaufen, sagte ein Unternehmenssprecher.

Auch amerikanische Tech-Giganten wie Alphabet und Facebook entwickeln eigene Prozessoren, um die KI-Leistung ihrer Rechenzentren zu verbessern.

Alibaba ist der unangefochtene Marktführer unter den Cloud-Service-Anbietern in China und nimmt 47 % dieses Marktes ein.

Weitere interessante Neuigkeiten:

▪ Superhelles blaues LED-Display CVD-5572CB00

▪ Sie hören - Virus

▪ Die ältesten Bakterien der Erde

▪ Spiegelreflexkamera Nikon D7200

▪ Externe Batterien HyperJuice für mobile Geräte

News-Feed von Wissenschaft und Technologie, neue Elektronik

 

Interessante Materialien der Freien Technischen Bibliothek:

▪ Abschnitt der Website Gegensprechanlagen. Artikelauswahl

▪ Linotype-Artikel. Geschichte der Erfindung und Produktion

▪ Artikel Woher kommt der Name des Damen-Bikini-Badeanzugs? Ausführliche Antwort

▪ Artikel Acht an einem Ende. Reisetipps

▪ Artikel Optoelektronische Halbleiterrelais. Enzyklopädie der Funkelektronik und Elektrotechnik

▪ Artikel Freileitungen mit Spannung über 1 kV. Drähte und Blitzschutzkabel. Enzyklopädie der Funkelektronik und Elektrotechnik

Hinterlasse deinen Kommentar zu diesem Artikel:

Name:


E-Mail optional):


Kommentar:




Kommentare zum Artikel:

Petrovich2015
Die Schaltung ist gut, aber der Durchmesser des Drahtes der Sekundärwicklung des Transformators ist bei solch starken Transistoren fragwürdig


Alle Sprachen dieser Seite

Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen

www.diagramm.com.ua

www.diagramm.com.ua
2000-2024