Как 5v Uno может разговаривать с 3.3v Due?

9

У меня в настоящее время есть Uno (который работает на 5v), и я смотрю на покупку Due (которая работает только на 3.3v). Я бы хотел, чтобы они общались через последовательный порт, SPI или подобное, но, предположительно, их прямое подключение не является вариантом (я полагаю, что контакты Due будут повреждены).

Есть ли способ сделать соединение безопасным? Или есть альтернативная форма общения, которую я мог бы безопасно использовать между ними вместо этого?

Питер Блумфилд
источник

Ответы:

8
  • Для логического выхода 5 В на логическом входе 3 В 3 вы можете использовать резистивный делитель для понижения напряжения.
  • В разряженном состоянии логического выхода 3V3 достаточно для управления логическим входом 5V. Проверьте технические данные AVR на точное напряжение (0,6 × Vcc = 3 В, найденное в разделе «Характеристики постоянного тока» в техническом описании).

Другими словами, с небольшой осторожностью это может сработать.

Чтобы построить более надежное и двунаправленное решение, используйте переключатель уровня. Есть несколько перечисленных на этой странице, но другие производители делают подобные устройства.

Этот документ описывает, как MOSFET может использоваться для двунаправленного преобразования логических уровней между различными напряжениями питания.

jippie
источник
+1 для справки решения MOSFET. Я не думал, что двунаправленное смещение уровня может сработать. Захватывающий.
jfpoilpret
Кроме того, для преобразователя уровня MOSFET нет необходимости в дискретных компонентах - есть такие устройства, как двойной FET FDC6301N. Или есть специальные переключатели уровня, такие как PCA9306.
Cybergibbons
1
У Adafruit есть готовый к работе переключатель уровня MOSFET ( adafruit.com/products/757 ), который также хорошо подходит для общения по I2C, где вам нужно иметь двунаправленную трансляцию уровня.
Майк WP