Was tun mit nicht verwendeten analogen Eingängen?

10

Ich arbeite an einer Anwendung mit ATmega328p atmel Mikrocontroller. Ich habe mit der 28 PDIP-Version begonnen, aber jetzt möchte ich den 32 TQFP verwenden, der nach dem Kompilieren meines Altium-Projekts zwei zusätzliche Eingänge aufweist.

Diese Eingänge sind ADC7: 6, die "als analoge Eingänge für den A / D-Wandler dienen. Diese Pins werden von der analogen Versorgung gespeist und dienen als 10-Bit-ADC-Kanäle", so das Datenblatt.

Ich habe online gelesen, dass einige Leute unbekannte Ergebnisse haben, wenn sie den ADC verwenden und schwebende Eingänge haben. Ich habe gelesen, dass sie Pulldown-Widerstände aktiviert haben, aber ich sehe nicht, wie sie konfiguriert werden sollen (da sie nicht zu einem E / A-Port gehören). Außerdem verwendet meine Anwendung überhaupt nicht den A / D-Wandler.

Was sind die Best Practices? Sollte ich einen externen Pulldown-Widerstand anschließen? Altium-Fehler ignorieren?

esal26
quelle

Antworten:

8

ADC6 und ADC7 sind ein Sonderfall. Sie haben keine digitalen Eingangs- oder Ausgangspuffer angeschlossen, so dass sie kein Rauschen erzeugen oder überschüssigen Strom ziehen, wie es die anderen Pins auf dem Chip tun könnten, wenn sie nicht ordnungsgemäß übergeben werden. Mit anderen Worten, Sie können sie schweben lassen und sie sollten Ihr Design nicht ungewöhnlich beeinflussen.

Sie haben auch keine internen Klimmzüge oder Klimmzüge. Wenn Sie also vorhaben, sie hoch oder runter zu binden, müssen Sie dies extern tun.

Da sie jedoch niemals ausgegeben werden können, gibt es keine zusätzliche Sicherheit oder keinen zusätzlichen Schutz bei der Verwendung eines Widerstands, anstatt sie direkt an VCC oder GND anzuschließen. Wenn Sie sich immer noch Sorgen um schwebende analoge Eingänge machen, können Sie ADC7 einfach an den angrenzenden GND-Pin und ADC6 an AVCC (oder AREF, wenn Sie dies bevorzugen) anschließen.

Der Abtast- und Haltekondensator ist winzig, wenn Sie also der entscheiden zu folgen Säuberung Empfehlung , können Sie ADC7 zur Probe verwenden - der Kondensator sehr schnell zu Boden abgeleitet wird , und Sie werden die Vorteile beschrieben erhalten.

Adam Davis
quelle
Ich habe mir Sorgen gemacht, dass sie andere Funktionen wie die übrigen E / A-Pins haben, aber Sie haben Recht, da dies nicht der Fall ist, sollte ich die Option wählen, sie schwebend zu lassen. Und auch, weil ich die endgültige Version der Anwendung entwerfe und weiß, dass der ADC niemals verwendet wird.
Esal26
Wo haben Sie festgestellt, dass ADC6 und 7 "speziell" sind? Ich kann anhand des Datenblattes nicht überprüfen, ob sich diese Eingaben von den anderen unterscheiden.
Rev1.0
@ Rev1.0 Es gibt viele Stellen im Datenblatt , die dies zeigen. Am offensichtlichsten ist wahrscheinlich der letzte Satz in 24.9.5: "Beachten Sie, dass die ADC-Pins ADC7 und ADC6 keine digitalen Eingangspuffer haben und daher keine Digital Input Disable-Bits benötigen." Beachten Sie auch das Blockdiagramm, in 2.1dem ADC [6..7] direkt zum ADC geht, während die anderen 6 ADC-Ports mit PORTC gemeinsam genutzt werden und die Pinbelegung in Fig 1-1Show ADC6 und ADC7 keine gemeinsamen Funktionen haben.
Adam Davis
Oh meine Schuld, ich habe mir das Datenblatt 324/644 angesehen. Dies ist der erste Atmel-Controller, bei dem ich diese "Spezialität" sehe.
Rev1.0
12

Ein Pulldown-Widerstand ist gut, ja. Es stabilisiert nicht nur die Eingänge und verhindert eine übermäßige Stromaufnahme, sondern hat auch den versteckten Vorteil, dass Sie sie als Sample and Hold-Kondensator-Spülgerät verwenden können. Wenn Sie einen Analogwert von einem dieser zusätzlichen Eingänge zwischen den Messwerten Ihrer anderen Eingänge lesen, können Ihre Messwerte etwas stabiler werden, da der Abtast- und Haltekondensator immer auf dem gleichen Pegel beginnt.

Je kleiner der Widerstand ist, desto schneller entlädt sich der Kondensator, aber desto höher ist der Ausgangsstrom. Etwas um 470Ω ist gut. Schützt auch vor dem Pin, der jemals als Ausgang konfiguriert und hoch angesteuert wurde.

Majenko
quelle
1
Warten Sie also, wenn ich 1) den tatsächlichen analogen Wert lese 2) den heruntergezogenen analogen Wert lese, ist mein tatsächlicher analoger Wert weniger verrauscht oder so?
Funkyguy
1
Es wird weniger von den Messwerten anderer Kanäle beeinflusst. Lesen Sie Kanal 1, lesen Sie Ersatzkanal, lesen Sie Kanal 2, lesen Sie Ersatzkanal usw.
Majenko
Whoaa, das ist so süß!
Funkyguy
3
Extremes Beispiel mit schwebenden Eingaben: forum.arduino.cc/index.php?topic=182446.0
Majenko
Ich sehe, obwohl ich mit der Probe und der Haltekappe nicht vertraut bin , ist es sinnvoll, sie vollständig zu entladen und jedes Mal vom gleichen Referenzpunkt aus mit der Probenahme zu beginnen. Großartige Idee.
Sherlellbc