Hallo, in einem kleinen Experiment was ich mache, verwende ich einen
14Bit ADC um Daten zu erfassen. Angesteuert wird dieser von einem FPGA
welcher sich auf einem dev Board befindet. Ich stelle nun fest, dass die
3,3V stark verrauscht sind. Die Frequenzen des Rauschens gehen über
100MHz hinweg. Dementsprechend sind die Daten des ADCs nur schlecht zu
gebrauchen. Der ADC befindet sich auf einem kleinen Stück Lochraster
Platine. Die Versorgungsspannung bekommt dieser vom FPGA Board über
einen Pi-Filter mit 100nF - 6,8µH - (220µF Tantal || 10µF Keramik). Das
FPGA Board bekommt 12V aus einem Labornetzteil (Linear). Trotzdem habe
ich am ADC Board noch 100mV Spitze-Spitze Rauschen mit Anteilen >100MHz
(Direkt am Ausgang des Fitlers!?). Gemessen habe ich direkt mit dem
Tastkopf und Masse Feder (also ohne die lange Kroko-Klemmen Leitung).
Leider bin ich mit diesen Problemstellungen nicht sehr vertraut. Kann
ich irgendwas einfaches Unternehmen um diesen Fehler zu beheben? Mein
nächster Ansatz wäre die ADC Platine galvanisch vom FPGA Board zu
trennen und den Datentransfer über Optokoppler zu erledigen.
Spendiere deinem ADC halt einen eigenen Spannungsregler/LDO.
Ansonsten wie schon geschrieben wurde:
> Versorgungsspannung sauber abblocken. Getrennte Versorgung von Analog-> und Digitalteil. Masseführung beachten. Layout statt Lochraster.
Dextrose schrieb:> Der ADC befindet sich auf einem kleinen Stück Lochraster Platine.
Ohne weitere Worte.
Doch. Dies noch. Ich schliesse mich einem Vorredner an.
Kevin K. schrieb:> Wie wäre es mit:> Screenshot / Foto vom Scope?> Schaltplan?> Foto vom Aufbau?> Welcher ADC?
> Kann ich irgendwas einfaches Unternehmen um diesen Fehler zu beheben?FPGA & Lochraster ... soll ein Witz sein .. Meine Gratulation, dass du
ueberhaupt soweit gekommen bist. Dann benoetigst du ein Design, das
diese mehreren 100MHz auch kann. die Speisung muss das auch filtern
koennen.
Dann ist ein Filter nicht mit uF & mH, sondern bei pF & nH
Die Störungsspikes mit hoher Frequenz können die Bauteile auch selbst
verursachen. Ohne Bilder des Aufbaus schwierig zu sagen, welche Kerkos
etc. ggf. noch fehlen.
Dextrose schrieb:> Trotzdem habe> ich am ADC Board noch 100mV Spitze-Spitze Rauschen mit Anteilen >100MHz> (Direkt am Ausgang des Fitlers!?). Gemessen habe ich direkt mit dem> Tastkopf und Masse Feder (also ohne die lange Kroko-Klemmen Leitung).
Ich habe das mal mit einem Nexys 4 DDR Board plus angestecktem
(selbstentwickeltem) Pmod mit Pi-Filter (6mH) in der Versorgungsspannung
(3.3V) gemessen. Um die Messgenauigkeit zu beurteilen habe ich folgende
Schritte durchgeführt:
1. Rauschen, Oszi-Eingang mit 50 Ohm terminiert (Abb.: "Tastkopf")
2. Rauschen mit Tastkopf, kurzgeschlossen (ohne Abbildung)
3. Rauschen am Versorgungsspannungport des Pmod - Board abgeschaltet
(Messung hinter dem Pi-Filter, Massefeder)
4. Rauschen mit eingeschaltetem FPGA, laufende Anwendung (Massefeder)
Das Board wird über einen USB-Port versorgt - für das Rauschen bei
laufender FPGA-Anwendung spielen die Einkopplungen über USB keine große
Rolle - solange der FPGA noch im Reset ist, entspricht das Bild fast der
Situation mit abgeschaltetem Board.
Was auffällt:
- allein der Tastkopf hebt den Noisefloor von -120 dBV auf -100 dbV;
der Signalanteil bei 155 MHz stammt wohl vom Oszi selbst.
- Das Boards selbst (ausgeschaltet) fungiert offensichtlich als (wenn
auch schlechte) Antenne im Bereich 80 - 100 MHz
- mit laufender Anwendung gibt es zahlreiche Frequenzanteile mit > -60
dBV - über das ganze Frequenzband verteilt
- mit laufender Anwendung liegt die Rauschspannung bei ca. 80 mV pp
Fazit: Besser als 200 mV pp sollte also möglich sein - Wunder kann man
nicht erwarten.
Anm: Die erste Abb. zeigt die Messung ohne Tastkopf (am Oszi terminiert)
- hab erst nach dem Hochladen bemerkt, dass ich Datei falsch benannt
habe.
Hallo, gestern habe ich versucht die Sache noch etwas aufzuhübschen. Das
ganze Problem ist dabei deutlich besser geworden. Ich habe die
Versorgungsleitungen etwas geändert und in die Leitungen des
Digitalteils Widerstände in reihe gelötet. Der ADC ist ein
LTC2314CTS8-14.
Zitronen F. schrieb:> FPGA & Lochraster ...
Der FPGA befindet sich auf einem dev board. Nur der ADC ist auf einem
Stückchen Lochraster und über Stiftleisten mit dem FPGA board verbunden.
Hier sind Fotos von dem Unterfangen und auch von Messungen mit dem
Scope.
Da Lochraster aber meistens relativ unästhetisch ist und ich auch SMD
löten durfte, seid ihr hoffentlich nicht allzu böse was die Optik angeht
;).
Das was aussieht wie ein Kurzschluss zwischen dem analogen ADC Eingang
und Masse ist ein Keramik 100pF Kondensator.
Kurze Info zu den Bildern:
"adc_input" ist die Eingangsspannung am ADC.
"vdd" ist die Versorgungsspannung.
"daten" zeigt die Datenleitung.
"cs" ist der CS-Pin.
"clock" ist die Taktleitung.
Ich habe bei der Daten- und Takt- Leitung jeweils 75 Ohm und bei der Cs
Leitung 330 Ohm in reihe geschaltet um die Flanken etwas rund zu biegen.
Im großen und ganzen ist das Problem jetzt deutlich besser geworden. Was
ich noch nicht verstehe ist die Einkopplung des CS Signals in den
analogen Teil der Schaltung. Die CS Flanke ist deutlich flacher als das
was als Störung am ADC Eingang zu sehen ist. Es sieht so aus als würde
es diese Störung immer noch durch die Filterung von Vdd schaffen.
Kleiner Hinweis, dass Spulen und Kondensatoren nicht ideal sind.
Z.B. auch schoen zu sehen an der Frequenzabhaengigkeit von Ferriten. Zu
finden auch im www.
Burkhard K. schrieb:> - Das Boards selbst (ausgeschaltet) fungiert offensichtlich als (wenn> auch schlechte) Antenne im Bereich 80 - 100 MHz
Du solltest spaßeshalber einmal einen Vergleich der dabei auftretenden
Frequenzen mit den Sendertabellen der örtlichen UKW-Rundfunksender
vornehmen. Derartiges habe ich auch schon mehrmals durchgeführt, zuletzt
bei einem sehr empfindlichen und breitbandigen Messverstärker, den ich
im letzten Jahr aufgebaut habe.
Andreas S. schrieb:> Du solltest spaßeshalber einmal einen Vergleich der dabei auftretenden> Frequenzen mit den Sendertabellen der örtlichen UKW-Rundfunksender> vornehmen.
Jep - das wäre dann Standorttracking per Spektrum :-)
Falls jetzt jemand meinen Standort ermitteln will - viel Spaß dabei.
Dextrose schrieb:> Nur der ADC ist auf einem> Stückchen Lochraster und über Stiftleisten mit dem FPGA board verbunden.
Na, kann man schon mal so machen. Soll ja offenbar so nicht verkauft
werden.
Was Du als Störung siehst, ist der 4,5 MHz Sampletakt.
Mir scheint da die digitale GND-Verbindung zwischen ADC und FPGA zu
fehlen.
Die Stromkreise die durch SCK, DATA und CS gebildet werden, müssen ja
irgendwie geschlossen werden. Idealerweise liegt zwischen allen
digitalen Signalen eine GND-Leitung für den Rückweg.
Wenn bei Dir der Rückweg nur über die Stromversorgung gebildet wird,
gibt es eine große offene Leiterschleife. Andere Kollegen nennen das
dann Loop-Antenne...
Dextrose schrieb:> Was> ich noch nicht verstehe ist die Einkopplung des CS Signals in den> analogen Teil der Schaltung. Die CS Flanke ist deutlich flacher als das> was als Störung am ADC Eingang zu sehen ist. Es sieht so aus als würde> es diese Störung immer noch durch die Filterung von Vdd schaffen.
Hallo!
Hast Du diesen Beitrag vor ein paar Wochen gesehen?
Beitrag "Re: SAR ADC erzeugt Spikes während AD Wandlung?"
Ich hatte ganz aehnliche Probleme. Bist Du sicher, dass es die CS Flanke
selbst ist, die Du im Analogteil siehst? Ich vermute eher, dass
natuerlich mit gleicher Frequenz wie die CS Flanke, aber
phasenverschoben, das tatsaechliche Sampling stattfindet. Dieses
Sampling des SAR ADCs, wie auch dein LTC2314CTS8 einer ist, siehst Du
dann als Stoerung auf all Deinen anderen Leitungen.
Da ich im gleichen Umfeld noch weitere, nicht zu diesem ADC Sampling
synchrone Analogmessungen durchfuehren will, bin ich gerade dabei, den
MCP3008 durch einen AD7606 zu ersetzen, der dann letztlich seine eigene
bipolare Vref mitbringt, parallel statt seriell ausgelesen werden kann,
keinen Samplingskew mehr zwischen den Kanaelen hat, und hoffentlich auch
weniger Rauschen in den Analogteil bringt.
Viele Gruesse
Hallo, ein paar Kleinigkeiten habe ich noch geändert und auch
Screenshots gemacht.
Tom schrieb:> Mir scheint da die digitale GND-Verbindung zwischen ADC und FPGA zu> fehlen.
Der Sache bin ich nachgegangen und habe auf kürzestem Weg eine GND
Verbindung gelegt. Dieser habe ich noch 1uF und 10uF X7R parallel
verpasst.
Außerdem habe ich jetzt parallel zum ADC Eingang 10nF (mir leider etwas
zu groß) und 200 Ohm.
Ingo S. schrieb:> Bist Du sicher, dass es die CS Flanke> selbst ist, die Du im Analogteil siehst?
Dies habe ich mir auch angeschaut. Ich habe ein Bild hochgeladen in dem
man cs und die Auswirkung auf den ADC Eingang sieht.
"vdd_filter u oszi noise" zeigt als weißes Signal das Rauschen des
Oszilloskops bei kurzgeschlossenem Eingang und als gelbe Signal den AC
Anteil vom filter von der Betriebsspannung.
"vdd_adc u oszi noise" zeigt wieder das Rauschen des Oszilloskops, als
gelben Verlauf aber den AC Anteil der Spannung direkt am ADC.
"adc_in u vdd" zeigt als weißes Signal die Spannung hinter dem Filter
und in gelb das Signal an ADC in.
"adc_in u cs" zeigt in blau das cs Signal vor dem 330 Ohm Widerstand
(also FPGA seitig) und in gelb das Signal an ADC in.
Wo kommen nun diese Störungen am ADC Eingang her? Es scheint ja
tatsächlich das CS Signal zu sein. Dieses hat aber sehr runde Flanken
(siehe meinen letzten Beitrag). Auf der Versorgungsspannung am Filter
lässt sich nichts erkennen, direkt am ADC schon. Kommen diese intern vom
ADC? Der ADC hat eine interne "Sample and Hold" Schaltung. Sind diese
Störungen also evtl nicht relevant, da sie Spannung bei der fallenden
Flanke in die "Sample and Hold" Schaltung aufgenommen wird und zu dem
Zeitpunkt keine große Störung vorhanden ist?
Dextrose schrieb:> Sind diese> Störungen also evtl nicht relevant, da sie Spannung bei der fallenden> Flanke in die "Sample and Hold" Schaltung aufgenommen wird und zu dem> Zeitpunkt keine große Störung vorhanden ist?
Das war auch im Grunde meine "wichtigste" Frage. So wie ich es nun
verstanden habe, ist das ein Artefakt der Sample/Hold Schaltung und fuer
die Wandlung dieses ADCs nicht relevant, bzw. bereits alles
beruecksichtigt. Die Stoerungen auf VDD koennten natuerlich weiterhin
problematisch fuer andere Schaltungsteile sein...
Dextrose schrieb:> Dies habe ich mir auch angeschaut. Ich habe ein Bild hochgeladen in dem> man cs und die Auswirkung auf den ADC Eingang sieht.
Ich hatte erwartet, dass man moeglicherweise einen kleinen zeitlichen
Versatz zwischen CS und der Stoerung erkennen kann - so dass man
eindeutig den Wandlungsvorgang im ADC als den Schuldigen identifizieren
kann. Das scheint hier nicht so deutlich zu sein. Aber dieser ADC hat
auch eine 20x hoehere maximale Samplingrate als der MCP3008 in meinem
Fall, das war also vielleicht auch utopisch, anzunehmen, dass da noch
eine grossartige Verzoegerung sichtbar sei.
Dextrose schrieb:> Kommen diese intern vom> ADC?
ja. Aus dem Datenblatt deines ADCs:
The analog input of the LTC2314-14 is easy to drive. The input draws
only one small current spike while charging the sample-and-hold
capacitor at the end of conversion. During the conversion, the analog
input draws only a small leakage current. If the source impedance of the
driving circuit is low, then the input of the LTC2314-14 can be driven
directly. As the source impedance increases, so will the acquisition
time. For minimum acquisition time with high source impedance, a buffer
amplifier should be used. The main requirement is that the amplifier
driving the analog input must settle after the small current spike
before the next conversion starts. Settling time must be lessthan
tACQ-MIN(40ns) for full performance at the maximum throughput rate.
While choosing an input amplifier, also keep in mind the amount of noise
and harmonic distortion the amplifier contributes.
Dextrose schrieb:> Sind diese> Störungen also evtl nicht relevant, da sie Spannung bei der fallenden> Flanke in die "Sample and Hold" Schaltung aufgenommen wird und zu dem> Zeitpunkt keine große Störung vorhanden ist?
so ist es...
Ingo S. schrieb:> Ich hatte erwartet, dass man moeglicherweise einen kleinen zeitlichen> Versatz zwischen CS und der Stoerung erkennen kann
Der MCP3008 sampelt einige Taktzyklen nach der fallenden CS-Flanke. (Er
muss ja erstmal mitkriegen, auf welchen Kanal der MUX geschaltet wird).
Der LTC2314-14 schaltet den Sample-Kondensator dagegen ab dem Ende der
Wandlung auf den Analogeingang.
Achim S. schrieb:> ja. Aus dem Datenblatt deines ADCs:
Aha! Dann nehme ich mal an, dass sich mein Problem erledigt hat.
Wie konnte ich das nur überlesen?
Danke nochmal an alle, ihr habt mir sehr weiter geholfen! :)
Angenommen ich würde mir den Rest des Rauschens genauer anschauen
wollen. Mein 8-Bit Scope ist in dieser Hinsicht etwas beschränkt. Leider
habe ich auch keine "guten" 1:1 Tastköpfe oder irgendwelche
Vorverstärker.
Lässt sich da etwas machen oder wird das dann zu aufwändig/teuer?
Ansonsten sollte ich auch mit den aktuellen Ergebnissen sehr gut weiter
vorgehen können.