ai-je vraiment besoin d'un décalage de niveau si j'utilise des appareils alimentés en 5 V sur un bus I2C qui a des tractions à 3,3 V? À ma connaissance, les appareils ne feront que tirer les lignes (SDA, SCL) bas (vers la terre) et ne conduiront jamais leur tension d'alimentation au bus. Donc, je ne vois pas de raison pour un changement de niveau tant que tous les appareils détectent la tension logique des tractions (3,3 V) comme étant élevée. Cela devrait être le cas avec des appareils utilisant 5V comme alimentation.
Dans mon cas, j'ai un circuit intégré dont les entrées ne sont pas tolérantes à 5 V en tant que maître et je pouvais alimenter mes esclaves avec 3,3 V, mais l'utilisation de 5 V est plus facile dans mon circuit et permet des fréquences d'horloge (internes) plus élevées pour les esclaves.
la source
Réponses:
Selon la version 4 de la spécificationI2C ,
Plus profondément dans la spécification, vous verrez que cette est la haute tension logique minimale :0.7×VDD
Pour votre système 5V:
Pour moi, le pull-up de 3,3 V semble marginal, surtout si l'un de vos appareils 5V utilise la «nouvelle» norme de pour la logique ÉLEVÉE.0.7×VDD
Votre kilométrage peut varier, mais il est toujours préférable de respecter les spécifications dans la mesure du possible ...
la source
La réponse de Cees est incorrecte, en particulier le "toujours" et "tout". Les E / S du microcontrôleur peuvent avoir besoin d'au moins 0,6 Vdd pour un niveau élevé, d'autres ont un minimum de 0,7 Vdd, et comme Madmanguruman indique que c'est la norme pour I2C. 0,7 Vdd est 3,5 V avec une alimentation de 5 V, donc 3,3 V est déjà trop faible.
Mais c'est encore pire. Les régulateurs de tension ont souvent une tolérance de 5% sur leur tension de sortie nominale, donc le pire des cas 5 V peut être 5,25 V, puis 0,7 Vdd devient 3,675 V. Entrée minimale pour un niveau élevé. Si le 3,3 V a une tolérance négative de 5%, alors 3,3 V devient 3,135 V. Donc, avec les tolérances prises en compte, l'entrée peut très bien être d'un demi-volt trop faible, ou 15%.
Donc,
est une conclusion inopportune. Vérifiez toujours les fiches techniques et effectuez le calcul.
la source
J'ai l'impression que les autres réponses n'ont pas vraiment répondu à la question de Jannis. Il a posé des questions sur l'utilisation d'appareils 5V sur un bus 3,3V (probablement 3,3V MCU). Je suis d'accord que les tractions liées à 3,3 V seront correctes, par exemple sans danger pour le périphérique maître, car les broches SDA / SCL ne tireront que vers le bas, comme il l'a mentionné. Attention, les esclaves et le maître devront partager une masse commune (équipotentielle des broches Vss) afin de protéger le MCU contre les surtensions, mais cela allait probablement être le cas de toute façon. La méthode de Jannis devrait donc fonctionner, sans décalage de niveau.
la source