SPI-Timing- und Signalintegritätsrechner
Berechnen Sie die SPI-Bus-Timing-Parameter, einschließlich Bitperiode, Frame-Zeit, maximale Taktfrequenz, begrenzt durch die Leiterbahnkapazität, und Signalanstiegsrate
Formel
Wie es funktioniert
Dieser Rechner bestimmt SPI-Taktfrequenzgrenzen, Einrichtungs-/Haltezeiten und Datenübertragungsraten für eine zuverlässige Master-Slave-Kommunikation. Embedded-Ingenieure und FPGA-Designer verwenden ihn, um die Zeitabstände zwischen Mikrocontrollern und Peripherie-ICs zu überprüfen. Gemäß der ursprünglichen Motorola SPI-Spezifikation (die jetzt von einzelnen IC-Herstellern verwaltet und im NXP-Anwendungshinweis AN3020 „Interfacing to the SPI“ dokumentiert ist) verwendet das Protokoll 4 Signale: SCLK, MOSI, MISO und CS. Obwohl SPI keinen einheitlichen ISO/IEC-Standard hat, sind die De-facto-Timing-Parameter im Microchip-Anwendungshinweis AN901 dokumentiert, und der JEDEC-Standard JESD79F für SPI-kompatible Speicher definiert die Timing-Anforderungen für Hochgeschwindigkeits-Flash- und SRAM-Geräte. Die Taktfrequenzen liegen je nach Gerätekapazität zwischen 100 kHz und 100 MHz. Typische Flash-Speicher unterstützen 50-133 MHz (Winbond W25Q-Serie), während ADCs häufig auf 1—20 MHz begrenzt sind. Zu den kritischen Zeitparametern gehören t_setup (Daten gültig vor der Taktrandbreite, typischerweise 5—25 ns), t_hold (Daten gültig nach der Taktrandbreite, typischerweise 5—15 ns) und t_clk (minimale Taktperiode). Ein 10-MHz-SPI-Takt bietet einen Zeitraum von 100 ns, was eine Einrichtung von 40 ns, eine Haltezeit von 40 ns und eine Zeitspanne von 20 ns ermöglicht. Bei 50 MHz schrumpfen diese Margen auf jeweils 8 ns, was ein sorgfältiges PCB-Layout mit einer Leiterbahnanpassung innerhalb von 1 ns (15 cm) erfordert.
Bearbeitetes Beispiel
Eine industrielle Sensorschnittstelle verbindet einen STM32H7-Mikrocontroller über SPI mit einem ADS1256 24-Bit-ADC. Laut ADS1256-Datenblatt: F_SCLK_Max = 1,92 MHz, t_setup = 50 ns, t_hold = 25 ns. Der STM32H7, der mit 480 MHz läuft, liefert den SPI-Takt von APB2 (120 MHz). Prescaler-Berechnung: 120 MHz/1,92 MHz = 62,5, auf 64 aufgerundet, ergibt den tatsächlichen SCLK = 1,875 MHz. Bei dieser Frequenz gilt: t_clk = 533 ns, was 266 ns Halbperiode gegenüber 50 ns Einrichtungsbedarf ergibt (5,3-fache Marge). Datenrate = 1,875 MHz/24 Bit = 78,1 kSPS. Bei 10 cm Leiterbahnen (0,6 ns Ausbreitung) liegt die Gesamtverzögerung deutlich unter der für die Haltezeit erforderlichen 25 ns.
Praktische Tipps
- ✓Halten Sie pro Microchip AN1067 die SPI-Leiterbahnlängen für Frequenzen über 10 MHz unter 10 cm, um Zeitmargen über 5 ns beizubehalten
- ✓Verwenden Sie CPOL=0, CPHA=0 (Modus 0) als Standard — laut Branchenumfragen unterstützen 85% der SPI-Peripheriegeräte diesen Modus
- ✓Fügen Sie SCLK und MOSI Abschlusswiderstände der Serie 33-100 Ohm hinzu, um Leiterbahnen mit einer Länge von mehr als 5 cm bei Frequenzen über 20 MHz zu reduzieren, um das Klingeln um 60-80%
Häufige Fehler
- ✗SPI mit maximaler MCU-Frequenz (z. B. 50 MHz) ausführen, ohne die Grenzwerte für Slave-Geräte zu überprüfen — viele Sensoren sind auf 1—10 MHz begrenzt
- ✗Nichtübereinstimmung zwischen CPOL/CPHA-Modus wird ignoriert: Modus 0 im Vergleich zu Modus 3 verursacht trotz ähnlich aussehender Wellenformen eine 100-prozentige Datenbeschädigung
- ✗Verwendung langer (> 30 cm) ungeschirmter Kabel bei Frequenzen über 1 MHz, wodurch ein 10-50-mV-Übersprechen entsteht, das LSBs beschädigt
Häufig gestellte Fragen
Shop Components
As an Amazon Associate we earn from qualifying purchases.
Verwandte Taschenrechner
Comms
CAN-Bus-Timing
Berechnet CAN-Bit-Timing-Parameter, einschließlich Prescaler, Zeitquanten, Synchronsegment, Ausbreitungssegment und Phasenpuffersegmente für eine bestimmte Baudrate und einen bestimmten Abtastpunkt
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.