logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Atmega16][C] Prędkości przetwornika ADC

kwikam 18 Maj 2009 13:05 2265 2
REKLAMA
  • #1 6544352
    kwikam
    Poziom 10  
    Witam,
    Czytam dokumentacje i czegoś nie mogę załapać:
    Pomiar z przetwornika trwa 13 cykli zegara ADC (tabela 81 s209 dok Atmega16).
    Częstotliwość zegara ADC to częstotliwość taktowania przez wartość preskalera. Maksymalna może być CK/2 (CK - częstotliwość taktowania zegara ukontrolera).
    Zatem przy częstotliwości zegara np 8MHz częstotliwość zegara ADC to 4Mhz. I teraz uwaga pytanie: Czy to znaczy, że przetwornik jest w stanie pomierzyć 4M/13=307692,2 razy w ciągu sekundy?????

    Zatem skoro rejestry zwracające pomierzoną wartość mają w sumie 16bitów to w ciągu sekundy przetwornik jest w stanie wygenerować:
    16x307692,2=4923075,2 bitów danych ~616kbajtów.

    Czy to wszystko jest prawdą?
  • REKLAMA
  • Pomocny post
    #2 6544454
    chudybyk
    Poziom 31  
    Prescaler jest elastyczny, żeby ADC działał efektywnie w różnych zakresach taktowania procka. Trzeba go tak dobrać, żeby częstotliwość przetwornika była między 50 kHz a 200 kHz - w tym zakresie wartości są obarczone najmniejszym błędem.
    Rejestry mają 16 bitów, ale wynik dostaniesz na 10-ciu, bo przetwornik jest 10-bitowy, reszta bitów jest ignorowana.
  • #3 6544520
    kwikam
    Poziom 10  
    Zgadza się, wielkie dzięki!

    Na stronie 207 (nowej 201) dokumentacji ATmega16, Atmele napisali:

    Cytat:

    By default, the successive approximation circuitry requires an input clock frequency between 50 kHz and 200 kHz to get maximum resolution.
REKLAMA