Ich habe gerade mein zweites Design mit STM32F2 getestet, jetzt ist es STM32F207ZFT6. Das ADC-Verhalten ist das gleiche wie in meiner ersten Anwendung - starkes Rauschen im ADC.
Rauschen des Stromeingangs ohne angeschlossenes Signal:
Hinweis: In den obigen Signaldiagrammen ist die vertikale Achse in ADC-Bits und nicht in Volt!; Lassen Sie sich nicht von der Legende „[V]“ verwirren. Für diesen Test haben wir unser modifiziertes Programm verwendet, um grobe ADC-Daten anzuzeigen.
Das gleiche Rauschen tritt auch dann auf, wenn der analoge CPU-Pin mit GND kurzgeschlossen wird, wie hier gezeigt:
Das abgetastete Signal enthält permanente Spitzen über 30 LSBs und mehr, obwohl sie meiner Meinung nach 5-10 LSBs nicht überschreiten sollten.
Weitere Details:
2-seitige Leiterplatte, auf der Unterseite befinden sich andere Anschlüsse, aber das meiste davon wird mit GND-Signal gegossen - sowohl für digitale als auch für analoge Verbindungen ist die analoge Masse nicht getrennt. Da der Board-Verbrauch unter 100 mA minimal ist, sollte er meiner Meinung nach kein solches Rauschen verursachen.
Spannungsreferenz VREF 3,3 V gepuffert durch Opamp, blockiert durch 100 nF und Tantall 10 uF parallel, das gleiche wie bei VREF / 2; Jeder Prozessor-Power-Pin ist mit einer 100-nF-Kappe blockiert
In unserer älteren Anwendung haben wir das gleiche Designkonzept verwendet, aber der verwendete Prozessor war AduC834. Es hat auch 12-Bit-ADC und das Signalrauschen war nur mehrere LSBs, es gab keine Probleme; Der Hauptunterschied bestand darin, dass die interne Spannungsreferenz des AduC verwendet wurde, keine externe
Wir haben getestet, den analogen Erdungsstift des Prozessors vom gemeinsamen GND der Platine zu trennen und ihn mit einem zusätzlichen Kabel direkt mit der VREF-Masse der Spannungsreferenz zu verbinden, ohne dass dies Auswirkungen hat
es ist ein dreiphasiges Netzwerkmessgerät, es gibt 3 analoge Spannungskanäle und drei Stromkanäle mit umschaltbarem Verstärkungsvorverstärker; Der CPU-Oszillator 25 MHz, der interne Takt 120 MHz per PLL, der ADC-Takt 30 MHz (gemäß den technischen Daten). Wir haben getestet, den internen Haupttakt (daher auch alle sekundären Takte) auf ein Viertel zu verlangsamen, jedoch ohne Auswirkungen
ADC tastet periodisch ein Eingangssignal mit einer Rate von 128 Umwandlungen pro 50-Hz-Netzwerkperiode ab, dh jeweils 156 usecs; Die Ergebnisse werden per DMA in den internen RAM übertragen. Daten aus dem RAM werden über isoliertes RS485 (auf einer anderen Karte) übertragen und in unserem Programm visualisiert. Wir haben versucht, die Konvertierungszeiten auf das Maximum zu verlängern, ohne Wirkung
Ohne CPU gibt es nur 3 Opams, 2 analoge Schalter, ein I2C-Thermometer und drei ULN-Schalter (während des Tests nicht verwendet), die von einem linearen LF33-Stabilisator gespeist werden, der normalerweise mit 5 V Gleichstrom vom Umschalter auf einer anderen Platine gespeist wird, aber während des Tests war der Umschalter Die Verbindung wurde getrennt und der LF33 wurde über eine klare 5-V-Gleichstromversorgung im Labor mit Strom versorgt. Ich bin sicher, nichts als der Prozessoroszillator kann auf der Platine schwingen.
Wenn Sie das Signal mit dem Oszilloskop überprüfen, erhalten Sie keine entscheidenden Ergebnisse. Das Signal ist zu schwach
Jemand mit dieser ADC-Leistungserfahrung dieser Prozessorfamilie?
In Bezug auf die Signalstärke: Selbst wenn der Analogeingang kurzgeschlossen ist, sehe ich am Oszilloskop ein Rauschen von 5-10 mV (Spitze-Spitze) - gemessen mit einem Koaxialkabel mit minimaler Erdungsdrahtlänge, die auf die Platine gelötet ist. Bei einer Standardsonde war das Rauschen wahrscheinlich aufgrund einer schlechteren Erdung etwa doppelt so hoch (allgemeines EMV-Rauschen?).
Dies ist ein Bild von meinem Board:
Und die Unterseite der Tafel:
Wie ich oben berichtet habe, bleibt das Rauschen von ungefähr 30 LSBs in den ADC-konvertierten Daten bestehen, selbst wenn das Signal geerdet ist.