Apa yang harus dilakukan dengan input analog yang tidak digunakan?

10

Saya sedang mengerjakan aplikasi yang menggunakan mikrokontroler atmme AT32ga328p. Saya mulai dengan versi 28 PDIP, tetapi sekarang saya ingin menggunakan 32 TQFP, yang saya perhatikan memiliki 2 input tambahan setelah mengkompilasi proyek Altium saya.

Input-input ini adalah ADC7: 6 yang "berfungsi sebagai input analog ke konverter A / D. Pin-pin ini diaktifkan dari catu analog dan berfungsi sebagai saluran ADC 10-bit," menurut lembar data.

Saya telah membaca online bahwa beberapa orang mendapatkan hasil yang tidak diketahui ketika mereka menggunakan ADC dan memiliki input mengambang. Apa yang saya baca telah mereka lakukan adalah mengaktifkan pull-down resistor, tapi saya tidak melihat cara mengkonfigurasi mereka (karena mereka bukan milik port I / O). Juga, aplikasi saya bahkan tidak menggunakan konverter A / D sama sekali.

Apa praktik terbaik? Haruskah saya menghubungkan resistor pull-down eksternal? Abaikan kesalahan Altium?

esal26
sumber

Jawaban:

8

ADC6 dan ADC7 adalah kasus khusus. Mereka tidak memiliki buffer input atau output digital yang terhubung dengannya, sehingga mereka tidak akan membuat suara atau menarik kelebihan arus seperti pin lainnya pada chip mungkin jika tidak diserahkan dengan tepat. Dengan kata lain, Anda dapat membiarkannya mengambang dan tidak akan mempengaruhi desain Anda secara tidak normal.

Mereka juga tidak memiliki internal pull up atau pull down, jadi jika Anda berencana untuk mengikatnya ke atas atau ke bawah, Anda harus melakukannya secara eksternal.

Karena mereka tidak pernah bisa menjadi output, tidak ada keselamatan atau perlindungan tambahan dalam menggunakan resister dibandingkan menghubungkannya langsung ke VCC atau GND. Jika Anda masih khawatir tentang input analog mengambang, Anda bisa mengikat ADC7 ke pin GND yang berdekatan, dan ADC6 ke AVCC (atau AREF jika Anda suka).

Sampel dan kapasitor penahan kecil, jadi jika Anda memutuskan untuk mengikuti rekomendasi pembersihan , Anda dapat menggunakan ADC7 untuk sampel - kapasitor akan mengalir sangat cepat ke ground dan Anda akan mendapatkan manfaat yang dijelaskan.

Adam Davis
sumber
Saya khawatir mereka memiliki fungsi lain seperti sisa pin I / O, tetapi Anda benar, karena tidak, saya harus mengambil pilihan untuk membiarkannya mengambang. Dan juga, karena saya merancang versi final aplikasi dan saya tahu ADC tidak akan pernah digunakan.
esal26
Di mana Anda menemukan bahwa ADC6 dan 7 "istimewa"? Saya tidak dapat memverifikasi dari lembar data bahwa input tersebut berbeda dari yang lain.
Rev1.0
@ Rev1.0 Ada banyak tempat di lembar data yang menunjukkan ini. Mungkin yang paling jelas adalah kalimat terakhir dalam 24.9.5: "Perhatikan bahwa pin ADC ADC7 dan ADC6 tidak memiliki buffer input digital, dan karena itu tidak memerlukan bit Input Digital Disable." Perhatikan juga diagram blok di 2.1mana menunjukkan ADC [6..7] langsung ke ADC, sementara 6 port ADC lainnya dibagikan dengan PORTC, dan pinout dalam Fig 1-1acara ADC6 dan ADC7 tidak memiliki fungsi bersama.
Adam Davis
Oh salahku, aku melihat lembar data 324/644. Ini adalah pengontrol Atmel pertama di mana saya melihat "khusus" ini.
Rev1.0
12

Sebuah resistor pull-down bagus, ya. Tidak hanya menstabilkan input dan mencegah kelebihan arus berlebih, tetapi juga memiliki manfaat tersembunyi yang dapat Anda gunakan sebagai perangkat pembersih kapasitor Sampel dan Tahan. Jika Anda membaca nilai analog dari salah satu input tambahan ini di antara bacaan dari input Anda yang lain, itu dapat membuat bacaan Anda sedikit lebih stabil karena sampel dan kapasitor penahan akan selalu dimulai dari level yang sama.

Semakin kecil resistor, semakin cepat kapasitor akan keluar, tetapi semakin tinggi arus outrush. Sesuatu di sekitar 470Ω baik. Juga melindungi terhadap pin yang pernah dikonfigurasi sebagai output dan didorong tinggi.

Majenko
sumber
1
Tunggu jadi jika saya lakukan 1) Baca nilai analog aktual 2) Baca analog yang ditarik, nilai analog saya yang sebenarnya akan kurang berisik atau apa?
Funkyguy
1
Ini akan kurang dipengaruhi oleh pembacaan dari saluran lain. Baca saluran 1, baca saluran cadangan, baca saluran 2, baca saluran cadangan, dll.
Majenko
Wah, manis sekali!
Funkyguy
3
Contoh ekstrem dengan input mengambang: forum.arduino.cc/index.php?topic=182446.0
Majenko
Saya mengerti, meskipun saya tidak terbiasa dengan sampel dan tutupnya, masuk akal untuk melepaskannya sepenuhnya dan mulai mengambil sampel setiap kali dari titik referensi yang sama. Ide yang hebat.
sherrellbc