mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schneller ADC am STM32


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: C. W. (chefkoch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo *,

ich denke gerade über ein Panorama-Display (f über x) mit einem STM32 
nach. Die Eingangsfrequenz beträgt 10,7 oder 21,4 MHz. Da das Spektrum 
in der Bandbreite begrenzt ist (+/- 1MHz um die Mittenfrequenz) wird 
eine Abtastrate von >=4 MHz benötigt um das Abtasttheorem nicht zu 
verletzen. Die Samplingrate muss natürlich so abstimmbar sein das das 
mit der Unterabtastung ordentlich hinhaut um die unterste interessante 
Frequenz (10,7-1 MHz) auch auf "0" liegt. Die Abtastung soll natürlich 
nicht ständig laufen - es genügen einzelne, in sich zeitdiskrete, 
"Schnappschüsse" um gerade die benötigte Anzahl an Samples für die 
nächste FFT zu holen.

Entsprechend schnelle ADCs intern gibt es wohl beim STM32F3xx. Mir würde 
aber eine Lösung für andere (STM32F4xx) besser gefallen.

Extern per SPI - wird eng wenn man über die Datenrate auf dem SPI 
nachdenkt, bei 12-16 Bit.

Gibt es da Möglichkeiten etwas mit parallelen ADCs am GPIO und DMA zu 
realisieren? Kann man andere Schnittstellen "mißbrauchen" DCMI oder so?

: Bearbeitet durch User
Autor: Tecnologic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin

ein f446 schaft 7,2Ms auf einem Kanal. Wie viele Kanäle brauchst du 
denn?

Gruß

Tec

Autor: C. W. (chefkoch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einer würde schon langen - ein F446 ist nur auch nicht in der Sammlung. 
Meinst Du dieses "triple interleaving"? Könnte es ja mal testweise auf 
dem F746-Nucleo probieren.

Autor: Tecnologic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
genau wenn du die ADCs parallel nach einander samplen lässt wuppt der 
das. Natürlich nur mit DMA aber das ist im RefMan erklärt. Ein STM32L4+ 
hat übrigens einen 5Ms ADC in 12Bit, vllt. ist da das Handling 
einfacher. hab ich aber nie mit gearbeitet. Beim tripple interleaved 
musst du auf den DMA auf jeden Fall aufpassen, der kann bei zuviel CPU 
Aktionen auch gern mal mit Overflow aussteigen, meist aber eher wenn du 
noch mehr DMAs aktiv hast als nur die ADCs.

Außerdem drauf achten das deine Signal Quelle niederimpedant ist, ggf. 
einen OP davor schalten. Die ADCs ziehen gern mal 10mA aus dem 
Messsignal, wenn die so schnell gesamplet werden, das verfälscht dir 
dann die Messung.

Gruß

Tec

Autor: m.n. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tecnologic schrieb:
> Die ADCs ziehen gern mal 10mA aus dem
> Messsignal, wenn die so schnell gesamplet werden

Da sollte man wohl auch ein 10 A Netzteil nehmen.
Oder willst Du Deine Angabe noch einmal korrigieren?

Autor: Beo Bachta (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
m.n. schrieb:
> Oder willst Du Deine Angabe noch einmal korrigieren?

Nein, dann lieber 10 Ampere Netzteil.

Autor: C. W. (chefkoch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist doch nicht so einfach: Es gibt offenbar noch die Nebenbedingung das 
die Samplingzeit der für das ürsprüngliche Signal entsprechen muss. Das 
bedeutet das wenn ich ein 20 MHz Signal mit 5 MHz sample die 
Samplingzeit trotzdem 1/40000000s Sekunde sein muss, obwohl die 
Conversiontime 1/5000000 ist. Also als ob der ADC mit 40MHz sampled und 
ich nur jeden 8. Wert einlese.

Autor: soundos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
20Mhz mit 5Mhz sampeln ??? abtasttheorem ?

Autor: Beo Bachta (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
soundos schrieb:
> 20Mhz mit 5Mhz sampeln ??? abtasttheorem ?

Ja geht. Du musst noch dazulernen. Vielleicht mal Wiki bemühen?

Autor: C. W. (chefkoch)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
soundos schrieb:
> 20Mhz mit 5Mhz sampeln ??? abtasttheorem ?

Stichwort "Unterabtastung" - sobald das 20 MHz Signal bandbegrenzt ist 
und die Abtastfrequenz doppelt so hoch ist wie die Bandbreite ist das 
Abtasttheorem nicht verletzt. Gundlagen digitale Signalverarbeitung ;-)

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man mischt quasi mit dem ADC bzw. Dem Sample and hold herunter.
Man kann hinterher aber auch nicht mehr sagen ob es 10, 20 oder 40 MHz 
waren. Nur die Informationen in der nutzbandbreite bleibt erhalten.

Autor: C. W. (chefkoch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo *,

ich bin bei dem Thema etwas weiter:

Das Problem mit den internen DACs zu lösen ist möglich. Das Ganze läuft 
bis ca. 50 MHz ziemlich problemlos. Auch wenn das Ergebnis ab ca. 20 MHz 
in der Zeitachse nicht mehr so dolle aussieht ist das für die FFT kein 
Problem. Bei vollem Takt für den Kern ist es allerdings selten Möglich 
genau die maximale Samplingfrequenz zu treffen. Ein "Übertakten" ist 
möglich. Mit einem F407VE gehen da dann auf einmal 8,4 MSPS im triple 
interleaved mode.

Ein Problem gibt es allerdings: Ich bekomme den Transfer nur einmal per 
HAL gestartet. Da ich nur Schnappschüsse brauche steht der DMA auf 
normal und nicht circular, so das er nach dem ADCcomplete-Interrupt 
eigentlich wieder startbar sein sollte. Die Sache mit den MULTI-bits im 
ADC_CCR gemäß reference manual habe ich schon probiert. Da der erste 
Durchgang erfolgreich durchläuft (Daten und Interrupt kommen) glaube ich 
nicht an ein einfaches Konfigurationsproblem.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.