Entwerfen Sie wichtige Informationen für die Arbeit mit 12-Bit-ADCs

11

Ich entwerfe derzeit ein Board, das einen 12-Bit-ADC (MCP3208) an einen Raspberry Pi anschließt (neben ein paar anderen E / A-bezogenen Dingen mit niedriger Geschwindigkeit). Es wird hauptsächlich an analoge Sensoren angeschlossen (Temperatursensoren, IR-Abstandssensoren und ähnliche Dinge, die zwar nicht immer eine Auflösung von 12 Bit benötigen, es gibt jedoch Fälle, in denen es wirklich schön wäre, diesen zusätzlichen Informationsblock zu haben).

Ich habe nicht viel Erfahrung mit analogen Schaltkreisen und habe kein gutes Verständnis für die zugrunde liegende Mathematik und Physik.

Ich lese in mehreren Konstruktionshandbüchern zu ADCs und lese oft über Dinge wie Anti-Aliasing-Filter, ADC-Treiber für hochohmige Signale, analoge Masseebenen, das Auslegen von Spuren in bestimmten Mustern, um das Rauschen zu reduzieren und die digitale Hochgeschwindigkeitselektronik so weit wie möglich voneinander zu trennen Mit dem ADC können Schaltgeräusche, präzise Spannungsreferenzen und vieles mehr reduziert werden, was ich noch nicht vollständig verstehe.

Ich begann mich zu fragen, ob es für mich überhaupt Sinn macht, einen 12-Bit-ADC zu verwenden, wenn ich nicht über das Fachwissen verfüge, um ihn korrekt zu implementieren, da ich aufgrund des nicht optimalen Schaltungsdesigns sowieso 2 LSBs verlieren könnte und dies eher gerecht sein sollte Gehen Sie mit einem 10-Bit-ADC. Oder ist ein optimales Schaltungsdesign im 12-Bit-Bereich nicht so wichtig, wie ich glaube.

Was sollte immer implementiert werden, um das Rauschen zu reduzieren (z. B. die offensichtliche Bypass-Kappe)? Was sind die Hauptursachen für Rauschen in einer Mixed-Signal-Anwendung wie meiner (wenn ein GHz-Prozessor mit dem ADC spricht)? Was sind die Dinge, die eigentlich nur in Anwendungen mit höherer Genauigkeit (14-16bit +) benötigt werden?

Ich würde wirklich gerne wissen, worauf es ankommt und worauf ich achten sollte.

PTS
quelle
2
Beginnen Sie mit dem, was Sie messen möchten, und der Art der Auflösung, die Sie benötigen, und entscheiden Sie dann, welche Art von ADC und analoger Verarbeitung Sie benötigen. Lesen Sie dazu Ihr ADC-Datenblatt. Sie verlieren Bits, auch wenn Sie es perfekt verwenden. Suche nach "ENOB"
Scott Seidman
Das Problem ist, dass sich die Dinge, die ich messen muss, ständig ändern werden. Manchmal muss ich jeden möglichen Spannungsausfall sehen, manchmal würden sogar 8 Bit ausreichen. Ich hätte gerne eine Lösung, die so viele Anwendungen wie möglich abdeckt.
PTS
Wie schnell müssen Sie Änderungen sehen können? (dh nach welcher Abtastrate
suchen
2
"Manchmal muss ich jeden möglichen Spannungsausfall sehen, manchmal würden sogar 8 Bit ausreichen." Dann müssen Sie in der Lage sein, "jeden möglichen Spannungsabfall zu sehen". Wenn Sie auch nur gelegentlich eine Auflösung von 12 Bit benötigen, müssen Sie mit 12 Bit entwerfen. Wenn Sie zu 10 Bits gehen, haben Sie nicht 12, wenn Sie sie brauchen.
WhatRoughBeast
Eine Abtastrate von 1 kHz + wäre vorzuziehen. Obwohl ich denke, dass in den meisten Anwendungen 120 Hz gut genug wären. Diese Abtastrate müsste zwar für 8 Kanäle gleichzeitig möglich sein (nicht zur gleichen Uhr, aber alle müssen nacheinander abgetastet werden). @WhatRoughBeast Ja, das war mein Grund, mich für 12 Bit zu entscheiden. Allerdings brauche ich hier Ratschläge zur Umsetzung.
PTS

Antworten:

19

Bei einer Mischsignalanwendung mit mittlerer Präzision und niedriger Abtastrate wie Ihrer besteht das Hauptproblem darin, eine ausreichend genaue Referenz zu haben und das digitale Schaltrauschen von Ihrem ADC fernzuhalten. Dies umfasst mehrere Schritte, angefangen bei der Entwurfsphase bis hin zum Layout der Platine.

Während des Schaltungsentwurfs

Zunächst müssen in der Entwurfsphase dem ADC eine ordnungsgemäße Referenz, eine korrekte Entkopplung und ein niederohmiger Signalantrieb zugeführt werden, damit korrekte Konvertierungen stattfinden. Außerdem muss das Signal gefiltert werden (in einer Instrumentierungs-App wie Ihrer tiefpassgefiltert), um zu verhindern, dass der ADC höhere Frequenzen effektiv in Basisband herunterkonvertiert (RF-Apps können einen langsamen ADC + -Bandpass-Frontend-Filter verwenden, um ein Signal nach Nyquist herunterzuwandeln und so zu sparen auf einem speziellen Mischer und LO).

Stabilisierung Ihrer Referenz

Die Referenzen reichen von trivial und erbärmlich (ein diskreter Jenerbean-Zener, gut bis oh, 4 Bit) bis hin zu wahnsinnig (ofengesteuerte IC-vergrabene Zeners, die in Hochleistungsinstrumentierungsanwendungen verwendet werden) - und die Spezifikationen sind oft nicht klar Wege, die Anfänger verwirren. Die Tabelle in LTC AN82 ist ein nützliches Gegenmittel dafür. Angesichts Ihrer Anwendung, bei der Ihr ADC eine 12-Bit-Einheit ist, die bei einer stabilen Referenz und einer 5-V-Versorgung 11+ ENOB unterstützt, würde ich die Referenz auf 0,02% oder genau angeben Besser über den interessierenden Temperaturbereich, und RMS-Rauschen ist kein Problem, da es sich um eine Größenordnung handelt, die unter Ihrer Genauigkeitsspezifikation liegt.

Leider geht es bei einer Anfangsgenauigkeit von 0,02% ohne Trimmung darum, wo die Dinge ziemlich ... schwierig werden. Die Verwendung einer 4,096-V-Referenz, da die gewünschte ENOB-Leistung bedeutet, dass ich den ADC auf einer leisen 5-V-Versorgung mit einem Übersetzer mit Logikpegel auf 3,3 VI / O des Pi betreiben möchte, und dass 4,096 V Ihnen eine nette, praktische Funktion bietet 1mV / Count-Beziehung, wir sind auf den ADR4540 , den X60003 , den MAX6126AASA oder vielleicht den LTC6655B beschränktobwohl der letzte Teil es eng schneidet, da es eine Anfangsgenauigkeit von 0,025% hat. Während Tempco und Hysterese keine Rolle spielen, da dies eine Bankanwendung ist, nehme ich an, und die Leitungs- und Lastregelung keine großen Probleme darstellt, da diese von derselben geregelten 5-V-Versorgung wie der ADC gespeist wird und nur den Vref-Pin des ADC antreibt, Langzeitdrift ist auch hier besorgniserregend, da keine Trimmung vorliegt - hierfür sind der ADR4540 und der MAX6126AASA mit 25 ppm / Wurzel-khr bzw. 20 ppm / Wurzel-khr die klaren Gewinner - etwa bei dem erforderlichen 10-1-Verhältnis Langzeitdrift als unbedeutend zu betrachten. (Die anderen beiden Teile weisen eine Langzeitdrift um 50-60 ppm / Wurzel-khr auf.)

Alles entkoppeln

Das Datenblatt MCP3208 empfiehlt einen Kondensator von mindestens 1 µF zum Entkoppeln, der von Vdd an das Erdungssystem angeschlossen wird. AGND und DGND sollten ebenfalls an dasselbe Erdungssystem angeschlossen werden. Ein 10-V / 10-V-Keramik- oder Polymer-Tantal-Massenentkoppler sollte ebenfalls auf der 5-V-Schiene der Platine verwendet werden.

Darüber hinaus sollte die Referenz gemäß Datenblatt entkoppelt werden - dies sind häufig 100 nF am Ausgang und 100 nF am Eingang zusätzlich zu der vorhandenen Bulk-Entkopplungskapazität, aber der LTC6655 benötigt einen viel größeren Ausgangskondensator (unter Verwendung desselben) P / N, da der Bulk-Entkoppler funktioniert), und der X60003 ist aufgrund seines stromsparenden Designs in die entgegengesetzte Richtung wählerisch.

Eingangslaufwerk / Pufferung / Filterung

Dies ist zum Glück nicht schwer - eine Genauigkeit von 0,02% entspricht einem maximalen Eingangsversatz von 800 µV, und ich kann ein paar Größenordnungen besser als mit GBWs im MHz-Bereich arbeiten, während ich mit der einzelnen 5-V-Versorgung arbeite, die mit der heutigen Null verfügbar ist -drift und intern getrimmte Verstärker. Der AD8630 bietet eine rauscharme Auto-Zero-Option, während schnelle intern getrimmte Low-Offset-Verstärker den OPA4350 und den OPA4192 umfassen . In beiden Fällen kann der zweipolige Sallen- und Key-Tiefpass-Anti-Aliasing-Filter aus dem MCP3208-Datenblatt verwendet werden, wobei die Eckfrequenz auf etwa 5 kHz eingestellt ist. Möglicherweise funktionieren auch andere Filterdesigns.

Stromversorgung und digitale Schnittstelle

Die ENOB-Spezifikation (effektive Anzahl der Bits) des MCP3208 ist versorgungsabhängig - sie ist bei einer 5-V-Versorgung besser als bei einer 2,7-3,3-V-Versorgung. Es muss auch mit 5 V betrieben werden, um eine 4.096V-Referenz zu verwenden. Dies wirft das Problem auf, dass der Pi eine 3,3-V-Logik verwendet und nicht 5-V-tolerant ist, was einen Logikpegel-Übersetzungs-IC wie den TXB0104 erfordert - die A-Seite geht zum Pi, während die B-Seite zum ADC geht.

Darüber hinaus sollte die 5-V-Versorgung einigermaßen sauber sein - ein Linearregler sollte verwendet werden, um sie an Bord aus einer höheren Versorgungsspannung zu erzeugen. Wenn in der Anwendung keine höhere Versorgungsspannung verfügbar ist, kann eine vorhandene 5-V-Schiene verwendet werden, sofern ein LC-Entkopplungsnetz verwendet wird, um große Mengen an digitalem Rauschen von der Versorgungsschiene des ADC und des Operationsverstärkers fernzuhalten.

Layoutzeit

Es gibt zwei Schlüssel für ein effektives Mixed-Signal-Layout: Partitionierung und Supply / Return-Layout . Ich werde diese der Reihe nach ansprechen.

Zuerst würde ich das Board-Layout ordentlich in zwei Seiten aufteilen - eine digitale Seite und eine analoge Seite. Alle digitalen Spuren (die SPI-Schnittstelle im Fall des von Ihnen verwendeten MCP3208) befinden sich auf der digitalen Seite der Karte - diese Seite der Karte enthält auch den Logikpegel-Übersetzer-Chip und den E / A-Anschluss zum Pi. Die analoge Seite der Karte enthält alle analogen Leiterbahnen und Schaltkreise - hier finden Sie die Spannungsreferenz sowie die Eingangsfilter, den Eingangsschutz und die analogen Eingangsanschlüsse. Der ADC (und die Filterinduktivität, wenn Sie 5 V vom Pi verwenden) ist die einzige Komponente, die diese Lücke schließt - in der Tat

Beachten Sie auch, dass alle von mir verknüpften Teile in SMT-Paketen mit grober Teilung erhältlich sind. Ein einseitiges Layout mit der Rückseite als durchgehende GND-Ebene wird dringend empfohlen, wenn hier eine doppelseitige Platine verwendet werden soll. Wenn die Kosten nicht zu beanstanden sind, bietet eine vierschichtige Platine zusätzlich zur Masseebene eine kontinuierliche analoge Vdd-Ebene sowie Platz für eine "Leistungspfütze" für die 3,3-V-Logikseite des Logikpegel-Übersetzer-IC. In dieser Anwendung ist jedoch keine Aufteilung der Grundebene erforderlich. Durch eine ordnungsgemäße Weiterleitung der Signalspuren bleiben die Rückströme dort, wo sie hingehören .

ThreePhaseEel
quelle