STM32F405RGT6 für AD7768 ADC schnell genug?

Gast #6370244
Lesenswert?
• ▲
▼
Hallo,

Ich möchte zwei simultane Kanäle eines AD7768 A/D Wandlers @ 256 kS/s 
nutzen. Die Auflösung beträgt jeweils 24 bit, was eine Datenrate von 2 x 
24 bit x 256 kS/s = 12.288 Mbit/s ergibt.

Diese Rohdaten möchte ich mittels eines Mikrocontrolers in Echtzeit und 
via USB 2.0 an einen PC übertragen.

Aus einem früheren Projekt habe ich noch einen STM32F405RGT6 
Mikrocontroller mit einem Takt von 168 MHz. Kann jemand abschätzen, ob 
dieser Mikrocontroller diese relativ hohe Datenrate hinbekommt? (Ein 
FPGA wäre natürlich die sicherere Alternative, wäre allerdings auch 
aufwändiger in der Realisierung.)

Danke für eure Hilfe!
Gast #6370439
Lesenswert?
• ▲
▼
jo mei schrieb:
> Ich liebe es wenn man aus der Datenrate eines Bausteins die
> mögliche Arbeitsgeschwindigkeit seines Gesamtdesigns ermittelt
> (will heissen sich per copy&paste berechnet).

Gerade ja nicht, deshalb frage ich ja. Mir geht es ja genau um die 
Frage, ob der Controller die Daten verarbeitet bekommt und es dann auch 
schafft diese per USB wieder zu versenden.
Gast #6370473
Lesenswert?
• ▲
▼
Charly schrieb:
> Gerade ja nicht, deshalb frage ich ja. Mir geht es ja genau um die
> Frage, ob der Controller die Daten verarbeitet bekommt und es dann auch
> schafft diese per USB wieder zu versenden.

Warum nicht? Das weiterleiten ist quasi langweilig für den Controller. 
Könnte man auch mit DMA machen deine CPU hat quasi nichts zu tun.

Also der DMA sammelt die Rohdaten von 1/10 Sekunde. In dieser Zeit hast 
du Freie Kapa. Anschließend stößt du einen weiteren DMA an, der die 
Daten zum PC sendet und deine CPU macht parallel ganz tolle Sachen mit 
deinen Rohdaten.

In diesem Szenario hast du quasi 0Sekunden mit dem weiterreichen der 
Nutzdaten verbraucht.
(Firma: fritzler-avr.de) #6370912
Lesenswert?
• ▲
▼
Der genannte ADC hat SPI nur als Control Interface.

Die Daten popelt man aus einer Mischung aus paralelem und seriellen 
Interface raus. Es braucht zwar 24 Takte, aber beide ADC Ergebnisse 
werden gleichzeitig rausgetaktet. Das ist aber kein Problem, brauchste 
eben 2 SPI Periph, die als Slave arbeiten.
Der Takt kommt ja vom ADC.

Das sollte aber kein Problem sein.
Ein STM32F205 auf 120MHz sampelt hier 2 ADC Kanäle zu 16Bit und 250kS/s.
Da es ein Wirkleistungsmessgerät ist wird auch noch auf diesen Samples 
direkt gerechnet, hier soll ja nur durchgereicht werden.
Weiterhin muss nebenbei noch eine GUI ausgegeben werden.

Was sonst noch gerne vergessen wird:
Der STM32 kann nur USB2.0 480MBit mit einem externen ULPI PHY.
Sonst geht nur USB mit 12MBit und das ist offensichtlich zu wenig.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.