Calculateur de synchronisation et d'intégrité du signal SPI
Calculez les paramètres de synchronisation du bus SPI, y compris la période de bits, la durée de trame, la fréquence d'horloge maximale limitée par la capacité de trace et la fréquence de balayage du signal
Formule
Comment ça marche
Ce calculateur détermine les limites de fréquence d'horloge SPI, les temps de configuration/d'attente et les taux de transfert de données pour une communication maître-esclave fiable. Les ingénieurs embarqués et les concepteurs de FPGA l'utilisent pour vérifier les marges temporelles entre les microcontrôleurs et les circuits intégrés périphériques. Conformément à la spécification SPI d'origine de Motorola (désormais maintenue par les fabricants de circuits intégrés individuels et documentée dans la note d'application NXP AN3020 « Interfacing to the SPI »), le protocole utilise 4 signaux : SCLK, MOSI, MISO et CS. Bien que le SPI ne soit régi par aucune norme ISO/IEC unique, les paramètres de synchronisation de facto sont documentés dans la note d'application AN901 de Microchip et la norme JEDEC JESD79F pour les mémoires compatibles SPI définit les exigences de synchronisation pour les périphériques flash et SRAM à haut débit. Les fréquences d'horloge vont de 100 kHz à 100 MHz selon les capacités de l'appareil. Les mémoires flash classiques prennent en charge 50 à 133 MHz (série Winbond W25Q), tandis que les ADC se limitent souvent à 1 à 20 MHz. Les paramètres de synchronisation critiques incluent t_setup (données valides avant la fin de l'horloge, généralement de 5 à 25 ns), t_hold (données valides après la fin de l'horloge, généralement de 5 à 15 ns) et t_clk (période d'horloge minimale). Une horloge SPI de 10 MHz fournit une période de 100 ns, permettant une configuration de 40 ns, un maintien de 40 ns et une marge de 20 ns. À 50 MHz, ces marges sont réduites à 8 ns chacune, ce qui nécessite une disposition minutieuse du circuit imprimé avec une correspondance des traces dans un délai de 1 ns (15 cm).
Exemple Résolu
Une interface de capteur industrielle connecte un microcontrôleur STM32H7 à un ADC 24 bits ADS1256 via SPI. Selon la fiche technique de l'ADS1256 : F_SCLK_Max = 1,92 MHz, t_setup = 50 ns, t_hold = 25 ns. Le STM32H7 fonctionnant à 480 MHz fournit une horloge SPI à partir de l'APB2 (120 MHz). Calcul du préscaler : 120 MHz/1,92 MHz = 62,5, arrondi à 64, ce qui donne un SCLK réel = 1,875 MHz. À cette fréquence : t_clk = 533 ns, fournissant une demi-période de 266 ns contre une exigence de configuration de 50 ns (marge de 5,3 fois). Débit de données = 1,875 MHz/24 bits = 78,1 kSps. Avec des traces de PCB de 10 cm (propagation de 0,6 ns), le délai total est bien inférieur au temps de maintien requis de 25 ns.
Conseils Pratiques
- ✓Conformément à la puce AN1067, maintenez les longueurs de trace SPI inférieures à 10 cm pour les fréquences supérieures à 10 MHz afin de maintenir les marges temporelles supérieures à 5 ns
- ✓Utilisez CPOL=0, CPHA=0 (Mode 0) par défaut - 85 % des périphériques SPI prennent en charge ce mode selon des enquêtes menées auprès du secteur
- ✓Ajoutez des résistances de terminaison de la série 33-100 ohms sur SCLK et MOSI pour les traces de plus de 5 cm à des fréquences supérieures à 20 MHz afin de réduire la sonnerie de 60 à 80 %
Erreurs Fréquentes
- ✗Exécution du SPI à la fréquence maximale du microcontrôleur (par exemple, 50 MHz) sans vérifier les limites des périphériques esclaves - de nombreux capteurs sont limités à 1 à 10 MHz
- ✗Ignorer l'inadéquation des modes CPOL/CPHA : le mode 0 par rapport au mode 3 entraîne une corruption de 100 % des données malgré des formes d'onde d'apparence similaire
- ✗Utilisation de longs câbles non blindés (>30 cm) à des fréquences supérieures à 1 MHz, introduisant une diaphonie de 10 à 50 mV qui corrompt les LSB
Foire Aux Questions
Shop Components
As an Amazon Associate we earn from qualifying purchases.
Calculateurs associés
Comms
Horaire des bus CAN
Calculez les paramètres de synchronisation des bits du bus CAN, y compris le prescaler, les quanta temporels, les segments de synchronisation, les segments de propagation et les segments de mémoire tampon de phase pour un débit en bauds et un point d'échantillonnage donnés
Comms
Débit en bauds UART
Calculez la synchronisation des trames UART, le débit et le diviseur de registre USART BRR à partir du débit en bauds, du format des données et de la fréquence d'horloge du microcontrôleur. Identifiez les erreurs de débit pour une communication série fiable.
Comms
Pull-Up I2C
Calculez les valeurs des résistances de rappel I2C pour les modes Standard (100 kHz), Fast (400 kHz) et Fast-Plus (1 MHz). Déduit la résistance minimale, maximale et recommandée à partir de la tension d'alimentation et de la capacité du bus, conformément à la norme NXP UM10204.
Comms
Gigue Horloge
Calculez le budget temporel de l'arbre d'horloge pour les conceptions FPGA et SoC.