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
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
Taktjitter
Berechnen Sie das Timing-Budget des Taktbaums für FPGA- und SoC-Designs.