Apa artinya mode input / output pin mikrokontroler ini?

9

Saya membeli stm32f103ret6 . Ketika saya melihat manual referensi, saya melihat bahwa ia memiliki beberapa mode I / O.

Untuk input: mengambang, pull-up, pull-down
Untuk output: analog, drain terbuka, push-pull

Saya sudah bekerja dengan AVR MCU yang memiliki tri-state dan pull-up. Jadi saya bisa mengerti pull-up dan pull-down, tapi, saya tidak bisa mengerti mode mengambang, analog, drain terbuka, push-pull. Apa arti mode ini dan kapan saya menggunakan yang mana?

brian
sumber

Jawaban:

9

Floating: tidak pull-up atau pull-down. Masukan Anda berjalan efektif langsung ke gerbang FET di suatu tempat. Harus digunakan dengan driver eksternal atau pullup / down saja; jangan biarkan sepenuhnya mengambang untuk mengambil ESD.

Analog (output): tidak cukup jelas dari datasheet, tapi saya berasumsi ini adalah output dari DAC di suatu tempat dan karena itu dapat mengambil rentang nilai voltase.

Buka-tiriskan: jika diatur ke "0", FET akan diaktifkan untuk menghubungkan ini ke ground. Jika diatur ke "1", itu akan dibiarkan mengambang. Digunakan untuk I2C dan bus sejenis di mana ada beberapa driver drain terbuka dan resistor pullup tunggal di suatu tempat.

Push-pull: berisi transistor output tinggi dan rendah. Cepat, mampu benar-benar mengemudikan hal-hal yang membutuhkan tegangan positif, tetapi tidak boleh dihubungkan ke driver lain. Jika diatur ke "1", sambungkan rel pasokan positif ke output melalui FET.

pjc50
sumber
2
Perbedaan normal antara "mengambang" dan "analog" adalah bahwa yang pertama akan merutekan pin ke buffer input level-logika, yang memungkinkan kode (atau logika lain) untuk melihat statusnya, tetapi juga menyebabkan arus tambahan ditarik jika tidak mewakili tinggi atau rendah yang valid; yang terakhir akan memutuskan pin dari buffer input tingkat logika, sehingga memungkinkan tegangan pin bervariasi di mana saja di antara rel pasokan tanpa menyebabkan kelebihan arus.
supercat