Langkah 3.3V ke 5V untuk I / O digital

35

Saya biasanya menggunakan Arduino untuk proyek-proyek saya karena memiliki input dan output 5V dan memiliki 5V Vin sehingga membuat hidup sangat mudah ketika berinteraksi dengan komponen 5V. Untuk proyek ini saya ingin menggunakan Raspberry Pi karena saya ingin menghubungkannya ke layar. Pi ditenagai oleh 5V sehingga cukup mudah. Namun memiliki pin 3.3VI / O dan perangkat yang ingin saya antarmuka adalah 5V.

Saya memiliki perangkat dengan pin input 5V, yang perlu didorong ke 5V. Perangkat ini memiliki pin output 5V, yang drive perangkat ke 5V ketika output.

Saya telah mengonversi dua perangkat secara bidirectionally antara 5V dan 3.3V sebelumnya, tetapi itu dengan tingkat logika shifter yang RENDAH aktif. Sirkuit ini adalah yang khas dengan transistor dan dioda dan dua resistor pull up. Aplikasi ini membutuhkan TINGGI aktif. Untungnya, proyek ini tidak memerlukan I / O dua arah.

Untuk arah 5V ke 3.3V, pembagi tegangan mentah akan berfungsi.

Namun untuk arah 3.3V ke 5V, saya tidak tahu solusi yang mudah. Saya melakukan beberapa pencarian dan tampaknya ada boost-converter (DC-DC boost converter) tetapi untuk membangunnya dari komponen diskrit saya perlu membangun sirkuit PWM untuk menggerakkan switching.

Saya hanya bertanya-tanya apakah ada cara yang lebih sederhana untuk mencapai ini, dengan kompleksitas yang sebanding dengan shifter level logika rendah yang aktif.

Huckle
sumber
Lihat ini berbagai metode untuk antarmuka. savagecircuits.com/…
AKR
Berapa banyak arus yang dibutuhkan untuk memasok output 5V? Apakah ini memberi makan input tingkat logika?
Dwayne Reid

Jawaban:

31

Karena Dave Tweed telah menunjukkan kekurangan pada jawaban yang lain, pada dasarnya saya telah menyalin jawaban saya ke shifter tingkat transistor tunggal ... Perhatikan juga solusi menarik oleh Nicolas D dalam pertanyaan.

Saya punya beberapa solusi (beberapa solusi yang disediakan oleh Microchip DI SINI ):

1) Koneksi langsung: Jika Voh (tegangan output level tinggi) dari logika 3.3V Anda lebih besar dari Vih (voltase input level tinggi), yang Anda butuhkan hanyalah koneksi langsung. (diperlukan juga untuk solusi ini bahwa Vol (tegangan output level rendah) dari output 3.3V kurang dari Vil (voltase input level rendah) dari input 5V). Solusi ini paling sering ditolak karena margin yang tidak mencukupi.

2) Jika kondisi di atas dekat, Anda dapat sedikit meningkatkan tegangan output level tinggi dengan resistor pull-up (ke 3.3V) dan menghubungkan langsung sinyal.

3) Penarik pull-up dapat memberikan sedikit peningkatan tegangan tingkat tinggi. Untuk lebih lanjut, Anda dapat menggunakan dioda dan menarik hingga 5V. Sirkuit yang ditunjukkan tidak akan pull-up clear ke 5V, tetapi akan meningkatkan tegangan input level tinggi ke logika 5V dengan jumlah satu penurunan tegangan dioda (appx 0.7v). Harus diperhatikan dengan metode ini bahwa Anda masih memiliki level rendah yang valid karena juga dinaikkan oleh satu tetes dioda. Dioda Schottky dapat digunakan untuk sedikit meningkatkan tegangan level tinggi sambil meminimalkan kenaikan tegangan level rendah yang tidak diinginkan. Lihat catatan aplikasi yang disebutkan di atas untuk informasi lebih lanjut tentang sirkuit ini .:

skema

mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab

4) Jika Anda dapat menangani inversi logika (dan tidak memerlukan pull-up aktif), sebuah mosfet dan resistor pull-up dapat digunakan:

skema

mensimulasikan rangkaian ini

5) Ada juga banyak solusi logika IC seperti: MC74VHC1GT125 yang merupakan "Noninverting Buffer / CMOS Logic Level Shifter dengan LSTTL − Input yang Kompatibel" dalam paket SOT23-5 atau SOT-353. Kecil, sederhana, dan cukup murah. Penggunaan solusi ini juga harus mencakup kapasitor decoupling yang dekat dengan IC.

Tut
sumber
Saya pikir beberapa diagram Anda diberi label mundur. Saya memiliki output logika 3.3V dan input logika 5v. Saya mengerti cara kerja # 4 dan dapat mengonfirmasi bahwa label baru saja mundur (tetapi ini adalah sirkuit yang benar untuk apa yang saya butuhkan). Saya tidak sepenuhnya mengerti # 3 cukup untuk tahu apakah itu diberi label mundur atau sebenarnya mundur. Yang sedang berkata jika saya menggunakan dua contoh # 4 untuk menjaga logika non-terbalik saya harus baik untuk pergi.
Huckle
Label tidak terbalik. "Logika 3.3V" menunjukkan bahwa ini merupakan input ke dalam rangkaian yang saya berikan ... tentu saja dari output dari rangkaian Anda. "Logika 5V" kemudian hanya menunjukkan bahwa itu adalah output dari rangkaian saya ke input logika 5V Anda. Saya akan mengedit untuk menjelaskan.
Tut
Masuk akal sekarang bahwa Anda menjelaskannya, tetapi itu mundur dari sudut pandang konvensional (di mana sudut pandang konvensional dimaksudkan untuk sudut pandang seseorang yang menghubungkan IC digital). Terima kasih lagi.
Huckle
2
@ Huckle: Tut telah menyediakan sirkuit atau modul untuk digunakan untuk antarmuka dua sirkuit lainnya. Standar ini untuk memberi label terminal atau titik antarmuka dari sudut pandang tampilan sirkuit - bukan yang Anda tidak bisa lihat. Anda menghubungkan output Anda ke input sirkuit ini. Kadang-kadang kita perlu menunjukkan di mana harus terhubung pada sirkuit lain tetapi menggunakan panah dalam kasus itu jadi jelas.
Transistor
@Tapi apakah Anda keberatan menjelaskan lebih banyak tentang cara kerja # 3? Saya kesulitan memahami ini. Saya tidak yakin untuk apa 3.3V-D1 :( Terima kasih
wbkang