Forum: Mikrocontroller und Digitale Elektronik Settling Time ADC Atmega 4808


von Ingo Less (Gast)


Lesenswert?

Hallo,

ich habe ein Projekt mit dem Atmega4808 vor. Beim ADC steht im 
Datenblatt:
"The ADC requires a settling time after switching the input channel - 
refer to the Electrical Characteristics section for
details."

Leider finde ich dazu keinen Hinweis, wie hoch die Zeit bzw. wieviel 
Clocks das nun wirklich sein soll. Habt ihr da eine Idee? Ich schalte 
immer zwischen zwei Kanälen um und messe dann. Die Zweit zwischen 
Kanalwechsel und Messung starten suche ich quasi.
1
  ADC0.MUXPOS = MUX_I_SOLL;
2
  ADC0.COMMAND = ADC_STCONV_bm;
3
  asm volatile ("nop");
4
  while ( !(ADC0.INTFLAGS & ADC_RESRDY_bm) );
5
  I_soll = ADC0.RES;
6
    
7
    //////////////////////////////////////////////////////////////////////////
8
  ADC0.MUXPOS = MUX_I_IST;  
9
  ADC0.COMMAND = ADC_STCONV_bm;
10
  asm volatile ("nop");
11
  while ( !(ADC0.INTFLAGS & ADC_RESRDY_bm) );
12
  I_ist = ADC0.RES;

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Beim Umschalten des ADC-Eingangs muss der Input-Kondensator auf die neue 
Spannung umgeladen werden. Wie lange das dauert, hängt nicht von der 
(ADC-)Clock ab, sondern von Kapazität und Widerstand. (und auch von der 
Spannungs-Differenz zwischen den Kanälen)

Wenn dein zu messendes Signal hochohmig ist, musst du das natürlich auf 
die 14k aufaddieren.


(Ob du mit 5pF oder 10pF rechnen musst, hängt von der Referenzspannung 
des ADC ab)

: Bearbeitet durch User
von M. K. (sylaina)


Lesenswert?

Wie Ernst schon schrieb hängt das von der Eingangsbeschaltung des 
jeweiligen Kanals ab. Dem Eingangskondensator muss halt Zeit gegeben 
werden, damit er sich umladen kann. ;)
Da man idR hochohmig misst kann das eine signifikante Verzögerung nach 
sich ziehen. Es kann hierbei helfen, einen Puffer zwischen zu schalten 
aber auch hier sind die entsprechenden Verzögerungen zu berücksichtigen.

: Bearbeitet durch User
von Ingo L. (corrtexx)


Lesenswert?

Da hätte ich auch selber drauf kommen können, vielen Dank! Somit ergibt 
sich 5*14k*5pF = 350ns. @20MHz gibt das 7 Takte. Sehr schön

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.