Calculateur Pull-up I2C

Calculez les valeurs optimales de résistance pull-up I2C basées sur la capacité du bus et le mode de vitesse. Supporte Standard, Fast et Fast Mode Plus.

I2CPull-upRésistanceBusCommunicationEmbarqué

Calculateur

pF

Total SDA/SCL line capacitance

V
       Vcc           Vcc
        │             │
       ┌┴┐           ┌┴┐
       │ │ Rp        │ │ Rp
       └┬┘           └┬┘
        │             │
   SDA ─┼─────────────┼─ SCL
        │             │
     ┌──┴──┐       ┌──┴──┐
     │     │       │     │
     │ IC1 │       │ IC2 │
     │     │       │     │
     └─────┘       └─────┘

Comment Utiliser ce Calculateur

Ce calculateur de résistances pull-up I2C vous aide à trouver les valeurs optimales de résistance pull-up pour votre bus I2C en fonction de la capacité du bus, de la tension d'alimentation et des exigences du mode de vitesse.

  1. Estimez la Capacité du Bus — Somme de toutes les capacités d'entrée des appareils plus la capacité des pistes/fils
  2. Entrez la Tension d'Alimentation — Typiquement 3,3V ou 5V
  3. Sélectionnez le Mode de Vitesse — Standard (100kHz), Rapide (400kHz) ou Mode Rapide Plus (1MHz)
  4. Cliquez sur Calculer — Obtenez la plage de résistance valide et les valeurs recommandées

Formules Pull-up I2C

Rmax = tr / (0,8473 × Cbus)
Rmin = (Vcc - Vol) / Iol
Où tr = temps de montée max., Cbus = capacité totale

Comprendre les Contraintes

  • Résistance Maximale: Limitée par les exigences de temps de montée. Une capacité plus élevée nécessite une résistance plus faible
  • Résistance Minimale: Limitée par le courant de puits de sortie (Iol). Ne doit pas dépasser la capacité de l'appareil à tirer la ligne au niveau bas
  • Le facteur 0,8473: Dérivé du temps de montée RC pour atteindre 0,7×Vcc (seuil logique HAUT)

Modes de Vitesse I2C

ModeFréquence Max.Temps Montée Max.Capacité Max.Courant de Puits
Mode Standard100 kHz1000 ns400 pF3 mA
Mode Rapide400 kHz300 ns400 pF3 mA
Mode Rapide Plus1 MHz120 ns550 pF20 mA
Haute Vitesse3,4 MHz400 pFSpécial

Note: Le mode haute vitesse nécessite des pull-ups actifs (sources de courant) plutôt que des pull-ups résistifs.

Estimation de la Capacité du Bus

Sources de Capacité

  • Capacité d'Entrée des Appareils: 3-10 pF par appareil (vérifier les fiches techniques)
  • Piste PCB: ~1-2 pF/cm pour les largeurs de piste typiques
  • Connecteur: 2-5 pF par connecteur
  • Fil/Câble: 30-100 pF/mètre selon le type de câble

Exemple de Calcul

3 appareils sur un PCB de 10cm:

  • 3 appareils × 10 pF = 30 pF
  • 10 cm de piste × 1,5 pF/cm = 15 pF
  • Total: ~45 pF (ajouter 20% de marge = 54 pF)

Questions Fréquemment Posées

Puis-je utiliser des valeurs de pull-up différentes pour SDA et SCL?

Typiquement on utilise la même valeur pour les deux lignes. Cependant, si une ligne a une capacité significativement différente (ex. piste plus longue), vous pourriez optimiser chacune indépendamment.

Que faire si ma plage calculée est très petite ou invalide?

Cela signifie généralement que votre capacité de bus est trop élevée pour le mode de vitesse. Solutions: réduire le nombre d'appareils, raccourcir les pistes, utiliser un tampon/extenseur de bus, ou passer à un mode plus lent.

Dois-je utiliser les pull-ups internes de mon microcontrôleur?

Les pull-ups internes (typiquement 20-50kΩ) sont généralement trop faibles pour un fonctionnement I2C correct, surtout aux vitesses du Mode Rapide ou avec une capacité de bus significative. Utilisez toujours des pull-ups externes pour une communication fiable.

Où dois-je placer les résistances pull-up?

Placez les pull-ups à l'extrémité du bus côté maître, ou aussi près que pratique du maître. Utilisez seulement une paire de pull-ups par bus, pas une paire par appareil.

Vérifiez Votre Sélection de Composants

Après avoir calculé les valeurs de vos composants, utilisez Schemalyzer pour vérifier votre conception de schéma. Notre analyse alimentée par IA détecte les erreurs courantes et suggère des améliorations.

Essayez la Révision Gratuite