Was tun mit ungenutzten analogen Eingängen?

Ich arbeite an einer Anwendung mit ATmega328p Atmel Mikrocontroller. Ich habe mit der 28 PDIP-Version angefangen, aber jetzt möchte ich die 32 TQFP verwenden, die mir nach dem Kompilieren meines Altium-Projekts aufgefallen ist, dass sie 2 zusätzliche Eingänge hat.

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 mit Strom versorgt und dienen als 10-Bit-ADC-Kanäle“, so das Datenblatt.

Ich habe online gelesen, dass einige Leute unbekannte Ergebnisse erhalten 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 den A/D-Wandler überhaupt nicht.

Was sind die besten Praktiken? Soll ich einen externen Pulldown-Widerstand anschließen? Altium-Fehler ignorieren?

Antworten (2)

ADC6 und ADC7 sind ein Sonderfall. Sie haben keine digitalen Eingangs- oder Ausgangspuffer, die mit ihnen verbunden sind, so dass sie kein Rauschen erzeugen oder übermäßigen Strom ziehen, wie es die anderen Pins auf dem Chip tun könnten, wenn sie nicht angemessen übergeben werden. Mit anderen Worten, Sie können sie schwebend lassen und sollten Ihr Design nicht abnormal 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 Ausgänge sein können, gibt es keine zusätzliche Sicherheit oder Schutz bei der Verwendung eines Widerstands gegenüber dem direkten Anschluss an VCC oder GND. Wenn Sie sich immer noch Sorgen um schwebende analoge Eingänge machen, können Sie ADC7 einfach an den GND-Pin daneben und ADC6 an AVCC (oder AREF, wenn Sie es vorziehen) binden.

Der Sample-and-Hold-Kondensator ist winzig, wenn Sie sich also entscheiden, der Reinigungsempfehlung zu folgen , können Sie den ADC7 zum Abtasten verwenden – der Kondensator entleert sich sehr schnell auf Masse und Sie profitieren von den beschriebenen Vorteilen.

Ich war besorgt darüber, dass sie andere Funktionen wie der Rest der I / O-Pins haben, aber Sie haben Recht, da dies nicht der Fall ist, sollte ich die Option nutzen, sie schwebend zu lassen. Und auch, weil ich die endgültige Version der Anwendung entwerfe und ich weiß, dass der ADC niemals verwendet wird.
Wo haben Sie festgestellt, dass ADC6 und 7 "besonders" sind? Ich kann anhand des Datenblatts nicht überprüfen, ob sich diese Eingänge von den anderen unterscheiden.
@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 geteilt werden und die Pinbelegungen in Fig 1-1ADC6 und ADC7 keine gemeinsamen Funktionen haben.
Oh mein Fehler, ich habe mir das Datenblatt des 324/644 angesehen. Dies ist der erste Atmel-Controller, bei dem ich diese "Spezialität" sehe.

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-Kondensatorspülgerät verwenden können. Wenn Sie einen analogen Wert von einem dieser zusätzlichen Eingänge zwischen den Messwerten Ihrer anderen Eingänge lesen, kann dies Ihre Messwerte etwas stabiler machen, da der Sample-and-Hold-Kondensator immer vom gleichen Pegel ausgeht.

Je kleiner der Widerstand, desto schneller entlädt sich der Kondensator, aber desto höher ist der Einschaltstrom. Etwas um 470Ω ist gut. Schützt auch davor, dass der Pin jemals als Ausgang konfiguriert und hochgetrieben wird.

Warten Sie also, wenn ich 1) den tatsächlichen analogen Wert lese 2) den heruntergezogenen analogen Wert lese, wird mein tatsächlicher analoger Wert weniger laut sein oder so?
Es wird weniger von den Messwerten anderer Kanäle beeinflusst. Kanal 1 lesen, Ersatzkanal lesen, Kanal 2 lesen, Ersatzkanal lesen usw.
Boah, das ist so süß!
Extrembeispiel mit fließenden Eingängen: forum.arduino.cc/index.php?topic=182446.0
Ich sehe, obwohl ich mit der Sample-and-Hold -Kappe nicht vertraut bin, ist es sinnvoll, sie vollständig zu entladen und jedes Mal vom selben Referenzpunkt aus mit der Probenahme zu beginnen. Großartige Idee.
Ich würde normalerweise einen höheren Wert als 470 Ohm verwenden. Wenn der Pin als Ausgang konfiguriert wird, würde er 10 mA ziehen. Meine Standardeinstellung für diese Dinge ist 10k - dasselbe wie ein Pull-up für ein typisches digitales Signal (wenn ich es nicht superschnell brauche). Ich mag die Idee, Null zu messen, um Fehler im Zusammenhang mit Hysterese zu minimieren - ich bin mir nicht sicher, wie real diese Sorge ist (hängt vom Kondensatortyp ab: Bei einer Genauigkeit von nur 10 Bit ist dies wahrscheinlich kein Problem, aber verwenden Sie einen Polystyrolkondensator). sicher, keine Keramik. Siehe zum Beispiel analog.com/library/analogdialogue/anniversary/21.html .