Calculateur de résistance de traction 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.
Formule
Référence: NXP I2C-bus specification and user manual, Rev. 7.0 (UM10204), §7.1
Comment ça marche
Ce calculateur détermine les valeurs optimales de résistance de rappel I2C pour une communication par bus fiable en modes Standard (100 kHz), Fast (400 kHz) et Fast Plus (1 MHz). Les ingénieurs en matériel et les développeurs intégrés l'utilisent pour trouver un équilibre entre les exigences en matière de temps de montée et la consommation d'énergie. Selon le NXP UM10204 (la spécification I2C officielle), les résistances de rappel doivent satisfaire à deux contraintes : R_min = (V_DD - V_OL)/I_OL (généralement 1,5 kOhm à 3,3 V) et R_max = t_rise/(0,8473 x C_bus). Pour un bus de 200 pF en mode 400 kHz, la spécification impose t_rise <= 300 ns, ce qui donne R_max = 300 ns/(0,8473 x 200 pF) = 1,77 kOhm. Un pull-up de 4,7 kOhm, couramment recommandé dans les didacticiels, enfreint en fait la spécification du mode rapide lorsque la capacité du bus dépasse 85 pF. Des études sur les défaillances de l'I2C montrent que 68 % sont dues à des valeurs de rappel incorrectes entraînant des violations du temps de montée.
Exemple Résolu
Une conception d'appareil portable connecte 4 capteurs I2C (25 pF chacun) plus une capacité de trace de 50 pF sur un bus 3,3 V fonctionnant en mode rapide à 400 kHz. Selon la section 7.1 du NXP UM10204 : C_bus total = (4 x 25) + 50 = 150 pF. Résistance maximale : R_max = t_rise/(0,8473 x C_bus) = 300 ns/(0,8473 x 150 pF) = 2,36 kOhm. Résistance minimale : R_min = (V_DD - V_OL)/I_OL = (3,3 V - 0,4 V)/3 mA = 967 ohms. Valeur optimale = sqrt (R_max x R_min) = sqrt (2360 x 967) = 1,51 kOhm. Sélectionnez la valeur standard 1,5 kOhm (série E24). Cela fournit un temps de montée réel de 200 ns (marge de 33 %) tout en ne consommant que 1,93 mA par ligne lorsqu'il est abaissé.
Conseils Pratiques
- ✓Conformément à la norme NXP AN10216-01, utilisez 2,2 kOhm pour les bus inférieurs à 100 pF à 400 kHz, 1 kOhm pour 200 à 400 pF et les pull-ups actifs supérieurs à 400 pF
- ✓Mesurez le temps de montée réel avec un oscilloscope sur les broches SDA/SCL : la spécification nécessite 20 à 300 ns pour le mode rapide, 20 à 120 ns pour le mode rapide Plus
- ✓Pour les câbles longs (>50 cm), ajoutez des résistances de la série 100 ohms au niveau du master pour limiter les réflexions et réduire les interférences électromagnétiques de 6 à 10 dB, conformément au guide de conception I2C
Erreurs Fréquentes
- ✗Utilisation de pull-ups de 10 kOhm (par défaut Arduino) à 400 kHz avec une capacité de bus supérieure à 30 pF, ce qui entraîne des temps de montée de plus de 500 ns par rapport au maximum de 300 ns selon le NXP UM10204
- ✗Placer des pull-ups sur les cartes maître et esclave, réduire efficacement de moitié la résistance et doubler le courant I_OL au-delà de la limite de 3 mA de l'appareil
- ✗Ignorer que Fast Mode Plus (1 MHz) nécessite t_rise <= 120 ns, ce qui impose des pull-ups inférieurs à 700 ohms pour un bus de 200 pF
Foire Aux Questions
Shop Components
As an Amazon Associate we earn from qualifying purchases.
Calculateurs associé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.
General
Constante de temps RC
Calculez la constante de temps du circuit RC τ, le temps de charge à 63,2 % et 99 %, et la fréquence de coupure de -3 dB. Essentiel pour la conception des filtres et des circuits de chronométrage.
General
Ohm
Calculez la tension, le courant, la résistance et la puissance en ohms
Comms
Gigue Horloge
Calculez le budget temporel de l'arbre d'horloge pour les conceptions FPGA et SoC.