8Bit statt 10Bit ADC bei ATTiny13

Gast #447536
Lesenswert?

bei einem ATTiny13 möchte ich mit 8 Bit statt 10 Bit wandeln
um eine höhere Rate zu erreichen.
im Datenblatt steht:
If a lower resolution than 10
bits is needed, the input clock frequency to the ADC can be higher than 
200 kHz to get a higher sample rate.

ja und welche Clock rate geht noch?
wie kann ich das erreichen:
13 - µs Conversion Time

und wo stelle ich eine geringere Auflösung ein?

Vielleicht bin ich blind, aber im Datenblatt finde ich echt nix.

Walter
Gast #447543
Lesenswert?

eine komplette Wandlung dauert 13 Takte, das ist mir klar.
Wenn ich also das Register schon früher auslese habe sind noch nicht 
alle Bits gewandelt, auch klar.

Aber was hat das mit der Frequenz zu tun mit der diese 13 Takte laufen??
Gast #447558
Lesenswert?

Diese 13 Takte werden mit der ADC clock frequency ausgeführt, bei 200kHz 
dauert eine Wandlung folglich 13*5=65µs.
Für 2 Bit weniger (11 Takte) und 13µs bräuchte man demnach 846kHz, das 
ist wohl doch etwas zu viel.
Fazit: der Tiny13 ist für diese Anwendung nicht schnell genug.
Gast #447560
Lesenswert?

> ...Wenn ich also das Register schon früher auslese...
Du kannst das Register nicht früher auslesen. Das Ergebnis wird erst 
nach Ablauf der Wandlung im Datenregister zur Verfügung gestellt. Wenn 
Du eine geringere Auflösung haben willst, kannst Du den Takt über 200 
kHz setzen. Lt. Datenblatt liegt die absolute Genauigkeit des ADC bei 
einem Takt von 1 MHz bei 3 LSB. D.h. Du kannst die letzten beiden Bits 
vergessen. Wenn Du also 8 Bit Auflösung brauchst, kannst Du den ADC mit 
1 MHz (vermutlich auch noch ein Stück mehr) takten. Das ADLAR-Bit 
solltest Du dann auch setzen, dann brauchst Du nur ADCH auszulesen.
Gast #447591
Lesenswert?

Viel scheint das Datenblatt nicht herzugeben. Bei 200kHz ADC-Takt ist 
die Abweichung 2 LSB, bei 1Mhz 3 LSB. 1Mhz ist wohl auch der maximale 
Takt, da die minimale Konvertierungszeit 13 Mikrosekunden sind und eine 
Konvertierung 13 Takte braucht.

Gast #447689
Lesenswert?

Was willst Du mit den schnellen Ergebnissen anfangen ? Angenommen, alle 
13µs hast Du einen neuen Wert, wo soll der bleiben ? Wie lange braucht 
der Tiny, um ihn sinnvoll zu verarbeiten ? Oder willst Du den Wert nur 
schnell woanders hin weiterleiten ?
Vielleicht stellst Du auch fest, daß Du es garnicht so schnell brauchst.
Gast #447746
Lesenswert?

@ johnny.m + ralf
Vielen Dank für die Hilfe,
jetzt habe ich die Tabelle im Datenblatt auch gefunden.
Als Fehler stehen da aber 4,5 LSB, nicht 3.
4.5 sind ja ungefähr 2 Bit, d.h. das 8-Bit Ergebnis ist einigermaßen 
genau.
oder ist da die Abweichung gemeint, also plus/minus 4.5
dann wärens ja nur 7Bit Genauigkeit

@Michael
ich bin nur am rumprobieren und habe gerade einen Tiny13 auf einer 
Testplatine. Später soll es ein Mega8 sein auf dem ich genug Platz habe 
um Werte zu speichern.
Gast #447787
Lesenswert?

> jetzt habe ich die Tabelle im Datenblatt auch gefunden.
> Als Fehler stehen da aber 4,5 LSB, nicht 3.

Hast du vielleicht ein veraltetes Datenblatt? Auf Seite 122 von 
http://www.atmel.com/dyn/resources/prod_documents/doc2535.pdf sind 
jedenfalls 3 (bzw. 2,5 im "noise reduction mode") angegeben.

> Später soll es ein Mega8 sein auf dem ich genug Platz habe
> um Werte zu speichern.

Der hat 1kB RAM. Bei 13 Mikrosekunden pro Wandlung passen also nur ca. 
13 Millisekunden rein.
Gast #447868
Lesenswert?

@Rolf

>Hast du vielleicht ein veraltetes Datenblatt? Auf Seite 122 von
>http://www.atmel.com/dyn/resources/prod_documents/... sind
>jedenfalls 3 (bzw. 2,5 im "noise reduction mode") angegeben.
na so was, im aktuellen Datenblatt (von 2004) steht tatsächlich 3, meins 
ist von 2003 und da sinds noch 4,5, alles wird gut ;-)


>Der hat 1kB RAM. Bei 13 Mikrosekunden pro Wandlung passen also nur ca.
>13 Millisekunden rein.
ja, das reicht, ich möchte 2xzwei Halbwellen mit 200 Hz als niedrigster 
Frequenz messen, also insgesamt max 10 msec, zudem brauche ich die 
13mikrosec (oder 77khz) gar nicht ganz, mir reichen auch 20mikrosec 
sprich 40kHz

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren