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).
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
Verwandte Artikel
Unit Conversion
Umrechnung von Datenrateneinheiten für Ingenieure
Umrechnungen von Einheiten für Stammdatenraten mit unserem umfassenden Leitfaden. Erfahren Sie, wie Sie mühelos zwischen Bit/s, Byte und Netzwerkgeschwindigkeiten umrechnen können.
Protocols
LIN-Bus-Timing: Leitfaden zur Protokollberechnung
Erfahren Sie, wie Sie LIN-Bus-Timing-Parameter präzise berechnen, Rahmenstrukturen verstehen und typische Fallstricke bei der Konstruktion von Kommunikationssystemen im Automobilbereich vermeiden.
Shop Components
As an Amazon Associate we earn from qualifying purchases.
Verwandte Taschenrechner
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 pro 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.