Skip to content
RFrftools.io
Comms

CAN-Bus-Bit-Timing-Rechner

Berechnet CAN-Bit-Timing-Parameter, einschließlich Prescaler, Zeitquanten, Synchronsegment, Ausbreitungssegment und Phasenpuffersegmente für eine bestimmte Baudrate und einen bestimmten Abtastpunkt

Loading calculator...

Formel

tq=1/(fclk/BRP);NBT=SS+PROP+BS1+BS2tq = 1/(f_clk/BRP); NBT = SS + PROP + BS1 + BS2
tqZeitquantum (ns)
BRPVorskalierer für Baudraten
NBTNominale Bitzeit in TQ (tq)
SSSegment synchronisieren (1 tq) (tq)
BS1Phasenpuffer Segment 1 (tq)
BS2Phasenpuffer Segment 2 (tq)

Wie es funktioniert

Dieser Rechner bestimmt CAN-Bit-Timing-Parameter für Automobil- und Industrienetzwerke. Embedded-Ingenieure und Entwickler von Automobilsystemen verwenden ihn zur Konfiguration von CAN-Controllern gemäß den Spezifikationen ISO 11898-1 (CAN 2.0) und ISO 11898-2 (High-Speed Physical Layer). Die Bitzeit ist in 4 Segmente unterteilt: Sync_Seg (immer 1 TQ), Prop_Seg (1-8 TQ zur Kompensation der Übertragungsverzögerung), Phase_Seg1 (1-8 TQ) und Phase_Seg2 (1-8 TQ). Gemäß ISO 11898-1:2015 Abschnitt 11.3.1.1 (Straßenfahrzeuge — Controller Area Network — Teil 1: Datenverbindungsschicht und physikalische Signalgebung) und ISO 11898-2:2016 (Physical Medium Attachment Layer) sollte der Abtastpunkt, an dem der Buspegel gelesen wird, bei 75-87,5% der Bitzeit positioniert werden. Das CAN-FD-Timing ist in der Änderung 1 nach ISO 11898-1:2015 spezifiziert. Bei einem 500-Kbit/s-Netzwerk (die gängigste Übertragungsrate im Automobilbereich) beträgt die Bitzeit 2 Mikrosekunden. Bei einem 80-MHz-Takt und 8—16 Zeitquanten pro Bit liegen die erreichbaren Prescaler-Werte zwischen 10 und 20. CAN FD erhöht die Geschwindigkeiten in der Datenphase auf 2-8 Mbit/s. Dazu sind Abtastpunkte von 70 bis 80% und eine engere Oszillatortoleranz erforderlich (0,1% gegenüber 0,5% bei klassischem CAN).

Bearbeitetes Beispiel

Ein Karosseriesteuergerät benötigt eine CAN-Kommunikation mit 500 kbit/s unter Verwendung eines S32K144-Mikrocontrollers mit 80-MHz-CAN-Takt. Gemäß den Timing-Anforderungen von ISO 11898-1: Bitzeit = 1/500000 = 2 Mikrosekunden. Ziel 16 TQ pro Bit für die Feinjustierung. Zeitquantum = 2 µs/16 = 125 ns. Vorskalierer = 80 MHz x 125 ns = 10. Segmentzuweisung für einen Abtastpunkt von 87,5%: Sync_Seg = 1 TQ, Prop_Seg = 5 TQ, Phase_Seg1 = 8 TQ, Phase_Seg2 = 2 TQ. Probenpunkt = (1 + 5 + 8)/16 = 87,5%. SJW (Synchronisationssprungbreite) = min (Phase_Seg1, Phase_Seg2, 4) = 2 TQ, was eine Neusynchronisierung von +/-250 ns pro Bit ermöglicht. Diese Konfiguration unterstützt Netzwerke bis zu 100 Metern mit einer Übertragungsverzögerung von 5 ns/m.

Praktische Tipps

  • Verwenden Sie gemäß ISO 11898-2 einen Abtastpunkt von 87,5% für Netzwerke unter 40 Metern und reduzieren Sie ihn auf 75% für Netzwerke zwischen 40 und 500 Metern, um die Übertragungsverzögerung auszugleichen
  • Stellen Sie SJW (Synchronization Jump Width) auf den maximal zulässigen Wert ein (normalerweise 1-4 TQ), um eine Oszillatordrift von bis zu 1,58% gemäß der BOSCH-CAN-Spezifikation zu tolerieren
  • Verwenden Sie für CAN-FD mit einer Datenphase von 2 Mbit/s die Übertragungsverzögerung des Transceivers <150 ns (TJA1042-Familie) und halten Sie die Stichlängen unter 30 cm

Häufige Fehler

  • Verwendung eines nicht übereinstimmenden Bit-Timings zwischen Knoten — selbst ein Unterschied von 1 TQ führt zu einer Nichtübereinstimmung der Abtastpunkte, wodurch die Fehlerframes bei Buslängen über 20 Metern um das 10- bis 50-fache erhöht werden
  • Einstellung des Abtastpunkts über 90%, was gegen ISO 11898-1 verstößt und in Netzwerken mit mehreren Knoten aufgrund unzureichender Phase_Seg2-Werte zu einer Fehlerrate von 5-15% führt
  • Vernachlässigung der Oszillatortoleranz — Keramikresonatoren (0,5% Genauigkeit) versagen bei Kabellängen über 50 Metern, während Kristalle (20 ppm) die volle Reichweite von 1 km unterstützen

Häufig gestellte Fragen

ISO 11898 definiert Raten von 10 kbps bis 1 Mbps. Die Automobilindustrie verwendet 500 kbit/s (Antriebsstrang-CAN) und 125 kbit/s (Karosserie-CAN). Industrielle Netzwerke verwenden 250 kbit/s (DeviceNet) und 125 kbit/s (CANopen). CAN FD erweitert die Datenphase auf 2-8 Mbit/s, während die Arbitrierung bei 500 kbit/s bleibt.
Das Zeitquantum (TQ) ist die kleinste Zeiteinheit, die über den Prescaler von der CAN-Uhr abgeleitet wird: TQ = Prescaler/F_CAN. Jedes Bit enthält 8-25 TQ (normalerweise 16 für eine optimale Anpassung). Bei einem 80-MHz-Takt ergibt Prescaler=10 einen TQ=125 ns, was einer Bitzeit von 2 us (500 kbps) mit 16 TQ entspricht.
Gemäß ISO 11898-1 müssen alle Knoten den Bus an konsistenten Punkten abtasten, um denselben Bitwert zu lesen. Ein Abtastpunkt bei 87,5% ergibt einen Spielraum von 12,5% für die Signalstabilisierung nach der Übertragung. Zu früh (75%) vergeudet die Marge; zu spät (> 90%) besteht die Gefahr, dass während des Bitübergangs Sampling abgetastet wird und die Arbitration zu 100% fehlschlägt.

Shop Components

As an Amazon Associate we earn from qualifying purchases.

USB-UART Adapter

USB to serial adapter for protocol debugging and flashing

USB Logic Analyzer

8-channel USB logic analyzer for capturing digital bus traffic

Verwandte Taschenrechner