Hallo,
für ein neues Projekt möchte ich den ATTiny13A nehmen. Wichtig ist, dass
ich die Spannung eines Signals mit dem ADC messe und gleichzeitig per
Komparator überwache. Hat das schon jemand probiert? Im Datenblatt steht
(siehe unten), wenn ein Analogpin auf den Komparator gelegt wird (damit
ich mit den Pins hinkomme), dass der ADC abgeschaltet werden muß. Kann
mir jemand sagen, warum dies so ist?
Viele Grüße
Karlheinz
It is possible to select any of the ADC3..0 pins to replace the negative
input to the Analog Comparator. The ADC multiplexer is used to select
this input, and consequently, the ADC must be switched off to utilize
this feature. If the Analog Comparator Multiplexer Enable bit (ACME in
ADCSRB) is set and the ADC is switched off (ADEN in ADCSRA is zero),
MUX1:0 in ADMUX select the input pin to replace the negative input to
the Analog Comparator, as shown in Table 13-1. If ACME is cleared or
ADEN is set, AIN1 is applied to the negative input to the Analog
Comparator.
Die Frage war aber m.E. doch, ob das gemuxte Signal nicht gleichermassen
an ADC und AC geführt und dementsprechend gleichzeitig genutzt werden
kann. Der Text erklärt nicht, warum dies nicht geht.
Nun ja, es ist zwar müssig sich über das warum Gedanken zu machen, wenn
explizit im Datenblatt drinsteht dass es nicht geht.
Denn um einen Nutzen davon zu haben, müsste man es ändern können. Sollte
man nun im Gegensatz zu Atmel meinen es geht doch, dann würd' ich sagen
Versuch macht kluch.
Meine Meinung dazu über das warum, allerdings nur als Vermutung:
Der Komparator wird für die ADC Wandlung verwendet und ist nur einmal
vorhanden, da nun auch der MUX nur einmal vorhanden ist, hat man sich
das Feature einfach gespart, Beides gleichzeitig machen zu können.
Im Übrigen könnte man immer noch Komparator und ADC muxen, muss man nur
aufpassen, wieviel Zyklen die Umsachaltung jeweils benötigt.
Du kannst Komparator und ADC gleichzeitig verwenden, nur ist dann der
Komparator auf einen bestimmten Eingang festgelegt.
Welchen Sinn soll das aber haben, damit die gleiche Spannung zu testen?
Wenn ich eh messe, kann ich den Wert auch per Software vergleichen.
Peter
>dass ich die Spannung eines Signals mit dem ADC messe und gleichzeitig per>Komparator überwache.
Welchen Grund sollte es geben, die Spannung auch noch mit einem
Komparator zu überwachen, wenn man sie schon aufgrund einer ADC-Messung
kennt?
Das würd' ich nun nicht sagen, es ist ein Unterschied ob nur der
positive Eingang des AC woandershin schaltbar, oder der AC gleichzeitig
für etwas anderes verwendbar ist. Letzteres ist er nicht.
Schau auf Seite 79 des Datenblattes für den Tiny13A, Fig 13-1, da kannst
Du sehen dass mit ACBG der positive Eingang des AC zwar entweder auf
interne oder externe Referenz geschaltet werden, aber es ist immer
derselbe Komperator, der nun mal nicht zwei Jobs zur gleichen Zeit
erledigen kann. Unten sieht man den Ausgang vom ADC MUX, der auch den
Komperator benutzt.
Das sollte es erklären, meine Aussage belegen und die Frage beantworten.
>>> Welchen Sinn soll das aber haben, damit die gleiche Spannung zu testen?
Diese Frage von dir ist schon verwunderlich.
Hier die Antwort: Um 1. schnell (< 10 µs) auf das Absinken der Spannung
zu reagieren (es wird praktisch keine Rechenzeit benötigt) und 2.
regelmäßig (10 mal/s ) die Höhe der Spannung für Berechnungen
heranzuziehen.
>>> Das sollte es erklären, meine Aussage belegen und die Frage beantworten.
Nein tut es nicht. Du hast weder meine Frage noch das Datenblatt bzw.
die Funktion von ADC und Komparator verstanden.
@Gast: das ist eine Lösung und ich würde sie auch gern nehmen. Leider
habe nur einen Pin frei und möchte diesen mit der ADC plus
Komparator-Kombination nutzen.
Karlheinz wrote:
> Hier die Antwort: Um 1. schnell (< 10 µs) auf das Absinken der Spannung> zu reagieren
Die Frage sollte implizit bedeuten:
Wann braucht man es denn schon so schnell?
Wenn man nur beim Absinken der Netzspannung Werte in den EEPROM
schreiben will, reicht die Überwachung per ADC jede 10ms (100Hz-Periode)
völlig aus.
Peter
>Nein tut es nicht. Du hast weder meine Frage noch das Datenblatt bzw.>die Funktion von ADC und Komparator verstanden.
@Karlheinz
da hat ja einer wieder mal den vollen Durchblick, merkwürdig nur dass Du
überhaupt fragen musst.
Und auch merkwürdig, daß Fig 13-1, Dein aus dem Datenblatt zitierter
Text und meine Aussage übereinstimmt.
Bezweifle, daß Du das abgebildete Schema verstehen kannst, sonst würdest
Du nicht obiges schreiben.
Aber poste doch bitte Dein Ergebnis hier, damit wir auch noch was lernen
können.
@MWS:
Karlheinz hat völlig Recht, Du hast es nicht verstanden! Und bevor Deine
Äußerungen hier noch unverschämter und arroganter werden, hier mal ein
paar Infos für Dich:
Der Analog-Komparator und der ADC sind zwei voneinander unabhängige
Peripheriekomponenten, die sehr wohl gleichzeitig benutzt werden können.
Es ist auch nicht der ADC, der den Komparator benutzt (schließlich geht
der ADC MUX auf einen Eingang des Komparators!), sondern es ist genau
umgekehrt: Der Komparator kann den MUX des ADC benutzen, wenn mehrere
Eingänge abgefragt werden sollen (was auch durchaus Sinn machen kann, da
der Komparator eine deutlich geringere Stromaufnahme hat als der ADC,
und wenn es nur um eine Schwellwertüberwachung geht, reicht der
Komparator).
In diesem Thread geht es nur um die Frage, warum der ADC deaktiviert
werden muss, damit der Komparator den MUX nutzen kann, was auch im
Prinzip zunächst nicht nachvollziehbar ist. Der Komparator und der ADC
können ohne Probleme gleichzeitig betrieben werden, bei einigen neueren
AVRs ist es sogar möglich, den Komparator-Ausgang als
Auto-Trigger-Quelle für den ADC zu benutzen. Das geht eben nur dann
nicht, wenn der Komparator den MUX benutzen soll.
Johannes,
schön, noch ein Spezialist. Also beantworte doch Du bitte die Frage von
Karlheinz. Bin ja gern bereit zuzugeben, wenn ich falsch liege.
Machen wir's mal ganz einfach: Was ist denn nicht zu verstehen ? Das
Datenblatt sagt doch eindeutig aus:
"The ADC multiplexer is used to select this input, and consequently, the
ADC must be switched off..."
Die logische Verknüpfung von ADEN laut Datenblatt, kuckst Du Fig 13-1,
da ist links so ein kleines Und-Gatter mit ADEN und so 'nen kleinen
Punkt dran, der uns sagt, daß dieses ein invertierender Eingang ist. Der
MUX kann also nur für den AC aktiv werden, wen ACME = 1 und ADEN = 0,
ADEN löschen schaltet den ADC aus, siehe hier:
"..and the ADC is switched off (ADEN in ADCSRA is zero),"
Damit kann der MUX >NIE< für beides zugleich verwendet werden und das
ist ja das, was der Karlheinz mangels freier Pins gerne möchte.
Also stimmt doch meine Aussage, darfst halt nicht nur lesen, musst den
Inhalt des Datenblatts auch verstehen.
Und bzgl. anderer, neuerer Atmels: ist doch völlig wurst was andere
können, hier geht's einzig um die interne Konfiguration des Tiny13A, und
da isses halt wie im Datenblatt.
Bzgl. Ausgang des MUX hatte ich einen Denkfehler drin, geb' ich gern zu,
aber das ändert nix am Resultat.