AVR: ADC overclocking

8

Ini adalah kutipan dari lembar data ATmega32 :

By default, the successive approximation circuitry requires an input clock frequency between
50kHz and 200kHz to get maximum resolution. If a lower resolution than 10 bits is needed, the
input clock frequency to the ADC can be higher than 200kHz to get a higher sample rate.

Saya berencana untuk menggunakan 8 bit ADC. Pertanyaannya adalah: seberapa jauh lebih tinggi dari 200kHz yang bisa saya pakai? Saya tidak dapat menemukan informasi tentang ini di lembar data. Apakah mungkin untuk menggunakan prescaler 64 atau 32 dan karenanya menjalankan ADC pada 250kHz atau 500kHz masing-masing tanpa kesalahan konversi ketika UC berjalan pada 16MHz? Dan apa konsekuensi yang mungkin dari menjalankan ADC di luar spesifikasi?

Ashton H.
sumber

Jawaban:

12

Frekuensi maksimal ADC ditetapkan sebagai 1MHz.

Masalah sebenarnya bukan ADC itu sendiri, tetapi perangkat sampel dan tahan, yang dalam 2 jam pertama dari ADC harus mendapatkan sampel dari tegangan input.

Ketika 2 jam ini dua pendek, kapasitor penyimpanan S / H tidak dapat mengikuti sinyal input dengan akurasi yang cukup.

BTW, itu sebabnya ada frekuensi minimal juga. Dalam hal ini, waktu konversi yang sangat besar memungkinkan kapasitor penyimpanan untuk melepaskan selama konversi.

Pada jam 1MHz, Anda akan mendapatkan waktu konversi 13us atau sekitar 77ksps. Pada jam 200kHz - 15ksps.

Johnfound
sumber
jawaban yang bagus Bung +1. Saya ingin tahu apakah S&H internal dapat dibiarkan berjalan bebas dan menggunakan S&H eksternal yang jauh lebih cepat?
Andy alias
1
@ Andyaka - mungkin tidak. S / H internal hanya dikendalikan oleh perangkat keras. Mungkin beberapa peretasan dimungkinkan dengan mengubah pembagi frekuensi selama konversi - make lambat untuk 2 jam pertama dan kemudian lebih tinggi ... Tapi kita harus memeriksa manual apakah mungkin sama sekali dan kemudian melakukan percobaan.
johnfound
Terima kasih atas jawabannya. Jadi pada dasarnya aman untuk mencapai 1MHz saat menggunakan 8 bit ADC?
Ashton H.
@AshtonHearts - Ya, saya kira begitu. Mengapa tidak melakukan beberapa tes? Ini hanya masalah program.
johnfound
2
@AshtonHearts - ini bukan overclock. Itu adalah perilaku yang terdokumentasi. Anda hanya akan mendapatkan akurasi yang lebih rendah.
johnfound