Comment un 5v Uno peut-il parler à un 3.3v Due?

9

J'ai actuellement un Uno (qui fonctionne à 5v), et je cherche à acheter un Due (qui ne fonctionne qu'à 3,3v). Je voudrais les faire communiquer via Serial ou SPI ou similaire, mais sans doute les connecter directement n'est pas une option (je suppose que les broches du Due seraient endommagées).

Existe-t-il un moyen de sécuriser la connexion? Ou existe-t-il une autre forme de communication que je pourrais utiliser en toute sécurité entre eux?

Peter Bloomfield
la source

Réponses:

8
  • Pour une sortie logique 5V vers une entrée logique 3V3, vous pouvez utiliser un diviseur résistif pour abaisser la tension.
  • Une fois déchargée, une sortie logique 3V3 est juste suffisante pour piloter une entrée logique 5V. Consultez la fiche technique de l'AVR pour connaître les tensions exactes (0,6 × Vcc = 3 V, trouvées sous Caractéristiques CC dans la fiche technique).

En d'autres termes, avec un peu de soin particulier, cela pourrait bien fonctionner.

Pour construire une solution plus fiable et bidirectionnelle, utilisez un décalage de niveau. Il y en a plusieurs répertoriés sur cette page, mais d'autres fabricants fabriquent des appareils similaires.

Ce document décrit comment un MOSFET peut être utilisé pour convertir bidirectionnellement des niveaux logiques entre différentes tensions d'alimentation.

jippie
la source
+1 pour la référence de la solution MOSFET. Je ne pensais pas que le changement de niveau bidirectionnel pouvait fonctionner. Fascinant.
jfpoilpret
Pour ajouter, pour le convertisseur de niveau MOSFET, il n'y a pas besoin de composants discrets - il existe des dispositifs comme le FET double FDC6301N. Ou il existe des décaleurs de niveau dédiés comme le PCA9306.
Cybergibbons
1
Adafruit a un sélecteur de niveau MOSFET prêt à l' emploi ( adafruit.com/products/757 ) qui joue également bien pour la communication I2C, où vous devez avoir une traduction de niveau bidirectionnelle.
Mike WP