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
Formel
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).
Rechenbeispiel
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 us/16 = 125 ns. Vorskalierer = 80 MHz x 125 ns = 10. Segmentzuweisung für eine Messstelle mit 87,5%: Sync_Seg = 1 TQ, Prop_Seg = 5 TQ, Phase_Seg1 = 8 TQ, Phase_Seg2 = 2 TQ. Stichprobenpunkt = (1 + 5 + 8)/16 = 87,5%. SJW (Synchronization Jump Width) = 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 auf über 90%, was gegen ISO 11898-1 verstößt und aufgrund unzureichender Phase_Seg2zu einer Fehlerrate von 5-15% in Netzwerken mit mehreren Knoten 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
Verwandte Artikel
Unit Conversion
Umrechnung von Datenrateneinheiten für Ingenieure
Datenraten-Einheiten sicher umrechnen: So wechseln Sie mühelos zwischen bit/s, Bytes und Netzwerkgeschwindigkeiten.
Protocols
LIN-Bus-Timing: Leitfaden zur Protokollberechnung
Erfahren Sie, wie Sie das LIN-Bus-Timing berechnen, den Frame-Aufbau verstehen und typische Designfehler in der Fahrzeugkommunikation vermeiden.
Shop Components
As an Amazon Associate we earn from qualifying purchases.
Verwandte Rechner
Comms
SPI-Timing
Berechnen Sie die SPI-Bus-Timing-Parameter, einschließlich Bitperiode, Frame-Zeit, maximale Taktfrequenz, begrenzt durch die Leiterbahnkapazität, und Signalanstiegsrate
Comms
UART-Baudrate
Berechnet das UART-Frame-Timing, den Durchsatz und den USART BRR-Registerdivisor anhand der Baudrate, des Datenformats und der MCU-Taktfrequenz. Identifizieren Sie den Baudratenfehler für eine zuverlässige serielle Kommunikation.
Comms
I2C-Klimmzug
Berechnen Sie die I2C-Pullup-Widerstandswerte für die Modi Standard (100 kHz), Fast (400 kHz) und Fast-Plus (1 MHz). Leitet den minimalen, maximalen und empfohlenen Widerstand aus der Versorgungsspannung und der Buskapazität laut NXP UM10204 ab.
Comms
Uhr Jitter
Berechnen Sie das Clocktree-Timing-Budget für FPGA- und SoC-Designs. Geben Sie den Referenz-Oszillator-Jitter, den PLL-Noise-Floor, die Pufferstufen und die Zieltaktfrequenz ein, um die Setup-Marge zu berechnen.