Vous travaillez avec un bus I2C, non? Je vais appeler les lignes du côté 3,3 V SDA3 et SCL3 ; les deux lignes sur le côté 5,0 V SDA5 et SCL5 .
" MOSFET et deux résistances"
Comme todbot et cyphunk l'ont déjà souligné, le circuit "MOSFET et deux résistances" décrit dans le tutoriel "Interfaçage de capteurs" de SparkFun fait ce que vous voulez: Le flux de données logique est symétrique - les flux de données dans les deux sens sur les lignes SDA, à partir du côté bas vers le côté haut et, quelques millisecondes plus tard, du côté haut vers le côté bas.
La note "ne fonctionnera pas dans l'autre sens" indique que le circuit est physiquement asymétrique: votre appareil 5,0 V I²C doit être connecté au "côté haut", votre appareil 3,3 V doit être connecté au "côté bas". Parce que le circuit est physiquement asymétrique, il n'est certainement pas évident qu'il soit logiquement symétrique. (Ce didacticiel renvoie à une note d'application AN97055 qui montre un circuit "deux MOSFET et deux résistances" qui est physiquement symétrique, et est donc évidemment logiquement symétrique).
Les lignes marquées "TX" sur les convertisseurs SparkFun - que l'affiche originale soulignait - implémentent ce circuit bidirectionnel "MOSFET et deux résistances". Connectez donc SDA3 à TX_LV, SDA5 à TX_HV, SCL3 à TX2_LV et SCL5 à TX2_HV.
Ensuite, les données circulent dans les deux sens: lorsque votre périphérique bas pilote les broches SDA3 et SCL3, les tensions appropriées sont visibles sur les broches SDA5 et SCL5 côté haut. Quelques millisecondes plus tard, lorsque le périphérique côté haut pilote les broches SDA5 et SCL5, les tensions appropriées sont visibles sur les broches SDA3 et SCL3.
(De manière incohérente, les lignes étiquetées "RX" sur cette carte convertisseur ne transmettront des données que dans le sens haute tension vers basse tension.)
Optoisolateur bidirectionnel
Puisque vous utilisez I²C, vous pourriez également être intéressé par un optoisolateur bidirectionnel pour I²C . Le circuit à deux optoisolateurs est plus cher et plus lent que le circuit "MOSFET et deux résistances", mais il fonctionne quand un côté a des signaux qui oscillent entre 0 V et 5,0 V, et l'autre a des signaux qui oscillent entre 500,0 V et 505,0 V.
Le circuit à deux optoisolateurs est également complètement symétrique physiquement - et donc logiquement symétrique - peu importe quel côté est le côté haut et quel côté est le côté bas.