Forum: Mikrocontroller und Digitale Elektronik tinyAVR 1-series: settling time nach ADC-Kanalwechsel


von Zino (zinn)


Lesenswert?

In den Datenblättern von z.B. ATtiny412 und ATtiny3216 steht dies:

  The ADC requires a settling time after switching the input
  channel - refer to the Electrical Characteristics section for
  details.

Leider steht in jenem Abschnitt der Datenblätter nichts dazu. Auch in 
den Errata steht nichts dazu. Hat einer von euch da etwas gefunden oder 
gemessen?

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Zino schrieb:

>   The ADC requires a settling time after switching the input
>   channel - refer to the Electrical Characteristics section for
>   details.
>
> Leider steht in jenem Abschnitt der Datenblätter nichts dazu. Auch in
> den Errata steht nichts dazu. Hat einer von euch da etwas gefunden oder
> gemessen?

Ich vermute, dass der ADC diese "Settling Time" selber einhält, denn bei 
den ATtiny2 heißt es explizit:

"Bit 0 – ADCBUSY ADC Busy This bit is cleared when an ADC conversion is 
complete, and settling times related to configuration changes are
finished."

Leider ist die Qualität der Datenblätter nach der Übernahme von Atmel 
durch Microchip nicht gestiegen, eher im Gegenteil -- genauso wie die 
Fehler im Silizium. Aber immerhin hat Microchip hier etas unternommen 
und versteckt die Erratas mittlerweile richtig gut. Auch sind mit 
erscheinen neuer Masken die allten Erratas oft nicht mehr auffindbar. 
:-/

Grüßle,
Volker

: Bearbeitet durch User
von Zino (zinn)


Lesenswert?

Volker B. schrieb:
> Ich vermute, dass der ADC diese "Settling Time" selber einhält, denn bei
> den ATtiny2 heißt es explizit:
>
> "Bit 0 – ADCBUSY ADC Busy This bit is cleared when an ADC conversion is
> complete, and settling times related to configuration changes are
> finished."

Das ist bei den tinyAVR 1 nicht so. Zitat ATtiny3216-Datenblatt:

  The actual sample-and-hold takes place two CLK_ADC cycles after
  the start of a conversion. The start of a conversion is initiated
  by writing a ‘1’ to the STCONV bit in ADCn.COMMAND.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Zino schrieb:
> Volker B. schrieb:
>> Ich vermute, dass der ADC diese "Settling Time" selber einhält, denn bei
>> den ATtiny2 heißt es explizit:
>>
>> "Bit 0 – ADCBUSY ADC Busy This bit is cleared when an ADC conversion is
>> complete, and settling times related to configuration changes are
>> finished."
>
> Das ist bei den tinyAVR 1 nicht so. Zitat ATtiny3216-Datenblatt:
>
>   The actual sample-and-hold takes place two CLK_ADC cycles after
>   the start of a conversion. The start of a conversion is initiated
>   by writing a ‘1’ to the STCONV bit in ADCn.COMMAND.

Das kann ich nicht herauslesen. Wann wird denn die Konvertierung 
gestartet nachdem sie initiiert wurde? M.E. erst nach Ablauf der 
"settling time", denn die Angabe einer konkreten (minimalen oder 
maximalen) Dauer fehlt.

Jedoch ist diese Diskussion müßig. Frag' offiziell bei Microchip an, 
dann besteht auch die Chance, dass das mangelhafte Datenblatt 
vervollständigt wird.

Grüßle,
Volker

: Bearbeitet durch User
von Zino (zinn)


Lesenswert?

Volker B. schrieb:
> Wann wird denn die Konvertierung
> gestartet nachdem sie initiiert wurde? M.E. erst nach Ablauf der
> "settling time", denn die Angabe einer konkreten (minimalen oder
> maximalen) Dauer fehlt.

Das muß man wohl selbst per INITDLY einstellen. Allerdings sagt die 
Doku,
daß INITDLY nur nach dem Einschalten des ADC oder dem Umschalten auf
eine interne Referenz wirksam ist. Also nicht beim Wechseln des Eingangs
per MUXPOS.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

das wäre der mir bekannte Normalfall. Beim umschalten der VREF, egal von 
wo nach wo, muss man aufpassen. In der Regel wirft man / würde man den 
ersten Messwert wegwerfen. Der ATtiny hat ein Register zum Delay 
einstellen, wenn ich das richtig lese. Die Messkanäle am ADC kann man 
dagegen durchschalten wie man lustig ist.
Hilfreich sind auch die AppNotes. Das Prinzip muss man ggf. auf seinen 
Verwandten adaptieren.
https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ApplicationNotes/ApplicationNotes/TB3209-Getting-Started-with-ADC-DS90003209.pdf
https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ApplicationNotes/ApplicationNotes/AN2573-ADC-Basics-with-tinyAVR-and-megaAVR-00002573C.pdf
Man sollte bei verschiedenen Familien die Dokumentenseite durchblättern 
nach weiteren App Notes. Es sind nicht bei allen MCUs alle verlinkt.

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.