Saya bekerja dengan mikrokontroler STM32. Kontroler mikro ini memiliki opsi untuk mengatur pin input sebagai menarik ke atas atau ke bawah:
Sebelumnya saya biasa memberikan resistor pull up atau pull down eksternal di mana pun diperlukan, tetapi sekarang saya bertanya-tanya apakah saya dapat menghilangkan komponen eksternal dan menggunakan fitur pull down dari mikrokontroler itu sendiri.
Apakah itu hal yang baik untuk dilakukan?
Apakah ada beberapa use case di mana saya harus mengambil tindakan pencegahan ekstra atau tidak menggunakan fitur ini sama sekali?
Jawaban:
Ya ... Anda bisa ... Ini fitur yang sudah terbukti. Jika Anda melihat struktur pin di manual Referensi STM32, Anda dapat melihat bahwa struktur pin memerlukan komponen -
Jika ini memenuhi persyaratan Anda, maka, Anda dapat menghapus komponen eksternal.
Sunting Ingat bahwa pada Penyalaan, Pin akan dipangkas. Jika tidak menghambat aplikasi Anda, itu bagus! Itu sebabnya adalah praktik yang baik untuk memulai bagian IO terlebih dahulu dan kemudian melanjutkan dengan perangkat lain.
sumber
Secara umum, sangat baik untuk menggunakan resistor pull-up atau pull-down internal.
Kekurangannya adalah Anda bisa lupa untuk mengaktifkannya dari perangkat lunak, yang dapat menyebabkan sedikit sakit kepala. Penarik eksternal akan selalu ada di sana. Jadi jangan lupa untuk mengaktifkan yang internal dan menghemat banyak area PCB dengan mengurangi nomor komponen.
Anda harus selalu memeriksa apakah aplikasi Anda memerlukan nilai resistor pull-up atau pull-down tertentu sebelum menggunakan resistor internal. Misalnya jangan menggunakannya dengan I 2 C , karena nilai-nilai ini akan terlalu tinggi untuk itu.
sumber
Kecuali jika pullup dan pull-down resistor aktif selama reset (saya kira tidak, tetapi saya tidak terbiasa dengan perangkat STM32), ada keadaan pin yang tidak ditentukan saat reset. Ini adalah salah satu alasan utama untuk menggunakan resistor pullup atau pull-down eksternal.
sumber
Seperti yang dikatakan orang lain, pull-up dan pull-down internal baik-baik saja selama:
Pada poin terakhir, ingat bahwa input CMOS pada level tegangan menengah dapat menyebabkan arus tembak yang signifikan pada pasangan inputnya. Ini dapat menyebabkan masalah pada sistem daya rendah saat start-up.
Secara umum, resistor penarik eksternal akan menghasilkan desain yang lebih konservatif.
sumber
Selain pengecualian baik lainnya yang tercantum dalam semua jawaban, resistor pull-up internal terlalu lemah untuk I²C dalam banyak kasus.
sumber